IP Library Granted Patent US 8,478,865
Granted Patent B2
US 8,478,865 · App. 12/648,669 · Granted Jul 2, 2013

Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network

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 8,478,865
App. No.
12/648,669
Granted
Jul 2, 2013
Kind
B2
Abstract

A gateway module translates access requests from client computers into commands for a plurality of slice servers storing data for a dispersed data storage network. The gateway program maintains a plurality of gateway modules, each providing a different access protocol to the dispersed data storage network, and each also maintaining one or more virtual storage vaults.

Claims (63)

1. A computer comprising:

a network port operable to couple to a network;

memory for storing at least a portion of a gateway program; and

a central processing unit operable to execute the gateway program by:

receiving a data access message via the network port;

determining a client side data access protocol by:

identifying a user account associated with the data access message;

querying a registry for gateway configuration information corresponding to the user account; and

interpreting the gateway configuration information to determine the client slice data access protocol;

enabling a gateway module to translate protocol of the data access message between the client side data access protocol and a dispersed data storage network (DDSN) data access protocol to produce a translated data access message; and

facilitating conveyance of the translated data access message between a client computer and a plurality of slice servers.

2. The computer of claim 1 wherein the client side data access protocol comprises one or more of a block access protocol, a file access protocol, a simple object access protocol, and a named object access protocol.

3. The computer of claim 1 wherein the gateway modules is further associated with one or more virtual DDSN vaults.

4. A method for execution by a computer, the method comprises:

receiving a data access message via a network port;

determining a client side data access protocol by:

identifying a user account associated with the data access message;

querying a registry for gateway configuration information corresponding to the user account; and

interpreting the gateway configuration information to determine the client slice data access protocol;

enabling a gateway module to translate protocol of the data access message between the client side data access protocol and a dispersed data storage network (DDSN) data access protocol to produce a translated data access message; and

facilitating conveyance of the translated data access message between a client computer and a plurality of slice servers.

5. The method of claim 4 wherein the client side data access protocol comprises one or more of a block access protocol, a file access protocol, a simple object access protocol, and a named object access protocol.

6. The method of claim 4 wherein the gateway modules is further associated with one or more virtual DDSN vaults.

7. The method of claim 4 , wherein the determining the client side data access protocol comprises at least one of:

identifying the user account associated, querying the registry for the gateway configuration information, and interpreting the gateway configuration information; and

interpreting a field within the data access message to identify the client side data access protocol.

8. The method of claim 4 , wherein the executing the gateway program further comprises:

receiving a plurality of data access messages via a network port, wherein the plurality of data access messages includes the data access message;

determining a corresponding client side data access protocol for each of the plurality of data access messages to produce a plurality of client side data protocols;

enabling a plurality of gateway modules, wherein each of the plurality of gateway modules translates protocol for one of the plurality of data access messages between a corresponding one of the plurality of client side data access protocols and the DDSN data access protocol to produce a plurality of translated data access messages; and

facilitating conveyance of the plurality of translated data access messages between at least one client computer and the plurality of slice servers.

9. The method of claim 8 , wherein the network port comprises:

a plurality of ports for receiving the plurality of data access messages.

10. The computer of claim 1 , wherein the central processing unit determines the client side data access protocol by at least one of:

identifying the user account associated, querying the registry for the gateway configuration information, and interpreting the gateway configuration information; and

interpreting a field within the data access message to identify the client side data access protocol.

11. The computer of claim 1 , wherein the central processing unit is further operable to execute the gateway program by:

receiving a plurality of data access messages via the network port, wherein the plurality of data access messages includes the data access message;

determining a corresponding client side data access protocol for each of the plurality of data access messages to produce a plurality of client side data protocols;

enabling a plurality of gateway modules, wherein each of the plurality of gateway modules translates protocol for one of the plurality of data access messages between a corresponding one of the plurality of client side data access protocols and the DDSN data access protocol to produce a plurality of translated data access messages; and

facilitating conveyance of the plurality of translated data access messages between at least one client computer and the plurality of slice servers.

12. The computer of claim 1 , wherein the network port comprises:

a plurality of ports for receiving the plurality of data access messages.

13. A computer comprises:

a network port operable to couple to a network; and

a central processing unit operable to:

receive a memory access request that is formatted in accordance with a data access protocol;

determine the data access protocol by:

identifying a user account associated with the memory access request;

querying a registry for gateway configuration information from the registry for the user account; and

interpreting the gateway configuration information to determine the data access protocol;

evoke a data access protocol translation function to convert the memory access request from the data access protocol into a dispersed data storage network (DDSN) memory access request formatted in accordance with a DDSN data access protocol; and

output the DSN memory access request to a plurality of slice servers.

14. The computer of claim 13 , wherein the data access protocol comprises one or more of a block access protocol, a file access protocol, a simple object access protocol, and a named object access protocol.

15. The computer of claim 13 , wherein the central processing unit determines the client side data access protocol by at least one of:

identifying the user account associated, querying the registry for the gateway configuration information, and interpreting the gateway configuration information; and

interpreting a field within the memory access request to identify the data access protocol.

16. The computer of claim 13 , wherein the central processing unit is further operable to:

receive a plurality of memory access requests that includes the memory access request, wherein each of the plurality of memory access requests is formatted in accordance with a corresponding one of a plurality of data access protocols;

evoke a plurality of data access protocol translation functions to convert the plurality of memory access requests from the corresponding ones of the plurality of data access protocols into a plurality of DDSN memory access requests that is formatted in accordance with the DDSN data access protocol; and

output the plurality of DSN memory access requests to the plurality of slice servers.

17. The computer of claim 16 , wherein the network port comprises:

a plurality of ports for receiving the plurality of memory access requests.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2010
From: QUIGLEY, JOHN; GLADWIN, S. CHRISTOPHER; MARK, ZACHARY J.; LEGGETTE, WESLEY; MOTWANI, MANISH
To: CLEVERSAFE, INC.
Reel/Frame 024074/0242 →