G06F2212/314

Cache sharing in virtual clusters
11334487 · 2022-05-17 · ·

Shared memory caching resolves latency issues in computing nodes associated with a cluster in a virtual computing environment. A portion of random access memory in one or more of the computing nodes is allocated for shared use by the cluster. Whenever local cache memory is unable in one of the computing nodes, a cluster neighbor cache allocated in a different computing node may be utilized as remote cache memory. Neighboring computing nodes may thus share their resources for the benefit of the cluster.

STORAGE EFFICIENT CONTENT REVALIDATION FOR MULTIMEDIA ASSETS
20220150320 · 2022-05-12 ·

Techniques relating to caching a content object are disclosed. A first server receives a revalidation request, relating to a content object, from a requestor. It is determined that metadata, relating to the content object, is stored in a cache associated with the first server. In response, the first server determines not to retrieve the content object from a second server. The content object is not stored in the cache. A response to the revalidation request, indicating that the content object is not modified, is transmitted from the first server to the requestor, based on analyzing the metadata.

REMOVABLE MEDIA BASED OBJECT STORE
20230259278 · 2023-08-17 ·

A method for implementing an object store using removable storage media includes the steps of receiving a request to retrieve first data; determining a first data object in which at least a portion of the first data is stored; determining a removable storage medium on which the first data object is stored, the removable storage medium including a value store partition into which one or more data objects including at least the first data object are stored and a key store partition into which one or more keys identifying the one or more data objects are stored; retrieving the first data object from the value store partition; and retrieving the at least a portion of the first data from the first data object. The method can further be performed using a data management system and/or one or more non-transitory computer-readable storage media.

TRANSACTIONAL ALLOCATION AND DEALLOCATION OF BLOCKS IN A BLOCK STORE

Various embodiments set forth techniques for transactional allocation and deallocation of blocks in a block store. A first technique includes sending a first request that causes a non-persistent allocation of a block. The first technique also includes adding a first entry in a log recording the allocation as tentative, sending a second request that causes persistence of the allocation, and adding a second entry in a log recording the allocation as finalized. A second technique includes adding a first entry in a log recording a deallocation of a block, sending a first request that causes the deallocation of the block and causes the block to be unavailable for reallocation in a non-persistent manner, adding a second entry in the log recording that the deallocation is finalized, and sending a second request that causes the block to be made available for reallocation.

Balanced caching between a cache and a non-volatile memory based on rates corresponding to the cache and the non-volatile memory
11188474 · 2021-11-30 · ·

Apparatuses, systems, methods, and computer program products are disclosed for balanced caching. An input circuit receives a request for data of non-volatile storage. A balancing circuit determines whether to execute a request by directly communicating with one or more of a cache and a non-volatile storage based on a first rate corresponding to the cache and a second rate corresponding to the non-volatile storage. A data access circuit executes a request based on a determination made by a balancing circuit.

Data caching method and apparatus

Disclosed in the present disclosure is a data caching method and apparatus, the data caching method includes the following steps: receiving a data request message sent by a user terminal; if detecting that a cache apparatus does not include the target access data requested by the data request message, then sending the target access data in a storage apparatus to the user terminal; extracting parameter information of the target access data in the storage apparatus, and determining whether the parameter information matches a preset parameter condition; and, if the parameter information matches the preset parameter condition, then transmitting the target access data to the cache apparatus.

Dynamic I/O virtualization system having guest memory management for mapping virtual addresses in a hybrid address space
11175936 · 2021-11-16 · ·

A system and method for providing dynamic I/O virtualization is herein disclosed. According to one embodiment, a device capable of performing hypervisor-agnostic and device-agnostic I/O virtualization includes a host computer interface, memory, I/O devices (GPU, disk, NIC), and efficient communication mechanisms for virtual machines to communicate their intention to perform I/O operations on the device. According to one embodiment, the communication mechanism may use shared memory. According to some embodiments, the device may be implemented purely in hardware, in software, or using a combination of hardware and software. According to some embodiments, the device may share its memory with guest processes to perform optimizations including but not limited to a shared page cache and a shared heap.

Maintaining a cached version of a file at a router device

A router device may receive a request for access to a file from a user device, wherein a master version of the file is stored in a data structure associated with a server device. The router device may generate, based on the request, a copy of a cached version of the file, wherein the cached version of the file is stored in a data structure associated with the router device. The router device may send the copy of the cached version of the file to the user device.

Systems, methods, and apparatuses for distributed consistency memory

Systems, methods and apparatuses for distributed consistency memory. In some embodiments, the apparatus comprises at least one monitoring circuit to monitor for memory accesses to an address space; at least one a monitoring table to store an identifier of the address space; and at least one hardware core to execute an instruction to enable the monitoring circuit.

Dynamic I/O virtualization system having guest memory management for mapping virtual addresses using virtualization application programming interface (API) in guest kernal
11775325 · 2023-10-03 · ·

A system and method for providing dynamic I/O virtualization is herein disclosed. According to one embodiment, a device capable of performing hypervisor-agnostic and device-agnostic I/O virtualization includes a host computer interface, memory, I/O devices (GPU, disk, NIC), and efficient communication mechanisms for virtual machines to communicate their intention to perform I/O operations on the device. According to one embodiment, the communication mechanism may use shared memory. According to some embodiments, the device may be implemented purely in hardware, in software, or using a combination of hardware and software. According to some embodiments, the device may share its memory with guest processes to perform optimizations including but not limited to a shared page cache and a shared heap.