The present invention is related to a dissemination of data through a network using piggybacking methods, whereby the piggyback data distribution is controlled by a communication subsystem formed by the nodes on the network.
The concept of information dissemination describes a process for forwarding messages to a multitude of nodes within a network.
Particularly in networks where the explicit creation of communication links between a source node providing data and a target node receiving the data provided consumes a considerable amount of resources like for instance in the form of power consumption or computing power, sending information to all nodes in the network is typically avoided. This applies in particular to a dissemination of a small amount of data with low priority that has to be sent to a great number of nodes. The described is above all relevant for networks where no broadcast medium is available. Sending a message to all nodes in such a network requires creating an explicit network connection for each target node thus depleting the resources available.
Sending information to all nodes in the network is further questionable in networks which architecture provides only a comparatively expensive broadcasting mechanism.
Information dissemination schemes are known for very specialised domains like e.g. sensor networks as described in ‘Adaptive Protocols for Information Dissemination in Wireless Sensor Networks’ by Wendi Heinzelman, Joanna Kulik, and Hari Balakrishnan, Proceedings of the 5th ACM/IEEE MobiCom Conference, August 1999. The herein described information dissemination is based on distributing the respective information directly via explicit network connections. The establishing of an explicit network connection, i.e. a connection between defined nodes of the network, is accomplished by the lower-layers of the network architecture. This technology cannot be adapted to existing unspecialised network technologies.
For reducing the data traffic on a network, so called piggybacking techniques are employed which allow sending data on top of other messages exchanged through the network. Piggybacking mechanisms are well known and e.g. used in TCP systems as for instance described in ‘Transmission Control Protocol’, Information Sciences Institute, University of Southern California, 1981 and also other system like the one described in ‘Study of Piggybacked Cache Validation for Proxy Caches in the World Wide Web’, Balachander Krishnamurthy and Craig E. Wills, Proceedings of the USENIX Symposium on Internet Technologies and Systems, Monterey, Calif., 1997.
Although these piggybacking mechanisms reduce the number of messages to be sent through a network by using one single transmission for transporting two or more different messages, the known mechanisms consume quite a lot of energy and computing resources as all protocols necessary for implementing a piggybacking technique are fully executed by higher layers. I.e. messages that are received from the network by the lower layer communication system of the network architecture are passed to the higher layers for further processing. There the messages are analysed and managed. When the message is further forwarded it has to be aggregated with others again and then sent back to the lower layers for further transmission.
Despite consuming a lot of resources, not all type of traffic like e.g. lower-layer beacon messages present in a network can therefore be used as a carrier for piggybacked data as these are not handled by the higher layers. As a further drawback of the known systems it has to be mentioned that an application processor operating in the higher layer application subsystem of the network architecture always has to be active for evaluating and aggregating the messages. A piggybacking of data is up to now only used to either send messages from one node to another or it is restricted to a certain application domain.
It is therefore an object of the present invention to propose a method and a network structure that allow the dissemination of data throughout a network in a resource-preserving manner.
This object is achieved by the invention as defined in the independent claims.
The method according to the present invention enables a dissemination of body data throughout a network by providing steps for forming a data package in a source node providing the body data by attaching to the body data forwarding data which specify dispatching details for the body data, piggybacking the data package on a message which is destined to be sent from the source node to a receiving node through an explicit network connection, sending the message with the piggybacked data package from the source node to the receiving node by means of the explicit network connection established between both nodes, receiving the message with the piggybacked data package on the receiving node and separating the data package from the message, splitting up the data package into the forwarding data and the body data, evaluating the forwarding data and passing on a copy of the body data to the application subsystem of the receiving node in case the receiving node is stated as an addressee in the forwarding data, modifying the forwarding data by removing from it the receiving node if stated as an addressee therein, forming a modified data package in the receiving node by attaching the modified forwarding data to the body data, piggybacking the modified data package on a further message which is destined to be sent from the receiving node to a further receiving node through a further explicit network connection, and sending the further message with the piggybacked modified data package from the receiving node to the further receiving node by means of the further explicit network connection established between both nodes, whereby each step is performed within the communication subsystem of each node concerned.
The present invention further comprises a node for disseminating body data throughout a network, whereby the node comprises an application subsystem for providing the execution space for high-level data processing and a communication subsystem for providing the execution space for low-level data processing. The communication subsystem is hereby adapted to enable a data transmission to a further node on the network and further contains an information dissemination means for disseminating body data throughout the network in correspondence to a method according to the present invention.
The present invention is further represented by a network for disseminating body data from a source node to one or more receiving nodes, whereby at least the source node and a receiving node correspond to a node according to the present invention, thereby forming on the network an application subsystem for providing the execution space for high level information processing and a communication subsystem for providing the execution space for low level information processing. The communication subsystem hereby contains an information dissemination means for disseminating body data throughout the network in correspondence to a method according to the present invention.
The present invention not only allows distributing data throughout a network without having to create an additional explicit network connection between nodes on the network but also further saves bandwidth and resources available on the network, by implementing the piggybacking within the communication subsystem. The present invention allows further to implement sending a message to all nodes in a network in a resource-preserving manner in already existing systems where broadcasting is not provided and without requiring a major rework of the systems. The present invention will further benefit in networks where a broadcasting of management information is done on an unreliable, low bandwidth channel and therefore most likely provides a higher transmission range than regular messages, thus allowing data to be piggybacked on top of management data to be sent to more nodes than via standard messages.
Further developments are set forth in the dependent claims.
The communication subsystem is favourably defined by the execution space for low-level information processing and data transmission allowing implementing the piggybacking method within the transport oriented layers of a network architecture. Hereby the communication subsystem is an execution space suitably formed by a Link Layer Control with a Medium Access Control and/or by a Data Link Control restricting the dissemination of piggybacked data to the lower network layers for saving resources.
To achieve a target-oriented delivery of the body data, each message for piggybacking the data package is selected on condition that the receiving or further receiving node for the message is listed as an addressee in the forwarding data of the package.
The piggybacking of the data package on a message is effectively implemented by adding one or more additional fields to the message frame containing the message, and taking in the data package in additional fields. In a further embodiment of the present invention, the data package is piggybacked on a message by taking in the data package in one or more fields of the message frame containing the message and which are reserved for use by an application allowing to effectively use existing transport capabilities provided by a message frame. Hereby, the presence of a data package in the message frame is indicated within an existing field or within an added field, both in the header of the message frame for to enable an identification of the payload in the fields reserved for an application to resemble a data package.
Alternatively, the data package is piggybacked on a message contained in a message frame by replacing an information in a message frame with the data package for not to increase the size of the message frame. Particularly, if the information to be replaced is redundant information, the density of information transmitted is increased without any losses of information. For an easy handling of the replacement operation, a respective replacement of the redundant information is favourably indicated in a preceding message frame or is restricted to predefined message frames out of a series of message frames carrying the redundant information like e.g. on every nth frame carrying the redundant information.
The replacement of information may also be indicated within the message frame containing the message to enable a direct identification of the piggybacked data package. The indication is preferably given in an existing field of the header of the message frame or in a field added to the header of the message frame. In a further preferred embodiment of the present invention, the indication of the replacement of the information is given by an indicator known to the communication subsystem, whereby the indicator may suitably be formed by the address of the source node. According to an advantageous development, the indication of the replacement of the information is made available by means of an orthogonal Cyclic Redundancy Check being successful on the proper kind of message only.
In an alternative embodiment of the present invention the body data contain only an announcement information related to delivery details for data which are ready for collection by a receiving node or a further receiving node through means of an explicit network connection with a source node. In this way, the announcement can be distributed to the nodes without overburdening the network while the actual data are then distributed according to the network requirements.
To avoid any further burdening of the network, the data package is preferably piggybacked on a message by putting it in a segment of the payload section of the message frame, which is spared by the message contained in it.
The present invention achieves a saving of resources by handling the dissemination of body data exclusively within the communication subsystem. But the dissemination of some body data require some application level knowledge, which would according to the prior art involve the application or host subsystem, respectively. To exclude a respective involvement of the host subsystem, the present invention may advantageously provide forwarding data, which contain one or more forwarding rules inserted from an application. The forwarding rule hereby effectively contains an indication of the application establishing the rule. Further, for deciding on how to forward the data package based on the forwarding rules, the communication subsystem may be implemented with a forwarding decision means.
The forwarding data may suitably contain two or more different forwarding schemes allowing an adaptation of a forwarding process to current network connection conditions. An identifier present in the forwarding data may hereby favourably determine each forwarding scheme. The data related to a forwarding scheme are preferably encoded within the body data.
To make sure that the network is not flooded with undeliverable data packages, the forwarding data therein preferably contain time-to-live information defining a time limit for forwarding the body data in the data package.
The piggybacking of the data package on a message destined to leave a node is effectively accomplished by a message multiplexer contained within the dissemination means of the communication subsystem established on that node. The separation of a data package from an incoming message is preferably accomplished by a message demultiplexer, which is also implemented within the dissemination means of the respective node.
For enabling the evaluation of the forwarding data and a corresponding handling of the related body data and data packages, the communication subsystem preferably comprises a forwarding means for controlling the dispatching of the body data in combination with the piggybacking process.
In the following description, the present invention is explained in more detail with respect to special embodiments and in relation to the enclosed drawings, in which
The present invention is based on the insight, that a considerable part of the resources consumed by the customary piggybacking techniques can be put down to the fact that usage is made of higher application oriented layers of a network architecture. This is particularly detrimental for wireless network applications where nodes rely on a limited energy resource like e.g. a battery power supply.
The usage of the application oriented layers for piggybacking data is also responsible for the further fact that not all types of data traffic available on a network can be utilised for piggybacking. This concerns the data transmission techniques handled exclusively by the transport oriented lower layers of network architecture. To make use of the entire data traffic available on a network, the present invention proposes an information dissemination mechanism based on a piggybacking technique that is directly implemented in the transport oriented lower layers of network architecture. Thus, currently unused bandwidth is made available for exchanging messages between nodes on the network.
The details of network architecture differ considerably between different types of networks. But two subsystems can generally be told apart, the application subsystem and the communication subsystem. The application subsystem or host processor subsystem, respectively, is defined by the execution space of applications and the hereto-required components of the operating system. The communication subsystem however is defined by the execution space of communication related processes like e.g. a data link control (DLC) and/or a link-layer control (LLC). Some hardware components may possibly be required for implementing each subsystem.
An overall view of network architecture according to the present invention is shown in
It is to be noted, that information processing and data processing are generally regarded as synonyms within the context of this description as data are looked at as carriers of information.
The invention is not restricted to a self-contained network but also covers cross-linked networks, allowing exchanging information between individual networks by means of an interconnecting device like e.g. a router, which is part of the communication subsystem. The forwarding of a data package from its original or an intermediate network to the network of its target node is usually based on the current understanding of the state of the networks the interconnecting device is linked to. The routing protocols like e.g. OSFP (Open Shortest Path First) and AODV (Ad hoc On-Demand Distance Vector) specify how and when a message has to be sent from one network to another, but provide no means which enables the sending of additional data on top of already existing data traffic.
The more detailed representation of
In general there is no distinction with regard the content of data distributed by means of piggybacking and the content of data or messages, respectively, used as carriers for the piggybacked data. But the affiliated data traffic is different. The data, which might be used as a carrier for the piggybacked data, are forwarded in form of an explicit traffic, which means that these data are forwarded using an explicit network connection. An explicit network connection is established between a source node and one or a number of target nodes. It may also include all target nodes like e.g. in the case of broadcasting or management information. The data traffic caused by distributing piggybacked data is implicit data traffic, as it does not directly require an establishing of an explicit network connection from a source node to the destination or target nodes, respectively. It is just superimposed on the already existing explicit data traffic.
The communication subsystem 8 comprises a dissemination means 9 managing the implicit data traffic in combination with the explicit data traffic. For the sake of a concise description of the invention, the data distributed by means of implicit data traffic are in the ongoing referred to as body data, while the data distributed by means of explicit data traffic are referred to as messages. These expressions mean no restriction to the content of the data itself.
The body data are provided with forwarding information attached to the body data in form of forwarding data. Attaching the forwarding data to the body data may also include some encoding mechanisms. The body data together with the forwarding data attached form a data package. This data package is piggybacked on a message destined to be sent by means of an explicit network connection through a known piggybacking mechanism or through a piggybacking mechanism described below.
The dissemination means 9 is subdivided into a receiving section 9a and a transmitting section 9b. The receiving section 9a contains a message demultiplexer 10 for separating the piggybacked data package 11 from the message carrying it. The message is usually composed of content data 12 bound for a distribution by explicit data traffic and internal management data 13 necessary to implement the respective explicit data distribution on a network. The message demultiplexer 10 separates both message components, and the explicitly sent data 12 (the content data) are forwarded to the higher layers 5 for further processing.
The implicitly sent piggybacked data package 11 is separated in the receiving section 9a into the body data 14 and the forwarding data 15. The receiving section 9a of the dissemination means checks the content of the forwarding data 15 for an entry regarding the address of the current node 2. In case the host node 2 is listed in the forwarding data 15 and only in this case, a copy of the body data 14 will be forward to the higher layers 5. The entry for the host node will then be deleted from the forwarding data 15 before these are passed on as modified forwarding data 15′ to the transmitting section 9b of the dissemination means 9 together with the body data 14. If the host node 2 was the only entry in the forwarding data 15, the last process step will be omitted.
In the transmitting section 9b of the dissemination means 9 body data are received from the receiving section 9a of the dissemination means 9 and from the higher layers 5. If body data are present from both sources, they may be combined in one data package on condition that the forwarding scheme, i.e. the dispatch information represented by the modified forwarding data 15′ is identical for the body data 14 and 14′ of both sources, like for instance in the case of broadcasting. Usually each unit of the body data 14 from the receiving section and 14′ from the higher layers are handled separately and handed over to the data package former 17 with its individual forwarding data 15′ and 16, respectively.
Content data 19 for messages to be transmitted are received by the transmitting section 9b from the higher layers 5. They are combined with internal management data 20 to a message 21. The message multiplexer 18 then piggybacks the data package 17 on the message 21 and transmits it to one or more nodes defined in the internal management data 20 by means of an explicit network connection. The message multiplexer 18 may either piggyback a data package 17 on whatever message 21 is just available, or select the message according to a match between the entries in the modified forwarding data 15′ and the internal management data 20. If no dedicated addressee is given in the forwarding data of the data package, the next node may be selected in a way that ensures that all nodes will receive the message after some time. The evaluation of the forwarding data and the corresponding handling of the body data and data packages is accomplished by a forwarding means which is not shown in
The fundamental steps of the method performed by the dissemination means 9 are illustrated in
A dashed arrow to emphasise that the method is continued on a different node, strictly speaking on a receiving node beginning with the next step S10 indicates the transmission over the network connection. After receiving the message with the piggybacked data package in step S10, the data package is first separated in step S11 from the message having acted as its carrier before the data package itself is split up in step S12 into its constituting components, the body data and the forwarding data. On the receiving node, or to be more precisely, by the receiving section of the dissemination means on the receiving node, the forwarding data are evaluated in step S13 to determine if the current node is listed as a recipient in the forwarding data and if further destinations are given therein. If the current host node is noted as an addressee for the body data, a copy of the body data is forwarded to its higher layers, i.e. the application subsystem of the current node. If no further addressees are found in the forwarding data, no further forwarding of piggybacked data is necessary and the method will come to an end at this step.
In general, one or more destination addresses different from the current node are found in the forwarding data, so that the process continues. If the current node has been defined as an addressee in the forwarding data, deleting therein the respective entry in step S14 modifies these. The thus modified forwarding data are then combined with the body data in step S15 to form a modified data package which is then piggybacked on a message destined to be sent to a further receiving node in step S16. This message with the modified data package piggybacked on it is finally sent to the one or more further receiving nodes by means of an explicit network connection in step 17. The process is continued on these further receiving nodes with step S10 and will be carried on until each node listed in the forwarding data has received the accompanying body data.
The piggybacking of a data package is preferably accomplished by adding some additional payload on top of management frames, like e.g. beaconing messages. One possibility hereto is to add some special fields to existing frames and to use these for taking up the piggyback information when required in form of a data package described above. Some network protocols already provide some extra fields, which are reserved for, use by applications and which can also be used for the given purpose, like e.g. the 8-bit service field in the ‘Physical Layer Convergence Protocol’ (IEEE 802.11 PLCP). Some network protocols require an indication that piggybacked data exist in the message. Hereto additional fields are set in the header of the management frame. When body data have to be sent within a certain length of time to all nodes of a network, periodically sent management messages like for instance beacon messages are used.
An alternative piggybacking mechanism to be put into effect by the dissemination means 9 according to the present invention involves the replacement of some management data of a management frame with a data package payload. This concerns primarily redundant information that is not required in each case like for instance information that is added to each frame by the source node and could therefore easily be reconstructed from the context of the transmitted frames. It is sufficient to have the respective data sent only one time or at regular intervals so that the occupied space can be used for piggybacking data packages on the rest of the messages.
In this case the exchange of data has to be performed in a defined way, so that the receiving node will not misinterpret the data content. This can be achieved for one by sending a small indication of the replacement operation along with a preceding message. Alternatively a message at a certain position in a line of successive messages, like e.g. every third in a sequence of five messages, will per default be used to have the redundant information replaced by piggybacked data. Using some in-message indication of the exchanged content provides a second alternative. The indication is either given in an additional header field, or by using a defined source node address which in itself represents the indication of the message to be in a certain format, i.e. carrying the piggybacked data package. But also orthogonal CRC's (Cyclic Redundancy Check) can be used to identify the different kinds of messages. To retrieve the content of a message all available CRC's are applied to it whereby the one succeeding indicates the kind of the present message.
The dissemination means 9 is also adapted to utilise unused parts of a message frame. This is particularly useful in network systems that feature a fixed length data frame format with the consequence of some parts reserved for a payload being unused in a multitude of message frames as illustrated for data frame (b) in
Different from what has been explained before, the data package may in some cases, where the size of a body data unit exceeds the space available in messages for piggybacking data be only composed of the forwarding data and an announcement that the actual body data are being ready for delivery. The actual body data then either have to be explicitly requested from the source node by the nodes having received the delivery announcement or are forwarded after a certain period of time which is long enough to allow the receiving nodes being aware of the incoming body data. In both cases, the body data are sent separately by utilising other communication channels, which offer a higher bandwidth for transmission.
The content of the forwarding data is usually not restricted to listing the receiving nodes for the associated body data. Moreover, the forwarding data contain information, which is related to the circumstances under which the body data are to be delivered to their respective addressees, which is addressed as a forwarding scheme in this specification. In most of the cases the forwarding scheme will specify a so-called ‘time-to-live’, which defines a deadline for delivering the respective data package. Beyond the deadline any attempts to further forward the data package will be dropped to avoid flooding the network. Instead of indicating defined receiving nodes for the body data, the forwarding scheme may define a certain group of nodes or some specific kinds of nodes or only a certain number of arbitrary nodes for the delivery.
As the forwarding process according to the present invention is handled by the communication subsystem of the network architecture only, the information dissemination is decoupled from the application subsystem. This allows the application processor being in sleep mode, while the communication processor handles the information dissemination. But the forwarding of some types of body data requires some application level knowledge for to be accomplished correctly. To avoid involving the application processor in carrying out a respective application dependent forwarding control, the related application knowledge is transferred to the communication subsystem such, that the communication processor is enabled to act on behalf of the application processor. Exclusively the lower layers of the network architecture herewith handle the information dissemination while application specific information dissemination can still be achieved.
The transfer of the application knowledge is implemented by allowing a respective application 22 to insert evaluation rules 23 regarding the dispatching information of a certain type of body data into the execution space 4 of the communication subsystem as shown in
The evaluation rules 23 not only specify details on the forwarding process specific for a certain application 22, 22′ or 22″, but also further allow performing some data fusion, i.e. to collect and evaluate some data within the communication subsystem. The identification of an application 22 requiring the processing of specific evaluation rules 23 can be indicated in the body data either directly or indirectly, e.g. by using some inherent knowledge of the data structure used for the body data. Applying an application specific rule to all body data may further identify the application 22, 22′ or 22″ and checking for which body data a proper result was obtained. Encoding or enriching the body data in an application specific way, like e.g. interweaving some fingerprint identifying the respective application, may also accomplish the indication of the application in the body data.
The forwarding data can further accommodate more than one forwarding scheme. Each node involved in the dissemination process is thus enabled to select the forwarding scheme, which is appropriate for him with regard to the current body data. The selection is based on a correct determination of the forwarding schemes to what end an indication may for instance be given within the body data, e.g. within the first n bit. Differently, the determination of the correct forwarding scheme may be based on some application knowledge as described above or by encoding or enriching the body data in a forwarding specific way, e.g. by using some orthogonal CRC's, hash-codes or the like.
An example of a control flow regarding information dissemination according to the present invention is given in
If the data package contains no application specific data, the process proceeds from step S22 with step S26, where the data are checked for an indication of time-to-live information. On respective information found available in step S27, the system checks the time-to-live information for being already exceeded, and if so aborts any further forwarding in step S33. Else, the time-to-live value is decreased by a certain amount in step S29 before the system is checked for the presence of duplicate body data in step S30, which succeeds step S27 immediately in case no time-to-live information is identified in step S27. If it is found in the following step 31, that the body data have already been sent, the further forwarding of the data package is aborted in step S33. If not, the receiving nodes are determined in step S32, and the data package is queued for delivery piggybacked on a message in step S25.
The decision on whether body data have to be resend is implemented by using hashes of the body data themselves. If a hash was already processed within some time ago, the body data will not be forwarded. A more precise dissemination control flow than that of
The present invention allows disseminating certain information, particularly information of modest data volume without putting extra load on the network. It is for instance useful for distributing an indication of a device or service available on a network or for distributing some network status information like e.g. the current bandwidth on a certain node, the number of connections or the like. Other application include e.g. a dissemination of routing information like the current routing tables of a node, an implementation of some simple broadcasting within network systems where such is not provided or very resource consuming, or a dissemination of data used for synchronising or updating distributed data structures.
Another application scenario is given by a wireless, ad-hoc, multi-hop network in which any communication besides some management frames is done in an encrypted manner. To enable encryption between two nodes in these networks requires establishing some trust between them. Hence some means to communicate between untrusted nodes is by piggybacking the data on top of the unencrypted management frames according to an embodiment of the present invention.
The present invention hereto provides a kind of a low-profile means for sending small amounts of data to a number of nodes within a network, e.g. data which transport information about a device or service availability, routing information, QoS parameter or the like. It implements an additional low-profile communication channel within an existing network on top of the already existing data traffic. The present invention thus saves bandwidth and resources.
Number | Date | Country | Kind |
---|---|---|---|
03 0226 636.5 | Nov 2003 | EP | regional |