IP Library Granted Patent US 8,112,481
Granted Patent B2
US 8,112,481 · App. 10/402,337 · Granted Feb 7, 2012

Document message state management engine

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,112,481
App. No.
10/402,337
Granted
Feb 7, 2012
Kind
B2
Abstract

A state management sub-system that assists in transmitting and processing documents and messages between two applications in a sequentially correct order through an integration server is disclosed. The state management subsystem analyzes the message and enters state information about the message into a state management table. Once the message is transformed the state management subsystem check the status of the message in the state management table, and checks all waiting parameters. Depending on the status of the check, the state management subsystem changes the state of message in the table. Only when all messages have passed the waiting parameters check is a message posted to the destination system.

Claims (66)

1. A method, implemented at least in part by a computing device, for controlling posting of messages from a source system to a destination system through an integration control component, the method comprising:

receiving at a receive function of the integration control component a message from the source system;

accessing a state management table that includes an identifier for the message and a status of the message and selecting the message status for the message from submitted, failed, posting, retry, and retriable;

identifying a waiting parameter for the message in a preprocessor, wherein the waiting parameter comprises at least one of a prerequisite data field or a prerequisite message at the destination system;

processing the message through the integration control component from the source system to the destination system in a sequential order with respect to one or more other message, using the computing device, wherein processing comprising:

determining whether the waiting parameter associated with the message has been satisfied;

analyzing a portion of the message to identify whether an external link between the integration control component and an external application is required to exist prior to posting the message, wherein the external link relates to a messaging transport that links the integration control component and the external application; and

if the external link is required to exist:

in response to determining the external link does not exist,

changing the status of the message identified by said message identifier in the state management table to retriable;

in response to determining that the waiting parameter has been satisfied, posting the message identified by said message identifier to the destination system.

2. The method of claim 1 further comprising:

providing a copy of the message to the preprocessor; and

wherein identifying comprises identifying the waiting parameters in the preprocessor.

3. The method of claim 1 wherein processing the message comprises:

transforming the message from a first form adapted for use by the source system to a second form adapted for use by the destination system.

4. The method of claim 1 wherein identifying any waiting parameters comprises:

writing the identified waiting parameters as an entry for the message in a wait state table in a state management subsystem.

5. A method, implemented at least in part by a computing device, for controlling posting of messages from a source system to a destination system through an integration control component, the method comprising:

receiving at a receive function of the integration control component a message from the source system;

identifying whether any waiting parameters exist for the message in a preprocessor, comprising:

a parent/child relationship between the message at the integration control component and a prerequisite data field or a prerequisite message at the destination system;

a related data field existing in or a related message posting to the destination system prior to the message; and

an unrelated data field existing in or an unrelated message posting to the destination system prior to the message;

processing the message through the integration control component from the source system to the destination system in a sequential order with respect to one or more other messages, using the computing device, wherein processing comprises:

analyzing a portion of the message to identify whether an external link between the integration control component and

external application is required to exist prior to posting the message, wherein the external link relates to a messaging transport that links the integration control component and the external application;

determining whether the waiting parameter and any identified external links associated with the message have been satisfied; and

in response to determining that the waiting parameter has been satisfied and if the external link is required to exist, that the external link exists:

accessing a state management table that includes an identifier for the message and a status of the message;

changing the status of the message identified by said message identifier in the state management table to posting; and

posting the message identified by said message identifier to the destination system.

6. The method of claim 5 further including:

writing the message order waiting parameter to a message order table.

7. The method of claim 5 , wherein processing the message comprises:

transforming the message from a first form adapted for use by the source system to a second form adapted for use by the destination system.

8. The method of claim 5 , wherein identifying any waiting parameters comprises:

writing the identified waiting parameters as an entry for the message in a wait state table in a state management subsystem.

9. A method, implemented at least in part by a computing device, for controlling posting of messages from a source system to a destination system: the method comprising:

receiving a message from the source system;

determining a message status for the message by accessing a state management table that includes an identifier for tile message and the status of the message;

selecting the message status for the message from submitted, failed, posting, retry, and retriable;

identifying any waiting parameters for the message comprising at least one of a prerequisite data field or a prerequisite message at the destination system;

analyzing the message using the computing device to identify an external link between the integration control component and an external application that is required to exist prior to posting the message to the destination system, wherein the external link relates to a messaging transport that links the integration control component and the external application; and

determining whether the waiting parameters has been satisfied and whether the external link exists; and

in response to determining that the external link does not exist:

changing the status of the message identified by said message identifier to indicate it is retriable;

in response to determining that the external link does exist:

changing the status of the message identified by said message identifier to indicate it is posting; and

posting the message identified by said message identifier to the destination system.

10. The method of claim 9 further comprising:

providing a copy of the message to a preprocessor; and

analyzing the message in the preprocessor.

11. The method of claim 9 further comprising:

transforming the message from a first form adapted for use by the source system to a second form adapted for use by the destination system.

12. The method of claim 9 further comprising:

writing identified waiting parameters as an entry for the message in a wait state table in a state management subsystem.

13. The method of claim 9 further comprising checking for a parent/child relationship between two or more messages.

14. The method of claim 9 further comprising checking for a related data field existing or posting prior to the message.

15. The method of claim 9 further comprising checking for an unrelated data field existing or posting prior to the message.

16. The method of claim 9 further comprising checking a message order based upon an order in which a plurality of messages were received from the source system.

17. The method of claim 16 further comprising writing the message order waiting parameter to a message order table.

18. The method of claim 1 , wherein identifying the waiting parameter comprises identifying any waiting parameters comprising:

a parent/child relationship between the message at the integration control component and the prerequisite data field or prerequisite message at the destination system;

a related data field existing in or posting to the destination system prior to the message; and

unrelated data field existing in or posting to the destination system prior to the message.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2003
From: WHITTENBERGER, KEVIN; JACKSON, SONJA; LADWIG, JASON
To: MICROSOFT CORPORATION
Reel/Frame 014318/0729 →