IP Library Granted Patent US 8,819,086
Granted Patent B2
US 8,819,086 · App. 13/645,870 · Granted Aug 26, 2014

Naming methodologies for a hierarchical system

Inventor: Bruce McGaughy (Pleasanton, CA)
Assignee: Proplus Electronics Co., Ltd.
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 8,819,086
App. No.
13/645,870
Granted
Aug 26, 2014
Kind
B2
Abstract

Methods and systems are disclosed for naming methodologies for a hierarchical system. In one embodiment, a computer implemented method of organizing instance names in a hierarchical system includes receiving a description of a hierarchical system that includes plurality of instances arranged in different branches in a plurality of hierarchical levels in a physical data structure, creating an instance name data structure configured to describe the corresponding instances in the hierarchical system, where the instance name data structure comprises a map of indexes and a corresponding array of offsets configured to access naming information in a subsequent level, and associating names of instances in the hierarchical system to a corresponding set of unique integers which are arranged in a sequential manner.

Claims (62)

1. A computer implemented method of organizing instance names in a hierarchical system, comprising:

receiving a description of a hierarchical system, wherein the hierarchical system includes plurality of instances arranged in different branches in a plurality of hierarchical levels in a physical data structure;

creating an instance name data structure configured to describe the plurality of instances in the hierarchical system, wherein the instance name data structure comprises a map of indexes and an array of offsets configured to access naming information in a subsequent level, wherein the creating the instance name data structure further comprises: traversing the hierarchical system; generating the array of offsets configured to describe a starting location of an instance at a next level of the hierarchical system; and generating a corresponding map of indexes, wherein each index is configured to reference an instance in a subsequent level in the instance name data structure; and

associating names of instances in the hierarchical system to a corresponding set of unique integers, wherein the corresponding set of unique integers are arranged in a sequential manner.

2. The computer implemented method of claim 1 , wherein creating the instance name data structure further comprises:

for each level in the instance name data structure, creating an instance name table configured to map a portion of an instance name to a corresponding location in the array of offsets.

3. The computer implemented method of claim 2 , wherein creating the instance name data structure further comprises:

sharing of instances among multiple branches of the instance name data structure; and

sharing the instance name table among a set of instances.

4. The computer implemented method of claim 1 , wherein associating names of instances in the hierarchical system to a corresponding set of unique integers comprises:

labeling each instance in the hierarchical system in a top-down, left-to-right, and depth-first manner.

5. The computer implemented method of claim 1 , wherein the subsequent level comprises at least one of:

only leaf instances of the hierarchical system; and

a combination of a set of leaf instances and a set of instances having at least one hierarchical level.

6. The computer implemented method of claim 1 , further comprising at least one of:

performing a forward lookup in the instance name data structure for information of an instance using a name of the instance; and

performing a reverse lookup in the instance name data structure from a reverse lookup index associated with an instance to obtain the name of the instance.

7. The computer implemented method of claim 6 , wherein performing a forward lookup comprises:

identifying offsets associated with each level of the hierarchical system from the name of the instance;

computing a forward lookup index using the offsets associated with each level of the hierarchical system; and

retrieving information of the instance using the forward lookup index.

8. The computer implemented method of claim 6 , wherein performing a reverse lookup comprises:

traversing the instance name data structure in a top-down manner;

at each level, identifying an offset that is less than or equal to the reverse lookup index wherein the offset has a value closest to the reverse lookup index comparing to other offsets, identifying corresponding index of the offset, and subtracting the offset from the reverse lookup index to generate a new reverse lookup index for a subsequent level; ending traversing the instance name data structure in response to the new reverse lookup index is equal to an offset at a subsequent level; and

determining the name of the instance using corresponding one or more indices identified at each level.

9. The computer implemented method of claim 1 , further comprising at least one of:

performing a forward lookup in the physical data structure for information of an instance using a name of the instance; and

performing a reverse lookup in the physical data structure from an index associated with an instance to obtain the name of the instance.

10. A computer program product comprising a non-transitory medium storing computer programs for execution by one or more computer system, the computer program product comprising:

code for receiving a description of a hierarchical system, wherein the hierarchical system includes plurality of instances arranged in different branches in a plurality of hierarchical levels in a physical data structure;

code for creating an instance name data structure configured to describe the plurality of instances in the hierarchical system, wherein the instance name data structure comprises a map of indexes and an array of offsets configured to access naming information in a subsequent level, wherein the code for creating the instance name data structure further comprises: code for traversing the hierarchical system; code for generating the array of offsets configured to describe a starting location of an instance at a next level of the hierarchical system; and code for generating a corresponding map of indexes, wherein each index is configured to reference an instance in a subsequent level in the instance name data structure; and

code for associating names of instances in the hierarchical system to a corresponding set of unique integers, wherein the corresponding set of unique integers are arranged in a sequential manner.

11. The computer program product of claim 10 , wherein code for creating the instance name data structure further comprises:

for each level in the instance name data structure, code for creating an instance name table configured to map a portion of an instance name to a corresponding location in the array of offsets.

12. The computer program product of claim 11 , wherein code for creating the instance name data structure further comprises:

code for sharing of instances among multiple branches of the instance name data structure; and

code for sharing the instance name table among a set of instances.

13. The computer program product of claim 10 , wherein code for associating names of instances in the hierarchical system to a corresponding set of unique integers comprises:

code for labeling each instance in the hierarchical system in a top-down, left-to-right, and depth-first manner.

14. The computer program product of claim 10 , wherein the subsequent level comprises at least one of:

only leaf instances of the hierarchical system; and

a combination of a set of leaf instances and a set of instances having at least one hierarchical level.

15. The computer program product of claim 10 , further comprising at least one of:

code for performing a forward lookup in the instance name data structure for information of an instance using a name of the instance; and

code for performing a reverse lookup in the instance name data structure from a reverse lookup index associated with an instance to obtain the name of the instance.

16. The computer program product of claim 15 , wherein code for performing a forward lookup comprises:

code for identifying offsets associated with each level of the hierarchical system from the name of the instance;

code for computing a forward lookup index using the offsets associated with each level of the hierarchical system; and

code for retrieving information of the instance using the forward lookup index.

17. The computer program product of claim 15 , wherein code for performing a reverse lookup comprises:

code for traversing the instance name data structure in a top-down manner;

at each level, code for identifying an offset that is less than or equal to the reverse lookup index wherein the offset has a value closest to the reverse lookup index comparing to other offsets, code for identifying corresponding index of the offset, and subtracting the offset from the reverse lookup index to generate a new reverse lookup index for a subsequent level; ending traversing the instance name data structure in response to the new reverse lookup index is equal to an offset at a subsequent level; and

code for determining the name of the instance using corresponding one or more indices identified at each level.

18. The computer program product of claim 10 , further comprising at least one of:

code for performing a forward lookup in the physical data structure for information of an instance using a name of the instance; and

code for performing a reverse lookup in the physical data structure from an index associated with an instance to obtain the name of the instance.

19. A system, comprising:

at least one processor; and

a naming module configured to work with the at least one processor, wherein the naming module includes:

logic for receiving a description of a hierarchical system, wherein the hierarchical system includes plurality of instances arranged in different branches in a plurality of hierarchical levels in a physical data structure;

logic for creating an instance name data structure configured to describe the plurality of instances in the hierarchical system, wherein the instance name data structure comprises a map of indexes and a corresponding array of offsets configured to access naming information in a subsequent level, wherein the logic for creating the instance name data structure further comprises: logic for traversing the hierarchical system; logic for generating the array of offsets configured to describe a starting location of an instance at a next level of the hierarchical system; and logic for generating a corresponding map of indexes, wherein each index is configured to reference an instance in a subsequent level in the instance name data structure; and

logic for associating names of instances in the hierarchical system to a corresponding set of unique integers, wherein the corresponding set of unique integers are arranged in a sequential manner.

Assignments (4)
CHANGE OF NAME Recorded Dec 11, 2020
From: JINAN PROPLUS ELECTRONICS CO., LTD.
To: PRIMARIUS TECHNOLOGIES CO., LTD.
Reel/Frame 054612/0347 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2019
From: PROPLUS DESIGN SOLUTIONS, INC.
To: JINAN PROPLUS ELECTRONICS CO., LTD.
Reel/Frame 049328/0742 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2015
From: PROPLUS ELECTRONICS CO., LTD.
To: PROPLUS DESIGN SOLUTIONS, INC.
Reel/Frame 036686/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2015
From: MCGAUGHY, BRUCE W.
To: PROPLUS ELECTRONICS CO., LTD.
Reel/Frame 036673/0565 →
Continuity (1)
Related Publication 20140101153A1 · Apr 10, 2014