IP Library Granted Patent US 7,225,411
Granted Patent B1
US 7,225,411 · App. 10/611,232 · Granted May 29, 2007

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

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,225,411
App. No.
10/611,232
Granted
May 29, 2007
Kind
B1
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 (60)

1. A method 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, comprising:

marking those fields of said source schema having input values for at least one transformation to be applied over the course of said relaying;

creating an intermediate schema, said intermediate schema defining a structure that is duplicative of at least a portion of said source schema, said intermediate schema including at least one function call to implement said at least one transformation;

mapping content associated with said input values from said first body of information to a third body of information defined by said intermediate schema; and,

executing said at least one function to implement said at least one transformation;

mapping a result produced by said executing to said second body of information wherein at least said source schema is XML compatible;

further comprising describing said relaying of information through a user interface or through an interface to a software tool.

2. The method of claim 1 wherein said relaying information further comprises multiple transformations and said intermediate schema further comprises multiple function calls to implement said multiple transformations.

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 said one or more fields are defined in XSD and are referenced in XPath, and, said mapping one or more field values is defined in XSLT.

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

7. 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.

8. The method of claim 1 wherein said intermediate schema defines a structure that is a complete replica of said source schema.

9. A method for relaying information from a first body of information defined by an XML source schema to a second body of information defined by an XML target schema, comprising:

marking those fields of said XML source schema having input values for at least one transformation to be applied over the course of said relaying;

creating an XML intermediate schema, said XML intermediate schema defining a structure that is duplicative of at least a portion of said XML source schema, said XML intermediate schema including at least one function call to implement said at least one transformation;

mapping content associated with said input values from said first body of information to a third body of information defined by said XML intermediate schema;

executing said at least one function to implement said at least one transformation; and,

further comprising describing said relaying of information through a user interface or through an interface to a software tool.

10. The method of claim 9 wherein said relaying information further comprises multiple transformations and said XSD intermediate schema further comprises multiple function calls to implement said multiple transformations.

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

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

13. The method of claim 9 wherein said relaying is part of a data flow.

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

15. The method of claim 9 wherein said intermediate schema defines a structure that is a complete replica of said source schema and where said fields are defined in XSD and are referenced in XPath and said mappings are defined in XSLT.

16. Tangible Machine readable media having instructions which when executed by one or more processors cause said one or more processors to perform a method, said method 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, said method comprising:

marking those fields of said source schema having input values for at least one transformation to be applied over the course of said relaying;

creating an intermediate schema, said intermediate schema defining a structure that is duplicative of at least a portion of said source schema, said intermediate schema including at least one function call to implement said at least one transformation;

mapping content associated with said input values from said first body of information to a third body of information defined by said intermediate schema; and,

executing said at least one function to implement said at least one transformation;

mapping a result produced by said executing to said second body of information wherein at least said source schema is XML compatible;

further comprising describing said relaying of information through a user interface or through an interface to a software tool.

17. The machine readable media of claim 16 wherein said relaying information further comprises multiple transformations and said intermediate schema further comprises multiple function calls to implement said multiple transformations.

18. The machine readable media of claim 17 wherein at least a portion of said multiple transformation functions are executed in parallel.

19. The machine readable media of claim 17 further comprising conditioning execution of said functions on whether all said functions can be executed.

20. The machine readable media of claim 16 wherein said one or more fields are defined in XSD and are referenced in XPath, and, said mapping one or more field values is defined in XSLT.

21. The machine readable media of claim 16 wherein said relaying is part of a data flow.

22. The machine readable media of claim 16 wherein said source schema is of a first vendor type and said target schema is of a second vendor type.

23. The machine readable media of claim 16 wherein said intermediate schema defines a structure that is a complete replica of said source schema.

24. Tangible machine readable media having instructions which when executed by one or more processors cause said one or more processors to perform a method for relaying information from a first body of information defined by an XML source schema to a second body of information defined by an XML target schema, said method comprising:

marking those fields of said XML source schema having input values for at least one transformation to be applied over the course of said relaying;

creating an XML intermediate schema, said XML intermediate schema defining a structure that is duplicative of at least a portion of said XML source schema, said XML intermediate schema including at least one function call to implement said at least one transformation;

mapping content associated with said input values from said first body of information to a third body of information defined by said XML intermediate schema;

executing said at least one function to implement said at least one transformation; and,

further comprising describing said relaying of information through a user interface or through an interface to a software tool.

25. The machine readable medium of claim 24 wherein said relaying information further comprises multiple transformations and said XSD intermediate schema further comprises multiple function calls to implement said multiple transformations.

26. The machine readable medium of claim 25 wherein at least a portion of said multiple transformation functions are executed in parallel.

27. The machine readable medium of claim 25 further comprising conditioning execution of said functions on whether all said functions can be executed.

28. The machine readable medium of claim 24 wherein said relaying is part of a data flow.

29. The machine readable medium of claim 24 wherein said XML source schema is of a first vendor type and said XML target schema is of a second vendor type.

30. The machine readable medium of claim 24 wherein said intermediate schema defines a structure that is a complete replica of said source schema and where said fields are defined in XSD and referenced in XPath and where said mapping is defined in XSLT.

31. Tangible machine readable media having instructions which when executed by one or more processors cause said one or more processors to perform a method, said method comprising:

marking those fields of a first schema having input values for at least one transformation to be applied;

creating a second schema, said second schema defining a structure that is duplicative of at least a portion of said first schema, said second schema including at least one function call to implement said at least one transformation;

mapping said input values from a first body of information defined by said first schema to a second body of information defined by said second schema; and,

executing said at least one function to implement said at least one transformation, wherein said first schema is an XML schema,

further comprising describing the effect of said method through a user interface or through an interface to a software tool.

32. The machine readable medium of claim 31 , wherein said fields are defined in XSD and are referenced in XPath, and wherein said mapping is defined in XSLT.

33. The machine readable medium of claim 32 wherein said second schema is an XML schema.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
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 →
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 →
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 →
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 Feb 13, 2004
From: STONER, MIKE; CRUZ, NEAL
To: TIBCO SOFTWARE INC.
Reel/Frame 014973/0124 →