IP Library Granted Patent US 8,392,356
Granted Patent B2
US 8,392,356 · App. 11/734,105 · Granted Mar 5, 2013

Efficient transformation of information between a source schema and a target schema

Inventors: Mike Stoner (San Francisco, CA); Neal Cruz (Emeryville, CA)
Assignee: TIBCO Software Inc.
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,392,356
App. No.
11/734,105
Filed
Apr 11, 2007
Granted
Mar 5, 2013
Kind
B2
Art Unit
2159
USPC
707/2
Abstract

A method is described for relaying information from a first body of information defined by a source schema to a second body of information defined by a target schema. The method involves mapping content associated with one or more source schema fields from the first body of information to a third body of information defined by an intermediate schema. The method further involves executing one or more transformation functions that use the content and are identified by the intermediate schema. The method further involves mapping one or more results of the executing from the third body of information to the second body of information.

Claims (52)

1. A method for relaying information from a first body of information to form a second body of information, the first body of information being defined by a source schema and the second body of information being defined by a target schema, the method comprising:

performing a first mapping comprising mapping content associated with a plurality of source schema fields from said first body of information to form a third body of information, the third body of information being defined by an intermediate schema,

wherein the intermediate schema comprises a transformation function, an input field, a result field, and a plurality of other intermediate schema fields, wherein the input field is associated with mapped content from one of the source schema fields and used by the transformation function, wherein the result field is associated with content produced by the transformation function and mapped to a target schema field, and wherein the plurality of other intermediate schema fields are associated with content mapped by the first mapping that is mapped to a plurality of target schema fields;

executing the transformation function using the mapped content associated with the input field to produce a result, wherein the result is associated with the result field of the intermediate schema; and

performing a second mapping comprising mapping content associated with a plurality of intermediate schema fields, including the result field and the other intermediate schema fields, from said third body of information to form said second body of information.

2. The method of claim 1 wherein said relaying information further comprises executing multiple transformation functions in the intermediate schema, wherein the intermediate schema comprises multiple result fields, wherein each of the result fields is associated with each of the transformation functions.

3. The method of claim 2 wherein at least a portion of said multiple transformation functions are executed in parallel.

4. The method of claim 2 further comprising conditioning execution of said functions on whether all said functions can be executed.

5. The method of claim 1 wherein at least said source schema is XML compatible.

6. The method of claim 5 wherein at least one field is defined in XSD and is referenced in XPath, and wherein said mapping content associated with at least one field is defined in XSLT.

7. The method of claim 1 wherein said relaying is part of a data flow.

8. The method of claim 1 wherein said source schema is of a first vendor type and said target schema is of a second vendor type.

9. The method of claim 1 further comprising describing said relaying of information through a user interface or through an interface to a software tool.

10. A method for relaying information from a first body of information to form a second body of information, the first body of information being defined by an XML source schema and the second body of information being defined by an XML target schema, the method comprising:

performing a first mapping comprising mapping content associated with a plurality of XML source schema fields from said first body of information to form a third body of information, the third body of information being defined by an XML intermediate schema, said mapping defined in XSLT,

wherein the XML intermediate schema comprises a transformation function, an input field, a result field, and a plurality of other intermediate schema fields, wherein the input field is associated with mapped content from one of the XML source schema fields and used by the transformation function, wherein the result field is associated with content produced by the transformation function and mapped to an XML target schema field, and wherein the plurality of other intermediate schema fields are associated with content mapped by the first mapping that is mapped to a plurality of XML target schema fields;

executing the transformation function using the mapped content associated with the input field to produce a result, wherein the result is associated with the result field of the XML intermediate schema; and

performing a second mapping comprising mapping content associated with a plurality of XML intermediate schema fields, including the result field and the other intermediate schema fields, from said third body of information to said second body of information.

11. The method of claim 10 wherein said relaying information further comprises executing multiple transformation functions in the XML intermediate schema, wherein the XML intermediate schema comprises multiple result fields, wherein each of the result fields is associated with each of the transformation functions.

12. The method of claim 11 wherein at least a portion of said multiple transformation functions are executed in parallel.

13. The method of claim 11 further comprising conditioning execution of said functions on whether all said functions can be executed.

14. The method of claim 10 wherein said relaying is part of a data flow.

15. The method of claim 10 wherein said XML source schema is of a first vendor type and said XML target schema is of a second vendor type.

16. The method of claim 10 further comprising describing said relaying of information through a user interface or through an interface to a software tool.

17. The method of claim 10 wherein said first body of information corresponds to a document.

18. The method of claim 10 wherein at least one field is defined in XSD and is referenced in XPath.

19. Non-transitory machine readable storage medium having instructions which when executed by at least one processor causes said at least one processor to perform a method for relaying information from a first body of information to form a second body of information, the first body of information being defined by a source schema and the second body of information being defined by a target schema, said method comprising:

performing a first mapping comprising mapping content associated with a plurality of source schema fields from said first body of information to form a third body of information, the third body of information being defined by an intermediate schema,

wherein the intermediate schema comprises a transformation function, an input field, a result field, and a plurality of other intermediate schema fields, wherein the input field is associated with mapped content from one of the source schema fields and used by the transformation function, wherein the result field is associated with content produced by the transformation function and mapped to a target schema field, and wherein the plurality of other intermediate schema fields are associated with content mapped by the first mapping that is mapped to a plurality of target schema fields;

executing the transformation function using the mapped content associated with the input field to produce a result, wherein the result is associated with the result field of the intermediate schema; and

performing a second mapping comprising mapping content associated with a plurality of intermediate schema fields, including the result field and the other intermediate schema fields, from said third body of information to form said second body of information.

20. The non-transitory machine readable storage medium of claim 19 wherein said relaying information further comprises executing transformation functions in the intermediate schema, wherein the intermediate schema comprises multiple result fields, wherein each of the result fields is associated with each of the transformation functions.

21. The non-transitory machine readable storage medium of claim 20 wherein at least a portion of said multiple transformation functions are executed in parallel.

22. The non-transitory machine readable storage medium of claim 20 further comprising conditioning execution of said functions on whether all said functions can be executed.

23. The non-transitory machine readable storage medium of claim 19 wherein at least said source schema is XML compatible.

24. The non-transitory machine readable storage medium of claim 23 wherein at least one field is defined in XSD and is referenced in XPath, and wherein said mapping content associated with at least one field is defined in XSLT.

25. The non-transitory machine readable storage medium of claim 19 wherein said relaying is part of a data flow.

26. The non-transitory machine readable storage medium of claim 19 wherein said source schema is of a first vendor type and said target schema is of a second vendor type.

27. The non-transitory machine readable storage medium of claim 19 further comprising describing said relaying of information through a user interface or through an interface to a software tool.

28. Non-transitory machine readable storage medium having instructions which when executed by at least one processor causes said at least one processor to perform a method for relaying information from a first body of information to form a second body of information, the first body of information being defined by an XML source schema and the second body of information being defined by an XML target schema, said method comprising:

performing a first mapping comprising mapping content associated with a plurality of XML source schema fields from said first body of information to form a third body of information, the third body of information being defined by an XML intermediate schema, said mapping defined in XSLT,

wherein the XML intermediate schema comprises a transformation function, an input field, a result field, and a plurality of other intermediate schema fields, wherein the input field is associated with mapped content from one of the XML source schema fields and used by the transformation function, wherein the result field is associated with content produced by the transformation function and mapped to an XML target schema field, and wherein the plurality of other intermediate schema fields are associated with content mapped by the first mapping that is mapped to a plurality of target schema fields;

executing the transformation function using the mapped content associated with the input field to produce a result, wherein the result is associated with the result field of the XML intermediate schema; and

performing a second mapping comprising mapping content associated with a plurality of XML intermediate schema fields, including the result field and the other intermediate schema fields, from said third body of information to said second body of information.

29. The non-transitory machine readable storage medium of claim 28 wherein said relaying information further comprises executing multiple transformation functions in the XML intermediate schema, wherein the XML intermediate schema comprises multiple result fields, wherein each of the result fields is associated with each of the transformation functions.

30. The non-transitory machine readable storage medium of claim 29 wherein at least a portion of said multiple transformation functions are executed in parallel.

31. The non-transitory machine readable storage medium of claim 29 further comprising conditioning execution of said functions on whether all said functions can be executed.

32. The non-transitory machine readable storage medium of claim 28 wherein said relaying is part of a data flow.

33. The non-transitory machine readable storage medium of claim 28 wherein said XML source schema is of a first vendor type and said XML target schema is of a second vendor type.

34. The non-transitory machine readable storage medium of claim 28 further comprising describing said relaying of information through a user interface or through an interface to a software tool.

35. The non-transitory machine readable storage medium of claim 28 wherein said first body of information corresponds to a document.

36. The non-transitory machine readable storage medium of claim 28 wherein at least one field is defined in XSD and is referenced in XPath.

Assignments (15)
CHANGE OF NAME Recorded Jul 1, 2026
From: CLOUD SOFTWARE GROUP, INC.
To: CLOUD SOFTWARE GROUP, LLC
Reel/Frame 075874/0220 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2007
From: STONER, MIKE; CRUZ, NEAL
To: TIBCO SOFTWARE INC.
Reel/Frame 019154/0200 →
Continuity (2)
Division 10611232 · Jun 30, 2003
Related Publication 20070179988A1 · Aug 2, 2007