TL;DR: The preferred embodiment of the present invention as discussed by the authors provides an efficient and robust way to facilitate interoperability between two or more processes which were initially written to execute on top of two different operating systems but instead execute on the top of a third operating system.
Abstract: An embodiment of the present invention provides an efficient and robust way to facilitate interoperability between two or more processes which were initially written to execute on top of two different operating systems but instead execute on top of a third operating system. Typically, the preferred embodiment begins by launching a parent process which was initially written to execute on top of a first operating system. The preferred embodiment then obtains a context object that implements a naming graph for the parent process. The context object includes bindings between a given set of names and an associated set of objects that are specific to the first operating system. At some point during execution of the parent process, the parent process spawns a child process which was initially written to execute on top of a second operating system. Next, the parent process instantiates a copy of its context object. The parent process then performs a context merge operation which ensures that object names used by the second process are interpreted relative to a context object associated with the second operating system before (or in lieu of) being interpreted relative to the context object for the first operating system. Once the context merge operation is complete, the new context object is passed to the child process and execution of the second process begins. System calls initiated by the child process will therefore be interpreted relative to the name space for the second operating system. In this way two processes which were initially written to execute on top of two different operating systems can interoperate while executing on top of yet a third operating system.
TL;DR: In this article, a method for providing appropriate quality of service guarantees to a plurality of virtual hosts on a single physical host computer is presented, where a server application program and its child processes service communication requests made to the plurality of VMs are detected.
Abstract: A method facilitates providing appropriate quality of service guarantees to a plurality of virtual hosts on a single physical host computer. A server application program and its child processes service communication requests made to the plurality of virtual hosts. Quality of service parameters associated with the virtual hosts are stored. Communication requests made to a specific one of the virtual hosts are detected. The quality of service parameters associated with the specific virtual host are obtained. Operating system resources are utilized to guarantee, to a child process of the server application program, a quality of service according to the obtained quality of service parameters associated with the virtual host. Communication between the virtual host and the client is allowed to proceed, the communication being managed by the child process.
TL;DR: In this article, a computer-implemented method for speculatively executing application event responses is described, which includes the steps of identifying one or more event responses that could be issued for execution by an application being executed by a master process.
Abstract: One or more embodiments of the invention is a computer-implemented method for speculatively executing application event responses The method includes the steps of identifying one or more event responses that could be issued for execution by an application being executed by a master process, for each event response, generating a child process to execute the event response, determining that a first event response included in the one or more event responses has been issued for execution by the application, committing the child process associated with the first event response as a new master process, and aborting the master process and all child processes other than the child process associated with the first event response
TL;DR: In this article, a system semantic can be used to access processes, whether such processes reside on a local or remote computer, and a mechanism is provided to allow processes to register as part of a distributed context.
Abstract: A method and system for providing communications services between multiple processes running in multiple computer systems is provided. A single system semantic can be used to access processes, whether such processes reside on a local or remote computer. A mechanism is provided to allow processes to register as part of a distributed context. Registration may be accomplished explicitly by any child process to name its parent in the hierarchy, or automatically by the parent process when spawning children. This mechanism allows the additional flexibility that destination nodes in the distributed environment may be selected at run time without requiring knowledge on the part of the executing process. This allows the ability to cause processes to be distributed based on machine type, facilities available on a specific node or load balancing considerations. This registration mechanism is expandable to allow general purpose server implementations in a distributed environment, thus providing to the user system transparent facilities for control in a distributed environment.
TL;DR: In this article, a software tool includes logic configured to enable a child process that inherits the address space of a modified parent process to execute an unaltered version of the addressed space when the child process inherits an altered address space from the parent process.
Abstract: A software tool includes logic configured to enable a child process that inherits the address space of a modified parent process to execute an unaltered version of the address space when the child process inherits the altered address space of the parent process. A method for processing breakpoint events in a child process created from a parent process, when the parent process is modified by a software tool includes, storing unmodified parent process code replaced by each occurrence of a breakpoint inserted into the address space during modification of the parent process, monitoring execution of a child process created by the parent process for an initial breakpoint in the address space, suspending execution of the child process in response to an initial breakpoint, replacing each occurrence of a breakpoint in the address space with the unmodified parent process code, and resuming execution of the child process.