US8489934B2 - Messaging system - Google Patents

Messaging system Download PDF

Info

Publication number
US8489934B2
US8489934B2 US12/303,815 US30381507A US8489934B2 US 8489934 B2 US8489934 B2 US 8489934B2 US 30381507 A US30381507 A US 30381507A US 8489934 B2 US8489934 B2 US 8489934B2
Authority
US
United States
Prior art keywords
message
program data
messages
input
input port
Prior art date
Legal status (The legal status 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 status listed.)
Active, expires
Application number
US12/303,815
Other versions
US20100205496A1 (en
Inventor
Paul S Boardman
Steven J Smith
David L Tullett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Assigned to BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY reassignment BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TULLETT, DAVID LEIGH, BOARDMAN, PAUL SAMUEL, SMITH, STEVEN JOHN
Publication of US20100205496A1 publication Critical patent/US20100205496A1/en
Application granted granted Critical
Publication of US8489934B2 publication Critical patent/US8489934B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Definitions

  • This invention relates to a messaging system for facilitating sending messages between two or more systems of a group operating on different message formatting protocols. Such systems are useful, for example, in collating data collected by a number of separate systems which do not operate in the same manner.
  • the incoming messages can be in differing formats dependant on the event and system they are arriving from. Such differences may arise because the systems were not originally developed with any intention of interfacing, or there may be other reasons why full compatibility is not available. For example, different users may have different preferences or requirements, such as the need for their own systems to interface with other equipment. For example, if one of the systems is to monitor overall availability of a service dependant on several different service providers, it may need to connect to each service provider's logging system. In another situation, data generated by one system may be required by another system, for example if two service providers are required to co-operate to provide a service. Such a situation may arise for example if a function needs to be performed by one provider that requires data to be retrieved from a store associated with another, and updated data reporting that operation to be returned to the store.
  • n the number of systems, each potentially requiring a capability to interface with any other. If the number of systems, each potentially requiring a capability to interface with any other, is “n”, then the number of possible message flows through the messaging system, and therefore interfaces required, is given by n(n ⁇ 1)—assuming that the requirements for information flow between different systems are not symmetrical. This clearly becomes unmanageable very quickly as numbers increase: it would be a major task to add a new system to the group, or change the specification of an existing one, as it would require reconfiguration of all the existing interconnections. The problem is reduced if systems operating in the same manner can be identified, so that systems using the same protocol can share some resources in the messaging system, but the complexity involved in adding a new system is still significant.
  • a method for converting input messages from a plurality of different protocols into a common protocol to allow processing of the messages wherein program data suitable for said conversion is retrieved from a program data store, and wherein when an incoming message arrives at an input port corresponding to the source of the message, a message object is created, the message object including a label identifying the respective input port, wherein the program data is selected from the store according to the label indicating the input port.
  • the program data also specifies the processes to be performed on the messages. This may advantageously be achieved by having the message objects also identify the processes to be performed by the program data.
  • the message objects may also specify destinations to which data is to be delivered, the processes performed by the process data including the preparation of messages to be transmitted to said destinations. This preparation may include the step of converting message objects from the common protocol into one or more different protocols for delivery to respective destinations through respective output ports.
  • the invention allows the sharing of processing facilities by a plurality of processes converting between different protocols. Moreover, there is only a need to store one copy of each handling process regardless of how many different input systems, using different protocols, make use of it. This has advantages for storage, and also simplifies any upgrade process that may be required.
  • the actions performed on the translated message object in the common protocol may include enriching and validating the data.
  • New message objects may be generated for delivery to one or more destinations such as a database
  • a message handling apparatus having a plurality of input ports for receiving messages in a plurality of different protocols, means for generating a message object, the message object including a label identifying the respective input port, a program data store for storing a plurality of program data suites for converting said messages into a common protocol to allow processing of the messages, and means for selecting program data from the store according to the label indicating the input port such that said messages are converted into a common protocol to allow processing of the messages.
  • FIG. 2 is a flow diagram illustrating the processing of a message
  • FIG. 3 is a schematic diagram of a message object used in the invention.
  • FIG. 1 is a schematic illustration of the various elements that co-operate to form this embodiment of the invention.
  • the system comprises a message controller 4 for processing data received from a number of external systems 100 , 110 , 120 .
  • An associated program store 5 maintains process data to be retrieved by the message controller 4 .
  • the message object 3 received at the portal 10 , 11 , 12 is now passed to the message controller 4 .
  • the message controller transmits a call ( 21 ) to the program store 5 .
  • This call includes at least the header information 31 , 32 , 33 from the message object.
  • the program store 5 holds a concordance between the identities of the input ports 10 , 11 , 12 , as identified by the header information 33 , and the individual transformation programmes appropriate to inputs from their respective external systems 100 , 110 , 120 . There may be more than one transformation programme associated with the same port, depending on the type of the actual message received. If this is the case, the transformation processor 2 analyses the required action field 32 to determine the type of event.
  • the transformation programmes may be stored either in the form in which they are to be used, or as a configuration file indicating how such a programme is to be compiled.
  • FIG. 2 depicts a typical interaction handler 2 that might be downloaded to the message controller.
  • the number of steps may vary, and the details of the individual processes 2 etc stored in the store 5 will depend on the characteristics of the external systems 100 , 110 , 120 identified by the header information 31 , 32 , 33 .
  • the message object is first validated (step 22 ) to check that the message is correctly formatted for the program 2 that has been called, in particular to check that the payload 34 is compatible with the actions that are to be performed by the interaction handler.
  • the portal 10 , 11 , 12 and the generic parts of the message controller 2 can only handle the header information 31 , 32 , 33 in the message object.
  • the message object creation function 101 , 111 , 121 may need to read part of the payload 34 in the original message, in order to determine the correct “required action” field 32 , but it does not undertake a full validation.
  • the validation function 22 also guards against data corruption in the link between the external systems 100 , 110 , 120 and the message controller 4 .
  • Some data may not be explicit in the message received, but be inherent from the origin of the message, which can be determined from the header message applied by the portal 10 .
  • some systems may generate numerical data in imperial units and others in metric: the interaction handler may add the appropriate units, or convert all the data to a common system, in accordance with the portal (and hence the external system) from whence the data originated.
  • Messages from different sources may have similar form and content may require the interaction handler to respond in different ways: for example a message from a safety-critical system may be forwarded to a specified destination whilst a similar message from another system may merely be forwarded to a database for recording, or to an external system for correlating such messages to identify network errors or other conditions not apparent from the data of any single external system on its own.
  • actions 24 may include:
  • the action 24 includes the generation of an acknowledgement of other reply 27 for transmission to the originating system 100 .
  • a translation process 29 identifies, through the routing information 33 or otherwise, the destination portal 90 to which this message is to be sent, and thus what translation process is required.
  • the actions 24 may also require messages to be sent to one or more of the external systems 110 , 120 other than the originating system 100 . This may involve forwarding a new message 28 (or the original message, perhaps in modified form) to other external systems. Outputs 28 , configured for the respective destination terminals 100 , 110 , 120 can thus be generated and transmitted. Such actions 24 would include the calling of the appropriate translation processes for transmission to each external source.
  • the invention may be implemented on a general purpose computer, and the program data can be maintained on various transmission and/or storage mediums such as a floppy disc, CD-ROM, or magnetic tape so that the program data can be loaded onto a processor of the computer.

Abstract

Input messages are received at respective ports (10, 11, 12) of a message controller 4 from a plurality of external devices (100, 110, 120) which use different protocols. When an incoming message arrives at an input port a message object is created, the message object including a label identifying the respective input port. The conversion and subsequent handling of the messages uses program data which is retrieved from a program data store (5) according to the label indicating the input port. The program data retrieved is thus specified by the input port and allows conversion of messages into a common protocol to allow subsequent processing of the messages. This architecture allows the same program data to be called for external devices using the same protocol. Other processes may also be called from the program data store, covering functions such as validation, data enrichment, and exception handling processes.

Description

This application is the U.S. national phase of International Application No. PCT/GB2007/002086 filed 7 Jun. 2007 which designated the U.S. and claims priority to European Patent Application No. 06253381.5 filed 7 Jun. 2006, the entire contents of each of which are hereby incorporated by reference.
BACKGROUND
This invention relates to a messaging system for facilitating sending messages between two or more systems of a group operating on different message formatting protocols. Such systems are useful, for example, in collating data collected by a number of separate systems which do not operate in the same manner.
The incoming messages can be in differing formats dependant on the event and system they are arriving from. Such differences may arise because the systems were not originally developed with any intention of interfacing, or there may be other reasons why full compatibility is not available. For example, different users may have different preferences or requirements, such as the need for their own systems to interface with other equipment. For example, if one of the systems is to monitor overall availability of a service dependant on several different service providers, it may need to connect to each service provider's logging system. In another situation, data generated by one system may be required by another system, for example if two service providers are required to co-operate to provide a service. Such a situation may arise for example if a function needs to be performed by one provider that requires data to be retrieved from a store associated with another, and updated data reporting that operation to be returned to the store.
These service providers may be alternative suppliers of the same goods or service (e.g. two potential sources of the same material) or may be complementary (e.g. material and personnel). However, the service providers may use different equipment, from different manufacturers, and the individual systems need to be compatible with the equipment being monitored.
One example of such use is the operation of a number of co-operating services such as hospitals, doctors' surgeries etc, each of which hold and generate data which others may require, to support patient referrals etc.
If the number of systems, each potentially requiring a capability to interface with any other, is “n”, then the number of possible message flows through the messaging system, and therefore interfaces required, is given by n(n−1)—assuming that the requirements for information flow between different systems are not symmetrical. This clearly becomes unmanageable very quickly as numbers increase: it would be a major task to add a new system to the group, or change the specification of an existing one, as it would require reconfiguration of all the existing interconnections. The problem is reduced if systems operating in the same manner can be identified, so that systems using the same protocol can share some resources in the messaging system, but the complexity involved in adding a new system is still significant.
Moreover, if the messages need to be co-ordinated by the messaging system, as well as merely exchanged between the various co-operating systems, a common format is required for the messaging system to be able to do this.
SUMMARY OF PRESENT EXAMPLE EMBODIMENTS
The present invention relates to a message handling system that allows data to be exchanged between such systems, and enables messages to be ‘actioned’, for example by recording them to detect fault conditions, or by the addition of further data, as they pass through the interface. Fault conditions may be recognisable from the collation of data from several different sources. Such additional data may be required for example because the destination system requires data that is not provided by the originating system, for example a condition that is inherent in the originating system, or is a default condition, may need explicit recital in the message sent to the destination system.
According to the invention, there is provided a method for converting input messages from a plurality of different protocols into a common protocol to allow processing of the messages, wherein program data suitable for said conversion is retrieved from a program data store, and wherein when an incoming message arrives at an input port corresponding to the source of the message, a message object is created, the message object including a label identifying the respective input port, wherein the program data is selected from the store according to the label indicating the input port.
In a preferred arrangement, the program data also specifies the processes to be performed on the messages. This may advantageously be achieved by having the message objects also identify the processes to be performed by the program data. The message objects may also specify destinations to which data is to be delivered, the processes performed by the process data including the preparation of messages to be transmitted to said destinations. This preparation may include the step of converting message objects from the common protocol into one or more different protocols for delivery to respective destinations through respective output ports.
The invention allows the sharing of processing facilities by a plurality of processes converting between different protocols. Moreover, there is only a need to store one copy of each handling process regardless of how many different input systems, using different protocols, make use of it. This has advantages for storage, and also simplifies any upgrade process that may be required.
The actions performed on the translated message object in the common protocol may include enriching and validating the data. New message objects may be generated for delivery to one or more destinations such as a database
According to another aspect, there is provided a message handling apparatus having a plurality of input ports for receiving messages in a plurality of different protocols, means for generating a message object, the message object including a label identifying the respective input port, a program data store for storing a plurality of program data suites for converting said messages into a common protocol to allow processing of the messages, and means for selecting program data from the store according to the label indicating the input port such that said messages are converted into a common protocol to allow processing of the messages.
From time to time, situations may occur when the differences between the interacting systems make a required interaction impossible, either through lack of data or a mismatch of capabilities. The interface may be provided with a generic exception-handling process to enable such situations to be reported.
BRIEF DESCRIPTION OF DRAWINGS
An embodiment of the invention will be described by way of example, with reference to the drawings, in which:
FIG. 1 is a schematic diagram of the functional elements which co-operate to perform the invention;
FIG. 2 is a flow diagram illustrating the processing of a message
FIG. 3 is a schematic diagram of a message object used in the invention.
DETAILED DESCRIPTION OF PRESENT EXAMPLE EMBODIMENTS
FIG. 1 is a schematic illustration of the various elements that co-operate to form this embodiment of the invention. The system comprises a message controller 4 for processing data received from a number of external systems 100, 110, 120. An associated program store 5 maintains process data to be retrieved by the message controller 4.
The external systems 100, 110, 120 may be systems for reporting data for transmission to some other point, fault conditions, or any other properties. Each external system conditions may operate according to protocols and formats suitable for the conditions it is to work under, the equipment available, and any other uses to which it is to be put. Each external system 100, 110, 120 is connected to the message controller through respective input portals 10, 11, 12 and output portals 90, 91, 92. The external systems 100 etc may include message object creation means 101 which generate certain header information for each message transmitted, as will be described later with reference to FIG. 3. Alternatively, the respective input ports 11, 12 of the message controller may have an associated message object creation means 111, 121 performing a similar function.
Referring to FIGS. 2 and 3, when a message is to be sent to the message controller 4, a message object is first created (step 20). In addition to the actual message payload 34 itself, this message object 3 contains a unique identifier 31, an indication 32 as to the purpose of the message (the action to be performed on it), and an indication 33 of the origin of the message. This information is either provided by the originating external system 100, or at the input portal 11, 12. In either case, the creation function 101, 111, 121, is specific to the external system 100 (or its associated port 11, 12) and can therefore be compatible with the formats that it uses. Moreover, the origin of the message is readily identified at this point as the message creation process is specific to either the external process 100 or the input port 110, 120.
Instead of using extrinsic characteristics of a message, such as the port at which the message is received, the object creation function may generate a message object from intrinsic characteristics of the message. In this case the message controller calls a “Visit” function: such a function generates an output dependant on the content of the message to which it is called, and specifically on the format of that message.
The information 31, 32, 33 is generated by the object creation function in a common messaging format, to be used throughout the rest of the message controller 4. This allows a single message controller 4 to interface with a large number of disparate external systems
The message object 3 received at the portal 10, 11, 12 is now passed to the message controller 4. The message controller transmits a call (21) to the program store 5. This call includes at least the header information 31, 32, 33 from the message object. The program store 5 holds a concordance between the identities of the input ports 10, 11, 12, as identified by the header information 33, and the individual transformation programmes appropriate to inputs from their respective external systems 100, 110, 120. There may be more than one transformation programme associated with the same port, depending on the type of the actual message received. If this is the case, the transformation processor 2 analyses the required action field 32 to determine the type of event.
The transformation programmes may be stored either in the form in which they are to be used, or as a configuration file indicating how such a programme is to be compiled.
From the header information the store 5 identifies the required program data 2, and returns this program data to the message controller 4. The message controller 4 now has the program data 2 appropriate for processing the message 3, according to the characteristics of the source and destination of the message (specified by the routing 33) and the action 32 required.
FIG. 2 depicts a typical interaction handler 2 that might be downloaded to the message controller. The number of steps may vary, and the details of the individual processes 2 etc stored in the store 5 will depend on the characteristics of the external systems 100, 110, 120 identified by the header information 31, 32, 33. As shown in FIG. 2, the message object is first validated (step 22) to check that the message is correctly formatted for the program 2 that has been called, in particular to check that the payload 34 is compatible with the actions that are to be performed by the interaction handler. It should be noted that the portal 10, 11, 12 and the generic parts of the message controller 2, can only handle the header information 31, 32, 33 in the message object. Although the message object creation function 101, 111, 121 may need to read part of the payload 34 in the original message, in order to determine the correct “required action” field 32, but it does not undertake a full validation. The validation function 22 also guards against data corruption in the link between the external systems 100, 110, 120 and the message controller 4.
The message payload 34 is now translated 23 into a processing language in which the various actions 24 can be performed. Each translation program 23 translates a protocol used by one (or more) of the external processors 100, 110, 120 into a common processing language which is to be used for the actions 24 to be performed on the translated message. The use of the common language allows the action processes to be developed and updated more efficiently, as the process only needs to be performed once, rather than separately for each external system 100, 110, 120.
The interaction handler next performs one or more actions 24 specified by the interaction handler 2. Such actions may include the manipulation of data contained in the payload 34, for example standardising the way in which data is presented (e.g. month/day/year, or day-month-year). Tabular information may need to be organised into a common format, and grading levels normalised (for example if one system has three levels of priority and another has only two).
Some data may not be explicit in the message received, but be inherent from the origin of the message, which can be determined from the header message applied by the portal 10. For example, some systems may generate numerical data in imperial units and others in metric: the interaction handler may add the appropriate units, or convert all the data to a common system, in accordance with the portal (and hence the external system) from whence the data originated.
Messages from different sources may have similar form and content may require the interaction handler to respond in different ways: for example a message from a safety-critical system may be forwarded to a specified destination whilst a similar message from another system may merely be forwarded to a database for recording, or to an external system for correlating such messages to identify network errors or other conditions not apparent from the data of any single external system on its own.
Other actions 24 may include:
    • forwarding the message, or a new message derived therefrom, to one or more of the external devices 100, 110, 120,
    • collating the payload data 34 with data received in previous or subsequent messages from the same or different sources,
    • logging the message,
    • placing data on a database,
    • retrieving data from a database.
Because any incoming message is converted by the translation process 23 to a common format, such actions 24 can be called in more than one of the interaction handlers 2. This shared functionality substantially reduces the complexity of the system. Actions common to more than one interaction handler may be stored separately in the store, and called by a separate function call 212 from the interaction handler 2.
The action 24 includes the generation of an acknowledgement of other reply 27 for transmission to the originating system 100. A translation process 29 identifies, through the routing information 33 or otherwise, the destination portal 90 to which this message is to be sent, and thus what translation process is required.
From time to time data may be received which, for some reason, cannot be processed to generate the required output. Such data is identified by the interaction handler 4 and passed to an exception handler 25. The exception handler 25 is used by the interaction handler 2 to deal with exceptions as they occur whilst the message is being processed, dependant on the exception type and the location the exception occurred. When an exception is identified the message is passed to the exception handler, together with an “exception object” indicative of the reason that it cannot be processed. The exception handler 25 determines what action to take, either to recover and continue processing, or to fail the transaction. Recovery may require the reporting of an error message 26 to the origin of the failed message system, requesting re-transmission of the message. The message Identity 31 is included in the report.
The actions 24 may also require messages to be sent to one or more of the external systems 110, 120 other than the originating system 100. This may involve forwarding a new message 28 (or the original message, perhaps in modified form) to other external systems. Outputs 28, configured for the respective destination terminals 100, 110, 120 can thus be generated and transmitted. Such actions 24 would include the calling of the appropriate translation processes for transmission to each external source.
Several external systems 100, 110 may use the same protocol. In such cases the identities of their associated input and output ports 10, 11; 90, 91 would correspond to the same interaction handler 2 in the store 5, so the same programme would be retrieved. Should a new external system 120 join the group, or an existing one change its processing system, the required operating system is reported to the store 5 such that the concordance can be updated accordingly. If the interaction process is already available in the stores 5 (because another system (e.g. 100) also uses it, no further action is required. If the interaction process is not one of those already maintained in the store 5 it must be loaded to that store. However, once it is in the store, it is available for use by any other external system that may become connected at a later stage and uses the same operating protocols.
As will be understood by those skilled in the art, the invention may be implemented on a general purpose computer, and the program data can be maintained on various transmission and/or storage mediums such as a floppy disc, CD-ROM, or magnetic tape so that the program data can be loaded onto a processor of the computer.

Claims (24)

The invention claimed is:
1. Method for converting input messages from a plurality of different protocols, received by a message handling apparatus having a plurality of input ports, into a common protocol to allow processing of the messages using program data suitable for said conversion retrievable from a program data store, wherein when an incoming message arrives at an input port corresponding to the source of the message, a message object is created, the message object including a label identifying the respective input port, and wherein the program data is selected from the store according to the label indicating the input port.
2. Method according to claim 1 , wherein the program data also specifies the processes to be performed on the messages.
3. Method according to claim 2, wherein the message objects also identify the processes to be performed by the program data.
4. Method according to claim 3, wherein the message objects specify destinations to which data is to be delivered, and the processes performed by the program data include the preparation of messages to be transmitted to said destinations.
5. Method according to claim 4, wherein the program data includes the step of converting message objects from the common protocol into one or more different protocols for delivery to respective destinations through respective output ports.
6. Method according to claim 1, in which an exception handling process is retrievable from the program store for processing messages that cannot otherwise be processed, and recovering or reporting failure to process such messages.
7. Method according to claim 6, wherein the exception handling process to be recovered is selected from a plurality of such processes according to the route and/or event to be processed.
8. The method according to claim 1, wherein the program data store stores a concordance between respective identities of the input ports and selectable program data suitable for said conversion, and the program data store receives message objects, each having a label identifying a corresponding input port, respectively from the input ports.
9. Message handling apparatus having a plurality of input ports for receiving messages in a plurality of different protocols, means for generating a message object after receipt of at least a respective one of the messages on a respective input port, the message object including a label identifying the respective input port, a program data store for storing a plurality of program data suites for converting said messages into a common protocol to allow processing of the messages, and means for selecting program data from the store according to the label indicating the input port such that said messages are converted into a common protocol to allow processing of the messages.
10. Apparatus according to claim 9, wherein the program data also specifies the processes to be performed on the messages.
11. Apparatus according to claim 10, wherein the message objects also identify the processes to be performed by the program data.
12. Apparatus according to claim 11, wherein the message objects specify destinations to which data is to be delivered, and the processes performed by the process data include the preparation of messages to be transmitted to said destinations.
13. Apparatus according to claim 12, comprising means for converting message objects from the common protocol into one or more different protocols for delivery to respective destinations through respective output ports.
14. Apparatus according to claim 9, further comprising an exception handling means retrievable from the program store for processing messages that cannot otherwise be processed, and recovering or reporting failure to process such messages.
15. Apparatus according to claim 14, including means for selecting an exception handling means from a plurality of such means according to the route and/or event to be processed.
16. The apparatus according to claim 9, wherein the program data store is configured to store a concordance between respective identities of the input ports and program data suites for converting said messages into the common protocol, and the program data store is configured to receive message objects, each having a label identifying a corresponding input port, respectively from the input ports.
17. A non-transitory computer readable medium storing instructions which upon execution by a computer perform a method, the method comprising:
receiving input messages, having a plurality of different protocols, at a plurality of input ports;
creating a message object after at least one of the input messages has been received, the message object including an identifier corresponding to the respective input port at which the at least one input message has been received;
selecting program data based on the identifier corresponding to the respective input port at which the at least one input message has been received; and
using the selected program data to translate the at least one input message that has been received to a protocol which is common to the plurality of different protocols to allow processing of the at least one input message.
18. The non-transitory computer readable medium according to claim 17, wherein the program data specifies the processes to be performed on the at least one input message.
19. The non-transitory computer readable medium according to claim 18, wherein the message object identifies one or more processes to be performed by the program data.
20. The non-transitory computer readable medium according to claim 19, wherein the message object specify destinations to which data is to be delivered, and the one or more processes performed by the program data include the preparation of at least one message to be transmitted to said destinations.
21. The non-transitory computer readable medium according to claim 20, wherein the program data enables the message object to be converted from the common protocol into one or more different protocols for delivery to respective destinations.
22. The non-transitory computer readable medium according to claim 17, wherein the method further comprises retrieving an exception handling process and processing the messages that cannot otherwise be processed, and recovering or reporting failure to process such messages.
23. The non-transitory computer readable medium according to claim 22, wherein the exception handling process to be recovered is selected from a plurality of such processes according to a route and/or event to be processed.
24. The non-transitory computer readable medium according to claim 17, further comprising storing, in a storage memory, a concordance between respective identifiers of the input ports and selectable program data for translating input messages into the common protocol; and receiving message objects, each having an identifier identifying a corresponding input port, respectively from the input ports at the storage memory.
US12/303,815 2006-06-28 2007-06-07 Messaging system Active 2027-12-19 US8489934B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP06253381 2006-06-28
EP06253381.5 2006-06-28
EP06253381 2006-06-28
PCT/GB2007/002086 WO2008001038A1 (en) 2006-06-28 2007-06-07 Method and apparatus for converting messages

Publications (2)

Publication Number Publication Date
US20100205496A1 US20100205496A1 (en) 2010-08-12
US8489934B2 true US8489934B2 (en) 2013-07-16

Family

ID=36947130

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/303,815 Active 2027-12-19 US8489934B2 (en) 2006-06-28 2007-06-07 Messaging system

Country Status (3)

Country Link
US (1) US8489934B2 (en)
EP (1) EP2033403A1 (en)
WO (1) WO2008001038A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496426B2 (en) * 2013-12-27 2022-11-08 Entefy Inc. Apparatus and method for context-driven determination of optimal cross-protocol communication delivery

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2081361B1 (en) * 2008-01-21 2014-03-26 Alcatel Lucent Converged information systems
KR101485819B1 (en) * 2014-09-05 2015-01-23 (주) 메가투스 Message transformation apparatus
KR101678195B1 (en) * 2014-12-29 2016-11-22 (주) 메가투스 Message transformation method, apparatus for the same, Computer program for the same, and Recording medium storing computer program thereof

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608874A (en) 1994-12-02 1997-03-04 Autoentry Online, Inc. System and method for automatic data file format translation and transmission having advanced features
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database
US6000041A (en) * 1995-12-20 1999-12-07 Nb Networks System and method for general purpose network analysis
US6047002A (en) * 1997-01-16 2000-04-04 Advanced Micro Devices, Inc. Communication traffic circle system and method for performing packet conversion and routing between different packet formats including an instruction field
EP1235160A2 (en) 2001-02-16 2002-08-28 Microsoft Corporation System and method for providing a unified messaging scheme in a mobile device
US20030061385A1 (en) 2001-05-31 2003-03-27 Lucas Gonze Computer network interpretation and translation format for simple and complex machines
WO2004027559A2 (en) 2002-09-17 2004-04-01 Bellsouth Intellectual Property Corporation Message client with multiple message system consolidation
US20050192649A1 (en) 2004-02-27 2005-09-01 Cardiac Pacemakers, Inc. Systems and methods for providing variable medical information
US20050262472A1 (en) * 2004-05-21 2005-11-24 Eric Wood Method and system for intelligent and adaptive exception handling

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005072245A2 (en) * 2004-01-23 2005-08-11 Eva Corporation Apparatus and method for the articulation of a catheter

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608874A (en) 1994-12-02 1997-03-04 Autoentry Online, Inc. System and method for automatic data file format translation and transmission having advanced features
US6000041A (en) * 1995-12-20 1999-12-07 Nb Networks System and method for general purpose network analysis
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database
US6047002A (en) * 1997-01-16 2000-04-04 Advanced Micro Devices, Inc. Communication traffic circle system and method for performing packet conversion and routing between different packet formats including an instruction field
EP1235160A2 (en) 2001-02-16 2002-08-28 Microsoft Corporation System and method for providing a unified messaging scheme in a mobile device
US20030061385A1 (en) 2001-05-31 2003-03-27 Lucas Gonze Computer network interpretation and translation format for simple and complex machines
WO2004027559A2 (en) 2002-09-17 2004-04-01 Bellsouth Intellectual Property Corporation Message client with multiple message system consolidation
US20050192649A1 (en) 2004-02-27 2005-09-01 Cardiac Pacemakers, Inc. Systems and methods for providing variable medical information
US20050262472A1 (en) * 2004-05-21 2005-11-24 Eric Wood Method and system for intelligent and adaptive exception handling

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Applicant Response (2 pgs.) to Apr. 21, 2010 Office Action issued in corresponding European Application No. 07 733 098.3.
Applicant Response (2 pgs.) to May 6, 2009 Office Action issued in corresponding European Application No. 07 733 098.3.
European Search Report dated Sep. 13, 2006 in EP 06 25 3381.
Office Action (1 pg.) dated May 6, 2009 issued in corresponding European Application No. 07 733 098.3.
Office Action (3 pgs.) dated Apr. 21, 2010 issued in corresponding European Application No. 07 733 098.3.
Office Action (3 pgs.) dated Oct. 17, 2011 issued in corresponding European Application No. 07 733 098.3.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496426B2 (en) * 2013-12-27 2022-11-08 Entefy Inc. Apparatus and method for context-driven determination of optimal cross-protocol communication delivery
US11831590B1 (en) 2013-12-27 2023-11-28 Entefy Inc. Apparatus and method for context-driven determination of optimal cross- protocol communication delivery

Also Published As

Publication number Publication date
WO2008001038A1 (en) 2008-01-03
EP2033403A1 (en) 2009-03-11
US20100205496A1 (en) 2010-08-12

Similar Documents

Publication Publication Date Title
US7685143B2 (en) Unified logging service for distributed applications
US9053218B2 (en) Data transmission capture in support of medication preparation
US8700781B2 (en) Automated processing of service requests using structured messaging protocols
EP2031818B1 (en) Systems and/or methods for providing feature-rich proprietary and standards-based triggers via a trigger subsystem
US8489934B2 (en) Messaging system
EP2242228A1 (en) Method and system for a distributed and extensible communication framework
US7590701B2 (en) Apparatus and method for generating alert messages in a message exchange network
US7954112B2 (en) Automatic recovery from failures of messages within a data interchange
US20160337210A1 (en) Method and system for trouble ticketing
JP4452211B2 (en) Data mismatch detection device and detection method
US7317912B2 (en) Software development environment
US7925788B2 (en) Systems and methods for universal protocol for case management systems
US20090198638A1 (en) Presence combining apparatus and presence combining method
US8549269B2 (en) Method, apparatus or software for processing exceptions produced by an application program
CN111901308B (en) Information interaction method
EP1574980A1 (en) Context objects for accessing message content
US8863081B2 (en) Computer readable medium for translating protocols
CN114296985A (en) Global exception handling method and platform in large-scale micro-service cluster scene
CN108293015B (en) Method and system for handling messages in a healthcare communication network
CN111782882A (en) TCP message conversion method, device, system and computer storage medium
US20080109509A1 (en) Computer architecture for communicating between objects
JP2002278796A (en) System for monitoring remote device
US20100083227A1 (en) Computer readable medium for translating protocols
WO2002057874A2 (en) System and process for routing information in a data processing system
GB2405062A (en) Protocol conversion via intermediate protocol with message storage and verification

Legal Events

Date Code Title Description
AS Assignment

Owner name: BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY,

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOARDMAN, PAUL SAMUEL;SMITH, STEVEN JOHN;TULLETT, DAVID LEIGH;SIGNING DATES FROM 20070905 TO 20080409;REEL/FRAME:021938/0513

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8