TL;DR: A unified framework for virtual-environment interaction based on proprioception, a person's sense of the position and orientation of his body and limbs is presented, allowing a user to interact with a virtual world intuitively, efficiently, precisely, and lazily.
Abstract: Manipulation in immersive virtual environments is difficult partly because users must do without the haptic contact with real objects they rely on in the real world to orient themselves and their manipulanda. To compensate for this lack, we propose exploiting the one real object every user has in a virtual environment, his body. We present a unified framework for virtual-environment interaction based on proprioception, a person's sense of the position and orientation of his body and limbs. We describe three forms of body-relative interaction: • Direct manipulation—ways to use body sense to help control manipulation • Physical mnemonics—ways to store/recall information relative to the body • Gestural actions—ways to use body-relative actions to issue commands Automatic scaling is a way to bring objects instantly within reach so that users can manipulate them using proprioceptive cues. Several novel virtual interaction techniques based upon automatic scaling and our proposed framework of proprioception allow a user to interact with a virtual world intuitively, efficiently, precisely, and lazily. We report the results of both informal user trials and formal user studies of the usability of the body-relative interaction techniques presented. CR
TL;DR: Results indicate that "pointing" techniques are advantageous relative to "gaze-directed" steering techniques for a relative motion task, and that motion techniques which instantly teleport users to new locations are correlated with increased user disorientation.
Abstract: Presents a categorization of techniques for first-person motion control, or travel, through immersive virtual environments, as well as a framework for evaluating the quality of different techniques for specific virtual environment tasks. We conduct three quantitative experiments within this framework: a comparison of different techniques for moving directly to a target object varying in size and distance, a comparison of different techniques for moving relative to a reference object, and a comparison of different motion techniques and their resulting sense of "disorientation" in the user. Results indicate that "pointing" techniques are advantageous relative to "gaze-directed" steering techniques for a relative motion task, and that motion techniques which instantly teleport users to new locations are correlated with increased user disorientation.
TL;DR: This article uses virtual machines to run multiple commodity operating systems on a scalable multiprocessor to reduce the memory overheads associated with running multiple operating systems, and uses the distributed-system support of modern operating systems to export a partial single system image to the users.
Abstract: In this article we examine the problem of extending modern operating systems to run efficiently on large-scale shared-memory multiprocessors without a large implementation effort. Our approach brings back an idea popular in the 1970s: virtual machine monitors. We use virtual machines to run multiple commodity operating systems on a scalable multiprocessor. This solution addresses many of the challenges facing the system software for these machines. We demonstrate our approach with a prototype called Disco that runs multiple copies of Silicon Graphics' IRIX operating system on a multiprocessor. Our experience shows that the overheads of the monitor are small and that the approach provides scalability as well as the ability to deal with the nonuniform memory access time of these systems. To reduce the memory overheads associated with running multiple operating systems, virtual machines transparently share major data structures such as the program code and the file system buffer cache. We use the distributed-system support of modern operating systems to export a partial single system image to the users. 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.
TL;DR: In this article, Thorndyke et al. investigated the effect of localized landmarks on the accuracy of route finding in a virtual building and found that participants were more accurate in their route finding when familiar objects were used as landmarks than when no landmarks were used.
Abstract: Participants learned the layout of large-scale "virtual buildings" through extended navigational experience, using "desk-top" (i.e., nonimmersive) virtual environments (VEs). Experiment 1 recreated a study performed in a real building (P. W. Thorndyke & B. Hayes-Roth, 1982). After overcoming initial disorientation, participants ultimately developed near-perfect routefinding abilities. Their ability to judge directions and relative distances was similar to that found with the real building. Two further experiments investigated the effect of localized landmarks. Colored patterns had no effect on participants' route-finding accuracy. However, participants were more accurate in their route finding when familiar objects were used as landmarks than when no landmarks were used. The implications of the findings for the design of VEs are discussed. Virtual environment (VE) systems are being
TL;DR: In this article, the teacher's motion is sensed by a motion sensing device, is digitized by a computer, and is then recorded in memory, and the computer generates a virtual image sequence of the teacher on the computer display of the student interacting in the computer-generated virtual environment for the student to view and imitate.
Abstract: In an apparatus and method for teaching motor skills to a human subject, learning by a student is based upon imitation of a teacher's motion. The teacher's motion is sensed by a motion sensing device, is digitized by a computer, and is then recorded in memory. The computer generates a virtual image sequence of the teacher on the computer display of the teacher interacting in the computer-generated virtual environment for the student to view and imitate. The same motion sensing device used to record the teacher's movement tracks the student's movement and the computer creates a virtual image sequence on the display corresponding to the student's movement and its interaction with the virtual environment in real-time, simultaneously providing an image sequence of the teacher's movement. The student's task is to imitate the teacher's movement. This process is repeated until the teacher's and student's trajectories match well in space and time.
TL;DR: In this article, a packet translation system for handling connections from clients on an external network to a plurality of IP addresses with a server having a server IP address and a server port number includes a client interface.
Abstract: Disclosed is a system and method for handling a plurality of connection requests made for a plurality of virtual machines with a single physical machine. A system and method are disclosed for distributing virtual connections among a plurality of physical machines some or all of which are configured to handle connections for more than one virtual machine. In one embodiment, a packet translation system for handling connections from clients on an external network to a plurality of IP addresses with a server having a server IP address and a server port number includes a client interface to the external network. The client interface is operative to receive and send packets to and from a remote client. A server interface is operative to receive and send packets to and from the server and the server is operative to establish a connection with the remote client. A packet interceptor is operative to intercept incoming packets received at the client interface which have a packet destination IP address and a packet destination port number corresponding to a virtual machine IP address and a virtual machine port number which is supported by the packet translation system. A packet header translator is operative to translate the packet destination IP address and the packet destination port number of packets forwarded by the packet interceptor to a physical machine IP address and a physical machine port number that corresponds to the server IP address and the server port number of the server. The server port runs a real process corresponding to a virtual process simulated on the virtual port number. As a result, the packet translation system receives packets at the client interface and the packet destination IP address and the packet destination port number corresponding to the virtual machine IP address and the virtual machine port number are translated to the server IP address and the server port number and the packets are forwarded to the server via the server interface.
TL;DR: In this article, the authors present a method for using a single abstract virtual machine execution stack with multiple independent stacks in order to improve the efficiency of distinguishing memory pointers from non-pointers.
Abstract: The invention is a method for use in executing portable virtual machine computer programs under real-time constraints. The invention includes a method for implementing a single abstract virtual machine execution stack with multiple independent stacks in order to improve the efficiency of distinguishing memory pointers from non-pointers. Further, the invention includes a method for rewriting certain of the virtual machine instructions into a new instruction set that more efficiently manipulates the multiple stacks. Additionally, using the multiple-stack technique to identify pointers on the run-time stack, the invention includes a method for performing efficient defragmenting real-time garbage collection using a mostly stationary technique. The invention also includes a method for efficiently mixing a combination of byte-code, native, and JIT-translated methods in the implementation of a particular task, where byte-code methods are represented in the instruction set of the virtual machine, native methods are written in a language like C and represented by native machine code, and JIT-translated methods result from automatic translation of byte-code methods into the native machine code of the host machine. Also included in the invention is a method to implement a real-time task dispatcher that supports arbitrary numbers of real-time task priorities given an underlying real-time operating system that supports at least three task priority levels. Finally, the invention includes a method to analyze and preconfigure virtual memory programs so that they can be stored in ROM memory prior to program.
TL;DR: In this article, a distributed data processing system having a host computer coupled by way of a network to one or more peripheral devices is presented, where executables run on a host device can also be downloaded and executed on a target peripheral device.
Abstract: According to principles of the invention, a distributed data processing system having a host computer coupled by way of a network to one or more peripheral devices is presented. In part, this distributed data processing system has advantages over current technologies because executables run on a host device can also be downloaded and executed on a target peripheral device. The virtual machine instruction processor located in the host machine and the peripheral device run the same instruction set and therefore readily share executables. This capability opens up robust communication between the peripheral device and the host machine and sophisticated peripheral device management and administration.
TL;DR: Steve is described, a pedagogical agent for virtual environments that helps students learn procedural tasks that can "physically" collaborate with students, enabling new types of interaction.
Abstract: Virtual reality can broaden the types of interaction between students and computer tutors. As in conventional simulation-based training, the computer can watch students practice tasks, responding to questions and offering advice. However, immersive virtual environments also allow the computer tutor to inhabit the virtual world with the student. Unlike previous, disembodied computer tutors, such a "pedagogical agent" can "physically" collaborate with students, enabling new types of interaction. To illustrate the possibilities, this paper describes Steve, a pedagogical agent for virtual environments that helps students learn procedural tasks. After providing an overview of Steve's capabilities, the paper focuses on the benefits and challenges of graphically representing Steve in the virtual environment.
TL;DR: In this article, the authors describe a method of treating a psychological, psychiatric, or medical condition by choosing a psychological strategy for treating the condition, encoding electronic instructions for a virtual reality environment in such a way that the interactive VR environment implements the psychological strategy, loading electronic instructions into a VR technology unit (10, 22 ) equipped with a display ( 14, 40 ) for displaying the virtual VR environment and with a patient input device (14, 22, 32 ) for receiving responses to the environment from the patient, and instructing the human patient how and when to use the virtual
Abstract: A method of treating a psychological, psychiatric, or medical condition by choosing a psychological strategy for treating the condition, encoding electronic instructions for a virtual reality environment in such a way that the interactive virtual reality environment implements the psychological strategy, loading electronic instructions into a virtual reality technology unit ( 10, 22 ) equipped with a display ( 14, 40 ) for displaying the virtual reality environment and with a patient input device ( 14, 22, 32 ) for receiving responses to the environment from the patient, and instructing the human patient how and when to use the virtual reality technology unit to interact with the environment. The interactive environment contains instructions for a scoring procedure for quantitatively analyzing the medical condition of the patient, and/or counseling instructions or self-help instructions. The environment can be used in conjunction with a physical parameter measuring device ( 36 ) connected to the virtual reality technology unit ( 10 ). The process is comprehensive and takes place during immersion in fully interactive three-dimensional virtual reality environments utilizing computer generated graphics, images imported from photographs, and video for sensory stimulation. Immersion is achieved with goggles, a head-mounted-display, or other form of visual stimulation, such as surround projection screens or monitors or devices that permit the user to have a virtual experience. It includes the use of voice, music, and sound and other forms of physiological stimulation and feedback. Body sensors and devices such as a hand-held grip permit the user to interact with objects and navigate within the virtual environment.
TL;DR: This paper uses virtual machines to run multiple commodity operating systems on a scalable multiprocessor, and develops techniques where the virtual machines transparently share major data structures such as the program code and the file system buffer cache.
Abstract: In this paper we examine the problem of extending modern operating systems to run efficiently on large-scale shared memory multiprocessors without a large implementation effort. Our approach brings back an idea popular in the 1970s, virtual machine monitors. We use virtual machines to run multiple commodity operating systems on a scalable multiprocessor. This solution addresses many of the challenges facing the system software for these machines. We demonstrate our approach with a prototype called Disco that can run multiple copies of Silicon Graphics' IRIX operating system on a multiprocessor. Our experience shows that the overheads of the monitor are small and that the approach provides scalability as well as the ability to deal with the non-uniform memory access time of these systems. To reduce the memory overheads associated with running multiple operating systems, we have developed techniques where the virtual machines transparently share major data structures such as the program code and the file system buffer cache. We use the distributed system support of modern operating systems to export a partial single system image to the users. 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.
TL;DR: This small, flexible microprocessor core provides performance five to 20 times better than other means of Java execution and the microarchitecture trade-offs made for picoJava-I are illustrated.
Abstract: Our goal is to describe the picoJava-I architecture. To do so, we first describe characteristics of the Java Virtual Machine that are of interest to a processor designer. To illustrate the microarchitecture trade-offs made for picoJava-I, we also present statistics on the dynamic distribution of byte codes for various Java applications as well as the impact of the Java runtime. Finally, we present the microarchitecture itself and discuss its performance. This small, flexible microprocessor core provides performance five to 20 times better than other means of Java execution.
TL;DR: A safe general purpose virtual machine computing system (SVM) as mentioned in this paper is a general purpose memory protection model that is hardware architecture and programming language independent, which is software based to facilitate operation on hardware architectures that otherwise would prevent the exchange and successful execution of mobile code programs.
Abstract: A safe general purpose virtual machine computing system having a general purpose memory protection model that is hardware architecture and programming language independent. The safe general purpose virtual machine computing system is software based to facilitate operation on hardware architectures that otherwise would prevent the exchange and successful execution of mobile code programs from one computer system to another. The safe general purpose virtual machine computing system also facilitates generating Bytecode Reduced Instruction Set Computer (BRISC) compressed mobile code that can be compiled or translated into executable code very quickly in addition to being compact for transmission purposes, and that is prevented from accessing unauthorized memory locations due to Software Fault Isolation techniques implemented in the code.
TL;DR: An autonomous pedagogical agent called Steve that can support the training of procedural skills such as operating or repairing complex equipment and is designed so that agent capabilities can be authored without detailed knowledge of agent architectures and languages.
Abstract: Virtual environments are a promising milieu for education and training, because they allow students to practice their skills in 3D simulations of work settings. Autonomous agents can improve the eeectiveness of such e n vironments by assisting and collaborating with students as appropriate. This paper describes an autonomous pedagogical agent called Steve that can support the training of procedural skills such as operating or repairing complex equipment. Steve's architecture permits him to sense and manipulate dynamic virtual worlds. The architecture also enables Steve to assume alternative realizations, either as a full, articulated, human gure or as abstract pointers and disembodied hands. Steve employs a combination of intelligent capabilities in his interactions with students and the environment: plan revision and execution, explanation, and student monitoring. These capabilities are employed in multiple ways in order to support alternative pedagogical styles. Steve's knowledge representation is designed so that agent capabilities can be authored without detailed knowledge of agent architectures and languages.
TL;DR: The overall impact of the work presented in the paper is to show that it is feasible to incorporate configurable hardware within traditional computer systems that use high-level language programs and computer operating systems.
Abstract: Swappable Logic Units (SLUs) were introduced by the author previously (1996) to play a role in virtual hardware subsystems that is analogous to the role of pages or segments in virtual memory subsystems. The intention is that a conventional operating system can be extended to manage SLU circuitry implemented using FPGA real estate. In order to minimise operating system overheads, two particular SLU-based virtual hardware models were deemed practical: a "sea of accelerators" model and a "parallel harness" model. This paper looks in some detail at how SLUs will fit within the overall environment of a fairly conventional hardware/software system. First, there is a discussion of the FPGA-based hardware environment for SLUs, followed by a discussion of the software environment from which SLUs might be used. After this, there is a description of the operational properties that SLUs can have, and how these fit in with the two virtual hardware models. Finally, proposals for standard interfaces between SLUs and their environment are discussed. These interfaces can be regarded as constraints on the designers of SLU circuitry or, more positively, as suppliers of an enriched context within which such circuitry operates. The overall impact of the work presented in the paper is to show that it is feasible to incorporate configurable hardware within traditional computer systems that use high-level language programs and computer operating systems. That is, it should not always be necessary to devise special-purpose hardware/software systems to realise custom computing.
TL;DR: In this article, a system and method for providing shared access to a 3D virtual environment synchronously with hypertext browsing is described, which enhances an installed base of conventional hypertext files such as the World Wide Web with three dimensional and social features.
Abstract: A system and method is described for providing shared access to a three dimensional virtual environment synchronously with hypertext browsing. A cospace server receives a messages indicating requests for hypertext files on a network from a client. The cospace server tracks the requests and stores components or the addresses of components of the requested hypertext files. When a threshold number of clients have requested a hypertext file, the cospace server constructs a virtual three dimensional room description and sends it to the clients that are browsing the file. The virtual three dimensional room description is rendered as a virtual three dimensional room at the client, and typically includes portals to other virtual three dimensional rooms. A user is represented in the virtual room as an avatar, and can communicate with other users at other clients. The present invention enhances an installed base of conventional hypertext files such as the World Wide Web with three dimensional and social features without having to carry out any modifications of the hypertext files where they are stored.
TL;DR: In this paper, a virtual reality environment creation, modification and delivery system stores information representing the virtual reality environments in a database where portions of it may be created, modified or delivered without affecting other portions.
Abstract: A virtual reality environment creation, modification and delivery system stores information representing the virtual reality environment in a database where portions of it may be created, modified or delivered without affecting other portions. The database may be accessed, for example, over a network such as a wide area network, to allow database records to be individually updated without affecting other records in the database. In this manner, it is not necessary to read and store an entire virtual reality environment file in order to make changes to it. In addition, characteristics of target machines dictate what version the database reads out, thus to provide a version compatible with the target machine.
TL;DR: A team at the National Center for Supercomputing Applications (NCSA) in the US in partnership with Germany's National Research Center for Information Technology (GMD) developed a collaborative virtual prototyping system for Caterpillar.
Abstract: Gathering a group of remotely located engineers to design a vehicle can be difficult, especially if they live in different countries. To overcome this obstacle, we-a team at the National Center for Supercomputing Applications (NCSA) in the US in partnership with Germany's National Research Center for Information Technology (GMD) developed a collaborative virtual prototyping system for Caterpillar. The Virtual Prototyping System (VPS) will let engineers in Belgium and the US work together on vehicle designs using distributed virtual reality. The system supports collaborative design review and interactive redesign. Integrated real-time video transmissions let engineers see other participants in a shared virtual environment at each remote site's viewpoint position and orientation. Any number of remotely located sites may join in the shared VE, communicating via multicast. The system has been tested with three sites at NCSA.
TL;DR: This paper presents one approach to populating interactive virtual environments: using dynamic simulation to generate the motion of characters that respond in real time to the actions of the user.
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.
TL;DR: A Projective Head Mounted Display prototype was developed, which effectively minimized the difficulty of going and coming between workstation and virtual environments and was also able to address the problem that is common to traditional HMDs which involve false images.
Abstract: The construction of virtual worlds often requires the user to use various tools in different environments to create several types of elements which have geometrical properties and behavioral characteristics. Due to the inconveniences associated with this task, a compound environment for the task of constructing virtual worlds was proposed. This environment contains both the popular workstation as well as a surrounding virtual world. To realize this compound environment, a Projective Head Mounted Display (PHMD) prototype was developed, which effectively minimized the difficulty of going and coming between workstation and virtual environments. The PHMD was also able to address the problem that is common to traditional HMDs which involve false images. The concept and development behind the PHMD and the compound environment are discussed, and the prototype PHMD and the prototype application examples are constructed.
TL;DR: This paper discusses the development of a new approach or method for the off-line programming of robotic devices, indicating some of the potential applications, and highlighting some the restricting limitations that need to be overcome.
Abstract: Virtual reality (VR) is an evolving technology being adopted by manufacturing in areas (such as operator training, and the virtual testing of new products before manufacture), where it is now becoming a widely accepted industrial tool. Of particular note are applications in off-line programming of robots. However, before this concept finds acceptance in industry, countless problems need to be resolved. Several problems are addressed within this paper, including the requirement of an acceptable interaction device, and the subject of haptic and tactile feedback. As manufacturing continually moves to become a more responsive environment, with products having shorter life cycles and batch quantities reducing in size, robot programming times become critical, and hence an area to be addressed in order to seek improved productivity. Off-line programming is one approach, where for example off-line programming within a virtual environment could reduce the required skill levels of a programmer, reduce the programming times, allow the operator a `natural' interface with which the operator would conduct the task in the real world, and reduce the boredom factor. This paper discusses the development of a new approach or method for the off-line programming of robotic devices, indicating some of the potential applications, and highlighting some of the restricting limitations that need to be overcome. The paper also includes a review of previous published work on the off-line programming of robots using VR.
TL;DR: In this article, the authors propose a method table pointer to point to the first block of memory defining the dynamic methods for the class hierarchy of a Java bytecode, which can be used to instantiate classes within a class hierarchy derived from the base class in other memory blocks.
Abstract: Method and apparatus for implementing a virtual machine interpreter such as an interpreter for interpreting Java compiled bytecodes. The Java language supports class structures and a hierarchy of such structures. As the Java software virtual machine loads the class file containing the Java bytecodes it allocates a first block, of memory based on the class definition for all dynamic methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class. The virtual machine instantiates instances of classes within a class hierarchy derived from the base class in other memory blocks by initializing a method table pointer at a base location in that other memory block for each such instance in the class hierarchy. The method table pointer is initialized to point to the first block of memory defining the dynamic methods for the class hierarchy. The interpreter also initializes other data unique to each instance at offsets relative to the method table pointer within the other memory block for said class instance. Practice of the invention enhances the speed with which the virtual machine accesses dynamic methods of objects within the class hierarchy.
TL;DR: In this paper, the authors propose a connection method of a plurality of input/output channels between an information processing system having a virtual machine running on a physical machine under control of a hypervisor and a number of devices.
Abstract: A connection method of a plurality of input/output channels between a plurality of sub-channels of an information processing system having a virtual machine running on a physical machine under control of a hypervisor and a plurality of devices. The method includes issuing from the hypervisor a command for setting configuration information defining a plurality of configuration structures between the sub-channels set for the respective virtual machines and the devices in a storage device and acquiring configuration information containing the sub-channel corresponding to a designated device from the configuration information corresponding to one of the virtual machines based on the device designation contained in the input/output command from the one virtual machine. The virtual machines are enabled after the issuance of the set command and before the issuance of the input/output command. The corresponding configuration information is searched by using ID information of the virtual machine which issued the input/output command in order to execute the step so that one of a plurality of channel paths between a plurality of devices and the sub-channels is selected to execute the input/output designated by the input/output command.
TL;DR: This work develops a temporal programming model that is more intuitive for the development of applications that need temporal correctness guarantees and implements two mechanisms: “delta consistency” – a novel time-based correctness criterion to govern the shared memory access guarantees, and a companion “temporal synchronization’ – a mechanism for thread synchronization along the time axis.
Abstract: An important attribute in the specification of many compute-intensive applications is “time”. Simulation of interactive virtual environments is one such domain. There is a mismatch between the synchronization and consistency guarantees needed by such applications (which are temporal in nature) and the guarantees offered by current shared memory systems. Consequently, programming such applications using standard shared memory style synchronization and communication is cumbersome. Furthermore, such applications offer opportunities for relaxing both the synchronization and consistency requirements along the temporal dimension. In this work, we develop a temporal programming model that is more intuitive for the development of applications that need temporal correctness guarantees. This model embodies two mechanisms: “delta consistency” – a novel time-based correctness criterion to govern the shared memory access guarantees, and a companion “temporal synchronization” – a mechanism for thread synchronization along the time axis. These mechanisms are particularly appropriate for expressing the requirements in interactive application domains. In addition to the temporal programming model, we develop efficient explicit communication mechanisms that aggressively push the data out to “future” consumers to hide the read miss latency at the receiving end. We implement these mechanisms on a cluster of workstations in a software distributed shared memory architecture called “Beehive.” Using a virtual environment application as the driver, we show the efficacy of the proposed mechanisms in meeting the real time requirements of such applications.
TL;DR: The role of ergonomics in development of improved virtual environment interfaces and in enabling better utilization of the technology through specifying user needs and requirements and developing evaluation methodologies is discussed in this article.
Abstract: Although based on a still immature technology, virtual environments appear to have potential for applications in industry, commerce, medicine and education. The role of ergonomics will be in development of improved virtual environment interfaces and in enabling better utilization of the technology through specifying user needs and requirements and developing evaluation methodologies. By extension, ergonomists will also be involved in building virtual environments for use in areas of ergonomics activity such as workplace layout, interface design, procedures testing, education and training. This paper overviews virtual environment attributes and capabilities and proposes a framework for their specification, development and evaluation, before summarizing current ergonomics research issues. Current work on participant side effects is summarized. A strong case is made for the potential value of ergonomics for virtual environments and vice versa.
TL;DR: In this article, an emulation repair system (200) restores virus-infected computer files (220) to their uninfected states without risk of infecting the rest of the computer system (202), by providing a virtual machine (216), a foundation module (240) including generic, machine language repair routines (242), and a virus specific overlay module (262).
Abstract: An emulation repair system (200) restores virus-infected computer files (220) to their uninfected states without risk of infecting the rest of the computer system (202), by providing a virtual machine (216) for emulating the virus-infected computer file (220), a foundation module (240) including generic, machine language repair routines (242), and a virus specific overlay module (262). Emulation repair system (200) receives the identity of the infected computer file (220) and the infecting virus (224) from a virus scanning module, and uses the received information to access a virus definition (232) that includes decryption information on the identified virus (224). The infected computer file (220) is emulated in the virtual machine (216) until it is determined from comparison with the decryption information that the virus (224) is fully decrypted. The foundation and overlay modules (240, 262) are then loaded into the virtual machine (216) and control of the virtual machine (216) is given to the overlay module (262). The overlay module (262) calls repair routines in the foundation module (240), the overlay module (262), and the virus itself (224), as necessary, to restore over-written host bytes (228) from the infected host file (220) to their proper locations in the infected host file (220). Repairs made to the image (220') of the host file (220) in the virtual machine (216) are reflected to a back-up file (220') in the computer system (202).
TL;DR: The pace in computing, graphics and networking technologies together with the demand from real-life applications made it a requirement to develop more realistic virtual environments (VEs), as participants' representation is used for communication.
Abstract: The pace in computing, graphics and networking technologies together with the demand from real-life applications made it a requirement to develop more realistic virtual environments (VEs). Realism not only includes believable appearance and simulation of the virtual world, but also implies the natural representation of participants. This representation fulfils several functions: - The visual embodiment of the user, - The means of interaction with the world, - The means of feeling various attributes of the world using the senses. The realism in participant representation involves two elements: believable appearance and realistic movements. This becomes even more important in multiuser networked virtual environments (NVE), as participants' representation is used for communication. A NVE can be defined as a single environment which is shared by multiple participants connected from a different host. The local program of the participants typically store the whole or a subset of the scene description, and they use their own avatars to move around the scene and render from their own viewpoint. This avatar representation in NVEs has crucial functions in addition to those of single-user virtual environments: - perception (to see if anyone is around) - localization (to see where the other person is) - identification (to recognize the person) - visualization of others' interest focus (to see where the person's attention is directed) - visualization of others' actions (to see what the other person is doing and what she means through gestures )
TL;DR: A hardware virtual machine instruction processor directly executes virtual machine instructions that are processor architecture independent as discussed by the authors, which is well suited for portable applications such as an Internet chip for network appliances, a cellular telephone processor, other telecommunications integrated circuits, or other low power, low-cost applications, such as embedded processors, and portable devices.
Abstract: A hardware virtual machine instruction processor directly executes virtual machine instructions that are processor architecture independent. The hardware processor has high performance; is low cost; and exhibits low power consumption. The hardware processor is well suited for portable applications. These applications include, for example, an Internet chip for network appliances, a cellular telephone processor, other telecommunications integrated circuits, or other low-power, low-cost applications such as embedded processors, and portable devices.
TL;DR: A haptic rendering framework that allows the tactile display of complex virtual environments and reduces the task of the haptic servo control loop to the minimization of the error between user's position and that of the proxy.
Abstract: We present a haptic rendering framework that allows the tactile display of complex virtual environments. This framework allows surface constraints, surface shading, friction, texture and other effects to be modeled solely by updating the position of a representative object, the "virtual proxy". This abstraction reduces the task of the haptic servo control loop to the minimization of the error between user's position and that of the proxy. This framework has been implemented in a system that is able to haptically render virtual environments of a complexity that is near and often in excess of the capabilities of current interactive graphic systems.
TL;DR: The Immersive Simulation Animation And Construction program designed and built at the University of North Carolina at Chapel Hill (UNC-CH) was designed to overcome some of the limitations of working in a virtual environment and to take advantage of the natural and intuitive forms of interaction available in avirtual world.
Abstract: This paper presents a description of ISAAC; the Immersive Simulation Animation And Construction program designed and built at the University of North Carolina at Chapel Hill (UNC-CH). ISAAC is a scene composition application used for the interactive construction of virtual worlds. In ISAAC you work directly in a virtual environment; you position, orient and scale objects using direct and indirect manipulation techniques. ISAAC stores object configurations in ASCII files that it uses to recreate scenes at a later date for further manipulation and interactive exploration. ISAAC is not a modeling program; you create worlds by manipulating pre-generated three-dimensional models (which can come from sources such as computer-aided design programs or three-dimensional scanning devices). ISAAC was designed to overcome some of the limitations of working in a virtual environment and to take advantage of the natural and intuitive forms of interaction available in a virtual world.