G06F16/2329

High-throughput algorithm for multiversion concurrency control with globally synchronized time
11601501 · 2023-03-07 · ·

Throughput is preserved in a distributed system while maintaining concurrency by pushing a commit wait period to client commit paths and to future readers. As opposed to servers performing commit waits, the servers assign timestamps, which are used to ensure that causality is preserved. When a server executes a transaction that writes data to a distributed database, the server acquires a user-level lock, and assigns the transaction a timestamp equal to a current time plus an interval corresponding to bounds of uncertainty of clocks in the distributed system. After assigning the timestamp, the server releases the user-level lock. Any client devices, before performing a read of the written data, must wait until the assigned timestamp is in the past.

Executing a conditional command on an object stored in a storage system
11599504 · 2023-03-07 · ·

Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.

Deduplicated merged indexed object storage file system

A file system may include an object storage, a merged index, and a distributed database. When a file is stored in the file system, the file may be converted to an object and be stored in the object storage. The deduplication index of the file may be stored in the distributed database. The namespace metadata of the file may be stored in the merged index. The merged index generates namespace entries of the file when the file is created, deleted, and/or modified. A namespace entry may be associated with a specific file and may include a creation version and a deletion version. When a file is deleted or modified, instead of modifying the existing namespace entries, new entries associated with different versions and including different creation or deletion versions are created. The status of a file may be monitored by one or more entries associated with a file.

Method and system for identifying conflicts between building frame structure and fixtures
11475045 · 2022-10-18 ·

The present invention is a computer implemented method for determining and conforming the position of fixture within a building, comprising: accessing a model; identifying a fixture and frame members, wherein the fixture are positioned within the model and interface with select frame members and have a set of properties; detecting at least one instance where the fixture interfaces with at least one of the frame members; calculating an actual location of the fixture relative to the frame members; comparing the actual location of the fixture relative to the frame members to a required location, wherein the required location is based on the set of properties and determining if the actual location is within a tolerance of the required location; and generating a list of interfaces which the actual location is outside the predetermined range of the required locations.

Distributed computer system for delivering data

A distributed computer system for delivering data to client-side application(s) is provided. The system includes a database configured to store immutable data blocks, a data distribution entity configured to split source-data into immutable data blocks and metadata. The data distribution entity is configured to replicate and store the data blocks on different storage nodes(s) of the database. The metadata comprises values referencing the data blocks for a key-value database call. The system further comprises a data fetching/delivering entity with a fuse-daemon configured to form a quorum read request for data block(s) out of a client-side request for a certain data range. The quorum-read request is a bundle of parallel requests to different storage nodes. The fuse-daemon is configured to fetch the data blocks delivered in the fastest response and to discard the rest. The fuse-daemon generates a virtual file comprising the corresponding range of data from the fetched data blocks.

Eventual consistency in a deduplicated cloud storage system

One example method includes receiving a write request that includes a data structure version to be written, wherein the data structure version is associated with a unique identifier, storing the data structure version in association with the unique identifier, receiving a read request for a most recent version of the data structure and, when the stored data structure version is not the most recent version of the data structure, examining respective unique identifiers of each of a group of other stored data structure versions to determine which stored data structure version is the most recent. Finally, the example method includes returning the most recent data structure version, notwithstanding that one or more other data structure versions existed at the time that the read request was received.

REAL-TIME SHARD REBALANCING FOR VERSIONED ENTITY REPOSITORY

In various embodiments, methods and systems for rebalancing database shards are provided. Candidate entities in the database shards are identified for rebalancing. The candidate entities have corresponding existing locations in the database shards. New locations are determined for the candidate entities in the database shards. A shard map is created that identifies the new locations in the database shards for the identified candidate entities. When data for the identified candidate entities is received, the data for the identified candidate entities is written to the locations in the database shards identified in the shard map. Existing data for the identified candidate entities is maintained at their corresponding existing locations in the database shards.

Targeted sweep method for key-value data storage

A computer-implemented method for targeted sweep of a key-value data storage is provided. The method comprises before a write transaction to a database having a key value store commits, and before each of one or more write commands of the write transaction are persisted to the key value store, writing an entry for each of the one or more write commands to an end of a targeted sweep queue, the entry comprising metadata including: data identifying a cell to which the write command relates, a start timestamp of the write transaction, and information identifying a type of the write transaction.

CROSS-MEDIA STORAGE COORDINATION

Methods and a media system and storage system for cross-media storage coordination include but are not limited to storing a first data version of specified content based on a particular media format: storing at least a second data version of related content based on a different media format: providing a cross-reference between the first data version and the at least second data version to enable coordinated management by a designated user and/or an approved device for search and possible retrieval of the first data version and/or the at least second data version: and implementing communication access by one or more parties and/or the designated user via a communication type that is correlated with the first data version and/or the at least second data version.

INTERVAL GARBAGE COLLECTION FOR MULTI-VERSION CONCURRENCY CONTROL IN DATABASE SYSTEMS

Technologies for performing garbage collection in database systems, such as multi-version concurrency control (MVCC) database systems, are described. For example, different garbage collection techniques can be used separately or in various combinations, including interval garbage collection, group garbage collection, table garbage collection, and combinations. For example, a particular type of combination, called hybrid garbage collection, uses technique from interval garbage collection and group garbage collection, or from interval, group, and table garbage collection.