Patents Assigned to VMware
-
Patent number: 7966615Abstract: A backup VM is allowed to enter live execution mode at instruction boundaries but not in the middle of emulation of a single instruction. This is accomplished by having the last log entry of multiple entries generated during emulation of an instruction to have an indication of a “go-live” point and by having the backup VM not replay log entries provided by the primary VM beyond the log entry that indicates the “go-live” point.Type: GrantFiled: November 6, 2008Date of Patent: June 21, 2011Assignee: VMware, Inc.Inventors: Ganesh Venkitachalam, Michael Nelson, Daniel J. Scales
-
Patent number: 7966315Abstract: A database query optimization method is provided for database queries that include predicates, the queries being directed to at least one database table having data in rows and columns. The method includes associating a lineage bit set with each row of the database table, the lineage bit set providing a binary predicate state indication whether each predicate is met or are not met by data in the row. A dependency bit set is established to provide a binary indication of the predicates that are included in each query. Queries are applied against the database table by a logical operation between the lineage bit set and the dependency bit set. A database query optimization data structure includes a lineage bit set associated with each row in the database table. The lineage bit set provides a binary predicate state indication whether each predicate is met or are not met by data in the row.Type: GrantFiled: November 15, 2005Date of Patent: June 21, 2011Assignee: VMware, Inc.Inventors: Russell Okamoto, Greg Passmore
-
Publication number: 20110145632Abstract: A method is provided for recovering from an uncorrected memory error located at a memory address as identified by a memory device. A stored hash value for a memory page corresponding to the identified memory address is used to determine the correct data. Because the memory device specifies the location of the corrupted data, and the size of the window where the corruption occurred, the stored hash can be used to verify memory page reconstruction. With the known good part of the data in hand, the hashes of the pages using possible values in place of the corrupted data are calculated. It is expected that there will be a match between the previously stored hash and one of the computed hashes. As long as there is one and only one match, then that value, used in the place of the corrupted data, is the correct value. The corrupt data, once replaced, allows operation of the memory device to continue without needing to interrupt or otherwise affect a system's operation.Type: ApplicationFiled: December 11, 2009Publication date: June 16, 2011Applicant: VMWARE, INC.Inventors: Carl A. WALDSPURGER, Dilpreet BINDRA, Gregory HARM, Patrick TULLMANN
-
Patent number: 7962647Abstract: A virtualized platform includes a virtual switch connected to the virtual network interface cards (vNICs) for a group of virtual machines running the same application program that is associated with multiple software ports. A module in the virtualized platform monitors the virtual switch's receipt of a network packet that includes control information relating to the application program and its software ports. The module applies a load balancing algorithm to select a vNIC from the vNICs connected or connectable to the virtual switch, based on the rate of processing of previous network packets by each the vNICs (e.g., as measured by the size of a network packet queue). The module might also apply the load balancing algorithm to select a software port for the application. The module then causes the virtual switch to route the network packet to the selected vNIC and software port.Type: GrantFiled: November 24, 2008Date of Patent: June 14, 2011Assignee: VMware, Inc.Inventors: Salil Suri, Harish Chilkoti
-
Publication number: 20110138383Abstract: A method and a system of making a virtual machine space efficient are disclosed. The virtual machine includes a virtual disk. The method includes creating a temporary virtual disk and adding the temporary virtual disk to the virtual machine. The temporary virtual disk works in conjunction with the virtual disk. The virtual machine is configured to store temporary files in the temporary virtual disk rather than the virtual disk.Type: ApplicationFiled: December 3, 2009Publication date: June 9, 2011Applicant: VMWARE, INC.Inventor: Bich Cau LE
-
Patent number: 7958558Abstract: Mechanisms have been developed for securing computational systems against certain forms of attack. In particular, it has been discovered that, by maintaining and selectively propagating taint status for storage locations in correspondence with information flows of instructions executed by a computing system, it is possible to provide a security (or other appropriate) response if and when a control transfer (or other restricted use) is attempted based on tainted data. By employing aging in decisions to propagate, it is possible limit overheads associated with such tracking. In some embodiments, a decay oriented metric is applied and further propagation of taints is interrupted once aging reaches a predetermined decay threshold. In some embodiments, more generalized labels may be maintained and selectively propagated based on an aging metric. For example, in some embodiments, labels may be employed to code source designation or classification, aging, popularity/frequency of access or taint.Type: GrantFiled: November 14, 2006Date of Patent: June 7, 2011Assignee: VMware, Inc.Inventors: Edward N. Leake, Geoffrey Pike
-
Publication number: 20110131573Abstract: A method and system include compatibly interfacing a suitably adapted central switch in a computer network virtualization environment to one or more user-end peripheral device(s) to dispense with a need for a user-end thin client. The method and system also include appropriately routing a data associated with a direct and exclusive communication between a virtual machine on a host server including a number of virtual machines and the one or more user-end peripheral device(s) using the central switch.Type: ApplicationFiled: December 2, 2009Publication date: June 2, 2011Applicant: VMWARE, INC.Inventor: Jinto ANTONY
-
Publication number: 20110131372Abstract: A mechanism for a binary translator to emit code that will pre-generate information about a memory segment when a segment selector is assigned to a segment register. The binary translator emits code that will be executed when a memory access using that segment register is encountered and the emitted code will access the pre-generated information when evaluating the memory access request. Memory accesses, where a number of bytes being accessed is less than or equal to a predetermined value, are validated with a minimal number of steps in the code emitted by the binary translator.Type: ApplicationFiled: December 2, 2009Publication date: June 2, 2011Applicant: VMWARE, INC.Inventors: Ross Charles KNIPPEL, Jeffrey W. SHELDON, Ole AGESEN
-
Publication number: 20110131388Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.Type: ApplicationFiled: February 8, 2011Publication date: June 2, 2011Applicant: VMWARE, INC.Inventors: Xiaoxin CHEN, Alberto J. MUNOZ
-
Publication number: 20110119413Abstract: A method and system for providing quality of service to a plurality of hosts accessing a common resource is described. According to one embodiment, a plurality of IO requests is received from clients executing as software entities on one of the hosts. An IO request queue for each client is separately managed, and an issue queue is populated based on contents of the IO request queues. When a host issue queue is not full, a new IO request is entered into the host issue queue and is issued to the common resource. A current average latency observed at the host is calculated, and an adjusted window size is calculated at least in part based on the current average latency. The window size of the issue queue is adjusted according to the calculated window size.Type: ApplicationFiled: January 20, 2011Publication date: May 19, 2011Applicant: VMWARE, INC.Inventors: Ajay GULATI, Irfan AHMAD, Carl A. WALDSPURGER
-
Publication number: 20110119029Abstract: According to a feature of the present disclosure, a method is provided for the determination of anomalous events in complex systems, such as problems, inefficiencies, and failures, and a tool is provided for the detection of these events. Many complex systems are non-stationary or experience periodic fluctuations or spikes in values that are outside of normal ranges, but constitute normal behavior nevertheless. The method accounts for both non-stationarity, as well as fluctuations and spikes. Additional novel features include both a threshold setting initialization method and a regression method for the determination of the start points and end points of events.Type: ApplicationFiled: December 22, 2010Publication date: May 19, 2011Applicant: VMware, Inc.Inventors: Mazda A. MARVASTI, Daniel R. JESKE
-
Patent number: 7945958Abstract: A constraint is inserted into a program to address a vulnerability of the program to attacks. The constraint includes a segment of code that determines when the program has been asked to execute a “corner case” which does not occur in normal operations. The constraint code can access a library of detector and remediator functions to detect various attacks and remediate against them. Optionally, the detector can be employed without the remediator for analysis. The context of the program can be saved and restored if necessary to continue operating after remediation is performed. The constraints can include descriptors, along with machine instructions or byte code, which indicate how the constraints are to be used.Type: GrantFiled: June 6, 2006Date of Patent: May 17, 2011Assignee: VMware, Inc.Inventors: Saman P. Amarasinghe, Bharath Chandramohan, Charles Renert, Derek L. Bruening, Vladimir L. Kiriansky, Tim Garnett, Sandy Wilbourn, Warren Wu
-
Patent number: 7945908Abstract: A sponge process, for example within a driver in a guest operating system, is associated in a virtual computer system with each virtual processor in one or more virtual machines. When timer interrupts become backlogged, for example because a virtual machine is temporarily descheduled to allow other virtual machines to run, and upon occurrence of a trigger event, a conventional interrupt is disengaged and catch-up interrupts are instead directed into an appropriate one of the sponge processes. The backlogged timer interrupts are thus delivered without unfairly attributing descheduled time to whatever processes happened to be running while the catch-up interrupts are delivered, and without violating typical guest operating system timing assumptions.Type: GrantFiled: March 31, 2006Date of Patent: May 17, 2011Assignee: VMware, Inc.Inventors: Carl Waldspurger, Michael Craig, Ramesh Dharan, Rajit S. Kambo, Timothy P. Mann, Stephen A. Muckle, Boris Weissman, John Zedlewski
-
Patent number: 7945761Abstract: A method is provided for creating and maintaining the validity of a cache group including one or more cache elements. Each of the cache elements corresponds to a different address space in a virtual memory of a computer system. Each of the cache elements include one or more caches that store mappings from virtual addresses to data or values that are functions of or dependent upon physical addresses that correspond to the virtual addresses. When there is an address space switch from a first address space to a second address space, the cache group is searched to find the cache element corresponding to the second address space, and that found cache element is made the current cache element for virtual memory access through the cache element. Changes in the page tables are also detected and reflected in the caches of the cache group to maintain the caches up-to-date.Type: GrantFiled: July 2, 2010Date of Patent: May 17, 2011Assignee: VMware, Inc.Inventors: Pratap Subrahmanyam, Vyacheslav Malyugin
-
Patent number: 7945436Abstract: A virtual device emulated in software and included in a virtual machine is provided in a virtualized computer system. The virtual device includes an emulation mode and a pass through mode. The emulation mode is used for a first plurality of device operations. The pass through mode is used for a second plurality of device operations. The virtual device is configured to communicate with a physical device and each of the second plurality of device operations are configured to be handled by the physical device. The virtual device also includes a switching logic to switch between the emulation mode and the pass through mode based on a device operation to be performed by the virtual machine of the virtual device.Type: GrantFiled: July 24, 2008Date of Patent: May 17, 2011Assignee: VMware, Inc.Inventors: Boon Seong Ang, Mallik Mahalingam, Ronghua Zhang, Andrew Lambeth
-
Publication number: 20110113428Abstract: A virtualization technique, in accordance with one embodiment of the present invention, includes emulating the small computing system interface (SCSI) protocol to access a virtual SCSI storage device backed by a file stored on network attached storage (NAS).Type: ApplicationFiled: December 3, 2010Publication date: May 12, 2011Applicant: VMWARE, INC.Inventors: Michael NELSON, Hao XU, Daniel J. SCALES, Matthew B. AMDUR
-
Patent number: 7941470Abstract: A computer implemented method for maintaining synchronization between a master computer disk and a clone disk that includes cloning the clone disk from the master computer disk, the clone disk having a customization portion; and customizing the customization portion with information relevant to a clone computer that uses the clone disk.Type: GrantFiled: March 28, 2008Date of Patent: May 10, 2011Assignee: VMware, Inc.Inventors: Bich Cau Le, Ji Feng, Sirish Raghuram, Yufeng Zheng
-
Publication number: 20110107409Abstract: A user accesses a remote session, the connection to which is managed by a connection broker, according to a single sign-on (SSO) process. The SSO process includes the user entering his or her credentials and being authenticated to the connection broker. In addition to user authentication, the SSO process includes connection broker authentication to confirm that the connection broker is trustworthy. When the connection broker is authenticated, the user credentials are transmitted to the connection broker in a secure manner and the connection broker forwards them onto a machine hosting the remote session so that the user can be logged into the remote session without entering his or her credentials again.Type: ApplicationFiled: November 4, 2010Publication date: May 5, 2011Applicant: VMWARE, INC.Inventors: Anthony WILKINSON, Per Olav LARSSON, Ashley NUTTALL, Hans CHRISTENSON, Tom ELLIOTT, Steven SIGEL, Adam G. GROSS
-
Publication number: 20110099187Abstract: A two dimensional bit array is maintained to keep track of the location of data records in a log file that is organized as a plurality of log segments, each comprising a plurality of data records. The data records are indexed in the log file according to randomized unique ids. Each column of the two dimensional bit array represents a Bloom filter corresponding to a log segment of the log file such that, given a particular randomized unique id, log segments that may contain the data record corresponding to the particular randomized unique id can be efficiently identified by utilizing Bloom filter techniques to analyze the columns of the two dimensional bit array.Type: ApplicationFiled: October 22, 2009Publication date: April 28, 2011Applicant: VMWARE, INC.Inventor: Jacob Gorm HANSEN
-
Publication number: 20110099379Abstract: A system for authenticating a user of a communication network is disclosed. The system includes a user station associated with the user and an authenticating station communicatively coupled to the user station via the communication network. The authenticating station is configured to authenticate the user. The authenticating station is further configured to perform an operation, which includes receiving a first value, from a user station associated with the user, via the communication network. The first value represents a first user credential. A first key portion is generated based on the first value and a second value that is unknown to the user. The first key portion, along with a second key portion, is used for authenticating credentials of the user for a predefined period of time or for authenticating user credentials for a predefined number of times. The second key portion is generated based on the first key portion.Type: ApplicationFiled: December 2, 2010Publication date: April 28, 2011Applicant: VMWARE, INC.Inventors: Ravi GANESAN, Ravinderpal Singh SANDHU, Andrew Paul COTTRELL, Kyle AUSTIN