Claims
1. A method for transferring data from a sensor over a com¬
puter network, the method comprising the steps of
receiving from the sensor a signal representing a physical quantity,
encoding the signal,
converting the signal into a message (200, 300, 400), and
transmitting the message (200, 300, 400) over the com¬puter network,
characterized in that, in order to transfer the data along with application data, the conversion of the signal into the message comprises the step of
generating the message (200, 300, 400) by combining a first message header (202, 402) with a message body (303, 403) ,
wherein the first message header (202, 402) comprises the encoded signal and the message body (303, 403) com¬prises the application data.
2. A method according to claim 1, characterized in that the
method further comprises combining a second message header
(202, 402) with the message body (303, 403), the second message header (202, 402) comprising a sensor identifica¬tion.
3. A method according to claim 2, characterized in that the
sensor identification comprises a Universally Unique Iden¬
tifier.
4. A method according to any of the preceding claims, char-
acterized in that the method further comprises combining a third message header (202, 402) with the message body (303, 403), the third message header (202, 402) comprising at least one of the following:
a description of the physical quantity, an operational condition of the sensor, and an indication of a data format of the message (200, 300, 400).
i. A method according to any of the preceding claims, char¬acterized in that the method further comprises combining a fourth message header (202, 402) with the message body (303, 403), the fourth message header (202, 402) compris¬ing a comment on the message (200, 300, 400) for use by a recipient of the message (200, 300, 400).
I. A method according to any of the preceding claims, char¬acterized in that the first message header (202, 402) af¬ter encoding comprises an absolute measure and at least one of the following:
a unit of measurement,
a precision,
a margin of error,
a confidence level,
a resolution, and
a full scale range.
'. A method according to any of the preceding claims, char¬acterized in that the method further comprises encrypting at least one of the message headers (202, 402) .
]. A method according to any of the preceding claims, char-acterized in that the message (200, 300, 400) is a text message and the method further comprises converting the signal into a textual representation of the physical quan-tity.
9. A device for transferring data from a sensor over a com¬
puter network, the device comprising
means for receiving from the sensor a signal represent-ing a physical quantity,
means for converting the signal into a message (200, 300, 400), and
means for transmitting the message (200, 300, 400) over the computer network,
characterized in that the means for converting the signal into a message (200, 300, 400) comprises
means for encoding the signal into a first message header (202, 402) and
means for generating the message (200, 300, 400) by combining the first message header (202, 402) with a mes¬sage body (303, 403).
10. A computer program product comprising a computer usable
medium including a computer readable program, wherein the
computer readable program when executed on a computer
causes the computer to
receive from a sensor a signal representing a physical quantity,
encode the signal,
convert the signal into a message (200, 300, 400), and
transmit the message (200, 300, 400) over a computer network,
characterized in that, to convert the signal into the mes-sage (200, 300, 400), the computer readable program causes the computer to
generate the message (200, 300, 400) by combining a first message header (202, 402) with a message body (303, 403),
wherein the first message header (202, 402) comprises the encoded signal and the message body (303, 403) com¬prises the application data.
A method for transferring data from a sensor over a computer network, corresponding device, and computer program product therefore
The invention relates to a method for transferring sensor data over a computer network according to the preamble of claim 1, a device according to the preamble of claim 9, and a com¬puter program product according to the preamble of claim 10.
A sensor is a device which measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. When referring to its capability of detecting a parameter in one form and reporting it in another (usually an electrical or digital signal), a sensor is sometimes referred to as a "transducer" in the art.
The industry and manufacturers move towards networked, pref¬erably wireless systems for sensor connectivity to enhance automation and to lower life cycle costs. Furthermore, the military moves towards such networked sensors to improve condi-tion-based maintenance. Sensor interoperability also plays a crucial role in applications such as remote monitoring, situa¬tion awareness, or geographic information systems known as sen¬sor webs. By sensor web is meant an amorphous architecture of spatially distributed sensor platforms, so-called pods, that wirelessly communicate with each other to facilitate environ-mental monitoring and control.
Widespread industry standards for sensor interfacing are de-fined as IEEE 1451.2. Smart sensors, i.e. devices that include communications and signal processing capabilities in addition
to the actual transducer, typically build upon these standards. Advanced implementations of the IEEE 1451 standards are known which support the transmission of sensor data according to World Wide Web Consortium (W3C) standards and recommendations such as HTTP or SOAP. One such implementation was published by the U.S. National Institute of Standards and Technology at the OMG-Robotics Working Group meeting in December 2006. For de¬tails, refer to the digest at
http://robotics.omg.org/docs/robotics2006-12-Washington.pdf, pp. 72 - 94.
A downside of the known solution is its inability to transfer sensor and application data in a single network message. This makes it difficult to incorporate the transmission of sensor data into complex solution architectures with multiple inter¬acting applications. An object of the invention is thus to pro¬pose an improved approach to sensor data transmission using state-of-the-art network protocols.
This object is achieved by a method according to the teaching of claim 1, a device according to the teaching of claim 9, and a computer program product according to the teaching of claim 10.
The main idea of the invention is the transmission of sensor data by means of a network message header. By a header is meant supplemental data placed at the beginning of the network mes¬sage. Headers are traditionally used to store and transmit in¬formation for the handling of the message.
By means of the outlined approach, sensor data can be trans¬ferred along with application data contained in the body of a message. By message body, sometimes called "payload" in the art, is meant the data following the message header.
Further developments of the invention can be gathered from the dependent claims and the following description.
In the following the invention will be explained further mak-ing reference to the attached drawings.
To transfer sensor data over a computer network according to an embodiment of the invention, a signal representing a physi¬cal quantity is first received from the sensor. The signal is then converted into a message by encoding the signal into a message header and combining this header with a given or gener¬ated message body. Finally, the resulting message is transmit¬ted over the computer network.
Fig. 1 schematically shows a method according to an embodi¬ment of the invention for transferring sensor data over a com¬puter network.
Fig. 2 shows an example of an HTTP request transmitted by a software program according to an embodiment of the invention.
Fig. 3 shows an example of a SIP INVITE request transmitted according to an embodiment of the invention.
Fig. 4 shows an example of a SOAP message transmitted accord-ing to an embodiment of the invention.
In the following, a method according to the invention is elu-cidated by way of example, referencing Fig. 1.
For illustrative purposes, the embodiment of the given exam¬ple is assumed to take the form of a software program. It is understood that an alternative embodiment may take the form of a hardware device or a combination of software and hardware components.
In a first step 101, the software program receives a signal representing a distance from a proximity sensor to a target ob-ject. In the given example, the signal takes the form of an electrical voltage. The voltage may be defined only on a dis¬crete set of times; in this case, the signal is referred to as
a time series. Alternatively, the voltage may be a continuous-time signal. In addition, the signal may be analog or digital, depending mainly on the type of sensor employed.
In step 102, the program encodes the signal of step 101 into a first message header. In its encoded form, the first message header typically comprises an absolute measure of the physical quantity of step 101. This absolute measure may be supplemented by information such as a unit of measurement, precision, margin of error, confidence level, resolution, or full scale range of the sensor at hand. Such information can be used to indicate the engineering tolerance, that is, the permissible limit of variation in the physical quantity measured, to imply a numeric accuracy of the nominal value. For example, the signal origi¬nating from a distance sensor may be encoded in the form "2.743 +/- 0.001 meters", assuming a symmetrical tolerance.
Preferably, the encoding of step 102 results in a textual representation for use in a resulting text message. Depending on the underlying network protocol, such a text message may take the form of an HTTP request or response, a Session Initia¬tion Protocol request or response (Session Initiation Protocol = SIP), a SOAP message, or a message according to the architec¬tural style known as Representational State Transfer.
In step 103, to allow the recipient to identify the originat-ing sensor, the embodiment of Fig. 1 encodes a sensor identifi-cation into a second message header. To ensure unambiguous identification of the sensor by the recipient without signifi¬cant central coordination, the identification may take the form of a Universally Unique Identifier (UUID). A UUID is an identi¬fier standard used in software construction, standardized by the Open Software Foundation as part of the Distributed Comput¬ing Environment. An advantage brought about by the use of UUIDs as sensor identification is the ability of the recipient to combine received sensor data into a single database without
needing to resolve name conflicts. UUIDs are documented in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005. The IETF has published Pro¬posed Standard RFC 4122 that is technically equivalent with ITU-T Rec. X.667 | ISO/IEC 9834-8.
In step 104, to indicate to the recipient the type of infor¬mation delivered by the sensor, the embodiment of Fig. 1 en¬codes a class identification into a third message header. That class identification comprises a description of the physical quantity of step 101, for example, temperature, speed, pres¬sure, or voltage. The class identification further comprises operational conditions of the sensor, for example, the current state in case of a proximity sensor that requires starting from a known distance and accumulating incremental changes in meas¬urement. Finally, the class identification indicates a data format of the message, particularly the message headers of steps 101 through 103. Instead of including these data explic¬itly in the third message header, an alternative embodiment may only supply a numerical or symbolic class identification and require the recipient to resolve it by consulting a public di¬rectory or central sensor class database. The IEEE 1451 stan¬dard provides an example of such a directory.
In step 105, to provide a human recipient with further infor-mation on the message or sensor data contained therein, the em-bodiment of Fig. 1 encodes a comment into a fourth message header. The comment is typically transmitted in human-readable form and may comprise semantic information on the physical quantity of step 101. An exemplary comment is "Distance from Mona Lisa painting" for a proximity sensor located in a museum of art.
It is understood that the information processed in steps 102 through 105 may alternatively be stored in a different set of message headers or compressed into a single message header without deviating from the spirit of the invention. In a fur-
ther step (not depicted), some or all of the message headers may be encrypted for transport. Transport Layer Security and its predecessor, Secure Sockets Layer, are examples of crypto¬graphic protocols commonly used for encrypting HTTP requests and responses.
In step 106, the program combines the message headers of steps 102 through 105 with a message body comprising applica¬tion data for transferring along with the sensor data, result¬ing in a complete self-contained message according to the un¬derlying network protocol. The order of message headers sug¬gested by the numbering in steps 102 through 105 is in no way binding on the resulting message structure. The order of head¬ers may be permuted arbitrarily without contravening the spirit of the invention.
Finally, in step 107, the program transmits the resulting message of step 106 over the computer network. Transmission makes use of the Transmission Control Protocol, User Datagram Protocol, Stream Control Transmission Protocol, or any other transport protocol suitable for the underlying network.
Fig. 2 shows an example of an HTTP request 200 transmitted by a software program according to an embodiment of the invention. In this case, the message headers of steps 102 through 105 ac¬cording to Fig. 1 are represented using the HTTP-header and message-header protocol elements. The corresponding specifica¬tions define a number of HTTP headers themselves, and also pro¬vide for extension through the use of new HTTP field-name pro¬tocol elements. The embodiment makes use of the field-name "X-Sensor-Tag". The resulting sensor information header 202 is combined with the standardized HTTP headers 2 01 and prefixed to said application data.
Fig. 3 shows an example of an INVITE request 3 00 according to SIP, the request being transmitted according to a further em-bodiment of the invention. SIP is an application-layer control
(signaling) protocol for creating, modifying, and terminating sessions with one or more participants. It can be used to cre¬ate two-party, multiparty, or multicast sessions that include Internet telephone calls, multimedia distribution, and multime-dia conferences. The IETF specifies SIP in Proposed Standard RFC 3261. Here, the sensor information header 202 is combined with the standardized SIP headers 301 and a SIP session de¬scription 303. The session description 303 complies with the Session Description Protocol, which is specified by the IETF in Proposed Standard RFC 2327. Transmitting request 300 invites the recipient to initiate an audio session described in session description 303.
Fig. 4 shows an example of a SOAP message 400 transmitted ac-cording to an even further embodiment of the invention. Here, a SOAP header 402 containing the acquired sensor information is combined with a SOAP body 403 containing a body element with a local name of "GetStockPrice". While the SOAP header 402 might be of use to SOAP intermediaries as well as the ultimate desti-nation of the message, the body 403 contains the actual message payload. SOAP header 402 and SOAP body 403 are both contained in the SOAP envelope 401, the envelope 401 being the outermost element information item of the SOAP message 400.
An exemplary application of an embodiment of the invention is an audio, video, or multimedia guide system for a visitor at-traction such as an art exhibition or museum collection. Such a guide provides a commentary to the exhibits displayed, normally through a handheld device like a Personal Digital Assistant (PDA) or smart phone. State-of-the-art PDAs are typically equipped with web browser software as well as short-range over-the-air technology such as Bluetooth or radio-frequency identi¬fication (RFID). Assuming that a proximity sensor is mounted close to an exhibit, that sensor could transfer its data over the wireless network using a method according to the invention. Upon approaching the exhibit and associated sensor, the PDA
could use the received sensor data for generating an HTTP re¬quest 200 to a web server provided by the museum or exhibition site. The returned HTTP response (not depicted) may then be used to display location-based information educating the user on the exhibit at hand. Alternative embodiments of the inven¬tion may use a SIP request or SOAP message instead of an HTTP request.