IP Library Granted Patent US 10,095,483
Granted Patent B2
US 10,095,483 · App. 15/831,077 · Granted Oct 9, 2018

Modularized XML namespaces

Inventors: Sabin S. Ielceanu (Los Gatos, CA); Joseph T. Baysdon (Pittsboro, NC); Tim R. Diekmann (San Jose, CA)
Assignee: TIBCO Software Inc.
G06F8/31G06F8/36G06F8/70G06F17/30893
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 10,095,483
App. No.
15/831,077
Filed
Dec 4, 2017
Granted
Oct 9, 2018
Kind
B2
Examiner
CHEN, QING
Art Unit
2191
USPC
717/114
Abstract

Techniques to provide and use modularized XML namespaces are disclosed. In various embodiments, a resolution request associated with a first module is received. A resolution context associated with the first module is used to determine that a component made available by a second module is associated with the resolution request. Access to a shared instance of the component made available by the second module is provided.

Claims (43)

1. A method, comprising:

receiving, by one or more processors, a resolution request associated with a first module, wherein the first module has corresponding metadata that includes an indication of a dependent namespace;

constructing, by the one or more processors, a resolution context associated with the first module based at least in part on one or more respective namespaces associated with components packaged with the first module;

determining, by the one or more processors, that both a second module and a third module export the dependent namespace;

selecting, by the one or more processors, from among the second module and the third module a selected module to provide the dependent namespace;

determining, by the one or more processors, that a component made available by the selected module is associated with the resolution request;

wherein the selected module has corresponding metadata that includes an indication of an exported namespace associated with the selected module, and wherein the exported namespace associated with the selected module is included in the resolution context associated with the first module; and

providing, by the one or more processors, access to a shared instance of the component made available by the selected module.

2. The method of claim 1 , wherein the selected module is selected based at least in part on a constraint defined in the first module.

3. The method of claim 2 , wherein the constraint is defined as part of the corresponding metadata of the first module.

4. The method of claim 1 , wherein the selected module is selected based at least in part on a rule for how relationships are captured across XML documents.

5. The method of claim 1 , wherein the first module defines a physical dependency to the dependent namespace.

6. The method of claim 1 , wherein the first module declares a logical dependency on the selected module.

7. The method of claim 1 , wherein the corresponding metadata of the first module is used to construct the resolution context associated with the first module.

8. A computer system, comprising:

a memory; and

one or more processors coupled to the memory and configured to:

receive a resolution request associated with a first module, wherein the first module has corresponding metadata that includes an indication of a dependent namespace;

construct a resolution context associated with the first module based at least in part on one or more respective namespaces associated with components packaged with the first module;

determine that both a second module and a third module export the dependent namespace;

select from among the second module and the third module a selected module to provide the dependent namespace;

determine that a component made available by the selected module is associated with the resolution request;

wherein the selected module has corresponding metadata that includes an indication of an exported namespace associated with the selected module, and wherein the exported namespace associated with the selected module is included in the resolution context associated with the first module; and

provide access to a shared instance of the component made available by the selected module as stored in the memory.

9. The computer system of claim 8 , wherein the selected module is selected based at least in part on a constraint defined in the first module.

10. The computer system of claim 9 , wherein the constraint is defined as part of the corresponding metadata of the first module.

11. The computer system of claim 8 , wherein the selected module is selected based at least in part on a rule for how relationships are captured across XML documents.

12. The computer system of claim 8 , wherein the first module defines a physical dependency to the dependent namespace.

13. The computer system of claim 8 , wherein the first module declares a logical dependency on the selected module.

14. The computer system of claim 8 , wherein the corresponding metadata of the first module is used to construct the resolution context associated with the first module.

15. A computer program product embodied in a tangible, non-transitory computer readable storage medium and storing computer instructions configured to:

receive a resolution request associated with a first module, wherein the first module has corresponding metadata that includes an indication of a dependent namespace;

construct a resolution context associated with the first module based at least in part on one or more respective namespaces associated with components packaged with the first module;

determine that both a second module and a third module export the dependent namespace;

select from among the second module and the third module a selected module to provide the dependent namespace;

determine that a component made available by the selected module is associated with the resolution request;

wherein the selected module has corresponding metadata that includes an indication of an exported namespace associated with the selected module, and wherein the exported namespace associated with the selected module is included in the resolution context associated with the first module; and

provide access to a shared instance of the component made available by the selected module.

16. The computer program product of claim 15 , wherein the selected module is selected based at least in part on a constraint defined in the first module.

17. The computer program product of claim 16 , wherein the constraint is defined as part of the corresponding metadata of the first module.

18. The computer program product of claim 15 , wherein the selected module is selected based at least in part on a rule for how relationships are captured across XML documents.

19. The computer program product of claim 15 , wherein the first module defines a physical dependency to the dependent namespace.

20. The computer program product of claim 15 , wherein the first module declares a logical dependency on the selected module.

Assignments (16)
CHANGE OF NAME Recorded Jul 1, 2026
From: CLOUD SOFTWARE GROUP, INC.
To: CLOUD SOFTWARE GROUP, LLC
Reel/Frame 075874/0220 →
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 →
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 →
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 →
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 →
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 045747 / FRAME 0307) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061575/0359 →
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 May 8, 2018
From: TIBCO SOFTWARE INC., AS GRANTOR
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045747/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2018
From: IELCEANU, SABIN S.; BAYSDON, JOSEPH T.; DIEKMANN, TIM R.
To: TIBCO SOFTWARE INC.
Reel/Frame 044886/0139 →
Continuity (3)
Continuation 15076296 · Mar 21, 2016
Continuation 14188371 · Feb 24, 2014
Related Publication 20180088910A1 · Mar 29, 2018