IP Library Granted Patent US 7,769,896
Granted Patent B2
US 7,769,896 · App. 10/256,682 · Granted Aug 3, 2010

Method, apparatus and system for dispatching messages within a system

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 7,769,896
App. No.
10/256,682
Granted
Aug 3, 2010
Kind
B2
Abstract

In one embodiment, the present invention is a method of dispatching information within a system. The method includes receiving a message. The method also includes extracting address information from the message. The method further includes determining a destination from the address information. The method also includes routing the message to the destination.

Claims (109)

1. A method of dispatching information within a computer system, comprising:

receiving at the computer system a message comprising a plurality of transactions, wherein the plurality of transactions relates to a plurality of changes, respectively, in a first database having a first database schema, wherein the plurality of transactions comprise first and second transactions for first and second applications, respectively;

creating a rules data structure for processing the received message;

determining that the first and second transactions are valid;

in response to determining that the first transaction is valid, determining that the first transaction matches a first rule of the rules data structure, which indicates that a first method for processing the first transaction exists;

in response to determining that the second transaction is valid, determining that the second transaction matches a second rule of the rules data structure, which indicates that a second method for processing the second transaction exists;

tagging and inserting values into the first transaction to facilitate processing of the first transaction based on the first rule;

tagging and inserting values into the second transaction to facilitate processing of the second transaction based on the second rule;

extracting source or destination address information from the plurality of transactions of the message;

routing the first and second transactions of the message to the first and second applications, respectively based on the extracted source or destination address information;

the first and second applications effecting changes in a second database using the plurality of transactions, wherein the second database has a second database schema, wherein the first database schema is different from the second database schema.

2. The method of claim 1 further comprising:

converting the message into a second message;

transforming the second message into a third message; and

processing the third message to form a transformed set of transactions.

3. The method of claim 1 further comprising:

converting the message into a second message using custom scripts and default processing;

transforming the second message into a third message using custom scripts and default processing; and

processing the third message to form a transformed set of transactions using custom scripts and default processing.

4. The method of claim 1 further comprising:

detecting errors in the message.

5. The method of claim 1 further comprising:

providing additional information to the first or second applications.

6. The method of claim 5 wherein:

additional information includes transformation map information.

7. The method of claim 5 wherein:

additional information includes transaction operation information.

8. The method of claim 5 wherein:

additional information includes an internal representation of data hierarchy information of the message.

9. The method of claim 8 wherein:

the internal representation is configurable based on the set of rules.

10. A method of dispatching messages in a computer system, comprising:

receiving at the computer system a message comprising a plurality of transactions including first and second transactions for first and second applications, respectively, wherein the plurality of transactions relates to a plurality of changes, respectively, in a first database having a first database schema;

retrieving source or destination addresses from the message;

creating a rules data structure comprising first and second rules;

comparing each of the plurality of transactions to the rules of the data structure to determine if the transaction matches a rule of the data structure;

tagging and inserting values in the first and second transactions in order to facilitate processing of the first and second transactions based on the first and second rules;

assembling the message; and

transferring the assembled message to a system that comprises the first and second applications based the source or destination addresses;

the first and second applications effecting changes in a second database using the first and second transactions, respectively, wherein the second database has a second database schema, wherein the first database schema is different from the second database schema.

11. The method of claim 10 , further comprising:

determining whether an envelope is present; and

tagging the envelope and any associated headers.

12. The method of claim 11 , further comprising:

determining whether processing instructions are present in the message; and

tagging the processing instructions.

13. The method of claim 12 , further comprising:

determining that a third transaction of the plurality of transactions does not match any rule of the rules data structure; and

tagging the third transaction as unknown; and

wherein transferring the assembled message comprises transferring the third transaction to a default destination responsive to the tagging as unknown.

14. The method of claim 10 further comprising:

receiving the set of rules.

15. The method of claim 14 further comprising:

detecting changes in the set of rules.

16. The method of claim 10 further comprising:

converting the message into a second message;

transforming the second message into a third message; and

processing the third message to form a transformed plurality of transactions.

17. The method of claim 10 further comprising:

converting the message into a second message using custom scripts and default processing;

transforming the second message into a third message using custom scripts and default processing; and

processing the third message to form a transformed plurality of transactions using custom scripts and default processing.

18. The method of claim 10 further comprising:

validating the message.

19. The method of claim 18 wherein:

validating the message includes determining if each transaction of the plurality of transactions is supported by the system.

20. The method of claim 10 further comprising:

detecting errors in the message.

21. The method of claim 10 further comprising:

providing additional information to the first or second applications.

22. The method of claim 21 wherein:

additional information includes transformation map information.

23. The method of claim 21 wherein:

additional information includes transaction operation information.

24. The method of claim 21 wherein:

additional information includes an internal representation of data hierarchy information of the message.

25. The method of claim 24 wherein:

the internal representation is configurable based on the set of rules.

26. A machine-readable storage medium embodying instructions, which, when executed by a processor, cause the processor to perform a method, the method comprising:

receiving a message comprising a plurality of transactions including first and second transactions for first and second applications, respectively, wherein each of the transactions relates to changes, respectively, in a first database having a first database schema;

creating a rules data structure for processing the message;

determining that the first and second transactions are valid;

in response to determining that the first transaction is valid, determining that the first transaction matches a first rule of the rules data structure, which indicates that a first method for processing the first transaction exists within a system that comprises the first and second applications;

in response to determining that the second transaction is valid, determining that the second transaction matches a second rule of the rules data structure, which indicates that a second method for processing the second transaction exists within the system;

extracting source or destination address information from the message;

tagging and inserting values into the first transaction to facilitate processing of the first transaction based on the first rule;

tagging and inserting values into the second transaction to facilitate processing of the second transaction based on the second rule;

routing the first and second transactions to the first and second applications, respectively, of a system based on the extracted source or destination address information;

the first and second applications effecting changes in a second database using the plurality of transactions, wherein the second database has a second database schema, wherein the first database schema is different from the second database schema.

27. The machine-readable storage medium of claim 26 further embodying instructions which, when executed by the processor, further cause the processor to perform the method further comprising:

converting the message into a second message;

transforming the second message into a third message; and

processing the third message to form a set of transactions.

28. The machine-readable storage medium of claim 26 further embodying instructions which, when executed by the processor, further cause the processor to perform the method further comprising:

converting the message into a second message using custom scripts and default processing;

transforming the second message into a third message using custom scripts and default processing; and

processing the third message to form a set of transactions using custom scripts and default processing.

29. The method of claim 1 further comprising:

receiving the processing rules;

parsing the processing rules;

storing the processing rules as objects in the rules data structure; and

comparing the transactions against the objects in the rules data structure.

30. The method of claim 29 further comprising:

determining that a third transaction of the plurality of transactions does not have an identifiable destination;

routing the third transaction to a default destination included in the processing rules.

31. The method of claim 30 further comprising:

removing from the message that portion of the message which comprises the source and destination address information.

32. The method of claim 31 further comprising:

identifying each sub-part of the message as one of a body part, a header part, and an unknown part.

Assignments (2)
MERGER Recorded Feb 5, 2016
From: SIEBEL SYSTEMS, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037702/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2002
From: LIOU, MING-TAO; YEAP, HWEE HAR; HSIAO, CHIUN-FENG
To: SIEBEL SYSTEMS, INC.
Reel/Frame 013344/0438 →