G06F2009/45579

LOW LATENCY EFFICIENT SHARING OF RESOURCES IN MULTI-SERVER ECOSYSTEMS
20180011807 · 2018-01-11 ·

A method is provided in one example embodiment and includes receiving by a network element a request from a network device connected to the network element to update a shared resource maintained by the network element; subsequent to the receipt, identifying a Base Address Register Resource Table (“BRT”) element assigned to a Peripheral Component Interconnect (“PCI”) adapter of the network element associated with the network device, wherein the BRT points to the shared resource; changing an attribute of the identified BRT from read-only to read/write to enable the identified BRT to be written by the network device; and notifying the network device that the attribute of the identified BRT has been changed, thereby enabling the network device to update the shared resource via a Base Address Register (“BAR”) comprising the identified BRT.

ARCHITECTURE FOR IMPLEMENTING A VIRTUALIZATION ENVIRONMENT AND APPLIANCE

An improved architecture is provided which enables significant convergence of the components of a system to implement virtualization. The infrastructure is VM-aware, and permits scaled out converged storage provisioning to allow storage on a per-VM basis, while identifying I/O coming from each VM. The current approach can scale out from a few nodes to a large number of nodes. In addition, the inventive approach has ground-up integration with all types of storage, including solid-state drives. The architecture of the invention provides high availability against any type of failure, including disk or node failures. In addition, the invention provides high performance by making I/O access local, leveraging solid-state drives and employing a series of patent-pending performance optimizations.

EXITLESS TIMER ACCESS FOR VIRTUAL MACHINES
20180011733 · 2018-01-11 ·

A system and method of scheduling timer access includes a first physical processor with a first physical timer executing a first guest virtual machine. A hypervisor determines an interrupt time remaining before an interrupt is scheduled and determines the interrupt time is greater than a threshold time. Responsive to determining that the interrupt time is greater than the threshold time, the hypervisor designates a second physical processor as a control processor with a control timer and sends, to the second physical processor, an interval time, which is a specific time duration. The hypervisor grants, to the first guest virtual machine, access to the first physical timer. The second physical processor detects that the interval time expires. Responsive to detecting that the interval time expired, an inter-processor interrupt is sent from the second physical processor to the first physical processor, triggering the first guest virtual machine to exit to the hypervisor.

Hot growing a cloud hosted block device
11709692 · 2023-07-25 · ·

A method of resizing a block storage volume for a virtual machine includes executing the virtual machine and attaching a virtual storage device to the virtual machine. The virtual storage device exposes the block storage volume on memory hardware to the virtual machine. The block storage volume includes a first storage capacity. The method also includes mounting the block storage volume to the virtual machine and resizing the block storage volume while the virtual machine continues to execute. The block storage volume is resized without attaching an additional virtual storage device to the virtual machine or mounting an additional block storage volume to the virtual machine.

Virtualized fabric name server for storage area network

Techniques for a virtualized fabric name server for a storage area network are described herein. An aspect includes operating a storage area network, the storage area network including a hybrid control plane. Another aspect includes managing, using a virtualized fabric name server and the hybrid control plane, the storage area network, wherein the virtualized fabric name server is disposed in a container that is hosted on an element of the storage area network.

Virtual Machine Register in a Computer Processor
20230004420 · 2023-01-05 ·

Systems, apparatuses, and methods related to a virtual machine register in a computer processor are described. For example, a memory coupled to the computer processor can store instructions of routines of predefined, non-hierarchical domains. The computer processor can store, in the virtual machine register, an identifier of a virtual machine for which the processor is currently executing instructions in a current domain in the set of domains. For example, the processor can implement resource restriction/mapping and/or perform address translation for the virtual machine based on the identifier stored in the virtual machine register.

Handling permissions for virtualized file servers

Examples of systems described herein include a file server virtual machine of a virtualized file server configured to manage storage of a plurality of storage items. The file server virtual machine including a file system configured to receive an access request directed to a storage item of the plurality of storage items and associated with a user. The file system is further configured to retrieve an access control list having permissions information associated with the storage item, and to cache a permissions profile for the user including all permissions pertaining to the user for the storage item. The file system is further configured to determine whether the access request is permissible based on the cached permissions profile.

Node regeneration in distributed storage systems

Systems, devices, and methods are disclosed herein for containerized scalable storage applications. Methods may include instantiating an application instance based on a plurality of application instance parameters, the application instance being configured to utilize a plurality of storage volumes implemented in a storage cluster. Methods may also include enumerating a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes having a plurality of underlying physical storage devices, and the plurality of unattached storage volumes being identified based on a plurality of application instance parameters. The methods may further include attaching at least some of the plurality of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes.

Deploying a cloud instance of a user virtual machine

An instruction to generate a cloud instantiation of a secondary storage system is provided. One or more secondary storage clusters are virtually rebuilt in the cloud instantiation of the secondary storage system. A new cloud instance of a user virtual machine is deployed based on at least a portion of data stored in the one or more rebuilt secondary storage clusters of the cloud instantiation of the secondary storage system. A version of at least the portion of the data of the one or more rebuilt secondary storage clusters is provided to a cloud deployment server.

Systems and methods for transparent entering of a process into a virtual machine
11567794 · 2023-01-31 · ·

Disclosed herein are systems and method for moving a process from a host to a virtual machine (VM). In one exemplary aspect, a method comprises freezing the process at a host operating system (OS) of the host; transferring at least one kernel object of the process from the host OS to a VM OS of the VM; reconfiguring at least one input-output (IO) resource of the process to point to a host-VM channel such that data flow between the host and the VM is enabled; mapping memory utilized by the process to the VM by remapping at least one page of the memory into the VM OS; and unfreezing the process at the VM OS.