IP Library Granted Patent US 8,477,654
Granted Patent B2
US 8,477,654 · App. 12/652,199 · Granted Jul 2, 2013

Method for representing nodes in network

Inventor: Trichur Easwaran Hariharan (Chennai, IN)
Assignee: Infosys Limited
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,477,654
App. No.
12/652,199
Granted
Jul 2, 2013
Kind
B2
Abstract

A method and computer program product for creating a data structure for representing a plurality of nodes in a network. One or more data fields are created corresponding to the plurality of nodes for storing information related to the nodes. One or more references are also created for each node such that each reference refers to a node adjacent to the corresponding node. The data fields and the references are then stored in a plurality of secondary data structures. Thereafter, each node is associated with a secondary data structure which includes the data fields and the references corresponding to the associated node. Subsequently, the data structure may be created for storing the secondary data structures.

Claims (42)

1. A method for creating a primary data structure for representing a plurality of nodes in a network, the method comprising:

a. creating one or more data fields for storing information related to the plurality of nodes, each of the one or more data fields being created corresponding to a node from the plurality of nodes;

b. creating one or more references corresponding to one or more of the plurality of nodes, each of the one or more references referring to a node adjacent to the corresponding one or more nodes;

c. associating each of the plurality of nodes with at least one secondary data structure from a plurality of secondary data structures, the at least one secondary data structure comprising the one or more data fields and two sets of references, each set of references comprising one or more references corresponding to two sets of nodes connected to the nodes by a set of outgoing edges and a set of incoming edges; and

d. storing the plurality of secondary data structures, wherein the primary data structure is created using the stored plurality of secondary data structures, wherein the references corresponding to each of the one or more nodes are stored in one or more tertiary data structures, the one or more tertiary data structures being stored in one or more secondary data structures corresponding to the one or more nodes; and each of the one or more tertiary data structures is a circular linked list.

2. The method according to claim 1 , wherein each of the one or more references refer to a secondary data structure from the plurality of secondary data structures, the secondary data structure being associated with the node adjacent to the corresponding one or more nodes.

3. The method according to claim 1 , wherein the one or more data fields is at least one of a primitive data type, an array, a list, a tree, a graph or a combination thereof.

4. The method according to claim 1 further comprising traversing the primary data structure by accessing the one or more references corresponding to the one or more nodes.

5. The method according to claim 1 further comprising inserting a new node in the network, wherein inserting the new node comprises:

a. creating a new data structure corresponding to the new node to be inserted, the new data structure comprising a set of data fields for storing information related to the new node;

b. setting one or more references in the new data structure to one or more invalid addresses; and

c. inserting the new data structure in the primary data structure.

6. The method according to claim 5 further comprising:

a. identifying a set of nodes adjacent to the new node to be inserted;

b. creating a set of references corresponding to the set of nodes; and

c. storing the set of references in the new data structure.

7. The method according to claim 6 further comprising storing a reference of the new node in a set of secondary data structures.

8. The method according to claim 1 further comprising deleting at least one node from the network, wherein deleting the at least one node comprises:

a. identifying one or more references referring to the at least one node, the one or more references being identified from the plurality of secondary data structures;

b. de-allocating the one or more references; and

c. deleting one or more secondary data structures corresponding to the at least one node from the plurality of secondary data structures.

9. A computer program product for use with a computer, the computer program product comprising a non-transitory computer usable device having a computer readable program code embodied therein for creating a primary data structure for representing a plurality of nodes in a network, the computer readable program code performing:

a. creating one or more data fields for storing information related to the plurality of nodes, each of the one or more data fields being created corresponding to a node from the plurality of nodes;

b. creating one or more references corresponding to one or more of the plurality of nodes, each of the one or more references referring to a node adjacent to the corresponding one or more nodes;

c. associating each of the plurality of nodes with at least one secondary data structure from a plurality of secondary data structures, the at least one secondary data structure comprising the one or more data fields and two sets of references, each set of references comprising one or more references corresponding to two sets of nodes connected to the nodes by a set of outgoing edges and a set of incoming edges; and

d. storing the plurality of secondary data structures, wherein the primary data structure is created using the stored plurality of secondary data structures, wherein the references corresponding to each of the one or more nodes are stored in one or more tertiary data structures, the one or more tertiary data structures being stored in one or more secondary data structures corresponding to the one or more nodes; and each of the one or more tertiary data structures is a circular linked list.

10. The computer program product according to claim 9 , wherein each of the one or more references refer to a secondary data structure from the plurality of secondary data structures, the secondary data structure being associated with the node adjacent to the corresponding one or more nodes.

11. The computer program product according to claim 9 , wherein the one or more data fields is at least one of a primitive data type, an array, a list, a tree, a graph or a combination thereof.

12. The computer program product according to claim 9 , wherein the computer readable program code further performs traversing the primary data structure by accessing the one or more references corresponding to the one or more nodes.

13. The computer program product according to claim 9 , wherein the computer readable program code further performs inserting a new node in the network, wherein inserting the new node comprises:

a. creating a new data structure corresponding to the new node to be inserted, the new data structure comprising a set of data fields for storing information related to the new node;

b. setting one or more references in the new data structure to one or more invalid addresses; and

c. inserting the new data structure in the primary data structure.

14. The computer program product according to claim 13 , wherein the computer readable program code further performs:

a. identifying a set of nodes adjacent to the new node to be inserted;

b. creating a set of references corresponding to the set of nodes; and

c. storing the set of references in the new data structure.

15. The computer program product according to claim 14 , wherein the computer readable program code further performs storing a reference of the new node in a set of secondary data structures.

16. The computer program product according to claim 9 , wherein the computer readable program code further performs deleting at least one node from the network, wherein deleting the at least one node comprises:

a. identifying one or more references referring to the at least one node, the one or more references being identified from the plurality of secondary data structures;

b. de-allocating the one or more references; and

c. deleting one or more secondary data structures corresponding to the at least one node from the plurality of secondary data structures.

Assignments (2)
CHANGE OF NAME Recorded Mar 18, 2013
From: INFOSYS TECHNOLOGIES LIMITED
To: INFOSYS LIMITED
Reel/Frame 030050/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2010
From: HARIHARAN, TRICHUR EASWARAN
To: INFOSYS TECHNOLOGIES LIMITED
Reel/Frame 023941/0921 →
Priority Claims (1)
IN 45/CHE/2009 · Jan 7, 2009 · national
Continuity (1)
Related Publication 20100172269A1 · Jul 8, 2010