IP Library › Granted Patent US 12,235,879
Granted Patent B2
US 12,235,879 · App. 18/460,483 · Granted Feb 25, 2025

Graphically representing related record families using a phantom parent node

Inventor: Mark P. Mathison (Walnut Creek, CA)
Assignee: Kilpatrick Townsend & Stockton LLP
G06F16/322G06F16/328G06F16/34G06F16/93
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 12,235,879
App. No.
18/460,483
Granted
Feb 25, 2025
Kind
B2
Abstract

Embodiments use a phantom apex node to graphically illustrate a plurality of hierarchical records. Each record includes a parent field, and an entry in the parent field identifies a parent record of a given record. The parent record is higher in hierarchy than the given record. Embodiments identify record(s) that have no entry in the parent field. A phantom apex record is added to the database. A reference to the phantom apex record is inserted for each record that did not have an entry in the parent field. An x-y coordinate position is determined for all hierarchical records based on the parent field in each record. Once the positions are determined, all references to the phantom apex record are removed from all of the parent fields, and the phantom apex record itself is removed from the database. The plurality of records are then graphically rendered on a target output medium.

Claims (54)

1. A method for graphically illustrating a plurality of hierarchical records, the method comprising:

receiving, by a computer device, a user request for a record stored at a database;

identifying, by the computer device, a first group of hierarchical records associated with the record among the plurality of hierarchical records stored at the database in response to the user request, wherein each current record in the plurality of hierarchical records is associated with a parent record of the current record, wherein the parent record is higher in a hierarchy than the current record, wherein the first group of hierarchical records consists of a first family of records that includes a first apex record at a highest point in the hierarchy, wherein the first group of hierarchical records includes the record;

identifying a second group of hierarchical records among the plurality of hierarchical records as being related to the first group of hierarchical records including a second apex record at the highest point in the hierarchy, wherein the second group of hierarchical records includes at least a second family of records;

adding, by the computer device, a phantom apex record to the plurality of hierarchical records stored at the database, wherein the phantom apex record has zero parent records and zero children records;

inserting, by the computer device, a reference to the phantom apex record in each of the first apex record and the second apex record;

determining, by the computer device, a position for each of the plurality of hierarchical records based on the parent record associated with each record;

after determining the position for the each of the plurality of hierarchical records, deleting, by the computer device, the references to the phantom apex record in the first apex record and the second apex record while storing a second position determined for the phantom apex record; and

graphically representing, by the computer device, the plurality of hierarchical records excluding the phantom apex record based on the position for the each of the plurality of hierarchical records, wherein the first group of hierarchical records is rendered adjacent to and disconnected from the second group of hierarchical records, the first apex record being aligned with the second apex record based on the second position.

2. The method of claim 1 , wherein the phantom apex record is excluded to prevent the phantom apex record from being rendered at the second position determined for the phantom apex record.

3. The method of claim 1 , wherein identifying the first group of hierarchical records or the second group of hierarchical records includes:

identifying, by the computer device, a list of records and a hierarchical relationship among the plurality of hierarchical records.

4. The method of claim 1 , wherein determining the position for each of the plurality of hierarchical records includes:

determining, by the computer device, an x-y coordinate on a target output medium for rendering a shape at each determined position for each of the plurality of hierarchical records on the target output medium.

5. The method of claim 1 , wherein the position for a given record among the plurality of hierarchical records on a first target output medium having a first set of dimensions is different than the position for the given record on a second target output medium having a second set of dimensions, wherein the first target output medium has a different size than the second target output medium.

6. The method of claim 1 , wherein no shape is rendered at the second position.

7. The method of claim 1 , further comprising:

adding or subtracting, by the computer device, a fixed distance from the position of the each of the plurality of hierarchical records in order to move a graphical representation of the plurality of hierarchical records over where the phantom apex record would have been rendered.

8. The method of claim 1 , wherein the plurality of hierarchical records are graphically illustrated utilizing a graphical tree.

9. A system comprising:

a processor and a non-transitory computer-readable medium coupled to the processor, the non-transitory computer-readable medium comprising instructions that, when executed by the processor, cause the processor to:

receive a user request for a record stored at a database;

identifying a first group of hierarchical records associated with the record among a plurality of hierarchical records stored at the database in response to the user request, wherein each current record in the plurality of hierarchical records is associated with a parent record of the current record, wherein the parent record is higher in a hierarchy than the current record, wherein the first group of hierarchical records consists of a first family of records that includes a first apex record at a highest point in the hierarchy, wherein the first group of hierarchical records includes the record;

identify a second group of hierarchical records among the plurality of hierarchical records as being related to the first group of hierarchical records including a second apex record at the highest point in the hierarchy, wherein the second group of hierarchical records includes at least a second family of records;

adding a phantom apex record to the plurality of hierarchical records stored at the database, wherein the phantom apex record has zero parent records and zero children records;

insert a reference to the phantom apex record for each of the first apex record and the second apex record;

determine a position for each of the plurality of hierarchical records based on the parent record associated with each record;

after determining the position for the each of the plurality of hierarchical records, delete the references to the phantom apex record in the first apex record and the second apex record while storing a second position determined for the phantom apex record; and

graphically representing the plurality of hierarchical records excluding the phantom apex record based on the position for the each of the plurality of hierarchical records, wherein the first group of hierarchical records is rendered adjacent to and disconnected from the second group of hierarchical records, the first apex record being aligned with the second apex record based on the second position.

10. The system of claim 9 , wherein the phantom apex record is excluded to prevent the phantom apex record from being rendered at the second position determined for the phantom apex record.

11. The system of claim 9 , wherein identifying the first group or the second group of hierarchical records includes:

identifying a list of records and a hierarchical relationship among the plurality of hierarchical records.

12. The system of claim 9 , wherein determining the position for each of the plurality of hierarchical records includes:

determining an x-y coordinate on a target output medium for rendering a shape at each determined position for each of the plurality of hierarchical records on the target output medium.

13. The system of claim 9 , wherein the position for a given record among the plurality of hierarchical records on a first target output medium having a first set of dimensions is different than the position for the given record on a second target output medium having a second set of dimensions, wherein the first target output medium has a different size than the second target output medium.

14. The system of claim 9 , wherein determining the position for each of the plurality of hierarchical records comprises:

adding or subtracting a fixed distance from the position of the each of the plurality of hierarchical records in order to move graphical representation of the plurality of hierarchical records over where the phantom apex record would have been rendered.

15. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to:

receive a user request for a record stored at a database;

identify a first group of hierarchical records associated with the record among a plurality of hierarchical records stored at the database in response to the user request, wherein each current record in the plurality of hierarchical records is associated with a parent record of the current record, wherein the parent record is higher in a hierarchy than the current record, wherein the first group of hierarchical records consists of a first family of records that includes a first apex record at a highest point in the hierarchy, wherein the first group of hierarchical records include the record;

identify a second group of hierarchical records among the plurality of hierarchical records as being related to the first group of hierarchical records including a second apex record at the highest point in the hierarchy wherein the second group of hierarchical records includes at least a second family of records;

adding a phantom apex record to a plurality of hierarchical records stored at the database, wherein the phantom apex record has zero parent records and zero child records;

insert a reference to the phantom apex record in each of the first apex record and the second apex record;

determine a position for each of the plurality of hierarchical records based on the parent record associated with each record;

after determining the position for the each of the plurality of hierarchical records, delete the references to the phantom apex record in the first apex record and the second apex record while storing a second position determined for the phantom apex record; and

graphically representing the plurality of hierarchical records excluding the phantom apex record based on the position for the each of the plurality of hierarchical records, wherein the first group of hierarchical records is rendered adjacent to and disconnected from the second group of hierarchical records, the first apex record being aligned with the second apex record based on the second position.

16. The non-transitory computer-readable medium of claim 15 , wherein the phantom apex record is excluded to prevent the phantom apex record from being rendered at the second position determined for the phantom apex record.

17. The non-transitory computer-readable medium of claim 15 , wherein identifying the first group or the second group of hierarchical records includes:

receiving a list of records and a hierarchical relationship among the plurality of hierarchical records.

18. The non-transitory computer-readable medium of claim 15 , wherein determining the position for each of the plurality of hierarchical records includes:

determining an x-y coordinate on a target output medium for rendering a shape at each determined position for each of the plurality of hierarchical records on the target output medium.

19. The non-transitory computer-readable medium of claim 15 , wherein the position for a given record among the plurality of hierarchical records on a first target output medium having a first set of dimensions is different than the position for the given record on a second target output medium having a second set of dimensions, wherein the first target output medium has a different size than the second target output medium.

20. The non-transitory computer-readable medium of claim 15 , wherein determining the position for each of the plurality of hierarchical records comprises:

adding or subtracting a fixed distance from the position of the each of the plurality of hierarchical records in order to move graphical representation of the plurality of hierarchical records over where the phantom apex record would have been rendered.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: MATHISON, MARK P.
To: KILPATRICK TOWNSEND & STOCKTON LLP
Reel/Frame 064781/0050 →
Continuity (3)
Continuation 17533839 · Nov 23, 2021
Continuation 16054822 · Aug 3, 2018
Related Publication 20230409612A1 · Dec 21, 2023
References Cited (52)
US 7657547B1 · Huitema · 2010 [cited by examiner]
US 9002859B1 · Ward · 2015 [cited by examiner]
US 10116861B1 · Graham et al. · 2018 [cited by applicant]
US 11222050B2 · Mathison · 2022 [cited by applicant]
US 11226996B2 · Mathison et al. · 2022 [cited by applicant]
US 11392627B2 · Mathison · 2022 [cited by applicant]
US 20030050925A1 · Moskovich et al. · 2003 [cited by applicant]
US 20030120655A1 · Ohwada et al. · 2003 [cited by applicant]
US 20030227487A1 · Hugh · 2003 [cited by applicant]
US 20050114302A1 · Lee et al. · 2005 [cited by applicant]
US 20050182773A1 · Feinsmith · 2005 [cited by applicant]
US 20060259857A1 · Atkins · 2006 [cited by examiner]
US 20070240203A1 · Beck · 2007 [cited by applicant]
US 20120072470A1 · Joseph · 2012 [cited by examiner]
US 20130086070A1 · Lundberg · 2013 [cited by applicant]
US 20130117648A1 · Boutin · 2013 [cited by applicant]
US 20140032557A1 · Bayliss · 2014 [cited by applicant]
US 20150074612A1 · Antipa · 2015 [cited by examiner]
US 20150248502A1 · Rath et al. · 2015 [cited by applicant]
US 20150278273A1 · Wigington · 2015 [cited by examiner]
US 20150293959A1 · Jackson, Jr. · 2015 [cited by applicant]
US 20170242921A1 · Rota · 2017 [cited by applicant]
US 20180113887A1 · Le · 2018 [cited by examiner]
US 20180260085A1 · Whitelaw · 2018 [cited by examiner]
US 20180307737A1 · Xie et al. · 2018 [cited by applicant]
US 20200042638A1 · Mathison · 2020 [cited by applicant]
US 20200042639A1 · Mathison et al. · 2020 [cited by applicant]
US 20200042640A1 · Mathison · 2020 [cited by applicant]
U.S. Appl. No. 17/533,839 , “Corrected Notice of Allowability”, Oct. 16, 2023, 2 pages. [cited by applicant]
U.S. Appl. No. 17/842,670 , “Corrected Notice of Allowability”, Oct. 13, 2023, 2 pages. [cited by applicant]
U.S. Appl. No. 16/054,822 , “Final Office Action”, Dec. 9, 2020, 20 pages. [cited by applicant]
U.S. Appl. No. 16/054,822 , “Non-Final Office Action”, Jun. 24, 2020, 26 pages. [cited by applicant]
U.S. Appl. No. 16/054,822 , “Notice of Allowance”, Aug. 25, 2021, 14 pages. [cited by applicant]
U.S. Appl. No. 16/054,829 , “Final Office Action”, Dec. 11, 2020, 19 pages. [cited by applicant]
U.S. Appl. No. 16/054,829 , “Non-Final Office Action”, Jun. 24, 2020, 26 pages. [cited by applicant]
U.S. Appl. No. 16/054,829 , “Notice of Allowance”, Sep. 1, 2021, 14 pages. [cited by applicant]
U.S. Appl. No. 16/054,836 , “Final Office Action”, Nov. 4, 2020, 21 pages. [cited by applicant]
U.S. Appl. No. 16/054,836 , “Non-Final Office Action”, Mar. 19, 2020, 16 pages. [cited by applicant]
U.S. Appl. No. 16/054,836 , “Non-Final Office Action”, Dec. 6, 2021, 27 pages. [cited by applicant]
U.S. Appl. No. 16/054,836 , “Notice of Allowance”, Mar. 18, 2022, 7 pages. [cited by applicant]
U.S. Appl. No. 17/533,839 , “Non-Final Office Action”, Dec. 27, 2022, 30 pages. [cited by applicant]
U.S. Appl. No. 17/533,839 , “Notice of Allowance”, May 11, 2023, 15 pages. [cited by applicant]
U.S. Appl. No. 17/540,077 , “Final Office Action”, May 15, 2023, 28 pages. [cited by applicant]
U.S. Appl. No. 17/540,077 , “Non-Final Office Action”, Dec. 22, 2022, 30 pages. [cited by applicant]
U.S. Appl. No. 17/842,670 , “Non-Final Office Action”, Feb. 15, 2023, 9 pages. [cited by applicant]
U.S. Appl. No. 17/842,670 , “Notice of Allowance”, Jun. 2, 2023, 5 pages. [cited by applicant]
Walker II , “A Node-Positioning Algorithm for General Trees”, Software—Practice & Experience, Sep. 1989, 32 pages. [cited by applicant]
U.S. Appl. No. 17/540,077 , “Non-Final Office Action”, Aug. 31, 2023, 21 pages. [cited by applicant]
U.S. Appl. No. 17/540,077 , “Corrected Notice of Allowability”, Jan. 31, 2024, 3 pages. [cited by applicant]
U.S. Appl. No. 17/540,077 , “Notice of Allowance”, Jan. 24, 2024, 17 pages. [cited by applicant]
U.S. Appl. No. 18/460,294 , “Non-Final Office Action”, Nov. 26, 2024, 19 pages. [cited by applicant]
U.S. Appl. No. 18/604,803 , “Non-Final Office Action”, Oct. 10, 2024, 34 pages. [cited by applicant]