The present invention relates to a method and an apparatus for setting up end-to-end communication between two networks.
Wireless or wired sensor networks are today connected to the Internet in order to allow the sensors of the sensor network to be controlled via the Internet from anywhere in the world. In order to connect a sensor network to the Internet, appropriate interfaces are needed in order to transmit control commands, data packets and/or messages from the Internet to the sensor network and conversely in order to return response messages, error reports and/or output data from the sensor network to the Internet.
A second network 2, for example a wireless sensor network, can communicate with the first network 1. To this end, it requires a message path 3 that can be used to interchange messages and/or data between the applications 4 of the first network 1 and proprietary applications 12 of the second network 2. In this case, the second network contains nodes 2a, 2b and 2c, which usually have a proprietary routing protocol on a lower communication level. In addition, proprietary transport protocols are frequently used on an upper communication layer 13, as a result of which direct communication between the applications 4 of the first network 1 and the applications 12 of the second network 2 is not possible.
In order to set up end-to-end communication between the networks 1 and 2, an application gateway 11 is frequently provided. From an output node in the first network 1, the communication 15 is routed by means of a first transport protocol, for example HTTP, to the application gateway 11, in which the messages and data are converted at application level from the application 4 of the first network 1 into the application 12 of the second network 2. Subsequently, the communication is routed between the application gateway 11 and a node 2a of the second network 2 by means of the proprietary transport protocol of the second network 2. In the opposite direction, the data or message stream is routed accordingly.
Since the two networks 1 and 2 use different transport protocols from different protocol families, the application gateway 11 has to convert all desired features and functionalities at application level from one network into the other network. This results in reduced flexibility for such application gateways 11. By way of example, changes in the protocols on one or the other network side always require changes in the relevant conversion functions in the application gateway 11. In addition, support for a large number of different applications and protocols is difficult to implement, since each functionality requires precise detailed knowledge of the relevant protocols. Therefore, nonstandardized or provider-specific protocols, in particular, are tough to support.
It is therefore desirable to provide direct communication between applications from different networks.
Today, however, more and more web services are used for which connection thereof to sensor networks is highly desirable. For communication, web services frequently use standardized network protocols, such as SOAP. SOAP is a protocol for interchanging messages via a computer network and establishes rules for the message design. In particular, it regulates how data in the message need to be depicted and interpreted. SOAP is based for the most part on a standard data protocol such as XML (Extensible Markup Language) in combination with transport protocols such as HTTP and Internet protocols such as IPv4 or IPv6. Although the verbosity and wealth of data of such network protocols can be handled without difficulty by powerful systems such as PCs, laptops or mobile telephones, embedded devices such as microprocessors that are frequently used in sensor networks are able to manage this volume of data only with considerable runtime losses and with a large memory requirement. Efficient end-to-end communication cannot be accomplished with a model as shown in
The present invention provides a solution to the aforementioned problems by specifying a method for setting up end-to-end communication between two networks in accordance with patent claims 1 and 11, an apparatus for setting up end-to-end communication between two networks in accordance with patent claims 12 and 22 and a system having an apparatus for setting up end-to-end communication between two networks in accordance with patent claim 23.
In accordance with one embodiment of the invention, a method for setting up end-to-end communication between two networks comprises the steps of reception of a message from a first network, wherein the message has a first header and an application data portion, of coding of data from a first header into a second header within the application data portion using a first coding scheme in order to produce a modified application data portion, of coding of the modified application data portion using a second coding scheme in order to produce a coded message, and of sending of the coded message to a second network. This method affords the advantage of providing messages that have constituent parts of a plurality of communication protocols using a standard coding in order to keep down the implementation complexity for decoders in the destination network for the message. This advantageously keeps free more memory for application logic. Furthermore, the method according to the invention affords the advantage of the applications being able to react flexibly to compatibility specifications. In particular, a change in the functions of the application data does not require the coding method according to the invention to be matched.
Advantageously, the method can be used for coding XML messages [5], particularly SOAP messages [7]. In this case, the first header may comprise HTTP data [3, 4], which are converted into a SOAP header for the SOAP message using web service addressing.
Advantageously, the method can code the modified application data portion using a binary coding scheme, particularly Efficient XML Interchange (EXI) [2]. This allows a high compression rate, since Efficient XML Interchange (EXI) is not linked to byte sizes.
Advantageously, the method according to the invention is used for setting up end-to-end communication between network nodes in the Internet on the one hand and network nodes in a wireless or wired sensor network on the other hand. This affords the advantage that embedded devices, particularly sensors, can be integrated into web services better and more easily.
In accordance with a further embodiment, a method for setting up end-to-end communication between two networks comprises the reception of a coded message from a second network, the decoding of the coded message into an application data portion having a second header and application data using a second coding scheme, the decoding of data from the second header into a first header using a first coding scheme, the annexing of the first header in front of the application data portion in order to produce a decoded message, and the sending of the decoded message to a first network. This method affords the advantage of following the method of the first embodiment by appropriately decoding response messages for messages coded in accordance with the method based on the first embodiment and forwarding them to the initial network.
In accordance with a further embodiment of the invention, an apparatus for setting up end-to-end communication between two networks comprises a first transmission/reception device, which is designed to receive a message from a first network, wherein the message has a first header and an application data portion, a first coding device, which is designed to code data from the first header into a second header within the application data portion using a first coding scheme to produce a modified application data portion, a second coding device, which is designed to code the modified application data portion using a second coding scheme into a coded message, and a second transmission/reception device, which is designed to send the coded message to a second network.
In accordance with a further embodiment, an apparatus for setting up end-to-end communication between two networks comprises a second transmission/reception device, which is designed to receive a coded message from a second network, a second decoding device, which is designed to decode data from the coded message into an application data portion having a second header and application data using a second coding scheme, a first decoding device, which is designed to decode data from the second header into a first header using a first coding scheme, and to annex the first header in front of the application data portion in order to produce a decoded message, and a first transmission/reception device, which is designed to send the decoded message to a first network.
In accordance with a further embodiment, a system comprises an apparatus according to the invention based on one of the embodiments cited above, a network node in the first network, which network node is connected to one of the transmission/reception devices, and a network node in the second network, which network node is connected to the other transmission/reception device.
Developments and variations are specified in the dependent claims.
Further features and advantages of the invention become evident from the description below of exemplary embodiments with reference to the figures, in which:
a shows an illustration of an uncoded message;
b shows an illustration of a coded message;
c shows an illustration of a coded message in accordance with an embodiment of the invention; and
Elements in the figures that are of the same type and/or have the same effect are provided with the same reference symbols. It goes without saying that the specified illustrations are not necessarily to scale. In addition, it is self-evident that single features and/or concepts of various embodiments shown in the drawings can be combined with one another in any way—if appropriate.
In accordance with the model 30, the conversion apparatus 31 is used to convert a header 35 of a data packet 60, which may correspond to the header 61, into a coded header 33, and to convert an application data portion 36, which may correspond to the application data portion 62 of the data packet 60, into a coded application data portion 34. The coded header 33 and the coded application data portion 34 are then compiled to form a coded data packet and transferred to the second network 2, where an application 22 can decode and read the coded constituent parts 33 and 34 as appropriate.
A coded data packet of this kind may have a structure like a data packet 70 in
The conversion of the compressed and coded data components 33 and 34 into decoded messages or data packets that can be read by the application 22 of the second network 2 requires two decoders that decode the respective protocols. These decoders are implemented in the processing appliance of the second network 2, for example a microprocessor of a sensor in a sensor network.
In this case, the coded message 80 in
In this way, the message or the data packet 61, which comprises a header 61, for example an HTTP header, and an application data component 62, for example a SOAP message, can be coded in standard fashion by means of a single first coding scheme. This coding scheme may be EXI or BiM, for example. To this end, the header 61 is first of all converted into the application data component 62, for example a SOAP header 64, by means of a second coding scheme, for example WS addressing, so that the application data portion 62 can then be coded into a coded message 80 in standard fashion.
This has the advantage that a network node 2a in which a microprocessor decodes the coded message 43 for an application 22, for example a sensor in a sensor network, now requires only a single decoder, for example an EXI coder or a BiM coder. This means that less computation capacity and storage space is needed in the microprocessor, which then has more computation power and storage space available for other operations.
A further advantage of the use of EXI is a high compression rate and the associated bandwidth saving when the coded message is transmitted in the second network 2, since EXI is not linked to byte sizes.
Despite compression with EXI, compatibility with HTTP is maintained, which means that the method according to the invention is very well suited to the implementation of new products that nevertheless remain compatible with older products.
In a second step 52, data from the first header are coded into a second header within the application data portion using a first coding scheme in order to produce a modified application data portion. In this case, the second header may be a SOAP header, of a SOAP message, in which header a data component that comprises HTTP data for an HTTP header is produced using WS addressing (WS—web service, see www.w3c.org).
In a third step 53, the modified application data portion is coded using a second coding scheme in order to produce a coded message. In this case, it is possible for the second coding scheme to be a binary coding scheme, particularly EXI (Efficient XML Interchange) or BiM (Binary MPEG format for XML), which is used to code a SOAP message.
In a fourth step 54, the coded message is sent to a second network. In this case, the second network may be particularly a sensor network, for example an industrial sensor network, a sensor network in buildings engineering or the like.
In accordance with a further embodiment, a method for setting up end-to-end communication between two networks is provided, which in principle represents the inverse of the method according to the invention presented above in reference to
In this case, a coded message can be received from a network, for example a sensor network, the coded message can be decoded into an application data portion having a first header and application data using a first coding scheme, for example EXI, the data from the first header can be decoded into a second header using a second coding scheme, for example WS addressing, the second header can be annexed in front of the application data portion in order to produce a decoded message, for example having an HTTP header and a SOAP message, and the decoded message can be sent to a second network, for example the Internet.
In accordance with a further embodiment, an apparatus for setting up end-to-end communication between two networks is provided that comprises a second transmission/reception device, which is designed to receive a coded message from a second network, a second decoding device, which is designed to decode data from the coded message into an application data portion having a second header and application data using a second coding scheme, a first decoding device, which is designed to decode data from the second header into a first header using a first coding scheme, and to annex the first header in front of the application data portion in order to produce a decoded message, and a first transmission/reception device, which is designed to send the decoded message to a first network. In this case, the apparatus may be of similar design to the apparatus 100 in
Number | Date | Country | Kind |
---|---|---|---|
11177218 | Aug 2011 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2012/064478 | 7/24/2012 | WO | 00 | 5/27/2014 |