G06F16/1824

Snapshot isolation in a distributed storage system
11474977 · 2022-10-18 · ·

Systems and methods for snapshot isolation in a distributed storage system M are provided. In some examples, a method can include receiving a request for data from a data store comprising a plurality of storage nodes, the request comprising a key associated with the data and a request timestamp, identifying a storage node in the plurality of storage nodes from which to read the data based on the key and a mapping of keys to storage nodes, determining that the request is associated with a transaction comprising operations associated with at least one other storage node in the plurality of storage nodes, determining a status of the entry for the key in the key-value table based on a lookup of a transaction table using the transaction identifier, and providing the data when the status of the entry for the key indicates the data is ready to be read.

TWO-LEVEL LOGICAL TO PHYSICAL MAPPING MECHANISM IN A LOG-STRUCTURED FILE SYSTEM

Example methods and systems for accessing data in a log-structured file system having a plurality of snapshots of storage objects backed by a first-level copy-on-write (COW) B+ tree data structure and a plurality of second-level B+ tree data structures have been disclosed. One example method includes obtaining a first first-level mapping associated with a first snapshot from the plurality of snapshots based on a first logical block address, wherein each of the plurality of snapshots corresponds to each of the plurality of second-level B+ tree data structures, identifying a first second-level B+ tree data structure corresponding to one of the plurality of snapshots based on the first first-level mapping, obtaining a first second-level mapping based on the first logical block address in the first second-level B+ tree data structure, obtaining a first physical block address based on the first second-level mapping, and accessing data at the first physical block address.

CLUSTER INSTANCE BALANCING OF A DATABASE SYSTEM ACROSS ZONES

The subject technology selects a particular zone among multiple zones based on a target skew to meet a global balancing of cluster instances. The subject technology deploys a particular type of cluster instance to the particular zone. The subject technology, for each zone from the multiple zones, determines a respective number of cluster instances. The subject technology identifies a second particular type of cluster instance to remove based on a total number of the second particular type of cluster instance in the multiple zones and a second total number of the particular type of cluster instance in the multiple zones. The subject technology removes the second particular type of cluster instance from a second particular zone to meet the global balancing of cluster instances in the multiple zones.

Proof of lottery (PoL) blockchain

A method of applying proof of lottery to select block forgers in a blockchain, comprising performing the following at a certain one of a plurality of computing nodes connected to a blockchain network: (1) transmitting one or more of a plurality of participation transactions submitted by at least some of the plurality of computing nodes for participating in selection process conducted to select forgers from the plurality of computing nodes to forge blocks to be added to the blockchain; (2) determining a respective forger, during each selection process, by applying a selection function to an outcome of a hash function and a plurality of participation transactions extracted from a first subset of blocks preceding the respective block, the hash function is applied to a second subset of blocks preceding the respective block; and (3) forging the respective block in case the certain computing node is selected as the respective forger.

Method and apparatus for managing access to file stored in a remote location

An apparatuses for managing access to a file stored in a remote location includes detecting an attempt for a user terminal to access the file stored in the remote location, determining a location where the file attempted to be access is to be opened, in response to a determination that the location where the file is to be opened is remote, opening the file and providing a content of the opened file to the user terminal by a file management server and in response to a determination that the location where the file is to be opened is local, processing the file to be downloaded to the user terminal by the file management server.

Apparatus and method for distinguishing between legitimate and malicious branches of a split blockchain
11665197 · 2023-05-30 · ·

Nodes determine a first measure of difficulty for a first branch of a split blockchain and a second measure of difficulty for a second branch of the split blockchain. The first measure of difficulty is based on a measure of block generation frequency of each node that mined for the split blockchain during a window that comprises blocks of the first branch. The second measure of difficulty is based on a measure of block generation frequency of each node that mined for the split blockchain during a window that comprises blocks of the second branch. One of the first branch and the second branch is identified as a legitimate branch based on a comparison of the first measure of difficulty and the second measure of difficulty.

Dynamic asset management system and methods for automatically tracking assets, generating asset records for assets, and linking asset records to other types of records in a database of a cloud computing system
11663169 · 2023-05-30 · ·

Methods and systems are provided for automatically generating asset records that are stored and maintained at a database system of a cloud-based computing system. Asset information can be acquired for assets from sources regarding the assets or a representation of the assets. The asset information can be processed to detect assets and analyzed to determine an asset type for each detected asset. For each detected asset, based on an asset type of that detected asset, pertinent header information for that detected asset can be extracted (e.g., asset information and data for that detected asset, associated properties of each detected asset, etc.). An asset record for each detected asset can then be generated, and then stored at the database system, for example, as a row in an asset object of the database system, where each asset record for each detected asset includes pertinent header information for that detected asset.

Data map connectivity interface
11663173 · 2023-05-30 · ·

Methods and systems for redirection of requests received by a service or an API are provided. According to one embodiment, a request, relating to a domain or a focal point of related data (e.g., an OData entity), is received from a client by a service (e.g., an OData service) operable to serve data from a data source or an in-memory cache. When the request involves manipulation of a portion of the data, automatic updating of values of the data that are dependent thereon is facilitated by directing fulfilment of the request to the cache; otherwise: it is determined whether to fulfill the request based on the in-memory cache. When the determination is affirmative, then the portion of the data is retrieved from the in-memory cache. When the determination is negative, then the portion of the data is retrieved from the data source.

Post-processing global deduplication algorithm for scaled-out deduplication file system

A method, apparatus, and system for redistributing files in a multi-node storage system to improve global deduplication storage savings is disclosed. A plurality of file cluster candidates are generated for a plurality of files stored at a multi-node storage system comprising a plurality of data nodes. A similarity index is determined for each of the plurality of file cluster candidates based on similarity of the files comprised in the file cluster candidate. A ranked recipe list comprising a plurality of recipes is generated. Each recipe is associated with one of the plurality of file cluster candidates, comprises a destination data node for the associated file cluster candidate, and is associated with a deduplication space savings. At least some of the plurality of files are moved between the plurality of data nodes based on the recipes in the ranked recipe list to improve deduplication space savings in the multi-node storage system.

Access Pattern Driven Data Placement in Cloud Storage

A system and method for storing data in a distributed network having a plurality of datacenters distributed over a plurality of geographic regions. The method may involve receiving data, including metadata, uploaded to a first datacenter of the distributed network, receiving access information about previous data that was previously stored in the plurality of datacenters of the distributed network, predicting one or more of the plurality of geographic regions from which the uploaded data will be accessed based on the metadata and the access information, and instructing the uploaded data to be transferred from the first datacenter to one or more second datacenters located at each of the one or more predicted geographic regions.