US7512769B1 - Process migration - Google Patents
Process migration Download PDFInfo
- Publication number
- US7512769B1 US7512769B1 US10/959,714 US95971404A US7512769B1 US 7512769 B1 US7512769 B1 US 7512769B1 US 95971404 A US95971404 A US 95971404A US 7512769 B1 US7512769 B1 US 7512769B1
- Authority
- US
- United States
- Prior art keywords
- memory
- virtual machine
- machine
- logical
- address space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 149
- 238000013508 migration Methods 0.000 title description 40
- 230000005012 migration Effects 0.000 title description 40
- 230000015654 memory Effects 0.000 claims abstract description 252
- 238000013507 mapping Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 2
- 235000014510 cooky Nutrition 0.000 description 9
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Definitions
- a computer operating system may run on a “virtual machine” on the physical computer.
- a virtual machine if the operating system attempts to access hardware resources, the access is intercepted by a layer known as a “virtual machine monitor” (VMM), which can redirect the access to actual hardware.
- VMM virtual machine monitor
- the address space used by the operating system for main memory known as “physical memory”
- machine memory may be different from the machine addresses of the actual memory hardware the operating system is actually using, known as “machine memory.”
- Application processes may use different logical memory addresses, known as “virtual memory,”
- the term “logical memory” is used to refer to either physical or virtual memory.
- the “machine memory” may be in any convenient form, for example, it may be in random access memory (RAM), or a disk file.
- Memory addresses may be divided into pages, which are blocks of memory of a convenient size for administration. Pages of virtual memory may “map” into physical memory at the operating system level, and pages of physical memory may map to pages of machine memory at the VMM level. This may be done by maintaining a table that maps pages at one level to pages at another level. The pages are usually of uniform size, so that they can be handled consistently and interchanged if necessary. Depending on how a particular computer is arranged, a memory access by an application process may in practice be translated in a single stage from a virtual memory address to a machine memory address.
- VMM uses two or more operating systems, which may comprise two or more instances of the same operating system, to run on a single physical computer, without problems arising because one or both operating systems require exclusive control of system resources or of memory in certain address ranges.
- the information that is checkpointed and migrated typically consists of at least the contents of data registers, the kernel state associated with the process, and the memory state of the process.
- the memory state may constitute the bulk of the size of the checkpoint.
- the data registers and kernel state may be stored in any convenient and suitable location.
- the kernel state may be represented in a logical, rather than a physical, manner.
- Previously proposed process migration systems have mostly been directed to migration of processes between different physical nodes in a distributed multiprocessor system.
- the volume of traffic and time required to copy the memory state of a process being transferred from a source node to a destination node has been a concern.
- Embodiments of the present invention make it possible, in the case of migration between virtual machines on a single physical node, to reduce the time required for migration, in comparison with many previous process migration systems, by reducing the amount of memory that needs to be copied at the time of migration.
- FIG. 1 is a schematic diagram of one embodiment of a computer system in accordance with an embodiment of the present invention.
- FIG. 2 is a flowchart of one embodiment of a method of process migration in accordance with an embodiment of the present invention.
- FIG. 3 is a flowchart of another embodiment of a method of process migration in accordance with an embodiment of the present invention.
- FIG. 4 is a flowchart of another embodiment of a method of process migration in accordance with an embodiment of the present invention.
- a computer indicated generally by the reference numeral 10 , comprises machine memory divided into “pages” 12 , 14 , 16 , 18 and other physical resources 20 , 22 , 24 , 26 .
- the computer 10 may be a server and may be one node of a larger computing system.
- the physical resources 12 through 26 are separated by a virtual machine monitor (VMM) 30 (implemented as code stored on computer readable storage medium of computer 10 ) from one or more operating systems 33 , 35 running in “virtual machines” 32 , 34 , each of which may support one or more application processes 36 , 38 .
- VMM virtual machine monitor
- the VMM 30 isolates the virtual machines 32 , 34 from each other and from the hardware 12 through 26 .
- the virtual machine monitor 30 intercepts the access, and directs it appropriately.
- two operating systems 33 , 35 may have physical memory address spaces that overlap, or are identical.
- the VMM 30 can then map pages of the physical memory used by each operating system, even pages with identical logical addresses within their respective virtual machines 32 , 34 , to different pages of machine memory 12 - 18 .
- Each operating system 33 , 35 can map pages of the virtual memory used by each application process, even pages with identical logical addresses within their respective applications' address spaces, to different pages of physical memory, which the VMM 30 maps to different pages of machine memory 12 - 18 .
- the VMM may maintain a “page table” 40 .
- Each “page table entry” in the page table 40 may record the mapping of a specific page of physical memory used by a specific operating system 33 , 35 to a specific page of machine memory 12 - 18 .
- the VMM 30 also isolates the operating systems 33 , 35 from the other hardware resources 20 - 26 .
- the VMM may conceal one device 22 , 20 , respectively, from each virtual machine 32 , 34 , allowing each operating system exclusive control of the device 20 , 22 , respectively, that it is allowed to know of.
- the VMM may show to each operating system a virtual image of that device 20 . The VMM may then allow each operating system exclusive control of the virtual device. The VMM then reconciles and separates conflicting demands before channeling them to the physical device 20 .
- the migration may take place under the control of a process migration system, which may be realized at any convenient level of the computer system, for example, in the VMM 30 , in the operating systems 33 , 35 , in a library above the operating system, or in an application or utility process 36 , 38 .
- the process migration system is included in a standard library of system calls to which many application processes link at run time. The process migration system may be invoked by a human operator, or by various automatic processes.
- step 50 the process is first checkpointed. This involves encapsulating and saving to memory the information that is required to enable the process 36 to resume where it was stopped without loss of data.
- the checkpoint is saved to memory within the operating system 33 that maps to machine memory 12 . Checkpointing can thus be conducted within the operating system 33 without active interference from the VMM.
- step 52 the VMM, under the direction of the process migration system, then remaps the memory 12 so that part of the address space of the operating system 35 maps to the memory 12 .
- “Remapping” involves altering the relationship between logical memory and machine memory so that a page of machine memory 12 is mapped to by one page of logical memory before the remapping and by a different page of logical memory after the remapping. In this embodiment, that is done by altering the page table 40 so that machine memory 12 which was mapped to by physical memory of the first virtual machine 32 before the remapping is mapped to by physical memory of the second virtual machine 34 after the remapping.
- the process 36 is then restored from the saved checkpoint, and resumed. However, the restoration takes place within the operating system 35 , which now maps to the memory 12 . As a result, the process 36 is migrated from the virtual machine 32 to the virtual machine 34 .
- a process 36 is running on a virtual machine 32 .
- the virtual machine 32 uses some machine memory pages 12 - 14 of the physical computer, but does not use all of the machine memory.
- This embodiment may allow the virtual machine 32 initially to use all of the machine memory that the VMM 30 makes available to virtual machines, provided that it relinquishes some of that memory at the next stage.
- a second operating system 35 is running in a second virtual machine 34 .
- the second virtual machine 34 may be started for the purpose of receiving the migrated process 36 , or it may already be running.
- step 66 process 36 is checkpointed.
- Checkpointing requires that sufficient data about the state of the process 36 be saved to memory 12 to enable the execution of process 36 to be resumed at a later time.
- at least the contents of data registers and the kernel state associated with the process are saved to memory 12 .
- the memory state of the process 36 must be identified and preserved as part of checkpointing.
- the memory state is in the form of pages of virtual memory used by the process 36 , which map to pages of machine memory 14 .
- the machine memory 14 may be in any suitable form.
- the machine memory 14 may be machine RAM.
- the machine memory 14 may be disk space, which may be a disk swap file supporting virtual or physical RAM.
- the first operating system 33 or an application or utility running on the first operating system, then calls the VMM 30 via an API, recording the logical addresses of the memory pages 12 and 14 containing the checkpoint.
- An API for use in the present embodiment expressed as pseudocode, may read:
- the input parameters *base and len specify, in the form of a base address and length, a block of contiguous memory.
- the base address *base and the length len do not need to be the base address of a page used for memory mapping and the length of a whole number of pages.
- *base and len may be the base address and length for the used part of the page.
- the parameters *iov and iovlen are the starting address and number of entries in a list, in which each entry is a tuple consisting of an instance of the parameters *base and len.
- the addresses from the register_pages list may be in physical or virtual address space.
- the VMM 30 can convert addresses from physical memory to machine memory, because the VMM is in control of the physical to machine mapping. In many systems, the VMM also has access to the virtual to physical mapping, because that is actually implemented in hardware or other resources under the control of the VMM. In some systems, it may be necessary for the VMM 30 to send a request to the operating system 33 for information from the operating system's virtual to physical memory mapping. If the iovec addresses do not align with page boundaries, the VMM 30 identifies the pages that contain the memory specified.
- the cookie is passed to the second or “destination” operating system 35 .
- the destination operating system 35 needs to know at least the number and size of the memory areas 12 , 14 involved in the migration. If the cookie consists merely of a label for information held by the VMM 30 , then the process migration system running in the destination virtual machine 34 may use the cookie to obtain a copy of the actual information from the VMM. If the cookie contains actual information, the destination system extracts that information.
- the information may alternatively be passed from the source operating system 33 to the destination operating system 35 by any means available for communication between different virtual machines on the computer system 10 in question.
- the destination operating system 35 allocates logical memory within its own address space for the checkpointed process 36 .
- the allocated memory areas need to correspond in number and size to the memory areas listed by the register_pages API call.
- the logical memory allocated by the destination operating system 35 is memory that already maps to machine memory pages 16 , 18 .
- an API call to migrate_pages is made by the process migration system in the destination virtual machine 34 , which instructs the VMM 30 to remap the memory pages 12 and 14 previously identified by register_pages to the second virtual machine 34 .
- step 84 the machine memory pages 12 and 14 containing the checkpoint are “flipped” with the machine memory pages 16 and 18 corresponding to the logical memory pages previously allocated by the new virtual machine 34 at step 80 .
- a “flip” is a procedure that starts with first logical memory pages in the first virtual machine 32 mapping to first pages of machine memory, and second logical memory pages in the second virtual machine 34 mapping to second pages of machine memory.
- identical numbers and sizes of first and second logical memory pages are simultaneously remapped by altering the page table 40 so that the first logical memory pages now map to the second machine pages, and the second logical memory pages now map to the first machine pages.
- the first logical memory pages and the second logical memory pages may have the same physical memory addresses within their respective operating systems 33 and 35 . Alternatively, they may have different physical memory addresses within their respective operating systems 33 and 35 .
- the first logical memory pages and the second logical memory pages may have the same virtual memory addresses in the address space of the process 36 before and after the migration, even if they have different physical memory addresses.
- the VMM 30 effects the flip by altering the page table 40 , so that the machine memory pages 12 and 14 containing the checkpoint are now mapped to by the logical addresses on the second virtual machine 34 that previously mapped to the pages 16 and 18 , and the machine memory pages 16 and 18 are now mapped to by the logical addresses on the first virtual machine 32 that previously mapped to the pages 12 and 14 .
- This memory “flip” is quick, because no copying of machine memory is needed, only a few changes to a table.
- TLB translation lookaside buffer
- a multi-tasking operating system 33 , 35 may itself perform memory mapping between virtual memory addresses used by processes 36 , 38 , or an internal address space used by the operating system, and what the operating system believes to be physical memory. If the operating system uses the hardware TLB 42 , then the actual contents of the TLB may be a composition of the operating system's memory address mappings and the VMM's memory mappings, leading directly from an application process's virtual addresses to actual machine addresses.
- the process migration system restores process 36 from the checkpoint, on the second virtual machine 34 .
- the memory pages 12 and 14 containing the checkpoint are now mapped to the address space of the second virtual machine, so this requires no special measures.
- the restoration involves loading into the virtual machine 34 the register contents, kernel state, and other information that was saved to the memory 12 in step 66 or passed to the second operating system 35 in step 78 .
- the execution of the process 36 is then resumed.
- the migration of the process 36 from the first virtual machine 32 to the second virtual machine 34 involves only checkpointing, remapping of memory 12 and 14 in the page table 40 , and restoring from the checkpoint, it is a quick process, and can in many cases be carried out without a noticeable interruption in the service to the users of the process 36 . If the amount of main memory 14 used by the process 36 is large, there may be a considerable saving in time because it is not necessary actually to copy the contents of the memory from machine memory to which the first virtual machine 32 maps into machine memory to which the second virtual machine 34 maps.
- the machine memory pages 12 and 14 may be marked “copy on write” by the VMM 30 .
- the restored process 36 operates, in step 108 it may alter the data stored in the memory 14 .
- the permissions for the memory pages 12 and 14 in the page table 40 are set so that any attempt to write to one of those pages will create a fault that can be trapped by the VMM 30 or other entity controlling the write.
- the write attempt at step 108 is held suspended.
- the VMM then makes a copy of the affected page, known as a “before-image,” in a part of the machine memory that is not mapped to by the physical memory space of any operating system 33 , 35 .
- the permissions for the original page 14 are changed to allow the write attempt to proceed. Subsequent writes to the same page proceed without objection, and without involving the before-image copies of the altered pages, which are preserved as originally migrated.
- the VMM 30 saves the before-image copies on pages of machine memory that exist on the physical computer 10 and are under the control of the VMM 30 but are not mapped to by any virtual machine 32 , 34 .
- the altered copies are stored in machine memory mapped to by the virtual memory of the process 36 .
- the virtual memory of the process 36 continues to map to any unaltered pages, that is to say, pages to which the process 36 has not written since the migration.
- the process 36 uses the altered and the unaltered pages.
- the process 36 has no access to the before-image copies that exist only for the altered pages.
- the VMM maintains a log of the “before images” of the altered pages. Some overhead is incurred because of the need to copy pages of machine memory. However, in many cases the rate of copying of pages will be low and, as explained with reference to step 120 below, only a small part of the total memory pages 14 may ever be copied. In addition, because the copying occurs only on writes to memory, in many cases the writes can be queued if the resources for copying are not immediately available. In addition, because this copying arises only after the process 36 has been restarted, it does not contribute to down-time while the process 36 is unavailable to users during migration.
- the copy-on-write could be implemented within the second operating system 35 , in which case the before-image copies are kept in machine memory to which physical memory of the second operating system maps.
- step 112 it may be determined that the restored process 36 has failed.
- failure may be caused by a failure in the checkpointing and restoring procedures. For example, even if the virtual machine 32 has been checkpointed completely and correctly, the checkpoint may not restore correctly if a patch or upgrade alters the operating system 35 .
- the restored process 36 may fail to run correctly because some resource, such as a dynamically linked library or other file that was not included in the memory flip, is not present in the new virtual machine 34 .
- step 114 the original state of the checkpoint is reconstructed by reference to the VMM's log of before-images.
- the pages may be remapped so that the unchanged checkpoint is reconstructed in the physical or virtual memory of the second virtual machine 34 , identically to the state of that memory immediately after the flip in step 84 .
- step 86 the pages are flipped back to the first virtual machine 32 .
- it is easier to restore the process 36 if the pages 12 and 14 are returned to the same logical addresses that they occupied at the beginning of step 84 , in exchange for the pages 16 and 18 that were flipped to the first virtual machine 32 in step 84 .
- step 118 the process 36 is restored from the checkpoint on the first virtual machine 32 .
- the first virtual machine 32 and operating system 33 may be maintained unaltered and active but not supporting any user processes. That reduces the probability that the checkpoint will not restore on the first virtual machine because of deliberate changes to the operating system 33 or because of changes caused by subsequent processes that are not reversed by restoring the checkpoint. Even if the first virtual machine 32 is used between the migration at steps 64 to 86 and the reverse migration at steps 114 to 118 , the flipped memory pages 16 and 18 may be kept unused by the first virtual machine 32 , because anything stored on those memory pages will be lost in the reverse migration. In order to keep the memory pages 16 and 18 unused, the original instance of the process 36 on the first operating system 33 may be kept as a placeholder, retaining possession of the logical pages on the first virtual machine 32 that map to the flipped memory pages 16 and 18 .
- the criterion for determining this may be time, some measure of the amount of activity in process 36 since it was migrated, such as a count of transactions, the number of memory pages 14 that have been copied, or a combination of factors.
- the decision may be made automatically, by the VMM 30 or by a monitoring utility, or may be made by a human operator. If it is determined that the checkpoint is not worth retaining, then in step 122 the copy-on-write status of any uncopied memory pages 14 is released, allowing future changes to those pages to be made without creating a copy.
- the memory occupied by the before-images of any copied pages 14 and by the pages 12 with the virtual machine state is freed for other uses.
- step 84 if there is machine memory available to the VMM 30 that at the beginning of step 84 is not mapped to by any virtual machine 32 , 34 , then the machine memory pages 12 and 14 that are remapped away from the first virtual machine 32 could be replaced by pages of previously unmapped memory and/or the pages 16 and 18 that are removed from the second virtual machine 34 to free their logical addresses for the pages 12 and 14 could become unmapped memory.
- step 114 the memory pages 12 and 14 containing the unchanged copy of the checkpoint, in the form of unaltered pages and before-image pages, may be located, without being remapped.
- the VMM 30 may then remap the located pages back to their original logical addresses in the first virtual machine 32 .
- the pages 16 and 18 that are flipped out of the first virtual machine 32 are then distributed by the flip to the logical addresses previously occupied by the unaltered and before-image copies of the pages 12 , 14 .
- Some of these addresses may be logical addresses in the second virtual machine 34 , and some of them may be among the unmapped pages used by the VMM 30 for the copy-on-write function.
- These machine pages 16 and 18 may be further remapped, either simultaneously or subsequently, if it is desired to maintain them as a logical group.
- the machine pages 12 and 14 may be temporarily remapped to an orderly block of logical addresses within the second virtual machine 34 , but not necessarily to the same addresses they originally occupied.
- the pages 12 and 14 could be remapped to physical addresses on the second virtual machine 34 that did not previously map to any machine address, and/or the physical addresses on the first virtual machine that mapped to the pages 12 and 14 before the flip could be left not mapping to any machine pages.
- the VMM 30 typically has sufficient control over the mapping of physical to machine pages to implement this without disturbing the operation of the virtual machines 32 , 34 .
- the second virtual machine 34 does not initially have sufficient unused physical memory for the pages 12 , 14 but does have unused address space, new physical memory could be added to the second virtual machine before step 80 .
- the pages 14 may be duplicated, and only the duplicate set may then be flipped or remapped to the second virtual machine 34 . Even if the pages 14 are duplicated as part of the migration procedure, there may still be a significant saving in time, because copying pages within an operating system is quicker than copying between operating systems, even on a single physical computer.
- the migration is planned in advance, pages that are not frequently changed may be duplicated in advance, so that only a flip or remapping is necessary at the time of migration. In this embodiment, if the migration fails the process 36 can be recovered on the first operating system 33 without a reverse remapping of the machine memory pages 14 , as long as the originals of the duplicated pages 14 are still available to the first virtual machine 32 .
- the computer 10 has two virtual machines 32 , 34 , each containing a single operating system 33 , 35 , supporting a single application process 36 , 38 .
- the computer 10 and the VMM 30 may support more than two virtual machines.
- a single virtual machine 32 , 34 may contain more than a single operating system 33 , 35 provided that all systems are able to coexist peacefully within the single undivided machine 32 , 34 .
- a single operating system 33 , 35 may support more than one application process 36 , 38 .
Abstract
Description
-
- void *base;
- size_t len;
-
- char opaque [64];
Claims (32)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/959,714 US7512769B1 (en) | 2004-10-06 | 2004-10-06 | Process migration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/959,714 US7512769B1 (en) | 2004-10-06 | 2004-10-06 | Process migration |
Publications (1)
Publication Number | Publication Date |
---|---|
US7512769B1 true US7512769B1 (en) | 2009-03-31 |
Family
ID=40474143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/959,714 Active 2025-11-18 US7512769B1 (en) | 2004-10-06 | 2004-10-06 | Process migration |
Country Status (1)
Country | Link |
---|---|
US (1) | US7512769B1 (en) |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043860A1 (en) * | 2005-08-15 | 2007-02-22 | Vipul Pabari | Virtual systems management |
US20070112999A1 (en) * | 2005-11-15 | 2007-05-17 | Microsoft Corporation | Efficient power management of a system with virtual machines |
US20070169121A1 (en) * | 2004-05-11 | 2007-07-19 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US20070214505A1 (en) * | 2005-10-20 | 2007-09-13 | Angelos Stavrou | Methods, media and systems for responding to a denial of service attack |
US20070233880A1 (en) * | 2005-10-20 | 2007-10-04 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for enabling a consistent web browsing session on different digital processing devices |
US20070245334A1 (en) * | 2005-10-20 | 2007-10-18 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for maintaining execution of a software process |
US20070244962A1 (en) * | 2005-10-20 | 2007-10-18 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for managing a distributed application running in a plurality of digital processing devices |
US20080115010A1 (en) * | 2006-11-15 | 2008-05-15 | Rothman Michael A | System and method to establish fine-grained platform control |
US20080134174A1 (en) * | 2006-12-05 | 2008-06-05 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US20080189417A1 (en) * | 2004-12-02 | 2008-08-07 | Frank Dea | Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems |
US20080270564A1 (en) * | 2007-04-25 | 2008-10-30 | Microsoft Corporation | Virtual machine migration |
US20090019256A1 (en) * | 2007-07-11 | 2009-01-15 | Arm Limited | Memory transaction handling in a data processing apparatus |
US20090150883A1 (en) * | 2007-12-10 | 2009-06-11 | Sun Microsystems, Inc. | Method and system for controlling network traffic in a blade chassis |
US20100023702A1 (en) * | 2007-07-02 | 2010-01-28 | Sun Microsystems, Inc. | Shared JAVA JAR files |
US20100153674A1 (en) * | 2008-12-17 | 2010-06-17 | Park Seong-Yeol | Apparatus and method for managing process migration |
US20100174943A1 (en) * | 2009-01-07 | 2010-07-08 | Lenovo (Beijing) Limited | Method for restoring client operating system-based system, virtual machine manager and system using the same |
US20100293593A1 (en) * | 2008-01-11 | 2010-11-18 | Fredrik Lindholm | Securing contact information |
US20110029821A1 (en) * | 2009-07-30 | 2011-02-03 | Vmware, Inc. | Method and system for recording a selected computer process for subsequent replay |
US20120017029A1 (en) * | 2010-07-16 | 2012-01-19 | Santos Jose Renato G | Sharing memory spaces for access by hardware and software in a virtual machine environment |
US20120110181A1 (en) * | 2010-10-27 | 2012-05-03 | Red Hat Israel, Ltd. | Network address retrieval for live migration of a guest in a virtual machine system |
US20130007735A1 (en) * | 2011-07-01 | 2013-01-03 | V3 Systems, Inc. | Virtual machine allocation internal and external to physical environment |
US8387048B1 (en) * | 2006-04-25 | 2013-02-26 | Parallels IP Holdings GmbH | Seamless integration, migration and installation of non-native application into native operating system |
US20130227559A1 (en) * | 2012-02-29 | 2013-08-29 | Michael Tsirkin | Management of i/o reqeusts in virtual machine migration |
US8527702B2 (en) * | 2009-12-24 | 2013-09-03 | Hitachi, Ltd. | Storage system providing virtual volumes |
US8549129B2 (en) | 2010-10-12 | 2013-10-01 | Microsoft Corporation | Live migration method for large-scale IT management systems |
US8839275B1 (en) | 2011-06-06 | 2014-09-16 | Proximal Data, Inc. | Method for intercepting input/output requests and responses |
US20140298334A1 (en) * | 2013-03-29 | 2014-10-02 | International Business Machines Corporation | Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine |
US20150052322A1 (en) * | 2013-08-16 | 2015-02-19 | Red Hat Israel, Ltd. | Systems and methods for memory deduplication by origin host in virtual machine live migration |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9104552B1 (en) | 2012-06-23 | 2015-08-11 | Samsung Electronics Co., Ltd. | Method for the use of shadow ghost lists to prevent excessive wear on FLASH based cache devices |
US20160026546A1 (en) * | 2014-07-24 | 2016-01-28 | Intel Corporation | Hardware-assisted application checkpointing and restoring |
US9298389B2 (en) | 2013-10-28 | 2016-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Operating a memory management controller |
US20160253204A1 (en) * | 2013-08-12 | 2016-09-01 | Amazon Technologies, Inc. | Fast-booting application image |
US9442859B1 (en) | 2012-06-17 | 2016-09-13 | Samsung Electronics Co., Ltd. | Method for asynchronous population of data caches used with mass storage devices |
US20160350150A1 (en) * | 2015-05-27 | 2016-12-01 | Sprint Communications Company L.P. | Handoff of virtual machines based on security requirements |
US9767284B2 (en) | 2012-09-14 | 2017-09-19 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9767271B2 (en) | 2010-07-15 | 2017-09-19 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US20180004675A1 (en) * | 2016-07-01 | 2018-01-04 | Vedvyas Shanbhogue | Application execution enclave memory method and apparatus |
WO2019012252A1 (en) * | 2017-07-14 | 2019-01-17 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US10346148B2 (en) | 2013-08-12 | 2019-07-09 | Amazon Technologies, Inc. | Per request computer system instances |
US10353725B2 (en) | 2013-08-12 | 2019-07-16 | Amazon Technologies, Inc. | Request processing techniques |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US10540291B2 (en) | 2017-05-10 | 2020-01-21 | Intel Corporation | Tracking and managing translation lookaside buffers |
US10565126B2 (en) | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US10613989B2 (en) | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
CN111066000A (en) * | 2017-09-20 | 2020-04-24 | 华为技术有限公司 | Playable execution optimized for page sharing in managed runtime environments |
US10884850B2 (en) | 2018-07-24 | 2021-01-05 | Arm Limited | Fault tolerant memory system |
US20220229774A1 (en) * | 2021-01-15 | 2022-07-21 | Nutanix, Inc. | Just-in-time virtual per-vm swap space |
US11567794B1 (en) * | 2020-09-30 | 2023-01-31 | Virtuozzo International Gmbh | Systems and methods for transparent entering of a process into a virtual machine |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
US6256751B1 (en) * | 1998-10-29 | 2001-07-03 | International Business Machines Corporation | Restoring checkpointed processes without restoring attributes of external data referenced by the processes |
US6260068B1 (en) * | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
US6698017B1 (en) * | 1999-07-16 | 2004-02-24 | Nortel Networks Limited | Software migration on an active processing element |
US20050091354A1 (en) * | 2003-10-01 | 2005-04-28 | Lowell David E. | Online computer maintenance utilizing a virtual machine monitor |
US6934755B1 (en) * | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
-
2004
- 2004-10-06 US US10/959,714 patent/US7512769B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
US6260068B1 (en) * | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
US6256751B1 (en) * | 1998-10-29 | 2001-07-03 | International Business Machines Corporation | Restoring checkpointed processes without restoring attributes of external data referenced by the processes |
US6698017B1 (en) * | 1999-07-16 | 2004-02-24 | Nortel Networks Limited | Software migration on an active processing element |
US6934755B1 (en) * | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US20050091354A1 (en) * | 2003-10-01 | 2005-04-28 | Lowell David E. | Online computer maintenance utilizing a virtual machine monitor |
Non-Patent Citations (6)
Title |
---|
Lowell, David E., and Chen, Peter M., Discount Checking: Transparent, Low-Overhead Recovery for General Applications. University of Michigan Technical Report. CSE-TR-410-99. Nov. 1998, available at http://www.eecs.umich.edu/Rio/papers/discountChecking.pdf. |
Milojicic, D. S., Douglis, F., Paindaveine, Y., Wheeler, R., and Zhou, S., Process Migration, ACM Computing Surveys, 32(3):241-299, 2000. |
Osman, Steven, Subhraveti, Dinesh, Su, Gong, and Nieh, Jason, The Design and Implementation of Zap: A System for Migrating Computing Environments. Proceedings of the 5th Symposium on Operating Systems Design and Impementation (OSDI 2002), Boston, MA, Dec. 2002. |
Rashid, Richard, Julin, Daniel, Orr, Douglas, Sanze, Richard, Baron, Robert, Forin, Alessandro, Golub, David, and Jones, Michael, Mach: A System Software Kernel. Department of Computer Science, Carnegie Mellon University, Pittsburgh, PA, after Nov. 1988. |
U.S. Appl. No. 10/676,665, filed Oct. 1, 2003, Lowell et al. |
Young, Michael, Tevanian, Avadis, Rashid, Richard, Golub, David, Eppinger, Jeffrey, Chew, Johathan, Bolosky, William, Black, David, and Baron, Robert, The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System, Proceedings of the 11th Operating Systems Principles, Nov. 1987. |
Cited By (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070169121A1 (en) * | 2004-05-11 | 2007-07-19 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US8352938B2 (en) * | 2004-05-11 | 2013-01-08 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US20080189417A1 (en) * | 2004-12-02 | 2008-08-07 | Frank Dea | Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems |
US8010673B2 (en) * | 2004-12-02 | 2011-08-30 | International Business Machines Corporation | Transitioning network traffic between logical partitions in one or more data processing systems |
US20070043860A1 (en) * | 2005-08-15 | 2007-02-22 | Vipul Pabari | Virtual systems management |
US10810050B2 (en) | 2005-08-15 | 2020-10-20 | Toutvirtual, Inc. | Virtual systems management |
US9444762B2 (en) | 2005-08-15 | 2016-09-13 | Toutvirtual, Inc. | Computer network systems to manage computer network virtualization environments |
US11656915B2 (en) | 2005-08-15 | 2023-05-23 | Toutvirtual, Inc. | Virtual systems management |
US8799431B2 (en) * | 2005-08-15 | 2014-08-05 | Toutvirtual Inc. | Virtual systems management |
US20070214505A1 (en) * | 2005-10-20 | 2007-09-13 | Angelos Stavrou | Methods, media and systems for responding to a denial of service attack |
US20070244962A1 (en) * | 2005-10-20 | 2007-10-18 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for managing a distributed application running in a plurality of digital processing devices |
US8280944B2 (en) | 2005-10-20 | 2012-10-02 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for managing a distributed application running in a plurality of digital processing devices |
US20070245334A1 (en) * | 2005-10-20 | 2007-10-18 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for maintaining execution of a software process |
US20070233880A1 (en) * | 2005-10-20 | 2007-10-04 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for enabling a consistent web browsing session on different digital processing devices |
US8549646B2 (en) | 2005-10-20 | 2013-10-01 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for responding to a denial of service attack |
US9489035B2 (en) | 2005-11-15 | 2016-11-08 | Microsoft Technology Licensing, Llc | Efficient power management of a system with virtual machines |
US8909946B2 (en) * | 2005-11-15 | 2014-12-09 | Microsoft Corporation | Efficient power management of a system with virtual machines |
US20070112999A1 (en) * | 2005-11-15 | 2007-05-17 | Microsoft Corporation | Efficient power management of a system with virtual machines |
US9218047B2 (en) | 2005-11-15 | 2015-12-22 | Microsoft Technology Licensing, Llc | Efficient power management of a system with virtual machines |
US9772860B2 (en) | 2005-11-15 | 2017-09-26 | Microsoft Technology Licensing, Llc | Efficient power management of a system with virtual machines |
US8387048B1 (en) * | 2006-04-25 | 2013-02-26 | Parallels IP Holdings GmbH | Seamless integration, migration and installation of non-native application into native operating system |
US20080115010A1 (en) * | 2006-11-15 | 2008-05-15 | Rothman Michael A | System and method to establish fine-grained platform control |
US8694712B2 (en) | 2006-12-05 | 2014-04-08 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US20080134174A1 (en) * | 2006-12-05 | 2008-06-05 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US8479194B2 (en) * | 2007-04-25 | 2013-07-02 | Microsoft Corporation | Virtual machine migration |
US8869146B2 (en) | 2007-04-25 | 2014-10-21 | Microsoft Corporation | Virtual machine migration |
US20080270564A1 (en) * | 2007-04-25 | 2008-10-30 | Microsoft Corporation | Virtual machine migration |
US20100023702A1 (en) * | 2007-07-02 | 2010-01-28 | Sun Microsystems, Inc. | Shared JAVA JAR files |
US8176142B2 (en) * | 2007-07-02 | 2012-05-08 | Oracle America, Inc. | Shared JAVA jar files |
US20110145358A1 (en) * | 2007-07-02 | 2011-06-16 | Oracle America, Inc. | Shared java jar files |
US7882198B2 (en) * | 2007-07-02 | 2011-02-01 | Oracle America, Inc. | Shared JAVA JAR files |
US20090019256A1 (en) * | 2007-07-11 | 2009-01-15 | Arm Limited | Memory transaction handling in a data processing apparatus |
US20090150883A1 (en) * | 2007-12-10 | 2009-06-11 | Sun Microsystems, Inc. | Method and system for controlling network traffic in a blade chassis |
US8370530B2 (en) * | 2007-12-10 | 2013-02-05 | Oracle America, Inc. | Method and system for controlling network traffic in a blade chassis |
US20100293593A1 (en) * | 2008-01-11 | 2010-11-18 | Fredrik Lindholm | Securing contact information |
US20100153674A1 (en) * | 2008-12-17 | 2010-06-17 | Park Seong-Yeol | Apparatus and method for managing process migration |
US8458696B2 (en) * | 2008-12-17 | 2013-06-04 | Samsung Electronics Co., Ltd. | Managing process migration from source virtual machine to target virtual machine which are on the same operating system |
US9477499B2 (en) | 2008-12-17 | 2016-10-25 | Samsung Electronics Co., Ltd. | Managing process migration from source virtual machine to target virtual machine which are on the same operating system |
US20100174943A1 (en) * | 2009-01-07 | 2010-07-08 | Lenovo (Beijing) Limited | Method for restoring client operating system-based system, virtual machine manager and system using the same |
US8656222B2 (en) * | 2009-07-30 | 2014-02-18 | Vmware, Inc. | Method and system for recording a selected computer process for subsequent replay |
US20110029821A1 (en) * | 2009-07-30 | 2011-02-03 | Vmware, Inc. | Method and system for recording a selected computer process for subsequent replay |
US8527702B2 (en) * | 2009-12-24 | 2013-09-03 | Hitachi, Ltd. | Storage system providing virtual volumes |
US9767271B2 (en) | 2010-07-15 | 2017-09-19 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8392628B2 (en) * | 2010-07-16 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Sharing memory spaces for access by hardware and software in a virtual machine environment |
US20120017029A1 (en) * | 2010-07-16 | 2012-01-19 | Santos Jose Renato G | Sharing memory spaces for access by hardware and software in a virtual machine environment |
US8549129B2 (en) | 2010-10-12 | 2013-10-01 | Microsoft Corporation | Live migration method for large-scale IT management systems |
US20120110181A1 (en) * | 2010-10-27 | 2012-05-03 | Red Hat Israel, Ltd. | Network address retrieval for live migration of a guest in a virtual machine system |
US9183046B2 (en) * | 2010-10-27 | 2015-11-10 | Red Hat Israel, Ltd. | Network address retrieval for live migration of a guest system in a virtual machine system |
US8839275B1 (en) | 2011-06-06 | 2014-09-16 | Proximal Data, Inc. | Method for intercepting input/output requests and responses |
US9223605B2 (en) * | 2011-07-01 | 2015-12-29 | V3 Systems Holdings, Inc. | Virtual machine allocation internal and external to physical environment |
US20130007735A1 (en) * | 2011-07-01 | 2013-01-03 | V3 Systems, Inc. | Virtual machine allocation internal and external to physical environment |
US20130227559A1 (en) * | 2012-02-29 | 2013-08-29 | Michael Tsirkin | Management of i/o reqeusts in virtual machine migration |
US9280380B2 (en) * | 2012-02-29 | 2016-03-08 | Red Hat Israel, Ltd. | Management of I/O reqeusts in virtual machine migration |
US9442859B1 (en) | 2012-06-17 | 2016-09-13 | Samsung Electronics Co., Ltd. | Method for asynchronous population of data caches used with mass storage devices |
US9104552B1 (en) | 2012-06-23 | 2015-08-11 | Samsung Electronics Co., Ltd. | Method for the use of shadow ghost lists to prevent excessive wear on FLASH based cache devices |
US9767284B2 (en) | 2012-09-14 | 2017-09-19 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9552495B2 (en) | 2012-10-01 | 2017-01-24 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US10324795B2 (en) | 2012-10-01 | 2019-06-18 | The Research Foundation for the State University o | System and method for security and privacy aware virtual machine checkpointing |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9632725B2 (en) | 2013-03-29 | 2017-04-25 | International Business Machines Corporation | Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine |
US9448910B2 (en) * | 2013-03-29 | 2016-09-20 | International Business Machines Corporation | Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine |
US20140298334A1 (en) * | 2013-03-29 | 2014-10-02 | International Business Machines Corporation | Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine |
US11093270B2 (en) | 2013-08-12 | 2021-08-17 | Amazon Technologies, Inc. | Fast-booting application image |
US11068309B2 (en) | 2013-08-12 | 2021-07-20 | Amazon Technologies, Inc. | Per request computer system instances |
US10353725B2 (en) | 2013-08-12 | 2019-07-16 | Amazon Technologies, Inc. | Request processing techniques |
US10346148B2 (en) | 2013-08-12 | 2019-07-09 | Amazon Technologies, Inc. | Per request computer system instances |
US9766921B2 (en) * | 2013-08-12 | 2017-09-19 | Amazon Technologies, Inc. | Fast-booting application image using variation points in application source code |
US20160253204A1 (en) * | 2013-08-12 | 2016-09-01 | Amazon Technologies, Inc. | Fast-booting application image |
US10509665B2 (en) | 2013-08-12 | 2019-12-17 | Amazon Technologies, Inc. | Fast-booting application image |
US9454400B2 (en) * | 2013-08-16 | 2016-09-27 | Red Hat Israel, Ltd. | Memory duplication by origin host in virtual machine live migration |
US20150052322A1 (en) * | 2013-08-16 | 2015-02-19 | Red Hat Israel, Ltd. | Systems and methods for memory deduplication by origin host in virtual machine live migration |
US9317214B2 (en) | 2013-10-28 | 2016-04-19 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Operating a memory management controller |
US9298389B2 (en) | 2013-10-28 | 2016-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Operating a memory management controller |
US10146641B2 (en) * | 2014-07-24 | 2018-12-04 | Intel Corporation | Hardware-assisted application checkpointing and restoring |
US20160026546A1 (en) * | 2014-07-24 | 2016-01-28 | Intel Corporation | Hardware-assisted application checkpointing and restoring |
US9424142B2 (en) * | 2014-07-24 | 2016-08-23 | Intel Corporation | Hardware-assisted application checkpointing and restoring |
US20160350150A1 (en) * | 2015-05-27 | 2016-12-01 | Sprint Communications Company L.P. | Handoff of virtual machines based on security requirements |
US10019281B2 (en) * | 2015-05-27 | 2018-07-10 | Sprint Communications Company L.P. | Handoff of virtual machines based on security requirements |
US10671542B2 (en) * | 2016-07-01 | 2020-06-02 | Intel Corporation | Application execution enclave memory method and apparatus |
US20180004675A1 (en) * | 2016-07-01 | 2018-01-04 | Vedvyas Shanbhogue | Application execution enclave memory method and apparatus |
US10540291B2 (en) | 2017-05-10 | 2020-01-21 | Intel Corporation | Tracking and managing translation lookaside buffers |
US10353826B2 (en) | 2017-07-14 | 2019-07-16 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
WO2019012252A1 (en) * | 2017-07-14 | 2019-01-17 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US10613989B2 (en) | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10565126B2 (en) | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US11243790B2 (en) | 2017-09-20 | 2022-02-08 | Huawei Technologies Co., Ltd. | Re-playable execution optimized for page sharing in a managed runtime environment |
EP3659034A4 (en) * | 2017-09-20 | 2020-07-29 | Huawei Technologies Co., Ltd. | Re-playable execution optimized for page sharing in a managed runtime environment |
CN111066000A (en) * | 2017-09-20 | 2020-04-24 | 华为技术有限公司 | Playable execution optimized for page sharing in managed runtime environments |
CN111066000B (en) * | 2017-09-20 | 2023-11-03 | 华为技术有限公司 | Replayable execution that optimizes page sharing in managed runtime environments |
US10884850B2 (en) | 2018-07-24 | 2021-01-05 | Arm Limited | Fault tolerant memory system |
US11567794B1 (en) * | 2020-09-30 | 2023-01-31 | Virtuozzo International Gmbh | Systems and methods for transparent entering of a process into a virtual machine |
US20220229774A1 (en) * | 2021-01-15 | 2022-07-21 | Nutanix, Inc. | Just-in-time virtual per-vm swap space |
US11656982B2 (en) * | 2021-01-15 | 2023-05-23 | Nutanix, Inc. | Just-in-time virtual per-VM swap space |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7512769B1 (en) | Process migration | |
US10859289B2 (en) | Generating and using checkpoints in a virtual computer system | |
US6938135B1 (en) | Incremental backup of a data volume | |
US8099568B2 (en) | Separate swap files corresponding to different virtual machines in a host computer system | |
US5546534A (en) | Method of operating a computer system | |
US6687849B1 (en) | Method and apparatus for implementing fault-tolerant processing without duplicating working process | |
US20100250908A1 (en) | Concurrent Patching of Operating Systems | |
US8555278B2 (en) | Method and system for migrating a selected set of virtual machines between volumes | |
US20060136667A1 (en) | System, method and program to preserve a cache of a virtual machine | |
US20090024820A1 (en) | Memory Allocation For Crash Dump | |
EP0815512A1 (en) | Computer backup system operable with open files | |
US10909072B2 (en) | Key value store snapshot in a distributed memory object architecture | |
US20170139637A1 (en) | A method of live migration | |
JP3246146B2 (en) | Data transfer method for external storage device | |
US8898413B2 (en) | Point-in-time copying of virtual storage | |
US10216529B1 (en) | Method and system for sharing driver pages | |
US8892838B2 (en) | Point-in-time copying of virtual storage and point-in-time dumping | |
US20180336106A1 (en) | Checkpoint method for a highly available computer system | |
WO2006019656A2 (en) | System and method for managing memory | |
US10713181B1 (en) | Method and system for sharing driver pages | |
Elphinstone et al. | Supporting persistent object systems in a single address space | |
JPS5831651A (en) | Restart processing system for electronic exchanger | |
US11899572B2 (en) | Systems and methods for transparent swap-space virtualization | |
US7761737B2 (en) | Apparatus, method, and computer product for executing program | |
US20200042239A1 (en) | Distributed Memory Object Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LOWELL, DAVID E.;SAITO, YASUSHI;REEL/FRAME:015881/0774 Effective date: 20041001 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001 Effective date: 20151027 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |