Patent application number | Description | Published |
20080256533 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR EVALUATING A VIRTUAL MACHINE - A method for evaluating a virtual machine, the method includes: monitoring, using an out of band monitor, information exchanged between the virtual machine and a hypervisor; and evaluating a state of the virtual machine by applying a statistical classification process to at least a portion of the monitored information. | 10-16-2008 |
20080263296 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR STORING AN INFORMATION BLOCK - A method for storing an information block that includes determining to store a current version of an information block stored in a memory unit. The checking if a current version of the information is already stored in a storage unit. The current version of the information block is sent from the memory unit to the storage unit if the answer is negative. Generating storage unit location information indicative of a location, at the storage unit, of the current version of the information block if the answer is positive. | 10-23-2008 |
20090083737 | Device, System, and Method of Classifying a Workload of a Software Service - Some embodiments include, for example, devices, systems, and methods of classifying a workload of a software service. A method of classifying a workload of a software service may include, for example, sampling a plurality of values of at least one parameter of the software service by performing out-of-band monitoring of the at least one parameter; and classifying the workload of the software service by selecting a workload classification from a plurality of predefined workload classifications based on the plurality of values. Other embodiments are described and claimed. | 03-26-2009 |
20090164990 | Apparatus for and Method for Real-Time Optimization of virtual Machine Input/Output Performance - The present invention implements a mechanism to decide when it is beneficial to switch from the current virtual input/output mechanism to a different one. The present invention determines which input/output mechanism each virtual machine should use based on the available input/output resources of the virtual machines (with their respective available input/output adapters), the number of virtual machines running and their input/output needs, and the input/output needs of the virtual machine being considered. The present invention also provides a mechanism for virtual machine to seamlessly switch input/output mechanisms. When beneficial, the standard hot-plug mechanism of the virtual machine and the hypervisor is used to first remove the existing input/output mechanism and then add the new input/output mechanism. | 06-25-2009 |
20090204960 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR ACCESSING A MEMORY SPACE ALLOCATED TO A VIRTUAL MACHINE - A method for accessing a memory space allocated to a virtual machine, the method includes: receiving a request from the virtual machine to generate, for another virtual machine, a memory credential associated with a certain memory space allocated to the virtual machine; generating, in response to the request, a cryptographically signed credential; sending the cryptographically signed credential to the other virtual machine; receiving from the other virtual machine an access request to access at least one memory entry within the certain memory space; and accessing the at least one memory entry, if the access request complies with the memory credential. | 08-13-2009 |
20090276571 | Enhanced Direct Memory Access - A method for facilitating direct memory access in a computing system in response to a request to transfer data is provided. The method comprises selecting a thread for transferring the data, wherein the thread executes on a processing core within the computing system; providing the thread with the request, wherein the request comprises information for carrying out a data transfer; and transferring the data according to the request. The method may further comprise: coordinating the request with a memory management unit, such that virtual addresses may be used to transfer data; invalidating a cache line associated with the source address or flushing a cache line associated with the destination address, if requested. Multiple threads can be selected to transfer data based on their proximity to the destination address. | 11-05-2009 |
20090319738 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR STORING TRANSIENT STATE INFORMATION - A method, system and computer program product for storing transient state information, the method includes: defining a first logical storage space within at least one storage device in response to at least one characteristic of a processing system logical memory space utilized for storing current transient state information of the processing system; repetitively storing current transient state information at a logical location within the first logical storage space that corresponds to a logical location of the current transient state information within the processing system logical memory space and storing, within a second logical storage space, previous transient state information. | 12-24-2009 |
20100049883 | METHOD AND SYSTEM FOR MEMORY ADDRESS TRANSLATION AND PINNING - A method and system for memory address translation and pinning are provided. The method includes attaching a memory address space identifier to a direct memory access (DMA) request, the DMA request is sent by a consumer and using a virtual address in a given address space. The method further includes looking up for the memory address space identifier to find a translation of the virtual address in the given address space used in the DMA request to a physical page frame. Provided that the physical page frame is found, pinning the physical page frame as long as the DMA request is in progress to prevent an unmapping operation of said virtual address in said given address space, and completing the DMA request, wherein the steps of attaching, looking up and pinning are centrally controlled by a host gateway. | 02-25-2010 |
20100088343 | Customized Context Menu for Files Based on Their Content - Techniques are disclosed for customizing a context structure such as a context menu based on content associated with an object such as a computer file. For example, a computer-implemented method for customizing a context structure associated with an object comprises the following steps. A content analysis is performed on the object. The context structure associated with the object is modified based on at least a portion of results of the content analysis. | 04-08-2010 |
20100094990 | Platform-level Indicators of Application Performance - A method for monitoring performance includes monitoring packet traffic on at least one socket that is associated with an application running on a computer and is communicated over a data network. First and second instances of a performance indicator of the packet traffic are measured respectively during first and second monitoring intervals. An alert is issued upon making a determination that a change between the first instance and the second instance exceeds a predetermined threshold. | 04-15-2010 |
20100153926 | OPERATING SYSTEM AIDED CODE COVERAGE - A method, system, and computer program product for operating system (OS) aided code coverage are provided. The method includes reading context information associated with a software process in response to a context switching event in an OS, the OS initiating the reading of the context information and controlling scheduling of the software process. The method further includes determining coverage information for code implementing the software process as a function of the context information in response to the OS reading the context information, and storing the coverage information as coverage data. | 06-17-2010 |
20100169716 | MANAGING CONFIDENCE LEVELS IN A COMPUTING SYSTEM - A method for managing confidence levels in a computing system is provided. The method comprises determining a first confidence level associated with a first operation performed in the computing system. The first confidence level indicates probability that the first operation was performed successfully and is calculated based on attributes of one or more components in the computing system. Once the first confidence level is determined, the first confidence level is compared to a confidence threshold for the first operation. If the first confidence level is less than the confidence threshold, a first remedial action is taken to raise the first confidence level. | 07-01-2010 |
20100169882 | Multiple Layers of Virtualization in a Computing System - In accordance with one embodiment, a method of nesting a second virtual machine (VM) on a first VM running on a physical machine is provided. The method comprises receiving a first instruction from the physical machine, wherein the first instruction originates from the first VM, wherein a first control structure is associated with the first VM, and wherein a second control structure is associated with the second VM; creating a secondary control structure based on the second control structure associated with the second VM; providing the first instruction and the secondary control structure to the physical machine, wherein the physical machine executes the first instruction according to information included in the secondary control structure; and updating the secondary control structure to correspond to current state or execution environment of the physical machine. | 07-01-2010 |
20100242108 | METHOD AND SYSTEM FOR MEMORY PROTECTION AND SECURITY USING CREDENTIALS - A computer-implemented system and method for protecting a memory are provided. The system includes a memory section with privileged and non-privileged sections, a host gateway (HG) to generate a capability credential, a device controller (DC) to append the credential to data transmitted to the memory, and at least one IO device enabled to do direct memory access (DMA) transactions with the memory. | 09-23-2010 |
20100332693 | DIRECT MEMORY ACCESS IN A COMPUTING ENVIRONMENT - A method of address translation in a computing system providing direct memory access (DMA) by way of one or more remote memory management units (MMUs) is provided. The method comprises intercepting a request for a first DMA operation forwarded by a first device to a second device; and translating a guest address included in the request to a first address according to a mapping referencing a memory frame in a memory of the second device. A local MMU increments a first reference count indicating number of active DMA operations directed to the memory frame and a second reference count indicating number of remote MMUs that have mapped the memory frame. | 12-30-2010 |
20110047544 | PARA-VIRTUALIZATION IN A NESTED VIRTUALIZATION ENVIROMENT - A para-virtualization method is provided. The method comprises implementing a virtual machine (VM) for guest software running on first host software. In response to a privileged instruction, the guest software causes a first VM exit. If the first host software is not running directly on hardware, the privileged instruction is managed without causing a second VM exit. Otherwise, the privileged instruction is managed normally. | 02-24-2011 |
20110107008 | MEMORY MANAGEMENT IN A NESTED VIRTUALIZATION ENVIROMENT - A method for managing memory in a nested virtualization environment is provided. The method comprises implementing a first virtual machine (VM) for a first software such that a first guest memory is allocated to the first software; maintaining a first data structure to translate one or more memory addresses in the first guest memory to corresponding memory addresses in a physical memory; maintaining a second data structure to translate one or more memory addresses in the second guest memory to corresponding memory addresses in the physical memory. The first software implements a second VM for a second software such that a second guest memory is allocated to the second software and maintains a third data structure to translate one or more memory addresses in the second guest memory to corresponding memory addresses in the first guest memory. | 05-05-2011 |
20110138127 | AUTOMATIC DETECTION OF STRESS CONDITION - A stress of a computerized system may be detected based on actions performed by the computerized system in respect to a storage system, such as comprising a secondary storage. The stress detection may be performed automatically based on an age of data blocks accessed by the storage system. The stress may take into account a number of accesses to the storage system by the computerized system. Stress detection may be performed automatically based on a decision procedure. | 06-09-2011 |
20110179253 | EFFICIENT MULTI-CORE PROCESSING OF EVENTS - A computer implemented method for handling events in a multi-core processing environment is provided. The method comprises handling an event by a second application running on a second core, in response to determining that the event is initiated by a first application running on a first core; and running a third application on the first core, while the first application is waiting for the event to be handled by the second application. | 07-21-2011 |
20110258493 | DETECTING NO PROGRESS STATE OF AN APPLICATION - A method, system, and computer usable program product for detecting a no progress state of an application are provided in the illustrative embodiments. A resource usage and an output of a set of applications are monitored. The resource usage and the output are measured to determine a resource usage value and an output value at a given time. A determination is made whether the resource usage value is included in a sub-range of a resource usage scale and the output value is included in a sub-range of an output scale where the sub-range of the resource usage scale corresponds to the sub-range of the output scale. The no progress state of the application is detected if the determination is negative | 10-20-2011 |
20120017209 | OPTIMIZING A FILE SYSTEM INTERFACE IN A VIRTUALIZED COMPUTING ENVIRONMENT - Systems and methods for optimizing read operations from a storage device in a virtualized computing environment are provided. One method comprises monitoring read operations issued by an application running on a virtual machine's (VM) operating system, wherein the VM is hosted by a hypervisor providing access to a storage device in a virtualized computing environment; and causing a virtual file system (VFS) supported by the operating system to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute a read operation, in response to determining that the read operation is for reading target data from the storage device. | 01-19-2012 |
20120124578 | CLASSIFYING WORKLOAD FOR A SERVICE - In one example embodiment, a machine implemented method is provided. The method comprises sampling a plurality of values of a parameter associated with a software service by monitoring said parameter; determining a workload signature for the software service based on statistical analysis performed during a first sampling period; and classifying the workload of said software service by selecting, based on said plurality of values, a first workload classification from a plurality of predefined workload classifications, wherein the workload of the software service is reclassified to a second workload classification, based on a workload signature calculated during a second sampling period. | 05-17-2012 |
20120131575 | DEVICE EMULATION IN A VIRTUALIZED COMPUTING ENVIRONMENT - Systems and methods for optimizing operation of a physical device in a virtualized computing environment are provided. The method comprises monitoring instructions issued by an application running on a virtual machine's (VM) operating system, wherein the VM is hosted by a hypervisor providing access to a physical device connected to a virtualized computing environment; wherein a device driver supported by the operating system issues one or more instructions to an emulated device supported by the hypervisor to control the physical device according to the issued instructions, wherein the emulated device's registers are implemented in memory of the hypervisor and the instructions issued by the device driver are stored in said registers, wherein the hypervisor handles the instructions, in response to learning that the instructions are stored in said registers. | 05-24-2012 |
20120159486 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR ACCESSING A MEMORY SPACE ALLOCATED TO A VIRTUAL MACHINE - A method for accessing a memory space allocated to a virtual machine, the method includes: receiving a request from the virtual machine to generate, for another virtual machine, a memory credential associated with a certain memory space allocated to the virtual machine; generating, in response to the request, a cryptographically signed credential; sending the cryptographically signed credential to the other virtual machine; receiving from the other virtual machine an access request to access at least one memory entry within the certain memory space; and accessing the at least one memory entry, if the access request complies with the memory credential. | 06-21-2012 |
20120159610 | MEMORY PROTECTION AND SECURITY USING CREDENTIALS - A computer-implemented system and method for protecting a memory are provided. The system includes a memory section with privileged and non-privileged sections, a host gateway (HG) to generate a capability credential, a device controller (DC) to append the credential to data transmitted to the memory, and at least one IO device enabled to do direct memory access (DMA) transactions with the memory. | 06-21-2012 |
20120216187 | MULTILEVEL SUPPORT IN A NESTED VIRTUALIZATION ENVIRONMENT - A method of handling an event occurring in a nested virtualization computing environment is provided, wherein N hypervisors are executed nestedly, with a first hypervisor running at level zero (L0) directly over a host machine, and other hypervisors nestedly running at levels L1 to Ln, respectively. The method comprises trapping an event generated by software running at level Ln; determining a hypervisor x at level Lx designated for handling the trapped event; and wherein the hypervisor x emulates features needed for performing the trapped event for the software running at the level Ln. | 08-23-2012 |
20120233435 | DYNAMIC MEMORY MANAGEMENT IN A VIRTUALIZED COMPUTING ENVIRONMENT - A memory management method in a virtualized computing environment is provided, in which a hypervisor implements at least a virtual machine (VM) over a host machine, wherein a guest operating system (OS) is executed over the VM and an application supporting memory management capabilities is executed over the guest OS. The method comprises invoking a first memory manager (java balloon) implemented by the application to deallocate memory allocated to the application for use by the hypervisor, in response to a request submitted by the hypervisor; and invoking a second memory manager (guest balloon) implemented over the guest operating system to deallocate memory allocated to the guest OS, in response to a request submitted by the hypervisor. | 09-13-2012 |
20130174148 | ENHANCING INTERRUPT HANDLING IN A VIRTUAL ENVIRONMENT - Systems and methods for enhancing the handling of interrupts in a virtual computing environment are disclosed. A CPU is configured such that the CPU, when in a virtual machine (VM) mode, directs an interrupt to a VM. When in the VM context, a guest in the VM is run with a hypervisor interrupt descriptor table (hypervisor IDT) to determine how the interrupt should be handled. The hypervisor IDT directs an interrupt that is to be handled by the VM to an interrupt handler in a guest IDT without causing a transition to the hypervisor. If an interrupt is to be handled by the hypervisor, the hypervisor IDT causes a transition to the hypervisor. | 07-04-2013 |
20150032910 | INPUT/OUTPUT MONITORING MECHANISM - Machines, systems and methods for I/O monitoring in a plurality of compute nodes and a plurality of service nodes utilizing a Peripheral Component Interconnect express (PCIe) are provided. In one embodiment, the method comprises assigning at least one virtual function to a services node and a plurality of compute nodes by the PCIe interconnect and a multi-root I/O virtualization (MR-IOV) adapter. The MR-IOV adapter enables bridging of a plurality of compute node virtual functions with corresponding services node virtual functions. A front-end driver on the compute node requests the services node virtual function to send data and the data is transferred to the services node virtual function by the MR-IOV adapter. A back-end driver running in the services node receives and passes the data to a software service to modify/monitor the data. The back-end driver sends the data to another virtual function or an external entity. | 01-29-2015 |