IP Library Granted Patent US 9,678,678
Granted Patent B2
US 9,678,678 · App. 14/274,443 · Granted Jun 13, 2017

Storage network data retrieval

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 9,678,678
App. No.
14/274,443
Granted
Jun 13, 2017
Kind
B2
Abstract

According to an aspect of an embodiment, a method of retrieving data in a storage network may include determining a list of storage blocks of a storage network for potential retrieval of a data file for storage on a first storage block of the storage network. The determining may be based on two or more of: assignment information of the data file as assigned by a storage network manager, location information, device types, peer-to-peer reachability, network information, and presence information. The method may also include attempting to retrieve the data file from a second storage block included in the list of storage blocks for storage on the first storage block. Further, the method may include attempting to retrieve the data file from a third storage block included in the list of storage blocks for storage on the first storage block when retrieval from the second storage block fails.

Claims (24)

1. Non-transitory computer-readable storage media including instructions that cause a system to perform operations to retrieve data in a storage network, the operations comprising:

determining a list of storage blocks of a storage network for potential retrieval of a data file for storage of the data file on a first storage block of the storage network, the determining being based on two or more of the following: assignment information of the data file as assigned by a storage network manager of the storage network; location information of the data file that indicates which storage blocks of the storage network include the data file stored thereon; physical location information that indicates physical locations of the storage blocks; device types of devices that include storage blocks with the data file stored thereon; peer-to-peer reachability of the first storage block with respect to other storage blocks of the storage network; network information indicating which storage blocks are connected to the same local network; and presence information indicating the presence, with respect to the storage network, of the storage blocks including the data file stored thereon;

attempting to retrieve the data file from a second storage block included in the list of storage blocks for storage of the data file on the first storage block based on:

the second storage block being included in the list;

a determination that the second storage block is active with respect to the storage network, the determination that the second storage block is active being based on: presence information of the second storage block that includes an activity level of the second storage block with respect to the storage network; an Internet protocol (IP) address used by a devices that includes the second storage block; a connectivity type of a connection, with respect to the storage network, of the device that includes the second storage block; available data rates of the connection, with respect to the storage network, of the device that includes the second storage block; bandwidth of the connection, with respect to the storage network, of the device that includes the second storage block; a power state of the device that includes the second storage block, wherein the power state indicates whether the device that includes the second storage block is charging or discharging its battery; a battery level of the device that includes the second storage block; and Network Address Translation (NAT) associated with the device that includes the second storage block;

a determination that data transfer capability of the device that includes the second storage block is enabled; and

a determination that the second storage block is peer-to-peer reachable with respect to the first storage block; and

attempting to retrieve the data file from a third storage block included in the list of storage blocks for storage on the first storage block in response to retrieval from the second storage block failing and based on the third storage block being included in the list of storage blocks.

2. The non-transitory computer-readable storage media of claim 1 , wherein the operations further comprise:

ordering the list of storage blocks based on a priority of from which storage block to retrieve the data file, the ordering being based on one or more of the device type, peer-to-peer reachability, and the assignment information; and

attempting to retrieve the data file from the second storage block before the third storage block based on the second storage block being prioritized over the third storage block for retrieval of the data file.

3. The non-transitory computer-readable storage media of claim 1 , wherein the operations further comprise attempting to retrieve the data file from the second storage block a designated number of times before attempting to retrieve the data file from the third storage block.

4. The non-transitory computer-readable storage media of claim 1 , wherein the operations further comprise limiting a total number of active connections of the first storage block with other storage blocks at any one time.

5. The non-transitory computer-readable storage media of claim 1 , wherein the operations further comprise limiting a total number of active connections of the first storage block with the second storage block at any one time.

6. The non-transitory computer-readable storage media of claim 1 , wherein the assignment information includes an allocation of the data file to one or more storage blocks of the storage network, the allocation being determined based on a plurality of characteristics associated with the one or more storage blocks, the plurality of characteristics including a likelihood of loss of the one or more storage blocks, frequency of availability of the one or more storage blocks with respect to the storage network, and use of the one or more storage blocks with respect to other data having a same data type as the data file.

7. A device comprising:

a processor; and

memory communicatively coupled to the processor, the memory including instructions that cause the processor to perform operations to retrieve data in a storage network, the operations comprising:

determining a list of storage blocks of a storage network for potential retrieval of a data file for storage of the data file on a first storage block of the storage network, the determining being based on: physical location information that indicates physical locations of the storage blocks; device types of devices that include storage blocks with the data file stored thereon; peer-to-peer reachability of the first storage block with respect to other storage blocks of the storage network; network information indicating which storage blocks are connected to the same local network; and presence information indicating the presence, with respect to the storage network, of the storage blocks including the data file stored thereon;

attempting to retrieve the data file from a second storage block included in the list of storage blocks for storage of the data file on the first storage block based on:

the second storage block being included in the list; and

a determination that the second storage block is active with respect to the storage network, the determination that the second storage block is active being based on: presence information of the second storage block that includes: an activity level of the second storage block with respect to the storage network; an Internet protocol (IP) address used by a devices that includes the second storage block; a connectivity type of a connection, with respect to the storage network, of the device that includes the second storage block; available data rates of the connection, with respect to the storage network, of the device that includes the second storage block; bandwidth of the connection, with respect to the storage network, of the device that includes the second storage block; a power state of the device that includes the second storage block, wherein the power state indicates whether the device that includes the second storage block is charging or discharging its battery; battery level of the device that includes the second storage block; and Network Address Translation (NAT) associated with the device that includes the second storage block; and

attempting to retrieve the data file from a third storage block included in the list of storage blocks for storage on the first storage block in response to retrieval from the second storage block failing and based on the third storage block being included in the list of storage blocks.

8. The device of claim 7 , wherein the assignment information includes an allocation of the data file to one or more storage blocks of the storage network, the allocation being determined based on a plurality of characteristics associated with the one or more storage blocks, the plurality of characteristics including a likelihood of loss of the one or more storage blocks, frequency of availability of the one or more storage blocks with respect to the storage network, and use of the one or more storage blocks with respect to other data having a same data type as the data file.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded May 2, 2024
From: U.S. BANK TRUST COMPANY
To: CONDUENT BUSINESS SERVICES, LLC
Reel/Frame 067305/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2014
From: GAKHAL, RANDEEP SINGH; OTALA, TAPANI; HO, STANLEY
To: LYVE MINDS, INC.
Reel/Frame 032864/0476 →