scispace - formally typeset
Search or ask a question

Showing papers on "Virtual machine published in 1998"


Patent
10 Jun 1998
TL;DR: In this article, the authors use the distributed system support of modem operating systems to export a partial single system image to the users, and use copy-on-write disks and the use of a special network device to enable transparent resource sharing without requiring cooperation of the operating systems.
Abstract: The problem of extending modern operating systems to run efficiently on large-scale shared memory multiprocessors without a large implementation effort is solved by a unique type of virtual machine monitor. Virtual machines are used to run multiple commodity operating systems on a scalable multiprocessor. To reduce the memory overheads associated with running multiple operating systems, virtual machines transparently share major data structures such as the operating system code and the file system buffer cache. We use the distributed system support of modem operating systems to export a partial single system image to the users. Two techniques, copy-on-write disks and the use of a special network device, enable transparent resource sharing without requiring the cooperation of the operating systems. This solution addresses many of the challenges facing the system software for these machines. The overheads of the monitor are small and the approach provides scalability as well as the ability to deal with the non-uniform memory access time of these systems. The overall solution achieves most of the benefits of operating systems customized for scalable multiprocessors yet it can be achieved with a significantly smaller implementation effort.

496 citations


Patent
26 Oct 1998
TL;DR: In this paper, a virtual machine monitor (VMM) and virtual machine (VM) that has at least one virtual processor and is operatively connected to the VMM for running a sequence of VM instructions, which are either directly executable or non-directly executable.
Abstract: In a computer that has hardware processor, and a memory, the invention provides a virtual machine monitor (VMM) and a virtual machine (VM) that has at least one virtual processor and is operatively connected to the VMM for running a sequence of VM instructions, which are either directly executable or non-directly executable. The VMM includes both a binary translation sub-system and a direct execution sub-system, as well as a sub-system that determines if VM instructions must be executed using binary translation, or if they can be executed using direct execution. Shadow descriptor tables in the VMM, corresponding to VM descriptor tables, segment tracking and memory tracing are used as factors in the decision of which execution mode to activate. The invention is particularly well-adapted for virtualizing computers in which the hardware processor has an Intel x86 architecture.

426 citations


Patent
10 Sep 1998
TL;DR: In this paper, a virtual machine monitor (VMM) is included in a computer system that has a protected host operating system (HOS) and a VMM is connected to the VMM.
Abstract: A virtual machine monitor (VMM) is included in a computer system that has a protected host operating system (HOS). A virtual machine running at least one application via a virtual operating system is connected to the VMM. Both the HOS and the VMM have separate operating contexts and disjoint address spaces, but are both co-resident at system level. A driver that is downloadable into the HOS at system level forms a total context switch between the VMM and HOS contexts. A user-level emulator accepts commands from the VMM via the system-level driver and processes these commands as remote procedure calls. The emulator is able to issue host operating system calls and thereby access the physical system devices via the host operating system. The host operating system itself thus handles execution of certain VMM instructions, such as accessing physical devices.

402 citations


Patent
09 Dec 1998
TL;DR: In this paper, a system and method for manipulating virtual objects in a virtual environment, for drawing curves and ribbons in the virtual environment and for selecting and executing commands for creating, deleting, moving, changing, and resizing virtual objects using intuitive hand gestures and motions.
Abstract: A system and method for manipulating virtual objects in a virtual environment, for drawing curves and ribbons in the virtual environment, and for selecting and executing commands for creating, deleting, moving, changing, and resizing virtual objects in the virtual environment using intuitive hand gestures and motions. The system is provided with a display for displaying the virtual environment and with a video gesture recognition subsystem for identifying motions and gestures of a user's hand. The system enables the user to manipulate virtual objects, to draw free-form curves and ribbons and to invoke various command sets and commands in the virtual environment by presenting particular predefined hand gestures and/or hand movements to the video gesture recognition subsystem.

365 citations


Journal ArticleDOI
01 Aug 1998
TL;DR: A formal study compared two basic interaction metaphors for egocentric direct manipulation in VEs, virtual hand and virtual pointer, in object selection and positioning experiments to explore immersive direct manipulation interfaces and derive design guidelines for practical development of VE applications.
Abstract: The acceptance of virtual environment (VE) technology requires scrupulous optimization of the most basic interactions in order to maximize user performance and provide efficient and enjoyable virtual interfaces. Motivated by insufficient understanding of the human factors design implications of interaction techniques and tools for virtual interfaces, this paper presents results of a formal study that compared two basic interaction metaphors for egocentric direct manipulation in VEs, virtual hand and virtual pointer, in object selection and positioning experiments. The goals of the study were to explore immersive direct manipulation interfaces, compare performance characteristics of interaction techniques based on the metaphors of interest, understand their relative strengths and weaknesses, and derive design guidelines for practical d evelopment of VE applications.

356 citations


Journal ArticleDOI
TL;DR: The authors present one approach to populating virtual environments-using dynamic simulation to generate the motion of characters, and explore this approach's effectiveness with two virtual environments: the border collie environment, in which the user acts as a border collies to herd robots into a corral, and the Olympic bicycle race environment, where the user participates in a bicycle race with synthetic competitors.
Abstract: Animated characters can play the role of teachers or guides, team mates or competitors, or just provide a source of interesting motion in virtual environments. Characters in a compelling virtual environment must have a variety of complex and interesting behaviors, and be responsive to the user's actions. The difficulty of constructing such synthetic characters currently hinders the development of these environments, particularly when realism is required. The authors present one approach to populating virtual environments-using dynamic simulation to generate the motion of characters. They explore this approach's effectiveness with two virtual environments: the border collie environment, in which the user acts as a border collie to herd robots into a corral, and the Olympic bicycle race environment, in which the user participates in a bicycle race with synthetic competitors.

338 citations


Patent
Lori Toomey1, Lia Adams1
28 Jul 1998
TL;DR: In this article, the authors present a system for recording, reviewing and augmenting meetings that take place in a virtual environment, where participants interact via avatars, i.e., graphical representations of the participants in a place-based, multi-dimensional graphical environment.
Abstract: A computer-supported collaborative work environment allows for computer-mediated, multi-modal, asynchronous meetings in a virtual space that enables, recording, reviewing and augmenting meetings that take place in the virtual environment. Meeting participants interact via avatars, i.e., graphical representations of the participants, in a place-based, multi-dimensional graphical environment. Meeting sessions are captured for future replay and augmentation in a multi-modal document. The system utilizes multiple "tracks" in the multi-modal document, such as text discussion, audio commands, graphics, and documents, which are combined into the multi-modal document to preserve a recording of the meeting for future participants. The multi-modal document of this meeting can then be replayed and augmented by future participants ad infinitum to create a single, synchronous meeting. Furthermore, using avatars enables a straightforward method for generating composite screens for multiple sessions, and alleviates privacy concerns of users.

318 citations


Journal ArticleDOI
TL;DR: The network software architecture of the distributed interactive virtual environment platform is introduced, designed to scale with a large number of simultaneous participants, while ensuring maximum interaction at each site.
Abstract: We introduce the network software architecture of the distributed interactive virtual environment platform. The platform is designed to scale with a large number of simultaneous participants, while ensuring maximum interaction at each site. Scalability is achieved by making extensive use of multicast techniques and by partitioning the virtual space into smaller regions. We also present an application-level backbone that can connect islands of multicast-aware networks together.

312 citations


Proceedings ArticleDOI
04 Jan 1998
TL;DR: The intensity image and depth map for each camera view at each time instant are combined to form a Visible Surface Model, a technique to create virtual worlds out of dynamic events using densely distributed stereo views.
Abstract: We present Virtualized Reality, a technique to create virtual worlds out of dynamic events using densely distributed stereo views. The intensity image and depth map for each camera view at each time instant are combined to form a Visible Surface Model. Immersive interaction with the virtualized event is possible using a dense collection of such models. Additionally, a Complete Surface Model of each instant can be built by merging the depth maps from different cameras into a common volumetric space. The corresponding model is compatible with traditional virtual models and can be interacted with immersively using standard tools. Because both VSMs and CSMs are fully three-dimensional, virtualized models can also be combined and modified to build larger, more complex environments, an important capability for many non-trivial applications. We present results from 3D Dome, our facility to create virtualized models.

302 citations


Proceedings ArticleDOI
26 May 1998
TL;DR: The POPCORN project provides an infrastructure for globally distributed computation over the whole Internet and provides a market-based mechanism of trade in CPU time to motivate processors to provide their CPU cycles for other peoples' computations.
Abstract: The POPCORN project provides an infrastructure for globally distributed computation over the whole Internet. It provides any programmer connected to the Internet with a single huge virtual parallel computer composed of all processors on the Internet which care to participate at any given moment. The system provides a market-based mechanism of trade in CPU time to motivate processors to provide their CPU cycles for other peoples' computations. Selling CPU time is as easy as visiting a certain Web site with a Java-enabled browser. Buying CPU time is done by writing a parallel program, using our programming paradigm (and libraries). This paradigm was designed to fit the situation of global computation. A third entity in our system is a market for CPU time, which is where buyers and sellers meet and trade. The system has been implemented and may be visited and used on our Web site: http://www.cs.huji.ac.il/-popcorn.

188 citations


Patent
22 Jun 1998
TL;DR: A data transaction assembly server (TAS 18) as discussed by the authors is a form driven operating system that allows dynamic reconfiguration of any host processor into a virtual machine supporting any of a number of operating system independent applications.
Abstract: A form driven operating system which permits dynamic reconfiguration of any host processor into a virtual machine supporting any of a number of operating system independent applications. A data transaction assembly server (TAS 18) downloads menus and forms unique to each application requiring data to be input for processing. The data transactions and forms are exchanged between the TAS (18) and a remote processor in real-time so that virtually any operating system independent software application may be implemented in which a form driven operating system may be used to facilitate input, data input into the form may be processed, returned as a data stream, and displayed to the user. The TAS requires a flash PROM (95) for storing the TAS control firmware, a RAM (96) for storing the data streams making up the forms and menus, and a small RAM (97) which operates as an input/output transaction buffer for storing the data streams of the template and the user replies to the prompts during assembly of a data transaction. The transaction entry device (12) including the TAS (18) may be integrated with a telephone and accessed via conventional data input devices.

Patent
30 Dec 1998
TL;DR: In this paper, a virtual view system is proposed to generate virtual views of a sporting event from any viewpoint point of view, including a pre-selected number of cameras strategically placed around a sporting arena.
Abstract: A virtual view system (10) uses raw imagery from cameras (17) placed around a sporting arena to generate virtual views of the sporting event from any contemplated view point. The system (10) consists of an optical tracking system (11), a virtual environment server (12), and one or more virtual view stations (13). The optical tracking system (11) receives raw, 2-dimensional video data from a pre-selected number of cameras (17) strategically placed around a sporting arena. The body state data is then passed to a virtual environment server (12) which generates body position information and visual models for transfer to a selected number of virtual view stations (13). Each virtual view station (13) includes viewing software for rendering and viewing a virtual sports scene as desired. The view stations (13) also control the viewing point of view of a virtual camera and output video data to a video production center (128) so that video data may be transmitted and combined with other video input as needed. Optional subsystems such as a control center (14) and an archive computer (16) may be integrated into the system to alter camera positioning, tether, focus, and zoom, and to store processed data for the sporting event and replay the data on demand.

Book ChapterDOI
01 Jan 1998
TL;DR: A new approach to model general interactions between virtual human agents and objects in virtual worlds is presented, designed to deal with many of the possible interactions that may arise while simulating a virtual human performing common tasks in a virtual environment.
Abstract: This paper presents a new approach to model general interactions between virtual human agents and objects in virtual worlds. The proposed framework is designed to deal with many of the possible interactions that may arise while simulating a virtual human performing common tasks in a virtual environment. The idea is to include within the object description, all the necessary information to describe how to interact with it. For this, a feature modeling approach is used, by means of a graphical user interface program, to identify object interaction features. Moving parts, functionality instructions and interaction locations are examples of some considered features. Following this approach, the control of the simulation is decentralized from the main animation control, in the sense that some local instructions on how to deal with the object are encapsulated within the object itself. To illustrate the approach, some examples are shown and discussed.

Proceedings ArticleDOI
01 Oct 1998
TL;DR: This paper explains how to support general type parameterization---including both non-variant and covariant subtyping---on top of the existing Java Virtual Machine at the cost of a larger code footprint and the forwarding of some method calls involving parameterized classes and methods.
Abstract: The most serious impediment to writing substantial programs in the Java™ programming language is the lack of a gentricity mechanism for abstracting classes and methods with respect to type. During the past two years, several research groups have developed Java extensions that support various forms of genericity, but none has succeeded in accommodating general type parameterization (akin to Java arrays) while retaining compatibility with the existing. Java Virtual Machine. In this paper, we explain how to support general type parameterization---including both non-variant and covariant subtyping---on top of the existing Java Virtual Machine at the cost of a larger code footprint and the forwarding of some method calls involving parameterized classes and methods. Our language extension is forward and backward compatible with the Java 1.2 language and run-time environment: programs in the extended language will run on existing Java 1.2 virtual machines (relying only on the unparameterized Java core libraries) and all existing Java 1.2 programs have the same binary representation and semantics (behavior) in the extended language.

Patent
10 Sep 1998
TL;DR: In this paper, a system of networked terminal apparatus for creating a three dimensional animated work environment where terminal users of various levels of immersion are depicted as avatars in the virtual work environment and wherein actions and information of the terminal users is input into the virtual workspace through their corresponding avatars, in order to perform complimentary, independent and cooperative tasks in parallel.
Abstract: A system of networked terminal apparatus for creating a three dimensional animated work environment wherein terminal users of various levels of immersion are depicted as avatars in the virtual work environment and wherein actions and information of the terminal users is input into the virtual work environment through their corresponding avatars in order to perform complimentary, independent and cooperative tasks in parallel to create simultaneous sets of solutions to problems relating to command, control, communications, cognition and intelligence. In a preferred embodiment, the virtual work environment emulates an actual military command post, with all of the instruments and familiar surroundings emulated in function if not in form. The terminal users of the environment (i.e., the commanders and staff) immerse in this environment via virtual reality displays (audio and video) and inputs (microphone, body encoders and pointing devices) connected to individual personal computers. The avatars are able to interact with one another in the virtual environment and they are able to select and manipulate functional objects displayed in the virtual work environment. Non-immersed terminal users provide raw data streams to the virtual environment. The non-immersed terminal users are displayed as seated avatars or selectable icons. The immersed users, through their avatars, may select the seated avatars or icons to display data streams prepared by the non-immersed terminal users on projection screens displayed in the virtual work environment. The displayed data may be further processed by the immersed terminal users for collaborative decision making by the avatars present in the virtual environment. The processed data may be transmitted outside the virtual work environment as orders or instructions.

Patent
Jr. John Thomas Flynn1
10 Nov 1998
TL;DR: In this article, a virtual machine ID (VMID) uniquely associated with a preferred virtual guest is sent to a storage controller along with requests to RESERVE or RELEASE a direct access storage device (DASD).
Abstract: In a virtual machine (VM) environment, a virtual machine ID (VMID) uniquely associated with a preferred virtual guest ( 222 ) is sent to a storage controller ( 108 ) along with requests to RESERVE or RELEASE a direct access storage device (DASD) ( 128 ). The VMID is used by the storage controller ( 108 ) along with a path group ID (PGID) to determine the scope of the RESERVE or RELEASE. Thus, preferred virtual guests ( 216 ) of a single host processor ( 112 ) may share the DASD while both preserving data integrity and operating with the performance benefits of Input/Output (I/O) Assist. Sharing is similarly provided for tape devices with requests to ASSIGN or UNASSIGN.

Patent
Carau Frank P1
27 Aug 1998
TL;DR: An improved computer or PDA with a projected display onto a substantially flat, white surface to create a virtual computer screen display and a projected keyboard onto the substantially flat and white surface was presented in this paper.
Abstract: An improved computer or PDA with a projected display onto a substantially flat, white surface to create a virtual computer screen display and a projected keyboard onto the substantially flat, white surface and a laser sensor projected over the keyboard and parallel to the substantially flat, white surface to create a virtual keyboard. The virtual display and virtual keyboard permit the computer or PDA to be substantially smaller than typical computers or PDA's, while also permitting a relatively normal size display and keyboard/user input area.

Journal ArticleDOI
TL;DR: An example experiment is presented, which evaluates the user's ability to gather information while travelling through a virtual environment, and results indicate that, of the variables tested, the complexity of the environment is by far the most important factor.
Abstract: We present a framework for the analysis and evaluation oftravel, or viewpoint motion control, techniques for use in immersive virtual environments (VEs). In previous work, we presented a taxonomy of travel techniques and a set of experiments mapping parts of the taxonomy to various performance metrics. Since these initial experiments, we have expanded the framework to allow evaluation of not only the effects of different travel techniques, but also the effects of many outside factors simultaneously. Combining this expanded framework with the measurement of multiple response variables epitomises the philosophy oftestbed evaluation. This experimental philosophy leads to a deeper understanding of the interaction and the technique(s) in question, as well as to broadly generalisable results. We also present an example experiment within this expanded framework, which evaluates the user's ability to gather information while travelling through a virtual environment. Results indicate that, of the variables tested, the complexity of the environment is by far the most important factor.

Journal ArticleDOI
TL;DR: The architectural features of the environment and of the agents that accomplish the instructional objectives within the virtual environment are described and how agent-based instruction is combined with other methods of delivering instruction is discussed.
Abstract: In order for a virtual environment to be effective as a training tool, it is not enough to concentrate on the fidelity of the renderings and the accuracy of the simulated behaviors. The environment should help trainees develop an understanding of the task and should provide guidance and assistance as needed. This paper describes a system for developing virtual environments in which pedagogical capabilities are incorporated into autonomous agents that interact with trainees and simulations of objects in the environment. These pedagogical agents can monitor trainee progress and provide guidance and assistance. This paper describes the architectural features of the environment and of the agents that accomplish the instructional objectives within the virtual environment. It also discusses how agent-based instruction is combined with other methods of delivering instruction.

Patent
Elias N. Bayeh1
05 Jun 1998
TL;DR: In this article, a technique, system, and computer program for enabling multiple virtual machines to execute on a single server, using virtual machine pooling, is described, which will result in a more scalable network environment, increasing the processing capacity of the server and decreasing the amount of time a particular request waits before being processed.
Abstract: A technique, system, and computer program for enabling multiple virtual machines to execute on a single server, using virtual machine pooling. This will result in a more scalable network environment, increasing the processing capacity of the server and decreasing the amount of time a particular request waits before being processed. Further, the integrity of an application's data will be protected from inadvertent overwriting by another application, because each application can be running in a separate virtual machine. Garbage collection, crashes, and hangs will no longer temporarily or completely halt a server: when one virtual machine halts, others can continue executing. Multiple environments can now execute on a single server, including different versions of virtual machines, increasing the mix of servlets that can be supported. Further, debugging can now occur concurrently with normal application execution, by isolating the debugging function to a specific virtual machine.

Patent
18 Aug 1998
TL;DR: In this article, an apparatus for using selectable instruments in virtual medical simulations with input devices actuated by user and resembling medical instruments which transmit various identifying data to the virtual computer model from said instruments which have been selected; then, said apparatus assist in creating full immersion for the user in the virtual reality model by tracking and homing to instruments with haptic, or force feedback generating, receptacles with which said instruments dock by means of a numerical grid.
Abstract: Invention is apparatus for using selectable instruments in virtual medical simulations with input devices actuated by user and resembling medical instruments which transmit various identifying data to the virtual computer model from said instruments which have been selected; then, said apparatus assist in creating full immersion for the user in the virtual reality model by tracking and homing to instruments with haptic, or force feedback generating, receptacles with which said instruments dock by means of a numerical grid, creating a seamless interface of instrument selection and use in the virtual reality anatomy.

Patent
Raoul Mallart1, Atul N. Sinha1
09 Sep 1998
TL;DR: In this article, a shared object protocol is used to map a real life event, e.g., a motor race, onto a virtual environment in order to let the user participate in a virtual race against the real life professionals, the dynamics of the virtual environment being determined by the state changes sent to the user.
Abstract: In a broadcast application on a client-server network the streaming is emulated of animation data over the Internet to a large number of clients. The animation is considered a sequence of states. State information is sent to the clients instead of the graphics data itself. The clients generate the animation data itself under control of the state information. The server and clients communicate using a shared object protocol. Thus, streaming is accomplished as well as a broadcast without running into severe network bandwidth problems. This approach is used to map a real life event, e.g., a motor race, onto a virtual environment in order to let the user participate in a virtual race against the real life professionals, the dynamics of the virtual environment being determined by the state changes sent to the user.

Journal ArticleDOI
01 May 1998
TL;DR: In this paper, a virtual machine is proposed to emulate an electric motor and its associated mechanical load, which can be flexibly programmed to emulate the real electrical machine and load, without the need for any electromechanical components.
Abstract: For pt.I see ibid., vol.145, no.2, p.92-7 (1998). Power electronic control of electromechanical systems has become common. These systems employ electronic components which switch at high frequency and have very complex interactions. The load which they supply is often intricate in itself and difficult (or often impossible) to create in an experimental environment. It would be advantageous to replace the electromechanics with a solid-state equivalent which can be flexibly programmed to emulate the real system. The paper is concerned with describing this idea, illustrating the concept by emulating an electric motor and its associated mechanical load. The phrase 'virtual machine' has been coined to describe the system. It gives/takes power from the electronic converter to match as closely as possible the real electrical machine and load. The virtual machine is effectively a dynamically controllable source/sink which is capable of providing a bidirectional power level interface to a power electronic converter. Using the virtual machine, a power electronic converter can be tested in diverse applications and under a wide variety of loading conditions without the need for any electromechanics. Test results show that close agreement between the virtual and real systems is possible. The limits imposed by practical implementation of the concept are also examined.

Proceedings ArticleDOI
13 Oct 1998
TL;DR: By decoupling the haptic display control problem from the design of virtual environments, the use of a virtual coupling network frees the developer of haptic-enabled virtual reality models from issues of mechanical stability.
Abstract: A haptic interface is a kinesthetic link between a human operator and a virtual environment. This paper addresses stability and performance issues associated with haptic interaction. It generalizes and extends the concept of a virtual coupling network, an artificial connection between a haptic display and a virtual world, to include both the impedance and admittance models of haptic interaction. A benchmark example exposes an important duality between these two cases. Linear circuit theory is used to develop necessary and sufficient conditions for the stability of a haptic simulation, assuming the human operator and virtual environment are passive. These equations lead to an explicit design procedure for virtual coupling networks which give maximum performance while guaranteeing stability. By decoupling the haptic display control problem from the design of virtual environments, the use of a virtual coupling network frees the developer of haptic-enabled virtual reality models from issues of mechanical stability.

Journal ArticleDOI
TL;DR: The paper outlines the motivations of researchers in this field to start using virtual environments for their studies by presenting two such studies conducted in the laboratory and data on the phenomenon that observers tend to underestimate the perceived speed of their movement through a virtual environment.

Patent
22 Jul 1998
TL;DR: In this article, a virtual network consists of many distributed virtual computers interconnected over a communication network of individual links, such as optical fibers or electrical conductors, for example, each distributed virtual computer has at least two ports connected over respective links to other respective virtual computers on the network.
Abstract: A virtual network consists of many distributed virtual computers interconnected over a communication network of individual links, such as optical fibers or electrical conductors, for example. Each distributed virtual computer has at least two ports connected over respective links to other respective distributed virtual computers on the network. Each distributed virtual computer is connected to or resident within its own host, each host typically being a conventional computer such as a personal computer or a work station, for example, although at least one of the hosts may itself be another virtual computer. Each distributed virtual computer has reconfigurable logic elements such as an FPGA or an array of FPGAs.

Patent
24 Mar 1998
TL;DR: In this article, the authors describe a method and system for virtualizing an internal capability of a computing system; specifically, the invention describes a virtual machine containing a programmed hardware-machine function that is normally executed natively as proprietary internal code in its own hardware environment, a Central Electronics Complex (CEC) or logical partition of a CEC.
Abstract: This invention describes a method and system for virtualizing an internal capability of a computing system; specifically, the invention describes a method and system for establishing a virtual machine containing a programmed hardware-machine function that is normally executed natively as proprietary internal code in its own hardware environment, a Central Electronics Complex (CEC) or logical partition of a CEC. The code resides in a separate hardware domain of the CEC called the Service Element (SE). The IBM VM/ESA (VM) operating system requests the SE to transfer a copy of the code into a virtual machine that VM has initialized, where the machine function is provided (in the current embodiment) as an isolated and encapsulated part of a virtual Parallel Sysplex system comprising multiple virtual CECs in a testing environment.

Patent
05 May 1998
TL;DR: In this paper, a virtual machine is used for transactional database applications in which multiple users have access to information (e.g., objects) in one or more shared databases.
Abstract: A virtual machine computer includes multiple threads and can support multiple simultaneous workspaces. Within each workspace, multiple threads are able to access objects simultaneously. Threads are orthogonal to workspaces so that threads are not locked to particular workspaces, workspaces are not locked to particular threads, and the sizes of the workspaces are configurable to the requirements of the transactions within the workspaces. Such a virtual machine may be utilized in a variety of applications including transactional database applications in which multiple users have access to information (e.g., objects) in one or more shared databases. Such applications typically require that data transactions involving the objects in the shared database be performed reliably so as to maintain the integrity of the objects, which are sometimes called persistent objects.

Patent
19 Oct 1998
TL;DR: In this paper, the authors propose a client/server based virtual environment where each entity in the virtual environment is represented as a plurality of associated models of the entity, each of which relates to a particular aspect of an entity.
Abstract: Apparatus for providing a client/server based virtual environment wherein each entity in the virtual environment is represented as a plurality of associated models of the entity, each of said plurality of models relating to a particular aspect of the entity. The apparatus comprises a server implemented rule model manager (20) arranged to provide conceptual models of the entities in the virtual environment, a server implemented dynamic model manager (22) arranged to provide a dynamic model of at least some of the entities in the virtual environment, and clients (24), each client being arranged to provide a visual model of at least one of the entities in the virtual environment. The apparatus also has communication channels for transmitting messages between the rule model manager (20), the dynamic model manager (22) and the clients (24) to ensure consistency.

Patent
Douglass J. Wilson1, Mark T. Colan1
29 Dec 1998
TL;DR: In this paper, a group of protocols is described that establish an information bus, which allows various applications and components to plug into the information bus and each application or component can exchange information with any other application or components in a structured way.
Abstract: A group of protocols is described that establish an information bus. The protocols allow various applications and components to plug into the information bus. As a member of the bus, each application or component can exchange information with any other application or component in a structured way. The information bus is especially useful in interconnecting Java beans and applets in a Java virtual machine and in a distributive computer environment. An object oriented computer system having multiple participants is disclosed that utilizes a communications bus for sharing data between the multiple participants. The communications bus comprises membership generator logic, data event builder logic, data notification logic, and data control logic. The membership generator logic is configured to grant each requesting participant membership to the communications bus. The data event builder logic is configured to prepare data events occurring the computer system. The data notification logic is responsive to the data event builder logic and is configured to notify all participant members of the data events generated by the data event builder logic. The data control logic, which is coupled to the data notification logic, is configured to prioritize the notification of data events to the multiple participants of the communications bus. The data event can serve to announce the availability of a new data element, to request a given data element located in one of the member participants, or to announce a changed data element in one of the member participants. The data control logic can be configured to prioritize the notification of data events to selected groups of the multiple participants and it can be configured to provide selected grouping of the multiple participants. In addition, the data control logic may be configured to establish a virtual machine bridge between a first data controller and a first virtual machine and a second data controller and a second virtual machine. In addition, the membership generator logic generates a list of registered applications.