IP Library Patent Application 18204481
Patent Application
App. No. 18/204,481

OBJECT STORAGE SERVICE LEVERAGING DATASTORE CAPACITY

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 None
App. No.
18/204,481
Abstract

The disclosure provides a method for exposing object storage as a service. The method generally includes receiving, by an object service proxy provisioned for providing the service, a request to access a first object in an object store, wherein the object store leverages a percentage of datastore capacity for a datastore, determining, by the object service proxy, both of: an identifier of a container in the object store comprising the first object and an internet protocol (IP) address associated with an object protocol service provisioned to access the container comprising the first object, re-directing, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service, wherein the request comprises the identifier of the container and in response to re-directing the request, receiving the first object from the object protocol service.

Claims (87)

1 . A method for exposing object storage as a service, the method comprising:

receiving, by an object service proxy provisioned for providing the service, a request to access a first object in an object store, wherein the object store leverages a percentage of datastore capacity for a datastore;

determining, by the object service proxy, both of:

an identifier of a first container in the object store comprising the first object; and

an internet protocol (IP) address associated with an object protocol service provisioned to access the first container comprising the first object;

re-directing, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service, wherein the request comprises the identifier of the first container; and

in response to re-directing the request to the object service proxy, receiving the first object from the object protocol service.

2 . The method of claim 1 , wherein determining the identifier of the first container comprising the first object is performed by the object service proxy using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container, the first key-value database comprising:

a plurality of first key-value mappings between a first plurality of keys and a first plurality of values,

the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, and

the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container.

3 . The method of claim 2 , wherein determining the IP address associated with the object protocol service provisioned to access the first container comprising the first object is performed by the object service proxy using the identifier of the first container as a second key to search a second key-value database to determine the IP address associated with the object protocol service, the second key-value database comprising:

a plurality of second key-value mappings between a second plurality of keys and a second plurality of values,

the second plurality of keys each being the corresponding identifier of the corresponding container where the corresponding object is stored, the second plurality of keys including the second key, and

the second plurality of values each being a corresponding IP address associated with a corresponding object protocol service provisioned to access the corresponding container, the second plurality of values including a second value that is the IP address associated with the object protocol service.

4 . The method of claim 1 , further comprising:

receiving by the object service proxy, another request to create a second object;

determining, by the object service proxy, to create the second object in the first container in the object store;

determining, by the object service proxy, the IP address associated with the object protocol service provisioned to access the first container;

re-directing, by the object service proxy, the request to create the second object to the object protocol service using the IP address associated with the object protocol service; and

in response to re-directing the request to the object service proxy, receiving, by the object service proxy from the object protocol service, an indication that the second object has been created.

5 . The method of claim 4 , wherein the object service proxy determines to create the second object in the first container in the object store based on:

an identifier of the first container included in the other request; or

a current usage of the percentage of the datastore capacity allocated to the object store.

6 . The method of claim 1 , wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount.

7 . The method of claim 6 , wherein:

a plurality of object stores, including the object store, are aggregated to provide the service, wherein each of the plurality of object stores leverages a percentage of capacity of different datastores; and

the method further comprises:

determining, by a virtualization manager configured to monitor usage of the datastore capacity by the object store, that the object store is using an amount of the datastore capacity greater than the threshold amount; and

performing, by the virtualization manager, load balancing of objects in the plurality of object stores to reduce the usage of the datastore capacity by the object store below the threshold amount.

8 . A system comprising:

one or more processors; and

at least one memory, the one or more processors and the at least one memory configured to:

receive, by an object service proxy provisioned for providing the service, a request to access a first object in an object store, wherein the object store leverages a percentage of datastore capacity for a datastore;

determine, by the object service proxy, both of:

an identifier of a first container in the object store comprising the first object; and

an internet protocol (IP) address associated with an object protocol service provisioned to access the first container comprising the first object;

re-direct, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service, wherein the request comprises the identifier of the first container; and

in response to re-directing the request to the object service proxy, receive the first object from the object protocol service.

9 . The system of claim 8 , wherein object service proxy determines the identifier of the first container comprising the first object using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container, the first key-value database comprising:

a plurality of first key-value mappings between a first plurality of keys and a first plurality of values,

the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, and

the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container.

10 . The system of claim 9 , wherein the object service proxy determines the IP address associated with the object protocol service provisioned to access the first container comprising the first object using the identifier of the first container as a second key to search a second key-value database to determine the IP address associated with the object protocol service, the second key-value database comprising:

a plurality of second key-value mappings between a second plurality of keys and a second plurality of values,

the second plurality of keys each being the corresponding identifier of the corresponding container where the corresponding object is stored, the second plurality of keys including the second key, and

the second plurality of values each being a corresponding IP address associated with a corresponding object protocol service provisioned to access the corresponding container, the second plurality of values including a second value that is the IP address associated with the object protocol service.

11 . The system of claim 8 , wherein the one or more processors and the at least one memory are further configured to:

receive by the object service proxy, another request to create a second object;

determine, by the object service proxy, to create the second object in the first container in the object store;

determine, by the object service proxy, the IP address associated with the object protocol service provisioned to access the first container;

re-direct, by the object service proxy, the request to create the second object to the object protocol service using the IP address associated with the object protocol service; and

in response to re-directing the request to the object service proxy, receive, by the object service proxy from the object protocol service, an indication that the second object has been created.

12 . The system of claim 11 , wherein the object service proxy determines to create the second object in the first container in the object store based on:

an identifier of the first container included in the other request; or

a current usage of the percentage of the datastore capacity allocated to the object store.

13 . The system of claim 8 , wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount.

14 . The system of claim 13 , wherein:

a plurality of object stores, including the object store, are aggregated to provide the service, wherein each of the plurality of object stores leverages a percentage of capacity of different datastores; and

the one or more processors and the at least one memory are further configured to:

determine, by a virtualization manager configured to monitor usage of the datastore capacity by the object store, that the object store is using an amount of the datastore capacity greater than the threshold amount; and

perform, by the virtualization manager, load balancing of objects in the plurality of object stores to reduce the usage of the datastore capacity by the object store below the threshold amount.

15 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations for exposing object storage as a service, the operations comprising:

receiving, by an object service proxy provisioned for providing the service, a request to access a first object in an object store, wherein the object store leverages a percentage of datastore capacity for a datastore;

determining, by the object service proxy, both of:

an identifier of a first container in the object store comprising the first object; and

an internet protocol (IP) address associated with an object protocol service provisioned to access the first container comprising the first object;

re-directing, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service, wherein the request comprises the identifier of the first container; and

in response to re-directing the request to the object service proxy, receiving the first object from the object protocol service.

16 . The non-transitory computer-readable medium of claim 15 , wherein determining the identifier of the first container comprising the first object is performed by the object service proxy using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container, the first key-value database comprising:

a plurality of first key-value mappings between a first plurality of keys and a first plurality of values,

the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, and

the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container.

17 . The non-transitory computer-readable medium of claim 16 , wherein determining the IP address associated with the object protocol service provisioned to access the first container comprising the first object is performed by the object service proxy using the identifier of the first container as a second key to search a second key-value database to determine the IP address associated with the object protocol service, the second key-value database comprising:

a plurality of second key-value mappings between a second plurality of keys and a second plurality of values,

the second plurality of keys each being the corresponding identifier of the corresponding container where the corresponding object is stored, the second plurality of keys including the second key, and

the second plurality of values each being a corresponding IP address associated with a corresponding object protocol service provisioned to access the corresponding container, the second plurality of values including a second value that is the IP address associated with the object protocol service.

18 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

receiving by the object service proxy, another request to create a second object;

determining, by the object service proxy, to create the second object in the first container in the object store;

determining, by the object service proxy, the IP address associated with the object protocol service provisioned to access the first container;

re-directing, by the object service proxy, the request to create the second object to the object protocol service using the IP address associated with the object protocol service; and

in response to re-directing the request to the object service proxy, receiving, by the object service proxy from the object protocol service, an indication that the second object has been created.

19 . The non-transitory computer-readable medium of claim 18 , wherein the object service proxy determines to create the second object in the first container in the object store based on:

an identifier of the first container included in the other request; or

a current usage of the percentage of the datastore capacity allocated to the object store.

20 . The non-transitory computer-readable medium of claim 15 , wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: YANG, YANG; YU, XIANG; FAN, XIAOHUA; FENG, JIN
To: VMWARE, INC.
Reel/Frame 063954/0296 →