IP Library Granted Patent US 9,430,548
Granted Patent B1
US 9,430,548 · App. 13/626,199 · Granted Aug 30, 2016

Generating context tree data based on a tailored data model

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 9,430,548
App. No.
13/626,199
Filed
Sep 25, 2012
Granted
Aug 30, 2016
Kind
B1
Art Unit
2164
USPC
707/754
Abstract

A system for providing context tree based on data model is disclosed. The system comprises an interface, a processor, and a memory. The interface is configured to receive a data model entry point, and to receive one or more context filters. The processor is configured to determine context tree data based on the one or more context filters and the data model entry point from any context tree provider that has appropriate context tree information. The memory is coupled to the processor and is configured to provide the processor with instructions.

Claims (51)

1. A system for providing context tree data, comprising:

an interface configured to:

receive a data model entry point corresponding to a type of data associated with an expression or a process; and

receive at least one context filter, wherein the at least one context filter indicates a tailored version of a current data model required by the expression or the process, and wherein the tailored version of the current data model comprises at least one of the following: (1) omits one or more elements that are in the current data model, and (2) includes one or more elements that are not in the current data model;

a processor configured to:

determine context tree data based on the at least one context filter and the data model entry point from a plurality of context tree providers that have appropriate context tree data, wherein determining the context tree data from the plurality of context tree providers comprises:

selecting a first context tree provider,

determining whether there is context tree data to provide from the first context tree provider,

in the event there is context tree data to provide from the first context tree provider, adding data from the first context tree provider to context tree data fields, and

in the event there is no context tree data to provide from the first context tree provider, selecting a next context tree provider; and

provide the context tree data; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system as in claim 1 , wherein the processor is further configured to generate a context tree instance.

3. The system as in claim 2 , wherein the processor is further configured to:

receive an indication to get data of a type from a client;

receive a context based at least in part on the client;

determine a populated context tree instance based at least in part on (1) the tailored version of the current data model required by the expression or the process and (2) the context from any context data provider that has appropriate data for the context tree instance; and

provide the populated context tree instance.

4. The system as in claim 3 , wherein a corresponding context data provider follows a link or a reference to another data model to populate the context tree instance.

5. The system as in claim 3 , wherein a corresponding context data provider follows n-levels of links or references to other data models to populate the context tree instance.

6. The system as in claim 1 , wherein the context tree data is associated with a context tree.

7. The system as in claim 6 , wherein the context tree is generated using a builder.

8. The system as in claim 7 , wherein the process or the expression is executed using the context tree.

9. The system as in claim 1 , wherein a context tree corresponding to the context tree data includes at least one attribute data field.

10. The system as in claim 1 , wherein a context tree corresponding to the context tree data includes at least one relation data field.

11. The system as in claim 1 , wherein determining context tree data includes omitting from the context tree data one or more elements that are in the current data model as indicated by the tailored version of the current data model, and wherein the one or more omitted elements include attributes or relations from the current data model.

12. The system as in claim 1 , wherein determining context tree data includes including in the context tree data one or more elements that are not in the current data model as indicated by the tailored version of the current data model, and wherein the one or more included elements include attributes or relations from other data models that are referred to or linked to by the current data model.

13. The system as in claim 1 , wherein the processor is further configured to validate an expression based at least in part on the context tree data.

14. The system as in claim 13 , wherein validation comprises determining whether the expression is consistent with the context tree data.

15. The system as in claim 14 , wherein in the event that the expression is not consistent with the context tree data, then it is indicated that the validation fails.

16. The system as in claim 14 , wherein in the event that the expression is consistent with the context tree data, then it is indicated that the validation passes.

17. The system as in claim 14 , wherein the determining whether the expression is consistent with the context tree data comprises determining whether the expression complies with a context tree hierarchy.

18. The system as in claim 1 , wherein the determined context tree data comprises data from a plurality of levels of a context tree hierarchy based on one or more relations among data from the plurality of levels of the context tree hierarchy.

19. A method of providing context tree data, comprising:

receiving a data model entry point corresponding to a type of data associated with an expression or a process;

receiving at least one context filter, wherein the at least one context filter indicates a tailored version of a current data model required by the expression or the process, and wherein the tailored version of the current data model comprises at least one of the following: (1) omits one or more elements that are in the current data model, and (2) includes one or more elements that are not in the current data model;

determining, using a processor, context tree data based on the at least one context filter and the data model entry point from a plurality of context tree providers that have appropriate context tree data, wherein determining the context tree data from the plurality of context tree providers comprises:

selecting a first context tree provider,

determining whether there is context tree data to provide from the first context tree provider,

in the event there is context tree data to provide from the first context tree provider, adding data from the first context tree provider to context tree data fields, and

in the event there is no context tree data to provide from the first context tree provider, selecting a next context tree provider; and

providing the context tree data.

20. A non-transitory computer-readable storage medium storing instructions corresponding to computer program product for providing context tree data, wherein in the event that the instructions are executed by one or more processors, the instructions cause the one or more processors to:

receive a data model entry point corresponding to a type of data associated with an expression or a process;

receive at least one context filter, wherein the at least one context filter indicates a tailored version of a current data model required by the expression or the process, and wherein the tailored version of the current data model comprises at least one of the following: (1) omits one or more elements that are in the current data model, and (2) includes one or more elements that are not in the current data model;

determine context tree data based on the at least one context filter and the data model entry point from a plurality of context tree providers that have appropriate context tree data, wherein determining the context tree data from the plurality of context tree providers comprises:

selecting a first context tree provider,

determining whether there is context tree data to provide from the first context tree provider,

in the event there is context tree data to provide from the first context tree provider, adding data from the first context tree provider to context tree data fields, and

in the event there is no context tree data to provide from the first context tree provider, selecting a next context tree provider; and

provide the context tree data.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2012
From: JAYAKUMAR, MUTHUKUMARAPPA; REDDY, SATYAPAL P.; MEENAKSHISUNDARAM, RAVIKUMAR
To: EMC CORPORATION
Reel/Frame 029021/0200 →