WO2007056628A2 - Real-time xml messaging protocol - Google Patents

Real-time xml messaging protocol Download PDF

Info

Publication number
WO2007056628A2
WO2007056628A2 PCT/US2006/060214 US2006060214W WO2007056628A2 WO 2007056628 A2 WO2007056628 A2 WO 2007056628A2 US 2006060214 W US2006060214 W US 2006060214W WO 2007056628 A2 WO2007056628 A2 WO 2007056628A2
Authority
WO
WIPO (PCT)
Prior art keywords
xml
real
time
destination
source
Prior art date
Application number
PCT/US2006/060214
Other languages
French (fr)
Other versions
WO2007056628A3 (en
Inventor
Phil Wang
Barbir Abdulkader Omar
Original Assignee
Nortel Networks Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nortel Networks Limited filed Critical Nortel Networks Limited
Publication of WO2007056628A2 publication Critical patent/WO2007056628A2/en
Publication of WO2007056628A3 publication Critical patent/WO2007056628A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Definitions

  • the invention relates generally to XML messaging. More particularly, the invention relates to a method for generating XML messages for real-time communications and XML routing for transporting real-time XML messages.
  • eXensible Markup Language is a popular meta-language used to define other languages of data exchange and business communications.
  • XML describes data and messages using easily understood tags.
  • SOAP Simple Object Access Protocol
  • HTML HyperText Transfer Protocol
  • SOAP is a platform independent messaging protocol that provides an "envelope" containing a message header and a message body. The message header can accommodate customized messaging properties such as time and data formats.
  • fisdMessage protocol is an industry standard intended for the exchange of data between financial entities such as brokerage firms and banks.
  • Market Data Definition Language MDDL
  • fisdMessage supports binary encoded XML content with a standards-based real-time streaming data feed.
  • Current fisdMessage encodes an XML message only with a timestamp but other critical parameters for real-time messaging such as identifier, expiry, priority and acknowledgement are absent.
  • a number of XML hardware devices are available for fast XML routing, parsing and processing.
  • Some versions of XML accelerators improve XML parsing through hardware processing of XML documents, XML schemas and XPath queries.
  • Some XML routers speed up XML message forwarding through hardware support of SOAP and XPath.
  • the hardware accelerations speed up processing of those XML protocols but do not support the real-time nature of XML messaging and routing.
  • the invention features a method for generating a realtime XML message for transmission of data from a source to at least one destination over a network.
  • a header element and a body element are generated.
  • the header element includes at least one destination element and a source element each having at least one real-time validation element expressing a real-time property of the real-time XML message.
  • the body element includes the data to be transmitted.
  • the invention features a system for transmitting a real-time XML message through a network.
  • the system includes an XML router configured to receive the real-time XML message, to determine a destination from an XML address associated with a destination element of the real-time XML message, and to forward the real-time XML message through another communications link in the network in response to the determined destination.
  • the invention features a method for using XML in a real-time message for transmission of data from a source to at least one destination over a communication network.
  • a header element and a body element are generated.
  • the header element includes at least one destination element having a unique destination identifier comprising an XML address associated with the respective at least one destination.
  • the header element also includes a source element having a unique source identifier comprising an XML address associated with the source.
  • the body element includes the data to be transmitted.
  • FIG. 1 illustrates a network environment in which the method of the invention can be practiced.
  • FIGS. 2A and 2B illustrate an example of an XML message based on an embodiment of the real-time XML messaging protocol according to the invention.
  • FIG. 3 illustrates an example of a network environment utilizing XML address-based transport of real-time messages as an alternative to the legacy communication network of FIG. 1.
  • Real-time XML messaging requires the development of real-time capability through XML coding, routing, transport, parsing and processing. Moreover, it also requires a real-time communication protocol of XML, and particularly on a message format acceptable between peers.
  • the invention relates to a method for generating a real-time XML (RTXML) message for transmission of data from a source (i.e., sender) to at least one destination (i.e., recipient) over a communication network.
  • a header element and a body element are generated in the form of XML.
  • the header element includes a destination element and a source element each having at least one real-time validation element that expresses a real-time property of the RTXML message.
  • the body element includes the data to be transmitted.
  • the invention also relates to a method and system for using an XML address in an RTXML message to perform real-time routing of the message through a network.
  • FIG. 1 illustrates a network environment 10 in which the method of the invention can be practiced.
  • the network environment 10 can be an existing communication network such as the Internet, and includes a source 14 in communication with destinations (i.e., recipients) 18' and 18"
  • An RTXML messaging protocol in accordance with the invention includes a messaging vehicle and a message format.
  • RTXML is a platform-independent protocol and therefore does not rely on a particular software, hardware or means of network communications for implementation.
  • the messaging vehicle for RTXML can be any existing communication mechanism and protocol supported by the communication network 22.
  • an RTXML message can be carried in an IP packet payload (e.g. TCP, UDP), a HyperText Transfer Protocol (HTTP) document, or a Simple Object Access Protocol (SOAP) envelope.
  • IP packet payload e.g. TCP, UDP
  • HTTP HyperText Transfer Protocol
  • SOAP Simple Object Access Protocol
  • the secure transport of an RTXML message can be realized through a number of security enhancements such as XML security (encryption and digital signature), IPSEC and HTTPS.
  • the message format for the RTXML messaging protocol is defined herein as the expression of the XML message and feedback for real-time communication. Messaging peers accepting the message easily understand the real-time XML message.
  • FIGS. 2A and 2B illustrate an example of an XML message 26 based on an embodiment of the RTXML messaging protocol of the invention.
  • RTXML describes the message format in terms of an XML schema.
  • the schema provides for definition of the RTXML message version, XML namespace information and all the XML elements to constitute a real-time message.
  • the XML message 26 includes a message element 30, a top element 32, a header element 34 and a body element 38.
  • the top element 32, header element 34 and body element 38 are children of the message element 30.
  • the top element 32 starts the message with a number of XML attributes such as the RTXML version, target XML namespaces and XML schema location. Those XML attributes are used to parse and process the RTXML message.
  • the RTXML message header element 34 includes the real-time attributes of the XML message 26, including one or more real-time validation elements.
  • a real-time validation element means an attribute or element in the header element 34 that has a time or status value used to enable real-time behavior and ensure data validity.
  • the RTXML message body 38 includes the XML content that is to be transmitted to a destination 18.
  • the header element 34 includes an element ⁇ title> 42 which is a general property of the RTXML message 26 that indicates a subject or reference for a real-time communications session that the source 14 and the one or more destinations 18 can share.
  • the header element 34 may include other general properties of the RTXML message 26.
  • a destination portion 44 of the RTXML message header element 34 includes one or more destination elements 46' and 46" (generally 46).
  • the destination elements 46 contain information about two recipients such as the destination's identification ⁇ identifier>, the serial number of the destination's last message ⁇ serialNumber>, the time delay ⁇ timeDelay> and the status ⁇ status> of the last message.
  • the identification can specify an individual or a group in which the individual is a member.
  • An individual can be represented by a computer or a network node, a user of the network node, an application of the user, or the like.
  • the time delay is the difference between the received time and the timestamp of the last message.
  • the status is an acknowledgement to a received message and can include an enumeration of values such as OK, expired, badHeader and badMessage. If the message 26 is to be replied to more than one destination 18, the header element 34 can include a destination element 46 for each destination 18. However, each destination element 46 may include other elements that are defined and will be defined by the RTXML protocol and user extensions.
  • the source portion of an RTXML message header element 34 includes one XML element ⁇ source> 50 that has the source's identification ⁇ identifier>, serial number ⁇ serialNumber> and timestamp ⁇ timeStamp> for the message 26 as assigned by the source 14, and the period of time
  • ⁇ timeExpiry> during which the message 26 is valid (i.e., the time until the message 26 expires). If the destination 18 receives an expired message, a request can be sent to the source 14 for an updated message.
  • An optional priority designation ⁇ priorityType> can be included in the element ⁇ source> 50 to indicate the forwarding priority (e.g., high, normal, low) of the message 26.
  • the element ⁇ source> 50 also includes the type of the message body ⁇ bodyType>, an acknowledgement flag ⁇ ackFlag> and an acknowledgement time ⁇ ackTime>.
  • the body type ⁇ bodyType> for the message 26 can be assigned different values such as normal for XML text or another value to indicate enhanced XML content (e.g., encrypted content, digitally signed content).
  • the acknowledgement flag ⁇ ackFlag> indicates whether the destination 18 should return an acknowledgement upon receipt of the message 26.
  • the acknowledgement time ⁇ ackTime> indicates how long the source 14 allocates for receiving an acknowledgement of its message when the acknowledgement flag is set to true.
  • the source 14 If the source 14 included an acknowledge flag ⁇ ackFlag> but no acknowledgement was received within a predetermined time, the source 14 sends a new message to the destination 18 which can include updated XML content, if appropriate.
  • the element ⁇ source> 50 can include other elements that are defined and will be defined by the RTXML protocol and customer extensions.
  • the XML content of the body element 38 can be plain XML text or binary XML data, as specified by the XML element ⁇ BodyType> in the source element 50 of the RTXML header 34. If the XML content is binary, the method or algorithm to extract the binary data is specified by the attribute "coding" of the body element 38.
  • the body element 38 may include other attributes as to represent the attributes of the message body.
  • Real-time communications require that delay due to transmission of messages between a source 14 and a destination 18 be sufficiently small so that the message information is still valid. For example, financial market data can change significantly over brief periods of time thus "old data" can have no value to a destination.
  • RTXML provides four time elements ⁇ timeStamp>, ⁇ timeDelay>, ⁇ timeExpiry> and ⁇ ackTime>, each accurate to a small portion of the acceptable limits for the corresponding elements (e.g., one millisecond accuracy).
  • the element ⁇ timeStamp> is 2005-05-20T11:23:33.123-5:00, representing a time 123 milliseconds after 11:23:33 AM eastern daylight time (EDT) on May 20, 2005, when the message 26 was generated.
  • the RTXML message 26 uses unique identifiers for the source 14 and for each destination 18.
  • the unique identifiers can be expressed as the XML addresses of the source 14 and the destinations 18 of an RTXML message.
  • an XML address can be assigned according to a predetermined addressing scheme or a uniform resource identifier (URI).
  • URI uniform resource identifier
  • the XML address of the source 14 is a URI "http://www.rtxml- source.com/rtx/source”.
  • the URI of an XML address may include a prefix (e.g., "http://"), and the unique information of a particular node (i.e.,
  • www.rtxml-source.com a particular user of a node (e.g. "rtx"), a particular application of a user (e.g., “source”), and other components such as a particular communication channel of an application.
  • a source or destination identifier of the RTXML message 26 can be a canonical name or an alias, and its XML address can be looked up from a naming service which is the XML naming service.
  • the XML naming service maps a source or destination name to its corresponding XML address(es) using a database of names and addresses. Identification of sources and destinations according to unique XML addresses can accelerate XML messaging sessions when XML routing is utilized.
  • XML routers can be used to transport real-time messages, replacing legacy network nodes such as IP (the Internet Protocol) routers. In particular, routing tables based on XML addresses can be used to achieve wire-speed routing through hardware acceleration.
  • an XML message can be used to determine its forwarding priority during routing.
  • An XML transport network 24 forwards and routes data using XML addresses replacing legacy addresses such as IP addresses in the communication network 22.
  • a number of XML routers form the local or global network 24 transporting data between wide-spread source and destination nodes 14, 18.
  • the source and destinations 14, 18 each have a unique XML address and all the data are fast forwarded or routed according to the source and destination XML addresses.
  • the message 26 includes the XML destination address for each destination 18.
  • the XML address for destination DEST 1 18' is URIl which is http://www.rtxml-dest.com/rtx/destl
  • the XML address for destination DEST 2 18" is URI2 which is http://www.rtxml-dest.com/rtx /dest2.
  • the source 14 provides its XML address URI3 (http://www.rtxml-source.com/rtx/source) which is used by the two destinations 18 for acknowledgements and reply messages.
  • SOAP can be used as a protocol framework. Similar to the RTXML message 26, SOAP provides for an envelope having two major XML elements: header and body.
  • the SOAP header has the flexibility to introduce new XML protocols such as RTXML and the RTXML header is sufficiently flexible to integrate with SOAP. Binding RTXML with SOAP is accomplished by combining their headers and bodies.
  • the SOAP header adopts the real-time properties of the RTXML schema and the SOAP body includes the real-time content of the message 26.

Abstract

Described are a method and a system for using XML in a real-time message for transmission of data from a source to a destination over a network. The real-time XML message includes a header element and a body element. The header element includes one or more destination elements and one source element, each having a unique identifier and a set of pre-defined and user-defined real-time properties. The body element of the message includes the data to be carried to the destination in plain or encoded XML content. XML addresses are proposed as the identifier of the source and destination, and an XML naming service can look up an XML address from the canonical name of the source and destination. Advantageously, the real-time message can be transported through the network using XML addresses included in the destination and source elements of the message.

Description

REAL-TIME XML MESSAGING PROTOCOL
FIELD OF THE INVENTION
The invention relates generally to XML messaging. More particularly, the invention relates to a method for generating XML messages for real-time communications and XML routing for transporting real-time XML messages.
BACKGROUND OF THE INVENTION eXensible Markup Language (XML) is a popular meta-language used to define other languages of data exchange and business communications. XML describes data and messages using easily understood tags. Thus XML is increasingly used in a number of business services and applications, including mission-critical financial transactions and real-time medical processing. Such critical business applications often require rapid responses through real-time communications of various messages, and now XML messages. Simple Object Access Protocol (SOAP) is a common messaging protocol that communicates XML messages among applications using HyperText Transfer Protocol (HTTP). SOAP is a platform independent messaging protocol that provides an "envelope" containing a message header and a message body. The message header can accommodate customized messaging properties such as time and data formats. However, there is no standard mechanism in SOAP to define real-time XML messages. fisdMessage protocol is an industry standard intended for the exchange of data between financial entities such as brokerage firms and banks. In the financial industry, Market Data Definition Language (MDDL) is the common XML derivative employed in data transfer. fisdMessage supports binary encoded XML content with a standards-based real-time streaming data feed. Current fisdMessage encodes an XML message only with a timestamp but other critical parameters for real-time messaging such as identifier, expiry, priority and acknowledgement are absent. A number of XML hardware devices are available for fast XML routing, parsing and processing. Some versions of XML accelerators improve XML parsing through hardware processing of XML documents, XML schemas and XPath queries. Some XML routers speed up XML message forwarding through hardware support of SOAP and XPath. The hardware accelerations speed up processing of those XML protocols but do not support the real-time nature of XML messaging and routing.
What are needed are a method and a system to provide real-time XML messaging over a communication network. The present invention satisfies this need and provides additional advantages.
SUMMARY OF THE INVENTION
In one aspect, the invention features a method for generating a realtime XML message for transmission of data from a source to at least one destination over a network. A header element and a body element are generated. The header element includes at least one destination element and a source element each having at least one real-time validation element expressing a real-time property of the real-time XML message. The body element includes the data to be transmitted.
In another aspect, the invention features a system for transmitting a real-time XML message through a network. The system includes an XML router configured to receive the real-time XML message, to determine a destination from an XML address associated with a destination element of the real-time XML message, and to forward the real-time XML message through another communications link in the network in response to the determined destination.
In still another aspect, the invention features a method for using XML in a real-time message for transmission of data from a source to at least one destination over a communication network. A header element and a body element are generated. The header element includes at least one destination element having a unique destination identifier comprising an XML address associated with the respective at least one destination. The header element also includes a source element having a unique source identifier comprising an XML address associated with the source. The body element includes the data to be transmitted.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of this invention may be better understood by referring to the following description in conjunction with the accompanying drawings, in which like numerals indicate like structural elements and features in the various figures. For clarity, not every element may be labeled in every figure. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
FIG. 1 illustrates a network environment in which the method of the invention can be practiced. FIGS. 2A and 2B illustrate an example of an XML message based on an embodiment of the real-time XML messaging protocol according to the invention.
FIG. 3 illustrates an example of a network environment utilizing XML address-based transport of real-time messages as an alternative to the legacy communication network of FIG. 1.
DETAILED DESCRIPTION
Real-time XML messaging requires the development of real-time capability through XML coding, routing, transport, parsing and processing. Moreover, it also requires a real-time communication protocol of XML, and particularly on a message format acceptable between peers. In brief overview, the invention relates to a method for generating a real-time XML (RTXML) message for transmission of data from a source (i.e., sender) to at least one destination (i.e., recipient) over a communication network. A header element and a body element are generated in the form of XML. The header element includes a destination element and a source element each having at least one real-time validation element that expresses a real-time property of the RTXML message. The body element includes the data to be transmitted. The invention also relates to a method and system for using an XML address in an RTXML message to perform real-time routing of the message through a network.
FIG. 1 illustrates a network environment 10 in which the method of the invention can be practiced. The network environment 10 can be an existing communication network such as the Internet, and includes a source 14 in communication with destinations (i.e., recipients) 18' and 18"
(generally 18) through a communication network 22. An RTXML messaging protocol in accordance with the invention includes a messaging vehicle and a message format. RTXML is a platform-independent protocol and therefore does not rely on a particular software, hardware or means of network communications for implementation. Thus the messaging vehicle for RTXML can be any existing communication mechanism and protocol supported by the communication network 22. For example, an RTXML message can be carried in an IP packet payload (e.g. TCP, UDP), a HyperText Transfer Protocol (HTTP) document, or a Simple Object Access Protocol (SOAP) envelope. Furthermore, the secure transport of an RTXML message can be realized through a number of security enhancements such as XML security (encryption and digital signature), IPSEC and HTTPS.
The message format for the RTXML messaging protocol is defined herein as the expression of the XML message and feedback for real-time communication. Messaging peers accepting the message easily understand the real-time XML message.
FIGS. 2A and 2B illustrate an example of an XML message 26 based on an embodiment of the RTXML messaging protocol of the invention. RTXML describes the message format in terms of an XML schema. The schema provides for definition of the RTXML message version, XML namespace information and all the XML elements to constitute a real-time message. The XML message 26 includes a message element 30, a top element 32, a header element 34 and a body element 38. The top element 32, header element 34 and body element 38 are children of the message element 30. The top element 32 starts the message with a number of XML attributes such as the RTXML version, target XML namespaces and XML schema location. Those XML attributes are used to parse and process the RTXML message.
The RTXML message header element 34 includes the real-time attributes of the XML message 26, including one or more real-time validation elements. As used herein, a real-time validation element means an attribute or element in the header element 34 that has a time or status value used to enable real-time behavior and ensure data validity. The RTXML message body 38 includes the XML content that is to be transmitted to a destination 18.
The header element 34 includes an element <title> 42 which is a general property of the RTXML message 26 that indicates a subject or reference for a real-time communications session that the source 14 and the one or more destinations 18 can share. The header element 34 may include other general properties of the RTXML message 26.
A destination portion 44 of the RTXML message header element 34 includes one or more destination elements 46' and 46" (generally 46). In Figure 2, the destination elements 46 contain information about two recipients such as the destination's identification <identifier>, the serial number of the destination's last message <serialNumber>, the time delay <timeDelay> and the status <status> of the last message. The identification can specify an individual or a group in which the individual is a member. An individual can be represented by a computer or a network node, a user of the network node, an application of the user, or the like. The time delay is the difference between the received time and the timestamp of the last message. The status is an acknowledgement to a received message and can include an enumeration of values such as OK, expired, badHeader and badMessage. If the message 26 is to be replied to more than one destination 18, the header element 34 can include a destination element 46 for each destination 18. However, each destination element 46 may include other elements that are defined and will be defined by the RTXML protocol and user extensions.
The source portion of an RTXML message header element 34 includes one XML element <source> 50 that has the source's identification <identifier>, serial number <serialNumber> and timestamp <timeStamp> for the message 26 as assigned by the source 14, and the period of time
<timeExpiry> during which the message 26 is valid (i.e., the time until the message 26 expires). If the destination 18 receives an expired message, a request can be sent to the source 14 for an updated message. An optional priority designation <priorityType> can be included in the element <source> 50 to indicate the forwarding priority (e.g., high, normal, low) of the message 26.
The element <source> 50 also includes the type of the message body <bodyType>, an acknowledgement flag <ackFlag> and an acknowledgement time <ackTime>. The body type <bodyType> for the message 26 can be assigned different values such as normal for XML text or another value to indicate enhanced XML content (e.g., encrypted content, digitally signed content). The acknowledgement flag <ackFlag> indicates whether the destination 18 should return an acknowledgement upon receipt of the message 26. The acknowledgement time <ackTime> indicates how long the source 14 allocates for receiving an acknowledgement of its message when the acknowledgement flag is set to true. If the source 14 included an acknowledge flag <ackFlag> but no acknowledgement was received within a predetermined time, the source 14 sends a new message to the destination 18 which can include updated XML content, if appropriate. The element <source> 50 can include other elements that are defined and will be defined by the RTXML protocol and customer extensions. The XML content of the body element 38 can be plain XML text or binary XML data, as specified by the XML element <BodyType> in the source element 50 of the RTXML header 34. If the XML content is binary, the method or algorithm to extract the binary data is specified by the attribute "coding" of the body element 38. The body element 38 may include other attributes as to represent the attributes of the message body.
Real-time communications require that delay due to transmission of messages between a source 14 and a destination 18 be sufficiently small so that the message information is still valid. For example, financial market data can change significantly over brief periods of time thus "old data" can have no value to a destination. RTXML provides four time elements <timeStamp>, <timeDelay>, <timeExpiry> and <ackTime>, each accurate to a small portion of the acceptable limits for the corresponding elements (e.g., one millisecond accuracy). As illustrated, the element <timeStamp> is 2005-05-20T11:23:33.123-5:00, representing a time 123 milliseconds after 11:23:33 AM eastern daylight time (EDT) on May 20, 2005, when the message 26 was generated.
The RTXML message 26 uses unique identifiers for the source 14 and for each destination 18. The unique identifiers can be expressed as the XML addresses of the source 14 and the destinations 18 of an RTXML message. Generally, an XML address can be assigned according to a predetermined addressing scheme or a uniform resource identifier (URI). For example, in Figure 3, the XML address of the source 14 is a URI "http://www.rtxml- source.com/rtx/source". The URI of an XML address may include a prefix (e.g., "http://"), and the unique information of a particular node (i.e.,
"www.rtxml-source.com"), a particular user of a node (e.g. "rtx"), a particular application of a user (e.g., "source"), and other components such as a particular communication channel of an application.
For convenience, a source or destination identifier of the RTXML message 26 can be a canonical name or an alias, and its XML address can be looked up from a naming service which is the XML naming service. The XML naming service maps a source or destination name to its corresponding XML address(es) using a database of names and addresses. Identification of sources and destinations according to unique XML addresses can accelerate XML messaging sessions when XML routing is utilized. XML routers can be used to transport real-time messages, replacing legacy network nodes such as IP (the Internet Protocol) routers. In particular, routing tables based on XML addresses can be used to achieve wire-speed routing through hardware acceleration. In addition, the priority designation of an XML message can used to determine its forwarding priority during routing. Referring again to FIG. 3, an example of a network environment 54 utilizing XML-address-based transport, as an alternative to the conventional communication network 22 of FIG. 1 is shown. An XML transport network 24 forwards and routes data using XML addresses replacing legacy addresses such as IP addresses in the communication network 22. A number of XML routers form the local or global network 24 transporting data between wide-spread source and destination nodes 14, 18. The source and destinations 14, 18 each have a unique XML address and all the data are fast forwarded or routed according to the source and destination XML addresses. The message 26 includes the XML destination address for each destination 18. In the illustrated example, the XML address for destination DEST 1 18' is URIl which is http://www.rtxml-dest.com/rtx/destl, and the XML address for destination DEST 2 18" is URI2 which is http://www.rtxml-dest.com/rtx /dest2. The source 14 provides its XML address URI3 (http://www.rtxml-source.com/rtx/source) which is used by the two destinations 18 for acknowledgements and reply messages.
The rapid development of web services and applications has made SOAP a dominant protocol for XML messaging. To accommodate for XML flexibility, SOAP can be used as a protocol framework. Similar to the RTXML message 26, SOAP provides for an envelope having two major XML elements: header and body. The SOAP header has the flexibility to introduce new XML protocols such as RTXML and the RTXML header is sufficiently flexible to integrate with SOAP. Binding RTXML with SOAP is accomplished by combining their headers and bodies. Thus, the SOAP header adopts the real-time properties of the RTXML schema and the SOAP body includes the real-time content of the message 26.
While the invention has been shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. What is claimed is:

Claims

1. A method for generating a real-time XML message for transmission of data from a source to at least one destination over a network, the method comprising: generating a header element comprising at least one destination element and a source element each having at least one real-time validation element expressing a real-time property of the real-time XML message; and generating a body element comprising the data.
2. The method of claim 1 wherein the at least one real-time validation element of the at least one destination element comprises a status acknowledgment of a prior real-time XML message sent by the destination and received by the source.
3. The method of claim 1 wherein the at least one real-time validation element of the at least one destination element comprises a time delay indicating the difference between a received time of a prior real-time XML message and a timestamp in the prior real-time XML message.
4. The method of claim 1 wherein the at least one real-time validation element of the source element comprises a time until the data in the real- time XML message expires.
5. The method of claim 1 wherein the at least one real-time validation element of the source element comprises an acknowledgement flag to indicate whether a destination should return an acknowledgement upon receipt of the real-time XML message.
6. The method of claim 1 wherein the at least one real-time validation element of the source element comprises an acknowledgement time to indicate a duration allocated by the source for receiving a message acknowledgement from each of the at least one destination.
7. The method of claim 1 wherein the header and body elements are transmitted in an Internet Protocol (IP) packet.
8. The method of claim 1 wherein the header and body elements are transmitted in a HyperText Transfer Protocol (HTTP) document.
9. The method of claim 1 wherein the header and body elements are elements of a Simple Object Access Protocol (SOAP) envelope.
10. A system for transmitting a real-time XML message through a network comprising an XML router configured to receive the real-time XML message through a communications link in the network, to determine a destination from an XML address associated with a destination element of the real-time XML message, and to forward the real-time XML message through another communications link in the network in response thereto.
11. The system of claim 10 wherein the real-time XML message is forwarded to another XML router.
12. The system of claim 10 wherein the real-time XML message is forwarded to the destination.
13. The system of claim 10 wherein a source and the destination of the real-time XML message are each indicated by a unique destination identifier.
14. The system of claim 13 wherein each unique destination identifier comprises an XML address.
15. The system of claim 13 wherein each unique destination identifier comprises a canonical name for determining an XML address by a naming service.
16. The system of claim 10 wherein the real-time XML message is forwarded to another XML router through the another communications link.
17. The system of claim 10 wherein the real-time XML message is forwarded to the destination through the another communications link.
18. The system of claim 10 further comprising a source in communication with the XML router through at least one communication link in the network, the source generating the real-time XML message.
19. The system of claim 10 further comprising at least one destination in communication with the XML router through at least one communication link in the network, the at least one destination receiving the real-time XML message.
20. A method for using XML in a real-time message for transmission of data from a source to at least one destination over a communication network, the method comprising: generating a header element comprising at least one destination element having a unique destination identifier comprising an XML address associated with the respective at least one destination and a source element having a unique source identifier comprising an XML address associated with the source; and generating a body element comprising the data.
21. The method of claim 20 wherein the unique destination identifier comprises a name that can be matched to the XML address associated with the destination by a naming service.
22. The method of claim 20 wherein the unique source identifier comprises a canonical name that can be matched to the XML address associated with the source by a naming service.
23. The method of claim 20 wherein the source element has a priority designation to indicate the forwarding priority of the real-time message.
24. The method of claim 20 wherein at least one of the XML addresses comprises a uniform resource identifier.
25. The method of claim 20 wherein the header and body elements are transmitted in an Internet Protocol (IP) packet.
26. The method of claim 20 wherein the header and body elements are transmitted in a HyperText Transfer Protocol (HTTP) document.
27. The method of claim 20 wherein the header and body elements are elements of a Simple Object Access Protocol (SOAP) envelope.
PCT/US2006/060214 2005-11-08 2006-10-25 Real-time xml messaging protocol WO2007056628A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/268,909 2005-11-08
US11/268,909 US7986685B2 (en) 2005-11-08 2005-11-08 Real-time XML messaging protocol

Publications (2)

Publication Number Publication Date
WO2007056628A2 true WO2007056628A2 (en) 2007-05-18
WO2007056628A3 WO2007056628A3 (en) 2007-12-21

Family

ID=38024029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/060214 WO2007056628A2 (en) 2005-11-08 2006-10-25 Real-time xml messaging protocol

Country Status (2)

Country Link
US (1) US7986685B2 (en)
WO (1) WO2007056628A2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205216A1 (en) * 2003-03-19 2004-10-14 Ballinger Keith W. Efficient message packaging for transport
US7370100B1 (en) * 2003-12-10 2008-05-06 Foundry Networks, Inc. Method and apparatus for load balancing based on packet header content
US7587487B1 (en) 2003-12-10 2009-09-08 Foundry Networks, Inc. Method and apparatus for load balancing based on XML content in a packet
US8296354B2 (en) * 2004-12-03 2012-10-23 Microsoft Corporation Flexibly transferring typed application data
WO2007064878A2 (en) 2005-12-01 2007-06-07 Firestar Software, Inc. System and method for exchanging information among exchange applications
US20070177583A1 (en) * 2006-01-31 2007-08-02 Microsoft Corporation Partial message streaming
US7904806B2 (en) * 2006-10-02 2011-03-08 International Business Machines Corporation Hiding an XML source in metadata to solve reference problems normally requiring multiple XML sources
US8518881B2 (en) * 2007-02-08 2013-08-27 Aspenbio Pharma, Inc. Methods for inducing superovulation in ungulates
US9201914B2 (en) * 2007-06-19 2015-12-01 Alcatel Lucent Method, system and service for structured data filtering, aggregation, and dissemination
KR101486771B1 (en) * 2007-06-22 2015-01-29 삼성전자주식회사 Method and apparatus for managing the resource of UPnP device based on the connection status of control point
CN102014077B (en) * 2009-09-08 2012-09-05 华为技术有限公司 Message routing method and message routing device
DE102014117381A1 (en) 2014-11-27 2016-06-02 Carl Zeiss Microscopy Gmbh Method and device for forwarding data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172300A1 (en) * 2002-04-30 2004-09-02 Mihai Dan M. Method and system for integrating data flows
US20050022162A1 (en) * 2002-07-19 2005-01-27 Canon Kabushiki Kaisha Method of translating a message from a first markup language into a second markup language

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4503143B2 (en) * 1999-07-14 2010-07-14 パナソニック株式会社 Electronic ticket system, service server and mobile terminal
US7046691B1 (en) * 1999-10-04 2006-05-16 Microsoft Corporation Methods and systems for dynamic conversion of objects from one format type to another format type by selectively using an intermediary format type
US6907455B1 (en) * 2000-06-29 2005-06-14 Cisco Technology, Inc. Apparatus and methods for providing an event driven notification over a network to a telephony device
US6954432B1 (en) * 2000-10-04 2005-10-11 Motorola, Inc. Method and apparatus for improving perceived signal quality of transmitted information in a full duplex wireless communication system
US20020169707A1 (en) * 2001-04-05 2002-11-14 Koek Wei Song Financial language internet real-time trading
US7194529B2 (en) * 2001-07-12 2007-03-20 Abb Inc. Method and apparatus for the delivery and integration of an asset management system into an existing enterprise network
US7065706B1 (en) * 2001-08-06 2006-06-20 Cisco Technology, Inc. Network router configured for executing network operations based on parsing XML tags in a received XML document
US7139809B2 (en) * 2001-11-21 2006-11-21 Clearcube Technology, Inc. System and method for providing virtual network attached storage using excess distributed storage capacity
JP2003209573A (en) * 2002-01-10 2003-07-25 Fujitsu Ltd Communication apparatus and repeater
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US7466680B2 (en) * 2002-10-11 2008-12-16 Spyder Navigations L.L.C. Transport efficiency optimization for Mobile IPv6
US7356616B2 (en) * 2002-11-06 2008-04-08 Microsoft Corporation Maintaining structured time data for electronic messages
US7689709B2 (en) * 2002-12-13 2010-03-30 Sap Ag Native format tunneling
US7409400B2 (en) * 2003-10-22 2008-08-05 Intel Corporation Applications of an appliance in a data center
EP1530316A1 (en) * 2003-11-10 2005-05-11 Go Networks Improving the performance of a wireless packet data communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172300A1 (en) * 2002-04-30 2004-09-02 Mihai Dan M. Method and system for integrating data flows
US20050022162A1 (en) * 2002-07-19 2005-01-27 Canon Kabushiki Kaisha Method of translating a message from a first markup language into a second markup language

Also Published As

Publication number Publication date
US20070124725A1 (en) 2007-05-31
WO2007056628A3 (en) 2007-12-21
US7986685B2 (en) 2011-07-26

Similar Documents

Publication Publication Date Title
US7986685B2 (en) Real-time XML messaging protocol
US7949787B2 (en) Open content model Web service messaging
US7418485B2 (en) System and method for addressing networked terminals via pseudonym translation
US8566423B2 (en) Scalable publish/subscribe messaging systems and methods
US20050203949A1 (en) Using endpoint references in a pub-sub system
US7885284B2 (en) Message-based communications
US20030074413A1 (en) Routing of network messages
EP1909191B1 (en) Method and system for transmitting data over a network
US20090019106A1 (en) Method of redirecting client requests to web services
WO2004042489A2 (en) User-identifier translator and linking apparatus for xml-based services and corresponding method
US7853695B2 (en) Using expressive session information to represent communication sessions in a distributed system
EP3542518B1 (en) Enabling connections in a content centric network
US7730209B2 (en) Efficient dispatch of messages based on message headers
US9762678B2 (en) Method, apparatus and computer program for modifying an endpoint reference representing a web service endpoint
US7676540B2 (en) Scoped referral statements
US20040172441A1 (en) Systems and methods for defining conversation information for web-services
O'Tuathail et al. Using the simple object access protocol (soap) in blocks extensible exchange protocol (beep)
Hildebrand et al. Entity Capabilities
Forno et al. Xep-0072: Soap over xmpp
Gudgin et al. Web Services Addressing-Core
Forno et al. SOAP Over XMPP
Allan et al. VOEvent Transport Protocol Version 2.0
CN100556040C (en) A kind of method of sending and receiving of conversation launch protocol message
McGregor et al. Constrained RESTful Environments WG (core)
US20020046252A1 (en) Repeater equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06846147

Country of ref document: EP

Kind code of ref document: A2