# US 11,113,004 B2 · Mobility and management layer for multi-platform enterprise data storage

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,004 B2
- Document ID: US11113004B2
- Status: Granted
- Kind: B2
- Application number: 16/735,690
- Filed: 2020-01-06
- Published: 2020-05-07
- Granted: 2021-09-07
- Earliest claimed: 2017-02-23
- Assignees: Arrikto Inc.
- Applicants: Arrikto Inc.
- Inventors: Konstantinos Venetsanopoulos; Evangelos Koukis; Christos Stavrakakis; Ilias Tsitsimpis; Dimitrios Aragiorgis; Alexios Pyrgiotis
- Web page: https://patentgrep.com/patent/US11113004B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0617: {in relation to availability}
- G06F 3/064: {Management of blocks}
- G06F 3/0643: {Management of files}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0664: {at device level, e.g. emulation of a storage device or system}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 12/1072: Decentralised address translation, e.g. in distributed shared memory systems
- H04L 41/0896: Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76)
- H04L 67/104: Peer-to-peer [P2P] networks
- G06F 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 11/1456: {Hardware arrangements for backup}
- G06F 2212/1008: Correctness of operation, e.g. memory ordering
- G06F 2212/152: Virtualized environment, e.g. logically partitioned system
- G06F 2212/254: Distributed memory
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A multi-platform data storage system configured to accessing a plurality of storage platforms that use different storage access and/or storage management protocols. The multi-platform data storage system can, for example, include a storage mobility and management layer providing virtual management of data stored in the plurality of storage platforms, and a storage protocol converter operatively coupled between the storage mobility and management layer and the plurality of storage platforms. During access and/or management communication from the storage mobility and management layer to a particular one of the storage platforms, the storage protocol converter can operate to convert the access and/or management communication from a layer protocol used by the storage mobility and management layer to the storage access protocol used by the particular one of the storage platforms.

## Claims

### Claim 1

A multi-platform data storage system for accessing a plurality of storage platforms that use different storage access or storage management protocols, the multi-platform data storage system comprising:
a storage mobility and management layer providing virtual management of data stored in the plurality of storage platforms; and
a storage protocol converter operatively coupled between the storage mobility and management layer and the plurality of storage platforms, wherein during access or management communication from the storage mobility and management layer to a particular one of the storage platforms, the storage protocol converter operates to convert the access and/or management communication from a layer protocol used by the storage mobility and management layer to the storage access protocol used by the particular one of the storage platforms,
wherein the storage mobility and management layer comprises a composition service that forms a virtual storage resource (VSR) from a plurality of virtual data blocks (VDB), and maintains a mapping of the virtual data blocks to the virtual storage resource, and wherein mapping data pertaining to the mapping is stored in a virtual data block.

### Claim 2 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the composition service manages storage of the virtual data blocks to one or more of the plurality of storage platforms via the storage protocol converter, and wherein the format of the virtual data blocks at the composition service is independent of the format of such data which persistently stored in the one or more of the plurality of storage platforms via the storage protocol converter.

### Claim 3 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the composition service is able to store data to and retrieve data from the virtual data blocks independent of whether the corresponding virtual data blocks store actual data or mapping data for the mapping.

### Claim 4 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the composition service hashes the virtual data blocks and stores the hashed virtual data blocks as content-addressable virtual data blocks.

### Claim 5 (depends on 4)

A multi-platform data storage system as recited in claim 4, wherein the composition service removes virtual data blocks that are duplicates based on comparing corresponding hash values.

### Claim 6 (depends on 4)

A multi-platform data storage system as recited in claim 4, wherein the composition service manages storage of the virtual data blocks to one or more of the plurality of storage platforms via the storage protocol converter, and wherein the format of the virtual data blocks at the composition service is independent of the format of such data which persistently stored in the one or more of the plurality of storage platforms via the storage protocol converter.

### Claim 7 (depends on 4)

A multi-platform data storage system as recited in claim 4, wherein the composition service is able to store data to and retrieve data from the virtual data blocks independent of whether the corresponding virtual data blocks store actual data or mapping data for the mapping.

### Claim 8 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the composition service creates a snapshot of a specified one of the virtual storage resources by creating a new, standalone virtual storage resource that maps to the same existing virtual data blocks as does the specified one of the virtual storage resources.

### Claim 9 (depends on 8)

A multi-platform data storage system as recited in claim 8, wherein the new, standalone virtual storage resource for the snapshot does not refer to the specified one of the virtual storage resources.

### Claim 10 (depends on 8)

A multi-platform data storage system as recited in claim 8, wherein the new, standalone virtual storage resource for the snapshot is formed without copying the virtual data blocks mapped to the specified one of the virtual storage resources.

### Claim 11 (depends on 8)

A multi-platform data storage system as recited in claim 8, wherein the new, standalone virtual storage resource for the snapshot is immutable and portable.

### Claim 12 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the composition service creates a clone of a specified one of the virtual storage resources by creating a new, standalone virtual storage resource that maps to the same existing virtual data blocks as the specified one of the virtual storage resources.

### Claim 13 (depends on 12)

A multi-platform data storage system as recited in claim 12, wherein the new, standalone virtual storage resource for the clone is mutable.

### Claim 14 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the composition service implements garbage collection to remove those virtual data blocks that are not referenced by an virtual storage resource.

### Claim 15 (depends on 14)

A multi-platform data storage system as recited in claim 14, wherein the garbage collection uses an epoch mechanism over an external, distributed key-value store to ensure using accurate referencing information.

### Claim 16 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein data being accessed by the computing platforms is in any of a plurality of different formats, and wherein the storage mobility and management layer maintains virtualized storage resources of the data as virtual storage resources that are managed to correspond to any of the different formats used by the computing platforms.

### Claim 17 (depends on 16)

A multi-platform data storage system as recited in claim 16, wherein the virtual storage resources being maintained by the storage mobility and management layer are formed of a plurality of virtual data blocks that are linearly addressable.

### Claim 18 (depends on 16)

A multi-platform data storage system as recited in claim 16, wherein the different formats for the data being accessed by the computing platforms include one or more of disks, volumes, images, files, or objects.

### Claim 19 (depends on 1)

A multi-platform data storage system as recited in claim 1, wherein the multi-platform data storage system provides an access and management interface for the virtual storage resources, and wherein the access and management interface for the virtual storage resources is independent of access and management interfaces that the computing platforms use to access and manage their native storage resources.

### Claim 20 (depends on 8)

A multi-platform data storage system as recited in claim 8, wherein the access and management interface for the virtual storage resources is independent of access and management interfaces that the storage platforms use to access and manage their native storage resources.

### Claim 21 (depends on 1)

A multi-platform data storage system as recited in claim 1,
wherein the composition service hashes the virtual data blocks and stores the hashed virtual data blocks, and
wherein the composition service asynchronously changes unhashed virtual data blocks with the hashed virtual data block corresponding thereto, and updates references in the mapping for those one or more virtual storage resources to refer to the hashed virtual data block instead of the unhashed virtual data block.

### Claim 22 (depends on 21)

A multi-platform data storage system as recited in claim 21, wherein the storage protocol converter for the particular one of the storage platforms receives a request for access to one or more of the virtual data blocks and converts the request from the layer protocol used by the storage mobility and management layer to the storage access protocol used by the particular one of the storage platforms, without regard for whether the virtual data blocks contain actual data or mapping metadata.
