IP Library Granted Patent US 10,331,643
Granted Patent B2
US 10,331,643 · App. 15/221,426 · Granted Jun 25, 2019

Generating context tree data based on a tailored data model

Inventors: Muthukumarappa Jayakumar (Mountain House, CA); Satyapal P. Reddy (Fremont, CA); Ravikumar Meenakshisundaram (Pleasanton, CA)
Assignee: OPEN TEXT CORPORATION
G06F16/2246G06F16/219G06F16/245G06F16/2428G06F16/28G06F16/288
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,331,643
App. No.
15/221,426
Granted
Jun 25, 2019
Kind
B2
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 (40)

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

an interface configured to receive a data model entry point and at least one context filter,

wherein the data model entry point has a first data model and includes data of one or more types required by an expression or process,

wherein the at least one context filter is configured to use data from the data model entry point to provide a context tree that uses a second data model that is different from the first data model and is required by the expression or process, wherein the second data model includes data of the one or more types required by the expression or process and comprises at least one of the following: (1) omits one or more elements that are in the first data model, and (2) includes one or more elements that are not in the first data model; and

one or more hardware processors coupled to a memory containing instructions which when executed by the one or more hardware processors cause the one or more hardware processors to:

generate the context tree based on the at least one context filter and the data model entry point, wherein the context tree has the second data model and includes data types of the data model entry point;

determine, from a plurality of context tree providers, one or more of the context tree providers that provide context tree data of the one or more types included in the context tree; and

provide one or more instances of the context tree to the expression or process, wherein the one or more instances of the context tree are populated with data received from the one or more of the context tree providers.

2. The system of claim 1 , wherein to determine 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.

3. The system of claim 1 , wherein to determine the context tree data from the plurality of context tree providers comprises determining at least one of the plurality of context tree providers that comprise a data model that is consistent with the second data model required by the expression.

4. The system of claim 1 , wherein the context tree data is associated with the context tree.

5. The system of claim 4 , wherein the context tree is generated using a builder.

6. The system of claim 5 , wherein the process or the expression is executed using the context tree.

7. The system of claim 1 , wherein the context tree corresponding to the context tree data includes at least one attribute data field.

8. The system of claim 1 , wherein the context tree corresponding to the context tree data includes at least one relation data field.

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

10. The system of claim 1 , wherein determining context tree data includes including in the context tree data one or more elements that are not in the first data model as indicated by the second 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 first data model.

11. The system of claim 1 , wherein the one or more hardware processors are further configured to validate an expression based at least in part on the context tree data.

12. The system of claim 11 , wherein validation comprises determining whether the expression is consistent with the context tree data.

13. The system of claim 12 , wherein in the event that the expression is not consistent with the context tree data, then it is indicated that the validation fails.

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

15. The system of claim 12 , wherein the determining whether the expression is consistent with the context tree data comprises determining whether the expression complies with a context tree hierarchy.

16. The system of 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.

17. The system of claim 1 , wherein the one or more hardware processors are further configured to generate a context tree instance.

18. The system of claim 17 , wherein at least one of the context data providers follows a link or a reference to another data model associated with the context tree instance.

19. The system of claim 17 , wherein at least one of the context data providers follows n-levels of links or references to other data models associated with the context tree instance.

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

receiving, by one or more processors, a data model entry point and at least one context filter, wherein the data model entry point has a first data model and includes data of one or more types required by an expression or process, and wherein the at least one context filter is configured to provide a context tree that uses a second data model that is different from the first data model and is required by the expression or process, wherein the second data model includes data of the one or more types required by the expression or process and comprises at least one of the following: (1) omits one or more elements that are in the first data model, and (2) includes one or more elements that are not in the first data model;

generating, by one or more processors, the context tree based on the at least one context filter and the data model entry point, wherein the context tree has the second data model and includes data types of the data model entry point;

determining, by one or more processors, from a plurality of context tree providers, one or more of the context tree providers that provide context tree data of the one or more types included in the context tree; and

providing, by one or more processors, one or more instances of the context tree to the expression or process, wherein the one or more instances of the context tree are populated with data received from the one or more of the context tree providers.

21. 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 and a at least one context filter, wherein the data model entry point has a first data model and includes data of one or more types required by an expression or process, and wherein the at least one context filter is configured to provide a context tree that uses a second data model that is different from the first data model and is required by the expression or process, wherein the second data model includes data of the one or more types required by the expression or process and comprises at least one of the following: (1) omits one or more elements that are in the first data model, and (2) includes one or more elements that are not in the first data model;

generate the context tree based on the at least one context filter and the data model entry point, wherein the context tree has the second data model and includes data types of the data model entry point;

determine, from a plurality of context tree providers, one or more of the context tree providers that provide context tree data of the one or more types included in the context tree; and

provide one or more instances of the context tree to the expression or process, wherein the one or more instances of the context tree are populated with data received from the one or more of the context tree providers.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041347/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041172/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2016
From: JAYAKUMAR, MUTHUKUMARAPPA; REDDY, SATYAPAL P.; MEENAKSHISUNDARAM, RAVIKUMAR
To: EMC CORPORATION
Reel/Frame 039275/0063 →
Continuity (2)
Continuation 13626199 · Sep 25, 2012
Related Publication 20160335301A1 · Nov 17, 2016