IP Library Granted Patent US 9,767,431
Granted Patent B2
US 9,767,431 · App. 14/138,453 · Granted Sep 19, 2017

Virtual product hierarchies

Inventors: Prakash Tilwani (Chicago, IL); Robert E. Potter, II (Elmhurst, IL); Sheila J. Noojibail (Evanston, IL)
Assignee: Information Resources, Inc.
G06Q10/087
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,767,431
App. No.
14/138,453
Granted
Sep 19, 2017
Kind
B2
Abstract

A base hierarchy of products or the like can be user-modified into a virtual hierarchy that is represented as a collection of changes to the base hierarchy rather than a new hierarchy stored in memory. The collection of changes can be used to enable user interactions such as queries, displays, and writes using the virtual hierarchy as thought it were an actual hierarchy stored in memory, with aspects of the virtual hierarchy dynamically created using a collection of procedures based on the changes and corresponding inverses. The representation of the modified hierarchy can be dynamically displayed to a user or otherwise processed in the same manner as other hierarchies and hierarchical data.

Claims (32)

1. A method for querying data arranged in a base hierarchy using a virtual hierarchy related to the base hierarchy through a plurality of change data, the method comprising:

storing the base hierarchy and the plurality of change data in a database management system, wherein each item of change data includes an instruction to add, delete, or move a node between the base hierarchy and the virtual hierarchy, wherein each item of change data is an invertible instruction with a corresponding instruction that undoes the change, and wherein an order of the change data is maintained for a plurality of items of change data;

displaying the virtual hierarchy in a display of a computer based on an application of the change data to the base hierarchy;

receiving a query in a user interface to the database management system with respect to the virtual hierarchy;

for each change datum in the plurality of change data, identifying a corresponding inverse, thereby identifying a plurality of inverses;

using the plurality of inverses, determining a modified query with respect to the base hierarchy, wherein the query with respect to the virtual hierarchy and the modified query with respect to the base hierarchy have an identical result;

performing the modified query on the base hierarchy using the database management system, wherein the plurality of change data are arranged in an order and the modified query is determined by iteratively applying the plurality of inverses to the query in a reverse of the order; and

presenting a result of the modified query as a query result for the query against the virtual hierarchy.

2. The method of claim 1 wherein the plurality of change data include adding a node at a specified location, and wherein the corresponding inverse includes deleting the node from the specified location.

3. The method of claim 1 wherein the plurality of change data include deleting a node at a specified location, and wherein the corresponding inverse includes adding the node at the specified location.

4. The method of claim 1 wherein the plurality of change data include moving a node from an initial location to a destination location, and wherein the corresponding inverse includes moving the node from the destination location to the initial location.

5. The method of claim 1 further comprising displaying a result of the modified query against the base hierarchy as a result of the query against the virtual hierarchy.

6. A computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, queries data arranged in a base hierarchy using a virtual hierarchy related to the base hierarchy through a plurality of change data by performing the steps of:

storing the base hierarchy and the plurality of change data in a database management system, wherein each item of change data includes an instruction to add, delete, or move a node between the base hierarchy and the virtual hierarchy, wherein each item of change data is an invertible instruction with a corresponding instruction that undoes the change, and wherein an order of the change data is maintained for a plurality of items of change data;

displaying the virtual hierarchy in a display of a computer based on an application of the change data to the base hierarchy;

receiving a query in a user interface to the database management system with respect to the virtual hierarchy;

for each change datum in the plurality of change data, identifying a corresponding inverse, thereby identifying a plurality of inverses;

using the plurality of inverses, determining a modified query with respect to the base hierarchy, wherein the query with respect to the virtual hierarchy and the modified query with respect to the base hierarchy have an identical result;

performing the modified query on the base hierarchy using the database management system, wherein the plurality of change data are arranged in an order and the modified query is determined by iteratively applying the plurality of inverses to the query in a reverse of the order; and

presenting a result of the modified query as a query result for the query against the virtual hierarchy.

7. The computer program product of claim 6 wherein the plurality of change data include adding a node at a specified location, and wherein the corresponding inverse includes deleting the node from the specified location.

8. The computer program product of claim 6 wherein the plurality of change data include deleting a node at a specified location, and wherein the corresponding inverse includes adding the node at the specified location.

9. The computer program product of claim 6 wherein the plurality of change data include moving a node from an initial location to a destination location, and wherein the corresponding inverse includes moving the node from the destination location to the initial location.

10. The computer program product of claim 6 further comprising code that performs the step of displaying a result of the modified query against the base hierarchy as a result of the query against the virtual hierarchy.

11. A system comprising:

a processor;

a database management system storing a base hierarchy and a plurality of change data, wherein each item of change data includes an instruction to add, delete, or move a node between the base hierarchy and a virtual hierarchy, wherein each item of change data is an invertible instruction with a corresponding instruction that undoes the change, and wherein an order of the change data is maintained for a plurality of items of change data;

a device displaying a virtual hierarchy based on an application of a plurality of change data to the base hierarchy; and

memory bearing instructions that, when executed, cause the processor to receive a query in a user interface to the database management system with respect to the virtual hierarchy, for each change datum in the plurality of change data, to identify a corresponding inverse, thereby identifying a plurality of inverses, using the plurality of inverses, to determine a modified query with respect to the base hierarchy, wherein the query with respect to the virtual hierarchy and the modified query with respect to the base hierarchy have an identical result, to perform the modified query on the base hierarchy using the database management system wherein the plurality of change data are arranged in an order and the modified query is determined by iteratively applying the plurality of inverses to the query in a reverse order, and to present a result of the modified query as a query result for the query against the virtual hierarchy.

12. The system of claim 11 wherein the plurality of change data includes adding a node at a specified location, and wherein the corresponding inverse includes deleting the node from the specified location.

13. The system of claim 11 wherein the plurality of change data includes deleting a node at a specified location, and wherein the corresponding inverse includes adding the node at the specified location.

14. The system of claim 11 wherein the plurality of change data includes moving a node from an initial location to a destination location, and wherein the corresponding inverse includes moving the node from the destination location to the initial location.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Sep 1, 2022
From: JEFFERIES FINANCE LLC, AS ADMINISTRATIVE AGENT
To: INFORMATION RESOURCES, INC.
Reel/Frame 060962/0552 →
RELEASE OF SECURITY INTEREST Recorded Aug 30, 2022
From: JEFFERIES FINANCE LLC, AS ADMINISTRATIVE AGENT
To: INFORMATION RESOURCES, INC.
Reel/Frame 060940/0260 →
SECURITY INTEREST Recorded Aug 1, 2022
From: INFORMATION RESOURCES, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 060685/0246 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F: 041394/0166 Recorded Dec 4, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: INFORMATION RESOURCES, INC.
Reel/Frame 048316/0163 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F: 041394/0234 Recorded Dec 4, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: INFORMATION RESOURCES, INC.
Reel/Frame 048316/0528 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 30, 2018
From: INFORMATION RESOURCES, INC.
To: JEFFERIES FINANCE LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 047691/0071 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 30, 2018
From: INFORMATION RESOURCES, INC.
To: JEFFERIES FINANCE LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 048175/0103 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 18, 2017
From: INFORMATION RESOURCES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 041394/0166 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 18, 2017
From: INFORMATION RESOURCES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 041394/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2014
From: TILWANI, PRAKASH; POTTER, ROBERT E., II; NOOJIBAIL, SHEILA J.
To: INFORMATION RESOURCES, INC.
Reel/Frame 032341/0653 →
Continuity (2)
Continuation 14093950 · Dec 2, 2013
Related Publication 20150154312A1 · Jun 4, 2015