Hive-based peer-to-peer network
First Claim
1. A process comprising:
- (a) identifying nodes on a network that have copies of desired content;
(b) requesting that a first of the nodes send a first piece of the desired content to a requesting node, the first piece having a first size;
(c) requesting that a second of the nodes send a second piece of the desired content to the requesting node, the second piece having a second size that differs from the first size;
(d) requesting that a first plurality of the nodes respectively calculate and return first remotely-calculated hash values for the first piece of the desired content;
(e) calculating a first local hash value from the first piece as received at the requesting node;
(f) receiving the remotely-calculated hash values for the first piece of the desired content;
(g) comparing the first local hash value and the first remotely calculated hash values to determine whether the first piece as received at the requesting node is valid;
(h) requesting that a second plurality of the nodes respectively calculate and return second remotely-calculated hash values for the second piece of the desired content;
(i) calculating a second local hash value from the second piece as received at the requesting node;
(j) receiving the remotely-calculated hash values for the second piece of the desired content; and
(k) comparing the second local hash value and the second remotely calculated hash values to determine whether the second piece as received at the requesting node is valid,wherein the requesting node dynamically selects the first size of the first piece of the desired content according to the capabilities of the first of the nodes and the requesting node selects the second size of the second piece of the desired content according to the capabilities of the second of the nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A collaborative data transferring process can combine segments from all known servers and peer-to-peer (P2P) sources simultaneously, regardless of their native protocols. The process uses variable data block size that can be dynamically selected according to sizes provided by sources, e.g., according to the protocol of the source, and can generate hash values or validation codes on the fly so that compliance with validation techniques (if any) of other protocols is not required. The process may be classified as a P2P protocol, although it also contains centralized elements. Machine language implementations and low syntax overhead allow file exchanges over a homogeneous network with high throughput and low bandwidth consumption.
-
Citations
7 Claims
-
1. A process comprising:
-
(a) identifying nodes on a network that have copies of desired content; (b) requesting that a first of the nodes send a first piece of the desired content to a requesting node, the first piece having a first size; (c) requesting that a second of the nodes send a second piece of the desired content to the requesting node, the second piece having a second size that differs from the first size; (d) requesting that a first plurality of the nodes respectively calculate and return first remotely-calculated hash values for the first piece of the desired content; (e) calculating a first local hash value from the first piece as received at the requesting node; (f) receiving the remotely-calculated hash values for the first piece of the desired content; (g) comparing the first local hash value and the first remotely calculated hash values to determine whether the first piece as received at the requesting node is valid; (h) requesting that a second plurality of the nodes respectively calculate and return second remotely-calculated hash values for the second piece of the desired content; (i) calculating a second local hash value from the second piece as received at the requesting node; (j) receiving the remotely-calculated hash values for the second piece of the desired content; and (k) comparing the second local hash value and the second remotely calculated hash values to determine whether the second piece as received at the requesting node is valid, wherein the requesting node dynamically selects the first size of the first piece of the desired content according to the capabilities of the first of the nodes and the requesting node selects the second size of the second piece of the desired content according to the capabilities of the second of the nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification