Apparatus and method of data transfer
First Claim
Patent Images
1. A data transfer system comprising:
- a server; and
a plurality of devices each operable as a client of the server and as a peer-to-peer device;
the server comprising;
a data allocator,a notification arrangement to notify the plurality of devices that they are to form a peer group; and
a client/server data transmitter to send data to the respective devices upon such notification;
each device comprising;
a client/server data receiver to receive respective data from the server;
a peer-to-peer communicator to send the respective data received from the server to one or more peers, and to receive from one or more peers the respective data that was sent to it or them by the server; and
a peer-to-peer transmission rate detector;
in which the allocation of data from the data allocator of the server to one or more clients is responsive to their respective current peer-to-peer transmission rate such that the data allocation is increased for clients having faster peer-to-peer transmission rates; and
in which membership in the peer group increases or decreases dynamically depending on behavior of the one or more clients, the membership being monitored and updated by the server in an ongoing fashion.
2 Assignments
0 Petitions
Accused Products
Abstract
A data transfer system comprises a server and a plurality of devices each operable as a client of the server. The server in turn comprises a notification arrangement to notify a device that it is to become a member of a peer group comprising other clients of the server. The server further comprises a client/server data transmitter to send data to the respective device upon such notification. Each device in turn comprises a client/server data receiver to receive respective data from the server, and a peer-to-peer communicator to send respective data received from the server to one or more peers, and to receive from one or more peers respective data that was sent to it or them by the server.
-
Citations
30 Claims
-
1. A data transfer system comprising:
-
a server; and a plurality of devices each operable as a client of the server and as a peer-to-peer device; the server comprising; a data allocator, a notification arrangement to notify the plurality of devices that they are to form a peer group; and a client/server data transmitter to send data to the respective devices upon such notification; each device comprising; a client/server data receiver to receive respective data from the server; a peer-to-peer communicator to send the respective data received from the server to one or more peers, and to receive from one or more peers the respective data that was sent to it or them by the server; and a peer-to-peer transmission rate detector; in which the allocation of data from the data allocator of the server to one or more clients is responsive to their respective current peer-to-peer transmission rate such that the data allocation is increased for clients having faster peer-to-peer transmission rates; and in which membership in the peer group increases or decreases dynamically depending on behavior of the one or more clients, the membership being monitored and updated by the server in an ongoing fashion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A server comprising:
-
a notification arrangement to notify a plurality of devices that they are to form a peer group; a client/server data transmitter to send data to the respective devices upon such notification; a peer-to-peer transmission rate detector; and a data allocator, in which the allocation of data from the data allocator of the server to one or more of the plurality of devices is responsive to their respective current peer-to-peer transmission rate such that the data allocation is increased for clients having faster peer-to-peer transmission rates; and in which membership in the peer group increases or decreases dynamically depending on behavior of the one or more devices, the membership being monitored and updated by the server in an ongoing fashion. - View Dependent Claims (11, 12, 13)
-
-
14. A device operable as a client in a client/server communications system, comprising:
-
a client/server data receiver to receive data from a server; and a peer-to-peer communicator to send the data received from the server to one or more peers, and to receive from one or more peers respective data that was sent to it or them by the server; and
in whichthe device is operable to receive notification from the server that it is to form a peer-group comprising other clients of the server and to distribute data sent by the server to the peer group; in which allocation of data between the server and the client and between the server and one or more of the other clients is responsive to their respective current peer-to-peer transmission rate such that the data allocation is increased by the server for clients having faster peer-to-peer transmission rates; and in which membership in the peer-group is increased or decreased dynamically depending on behavior of the clients, the membership being monitored and updated by the server in an ongoing fashion. - View Dependent Claims (15, 16, 17)
-
-
18. A data transfer system comprising:
-
a server; a plurality of devices each operable as a client of the server and as a peer-to-peer device, and operable to form a peer-to-peer group; the server comprising; a request receiver to receive a request for data from a further device acting as a client device; a notification arrangement to notify the plurality of devices and the further device that they are to form a peer group; and a client/server data transmitter to send data to the further device; the further device comprising; a client/server data receiver to receive data from the server; and a peer-to-peer communicator to receive data from one or more peers in the peer group; and
in whichthe server and one or more peers are arranged to transmit the requested data to the further device in parallel in a complementary fashion until a complete set of data is obtained by the further device, respective proportions of data being received by the further device from the server and the one or more peers being a consequence of their respective current data transfer rates such that the server increases data allocation for peers having faster peer-to-peer transmission rates; and in which membership in the peer group increases or decreases dynamically depending on behavior of the peers, the membership being monitored and updated by the server in an ongoing fashion.
-
-
19. A method of data transmission between a server and a plurality of client devices, the method comprising the steps of:
-
the server notifying the plurality of client devices that they are to form a peer-group of client devices; the server transmitting data to a first client device; the first client device transmitting the data it receives from the server to other client devices in the peer group in a peer-to-peer fashion; and the first client device respectively receiving from other client devices in the peer group in a peer-to-peer fashion data that each respective client device in the peer group has received from the server, in which allocation of data from the server to one or more of the plurality of client devices is responsive to their respective peer-to-peer transmission rate such that the data allocation is increased for client devices having faster peer-to-peer transmission rates; and in which the server monitors and updates membership in the peer group dynamically depending on behavior of the one or more client devices. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of data transmission from a server to a further device and a plurality of devices forming a peer group, the method comprising the steps of:
-
the server receiving a request for data from the further device; the server notifying the plurality of devices and the further device that they are to form a peer group; the server transmitting the data to the further device; one or more other devices of the peer group receiving a request to transmit the data to the further device; the one or more other devices of the peer group transmitting the data to the further device; and in which the server and the one or more other devices of the peer group transmit the requested data to the further device in parallel in a complementary fashion until a complete set of data is obtained by the further device, respective proportions of the requested data being received by the further device from the server and the one or more other devices of the peer group being a consequence of their current respective data transfer rates such that the data transmission is increased to the further device from selected ones of the one or more other devices having faster peer-to-peer transmission rates; and in which membership in the peer group increases or decreases dynamically depending on behavior of the plurality of devices, the membership being monitored and updated by the server in an ongoing fashion.
-
-
29. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by a processor, cause the processor to perform a method of data transmission to a further device from a server and a plurality of devices forming a peer group, the method comprising the steps of:
-
the server receiving a request for data from the further device; the server notifying the plurality of devices and the further device that they are to form a peer group; the server transmitting the data to the further device; one or more other devices of the peer group receiving a request to transmit the data to the further device; the one or more other devices of the peer group transmitting the data to the further device; and in which the server and the one or more other devices of the peer group transmit the requested data to the further device in parallel in a complementary fashion until a complete set of data is obtained by the further device, respective proportions of the requested data being received by the further device from the server and the one or more other devices of the peer group being a consequence of their respective current data transfer rates such that the data transmission is increased to the further device from selected ones of the one or more other devices having faster peer-to-peer transmission rates; and in which membership in the peer group increases or decreases dynamically depending on behavior of the plurality of devices, the membership being monitored and updated by the server in an ongoing fashion.
-
-
30. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by a processor, cause the processor to perform a method of data transmission between a server and a plurality of client devices, the method comprising:
-
the server notifying the plurality of client devices that they are to form a peer-group of client devices; the server transmitting data to a first client device; the first client device transmitting the data it receives from the server to other client devices in the peer group in a peer-to-peer fashion; and the first client device respectively receiving from other client devices in the peer group in a peer-to-peer fashion data that each respective client device in the peer group has received from the server, in which allocation of data from the server to one or more of the plurality of client devices is responsive to their respective peer-to-peer transmission rate such that the data allocation is increased for client devices having faster peer-to-peer transmission rates; and in which the server monitors and updates membership in the peer group dynamically depending on behavior of the one or more client devices.
-
Specification