Claims
- 1. A method for correlating services within a computer network, the method comprising:
providing a message interchange network which manages a plurality of services which are each accessible by a plurality of services; and tracking correlation information regarding each message received into message interchange network, wherein the messages are being sent between pairs of the services, wherein the correlation information for each message pertains to each message and any other messages related to the each message.
- 2. A method as recited in claim 1, wherein the correlation information for each message includes message information regarding the each message and/or call information regarding a call to which the each message and any other related message belongs, and/or session information regarding a session to which the each message and any other related message belongs.
- 3 A method as recited in claim 2, wherein the message information for each message includes a Hop Identifier (ID) uniquely identifying a hop between a sender and receiver of the each message.
- 4. A method as recited in claim 3, wherein the message information for each message further includes an identification of the each message's sending service and receiving service.
- 5. A method as recited in claim 3, wherein the message information for each message further includes an indication as to whether the each message has completed transmission.
- 6. A method as recited in claim 5, wherein the message information for each message further includes a reason or error log regarding why the each message has failed to complete its transmission if the each message has failed.
- 7. A method as recited in claim 3, wherein the message information for each message further includes a portion of the each message content.
- 8. A method as recited in claim 3, wherein the message information for each message further includes two or more of the following: an identification of the each message's sending and receiving service, an indication as to whether the each message has completed transmission, a reason or error log regarding why the each message has failed to complete its transmission if the each message has failed, and a portion of the each message content, a size of the each message, a topic of the each message, a status on processing steps taken on the each message, and specification of any protocols used in receiving and sending the each message.
- 9. A method as recited in claim 2, wherein the call information for each call includes a Call Identifier (ID) uniquely identifying the each call.
- 10. A method as recited in claim 9, wherein the call information for each call further includes two or more of the following: an indication as to whether the each call is complete and a reason for the call not being complete if the each call fails to complete, a type of each call, a receiving and sending time for the each call, a sender and recipient service of each call, a status of policy evaluation for each call, and a set of hops in each call.
- 11. A method as recited in claim 2, wherein the session information for each session includes a Session Identifier (ID) uniquely identifying the each session.
- 12. A method as recited in claim 11, wherein the session information for each session further includes an indication as to whether the each session is complete and a reason for the session not being complete if the each session fails to complete.
- 13. A method as recited in claim 11, wherein the session information for each session further includes a calculated or executed route for messages sent within the each session.
- 14. A method as recited in claim 11, wherein the session information for each session further includes an identity and status of each service of the each session.
- 15. A method as recited in claim 11, wherein the session information for each session further includes two or more of the following: an indication as to whether the each session is complete and a reason for the session not being complete if the each session fails to complete, a calculated or executed route for messages sent within the each session, and an identity and status of each service of the each session, an initiating time and completion time for each session, and an indication of a set of calls in each session.
- 16. A method as recited in claim 2, wherein each message belongs to a particular call between two of the services.
- 17. A method as recited in claim 2, wherein each call may include a request message and a response message or a notification message.
- 18. A method as recited in claim 2, wherein a call is defined as a set of predefined message types.
- 19. A method as recited in claim 2, wherein a session is determined by the services which send messages for the set of calls as a set of calls.
- 20. A method as recited in claim 1, wherein at least some of services are implemented on different computer systems and at least some of these computer systems differ from a computer system which implements the message interchange network.
- 21. A method as recited in claim 2, wherein the tracking of correlating information comprises:
receiving a current message at the message interchange network, wherein the current message belong to a current session and a current call; when this is a first message received for the current session, assigning a session identifier for the current message and embedding the session identifier in the current message prior to forwarding it to its destination service; when this is a first message received for the current call, assigning a call identifier for the current message and embedding the call identifier in the current message prior to forwarding it to its destination service; assigning a hop identifier for the current message which uniquely identifies the current message; and associating and storing the session identifier, the call identifier, and the hop identifier, along with message, call, and session information for the received message.
- 22. A method as recited in claim 2, further comprising:
receiving a query for correlation information regarding a particular session or call, wherein the query is sent by a first one of the services; and sending correlation information to the first service related to the particular session or call of the query.
- 23. A method as recited in claim 22, wherein the correlation information includes information regarding messages sent between more than two services.
- 24. A method as recited in claim 22, further comprising determining whether the first service is authorized to make the query and only sending correlation information to the first service when it is determined that the first service is authorized.
- 25. A method as recited in claim 1, wherein at least one of the services is a routing script.
- 26. A method as recited in claim 1, wherein the correlation information includes at least one message identifier specified in at least one of the messages which is sent by a sending service, the method further comprising:
receiving a query for correlation information regarding a particular message identifier, wherein the query is sent by a first one of the services; and sending correlation information to the first service related to the particular message identifier of the query.
- 27. A computer system operable to correlate services within a computer network the computer system comprising:
one or more processors; one or more memory, wherein at least one of the processors and memory are adapted for:
providing a message interchange network which manages a plurality of services which are each accessible by a plurality of services; and tracking correlation information regarding each message received into message interchange network, wherein the messages are being sent between pairs of the services, wherein the correlation information for each message pertains to each message and any other messages related to the each message.
- 28. A computer system as recited in claim 27, wherein the correlation information for each message includes message information regarding the each message and/or call information regarding a call to which the each message and any other related message belongs, and/or session information regarding a session to which the each message and any other related message belongs.
- 29 A computer system as recited in claim 28, wherein the message information for each message includes a Hop Identifier (ID) uniquely identifying a hop between a sender and receiver of the each message.
- 30. A computer system as recited in claim 29, wherein the message information for each message further includes two or more of the following: an identification of the each message's sending and receiving service, an indication as to whether the each message has completed transmission, a reason or error log regarding why the each message has failed to complete its transmission if the each message has failed, and a portion of the each message content, a size of the each message, a topic of the each message, a status on processing steps taken on the each message, and specification of any protocols used in receiving and sending the each message.
- 31. A computer system as recited in claim 28, wherein the call information for each call includes a Call Identifier (ID) uniquely identifying the each call.
- 32. A computer system as recited in claim 31, wherein the call information for each call further includes two or more of the following: an indication as to whether the each call is complete and a reason for the call not being complete if the each call fails to complete, a type of each call, a receiving and sending time for the each call, a sender and recipient service of each call, a status of policy evaluation for each call, and a set of hops in each call.
- 33. A computer system as recited in claim 28, wherein the session information for each session includes a Session Identifier (ID) uniquely identifying the each session.
- 34. A computer system as recited in claim 33, wherein the session information for each session further includes two or more of the following: an indication as to whether the each session is complete and a reason for the session not being complete if the each session fails to complete, a calculated or executed route for messages sent within the each session, and an identity and status of each service of the each session, an initiating time and completion time for each session, and an indication of a set of calls in each session.
- 35. A computer system as recited in claim 31, wherein each call may includes a request message and a response message or a notification message.
- 36. A computer system as recited in claim 28, wherein a call is defined as a set of predefined message types.
- 37. A computer system as recited in claim 36, wherein a session is determined by the services which send messages for the set of calls as a set of calls.
- 38. A computer system as recited in claim 27, wherein at least some of services are implemented on difference computer systems and at least some of these computer systems differ from a computer system which implements the message interchange network.
- 39. A computer system as recited in claim 28, wherein the tracking of correlating information comprises:
receiving a current message at the message interchange network, wherein the current message belong to a current session and a current call; when this is a first message received for the current session, assigning a session identifier for the current message and embedding the session identifier in the current message prior to forwarding it to its destination service; when this is a first message received for the current call, assigning a call identifier for the current message and embedding the call identifier in the current message prior to forwarding it to its destination service; assigning a hop identifier for the current message which uniquely identifies the current message; and associating and storing the session identifier, the call identifier, and the hop identifier, along with message, call, and session information for the received message.
- 40. A computer system as recited in claim 28, wherein the at least one of the processors and memory are further adapted for:
receiving a query for correlation information regarding a particular session or call, wherein the query is sent by a first one of the services; and sending correlation information to the first service related to the particular session or call of the query.
- 41. A computer system as recited in claim 26, wherein at least one of the services is a routing script.
- 42. A computer program product for correlating services within a computer network, the computer program product comprising:
at least one computer readable medium; computer program instructions stored within the at least one computer readable product configured for:
providing a message interchange network which manages a plurality of application services which are each accessible by a plurality of services and/or application services; and tracking correlation information regarding each message received into message interchange network, wherein the messages are being sent between pairs of the services, wherein the correlation information on how each message is related to the message route, other messages, or services.
- 43. A computer program product as recited in claim 42, wherein the correlation information for each message includes message information regarding the each message and/or call information regarding a call to which the each message and any other related message belongs, and/or session information regarding a session to which the each message and any other related message belongs.
- 44 A computer program product as recited in claim 43, wherein the message information for each message includes a Hop Identifier (ID) uniquely identifying a hop between a sender and receiver of the each message.
- 45. A computer program product as recited in claim 44, wherein the message information for each message further includes an identification of the each message's sending service and receiving service.
- 46. A computer program product as recited in claim 44, wherein the message information for each message further includes an indication as to whether the each message has completed transmission.
- 47. A computer program product as recited in claim 46, wherein the message information for each message further includes a reason or error log regarding why the each message has failed to complete its transmission if the each message has failed.
- 48. A computer program product as recited in claim 44, wherein the message information for each message further includes a portion of the each message content.
- 49. A computer program product as recited in claim 44, wherein the message information for each message further includes two or more of the following: an identification of the each message's sending and receiving service, an indication as to whether the each message has completed transmission, a reason or error log regarding why the each message has failed to complete its transmission if the each message has failed, and a portion of the each message content, a size of the each message, a topic of the each message, a status on processing steps taken on the each message, and specification of any protocols used in receiving and sending the each message.
- 50. A computer program product as recited in claim 43, wherein the call information for each call includes a Call Identifier (ID) uniquely identifying the each call.
- 51. A computer program product as recited in claim 50, wherein the call information for each call further includes two or more of the following: an indication as to whether the each call is complete and a reason for the call not being complete if the each call fails to complete, a type of each call, a receiving and sending time for the each call, a sender and recipient service of each call, a status of policy evaluation for each call, and a set of hops in each call.
- 52. A computer program product as recited in claim 43, wherein the session information for each session includes a Session Identifier (ID) uniquely identifying the each session.
- 53. A computer program product as recited in claim 52, wherein the session information for each session further includes an indication as to whether the each session is complete and a reason for the session not being complete if the each session fails to complete.
- 54. A computer program product as recited in claim 52, wherein the session information for each session further includes a calculated or executed route for messages sent within the each session.
- 55. A computer program product as recited in claim 52, wherein the session information for each session further includes an identity and status of each service of the each session.
- 56. A computer program product as recited in claim 52, wherein the session information for each session further includes two or more of the following: an indication as to whether the each session is complete and a reason for the session not being complete if the each session fails to complete, a calculated or executed route for messages sent within the each session, and an identity and status of each service of the each session, a initiating time and completion time for each session, an indication of a set of calls in each session.
- 57. A computer program product as recited in claim 43, wherein each message belongs to a particular call between two of the services.
- 58. A computer program product as recited in claim 43, wherein each call may includes a request message and a response message or a notification message.
- 59. A computer program product as recited in claim 43, wherein a call is defined is as a set of predefined message types.
- 60. A computer program product as recited in claim 43, wherein a session is determined by the services which send messages for the set of calls as a set of calls.
- 61. A computer program product as recited in claim 42, wherein at least some of services are implemented on difference computer systems and at least some of these computer systems differ from a computer system which implements the message interchange network.
- 62. A computer program product as recited in claim 43, wherein the tracking of correlating information comprises:
receiving a current message at the message interchange network, wherein the current message belong to a current session and a current call; when this is a first message received for the current session, assigning a session identifier for the current message and embedding the session identifier in the current message prior to forwarding it to its destination service; when this is a first message received for the current call, assigning a call identifier for the current message and embedding the call identifier in the current message prior to forwarding it to its destination service; assigning a hop identifier for the current message which uniquely identifies the current message; and associating and storing the session identifier, the call identifier, and the hop identifier, along with message, call, and session information for the received message.
- 63. A computer program product as recited in claim 43, wherein the at least one computer readable product are further configured for:
receiving a query for correlation information regarding a particular session or call, wherein the query is sent by a first one of the services; and sending correlation information to the first service related to the particular session or call of the query.
- 64. A computer program product as recited in claim 63, wherein the correlation information includes information regarding messages sent between more than two services.
- 65. A computer program product as recited in claim 63, wherein the at least one computer readable product are further configured for determining whether the first service is authorized to make the query and only sending correlation information to the first service when it is determined that the first service is authorized.
- 66. A computer program product as recited in claim 42, wherein at least one of the services is a routing script.
- 67. A computer program product as recited in claim 42, wherein the correlation information includes at least one message identifier specified in at least one of the messages which is sent by a sending service, the method further comprising:
receiving a query for correlation information regarding a particular message identifier, wherein the query is sent by a first one of the services; and sending correlation information to the first service related to the particular message identifier of the query.
CROSS REFERENCE TO RELATED PATENT APPLICATION
[0001] This application claims priority and is a continuation-in-part of co-pending U.S. Patent Application, having application Ser. No. 09/820,966, entitled “System and Method for Routing Messages between Applications”, filed Mar. 30, 2001 by Lev Brouk et al., which application is herein incorporated by reference in its entirety for all purposes.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09820966 |
Mar 2001 |
US |
Child |
10728356 |
Dec 2003 |
US |