IP Library Patent Application 13949283
Patent Application
App. No. 13/949,283

Method And Apparatus For Providing Redundant Data Access

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.
13/949,283
Abstract

Various embodiments provide a method and apparatus for providing redundant data access. In particular, a response to a client request for a data item includes selecting the data segments of the data item to be provided to the client by each of a corresponding select plurality of servers. In particular, the data segments are smaller in size as compared to the data item and are configured such that the data item may be constructed using a proper subset of the transmitted data segments.

Claims (61)

1 . An apparatus for providing redundant data access, the apparatus comprising:

a data storage; and

a processor communicatively connected to the data storage, the processor being configured to:

select a data item;

determine a plurality of data segment requests based on the data item and an encoding algorithm;

determine a plurality of servers corresponding to the plurality of data segment requests; and

transmit the plurality of data segment requests to the corresponding plurality of servers.

2 . The apparatus of claim 1 , wherein the plurality of data segment requests are configured such that an expected set of data segments being received from the plurality of servers in response to the plurality of data segment requests are such that the data segment members of the expected set of data segments are smaller in size as compared to the data item and the data item may be constructed using a proper subset of the expected set of data segments.

3 . The apparatus of claim 1 , wherein the encoding algorithm includes separating the data item into a number of literal data segments and one or more data segments which are logically related to two or more of the literal data segments.

4 . The apparatus of claim 1 , wherein the processor is further configured to select the encoding algorithm based on an estimated optimization of the bit patterns sent across the network.

5 . The apparatus of claim 1 , wherein the processor is further configured to select the encoding algorithm based on one or more system characteristics.

6 . The apparatus of claim 5 , wherein the encoding algorithm comprises a data segment size based on the one or more system characteristics.

7 . The apparatus of claim 5 , wherein the encoding algorithm is based on a plurality of workloads corresponding to at least a portion of the plurality of servers.

8 . The apparatus of claim 1 , wherein the processor is further configured to select the encoding algorithm based exchanging one or more messages with at least one of the plurality of servers.

9 . The apparatus of claim 1 , wherein the plurality of data segment requests comprise an encoding algorithm directive.

10 . The apparatus of claim 1 , wherein the processor is further configured to:

receive a plurality of server responses from the plurality of servers; and

construct the data item from the plurality of servers responses based on a decoding algorithm;

wherein the plurality of server responses is a proper subset of a total expected set of server responses.

11 . A system for providing redundant data access, the system comprising:

a plurality of clients, at least one of the clients configured to:

request a data item;

a plurality of servers, each of a select plurality of the servers configured to:

store at least one of the data item or a data segment associated with the data item; and

a controller communicatively connected to the plurality of clients and the plurality of servers, the controller configured to:

select the data item based on the data item request from the at least one client;

determine a plurality of data segment requests based on the data item and an encoding algorithm;

determine a plurality of target servers corresponding to the plurality of data segment requests, the plurality of target servers being a subset of the plurality of servers; and

transmit the plurality of data segment requests to the corresponding plurality of target servers.

12 . The system of claim 11 , wherein the select plurality of servers are further configured to:

receive one of the plurality of data segment requests;

determine a server response based on the one data segment request and a data segment encoding algorithm; and

transmit the server response to the controller.

13 . A method for providing redundant data access, the method comprising:

at a processor communicatively connected to a data storage, selecting a data item;

determining, by the processor in cooperation with the data storage, a plurality of data segment requests based on the data item and an encoding algorithm;

determining, by the processor in cooperation with the data storage, a plurality of servers corresponding to the plurality of data segment requests; and

transmitting, by the processor in cooperation with the data storage, the plurality of data segment requests to the corresponding plurality of servers.

14 . The method of claim 13 , wherein the plurality of data segment requests are configured such that an expected set of data segments being received from the plurality of servers in response to the plurality of data segment requests are such that the data segment members of the expected set of data segments are smaller in size as compared to the data item and the data item may be constructed using a proper subset of the expected set of data segments.

15 . The method of claim 13 , wherein the encoding algorithm includes separating the data item into a number of literal data segments and one or more data segments which are logically related to two or more of the literal data segments.

16 . The method of claim 13 , further comprising: selecting, by the processor in cooperation with the data storage, the encoding algorithm based exchanging one or more messages with at least one of the plurality of servers.

17 . The method of claim 13 , further comprising:

receiving a plurality of server responses from the plurality of servers; and

constructing the data item from the plurality of servers responses based on a decoding algorithm;

wherein the plurality of server responses is a proper subset of a total expected set of server responses.

18 . A non-transitory computer-readable storage medium storing instructions which, when executed by a computer, cause the computer to perform a method, the method comprising:

selecting a data item;

determining a plurality of data segment requests based on the data item and an encoding algorithm;

determining a plurality of servers corresponding to the plurality of data segment requests; and

transmitting the plurality of data segment requests to the corresponding plurality of servers.

19 . An apparatus for providing redundant data access, the apparatus comprising:

a data storage; and

a processor communicatively connected to the data storage, the processor being configured to:

select a data item;

determine a plurality of data segments based on the data item and an encoding algorithm;

determine at least one server corresponding to the plurality of data segment requests; and

transmit the plurality of data segments to the at least one corresponding plurality of servers.

20 . The apparatus of claim 19 , wherein the processor is further configured to:

receive a second plurality of data segments from at least one second server; and

construct a second data item based on the second plurality of data segments and a decoding algorithm;

wherein the second plurality of data segments are a proper subset of a total set of data segments associated with the second data item.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2014
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 033759/0026 →
RELEASE OF SECURITY INTEREST Recorded Aug 24, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA, INC.
Reel/Frame 033625/0583 →
SECURITY AGREEMENT Recorded Nov 8, 2013
From: ALCATEL-LUCENT USA, INC.
To: CREDIT SUISSE AG
Reel/Frame 031599/0941 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2013
From: VAN BEMMEL, JEROEN
To: ALCATEL-LUCENT CANADA INC
Reel/Frame 031527/0304 →