CN105827695B - Bandwidth resource sharing method and device - Google Patents

Bandwidth resource sharing method and device Download PDF

Info

Publication number
CN105827695B
CN105827695B CN201610140457.1A CN201610140457A CN105827695B CN 105827695 B CN105827695 B CN 105827695B CN 201610140457 A CN201610140457 A CN 201610140457A CN 105827695 B CN105827695 B CN 105827695B
Authority
CN
China
Prior art keywords
data
uploading
terminals
uploaded
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610140457.1A
Other languages
Chinese (zh)
Other versions
CN105827695A (en
Inventor
雷磊
王志军
房秉毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201610140457.1A priority Critical patent/CN105827695B/en
Publication of CN105827695A publication Critical patent/CN105827695A/en
Application granted granted Critical
Publication of CN105827695B publication Critical patent/CN105827695B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a method and a device for sharing bandwidth resources, wherein a controller determines terminals for assisting uploading and the number k of the terminals, the terminals for uploading data divide the data to be uploaded into (k +1) parts according to the number of the terminals for cooperatively uploading the data, the k terminals assist the terminals for uploading data to be uploaded to synchronously upload each part of data to be uploaded respectively, the uplink bandwidth resources of one terminal device are not limited to be utilized, but the uplink bandwidth resources of a plurality of terminal devices are reasonably utilized, and therefore the reasonable distribution of the bandwidth resources is realized; the scheme does not need an operator background to modify the subscription service content of the user, is simple and flexible to realize, and does not need the user to pay the operator in addition.

Description

Bandwidth resource sharing method and device
Technical Field
The invention relates to the technical field of communication, in particular to a method and a device for sharing bandwidth resources.
Background
With the gradual implementation of national broadband Chinese strategy and the popularization of mobile broadband brought by 4G popularization, on one hand, the household bandwidth of the terminal user is larger and larger, and the terminal user tends to use online SaaS (Software-as-a-Service) services, such as cloud disks, online office editors, online entertainment and the like. On the other hand, the usage rate of the mobile phone gradually exceeds that of a fixed terminal, and is limited by the performance of thin terminals such as the mobile phone and the Pad, a large amount of data needs to be placed in the server, and the terminal is only used as a display interface, such as online video playing, online text editing, video editing and the like. Thus, the popularity of broadband networks has gradually pushed applications to switch from a local application-based mode to a cloud-based online application.
With the rise of mobile internet, the generation and provision of applications, services, and contents are gradually shifting from large and centralized enterprises to small and decentralized enterprises or even users, and meanwhile, due to the long tail effect, UGC (User generated content) may become the mainstream of internet contents in the future.
The two development trends are as follows: the gradual switching of the application mode from local to cloud and the trend of content flowing from the network edge node to the network core are strengthened, a new requirement is provided for the mode of providing broadband service by an operator, on one hand, a larger bandwidth needs to be provided, and the waiting time of using the online service by a user is reduced, and on the other hand, the operator also needs to provide a larger uplink bandwidth as the user needs more data to be uploaded to the cloud end synchronously when using the online service. However, when the current operator provides broadband service, an asymmetric DSL technology is mostly adopted, that is, the network uplink rate and the network downlink rate of the end user are not consistent, and generally, the downlink rate is far greater than the uplink rate, which is based on the assumed service that content flows from the network to the user mainly, and in such a scenario, the uplink bandwidth is not considered. However, the asymmetry of the uplink and downlink bandwidths greatly restricts two modes of current mobile internet development, and needs to be solved urgently.
In order to meet the demand for upstream bandwidth, the operator is usually required to statically modify the content of the subscription service of the user and charge a premium. This approach has the following drawbacks: firstly, the modification process has a long period and cannot realize the dynamic promotion and reduction of the bandwidth; secondly, the user is required to pay extra cost, which increases the cost of using the broadband service; thirdly, uplink bandwidths of some users are always idle, and operators reserve resources, so that resource waste is caused; fourth, the operator's upstream bandwidth increase is limited, and even if the associated fees are applied and willing to be paid, it is difficult for asymmetric DSL technologies to exceed the maximum rate supported by the link and equipment.
Therefore, a bandwidth resource sharing scheme is needed to solve the above technical problems.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides a bandwidth resource sharing method and a bandwidth resource sharing device, which are used for solving the problems of unreasonable uplink bandwidth resource allocation, limited uplink bandwidth improvement, long period and high user payment cost.
In order to solve the technical problems, the invention adopts the following technical scheme:
the invention provides a bandwidth resource sharing method, which comprises the following steps:
the method comprises the steps that a controller receives a data uploading request which is sent by a terminal and carries data to be uploaded with a size D, the number k of terminals used for assisting uploading is determined according to the data to be uploaded with the size D, k is larger than 1, and k terminals used for assisting uploading are determined;
returning a data uploading response carrying the terminal identifications and the addresses of the k terminals to the terminal initiating the data uploading request, so that the terminal initiating the data uploading request equally divides the data to be uploaded into (k +1) shares, and respectively requesting the k terminals to upload one share of the data to be uploaded to the controller;
and receiving the terminal initiating the data uploading request and the data to be uploaded by the k terminals.
The invention also provides a bandwidth resource sharing method, which comprises the following steps:
the method comprises the steps that a terminal sends a data uploading request carrying the size D of data to be uploaded to a controller, so that the controller determines the number k of terminals for assisting uploading and k terminals for assisting uploading according to the size D of the data to be uploaded, wherein k is larger than 1;
when a data uploading response returned by the controller is received, acquiring terminal identifications and addresses of k terminals carried in the data uploading response, equally dividing data to be uploaded into (k +1) shares, and respectively requesting the k terminals to upload one share of data to be uploaded to the controller;
and uploading the data to be uploaded of the equipment to the controller.
The present invention also provides a controller comprising: a receiving module, a first processing module and a sending module,
the receiving module is used for receiving a data uploading request which is sent by the terminal and carries the size D of the data to be uploaded; receiving a terminal initiating a data uploading request and each piece of data to be uploaded by the k terminals;
the first processing module is used for determining the number k of terminals assisting in uploading according to the size D of the data to be uploaded, wherein k is greater than 1, and k terminals assisting in uploading are determined; and indicating the sending module to return a data uploading response carrying the terminal identification and the address of the k terminals to the terminal initiating the data uploading request, so that the terminal initiating the data uploading request equally divides the data to be uploaded into (k +1) shares, and respectively requesting the k terminals to upload one share of the data to be uploaded to the controller.
The present invention also provides a terminal, comprising: a sending module, a receiving module and a data processing module,
the sending module is used for sending a data uploading request carrying the size D of the data to be uploaded to the controller, so that the controller determines the number k of terminals for assisting uploading and k terminals for assisting uploading according to the size D of the data to be uploaded, wherein k is larger than 1;
the receiving module is used for receiving the data uploading response returned by the controller;
the data processing module is used for acquiring terminal identifications and addresses of k terminals carried in the data uploading response, equally dividing data to be uploaded into (k +1) shares, and indicating the sending module to respectively request the k terminals to upload one share of the data to be uploaded to the controller; and instructing the sending module to upload the data to be uploaded of the device to the controller.
The controller determines the terminals for assisting the uploading and the number k thereof, the terminals for uploading data divide the data to be uploaded into (k +1) parts according to the number of the terminals for cooperatively uploading the data, the k terminals assist the terminals for uploading data to synchronously upload each part of data to be uploaded respectively, the uplink bandwidth resources of one terminal device are not limited to be utilized any more, but the uplink bandwidth resources of a plurality of terminal devices are reasonably utilized, and therefore the reasonable distribution of the bandwidth resources is realized; the scheme does not need an operator background to modify the subscription service content of the user, is simple and flexible to realize, and does not need the user to pay the operator in addition.
Drawings
FIG. 1 is a home broadband topology;
fig. 2 is a complete diagram of an intelligent home gateway via ethernet;
fig. 3 is a diagram of a bandwidth resource sharing system architecture according to an embodiment of the present invention;
fig. 4 is a flow chart of bandwidth resource sharing according to an embodiment of the present invention;
fig. 5 is a flowchart of determining k terminals for assisting in uploading according to an embodiment of the present invention;
fig. 6 is a flowchart illustrating a terminal initiating a data upload request requesting cooperative upload of data from each terminal for cooperative upload according to an embodiment of the present invention;
FIG. 7 is a schematic structural diagram of a controller according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
Detailed Description
The technical solution of the present invention will be described clearly and completely with reference to the accompanying drawings, and it should be understood that the described embodiments are a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
In view of the above problems in the prior art, embodiments of the present invention provide a bandwidth resource sharing scheme, which first of all shares an uplink bandwidth through a multi-user composition overlay network based on an existing terminal user broadband access deployment architecture, thereby implementing bandwidth statistical multiplexing of a single user and multiple uplink links. And secondly, selecting the cooperative uploading node by means of a dynamic self-adaptive optimization strategy, so that the data uploading time is greatly reduced, and the influence on the data uploaded by the cooperative node is reduced. Thirdly, an incentive mechanism is introduced to avoid network crash caused by mass data uploading of malicious nodes.
As shown in fig. 1, a broadband operator generally adopts a two-to-three-level access manner, when a user subscribes to a broadband service, the operator sends to the user an intelligent terminal (i.e., a home gateway), on which a PPPoE (point-to-point protocol over ethernet) dial-up internet client program is run, each dial-up link is represented by a subscription service identifier, i.e., an sid (subscription id) identifier, the home gateway of each user is connected up to an access switch by means of an optical fiber or a twisted pair, and the access switch is connected with a PPPoE server by a convergence switch, so that a network link from the intelligent home gateway at the user side to the PPPoE server is established.
An intelligent Home Gateway (SHG) is a network terminal device placed in a Home of a terminal user, on one hand, a Digital Subscriber Line (DSL) network is accessed by a PPPoE dialing function, and on the other hand, a plurality of devices, such as a personal computer, a Pad, a mobile phone, and the like, of the user can share the same DSL network connection service, and the current Home Gateway can also provide applications such as file caching, video acceleration, and the like, and even can install user-defined applications and services to provide customized services.
Service Subscription (Subscription) refers to the Subscription of the broadband service of the operator, each service Subscription has a Subscription number SID identifier, and in the example shown in fig. 1, there are n Subscription numbers, which are from 1 to n, respectively. In life practice, a user usually subscribes to a broadband service, i.e. single dialing mode, and for the sake of brevity, the present invention is only described by taking the single dialing mode as an example, however, the solution of the present invention is also applicable to multiple dialing modes.
When a user needs to access the Internet, a dialing program resident on the intelligent home gateway dials up to connect with a PPPoE server, and the PPPoE is connected with the Internet (Internet). After the dialing is successful, the intelligent home gateway establishes a logical link based on a tunnel with the PPPoE server, as shown by a dotted line in fig. 1, and all traffic accessing the internet passes through the logical link. Meanwhile, the PPPoE server allocates a network IP address for the home gateway, and simultaneously limits the internet access rate of the intelligent home gateway according to different subscription services, and the internet access rate is divided into an uplink rate and a downlink rate. The uplink Bandwidth (uplink Bandwidth) is the rate of data transmission to the internet by the smart home gateway, and is represented by bwu in units of MB/s, and the uplink rate of the subscription service with the subscription number SID is represented by bwu (SID). The downstream Bandwidth (downstream Bandwidth) refers to the rate of receiving data from the internet by the intelligent home gateway, and is represented by bwd in MB/s, and the downstream rate of the subscription service with the subscription number SID is represented by bwd (SID). Due to the limitations of DSL technology, the uplink rate is typically less than the uplink rate, i.e. bwu (sid) < bwd (sid).
The network connection represented by the solid line in fig. 1 is generally an ethernet connection, and each smart home gateway having such ethernet connection interoperability can also communicate, and such communication rate is far greater than the bandwidths bwu and bwd of the subscription service.
Referring to fig. 1 and fig. 2, the network connection shown by the dotted line in fig. 1 makes the intelligent home gateways form a fully connected network, the complete graph formed by the intelligent home gateways through ethernet is shown in fig. 2, each node represents an intelligent home gateway, and a network link that is not forwarded by other nodes exists between any two intelligent home gateways, that is, a undirected complete graph is formed. Due to the technical characteristics of ethernet, the bidirectional bandwidth between any two nodes is symmetrical, i.e. the sending and receiving rates between node u and node v are equal, so we use bw (u, v) to represent the network bandwidth between node u and node v. The bandwidth bw (u, v) between node u and node v is greater than the uplink rates bwu (u), bwu (v) and the downlink rates bwd (u), bwd (v) of the PPPoE logical link of node u or node v.
The present invention provides a method for sharing bandwidth resources, which is applied to a bandwidth resource sharing system, and the following describes the bandwidth resource sharing system in detail with reference to fig. 3. As shown in fig. 3, the bandwidth resource sharing system includes: the device comprises a controller, a bandwidth detection device, a charging device and a plurality of terminals. The charging device stores information such as the balance of the point account of each terminal and is responsible for transferring points among the accounts of each terminal. When a terminal joins, the terminal may obtain a certain credit (e.g., 1000 credits), that is, may request another terminal to assist in uploading 1GB of data. And each terminal periodically reports the price of the current assistance uploading of the terminal to the charging device, namely, the integral value received by the assistance uploading of 1MB of data is represented by P. The bandwidth detection device is responsible for monitoring the resource utilization rate dynamic information of each terminal, and each terminal reports the idle uploading bandwidth bwuf to the bandwidth detection device in a period which is generally less than the uploading time of one data block (generally 1M). The controller is used for responding to the data uploading request of the terminal and returning the set of the terminals meeting the cooperative uploading condition. Here, the terminals are nodes in fig. 2, and in the present invention, 3 terminals are taken as an example for explanation, and a complete diagram as shown in fig. 2 is formed between the terminals via ethernet.
The following describes the bandwidth resource sharing method of the present invention in detail with reference to fig. 3 and fig. 4, and as shown in fig. 4, the method includes the following steps:
step 401, receiving a data uploading request carrying the size D of the data to be uploaded sent by the terminal.
Specifically, when a certain terminal (for example, the terminal u) has a requirement for uploading data, a data uploading request is sent to the controller, and the data uploading request carries the size D of the data to be uploaded.
It should be noted that the data to be uploaded cannot be too large, D is generally smaller than 10M, and if D is larger than 10M, the data to be uploaded may be divided, and a data upload request may be initiated multiple times.
Step 402, determining the number k of terminals for assisting uploading according to the size D of the data to be uploaded, wherein k is greater than 1, and determining the k terminals for assisting uploading.
Specifically, the controller obtains the size D of the data to be uploaded from the data upload request, and determines the terminals for assisting upload and the number k of the terminals for assisting upload according to the size D of the data to be uploaded, where k is 2, and is a terminal v and a terminal w, respectively.
The controller determines k terminals for assisting uploading, and specifically includes:
acquiring integral information of each terminal and/or idle bandwidth of other terminals except the terminal initiating the data uploading request, and determining k terminals for assisting the uploading according to the integral information of each terminal and/or the idle bandwidth of other terminals except the terminal initiating the data uploading request.
That is, k terminals for assisting the upload can be determined in three ways. The first method is as follows: and determining k terminals for assisting the uploading according to the idle bandwidth of other terminals except the terminal initiating the data uploading request. The second method comprises the following steps: and determining k terminals for assisting the uploading according to the integral information of each terminal. The third method comprises the following steps: and determining k terminals for assisting the uploading according to the integral information of each terminal and/or the idle bandwidth of other terminals except the terminal initiating the data uploading request. These three ways are described in detail later.
And step 403, returning a data uploading response carrying the terminal identifiers and addresses of the k terminals to the terminal initiating the data uploading request, so that the terminal initiating the data uploading request equally divides the data to be uploaded into (k +1) shares, and respectively requesting the k terminals to upload one share of the data to be uploaded to the controller.
Specifically, after k terminals for cooperative uploading are determined by the controller, a data uploading response is returned to the terminal u which initiates the data uploading request, wherein the data uploading response carries the terminal identification and the address of the k terminals. When a data uploading response returned by the controller is received, the terminal u initiating the data uploading request equally divides the data to be uploaded into (k +1) shares, and the size of each share of the data to be uploaded is D/(k + 1). And the terminal u respectively requests the k terminals to upload one copy of data to be uploaded to the controller.
That is to say, the controller returns a data upload response to the terminal u, where the data upload response carries the terminal identifier and address (including IP address and port number) of the terminal v and the terminal w, the terminal u equally divides the data to be uploaded into 3 parts, the size of each part of the data to be uploaded is D/3, and the terminal u respectively requests the terminal v and the terminal w to upload the respectively allocated parts of the data to be uploaded to the controller.
And step 404, receiving the terminal initiating the data uploading request and each piece of data to be uploaded by the k terminals.
Specifically, under the condition that data transmission of each terminal is normal, the controller respectively receives data to be uploaded with the size of D/3, which are uploaded by the terminal u, the terminal v and the terminal w. The case of abnormal data transmission of the terminal occurs, and is described in detail later.
It can be seen from step 401 and step 404 that the controller determines the terminals for assisting the upload and the number k thereof, the terminals for uploading data divide the data to be uploaded into (k +1) parts according to the number of the terminals for cooperatively uploading data, the k terminals assist the terminals for uploading data to be uploaded to respectively and synchronously upload each part of the data to be uploaded, the uplink bandwidth resources of one terminal device are not limited to be utilized, but the uplink bandwidth resources of a plurality of terminal devices are reasonably utilized, and thus the reasonable allocation of the bandwidth resources is realized; the scheme does not need an operator background to modify the subscription service content of the user, is simple and flexible to realize, and does not need the user to pay the operator in addition.
It should be noted that, in step 403, the controller also carries the idle bandwidths of the k terminals in the data upload response, so that the terminal u initiating the data upload request determines the waiting duration T according to the data to be uploaded and the idle bandwidths of the k terminals.
The three ways of determining the k terminals for assisting the upload are described in detail below.
Referring to fig. 2, since the bandwidth bw (u, v) between node u and node v is greater than the uplink rates bwu (u), bwu (v) and the downlink rates bwd (u), bwd (v) of the PPPoE logical link between node u and node v. Therefore, a first mode can be adopted, and partial data is sent to the nodes with idle uplink bandwidth in the logical link for forwarding, so as to implement cooperative uploading. Taking node u as a data sending party as an example, when node u needs to send data to the internet, node u may send a part of data to node v adjacent to node u, and if the uplink bandwidth of the PPPoE logical link of node v has free capacity, node v helps node v forward to the address of the data receiving party in the internet, so as to realize that the rate of sending data by node u is greater than the uplink rate bwu (u) of its subscribed service and less than bwu (u) + bwu (v). The node u may request all other nodes in fig. 2 to upload cooperatively, so the upper limit of the uplink rate of the data sent by the node u is the smaller value of the sum of the uplink rates of the idle sending data of all the nodes in fig. 2 and the bandwidth of the smart home gateway corresponding to the node u connected to the access switch. Namely, it is
Limit(UploadSpeed(u))=MIN(∑(bwu(u)+bwu(υ)+bwu(w)+...),bw(u));
Since bw (u) is much larger than bwu (u), in general,
Limit(UploadSpeed(u))=∑(bwu(u)+bwu(υ)+bwu(w)+...)
because bwu (v) and bwu (w) are greater than or equal to 0, the uplink rate of the node u may be much greater than the uplink rate bwu (u) of its subscribed service, and meanwhile, the idle uplink bandwidth of other nodes may also be utilized.
Determining k terminals for assisting in uploading according to idle bandwidths of other terminals except a terminal initiating a data uploading request in a first mode, specifically comprising:
the controller acquires idle bandwidths of other terminals except the terminal initiating the data uploading request from the bandwidth detection device, sorts the terminals from large to small according to the respective idle bandwidths, and selects the first k terminals in the sorting queue as terminals for assisting the uploading.
However, the non-cost cooperative uploading mechanism has a safety defect, if a certain terminal maliciously uploads a large amount of useless data, other terminals can upload a large amount of useless data for the malicious terminal free of charge, and thus uplink bandwidth resources of each terminal in the system are exhausted, and normal cooperative uploading requests of other terminals cannot be processed.
To address this issue, another embodiment of the present invention introduces an incentive mechanism to change free collaborative uploads to reward behavior based on point pricing (i.e., the aforementioned schemes of approach two and approach three).
In the technical solutions of the second and third modes, k terminals for assisting in uploading are determined according to the integral information of each terminal, or according to the integral information of each terminal and/or the idle bandwidth of other terminals except the terminal initiating the data uploading request.
The point information of each terminal may include: and the payment credit B can be provided by the terminal initiating the data uploading request and is carried in the data uploading request. That is, in step 401, the data upload request sent by the terminal u to the controller not only carries the size D of the data to be uploaded, but also carries the payment credit B that the terminal u can provide.
Before the controller determines the number k of terminals for assisting uploading according to the size D of the data to be uploaded, whether the terminals for cooperative uploading can be allocated to the terminal initiating the data uploading request is determined, and the following steps are specifically executed:
the controller acquires a payment point B carried in the data uploading request, acquires the point balance of the terminal initiating the data uploading request from the charging device, and compares the point balance of the terminal initiating the data uploading request with the payment point B.
And if the integral balance of the terminal initiating the data uploading request is greater than or equal to the payment integral B, determining k terminals for assisting the uploading according to the integral information of each terminal and the idle bandwidth of other terminals except the terminal initiating the data uploading request, or according to the integral information of each terminal.
If the point balance of the terminal initiating the data uploading request is less than the payment point B, the point balance initiating the data uploading request is not enough to pay points to the terminal for cooperative uploading, so that the controller does not support cooperative uploading, a data uploading response is returned to the terminal initiating the data uploading request, at the moment, the data uploading response does not carry any terminal identification and address information, and the terminal initiating the data uploading request can only upload data by itself.
Further, the point information of each terminal may further include a point offer P for assisting the other terminals in uploading unit data flow, where P is a point received by assisting in uploading unit data (e.g., 1M data), and P is reported to the charging device by each terminal periodically.
A process of determining k terminals for assisting in uploading in the second and third modes is shown in fig. 5, and may include the following steps:
step 501, obtaining the integral quotation P of the data unit flow rate assisted by other terminals from the charging device.
Specifically, the integral quotation P for assisting the uploading of the data unit flow is reported to the charging device periodically, and after the number k of the terminals for assisting the uploading is determined, the controller acquires the integral quotation P for assisting the uploading of the data unit flow from other terminals to the charging device.
In step 502, the number N of terminals with P less than or equal to the bonus point B/k and the number of terminals with P less than or equal to B/k are determined.
Specifically, the controller calculates reward points B/k which can be acquired by each terminal for collaborative uploading, compares P of each acquired terminal with the reward points B/k, and determines the terminals of which P is less than or equal to the reward points B/k and the number N of the terminals of which P is less than or equal to B/k.
And step 503, comparing N with k, and if N is equal to k, using the terminal with P less than or equal to B/k as a terminal for assisting uploading, otherwise, executing step 505.
Specifically, if N is equal to k, the terminal with P less than or equal to B/k is used as a terminal for assisting uploading, and if N is not equal to k, the size of N and k needs to be further determined, that is, step 505 is executed.
Step 504, determine whether N is greater than k, if yes, go to step 505, otherwise, end the process.
Specifically, if N > k, it is stated that the number N of terminals capable of collaborative uploading currently is greater than the determined number k of terminals capable of collaborative uploading, then k terminals need to be further selected from the N terminals, that is, step 505 is executed.
If N < k, it indicates that the number of terminals capable of assisting in uploading is insufficient, the process is ended, and the controller returns a data uploading response to the terminal initiating the data uploading request, at this time, the data uploading response does not carry any terminal identifier and address information, and the terminal initiating the data uploading request may give up the collaborative uploading, or add the payment score B and re-initiate the data uploading request.
And 505, acquiring the idle bandwidths of the N terminals of which P is less than or equal to B/k from a bandwidth detection device.
Specifically, when N > k, the controller determines a final terminal for cooperative uploading according to the idle bandwidth of the terminal, that is, the controller acquires the idle bandwidth of N terminals where P is less than or equal to B/k from the bandwidth detection apparatus.
And 506, sorting the N terminals from large to small according to the idle bandwidth, and selecting the first k terminals in the sorting queue as terminals for assisting the uploading.
It should be noted that, after the terminal for collaborative uploading completes the collaborative uploading of part of the data to be uploaded of the device, the controller further requests the charging server to issue the reward points to the terminal for collaborative uploading that successfully uploads the data, and the process is specifically as follows:
and the terminal initiating the data uploading request respectively sends a cooperative uploading data request carrying each part of data to be uploaded to the k terminals so as to request the k terminals to upload the corresponding parts of data to be uploaded to the controller. And after receiving the response of assisting the upload of data returned by the k terminals, the terminal initiating the data upload request sends a credit payment request to the controller, wherein the credit payment request carries the terminal identification of the terminal successfully uploading data and the terminal identification of the terminal initiating the data upload request.
The controller sends a credit payment request carrying a payment credit B, a reward credit B/k, a terminal identifier of a terminal which successfully uploads data and a terminal identifier of a terminal which initiates a data upload request to the charging device, so that the charging device deducts B credits of the terminal which initiates the data upload request and pays the B/k credits to the terminal which successfully uploads the data.
The following describes in detail a process in which a terminal initiating a data upload request requests each terminal for collaborative upload of collaborative upload data with reference to fig. 6, where as shown in fig. 6, the process includes the following steps:
and 601, when receiving a data uploading response returned by the controller, acquiring the idle bandwidths of the k terminals carried in the data uploading response.
Specifically, the terminal u initiating the data upload request obtains the idle bandwidths of the k terminals from the data upload response.
Step 602, respectively calculating the duration of uploading one of the data to be uploaded by the k terminals according to the idle bandwidth of the k terminals and the size of each of the data to be uploaded, and selecting the maximum duration as the waiting duration T.
Specifically, the terminal u initiating the data uploading request respectively calculates the duration of uploading one of the data to be uploaded by the k terminals according to the idle bandwidth of the k terminals and the size of each data to be uploaded. The time length for uploading one of the data to be uploaded by the terminal is equal to the ratio of the size of the one of the data to be uploaded to the idle bandwidth of the terminal. And the terminal u initiating the data uploading request selects the maximum time length from all the time lengths as the waiting time length T.
And the waiting time T is the expected time spent by each terminal for uploading each piece of data to be uploaded, and if the waiting time is exceeded and the data is not uploaded, the uploading task of the terminal is considered to be failed.
Step 603, sending data uploading assisting requests carrying each to-be-uploaded data and the waiting time length T to the k terminals respectively, so that the k terminals upload one to-be-uploaded data to the controller, and stop uploading when the waiting time length is reached.
Specifically, the terminal u initiating the data upload request sends a data upload assisting request to the k terminals, where the data upload assisting request carries each piece of data to be uploaded and the waiting duration T. And the terminal receiving the request for assisting the uploading of the data uploads the data to be uploaded distributed by the terminal to the controller, and the uploading is stopped when the waiting time T is up, so that the task of assisting the uploading fails.
And step 604, receiving the upload assisting data responses returned by the k terminals, and acquiring the upload state identifiers carried in the upload assisting data responses.
Specifically, if the terminal successfully uploads the data to be uploaded distributed by the terminal, when the data uploading is completed, a data uploading assistance response is returned to the terminal u initiating a data uploading assistance request, where the data uploading assistance response carries a status identifier indicating that the uploading is successful.
And if the terminal does not successfully upload the data to be uploaded distributed by the terminal, returning a response of assisting the uploading data to the terminal u initiating the request of assisting the uploading data when the waiting time T is up, wherein the response carries a state identifier indicating the uploading failure.
Step 605, determining whether all the data to be uploaded are uploaded according to the uploading state identifier, if not, executing step 606, otherwise, ending the process.
Specifically, the terminal u initiating the request for assisting in uploading data judges whether all the data to be uploaded are uploaded according to the status identifier in the response of assisting in uploading data, and if the status identifiers indicating successful uploading are returned by all the k terminals, it indicates that all the k terminals are successful in uploading, the process is ended. Otherwise, the unsuccessfully uploaded data needs to be retransmitted, i.e. step 606 is executed.
Step 606, determining retransmission data according to the uploading state identifier, and sending a data uploading request carrying the size of the data to be retransmitted to the controller.
Specifically, the terminal u initiating the request for assisting in uploading data determines and integrates data to be retransmitted according to the status identifier indicating the uploading failure, and sends a data uploading request to the controller again, where the data uploading request carries the size of the data to be retransmitted, so that the controller determines the number m of terminals for assisting in uploading according to the size of the data to be retransmitted, and determines the m terminals for assisting in uploading. That is, if the data to be uploaded cannot be uploaded all at once, the data to be uploaded is re-uploaded again according to step 401 and step 404 until all the data to be uploaded are successfully uploaded.
It should be noted that the terminal u initiating the request for assisting in uploading data may determine, according to the size of the data to be retransmitted, that the terminal requesting cooperative uploading again assists in re-uploading, or that the terminal has the present device to complete data retransmission.
Further, after step 604, the process further includes the following steps: and sending a credit payment request carrying the terminal identifier of the terminal which successfully uploads the data and the terminal identifier of the equipment to the controller according to the uploading state identifier, so that the controller requests the charging device to complete deduction (payment) and reward (distribution) of credit.
According to the method and the device, the cooperative uploading terminal is selected by combining the idle bandwidth and the integral excitation mechanism of the terminal, so that the data uploading time can be greatly reduced, and the influence on the self-uploaded data of the cooperative uploading terminal can be reduced. Meanwhile, because the idle upload bandwidth bwuf is dynamically changed, the optimal collaborative upload terminal selected in each upload may be different, but the current optimal selection result can be guaranteed. By introducing the incentive mechanism, the network crash caused by massive data uploading of malicious nodes can be avoided.
Based on the same technical concept, an embodiment of the present invention further provides a controller, as shown in fig. 7, the controller may include: a receiving module 11, a first processing module 12 and a transmitting module 13.
The receiving module 11 is configured to receive a data uploading request which is sent by a terminal and carries a size D of data to be uploaded; and receiving the terminal initiating the data uploading request and the data to be uploaded by the k terminals.
The first processing module 12 is configured to determine, according to the size D of the data to be uploaded, the number k of terminals assisting in uploading, where k is greater than 1, and determine k terminals used for assisting in uploading; and the instruction sending module 13 returns a data uploading response carrying the terminal identifiers and addresses of the k terminals to the terminal initiating the data uploading request, so that the terminal initiating the data uploading request equally divides the data to be uploaded into (k +1) shares, and respectively requests the k terminals to upload one share of the data to be uploaded to the controller.
Preferably, the first processing module 12 is specifically configured to obtain the integral information of each terminal and/or the idle bandwidths of other terminals except the terminal initiating the data upload request, and determine k terminals for assisting upload according to the integral information of each terminal and/or the idle bandwidths of other terminals except the terminal initiating the data upload request.
Preferably, the point information of each terminal includes: and the payment credit B can be provided by the terminal initiating the data uploading request and is carried in the data uploading request.
Further, the controller may further include a second processing module 14, where the second processing module 14 is configured to obtain a payment credit B carried in the data upload request, and obtain a credit balance of a terminal initiating the data upload request from a charging device; and comparing the point balance of the terminal initiating the data upload request with the payment point B.
The first processing module 12 is specifically configured to, when the point balance of the terminal initiating the data upload request is greater than or equal to the payment point B, determine k terminals for assisting upload according to the point information of each terminal and idle bandwidths of other terminals except the terminal initiating the data upload request, or according to the point information of each terminal.
Further, the point information of each terminal also includes a point quotation P for assisting the other terminals in uploading the data unit flow.
The first processing module 12 is specifically configured to obtain, from the charging device, a point offer P for assisting the other terminals in uploading the data unit flow, and determine the number N of terminals where P is less than or equal to the reward point B/k and the number N of terminals where P is less than or equal to B/k; comparing N with k, and when N is equal to k, taking the terminal with P less than or equal to B/k as a terminal for assisting uploading; and when N is larger than k, acquiring the idle bandwidths of the N terminals of which P is less than or equal to B/k from a bandwidth detection device, sequencing the N terminals from large to small according to the idle bandwidths, and selecting the first k terminals in the sequencing queue as terminals for assisting the uploading.
Further, the receiving module 13 is further configured to receive a credit payment request sent by a terminal initiating the data upload request, where the credit payment request carries a terminal identifier of the terminal that successfully uploads data and a terminal identifier of the terminal initiating the data upload request; and the credit payment request is sent by the terminal initiating the data uploading request after receiving the data uploading assisting response returned by the k terminals.
The first processing module 12 is further configured to instruct the sending module 13 to send a credit payment request carrying the payment credit B, the reward credit B/k, the terminal identifier of the terminal that successfully uploads the data, and the terminal identifier of the terminal that initiates the data upload request to the charging device, so that the charging device deducts the B credits of the terminal that initiates the data upload request, and pays the B/k credits to the terminal that successfully uploads the data.
Preferably, the data upload response sent by the sending module 13 further carries the idle bandwidths of the k terminals, so that the terminal initiating the data upload request determines the waiting duration T according to the data to be uploaded and the idle bandwidths of the k terminals.
Based on the same technical concept, an embodiment of the present invention further provides a terminal, as shown in fig. 8, where the terminal may include: a sending module 21, a receiving module 22, and a data processing module 23.
The sending module 21 is configured to send a data upload request carrying a size D of data to be uploaded to the controller, so that the controller determines, according to the size D of the data to be uploaded, the number k of terminals used for assisting in uploading and k terminals used for assisting in uploading, where k is greater than 1.
The receiving module 22 is configured to receive a data upload response returned by the controller.
The data processing module 23 is configured to acquire terminal identifiers and addresses of k terminals carried in the data upload response, divide data to be uploaded into (k +1) shares, and instruct the sending module 21 to request the k terminals to upload one share of the data to be uploaded to the controller; and instructing the sending module to upload the data to be uploaded of the device to the controller.
Further, the terminal further includes a waiting duration calculation module 24, where the waiting duration calculation module 24 is configured to obtain the idle bandwidths of the k terminals carried in the data upload response; and respectively calculating the duration of uploading one of the data to be uploaded by the k terminals according to the idle bandwidth of the k terminals and the size of each of the data to be uploaded, and selecting the maximum duration as the waiting duration T.
The data processing module 23 is specifically configured to instruct the sending module 21 to send data upload assisting requests carrying each piece of data to be uploaded and the waiting duration T to the k terminals, respectively, so that the k terminals upload the allocated piece of data to be uploaded to the controller, and stop uploading when the waiting duration T arrives.
The receiving module 22 is further configured to receive responses to assist the upload of data returned by the k terminals.
The data processing module 23 is further configured to acquire an upload state identifier carried in the response of the upload assisting data, determine whether all the data to be uploaded is uploaded according to the upload state identifier, and determine to retransmit the data according to the upload state identifier if all the data to be uploaded is not uploaded; and instructing the sending module to send a data uploading request carrying the size of the data to be retransmitted to the controller, so that the controller determines the number m of the terminals for assisting the uploading according to the size of the data to be retransmitted, wherein m is greater than 1, and the m terminals for assisting the uploading are determined.
Further, the data processing module 23 is further configured to, after acquiring the upload state identifier carried in the response of the assisted upload data, instruct the sending module to send, to the controller, the credit payment request carrying the terminal identifier of the terminal that successfully uploads the data and the terminal identifier of the device according to the upload state identifier.
Further, the sending module 21 is further configured to report the idle bandwidth to the bandwidth detecting device periodically; and/or periodically reporting the integral quotation P for assisting the uploading of the unit flow of the data to the charging device.
It will be understood that the above embodiments are merely exemplary embodiments taken to illustrate the principles of the present invention, which is not limited thereto. It will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the spirit and substance of the invention, and these modifications and improvements are also considered to be within the scope of the invention.

Claims (6)

1. A method for sharing bandwidth resources, the method comprising:
the method comprises the steps that a terminal sends a data uploading request carrying the size D of data to be uploaded to a controller, so that the controller determines the number k of terminals for assisting uploading and k terminals for assisting uploading according to the size D of the data to be uploaded, wherein k is larger than 1;
when a data uploading response returned by the controller is received, acquiring terminal identifications and addresses of k terminals carried in the data uploading response, equally dividing data to be uploaded into (k +1) shares, and respectively requesting the k terminals to upload one share of data to be uploaded to the controller;
uploading the data to be uploaded of the equipment to a controller;
when a data uploading response returned by the controller is received, the method further comprises the following steps:
acquiring idle bandwidths of the k terminals carried in the idle bandwidths;
respectively calculating the duration of uploading one of the data to be uploaded by the k terminals according to the idle bandwidth of the k terminals and the size of each of the data to be uploaded, and selecting the maximum duration as a waiting duration T;
the respectively requesting the k terminals to upload one of the data to be uploaded to the controller specifically includes:
respectively sending data uploading assisting requests carrying each piece of data to be uploaded and the waiting time T to the k terminals, so that the k terminals upload the distributed piece of data to be uploaded to the controller, and stop uploading when the waiting time T is up;
receiving responses for assisting in uploading data returned by the k terminals;
after receiving the response of assisting in uploading data returned by the k terminals, the method further comprises:
acquiring an uploading state identifier carried in the response of the uploading assisting data, judging whether the data to be uploaded are all uploaded according to the uploading state identifier, and if not, determining to retransmit the data according to the uploading state identifier;
sending a data uploading request carrying the size of the data to be retransmitted to a controller, so that the controller determines the number m of terminals for assisting in uploading according to the size of the data to be retransmitted, wherein m is greater than 1, and determines the m terminals for assisting in uploading.
2. The method of claim 1, wherein after obtaining the upload status identifier carried in the assisted upload data response, the method further comprises: and sending a credit payment request carrying the terminal identification of the terminal which successfully uploads the data and the terminal identification of the equipment to the controller according to the uploading state identification.
3. The method of claim 1 or 2, wherein the method further comprises: reporting idle bandwidth to a bandwidth detection device periodically; and/or periodically reporting the integral quotation P for assisting the uploading of the unit flow of the data to the charging device.
4. A terminal, comprising: a sending module, a receiving module and a data processing module,
the sending module is used for sending a data uploading request carrying the size D of the data to be uploaded to the controller, so that the controller determines the number k of terminals for assisting uploading and k terminals for assisting uploading according to the size D of the data to be uploaded, wherein k is larger than 1;
the receiving module is used for receiving the data uploading response returned by the controller;
the data processing module is used for acquiring terminal identifications and addresses of k terminals carried in the data uploading response, equally dividing data to be uploaded into (k +1) shares, and indicating the sending module to respectively request the k terminals to upload one share of the data to be uploaded to the controller; the instruction sending module uploads the data to be uploaded of the equipment to the controller;
the system further comprises a waiting duration calculation module, wherein the waiting duration calculation module is used for acquiring the idle bandwidths of the k terminals carried in the data uploading response; respectively calculating the duration of uploading one of the data to be uploaded by the k terminals according to the idle bandwidth of the k terminals and the size of each of the data to be uploaded, and selecting the maximum duration as a waiting duration T;
the data processing module is specifically configured to instruct the sending module to send data uploading assistance requests carrying each piece of data to be uploaded and the waiting duration T to the k terminals, respectively, so that the k terminals upload the allocated piece of data to be uploaded to the controller, and stop uploading when the waiting duration T is reached;
the receiving module is further used for receiving the response of assisting in uploading data returned by the k terminals;
the data processing module is further used for acquiring an uploading state identifier carried in the response of the uploading assisting data, judging whether the data to be uploaded are all uploaded according to the uploading state identifier, and determining retransmission data according to the uploading state identifier if the data to be uploaded are not all uploaded; and instructing the sending module to send a data uploading request carrying the size of the data to be retransmitted to the controller, so that the controller determines the number m of the terminals for assisting the uploading according to the size of the data to be retransmitted, wherein m is greater than 1, and the m terminals for assisting the uploading are determined.
5. The terminal of claim 4, wherein the data processing module is further configured to, after obtaining the upload state identifier carried in the response for assisting the upload data, instruct, according to the upload state identifier, the sending module to send, to the controller, the credit payment request carrying the terminal identifier of the terminal that successfully uploads the data and the terminal identifier of the device.
6. The terminal of claim 4 or 5, wherein the sending module is further configured to report an idle bandwidth to the bandwidth detecting device periodically; and/or periodically reporting the integral quotation P for assisting the uploading of the unit flow of the data to the charging device.
CN201610140457.1A 2016-03-11 2016-03-11 Bandwidth resource sharing method and device Active CN105827695B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610140457.1A CN105827695B (en) 2016-03-11 2016-03-11 Bandwidth resource sharing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610140457.1A CN105827695B (en) 2016-03-11 2016-03-11 Bandwidth resource sharing method and device

Publications (2)

Publication Number Publication Date
CN105827695A CN105827695A (en) 2016-08-03
CN105827695B true CN105827695B (en) 2020-05-22

Family

ID=56987170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610140457.1A Active CN105827695B (en) 2016-03-11 2016-03-11 Bandwidth resource sharing method and device

Country Status (1)

Country Link
CN (1) CN105827695B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131365B (en) * 2018-11-01 2022-11-08 金山云(深圳)边缘计算科技有限公司 Method and system for utilizing idle network resources of networking equipment
CN113671844A (en) * 2021-08-06 2021-11-19 深圳市欧瑞博科技股份有限公司 Intelligent device control method and device, intelligent control device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244670A (en) * 2010-05-13 2011-11-16 北京大学 Idle node assistance method for P2P (peer-to-peer) file transmission
CN103024855A (en) * 2012-11-30 2013-04-03 重庆邮电大学 Information forwarding method in opportunity network based on node excitation
CN103685373A (en) * 2012-09-10 2014-03-26 联想(北京)有限公司 Data uploading device and data uploading method
CN103685468A (en) * 2013-11-18 2014-03-26 上海交通大学 Mobile terminal cooperation download method based on self-organizing network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832290B2 (en) * 2007-02-23 2014-09-09 Microsoft Corporation Smart pre-fetching for peer assisted on-demand media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244670A (en) * 2010-05-13 2011-11-16 北京大学 Idle node assistance method for P2P (peer-to-peer) file transmission
CN103685373A (en) * 2012-09-10 2014-03-26 联想(北京)有限公司 Data uploading device and data uploading method
CN103024855A (en) * 2012-11-30 2013-04-03 重庆邮电大学 Information forwarding method in opportunity network based on node excitation
CN103685468A (en) * 2013-11-18 2014-03-26 上海交通大学 Mobile terminal cooperation download method based on self-organizing network

Also Published As

Publication number Publication date
CN105827695A (en) 2016-08-03

Similar Documents

Publication Publication Date Title
US9350624B2 (en) Dynamic assignment of connection priorities for applications operating on a client device
KR100959523B1 (en) Method of managing quarlity of service for users and system for performing the same
WO2019038684A1 (en) Server request management
EP2913978A1 (en) Business scheduling method and apparatus and convergence device
JP5590146B2 (en) Service quality management system and method
JP2009135916A (en) Method and system for managing information
KR102266089B1 (en) Mec(mobile edge computing) system and control method thereof
KR102580332B1 (en) Method and Apparatus for Controlling Congestion in Communication Systems with Services
WO2018152825A1 (en) Management method, and management unit and system
US20180077293A1 (en) Policy and Charging Enforcement Function Apparatus, Online Charging Apparatus, and Online Charging Method
US20170163545A1 (en) Traffic Control Method and Apparatus
CN105827695B (en) Bandwidth resource sharing method and device
CN109194993B (en) Media file distribution method and file distribution platform
CN110248138B (en) Method and device for audio and video conference
WO2016110063A1 (en) Network control method and device
KR20100052025A (en) Bandwidth sharing type content providing system and method
RU2522995C2 (en) Method and apparatus for creating peer-to-peer group in peer-to-peer application and method of using peer-to-peer group
CN114143903A (en) Method, device, equipment and medium for configuring network slice PDU session
CN115996188A (en) Service scheduling method, device, equipment and computer readable storage medium
CN107786765B (en) Information interaction method and device
JP2006246119A (en) Network system for accomplishing quality guaranteed service using priority control, call reception determining method, and program therefor
KR100415583B1 (en) Service Management System and Method for supporting Differentiated Service on the Internet
CN105610656B (en) Uplink bandwidth resource sharing method and system
CN106304413B (en) A kind of delet method of RX interface session
JP6829290B2 (en) Information processing device and information processing method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant