Patent classifications
G06F2212/463
Data storage method and data storage engine
A data storage method includes the following steps: storing data to be stored into a mutable table, the mutable table being located in a RAM. If a storage content of the mutable table is greater than or equal to a preset storage content threshold, modifying the mutable table into an immutable table and stopping receiving storage of the data to be stored; if a storage content of a lowest level in a disk is greater than or equal to a storage content threshold of a present level, and next level higher in the disk is stored with columnar format, storing data of the lowest level to the next level in the columnar format; and if the lowest level is stored with row format, storing data in the immutable table to the lowest level in the row format.
Asset processing from persistent memory
In some examples, during execution of an application as an application asset is called, an asset map that is stored in a persistent memory device is searched for an asset identifier associated with the application asset. Using this asset identifier, an application asset stored in the persistent memory device is located. The persistent memory device is directly accessed by a processor executing the application. The processor processes the application asset from its location in the persistent memory device.
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 and methods that predictively read ahead different amounts of data for different content stored in a multi-client storage system
Provided is a predictive read ahead system for dynamically prefetching content from different storage devices. The dynamic prefetching may include receiving requests to read a first set of data of first content from a first storage device at a first rate, and requests to read a first set of data of second content from a second storage device at a different second rate. The dynamic prefetching may include determining different performance for the first storage device than the second storage device, prioritizing an allocation of cache based on a first difference between the first rate and the second rate, and a second difference based on the different performance between the storage devices, and prefetching a first amount of the first content data from the first storage device and a different second amount of the second content data from the second storage device based on the first and second differences.
LOW LATENCY AND LOW DEFECT MEDIA FILE TRANSCODING USING OPTIMIZED STORAGE, RETRIEVAL, PARTITIONING, AND DELIVERY TECHNIQUES
Systems, methods and computer program products for high-performance, low latency start-up of large shared media files. A method for low latency startup with low defect playback commences upon identifying a first media file having a first format to be converted to a second media file having a second format. A scheduler divides the first media file into multiple partitions separated by partition boundaries. The method continues by converting the partitions into respective converted partitions that comport with the second format. Determinations as to the position of the partition boundaries is made based on measurable conditions present at a particular moment in time. Different formats receive different treatment based on the combination of characteristics of the first format, characteristics of the second format, as well as on characteristics of measurable conditions present at the moment in time just before conversion of a segment.
OVERFLOW SIGNAL CACHING AND AGGREGATION
A method for signal request caching is described. Signal requests are received at a signal processor from a plurality of computing devices. The received signal requests are routed to a signal data store. An ingestion rate of the received signal requests is monitored by the signal processor. When the ingestion rate meets a signal request rate threshold of the signal data store, overflow signal requests of the received signal requests are automatically routed to an intermediate cache instead of the signal data store. The overflow signal requests within the intermediate cache are aggregated into one or more signal packages, each of the one or more signal packages containing a plurality of overflow signal requests. The one or more signal packages are stored at the signal data store.
Dynamic I/O virtualization system having guest memory management for mapping virtual addresses using virtualization application programming interface (API) in guest kernal
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.
METHOD AND APPARATUS FOR USING A STORAGE SYSTEM AS MAIN MEMORY
A data access system including a processor, multiple cache modules for the main memory, and a storage drive. The cache modules include a FLC controller and a main memory cache. The multiple cache modules function as main memory. The processor sends read/write requests (with physical address) to the cache module. The cache module includes two or more stages with each stage including a FLC controller and DRAM (with associated controller). If the first stage FLC module does not include the physical address, the request is forwarded to a second stage FLC module. If the second stage FLC module does not include the physical address, the request is forwarded to the storage drive, a partition reserved for main memory. The first stage FLC module has high speed, lower power operation while the second stage FLC is a low-cost implementation. Multiple FLC modules may connect to the processor in parallel.
Cloud-native global file system with reshapable caching
A cloud-native global file system in which a local filer creates objects and forward them to a cloud-based object store is augmented to include a reshapable caching scheme for the local filer. Like striped caches, the approach uses a stripe, but the striping is implemented via a true RAID 0 (disk striping) rather than as a striped LV (logical volume) device. This approach allows for a “reshape” operation to convert from a n-way stripe set to a n+1-way stripe set. Preferably, a reshape involves redistributing each block on disk to its new calculated home. For example, going from a single disk to a two disk set would move every other block from disk 1 to disk 2, and rearrange the blocks on disk 1 to fill in the “holes”. Performance after the reshape matches that of a striped cache. In one embodiment, the cache is structured as a “degraded” RAID 4.
Maintaining a cached version of a file at a router device
A router device may receive a copy of a file. The router device may identify metadata associated with the copy of the file. The router device may process the metadata to identify a priority position in a first data structure associated with the router device. The router device may cause a copy of the file to be stored as a cached version of the file at the priority position in the first data structure. The router device may generate a copy of the cached version of the file. The router device may send the copy of the cached version of the file to a user device.