摘要:
A method for updating an application on a host system includes steps or acts of: installing an application on the host system; installing a virtual machine monitor on the host system, installing a first virtual container on the host system, wherein the first virtual container comprises at least one update to the installed application; and instantiating the first virtual container under the virtual machine monitor in a mode wherein the host system can be accessed but not modified and wherein instantiating the first virtual container includes updating the installed application in the first virtual computer and running the updated application in the first virtual container. The method may also include a step of confirming that the updated application runs properly. Optionally, the virtual container may be devirtualized.
摘要:
A method for updating an application on a host system includes steps or acts of: installing an application on the host system; installing a virtual machine monitor on the host system, installing a first virtual container on the host system, wherein the first virtual container comprises at least one update to the installed application; and instantiating the first virtual container under the virtual machine monitor in a mode wherein the host system can be accessed but not modified and wherein instantiating the first virtual container includes updating the installed application in the first virtual computer and running the updated application in the first virtual container. The method may also include a step of confirming that the updated application runs properly. Optionally, the virtual container may be devirtualized. A system for updating an application on a host system includes: at least one virtual machine monitor, at least one virtual container; at least one application; at least one update to the application contained within the at least one virtual container; and a processor configured for carrying out the above method steps. The system may also include an input multiplexer configured for mediating access to the at least one virtual container; and an output analyzer configured for confirming that the updated application performed as expected in at least one virtual container.
摘要:
A method and computer system for determining an existence of a file and, possibly, information related to the file are provided. The method and system include providing a file name, generating a file designator from the file name, and generating a hash value from the file name. The hash value is used to index a cache containing other file designators that meet a certain criterion, and if no entry is found in the cache, an operating system call is performed. If an entry is found in the cache, the entry of the cache is compared with the generated file designator. If the entry and the generated file designator are not the same, an operating system call is performed. If the entry and the generated file designator are the same, this indicates that the criterion is satisfied.
摘要:
A method for executing on a first computer an application having an installed image prepared on a second computer, wherein the installed image is virtually installed on the first computer, is disclosed. The method includes emulating on the first computer a native environment of the second computer. The method further includes detecting an operation of the application upon data, wherein the operation requires an operation on data located on the first computer, and wherein a copy of the data is located in the virtually installed image. The method further includes directing the operation of the application to operate on the data located in the virtually installed image.
摘要:
A method and apparatus are provided for the efficient management of remembered sets in a generational garbage collection scheme. In order to manage the remembered set, the present invention provides a first mechanism for detecting when an old object has a pointer to a young object, and needs to be added to the remembered set, and a second mechanism for detecting when an object already in the remembered set no longer contains a pointer to a young object, so that the object can be removed from the remembered set. Entries in the remembered set have an associated counter, C, identifying the garbage collection cycle during which the object was placed in the remembered set. Objects inserted into the remembered set are assumed to point to the youngest possible object. Entries automatically expire from the remembered set when the garbage collection counter reaches C+N, since the objects pointed to by the object in the remembered set must now themselves be old objects. If an old object (one that has survived at least N garbage collections) is identified during a minor garbage collection, the old object is scanned normally, and is placed into the remembered set, with a counter C identifying the garbage collection cycle during which the old object was placed in the remembered set. The counter identifies the age of the youngest possible object pointed to by this object. When the garbage collection count reaches C+N, this entry can be discarded from the remembered set, since the associated object cannot point to any objects that are not old unless another more recent entry in the remembered set or write buffer exists for that object.
摘要:
A method and apparatus are disclosed for efficiently creating and maintaining a remembered set in a generational garbage collection scheme using a write buffer and a barrier bit associated with each object. A barrier bit associated with each object differentiates generations in a generational garbage collection scheme. When an object is first created, the barrier bit of the object is set to zero. The barrier bit is set when the object becomes old, for example, after surviving a first garbage collection. The barrier bit is used to determine whether to make an entry into a write buffer when a reference to another object is stored into an object. An entry is made in the write buffer only if the barrier bit of the object that is written into is set. At the end of each garbage collection, entries in the write buffer are added to the remembered set for the next garbage collection if the objects satisfy the criterion for membership, i.e., they are live and may contain pointers to objects in a younger generation. Thus, the remembered set consists of objects that were in the write buffer at the time of a garbage collection, that must be remembered for the next garbage collection. The write buffer is kept small by eliminating duplicate entries. The present invention turns off the barrier bit after the first store during each reclamation period (which causes the object to be identified in the write buffer). The barrier bit is turned on again by the garbage collector after the write buffer has been processed.
摘要:
A method and apparatus are provided for the efficient management of remembered sets in a generational garbage collection scheme. The present invention detects when an old object has a pointer to a young object, and needs to be added to the remembered set. A write buffer and a temporary buffer are used to create and maintain the remembered set. Entries in the write and temporary buffers are used as part of the root set for creating the remembered set for the next garbage collection. A barrier bit associated with each object differentiates generations in the generational garbage collection scheme and is used to determine whether to make an entry into a write buffer when a reference to another object is stored into an object. Objects that have survived one or more collections, but not the minimum number, N, of collections to be considered an old object are referred to as “middle-aged” objects. During a minor garbage collection, the write buffer is scanned. Objects identified in the write buffer are transferred to the remembered set for the next cycle if the object is (i) an old object pointing to a younger object, or (ii) a middle-aged object that is determined to be live. Middle-aged objects identified in the write buffer that are not yet known to be live are transferred to the temporary buffer. At the end of the minor collection, the temporary buffer is processed and objects that are then known to be live are transferred into the remembered set.
摘要:
A system and method for providing “static analysis” of programs to aid in improving runtime performance, stability, security and privacy characteristics of deployed application code. The method includes performing a set of analyses that sifts through the program code and identifies programming security and/or privacy model coding errors. In particular the invention focuses on identifying coding errors that cause loss of correctness, performance degradation, security, privacy and maintainability vulnerabilities. A deep analysis of the program is performed using detailed control and data flow analyses. These deeper analyses provide a much better perspective of the overall application behavior. This deep analysis is in contrast to shallow analyses in current industry tools, which inspect or model a single or a few classes at a time.
摘要:
The interface method invocation mechanism of the present invention includes an interface method table (IMT) for a given class of objects. The IMT comprises a table of entries each corresponding to a set S of interface methods that are implemented by objects of the given class. The entries of the IMT are used to support invocation of interface methods. More specifically, processing of a method invocation statement involves either I) loading the pointer to the implementation of the interface method from an entry of the IMT and passing control to this implementation; or II) loading the pointer to a conflict resolution routine pointed by an IMT entry and passing control to this conflict resolution routine. The conflict resolution routine pointed to by the IMT entry identifies at execution time to the location of the particular interface method of the two or more interface methods that are associated with the given IMT entry that corresponds to the method invocation statement being processed, and pass control to this particular interface method.