Network-wide, location-independent object identifiers for high-performance distributed graph databases
First Claim
1. A method, comprising:
- interfacing, by an operating system on a computer device in a network of computer devices, with a distributed graph database that is distributed across the network of computer devices;
executing, by the operating system, an application that has one or more parent data constructs that reference one or more child objects within the distributed graph database, wherein the one or more child objects each have a location-independent object identifier (OID) that models hierarchical relationships between nodes in the distributed graph database on a plurality of networking devices interconnected by the computer devices in the network, the OID including;
an OID-identifier (OID-ID) assigned to each particular child object by a data source of the location-independent OID,an OID-source tupled to the OID-ID, the OID-source a pointer to a structure that uniquely identifies the data source of the location-independent OID within the network of computer devices, wherein the OID source identifies an exact location of origin of the one or more child objects in the distributed graph database, andan OID-pointer indicative of a relative location of the particular child object in a memory mapped region, wherein lookup trees provide bidirectional mapping from OID-ID and OID-source tuples to OID-pointer values, and wherein the OID-pointer for a particular child object is cached within a particular parent data construct referencing a relative address of that particular child object; and
accessing, by the operating system, the one or more child objects based on the location-independent OID.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, an operating system (on a computer device in a network of computer devices) interfaces with a distributed graph database that is distributed across the network of computer devices, and executes an application that has one or more parent data constructs that reference one or more child objects within the distributed graph database. Specifically, the one or more child objects each have a location-independent object identifier (OID) having at least: a) an OID-identifier (OID-ID) assigned upon creation to each particular child object by a data source of the location-independent OID; b) an OID-source structure that uniquely identifies the data source of the location-independent OID within the network of computer devices; and c) an OID-pointer indicative of a relative location of the particular child object in a memory mapped region. Accordingly, the operating system accesses the child objects (e.g., for an application) based on the location-independent OID.
23 Citations
20 Claims
-
1. A method, comprising:
-
interfacing, by an operating system on a computer device in a network of computer devices, with a distributed graph database that is distributed across the network of computer devices; executing, by the operating system, an application that has one or more parent data constructs that reference one or more child objects within the distributed graph database, wherein the one or more child objects each have a location-independent object identifier (OID) that models hierarchical relationships between nodes in the distributed graph database on a plurality of networking devices interconnected by the computer devices in the network, the OID including; an OID-identifier (OID-ID) assigned to each particular child object by a data source of the location-independent OID, an OID-source tupled to the OID-ID, the OID-source a pointer to a structure that uniquely identifies the data source of the location-independent OID within the network of computer devices, wherein the OID source identifies an exact location of origin of the one or more child objects in the distributed graph database, and an OID-pointer indicative of a relative location of the particular child object in a memory mapped region, wherein lookup trees provide bidirectional mapping from OID-ID and OID-source tuples to OID-pointer values, and wherein the OID-pointer for a particular child object is cached within a particular parent data construct referencing a relative address of that particular child object; and accessing, by the operating system, the one or more child objects based on the location-independent OID. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A tangible, non-transitory, computer-readable media having software encoded thereon, the software, when executed by a processor on a computer device in a network of computer devices, operable to:
-
interface with a distributed graph database that is distributed across the network of computer devices; execute an application that has one or more parent data constructs that reference one or more child objects within the distributed graph database, wherein the one or more child objects each have a location-independent object identifier (OID) that models hierarchical relationships between nodes in the distributed graph database interconnected by the computer devices in the network, the OID including; an OID-identifier (OID-ID) assigned to each particular child object by a data source of the location-independent OID, an OID-source tupled to the OID-ID, the OID-source a pointer to a structure that uniquely identifies the data source of the location-independent OID within the network of computer devices, wherein the OID source structure identifies an exact location of origin of the one or more child objects in the distributed graph database, and an OID-pointer indicative of a relative location of the particular child object in a memory mapped region, wherein lookup trees provide bidirectional mapping from OID-ID and OID-source tuples to OID-pointer values, and wherein the OID-pointer for a particular child object is cached within a particular parent data construct referencing a relative address of that particular child object; and access the one or more child objects based on the location-independent OID. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An apparatus, comprising:
-
one or more network interfaces configured to communicate in a network of computer devices; a processor coupled to the network interfaces and adapted to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed operable to; interface with a distributed graph database that is distributed across the network of computer devices; execute an application that has one or more parent data constructs that reference one or more child objects within the distributed graph database, wherein the one or more child objects each have a location-independent object identifier (OID) that models hierarchical relationships between nodes in the distributed graph database interconnected by the computer devices in the network, the OID including; an OID-identifier (OID-ID) assigned to each particular child object by a data source of the location-independent OID, an OID-source tupled to the OID-ID, the OID-source a pointer to a structure that uniquely identifies the data source of the location-independent OID within the network of computer devices, wherein the OID source structure identifies an exact location of origin of the one or more child objects in the distributed graph database, and an OID-pointer indicative of a relative location of the particular child object in a memory mapped region, wherein lookup trees provide bidirectional mapping from OID-ID and OID-source tuples to OID-pointer values, and wherein the OID-pointer for a particular child object is cached within a particular parent data construct referencing a relative address of that particular child object; and access the one or more child objects based on the location-independent OID. - View Dependent Claims (19, 20)
-
Specification