Patents that I've helped write and/or defend:

Method and system for creating programs using code having coupled syntactic and semantic relationships
U.S. Patent #7,080,352
This patent describes a novel and potentially very useful way to define a natural language using computer code. The invention is a way to couple the syntax of a language unit with its meaning by encapsulating both in a single unit of code, or software component.

By syntax, we mean both the apparent form of a language unit and its syntactic relationship to other language units. As an example, the syntactic representation "dog" might mean "canine mammal" if it appears in an English language document in a syntactic context that requires a noun in that position. Conversely "dog" might mean "pester relentlessly" if it appears in an English language document in a syntactic context that indicates that the unit represents a transitive verb. Although these two syntactic representations appear identical in isolation, in the context of their positioning with respect to other units in the context of the English language they are actually different entities with different semantic meanings.

In the language of the patent, these two syntactic representations are encapsulated in two different "Sym" units. Although the nominal syntactic form ("dog") of the two Syms are identical, the semantic meanings ("definitions" in the language of the patent) of the two Syms are different - the first inheriting semantically from the abstract English language Sym "Noun" and the second inheriting semantically from the abstract English language Sym "TransitiveVerb". In the context of the codified syntactic structure of the English language, the invention describes a method for determining which of the two Syms is legally allowed to appear in a given context.

Once the correct Sym has been identified, the code representing its semantic meaning can be executed or marked for deferred execution. In a useful embodiment of the invention, the code representing the semantic meaning of the chosen Sym might tag the larger context as being about "pets" or about "harassment", depending on which Sym is chosen by the compiler. The invention thus has the ability to disambiguate an apparently ambiguous language unit. This has the potential to be used to determine the context of a language sample very quickly and precisely.

Method and system for creating self-assembling components
U.S. Patent #7,343,596
This patent describes a procedure for automatically assembling a language structure from a collection of software components or Syms, as described in the above patent (#7,080,352). A language component can be discovered in the resulting component languages without any ambiguity because a search for the syntactic features of a component, coupled with semantic inheritance information, will locate the component with the correct semantic properties.

Method and system for creating linkable programming languages
U.S. Patent #7,346,890
This patent describes using the above two patents (#7,080,352 and #7,343,596) to model the natural syntaxes of different domains and thus extend these languages in a distributed manner.

Computing platform having transparent access to resources of a host platform
U.S. Patent Application #20070074192
This patent describes a system that includes a host operating system with a virtual operating system installed on it. There is a set of libraries on the host, and there is a set of libraries on the virtual operating system that are connected to and can communicate with the host libraries. This system allows an application running on the virtual operating system to directly control resources that are installed on and native to the host operating system.

The advantage of such a system is that applications running on the virtual operating system can make calls to libraries on the host, especially including interface libraries, while executing code on the virtual operating system. The result of this is a guest operating system that becomes invisible to the user by allowing its applications to adopt the look and feel of the host.

Method and apparatus for providing cross-platform hardware support for computer platforms
U.S. Patent Application #20070067769
This patent describes an invention whereby a device driver controlling virtual hardware on a virtual operating system is used to control a physical hardware device installed on the host by sending signals to the relevant device driver library on the host. This allows a virtual operating system complete access to physical resources controlled by the host. It also eliminates the need for host-specific advanced device drivers.

As an example of why this might be useful, consider the Mac operating system, which supports a relatively small number of hardware devices. With this invention, a virtual Linux operating system installed on the Mac host would use the Mac device driver libraries to control any device supported by the Linux operating system that is installed on the host. This has far reaching implications if its adoption becomes widespread, as device drivers would need to be written only for the virtual operating system used by the technology.

Software executables having virtual hardware, operating systems, and networks
U.S. Patent Application #20070074191
This patent describes an executable that may contain numerous virtual resources bundled together, some of which run on a virtual device, operating system, or network, and some of which run on the host operating system. The title of the patent refers to the fact that these executables are capable of containing very high-level virtual resources which can be deployed on the host platform via instructions dispatched by another application contained in the same executable running on the virtual platform.

The implications and uses of this patent are far-reaching. For instance, a software executable could contain a procedure for installing a virtual operating system on a host operating system, and also a procedure to be executed on the new virtual operating system. This procedure might, for instance, install software on the new system, network it to the host, or create a backup system that saves application data from the virtual OS to a file on the host.

Method and apparatus for uniformly integrating operating system resources
U.S. Patent Application #20070050770
This patent describes a virtual operating system that integrates the host file system and other resources so that those resources can be utilized by applications running on the virtual operating system. This allows the virtual operating system to utilize those resources as if they were the native resources that an application running on the virtual operating system expects.

This is significant because it allows an application running on the virtual operating system to interact fully with the host. For instance, an executable running on the virtual operating system can read a configuration file on the host and can write results to a file in that user's home directory on the host. This allows applications that were built for the virtual operating system to interact with the host as if they were native.

copyright saill white 2001-present