IP Library › Granted Patent US 10,545,914
Granted Patent B2
US 10,545,914 · App. 15/408,129 · Granted Jan 28, 2020

Distributed object storage

Inventors: Andre Surcouf (St Leu la Foret, FR); Guillaume Ruty (Paris, FR); William Mark Townsley (Paris, FR)
Assignee: CISCO TECHNOLOGY, INC.
G06F16/122G06F16/13G06F16/164H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,545,914
App. No.
15/408,129
Granted
Jan 28, 2020
Kind
B2
Abstract

The disclosure provides a system, method and computer-readable storage device embodiments. Some embodiments can include an IPv6-centric distributed storage system. An example method includes receiving, at a computing device, a request to create metadata associated with an object from a client, creating the metadata based on the request and transmitting the metadata and an acknowledgment to the client, wherein the metadata contains an address in a storage system for each replica of the object and wherein the metadata can be used to write data to the storage system and read the data from the storage system. There is no file system layer between an application layer and a storage system layer.

Claims (36)

1. A method comprising:

receiving, at a computing device, a request to create metadata associated with an object from a client;

creating the metadata based on the request; and

transmitting the metadata and an acknowledgment to the client;

wherein the metadata contains an address in a storage system for each replica of the object and wherein the metadata can be used to write data to the storage system and read the data from the storage system;

wherein the metadata comprises an IPv6 prefix for a group of IPv6 addresses which are assigned to a the replicas and the object.

2. The method of claim 1 , wherein writing and reading the data from the storage system is accomplished via an IPv6 address stored in the metadata.

3. The method of claim 1 , wherein the client computes a family of pseudorandom seeded hashes based on at least one of an object name and consecutive integers as seeds.

4. The method of claim 1 , wherein the client computes a family of pseudorandom seeded X-bit hashes based on an object name, wherein X is less than or equal to 128.

5. The method of claim 1 , wherein the metadata, when used to write the data to the storage system, is utilized to write replica data to the storage system.

6. The method of claim 1 , further comprising, by the computing device, determining where to store the data on the storage system based on one or more of a placement policy, system-wide metrics, a client recommendation, and quality of service requirements.

7. The method of claim 1 , wherein a metadata prefix is assigned to each tenant in a multi-tenant environment.

8. The method of claim 1 , wherein no filesystem layer exists between an application layer and a storage system layer.

9. A non-transitory computer-readable storage device storing instructions which, when executed by at least one processor, cause the at least one processor to perform operations comprising:

establishing a static rule to distribute a first flow to a first server and a second flow to a second server;

receiving a request to create metadata associated with an object from a client;

creating the metadata based on the request, wherein the metadata comprises an address for each replica of the object; and

transmitting the metadata and an acknowledgment to the client, wherein the metadata contains the address in a storage system for each replica of the object and wherein the metadata can be used to write data to the storage system and read the data from the storage system;

wherein the metadata comprises an IPv6 prefix for a group of IPv6 addresses which are assigned to a the replicas and the object.

10. The non-transitory computer-readable storage device of claim 9 , wherein the address is an Ipv6 address, and wherein writing and reading the data from the storage system is accomplished via the Ipv6 address stored in the metadata.

11. The non-transitory computer-readable storage device of claim 9 , wherein the client computes a family of pseudorandom seeded hashes based on at least one of an object name and consecutive integers as seeds.

12. The non-transitory computer-readable storage device of claim 9 , wherein the client computes a family of pseudorandom seeded X-bit hashes based on an object name, wherein X is less than or equal to 128.

13. The non-transitory computer-readable storage device of claim 9 , wherein the non-transitory computer-readable storage device stores further instructions which, when executed by the at least one processor, cause the at least one processor to perform further operations comprising:

determining where to store the data on the storage system based on one or more of a placement policy, system-wide metrics, a client recommendation, and quality of service requirements.

14. A system comprising:

at least one non-transitory computer readable medium storing instructions:

at least one processor programmed to cooperate with the instructions to perform operations comprising:

receiving, at a computing device, a request to create metadata associated with an object from a client;

creating the metadata based on the request; and

transmitting the metadata and an acknowledgment to the client;

wherein the metadata contains an address in a storage system for each replica of the object and wherein the metadata can be used to write data to the storage system and read the data from the storage system;

wherein the metadata comprises an Ipv6 prefix for a group of Ipv6 addresses which are assigned to a the replicas and the object.

15. The system of claim 14 , wherein writing and reading the data from the storage system is accomplished via an Ipv6 address stored in the metadata.

16. The system of claim 14 , wherein the client computes a family of pseudorandom seeded hashes based on at least one of an object name and consecutive integers as seeds.

17. The system of claim 14 , wherein the client computes a family of pseudorandom seeded X-bit hashes based on an object name, wherein X is less than or equal to 128.

18. The system of claim 14 , wherein the metadata, when used to write the data to the storage system, is utilized to write replica data to the storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: SURCOUF, ANDRE; RUTY, GUILLAUME; TOWNSLEY, WILLIAM MARK
To: CISCO TECHNOLOGY, INC.
Reel/Frame 040992/0838 →
Continuity (1)
Related Publication 20180203866A1 · Jul 19, 2018