Transmitting Data across Networks
This disclosure relates to transmitting data in a communication system.
A communication system can be seen as a facility that enables communication sessions between two or more entities. The communications may comprise, for example, communication of voice, electronic mail (email), text message, multimedia, other data and so on. A communication system can be provided for example by means of a communication network and one or more compatible communication devices. The communication network may be a large network proving nationwide cover, continent wide cover or even global cover, or be provided by a local network.
A user can access a communication system by means of an appropriate communication device. A communication device of a user is often referred to as user equipment (UE). A communication device is provided with an appropriate signal receiving and transmitting apparatus for enabling communications, for example enabling fixed or wireless access to a communication network or communications directly with other users. Users may thus be offered and provided numerous services via their communication devices. Non-limiting examples of these services include two-way or multi-way calls, data communication or multimedia services or simply an access to a data communications network system, such as the Internet. A user who has accessed a system may also be provided broadcast or multicast content. Non-limiting examples of the content include downloads, television and radio programs, videos, advertisements, various alerts and other information.
In end-to-end communications communication between nodes may occur via a network where a stream of data transmitted from one or more start nodes across a network to one or more end nodes. This resulting connection may compete for communication resources with the connections belonging to other applications.
Networks proving end-to-end communications may include wireless communication networks such as cellular communication networks, wireless local areas networks (WLAN), or any networks that are based on the Internet Protocol (IP) or networks
which support quality-of-service (QoS) applications. It is noted that these are only examples of possible networks and that this disclosure is not limited to such networks.
The communication system and associated devices typically operate in accordance with a given standard and/or specifications which set out what the various entities associated with the system are permitted to do and how that should be achieved. For example, the standard or specification may define if a communication device is provided with a circuit switched carrier service or a packet switched carrier service or both, and how the carriers between the various entities are configured and how the resources are to be accessed and used. Communication protocols and/or parameters which shall be used for the connection are also typically defined. For example, the manner how the communication device can use resources provided by the communication system and how communication shall be implemented between communicating devices, the elements of the communication network and/or other communication devices is typically based on predefined communication protocols.
Thus the manner devices can communicate and how resources can be used is relatively strictly defined.
Control of the flow of data and management of connections may use an appropriate transport protocol. In the Internet Protocol based systems, Transmission Control
Protocol (TCP) is the most prevalent transport protocol, although others have been formulated, including the Stream Control Transport Protocol (SCTP) and the Datagram Congestion Control Protocol (DCCP). The currently standardised transport protocols manage transmission of data such that connections share communication resources and such resources are shared fairly between the connections. In other words, no connection is prioritised; the connections are transmitted at the "best effort" service quality that the Internet provides. Best effort methodology does not provide any guarantees that data are delivered or that a user is given a guaranteed quality of service level or a certain priority; users obtain unspecified variable bit rate and delivery time, depending on e.g. traffic load present. Service differentiation however offers enhanced services that improve the quality of service (QoS) provided to some connections. Similarly, the currently standardised Internet transport protocols provide transport connections to applications that transmit along a single path between the two communicating nodes.
Work has been done on multi-path transport protocols and standardisation efforts of such multipath variant of TCP are proposed. Under such schemes, communication resources are utilised according to "best effort" along all utilized paths. In the multipath transport protocols the aggregate resource consumption of a multipath connection along all used paths may be higher than that of a single-path connection. Furthermore certain advantages are further lost when the transmissions along several paths traverse a joint bottleneck resource.
In an embodiment of the invention, there is provided a method comprising: transmitting first data across a network according to a first scheme; estimating remaining network resources not used for transmitting said first data and; selecting a plurality of pathways in said network to transmit a second set of data according to a second scheme,
The second scheme may be a less than best effort scheme. First data may be initially selected to have priority over said second data. The first scheme may use quality of service measures. The first scheme may be a best effort scheme.
The network may comprise a plurality of nodes and links between them, and said first and second data are transmitted from one or more start nodes to, and received by, one or more end nodes via pathways comprising pathway segments of links. Any of said start, end or intermediate nodes may have multiple interfaces.
Preferably the plurality of pathways used in said second scheme uses none or a minimum of pathway segments or nodes which are used for said first scheme.
Preferably the plurality of pathways used in said second scheme use one or more pathway segments or nodes which are allocated for said first scheme.
A method may use Transmission Control Protocol or a modified Transmission Control Protocol.
In an embodiment of the invention is also provided a computer program comprising program code means adapted to perform the steps of any of the methods when the program is run on a processor and a computer readable medium comprising such a computer program.
In an embodiment of the invention is also provided an apparatus comprising: means for transmitting first data across a network according to a first scheme; means for estimating remaining network resources; and, means for selecting a plurality of pathways in said remaining network resources to transmit second set of data according to a second scheme.
The second scheme may be a less than best effort scheme. The first data may be transmitted on the basis of a prioritisation over said second data. The first scheme may use quality of service measures. The first scheme may use a best effort scheme.
The means for selecting a plurality of pathways preferably includes means for selecting pathways which use a minimum or none of the links or nodes which are used for said first scheme. The means for selecting a plurality of pathways may include means for selecting pathways which use one or more links or nodes which are used for said first scheme.
In an embodiment of the invention is also provided an apparatus comprising at least one processor, and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the apparatus to at least: transmit first data across the network according to a first scheme; estimate remaining network resources; select a plurality of pathways in said remaining network resources; and transmit said second data according to a second scheme.
Preferably the selector is configured to select pathways which use a minimum or none of the links or nodes which are used for said first scheme. Preferably the selector is configured to select pathways which use one or more links or nodes which are used for said first scheme.
In an embodiment of the invention is also provided: means for transmitting first data for transmission along one or more particular pathways according to a first scheme; means for transmitting second data for transmission along at least two pathways according to a second scheme; and means for ensuring that first data is transmitted as a priority.
The means for ensuring may include means for receiving control data from other network elements concerning said pathways and may include means for determining which data is to have priority for transmission.
In an embodiment of the invention is also provided a network element or control apparatus therefor having: means for transmitting first data for transmission along one or more particular pathways according to a first scheme; means for transmitting second data for transmission along at least two pathways according to a second scheme; and means for ensuring that first data is transmitted as a priority.
The network element or control apparatus may include means for selecting one or more of said pathways for said first and/or second data and said means for ensuring may include means for receiving priority information and/or instruction from other network elements.
The network element may have multiple interfaces to other network elements and may be a user equipment.
According to certain embodiments of the invention, there is provided congestion control algorithms that apply less-than-best-effort ("background") transmissions to multipath transport protocols.
In such embodiments, a transport protocol is provided which may be able to search for idle network capacity (resources) along multiple paths through the network and utilize these multiple paths for a particular transport connection. Such an approach may allow additional background transfer capacity and improved efficiency in utilisation of the idle path segments, such as radio interfaces in a mobile multi-radio terminal, even when there are delay- sensitive high-priority transfers ongoing in parallel, for example.
For a better understanding of the present invention and how the same may be carried into effect, reference will now be made by way of example only, and to the accompanying drawings in which:
Figure 1 shows an example of a communication system wherein embodiments may be implemented;
Figure 2 shows an example of a communication device;
Figure 3 shows an example of a controller for a base station;
Figure 4 shows a schematic representation of a simple network used to illustrate certain embodiments.
Figure 5a and 5b shows the implementation of first and second method steps according to an embodiment.
Figure 6 shows an alternative to the embodiment of figure 5 where additional pathways are used in the second step.
Figure 7 shows a flowchart of a general method according to certain embodiments.
In the following certain exemplifying embodiments are explained with reference to wireless or mobile communication systems serving mobile communication devices. Before explaining in detail the certain exemplifying embodiments, certain general principles of a wireless communication system and mobile communication devices are briefly explained with reference to Figures 1 and 2 to assist in understanding the technology underlying the described examples.
A communication device can be used for accessing various services and/or applications provided via a communication system. In wireless or mobile communication systems a wireless interface can be provided between mobile communication devices 1 and an
appropriate access system 10. It is noted that although only one access system 10 is shown in Figure 1, typically a number of access systems would be provided.
A communication device can be used for accessing various services and/or applications through the communication system. A mobile communication device 1 is typically provided wireless access via at least one base station 12 or similar wireless transmitter and/or receiver node of the access system. A base station site can provide one or more cells of the plurality of cells of a cellular communication system. A base station can be configured to provide a cell, but can also provide, for example, three sectors, each sector providing a cell. Each mobile communication device 1 and base station may have one or more radio channels open at the same time and may receive signals from more than one source.
A base station is typically controlled by at least one appropriate controller so as to enable operation thereof and management of mobile communication devices in communication with the base station. The control apparatus can be interconnected with other control entities. In Figure 1 the controller is shown to be provided by block 13. A control apparatus is typically provided with memory capacity 15 and at least one data processor 14. It shall be understood that the control apparatus and functions may be distributed between a plurality of controller units.
Non-limiting examples of appropriate access nodes are a base station of a cellular system, for example what is known as NodeB or enhanced NodeB (eNB) in the vocabulary of the 3GPP specifications. Other examples include base stations of systems that are based on technologies such as wireless local area network (WLAN) and/or WiMax (Worldwide Interoperability for Microwave Access).
The communication devices 1 can access the communication system based on various access techniques, such as code division multiple access (CDMA), or wideband CDMA (WCDMA). The latter technique is used by communication systems based on the third Generation Partnership Project (3 GPP) specifications. Other examples include time division multiple access (TDMA), frequency division multiple access (FDMA), space division multiple access (SDMA) and so on. An example of the more recent developments in the standardization is the long-term evolution (LTE) of the Universal
Mobile Telecommunications System. (UMTS) radio-access technology that is being standardized by the 3rd Generation Partnership Project (3 GPP). A further development of the LTE is referred to as LTE- Advanced.
In Figure 1 example the base station node 12 is connected to a wider communications network 20. A gateway function 16 may also be provided to connect to another network 18. This further network may also be connected to as further access system 19, which serves user devices. Any user device may serve as a start or end point. The other network may be any appropriate network, for example another communication network, a packet data network and so on. A communication system may thus be provided by one or more interconnect networks and the elements thereof, and one or more gateways may be provided for interconnecting various networks.
Figure 2 shows a schematic, partially sectioned view of a communication device 1 that can be used for communication with a communication system. An appropriate mobile communication device may be provided by any device capable of sending and receiving radio signals. Non-limiting examples include a mobile station (MS), a portable computer provided with a wireless interface card or other wireless interface facility, personal data assistant (PDA) provided with wireless communication capabilities, or any combinations of these or the like. A mobile communication device may be used for voice and video calls, for accessing service applications and so on.
The mobile device 1 may receive signals over an air interface 11 via appropriate apparatus for receiving and may transmit signals via appropriate apparatus for transmitting radio signals. In Figure 2 a transceiver is designated schematically by block 7. The transceiver may be provided for example by means of a radio part and associated antenna arrangement. The antenna arrangement may be arranged internally or externally to the mobile device.
A mobile device is also typically provided with at least one data processing entity 3, at least one memory 4 and other possible components 9 for use in software aided execution of tasks it is designed to perform, including control of access to and communications with access systems. The data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and/or in chipsets. This feature is denoted by reference 6. The controller may include functionality to
carry out any embodiments. The user may control the operation of the mobile device by means of a suitable user interface such as key pad 2, voice commands, touch sensitive screen or pad, combinations thereof or the like. A display 5, a speaker and a microphone are also typically provided. Furthermore, a mobile communication device may comprise appropriate connectors (either wired or wireless) to other devices and/or for connecting external accessories, for example hands-free equipment, thereto.
Figure 3 shows an example of a control apparatus 30 for a communication system, for example the access system of Figure 1. The control apparatus 30 can be arranged to provide control on communications by roaming mobile communication devices that have entered the area of the system. The control apparatus 30 may be configured to implement any of the embodiments. The control apparatus may control transmitting first data for transmission along one or more particular pathways according to a first scheme and transmission of second data for transmission along at least two pathways according to a second scheme and ensuring the first data is transmitted as a priority. It may ensure the types of schemes applicable to each data set. The control apparatus may also provide a prioritising function for data sets. The control apparatus 30 can be configured to execute an appropriate software code to provide the control functions as explained below in more detail. For this purpose the control apparatus comprises at least one memory 31, at least one data processing unit 32, 33 and an input/output interface 34. Via the interface the control apparatus can be coupled to a receiver and a transmitter of the system, for example a base station antenna, so that it can receive/transmit a transmission from/to the communication device. Control on communications by the communication device can then be based on this determination.
More detailed examples will now be described with reference to Figures 4 - 6. Figure 4 shows a communication system provide by a network 1 comprising start points (nodes) A and B connected via a network of nodes C, D, E, F, G, H, I , J, K, L and M to end nodes N and P. The end points may comprise, as well as the nodes N and P any other appropriate mode.
In embodiments described with respect to figures 5 and 6, two sets of data are to be transferred; one set from node A to end node N, and another data set to be transferred from node B to end node P.
Following the initial step where it is determined that end points A needs to transmit data to end point N whereas end point B needs to transmit data to end point P, it may be determined which of the data transfers should have priority when allocating resources of the network. In this example, it is determined that the transfer of data from B to P should take priority as this is more time critical i.e. delay sensitive such as real time data.
In the next step of this embodiment as shown in figure 5a, two pathways are selected and dedicated for the transfer of data from B to P as shown by bold lines; these pathways are i) B-C, C-E, E-F, F-G5 G-H, H-P and ϋ) B-C, C-E, E-F, F-L, L-M and M-P as indicated by the arrows. Along these pathways data transfer for the first set of data has priority. Of course alternative and/or additional pathways may be selected instead. There may for example m one embodiment be just one dedicated pathway selected at this stage.
In the next step, the remaining resources (for example, remaining capacity to transfer data) in the network which remains after the assigning of pathway(s) resources in the previous step is determined. In this step, a plurality of pathways are selected to transmit data from A to N as shown in figure 5b with wavy lines. This may or may not include unused links (e.g. pathway segments) or nodes used for transmission for the first data, (priority traffic) using any link or nodes links in the pathways i) and ii). In the example the pathways determined from the remaining capacity are iii) A-C, C-D, D-I, I-J, J- N and iv) A-C, C-D, D-F, F-J, J-H, H-N, as shown in figure 5b. In this example a common node F is used.
In the initial step in the embodiment described above, the connections (pathways) may be determined for a particular data flow which takes priority. The network may be then be analysed for remaining capacity (network resources) and multiple paths selected to transmit non-priority traffic. This may be because there may be a Quality of Service mechanism for the initial pathway(s) in place.
In alternative embodiments, the initial pathways chosen may be selected for a best- effort scheme. The background capacity may be determined and appropriate multiple paths selected which do not interfere or minimally interfere with the best effort pathway(s).
In many embodiments the scheme used to transmit the second (unprioritised) data is a "less than best effort" scheme.
Embodiments are not limited to two transmission schemes, and it would be clear to the skilled person that embodiments could be applied such that there may be three or more different schemes applied to transfer data across networks. For example, there may be three sets of data to be transferred across a network. One set may take priority over the other two sets, and of these two sets one data set may also take precedent leaving one set having the least priority. In other words a hierarchy may be established.
For example the first set may be assigned priority (e.g. because of a QoS mechanism) and pathway(s) assigned, the second set is then assigned a "best effort" scheme from the remaining network capacity/resources. The remaining network capacity after this step is then again determined and as a consequence, multiple pathways are chosen for the transfer of the third data set (having the lowest priority). The use of QoS mechanisms for the transmission schemes is not an essential feature. According to certain embodiments even the first scheme may not utilise such mechanisms.
In certain applications, it may be preferable that embodiments use a minimum or none of the links or nodes used in the prioritised pathway(s); common links/nodes are preferably avoided.
In other applications, in appropriate embodiments, it may be determined that one or more of the plurality of pathways chosen for the non-priority traffic (e.g. selected from remaining backing capacity) include one or more links (pathway segments) or nodes used for the prioritised pathways. This may be useful during periods where a path segment (link) or node is temporarily under-utilised for the priority traffic.
Figure 6 shows one further embodiment similar to the one described in relation to figure 5. As well as the pathways determined in the previous example with reference to figure 5a, other additional pathways are also determined to be utilised for the background (non-priority) transmission which include pathway links and nodes used for the prioritized transport. As well as pathways as before i) A-C, C-D, D-I, I-J, J- N and A-C ii) A-C, C-D, D-F, F-J5 J-H, H-N5 the additional pathways iii) A-C3 C-K, K- L, L-G, G-H, H-N and A-C, C-D, D-F, F-G, G-H, H-N are also used to transmit the unprioritised traffic (e.g. the less than best effort traffic). Of course further pathways could be additionally used as well. The skilled person would readily envisage any appropriate combination of the links to form pathway(s). Such embodiments have advantages where some links of the prioritised pathway segments have idle or low usage, or a relatively large data transfer rate capacity.
Figure 7 shows a flow diagram which schematically represents a method according to one embodiment. In step Sl first data is selected for transmission across a network; and in S2 second data for transmission across the network is selected. Of course the skilled person would be aware that there may be several sets of data which are transmitted across networks. Each set of data may represent for example a particular transmission different start point and end points (nodes). Alternatively, it might represent different types and/or priorities of data to be transferred from the same start and/or to same end point. The start and end nodes may or may not be the same for the two sets of data. At step S3 it is determined which data is to take priority. This may depend on various criteria such as minimum quality of service (QoS) standards for said data. For example one set of data may be transmitted for a connection for a real time application. In step S4 a first scheme to transmit prioritised data across said network is formulated. In step
S 5 the remaining network capacity is determined. In Step S 6 at least two pathways in said remaining capacity are selected to transmit said second set of data which uses a less than best effort scheme
In one embodiment of the invention, all the paths not used to transmit the prioritized
(e.g. best effort) data are used to transmit the remaining data. In other words a less- than-best-effort congestion control is applied to all paths.
A modified TCP protocol may be used. The TCP protocol can be extended to maintain congestion control and transport state separately for each communication path (or access interface in wireless terminal). In this context the transport state consists of variables needed to run the TCP algorithms correctly; for example related to round-trip delay measurements or retransmission timers. Additional TCP options may be used to communicate the multipath information to the destination node of the connection. TCP options are a standard extension TCP extension mechanism, and the implementation of adding new TCP options would be clear to the skilled person. The mechanism may be backwards-compatible with existing TCP implementations, and does not prevent traditional single-path communication if the other end of the connection does not support this extension.
The current best-effort, single-path transport protocols may not provide quality-of- service mechanisms. Qualities of service (QoS) mechanisms allow certain connections to have priority over other less time-delay critical connections. Such methodology is useful where networks support applications which use considerable communications resources e.g. transmit large amounts of data but which are not real-time critical. Most bulk data transfer applications such as email, file sharing, etc., fall into such a category. In recent years, peer-to-peer file sharing has emerged as a new class of bandwidth-hungry applications. Where best-effort transmission is applied to such traffic, such applications disturb other network applications that are often more urgent for user (such as web browsing). When only "best-effort" (BE) transport methodology is used, these applications may consume considerable bandwidth and may cause delays for delay-sensitive applications that run in parallel over the network, such as voice-over-IP. This may degrade the quality of service on these applications.
Recent work has been done in providing congestion control algorithms that allow transport connections to use only such communication resources along one path that normal "best effort" connections leave unutilised, creating "less-than-best-effort" single-path connections. Thus a method which uses "less than best effort" approach is a preferable option for many systems. Less-than-best-effort (LBE) has been proposed as a service for carrying non-critical traffic. The goal of LBE is to exploit unused network capacity, while protecting best-effort flows as well as flows transported by enhanced services, i.e. priority traffic. In the event of congestion, all LBE traffic is discarded before any BE packet is dropped. LBE may be regarded not only as a means
of protecting more important flows from congestion, due either to less-critical or to potentially damaging flows, but also as a way to shift network usage towards off- peak times. LBE is designed to use idle network capacity; flows using LBE experience a better quality of service whenever the critical-traffic load is low.
The transport protocols may also only transmit data for a particular connection, i.e. between two particular end nodes along a single path through the network. In many applications, nodes, (in particular end nodes) may be provided with multiple network interfaces. For example, mobile phones may be equipped with several radio interfaces such as e.g. WLAN, 3G5 and short range links such as the Bluetooth™. The transmission of data on a single path does not necessarily fully utilise all such multiple resources (interfaces) and such a restriction may unnecessarily degrades both the performance and robustness of communication. A transport protocol which uses multiple paths means that those connectivity disruptions along one path do not cause a connection to fail; data can be transmitted along remaining paths. Performance may also be improved in a similar fashion; a connection can use communication resources along multiple paths to transmit more data per time between the two communicating nodes.
Less-than-best-effort traffic may be allowed to be routed to paths with least load to gain more bandwidth and cause minimal disruption on paths that are transmitting higher-priority traffic. When there higher priority traffic is scheduled to be sent on a connection path, multipath TCP can be used to direct the less-than-best-effort traffic elsewhere, on paths that are less loaded. This may allow new performance optimizations that may offer performance improvements in the quality of the communication that the user perceives.
For example, an advantage of multipath LBE protocols over single-path less-than-best- effort protocols may be that because they only utilise unused network resources for transmission. Embodiments (where a multipath method is used which uses less-than- best-effort protocol) can continue to utilise idle resources of some paths even when resources along other paths are consumed by regular best-effort traffic, avoiding stalls and delays in transmission which may occur in a single path. For example, an advantage of such embodiments may be the introduction of a less-than-best-effort
service class that can be used for bulk transfers in a way that voluntarily frees up communication resources whenever regular best effort connections require them. Because bulk transfers, especially multipath bulk transfers, can consume a significant amount of network resources, this may be a desirable feature. As mentioned many peer-to-peer file sharing applications, for example, BitTorrent, use for example, application layer mechanisms to transmit data along multiple paths in a best-effort manner. Such prior art mechanisms have caused significant issues to network operators. A known example of multipath background transport protocol has been used to avoid these problems and benefits the wireless end-user by, for example adding more flexibility in how different applications can be scheduled and multiplexed over a set of wireless links. This may show improvements in performance and perceived quality of service.
The above described functions can be provided by means of appropriate software and data processing apparatus. Functions may be incorporated into any appropriate processing function of the end node and/or network nodes and may be provided by means of one or more data processors. The data processor may be provided by means of, for example, at least one chip. Appropriate data processing may be provided in a processing unit provided in association with a communication device, for example a mobile station. The data processing may be distributed across several data processing modules. The above described functions may be provided by separate processors or by an integrated processor. An appropriately adapted computer program code product or products may be used for implementing the embodiments, when loaded on an appropriate data processing apparatus. The program code product for providing the operation may be stored on and provided by means of an appropriate carrier medium.
An appropriate computer program can be embodied on a computer readable record medium. A possibility is to download the program code product to a communication device via a data network.
It is also noted that although certain embodiments were described above by way of example with reference to certain exemplifying architectures for wireless networks, technologies and standards, embodiments may be applied to any other suitable forms of communication systems than those illustrated and described herein.
It is also noted herein that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention.