Peer-to-peer upload scheduling
AssigneeTencent Technology (Shenzhen) Company Limited
InventorGang Liu
Life of this patent
Estimating the term…
Abstract
Client devices act as data sources for other clients, such as in a P2P or P2SP situation. The client devices receive upload configuration information based on information relating to their prior uploads and upload operation. Uploads are provided to other client devices according to the upload configuration information. The client devices adjust an upload configuration based on the received upload configuration information. For example, the client devices adjust an upload bandwidth, an upload speed limit, or blocking/non-blocking status for upload channels.
Claims17
A computer-implemented method for determining upload configuration for a client acting as a peer-to-peer source of data, the method comprising:
- receiving client information relating to uploads from the client;
- determining upload configuration information based on the client information;
- providing the determined upload configuration information to the client, wherein uploads from the client are provided according to the upload configuration information;
- wherein determining the upload configuration information based on the client information comprises:
- detecting a plurality of old upload channels in a local area network (LAN) different from that of the client,
- determining a priority value for each of the plurality of old upload channels,
- ranking the plurality of old upload channels based on the priority value for each of the plurality of old upload channels,
- selecting a number of top-ranked old upload channels, and
- determining the upload configuration information as setting the selected old upload channels to be unblocked, so that the selected old upload channels can be found by the client;
- and
- wherein the client information includes a download status of the client and whether an upload speed limit has been set for the client, and determining the upload configuration information based on the client information further comprises:
- extracting a historical peak value of upload speed for the client,
- detecting whether the download status of the client is busy, and
- in response to the detection that the download status of the client is busy:
- extracting a historical maximum value of upload speed for the client, when the download status of the client was busy,
- determining a crest value as the historical maximum value of upload speed when the download status of the client was busy,
- determining a trough value by multiplying the historical peak value of upload speed and a busy rate, the busy rate indicating how much the download status of the client is busy, and
- determining a range of upload speed limits between the crest value and the trough value, wherein the upload speed limit for the client is alternately set at the crest value and at the trough value.
A client device for acting as a peer-to-peer source of data, the client device comprising:
- a computer processor for executing computer executable instructions;
- and
- a non-transitory computer readable storage device storing the computer executable instructions to perform steps comprising:
- collecting client information relating to uploads from the client;
- sending the client information to a server;
- receiving upload configuration information from the server,
- wherein the upload configuration information is based on the client information, the server detects a plurality of old upload channels in a local area network (LAN) different from that of the client device, determines a priority value for each of the plurality of old upload channels, ranks the plurality of old upload channels based on the priority value for each of the plurality of old upload channels, selects a number of top-ranked old upload channels;
- and determines the upload configuration information as setting the selected old upload channels to be unblocked, so that the selected old upload channels can be found by the client, and
- wherein the client information includes a download status of the client and whether an upload speed limit has been set for the client,
- the server extracts a historical peak value of upload speed for the client,
- the server detects whether the download status of the client is busy, and
- in response to the server's detection that the download status of the client is busy:
- the server extracts a historical maximum value of upload speed for the client, when the download status of the client was busy,
- the server determines a crest value as the historical maximum value of upload speed when the download status of the client was busy,
- the server determines a trough value by multiplying the historical peak value of upload speed and a busy rate, the busy rate indicating how much the download status of the client is busy, and
- the server determines a range of upload speed limits between the crest value and the trough value, wherein the upload speed limit for the client is alternately set at the crest value and at the trough value;
- and
- adjusting an upload configuration for the client based on the received upload configuration information.
Dependencies are inferred from the claim text.