Embodiments described herein relate generally to a wireless device and method of operating same.
The technology area covered by the embodiments involves a hierarchical mobile communications system comprising a range of heterogeneous communication subsystems. These includes a communications backbone (referred to herein simply as “backbone”). The backbone is either wired, wireless or a combination of both. Such a backbone may include fiber-optics, Internet infrastructure, Base Transceiver Station (BTS), WiMAX, LTE, or any 3G-4G-5G related (mobile or wireless) communications technologies that connect to the core network. The subsystems further include a set of wireless backhauls (referred to herein simply as “backhaul”), such as clusters of well-connected wireless networks such as (multi-hop) mesh or sensor networks, IEEE 802.11, WiFi direct, IEEE 802.15.4, 6LoWPAN, NFC, M2M, device-to-device, LTE-direct, relay networks, or other 5G related (peer-to-peer or ad hoc wireless) communications technologies as well as an access point (AP). APs represent nodes that are part of the wireless backhaul system and which provide a connection with the communications backbone. The AP may be fixed and trusted (e.g. managed by a network operator), or mobile and untrusted (e.g. opportunistic and free-will). Wireless devices are referred to herein as nodes.
Many heterogeneous network approaches designed to blend backhaul and backbone technologies have in common the principle of cooperation in the sense of adhering to a specific protocol specification, which may, for example, be realised as a channel allocation and/or a data packet routing or offloading protocol as dictated by the regulator, the standard, or the ISP. Backhaul wireless networks (P2P, D2D, relay or mesh networks etc.) may be therefore be classified according to the protocol with which they cooperate as follows:
One of the problems faced by conventional routing schemes concerns the mechanism that provides a sufficient incentive for collaboration, and that protects against selfish (economically rational) or malicious nodes (free-riders) or unfavourable communication conditions such as the curse of the boundary nodes. From a technical point of view, it is not in a node's interest to forward arriving packets. However, refusal to cooperate will severely degrade the network and even impair the node's own performance. A number of prior-art approaches used to encourage packet-forwarding can be categorised into two general types, Credit-based methods and Reputation-based systems that include community enforcement schemes that, by means of detecting and punishing misbehaving nodes seek to encourage cooperation of the nodes.
Reputation based systems suffer several problems. They do not provide a direct incentive for collaboration. This is unfavourable in highly dynamic conditions in which mobile nodes might change location or even change their identification credentials. They depend on the ability of nodes to monitor peer nodes forwarding packets, and analysing these packets in order to detect an attack.
In typical credit-based approaches, a node receives some credit for forwarding a packet, and such credits are deducted from the original sender (or destination). While in many works the credit mechanism requires tamper-proof hardware, it is also possible to rely on a record of electronic receipts, which a node can use to claim credit from a Credit Clearance Service. Credit is, however, typically paid by the originating sender and not the destination node, to help prevent against flooding attacks, in which rogue senders send packets to the destination repeatedly. However, in the download scenario, in which a node does not spend energy to transmit, the node has no incentive to request data from (and pay) the ad hoc network, if it is possible to request this data directly from the source. Thus, the known credit-based approaches cannot be adapted to the backbone and backhaul system architecture.
In credit-based systems credit may need to be paid to every node that forwards a packet, regardless of whether or not the packet reaches its destination. This gives rise to denial-of-service and collusion attacks. For example, if an intermediate node does not forward the packet, then the sender will still need to pay the previous packet-forwarding nodes. However, this allows a collusion attack in which intermediate nodes fabricate packet-forwarding receipts in order to claim credit for data packets which they have not really forwarded. If, otherwise, credit is only paid when a packet reaches its destination, then nodes will have a reduced incentive to forward a packet in fear that a subsequent node may not forward the packet.
Moreover, in credit-based systems in which a fixed amount of credit needs to be paid to every node that forwards packets malicious intermediate nodes may extend the packet forwarding route, including forwarding packets with a delay, so that more of them receive credit for the sender.
In the following, embodiments will be described with reference to the drawings in which:
According to an embodiment there is provided a wireless device comprising a processor and memory storing. The memory stores executable instructions and rules defining benefits to be received by wireless devices and costs incurred by the wireless devices when the wireless devices participate in data transfer in a network. The instructions, when executed by the processor, cause the device to store, if the wireless device forms part of a network comprising other wireless device and a backbone, information detailing the topology of the network and/or the status of other devices of this network, based on the rules and the topology information estimate the costs and/or benefits of transmitting data to the backbone via other wireless devices of the network and based on the rules estimate the costs and/or benefits of transmitting data directly to the backbone. One or both estimates combine an estimation of the technical costs of data transmission, their compensation payments and path length dependent network benefits. The instructions, when executed by the processor, further cause the device to determine whether the costs and/or benefits of a direct exchange with the backbone outweigh those of data exchange with the backbone via other nodes.
The device may only participate in data transfer if the balance between costs and benefit of the chosen route is positive.
In an embodiment the wireless device estimates, based on the rules, if a next wireless device on a route to the backhaul is more likely, based on a cost/benefit analysis, to exchange data with further wireless devices in the data exchange with the backhaul or to exchange data directly with the backhaul and, based on the cost/benefit determination for the next wireless device, revise the estimate of the cost and/or benefits of transmitting data to the backbone via the other wireless devices.
In an embodiment the wireless device further repeats the estimation for a next wireless device until it is determined that the next wireless device is likely to exchange data directly with the backhaul.
In an embodiment the wireless device further comprises a cache storage, the instructions causing the processor, when executed to check whether or not predetermined data is stored in the cache upon receipt of a request from another wireless device for transmission of the predetermined data, perform a cost/benefit analysis of transmitting the predetermined data to the other wireless device and, if the cost/benefit analysis indicates that transmission of the predetermined data is advantageous for the wireless device, read the predetermined data from the cache and transmit the read data to the other wireless device. Transmission of the predetermined data is, for example, advantageous for the wireless device if the benefits and/or recompense derived or received by the wireless device outweigh the technical costs incurred by the device, for example in the form of battery drain.
In an embodiment the instructions when executed further cause the device to perform said estimates following receipt of a request from another wireless device to transmit data to or from the backhaul.
In an embodiment the instructions when executed further causing the device to use a route discovery protocol to form an initial estimate of the number of wireless devices likely to be involved in data transmission to/from the backhaul and form an initial estimate of the costs and/or benefits of transmitting data via other wireless devices in the network using a route discovered using the discovery protocol.
In an embodiment the topology information comprises and index table that includes details of the location of other wireless devices in the network and/or information of the data transmission services other wireless devices in the network are likely to participate in.
In an embodiment an instance of the RPL protocol is used to update the index table and/or to discover a parent wireless device and/or updating the index table by using data received directly from the backbone. The update protocol may be part of RPL, which in turn, is part of 6TiSCH.
In an embodiment the instructions, when executed, further cause the device to participate in data exchange via other wireless devices, directly with the backbone or by supplying data stored in cache, depending on the, in view of the performed cost/benefit analysis, most favourable manner of participating or to refuse participation if the costs of doing so outweigh the benefits.
In an embodiment the instructions when executed, further causing the device to receive compensation for data communication services rendered to other wireless devices and, if the device has initiated a data exchange, pay other wireless devices for data exchange services rendered.
In an embodiment the rules define the benefits and costs such that a net benefit accrued by a wireless device participating in data transmission is the same irrespective if the wireless device participates in the forwarding of data received from another wireless device to a named destination in an upload or in a download scenario, or a combination of both.
In an embodiment a service cost is estimated and credited or debited to wireless devices that participate in a wireless multihop backhaul. This cost provides an incentive for increasing the efficiency of the network by means of relaying data through the backhaul.
In an embodiment the technical cost of an indirect multihop backhaul route are estimated, as compared with the technical cost of a direct access communication link, and used a potential saving (difference) in order to calculate a service cost, which service cost is shared among the wireless devices participating in the wireless multihop backhaul in the form of a service benefit.
In an embodiment a wireless backhaul network comprises a number of aforementioned wireless devices, a backbone and a credit server allocating earned or spent credits to the wireless devices. The wireless devices and the backbone are in or can establish wireless communication channels between them to form a network.
In an embodiment communication links between the wireless devices and/or wireless device(s) and the backbone are delay tolerant.
In an embodiment the devices are capable of instantiating an ad hoc wireless network by using Wi-Fi mesh, 6LoWPAN, or LTE direct.
In an embodiment the network is a Wireless mesh/sensor network, a Wi-Fi direct network, a LTE direct network, a delay-tolerant networks, an Internet of Things network, a machine to machine network or a 5G communications network.
According to an embodiment there is provide a method of operating a wireless device comprising a processor and memory storing executable instructions and rules defining benefits to be received by wireless devices and costs incurred by the wireless devices when the wireless devices participate in data transfer in a network. The method comprises storing, if the wireless device forms part of a network comprising other wireless device and a backbone, information detailing the topology of the network, based on the rules and the topology information estimating the costs and/or benefits of transmitting data to the backbone via other wireless devices of the network and based on the rules estimating the costs and/or benefits of transmitting data directly to the backbone. One or both estimates combine an estimation of the technical costs of data transmission, their compensation payments and path length dependent network benefits. The method further comprises determining whether the costs and/or benefits of a direct exchange with the backbone outweigh those of data exchange with the backbone via other nodes.
According to an embodiment there is provide a method of operating a wireless network comprising a plurality of wireless devices and a backbone. The method comprises one of the wireless devices initiating data upload to the backbone or a data download from the backbone, the initiating wireless device estimating, based on rules defining benefits to be received by wireless devices and costs incurred by the wireless devices within the network when the wireless devices participate in data transfer in a network and on information of the topology of the network formed by the wireless devices, the costs of uploading or downloading the data via other wireless devices in the network, the initiating wireless device estimating the costs of uploading or downloading the data directly to/from the backbone, determining whether the costs and/or benefits of a direct data exchange with the backbone outweigh those of data exchange with the backbone via other nodes and the initiating wireless device initiating the upload or requesting the download directly from the backbone or via the other wireless devices based on the determination. One or both estimates combine an estimation of the technical costs of data transmission, their compensation payments and path length dependent network benefits.
Preferred embodiments enable indirect multi-hop backhaul technologies and direct backbone technologies to co-exist in a self-evolving, decentralised, and robust manner. Fairness, system functionality, efficiency, scalability are hereby maintained and defection and collusion attacks are discouraged. Waste and costly overheads are avoided. The backhaul system introduced in by the embodiments is a credit-based self-evolving routing scheme for devices capable of both direct and indirect communication routes to backbone applications and services, including a credit server. The payment to wireless devices to compensate them for the technical costs associated with participation in data transfer, hereinafter referred to as technical compensation cost is such that the incentives in the case of upload and download are the same. The method of the embodiments includes a trade-off between technical costs and credit based benefits that supports/enables a choice between direct and indirect communications. The method also pre-estimates of peer wireless devices' technical and credit trade-off, to estimate the length of an indirect route. As determinations are made by individual wireless devices the wireless devices and the method operated thereon are decentralised.
Telecommunication networks today are becoming larger, more complex and dynamic systems in order to support new services that demand increasingly higher data rates. This patent is based on the premise of heterogeneous networks comprising a hybrid infrastructure-based and decentralised ad hoc wireless mobile communications technologies that are able to autonomously re-configure, self-optimise and scale into complex networks.
A problem suffered by conventional technology concerns the mechanism with which mobile devices are given incentives to be part of a well-connected multi-hop wireless backhaul.
The backbone is part of the network connecting to be a core, centralised communication network providing access to application services. To connect to a particular service, for example provided on a web services database 140, each node can either connect to the gateway 120 directly (as indicated by the arrows labelled ‘backbone’ in
Nodes 110 at the edge of network 100 in particular may access the gateway 120 in a multi-hop fashion via the backhaul, as is the case for nodes N1 to N3. Multiple potentially overlapping multi-hop backhauls may exist simultaneously. Within a multi-hop backhaul each node is able to relay traffic to/from the backbone or forward to other relays in the backhaul, or even store data in a local cache to support a web/application service.
A node 110 of an embodiment has the option to access data or application services via two avenues:
Two further choices include:
These options are illustrated in
To enable a node 110 to make the relevant choice, a node 110 according to an embodiment stores and/or regularly updates current information about the multi-hop backhaul network architecture. This allows for the calculation of, for instance, a shortest multi-hop route (or similar) towards a backbone gateway, or more generally, the number of hops that a particular route may involve.
In an embodiment a credit based system is used to promote cooperation between wireless backhaul devices and sensors.
Using the stored up-to-date data regarding the network topology the nodes according to the embodiment calculate:
a) the technical/service cost (e.g. in terms of transmit power requirements) of uploading/downloading data directly from the backbone,
The service benefit is, in one embodiment, shared equally by all wireless backhaul participants along the multi-hop route implemented, and is provided by the backbone after the node that initiates a data request confirms that the request has been served. Using the above calculated quantities, a device or sensor node formulates cost/benefit inequalities and make a decision. In addition, and in order to guarantee a balance of the credit system, the request-initiating device/sensor agrees to pay a service cost when it uploads or downloads data to/from a peer backhaul node, which service cost is used to pay backhaul nodes the service benefit.
Upload multi-hop backhaul transmissions are less costly for the wireless device/sensor, for example in terms of energy consumption. Additionally a cooperation credit is acquired. This credit is also referred to herein as the service benefit and can be used to initiate data or application requests in the form of the service cost (and thus make further savings in future services).
In the case of download, the system assumes that any node will need to compensate a second node the cost of sending data to the first node, if the first node requests the second node to do so. In the embodiment this cost is not payable when the second node sends data to the first node, without the first node asking for it.
From the backbone's point of view, transmissions cost less (e.g. in terms of energy consumption) when the backhaul is used for download.
From a network point of view, data routes are more energy efficient, and self-organising both in upload and download backhaul cases. This could benefit, for example, smart personal APs.
A node 110 according to an embodiment maintains (in memory) an Index Table (e.g. by processing WiFi beacon signals, or by Rank information communicated by an instance of the RPL protocol), which comprises a set of Node Indexes (NI). Each NI contains information about a peer neighbouring node and, optionally, a set of indexes to data/application services that this node offers. In an embodiment the structure of the Index Table and NI maintains in memory the following information for nodes within the network.
Physical indexes: This includes a set of indexes that characterise one or more of:
The physical indexes can include a time sequence of related parameters that have been provided (e.g. broadcasted) by the backhaul node at different timestamps (t1, t2, and etc.) These parameters include identity, geo-positioning, access network, battery status and other device status information.
Service indexes: This includes a set of indexes to services the neighbouring node 110 is prepared to offer. Each one of this service indexes is, in an embodiment, further structured as follows:
The Index Table that each node 110 maintains may be updated in two ways. It may firstly be updated in a centralised manner, wherein each node 110 updating its Index Table directly from the Backbone. A second alternative may involve a route discovery protocol that enables each node to update and communicate its NI within a multi-hop backhaul. Route discovery protocols that might be used in this setting are well known in the art and it is consequently not necessary for such protocols to be described in detail as part of the present discussion. For example, aspects of the IETF 6TiSCH protocol specification, and in particular an instance of the RPL protocol are suitable for a decentralised updating of the NI.
The functional architecture of a node 110, denoted n1, is shown in
The Backhaul Service Updater 150 is further configured to evaluate a set of nodes 110 that are eligible to contribute towards serving a local or incoming communication request. Data to be uploaded/downloaded via a node 110 may be accompanied by a set of restrictions and/or requirements set by an initiating node 110. These may, for example, include reliability and delay requirements. Eligibility is determined by comparing the upload or download application requirements with the Service Indexes of the NI of the neighbouring nodes 110. That is, the initiating node 110 checks the Service Indexes from all neighbouring nodes in order to determine which of them are eligible, i.e. meet the download, upload, cache and delay service requirements set by the checking node 110. The Backhaul Service Updater 150 provides a set of eligible, service-specific nodes {NIY}.
The Path Length Estimator 160 is configured to estimate the likely number of hops required to reach the backbone, in case of a multi-hop backhaul route being chosen. This estimation uses the information provided by the Backhaul Service Updater 150 on the information relating to the set {NIY} of nodes. The Path Length Estimator 160 is configured to operate in accordance with an embodiment, as described in further detail below, to predict when it is likely that a peer node 110 will not use another hop and will instead serve the request directly from the backbone or the local cache.
The Physical and Credit Cost/Benefit Updater 170 enables the estimation of the payoff (i.e. the benefit minus the cost) incurred by handling a communication requests in different ways, ranging from ignoring a request (zero cost/benefit), serving a request from the local cache, forwarding the request to another node 110 or pushing/pulling data directly to/from the backbone. The operational details of this process are described in more detail further below.
The Cost/Benefit Register 180 maintains records of technical and service benefits and costs. The register 180 is configure to update estimate values, and to verify at a later stage whether or not these evaluations match the real service benefits obtained and service costs spent. The register 180 is also configured to securely communicate with the Credit Server 130 shown in
Costs and Benefits of a Credit System According to an Embodiment
In an embodiment a number of costs are defined to provide equal incentives to nodes 110 to use the backhaul, irrespective of whether participation in uploading or downloading is requested of them.
The Technical Cost CTn
Technical benefits are physical communications benefit, such as energy harvested, or an informatics/computation benefit (e.g. knowledge acquisition), or a value of caching data, that is feasible when contributing to communication between the nodes 110.
Service costs are virtual costs (or credit) a node 110 may need to pay or credit to another node. Two types of service cost, Backhaul Service Costs and Technical Compensation Service Costs, are referred to herein. Backhaul Service Cost CBH,Sn
Technical Compensation Service Costs CT,Sn
The technical compensation service cost is a function of the technical cost of downloading and in one embodiment:
Introduction the technical compensation service cost allows to unify the incentives for nodes to participate in upload and download scenarios in the backbone and backhaul setting.
The Service benefit BBH,S is a virtual benefit (credit) which is shared among the backhaul nodes that have contributed in successful backhaul communications (upload, download, or cache). In one embodiment BBH,S=CBH,T,Sn
Based on these rules of system, the equations that govern the setup and operation of backhaul communications can now be written as follows:
Case A: Upload
If the initiating node 110, n0, transmits directly to the backbone, the total payoff (which, in this case is the backbone technical cost of uploading) is:
Pn
For the backhaul avenue the total payoff is:
where, k is the number of nodes that are estimated to participate in the backhaul. As is clear from equation (2), the backhaul service cost BBH,S is not only credited from the initiating node to all other nodes. Instead, in the embodiment, the backhaul service cost BBH,S is distributed to all k nodes involved in the upload. In the embodiment the k nodes include the initiating node. It will, however, be appreciated that the inclusion of the initiating node is not essential and that, in another embodiment, the initiating node may be excluded from this calculation. The payoff/costs to the initiating node n0 is also diminished by the technical costs CBH,Tn
A simple, and conservative way to calculate k is to use the maximum number of nodes 110 that may participate in the communications, as provided by either the {NISY} set or, more specifically, by the Path Length Estimator 160 of the router shown in
The initiating node n0 compares Pn
If the backhaul is chosen over the backbone at this first stage, then the node n0 proceeds to determine whether or not the likely actions of the nodes further down the line on the backhaul affect the likely payback achievable in a manner to make it more economical or preferable in any different way to use the backbone directly after all.
The first intermediate node n1 downstream of n0 is known by n0 to calculate:
Equation (3) relates to the scenario in which node n1 takes the data it has received from node n0 via the backhaul and transmits it on to the backbone. The benefit achieved by node n1 in this scenario is half of the backhaul service cost BBH,S (as it shares this cost with node n0) but reduced by the technical costs CBB,Tn
Equation (4) relates to the scenario in which node n1 takes the data it has received from node n0 via the backhaul and transmits it on to the next node, n2, on the backhaul. The benefit achieved by node n1 in this scenario is a fraction k of the service cost BBH,S (as it shares this cost with node n0 as well as all other nodes along the backhaul) but reduced by the technical costs CBH,Tn
On this basis node n0 estimates the benefits and costs that first intermediate node n1 will calculate for different routes, i.e. Pn
More generally, if the request reaches an mth intermediate node nm, then all preceding nodes n0 to nm−1 may pre-estimate the possible payoffs for node nm and the subsequent choice nm will make between the backbone and backhaul avenue by comparing the following payoffs.
It becomes clear that the ability of any preceding node to pre-estimate the payoffs of subsequent nodes, allows the first node to validate and correct the initial conservative estimation of the route length and the quality of service.
Case B: Download
If the initiating node, n0, uses the backbone avenue, the total payoff (which, in this case is the backbone technical compensation service cost) is:
Pn
For the backhaul avenue the total payoff is:
It will be appreciated that for CBB,T,Sn
By comparing Pn
If the backhaul is chosen then the first intermediate node calculates:
The first term of equation (9) is the backhaul service charge paid by node n0 but shared between nodes n0 and n1, given that equation (9) calculates the benefits achieved by node n1 if node n1 downloads data from the backbone. The second term of question (9) is the technical service costs node n1 has to pay to the backbone to compensate it for the technical costs incurred by the backbone in sending the data to node n1. The third term of question (9) is the technical costs incurred by node n1 in sending the downloaded data on to node n0. The fourth term of equation (9) is the backhaul technical compensation service charge that node n0 pays node n1 for its services.
The first term of equation (10) is the backhaul service charge paid by node n0 but shared between all k nodes determined to likely be involved in the download. The second term of question (10) is the technical service costs node n1 has to pay to node n2 to compensate it for the technical costs incurred by node n2 in sending the data to node n1. The third term of question (10) is the technical costs incurred by node n1 in sending the downloaded data on to node n0. The fourth term of equation (10) is the backhaul technical compensation service charge that node n0 pays node n1 for its services.
More generally, the mth intermediate node nm will compute (and compare) the payoffs of the backbone and backhaul avenues as follows.
Considering that CBB,T,Sn
Uniform Download and Upload Process for Backhaul Node
In the most general case a backhaul node that receives a download or upload request (either from itself or a peer backhaul node) will have an option to 1) serve the request via a backbone avenue, b) serve the request via a backhaul avenue, c) serve the request via its local cache, and d) ignore the request.
Next, a more complete process of the backhaul system is given in
If the node offers no cache service the node estimates in step 230 the length of a conservative backhaul route. For example, this could be the length of a shortest path to the destination. In step 240, based on the route length calculation, the node 110 calculates the payoffs for using the backbone or the backhaul. If the request is self-initiated, then these payoffs, P(backbone) and P(backhaul), are calculated using equations (1) and (2) in the case of upload request, and from equations (7) and (8) in the case of download request, respectively. If, otherwise, the incoming request arrives from a peer backhaul node, then the node will calculate the intermediate backbone and backhaul payoffs using equations (5) and (6) in the case of upload request and equations (11) and (12) in the case of download request, respectively. Optionally, the node 110 also calculates, iteratively in one embodiment, the backbone and backhaul payoffs for sequent nodes in step 250. This calculation is used to estimate the route lengths of subsequent nodes in step 260. Based on this estimation the estimation of the backhaul route length and the calculation of the personal backbone and backhaul payoffs is repeated and updated in step 270.
In the case where the node is an intermediate node (that is, in the case where the request is not self-initiated, as checked in step 290), the node 110 checks if at least one of P(backbone) and P(backhaul) are positive. Only in this case does the node have an incentive to participate in the backhaul. Otherwise, the node will ignore the upload/download request (step 310).
In step 320, assuming that the node 110 has determined that it should communicate the upload or download request, the node 110 decides to communicate via the backbone (as per step 330), if in step 320 it is determined that P(backbone)≥P(backhaul), or communicate via the backhaul (as per step 340), otherwise.
Assuming a successful communication, if the request is a download request as determined in step 350, the node 100 registers the backbone or backhaul Technical Compensation Service Cost, depending on whether it has communicated via the backbone or the backhaul. This cost has two parts: one part concerns the cost the node expects to receive from the preceding node, and a second part concerns the cost the node expects to pay to the successive node of the route. In the case where the node participated in the backhaul network it will also register the Service Benefit (step 380). Further, if the node is the node that initiated the request (as determined in step 390) it will register the backhaul service cost (step 400). At some future time, following the end of the communication, the node 110 collates and aggregates its locally registered costs and benefits in order to check it out with the Credit Server.
It will be appreciated from the above that embodiments unify the incentives for downloading and uploading data within a backhaul in which free-will nodes are selfish and potentially malicious. The above discussed problem in peer-to-peer wireless networking is consequently solved.
From equations (9) to (12) above it is clear that, if a node nm was to store data that is likely to be requested for download by another node in cache, the node nm could serve the data request without further contact with the backhaul or the backbone. This means that a node servicing a download request from cache either avoids paying backbone technical compensation service costs (the second terms in equations (9) and (11) respectively) or the backhaul technical service compensation costs payable to the next node nm+1 upstream in the backhaul (the second terms in equations (10) and (12) respectively). Additionally, in the scenario in which the cache provides data that would otherwise have been acquired from other nodes in the backhaul, a node serving a data request from cache also limits the number k of nodes involved in the backhaul download, so that the fraction of the backhaul service cost credited to the node by the initiating node is higher than it would have been, had further backhaul nodes been involved. Nodes on the backhaul are consequently incentivised by the system of the embodiment to store data likely to be requested by other nodes in the backhaul in a download scenario in any free cache storage space that may be available.
It will be appreciated that the embodiment provides incentives for peer-to-peer devices to participate in backhaul data traffic. This is also advantageous for the operators of the network as they can transmit and receive data using lower transmission energy levels than are required for data exchange with the backbone. This may in turn reduce interference problems and can, as a consequence, aid better use of available bandwidth. Nationwide or ad hoc neighbourhood operators may consequently be encouraged to develop, or at least increase the density of networks.
Example Protocol Implementation: RPL and Wireless Mesh.
In the following an embodiments concerning implementation wireless sensor networks is discussed. A classical tree topology of a mesh network supported by the RPL and Trickle protocols is considered. The basic mechanisms of these protocols are as follows.
The method of the embodiment is implemented within the RPL/Trickle framework subject to the following modifications:
Using the above, nodes in mesh networks employing the backhaul modified RPL/Trickle framework:
Therefore, the modified protocol enables the network to operate as a mesh when short-range links are reliable (i.e. not too many hops are needed), and as a star network (i.e. direct links to the root gateway) when multi-hop routes lead to diminishing returns in terms of credit and energy expenditures.
In one embodiment the route length required for calculating shared service benefit is obtained by including an increasing hop number in the DIO (as Rank information).
Example Protocol Implementation: MANETs.
This embodiment considers the implementation of the above within mobile ad hoc networks that may be based on IEEE 802.11, such as WiFi direct, or alternative technologies such as LTE direct. The embodiment is applicable by modifications to MANET routing protocols (e.g. AODV or DRS) similar to the ones described for the RPL case study above.
Example Protocol Implementation: Delay Tolerant Networks (DTN).
In this embodiment implementation within delay and disruptive tolerant networks is considered. This involves ad hoc networks that are characterised by their lack of connectivity. In these challenging environments, classical ad hoc routing protocols such as AODV and DSR fail to establish routes. Instead, routing protocols must take to a “store and forward” approach, where data is moved and stored from hop to hop before it will eventually reach its destination.
One example of DTN may be used in Smart cities in which streets, parks and buildings being populated with sensors or so-called smart street furniture. For example New York's payphones are to be turned into Wi-Fi kiosks which people can connect to get the latest local info about their city (parking, traffic, pollution, etc). New York plans to install 10,000 of such kiosks (see http://www.mobility-trends.com/index.php/2014/11/new-yorks-payphones-to-be-turned-into-wi-fi-kiosks). Garbage bins in Finland will be installed with small waterproof sensors which measure how full the bins are, and where they are located so that collection trucks can plan their journeys more efficiently (see http://www.enevo.com).
In such example applications, information is not urgent (or critical), yet it is being routed straight into the core network (e.g. with the Wi-Fi kiosks acting as gateways connected to New York's wired underground infrastructure, and with Finish bin IPv6-enabled sensors connecting directly with cellular base stations. A flat rate data-contract with a local operator is included in the price of these sensors, sufficient to transmit the necessary data and publish it on a secure website.
In the following an adaptation of the backhaul algorithm to such an example is described.
In the embodiment the sensors have, in addition to their cellular communication link, also a short range low power communication capability e.g. 6LoWPAN. With 6LoWPAN, they can then use a network discovery protocol (e.g RPL/Trickle) and update and maintain their backhaul Index Table, as previously discussed. Each time a backhaul sensor wants to publish (upload) its current state it calculates the following. In this situation, the technical and service costs as well as the service benefit are as follows:
Technical Costs:
Routes are formed dynamically and reconfigure themselves with objective to save on transmission energy and data traffic credit.
Consider a network of N=200 identical sensor nodes residing in some 10×10 square deployment region. In this example distance units are kept arbitrary without loss of generality. For simplicity, we assume that nodes can connect (i.e. can successfully communicate and support a satisfactory data rate) if their mutual distance is less than 1. A network topology of this nature is shown in Figure
Now, suppose that a source node physically located at the bottom left corner of the region requires a service from the backbone in the form of uploading a picture or Electrocardiogram (ECG) data packets to a website, and that the backbone gateway (the destination node) is located at the top right corner. The source node updates its index table and can therefore run an algorithm which calculates for example the shortest path (in terms of hops) to the backbone gateway. Other routing algorithms can of course be supported. An example realization is shown below in
In this example all nodes on this path have the capability (through for example some dedicated channel e.g. TV white space capability, wired communication etc.) to communicate directly with the backbone gateway nk. However this route comes with a higher technical cost as compared with transmitting to the next backhaul device. We concretise all the above as follows.
At the beginning, node n0 calculates the technical cost of uploading its packets directly to the backbone gateway nk denoted by CBB,Tn
Pn
For the backhaul avenue, the transmit cost of n0 to n1 is also calculated and denoted using a similar but not necessarily the same cost function. In this example we use the same function as for the backbone avenue (i.e. the cube of the distance) and hence CBH,Tn
Note that that the above is only an estimate as n0 has assumed a conservative scenario where the service benefit is shared by k nodes. A less conservative estimate of the maximum number of backhaul participants could have been assumed, for example k−x>1. As will be shown, this would result in a speculated higher cooperation incentive and hence bias the backhaul avenue. This may not turn out however and so can be thought of as a risky option.
Therefore node n0 now formulates the following inequality
which in the above example realization is obviously true. Therefore, n0 forwards the data packet to n1. Note that if n0 was only a small number of hops from nk, then the above inequality may have not necessarily been satisfied. Also, we note that additional costs and benefits can be included on either side of the inequality above but are not accounted here for simplicity.
Node n1 receives the ECG data from n0 and updates its index table to re-calculate a shortest path to the nearest backbone gateway, which in a dynamic environment may have changed. In this example we assume that the network is stationary. The transmit cost of n1 to nk and to n2 are calculated and denoted by CBB,Tn
If this is true, n1 forwards the data to n2, otherwise directly uploads it to the backbone gateway nk. Note that there is no service cost to n1 since this has already been paid by the initiating node n0. Also note that n1 can make a less conservative estimate of the maximum number of backhaul participants k, for example k−x>2 which would result in a speculated higher cooperation incentive and hence favour the backhaul avenue. This may not turn out however and so can be thought of as a risky option.
More generally, for 0<m<k, node n0, receives the data packet from nm−1, and formulates the following inequality
If this is true, nm forwards the image to nm+1, otherwise uploads the image directly to the backbone gateway nk. Notice that as m increases, the technical cost of forwarding the image to nm+1 typically decreases due to nm+1 being closer to nk than nm. Also as m increases, the expected service benefit received decreases like ˜1/m since it will be shared equally with the cooperating nodes. Therefore, every node wants the inequality to fail as soon as possible as to get a bigger cut. The inequality however will not fail until nm is close enough to nk.
In the example realization presented in
Table 1 shows the calculated costs CBB,Tn
Consider the same setup and network realization as in Example 1/
Given that the equations calculating for the backbone and backhaul payoffs in the download case are the symmetrical with the ones in the upload case, the payoffs are exactly the same, the analysis made is Example 1 also applies in Example 2.
Whilst certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel devices, and methods described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the devices, methods and products described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/GB2015/052608 | 9/9/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2017/042523 | 3/16/2017 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20110299673 | Mello | Dec 2011 | A1 |
20120178462 | Kim | Jul 2012 | A1 |
20130316681 | Huang | Nov 2013 | A1 |
20140309927 | Ricci | Oct 2014 | A1 |
Number | Date | Country |
---|---|---|
2015-524195 | Aug 2015 | JP |
WO 2008021704 | Feb 2008 | WO |
Entry |
---|
JengFarn Lee, et al., “An incentive-based fairness mechanism for multi-hop wireless backhaul networks with selfish nodes.” IEEE Transactions on Wireless Communications, vol. 7, No. 2, 2008, pp. 697-704. |
Mohamed Elsalih Mahmoud, et al., “Credit-based mechanism protecting multi-hop wireless networks from rational and irrational packet drop.” Global Telecommunications Conference (GLOBECOM 2010), 2010 IEEE. IEEE, 2010, 5 pages. |
Altman, Eitan, et al. “A survey on networking games in telecommunications.” Computers & Operations Research 33.2, 2006, pp. 286-311. |
Dimitris E. Charilas, et al., “A survey on game theory applications in wireless networks.” Computer Networks 54.18, 2010, pp. 3421-3430. |
Zhu Han, et al., “Coalition games with cooperative transmission: a cure for the curse of boundary nodes in selfish packet-forwarding wireless networks.” Communications, IEEE Transactions on Communications, vol. 57, No. 1, 2009, pp. 203-213. |
Jianwei Huang, et al., “Distributed interference compensation for wireless networks.” Selected Areas in Communications, IEEE Journal on Selected Areas in Communications, vol. 24, No. 5, 2006, pp. 1074-1084. |
Diego Perino, et al., “A reality check for content centric networking.” Proceedings of the ACM SIGCOMM workshop on Information-centric networking. ACM, 2011, 6 pages. |
Vincent Douglas Park, et al., “A highly the adaptive distributed routing algorithm for mobile wireless networks.” INFOCOM'97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution, Proceedings IEEE. vol. 3. IEEE, 1997, 9 pages. |
Yuri Boykov, et al., “An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision.” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, No. 9, 2004, pp. 1124-1137. |
Sem Borst, et al., “Distributed caching algorithms for content distribution networks.” INFOCOM, 2010 Proceedings IEEE. IEEE, 2010, 9 pages. |
Naga Bhushan, et al., “Network Densification: The Dominant Theme for Wireless Evolution into 5G”, IEEE Communications Magazine, 5 G Wireless Communication Systems: Prospects and Challenges, Feb. 2014, 8 pages. |
Steven W. Peters, et al., “Relay Architectures for 3GPP LTE-Advanced”, EURASIP Journal on Wireless Communications and Networking, vol. 2009, Article ID 618787, 2009, 14 pages. |
WG802.11—Wireless LAN Working Group, 4 pages http://standards.ieee.org/develop/wg/WG802.11.html. |
Ralf Pabst, et al. “Relay-based deployment concepts for wireless and mobile broadband radio”, IEEE Communications Magazine, vol. 42, No. 9, Sep. 2004, 10 pages. |
Sonja Buchegger, et al., “Performance analysis of the CONFIDANT protocol (cooperation of nodes: fairness in dynamic ad-hoc networks),” ACM MobiHoc, Jun. 2002, 11 pages. |
Sergio Marti, et al., “Mitigating routing misbehavior in mobile ad hoc networks,” ACM/IEEE Mobicom, Aug. 2000, 11 pages. |
International Search Report dated May 24, 2016 in PCT/GB2015/052608. |
Sheng Zhong, et al., “Sprite: A Simple, Cheat-Proof, Credit-Based System for Mobile Ad-Hoc Networks”, IEEE Infocom 2003: the Conference on Computer Communications, vol. 3, XP008131823, Mar. 2003, pp. 1987-1997. |
Number | Date | Country | |
---|---|---|---|
20180027473 A1 | Jan 2018 | US |