Method and Device for Establishing an End-to-End Communication Between Two Networks

Abstract
The invention relates to a method for establishing an end-to-end communication between two networks, wherein: a message is received from one first network, this message having a first header and an application-data part; data of said first header is coded into a second header within the application data part, with the aid of a first coding scheme, so as to produce a modified application data part; said modified application data part is coded with the aid of a second coding scheme so as to produce a coded message; and this coded message is transmitted to a second network.
Description

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.



FIG. 1 shows a diagram of a model 10 of communication between two networks. In this case, a first network 1, for example the Internet, comprises a multiplicity of nodes that communicate using a first protocol family. In the case of the Internet, this is the Internet protocol family, which uses TCP/IP (TCP—Transport Control Protocol, IP—Internet Protocol) for communication, for example. On a lower communication layer 1a, TCP/IP has Internet protocols such as IPv4 or IPv6, which is responsible for forwarding data packets (routing). On an upper application-specific communication layer 5, transport protocols such as HTTP (HTTP—Hypertext Transfer Protocol) [3, 4] are used, which are used for the interchange of data and/or messages by virtue of applications 4, which provide services in service-oriented architecture (SOA), for example.


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. FIG. 2 shows a diagram of a further model 20 of communication between two networks. The model 20 differs from the model 10 essentially in that direct or transparent communication 24 is possible between the applications 4 of the first network 1 and applications 22 of the second network 2. The basic idea of such a model 20 involves matching the transport protocols of the communication layer 5 of the first network 1 to the transport protocols 23 of the second network 2. This requires the semantics of the protocol used, for example HTTP, to be conserved. HTTP is a text-based transport protocol, however, which is unusable for many sensor networks on account of the packet size of the messages and data sent. Therefore, routers 21 are frequently used that convert the transport protocol used in the first network 1, for example HTTP, into a compressed transport protocol, for example compressed HTTP, on an upper communication level. This allows applications 4 and 22 to communicate transparently by means of HTTP, as a result of which it is possible for new applications with new functionality to be incorporated into the networks 1 or 2 without the need for the router 21 to be matched.


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 FIG. 2, for example.


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:



FIG. 1 shows a diagram of a model of communication between two networks;



FIG. 2 shows a diagram of a further model of communication between two networks;



FIG. 3 shows a diagram of yet a further model of communication between two networks;



FIG. 4 shows a diagram of a model of communication between two networks in accordance with an embodiment of the invention;



FIG. 5 shows a scheme for a method for setting up end-to-end communication between two networks in accordance with an embodiment of the invention;



FIG. 6
a shows an illustration of an uncoded message;



FIG. 6
b shows an illustration of a coded message;



FIG. 6
c shows an illustration of a coded message in accordance with an embodiment of the invention; and



FIG. 7 shows a schematic illustration of an apparatus for setting up end-to-end communication between two networks in accordance with an embodiment of the invention.





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.



FIG. 3 shows a diagram of yet a further model 30 of communication between two networks. The model 30 differs from the model 20 in that a conversion apparatus 31 is used that converts data packets and/or messages from a first network 1, for example the Internet, for forwarding to a second network 2, for example a sensor network. As shown in FIG. 6a, such messages or data packets 60 comprise a header 61 that contains details of the transport protocol used, for example HTTP [3, 4]. An application data portion 62 of the data packet 60 comprises details of the respective data interchange protocol used. By way of example, the application data portion 62 may comprise a SOAP message 63 [7]. SOAP messages 63 usually comprise a frame construct, what is known as the “envelope”, that has an embedded body element, what is known as the “SOAP body” 65. In this case, the SOAP body 65 comprises the useful data on which the SOAP message 63 is based, which are generated by the application 4. Optionally, a SOAP message 63 may also comprise a dedicated header (“SOAP header”) 64, which may comprise further information relating to the processing of the SOAP message 63, such as routing information, encryption data or authentication data.


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 FIG. 6b, for example. The coded data packet 70 comprises a coded header 71, which can be produced by coding a header 61 in FIG. 6a, for example. The coding of the header 61 into a coded header 71 can be performed using Chopan (“Compressed HTTP over Personal Area Networks”) [1], for example. Chopan is a compression method for HTTP into binary format. A coded application data portion 72 of the data packet 70 can be produced from an application data portion 62 of a data packet 60 in FIG. 6a, for example. The coded application data portion 72 may comprise a data portion 76, for example in EXI format (“Efficient XML Interchange”) [2], which can be used to code a SOAP message 73 having a SOAP header 74 and a SOAP body 75. EXI is binary coding of text-based XML documents (XML—Extensible Markup Language) [5] and uses entropy-based coding schemes. The data portion 76 may also be coded in the binary MPEG format for XML (BiM) [6]. BiM is an international standard for generic binary coding of XML data.


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.



FIG. 4 shows a diagram of a model 40 of communication between two networks in accordance with an embodiment of the invention. The model 40 differs from the model 30 essentially in that a data packet or a message having a header 35 and an application data portion 36 that is received from a first network 1, such as the Internet, is converted into a coded data packet or a coded message 43 in an apparatus 31. In this case, the coded message 43 may correspond to a coded message 80 as shown in FIG. 6c.


In this case, the coded message 80 in FIG. 6c comprises a coded component 81 that incorporates a header, such as a header 61, for example an HTTP header, into a coded application data component 81. The coded application data component 81 may comprise a component 86 that is coded using a binary coding scheme, for example using EXI. The component 86 may comprise a modified application data component 83, for example a SOAP message 83, which may correspond to the SOAP message 63 of the data packet 60 in FIG. 6a. The SOAP message 83 may comprise a SOAP header 84 and a soap body 85, similar to the SOAP header 64 and the SOAP body 65 in FIG. 6a. The SOAP header 84 has a component 87 that comprises coded data from the header 61. The component 87 may have been coded using web service addressing (WS addressing). WS addressing is the specification of a mechanism that allows web services to interchange address information. In this case, a data structure for the transfer of a reference to a web service terminal point and a set of address properties of messages that combine address information with a particular message are provided. WS addressing is part of what are known as the WS specifications that have been developed as a modular extension for SOAP. The component 87 can be used to code information that are existent in the HTTP portion of the header 61 as transport information.


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.



FIG. 5 shows a scheme for a method for setting up end-to-end communication between two networks in accordance with an embodiment of the invention. In a first step 51, a message is received from a first network, the message having a first header and an application data portion. In this case, the first network may be the Internet, and the message may comprise HTTP data in the header and a SOAP message in the application data portion.


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 FIG. 5.


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.



FIG. 7 shows a schematic illustration of an apparatus 100 for setting up end-to-end communication between two networks in accordance with an embodiment of the invention. In this case, the apparatus 100 comprises a first transmission/reception device 101, which is designed to receive a message from a first network 1, wherein the message has a first header and an application data portion, a first coding device 102, 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 103, 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 104, which is designed to send the coded message to a second network 2. In this case, the apparatus 100 can perform particularly a method as shown in FIG. 5. It is clear to a person skilled in the art that the first coding device 102 and the second coding device 103 may also be in the form of a single coding device having the functionalities of the coding devices 102 and 103.


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 FIG. 7. In particular, the devices 101, 102, 103 and 104 may be designed to forward messages or data packets in both directions, that is to say from the first to the second network and vice versa, and in this case to perform the relevant coding and decoding steps. It is clear to a person skilled in the art that the first decoding device and the second decoding device may also be in the form of a single decoding device having the functionalities of the first and second decoding devices.


LIST OF REFERENCES



  • [1] Chopan http://tools.ietf.org/pdf/draft-frank-61owpan-chopan-00.pdf

  • [2] W3C, EXI “Efficient XML Interchange”, http://www.w3.org/tr/2009/cr-exi-20091208/

  • [3] IETF, Hypertext Transfer Protocol, Version HTTP/1.0, see RFC 1945, http://tools.ietf.org/html/rfc1945

  • [4] IETF, Hypertext Transfer Protocol, Version HTTP/1.1, see RFC 2616, http://tools.ietf.org/html/rfc2616

  • [5] W3C, Extensible Markup Language (XML) 1.0 (Fifth Edition), see http://www.w3.org/TR/2008/REC-xml-20081126/

  • [6] Information Technology—MPEG Systems Technologies—Part 1: Binary MPEG format for XML, ISO/IEC FDIS 23001-1:2005 (E), ISO/IEC JTC 1/SC 29/WG11, w7597, Nov. 4, 2005

  • [7] Simple Object Access Protocol (SOAP), see http://www.w3.org/TR/soap/


Claims
  • 1. A method for setting up end-to-end communication between two networks, comprising: reception of a message (60) from a first network (1), wherein the message (60) has a first header (35; 61) and an application data portion (36; 62);coding of data from the first header (35; 61) into a second header (64) within the application data portion (36; 62) using a first coding scheme in order to produce a modified application data portion (83);coding of the modified application data portion (83) using a second coding scheme in order to produce a coded message (43; 80); andsending of the coded message (43; 80) to a second network (2).
  • 2. A method for setting up end-to-end communication between two networks, comprising: reception of a coded message (80) from a second network (2);decoding of the coded message (80) into an application data portion (62) having a second header (64) and application data (65) using a second coding scheme;decoding of data from the second header (64) into a first header (61) using a first coding scheme;annexing of the second header (61) in front of the application data portion (62) in order to produce a decoded message (60); andsending of the decoded message (60) to a first network (1).
  • 3. The method as claimed in claim 1, wherein the application data portion (36; 62) comprises XML data.
  • 4. The method as claimed in claim 3, wherein the application data portion (36; 62) comprises a SOAP message.
  • 5. The method as claimed in claim 4, wherein the second header (64) is a SOAP header.
  • 6. The method as claimed in claim 1, wherein the first header (61) comprises HTTP data.
  • 7. The method as claimed in claim 1, wherein the first coding scheme comprises web services addressing.
  • 8. The method as claimed in claim 1, wherein the second coding scheme is Efficient XML Interchange or binary MPEG format for XML.
  • 9. The method as claimed in claim 1, wherein the first network (1) is the Internet.
  • 10. The method as claimed in claim 1, wherein the second network (2) is a sensor network.
  • 11. An apparatus (100) for setting up end-to-end communication between two networks, comprising: a first transmission/reception device (101), which is designed to receive a message (60) from a first network (1), wherein the message (60) has a first header (61) and an application data portion (62);a first coding device (102), which is designed to code data from the first header (61) into a second header (64) within the application data portion (62) using a first coding scheme to produce a modified application data portion (83);a second coding device (103), which is designed to code the modified application data portion (83) using a second coding scheme into a coded message (80); anda second transmission/reception device (104), which is designed to send the coded message (80) to a second network (2).
  • 12. An apparatus (100) for setting up end-to-end communication between two networks, comprising: a second transmission/reception device (104), which is designed to receive a coded message (80) from a second network (2);a second decoding device (103), which is designed to decode data from the coded message (80) into an application data portion (62) having a second header (64) and application data (65) using a second coding scheme;a first decoding device (102), which is designed to decode data from the second header (64) into a first header (61) using a first coding scheme and to annex the first header (61) in front of the application data portion (62) in order to produce a decoded message (60); anda first transmission/reception device (101), which is designed to send the decoded message (60) to a first network (1).
  • 13. A system comprising: an apparatus for setting up end-to-end communication between two networks, the apparatus comprising: a first transmission/reception device configured to receive a message from a first network, wherein the message has a first header and an application data portion;a first coding device configured 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 configured to code the modified application data portion using a second coding scheme into a coded message; anda second transmission/reception device configured to send the coded message to a second network;a network node in the first network (1), which network node is connected to one of the transmission/reception devices (101; 104); anda network node in the second network (2), which network node is connected to the other transmission/reception device (104; 101).
Priority Claims (1)
Number Date Country Kind
11177218 Aug 2011 EP regional
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/EP2012/064478 7/24/2012 WO 00 5/27/2014