DETAILED ACTION
1. Claims 1-13, 15,17-18 and 20-22 are pending in this application.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
In the event the determination of the status of the application as subject to AIA 35 U.S.C. §102 and §103 (or as subject to pre-AIA 35 U.S.C. §102 and §103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Continued Examination Under 37 CFR 1.114
3. A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 01/08/2026 has been entered.
Response to Amendment
4. This office action is in response to applicant’s amendment filed on 01/08/2026 in response to the final rejection mailed on 10/08/2025. Claims 1, 17 and 18 have been amended. Claims 2, 4-13 and 15 have been kept original. Claims 14, 16 and 19 have been cancelled. Claims 3 and 20-22 have been previously presented. Amendment has been entered.
Response to Arguments
5. Applicant's arguments, filed on 09/10/2025, with respect to the rejection of claims 1-13, 15,17-18 and 20-22 under 35 U.S.C. §103 (Applicant’s arguments, pages 8-12), have been fully considered and are but are moot because the independent claims are amended and introduce new limitations/elements that were not previously presented newly found prior art has been applied.
The new introduce limitation/element “the data block is a minimum read/write logic storage unit and has a fixed size” is disclosed in the new introduce prior art of Jawahar et. al. (US 20210397345 A1).
Claim Rejections - 35 USC § 103
6. In the event the determination of the status of the application as subject to AIA 35 U.S.C. § 102 and § 103 (or as subject to pre-AIA 35 U.S.C. § 102 and § 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section § 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under pre-AIA 35 U.S.C. § 103(a) are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
7. Claims 1-2, 9-10, 17-18 and 20 are rejected under 35 U.S.C. § 103 as being unpatentable over Savkli (US 20160063037 A1) in view of Kang et al. (US 20170228468 A1) in further view of Jawahar et. al. (US 20210397345 A1).
As per claim 1, Savkli teaches a storage method for graph data (i.e. “A method for distributed graph”; Abstract, para. [0003]),
wherein the graph data comprises a node and an edge (i.e. “a graph of edges between a plurality of data vertices of the ingest data”; Abstract, para. [0005]), and the storage method comprises:
storing, in a point table of a data block (i.e. “Structural graph information may be stored in two tables on each node: a vertex table 310 containing only the IDs of the vertices 302, stored on the node”; figs. 3A-B, para. [0062]; Examiner note: the vertex table is interpreted as the point table of the data block; the data block is interpreted as the structural graph information),
node information of several nodes in the graph data (i.e. “stored on the node, and an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices;”; figs. 3A-B, para. [0062]-[0064]),
wherein the node information comprises a node identifier (i.e. “Structural graph information may be stored in two tables on each node: a vertex table 310 containing only the IDs of the vertices 302, stored on the node”; figs. 3A-B, para. [0062]; Examiner note: the node identifier is interpreted as the IDs of the vertices. Further, “where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]);
storing, in an edge table of the data block (i.e. “an edge table 312”; figs. 3A-B, para. [0062]),
edge information of edges of the several nodes (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]-[0064]),
wherein the edge information comprises node identifiers of target nodes connected to the edges (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]; Examiner note: the node identifier is interpreted as the IDs of the vertices. Further, “where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]);
storing, in a point attribute table of the data block (i.e. “An attribute table 314 may be generated and stored for each vertex 302 and/or edge 304 attribute.”; fig. 3B, para. [0064]),
attribute information of the several nodes (i.e. “a graph 400 of a four node cluster archived without locality control. Distributed graph processing may support locality control, e.g., storing vertices of the graph to specific nodes.”; figs. 3B, 4A-B, para. [0065]-[0066]);
However, it is noted that the prior art of Savkli does not explicitly teach “storing in an edge attribute table of the data block, attribute information of the edges of the several nodes.”
On the other hand, in the same field of endeavor, Kang teaches storing in an edge attribute table of the data block (i.e. “the edge table for storing the edge information.”; fig. 5, para. [0046]; Examiner note: the edge attribute table of the data block is interpreted as the edge table),
attribute information of the edges of the several nodes (i.e. “the edge information stored in the edge table includes StartRID storing a physical location in which the start vertex of the corresponding edge is stored, and EndRID storing a physical location in which the end vertex of the corresponding edge is stored.”; para. [0047]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Kang that teaches a data searching method of database, apparatus and computer program into Savkli that teaches a distributed graph processing. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so would be to provide an efficient data searching method for databases by leveraging improved graph search speed (Kang, para. [0011]).
Although Savkli teaches “the application server 40 may include processing logic and memory enabling the application server 40 to access and/or execute stored computer readable instructions for performing various functions.”; para. [0046] and “The computing device or job submitter's function may write out new property values for the root vertex or any of its neighboring edges, new neighboring vertices and edges, or the like.”; para. [0084]-[0085]).
However, it is noted that the prior art of Savkli and Kang do not explicitly teach “the data block is a minimum read/write logic storage unit and has a fixed size;”
On the other hand, in the same field of endeavor, Jawahar teaches the data block is a minimum read/write logic storage unit and has a fixed size (i.e. “Block-store is a commonly used software that is used to manage storage of data of a linear address space like a file/disk/memory. It has the ability to read/write/allocate/deallocate blocks of a fixed size on the given linear address space.”; fig. 1B, para. [0081]. Further, i.e. “a module may include one or more state machines and/or combinational logic used to implement or facilitate the operational and/or performance characteristics pertaining to architectures, systems and methods to manage I/O performance in log-structured merge trees.”; fig. 15, para. [0111]-[0113], [0139]);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair into the combination of Savkli that teaches a distributed graph processing, and Kang that teaches a data searching method of database, apparatus and computer program. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so would be to providing an architecture that facilitates the storage of LSM keys into a key storage area optimized for key manipulation and separately storing values into a separate block storage area optimized for value manipulation (Jawahar, para. [0011]-[0013]).
As per claim 2, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 1 above.
Additionally, Savkli teaches wherein a storage order of the edges of the several nodes in the edge table is consistent with a storage order of the several nodes in the point table (edge table 312 column EID show the edges of nodes being stored in order. The order of the vertex in the vertex table is consistent in both table vertex/edge; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; figs. 3A-B, para. [0062]-[0064]);
a storage order of the attribute information of the several nodes in the point attribute table is consistent with the storage order of the several nodes in the point table (attribute table 314 illustrate a consistent order of the vertex IDs; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; fig. 3B, para. [0063]-[0064]); and
a storage order of the attribute information of the edges of the several nodes in the edge attribute table is consistent with the storage order of the edges of the several nodes in the edge table (attribute table 314 illustrate columns ID and V in element A3 which comprise the data information in order. The data information stored in the element A3 is associate with edges and nodes of the graph; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; fig. 3B, para. [0063]-[0064]).
As per claim 9, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 1 above.
Additionally, Savkli teaches wherein the point attribute table comprises a point attribute table index area and a point attribute table data area (i.e. “An attribute table 314 may be generated and stored for each vertex 302 and/or edge 304 attribute.”; fig. 3B, para. [0064]; Examiner note: the point attribute table index area is interpreted as the A1; the point attribute table data area is interpreted as the area A3);
the attribute information of the several nodes is stored in the point attribute table data area (i.e. several nodes edges information are stored in the point attribute table data area; fig. 3B, para. [0064]);
the point attribute table index area stores node attribute index information of the several nodes (i.e. several nodes IDs information are stored in the point attribute table data area; fig. 3B, para. [0064]), and
the node attribute index information comprises storage address information of the attribute information of the nodes in the point attribute table data area (i.e. “Each vertex may be stored on only one node, while each edge may be stored on either one node (such as E.sub.—4.sub.—1 or E.sub.—7.sub.—5), in an instance in which the both vertices are stored on the same node;”; fig. 3A-B, para. [0062]); and
a storage order of the node attribute index information of the several nodes in the point attribute table index area is consistent with a storage order of the several nodes in the point table (attribute table 314 illustrate columns ID and V in element A3 which comprise the data information in order. The data information stored in the element A3 is associate with edges and nodes of the graph; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; fig. 3B, para. [0063]-[0064]).
As per claim 10, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 1 above.
Additionally, Savkli teaches further comprising: generating a table element of the data block (i.e. “generating the data map includes generating a vertex table and an edge table based on the ingest data.”; fig. 11, para. [0101]; Examiner note: the generating a table element of the data block is interpreted as the generating the data map),
wherein the table element comprises storage address information of each table in the data block and a node identifier of the 1st node in the point table in the data block (i.e. “storing the portion of ingest data and the portion of map data includes storing a respective vertex of the plurality of vertices to the respective node of the at least two nodes, and one or more attributes associated with the respective vertex is stored at the node at which the respective vertex is stored.”; fig. 11, para. [0057]-[0058]. Further, “The method for distributed graph processing may utilize many tables in which each attribute is stored as value and the identifier (ID) (of a node or edge) as the key.”; para. [0040], [0062]-[0063]).
As per claim 17, Savkli teaches a storage apparatus for graph data (i.e. “an apparatus is provided including processing circuitry configured for distributed graph processing including processing circuitry configured for receiving ingest data from at least one data source, generating a data map comprising a graph of edges between a plurality of data vertices of the ingest data”; para. [0005], [0050]),
comprising a memory (i.e. “the storage device 54 may include one or more non-transitory storage or memory devices”; fig. 2, para. [0054]) and a processor (i.e. “processor 52”; fig. 2, para. [0054]),
wherein the memory is configured to store computer instructions, that, in response to execution by the processor, cause the processor to (i.e. “The storage device 54 may be configured to store information, data, applications, instructions or the like for enabling the apparatus to carry out various functions in accordance with example embodiments of the present invention. For example, the storage device 54 could be configured to buffer input data for processing by the processor 52”; fig. 2, para. [0054]):
store, in a point table of a data block (i.e. “Structural graph information may be stored in two tables on each node: a vertex table 310 containing only the IDs of the vertices 302, stored on the node”; figs. 3A-B, para. [0062]; Examiner note: the vertex table is interpreted as the point table of the data block. Further, i.e. “The ingest data may be in tabulated format, such as a spreadsheet, or other files such as websites, documents or the like. The ingest data may be in a single or multiple files. … .The computing device may generate map data including a graph of the relationships, e.g., edges between each vertex of the ingest data.”; para. [0059]),
node information of several nodes in the graph data (i.e. “stored on the node, and an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices;”; figs. 3A-B, para. [0062]-[0064]),
wherein the node information comprises a node identifier (i.e. “Structural graph information may be stored in two tables on each node: a vertex table 310 containing only the IDs of the vertices 302, stored on the node”; figs. 3A-B, para. [0062]; Examiner note: the node identifier is interpreted as the IDs of the vertices. Further, “where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]);
store, in an edge table of the data block (i.e. “an edge table 312”; figs. 3A-B, para. [0062]),
edge information of edges of the several nodes (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]-[0064]),
wherein the edge information comprises node identifiers of target nodes connected to the edges (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]; Examiner note: the node identifier is interpreted as the IDs of the vertices. Further, “where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]);
store, in a point attribute table of the data block (i.e. “An attribute table 314 may be generated and stored for each vertex 302 and/or edge 304 attribute.”; fig. 3B, para. [0064]),
attribute information of the several nodes (i.e. “a graph 400 of a four node cluster archived without locality control. Distributed graph processing may support locality control, e.g., storing vertices of the graph to specific nodes.”; figs. 3B, 4A-B, para. [0065]-[0066]);
However, it is noted that the prior art of Savkli does not explicitly teach “store in an edge attribute table of the data block, attribute information of the edges of the several nodes.”
On the other hand, in the same field of endeavor, Kang teaches store in an edge attribute table of the data block (i.e. “the edge table for storing the edge information.”; fig. 5, para. [0046]; Examiner note: the edge attribute table of the data block is interpreted as the edge table),
attribute information of the edges of the several nodes (i.e. “the edge information stored in the edge table includes StartRID storing a physical location in which the start vertex of the corresponding edge is stored, and EndRID storing a physical location in which the end vertex of the corresponding edge is stored.”; para. [0047]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Kang that teaches a data searching method of database, apparatus and computer program into Savkli that teaches a distributed graph processing. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so would be to provide an efficient data searching method for databases by leveraging improved graph search speed (Kang, para. [0011]).
Although Savkli teaches “the application server 40 may include processing logic and memory enabling the application server 40 to access and/or execute stored computer readable instructions for performing various functions.”; para. [0046] and “The computing device or job submitter's function may write out new property values for the root vertex or any of its neighboring edges, new neighboring vertices and edges, or the like.”; para. [0084]-[0085]).
However, it is noted that the prior art of Savkli and Kang do not explicitly teach “the data block is a minimum read/write logic storage unit and has a fixed size”
On the other hand, in the same field of endeavor, Jawahar teaches the data block is a minimum read/write logic storage unit and has a fixed size (i.e. “Block-store is a commonly used software that is used to manage storage of data of a linear address space like a file/disk/memory. It has the ability to read/write/allocate/deallocate blocks of a fixed size on the given linear address space.”; fig. 1B, para. [0081]. Further, i.e. “a module may include one or more state machines and/or combinational logic used to implement or facilitate the operational and/or performance characteristics pertaining to architectures, systems and methods to manage I/O performance in log-structured merge trees.”; fig. 15, para. [0111]-[0113], [0139]);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair into the combination of Savkli that teaches a distributed graph processing, and Kang that teaches a data searching method of database, apparatus and computer program. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so would be to providing an architecture that facilitates the storage of LSM keys into a key storage area optimized for key manipulation and separately storing values into a separate block storage area optimized for value manipulation (Jawahar, para. [0011]-[0013]).
As per claim 18, Savkli teaches a non-transitory storage device for graph data (i.e. “the storage device 54 may include one or more non-transitory storage or memory devices”; fig. 2, para. [0054]),
wherein the graph data comprises a node and an edge (i.e. “a graph of edges between a plurality of data vertices of the ingest data”; Abstract, para. [0005]), the storage device stores several data blocks (i.e. “The ingest data may be in tabulated format, such as a spreadsheet, or other files such as websites, documents or the like. The ingest data may be in a single or multiple files. … .The computing device may generate map data including a graph of the relationships, e.g., edges between each vertex of the ingest data.”; para. [0059]-[0062]), and each data block comprises:
a point table (i.e. “Structural graph information may be stored in two tables on each node: a vertex table 310 containing only the IDs of the vertices 302, stored on the node”; figs. 3A-B, para. [0062]; Examiner note: the vertex table is interpreted as the point table of the data block),
configured to store node information of at least a portion of nodes in the graph data (i.e. “stored on the node, and an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices;”; figs. 3A-B, para. [0062]-[0064]),
wherein the node information comprises a node identifier (i.e. “Structural graph information may be stored in two tables on each node: a vertex table 310 containing only the IDs of the vertices 302, stored on the node”; figs. 3A-B, para. [0062]; Examiner note: the node identifier is interpreted as the IDs of the vertices. Further, “where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]);
an edge table i.e. “an edge table 312”; figs. 3A-B, para. [0062]),
configured to store edge information of edges of the nodes (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]-[0064]),
wherein the edge information comprises node identifiers of target nodes connected to the edges (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]; Examiner note: the node identifier is interpreted as the IDs of the vertices. Further, “where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]);
a point attribute table (i.e. “An attribute table 314 may be generated and stored for each vertex 302 and/or edge 304 attribute.”; fig. 3B, para. [0064]),
configured to store attribute information of the nodes (i.e. “a graph 400 of a four node cluster archived without locality control. Distributed graph processing may support locality control, e.g., storing vertices of the graph to specific nodes.”; figs. 3B, 4A-B, para. [0065]-[0066]);
However, it is noted that the prior art of Savkli does not explicitly teach “an edge attribute table, configured to store attribute information of the edges of the nodes.”
On the other hand, in the same field of endeavor, Kang teaches an edge attribute table (i.e. “the edge table for storing the edge information.”; fig. 5, para. [0046]; Examiner note: the edge attribute table of the data block is interpreted as the edge table),
configured to store attribute information of the edges of the nodes (i.e. “the edge information stored in the edge table includes StartRID storing a physical location in which the start vertex of the corresponding edge is stored, and EndRID storing a physical location in which the end vertex of the corresponding edge is stored.”; para. [0047]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Kang that teaches a data searching method of database, apparatus and computer program into Savkli that teaches a distributed graph processing. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so would be to provide an efficient data searching method for databases by leveraging improved graph search speed (Kang, para. [0011]).
Although Savkli teaches “the application server 40 may include processing logic and memory enabling the application server 40 to access and/or execute stored computer readable instructions for performing various functions.”; para. [0046] and “The computing device or job submitter's function may write out new property values for the root vertex or any of its neighboring edges, new neighboring vertices and edges, or the like.”; para. [0084]-[0085]).
However, it is noted that the prior art of Savkli and Kang do not explicitly teach “each data block is a minimum read/write logic storage unit and has a fixed size, and each data block comprises:”
On the other hand, in the same field of endeavor, Jawahar teaches each data block is a minimum read/write logic storage unit and has a fixed size, and each data block (i.e. “Block-store is a commonly used software that is used to manage storage of data of a linear address space like a file/disk/memory. It has the ability to read/write/allocate/deallocate blocks of a fixed size on the given linear address space.”; fig. 1B, para. [0081]. Further, i.e. “a module may include one or more state machines and/or combinational logic used to implement or facilitate the operational and/or performance characteristics pertaining to architectures, systems and methods to manage I/O performance in log-structured merge trees.”; fig. 15, para. [0111]-[0113], [0139]) comprises:
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair into the combination of Savkli that teaches a distributed graph processing, and Kang that teaches a data searching method of database, apparatus and computer program. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so would be to providing an architecture that facilitates the storage of LSM keys into a key storage area optimized for key manipulation and separately storing values into a separate block storage area optimized for value manipulation (Jawahar, para. [0011]-[0013]).
As per claim 20, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 17 above.
Additionally, Savkli teaches wherein a storage order of the edges of the several nodes in the edge table is consistent with a storage order of the several nodes in the point table edge table 312 column EID show the edges of nodes being stored in order. The order of the vertex in the vertex table is consistent in both table vertex/edge; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; figs. 3A-B, para. [0062]-[0064]);
a storage order of the attribute information of the several nodes in the point attribute table is consistent with the storage order of the several nodes in the point table (attribute table 314 illustrate a consistent order of the vertex IDs; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; fig. 3B, para. [0063]-[0064]); and
a storage order of the attribute information of the edges of the several nodes in the edge attribute table is consistent with the storage order of the edges of the several nodes in the edge table (attribute table 314 illustrate columns ID and V in element A3 which comprise the data information in order. The data information stored in the element A3 is associate with edges and nodes of the graph; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; fig. 3B, para. [0063]-[0064]).
8. Claims 3-5, 7, 15 and 21-22 are rejected under 35 U.S.C. § 103 as being unpatentable over Savkli (US 20160063037 A1) in view of Kang et al. (US 20170228468 A1) in further view of Jawahar et. al. (US 20210397345 A1) still in further view of Golovashkin et al. (US 20170046614 A1).
As per claim 3, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 1 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “wherein the edge table comprises an edge table index area and an edge table data area; the edge information of the edges of the several nodes is stored in the edge table data area; the edge table index area stores index information of the edges of the several nodes, and the index information of the edges comprises storage address information of the edge information of the edges of a corresponding node in the edge table data area; and a storage order of the index information of the edges of the several nodes in the edge table index area is consistent with the storage order of the several nodes in the point table.”
On the other hand, in the same field of endeavor, Golovashkin teaches wherein the edge table comprises an edge table index area (i.e. “Each link of these lists comprises a row index, of either the edge table or the node table, that designates an edge or node”; fig. 6, para. [0086]-[0087]) and an edge table data area (i.e. “Each edge has metadata that includes a Boolean flag indicating removal, an index of a next kept input edge, and an index of a next removed input edge. These indices reference another edge in the edge table.”; fig. 6, para. [0104]; Examiner note: the edge table data area is interpreted as the metadata);
the edge information of the edges of the several nodes is stored in the edge table data area (i.e. “Each edge has metadata that includes a Boolean flag indicating removal, an index of a next kept input edge, and an index of a next removed input edge. These indices reference another edge in the edge table.”; para. [0104]);
the edge table index area stores index information of the edges of the several nodes (i.e. “The values of the next-in column of the edge table are a mixture of edge indices into the edge table and node indices into the node table.”; fig. 6, para. [0089]), and
the index information of the edges comprises storage address information of the edge information of the edges of a corresponding node in the edge table data area (i.e. “Thus although FIG. 6 shows node:4 as the value of the next-in column of the edge table for edge 3, the value may be encoded as −4.”; fig. 6, para. [0089]); and
a storage order of the index information of the edges of the several nodes in the edge table index area is consistent with the storage order of the several nodes in the point table (i.e. “Resorting a list involves reassigning some values of the next-in, next-out, edge-in, or edge-out columns. However, resorting a list does not reorder the rows of the edge and node tables.”; para. [0090]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Golovashkin that teaches techniques of graph storage and edge sparsification into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so is that training entails adjusting edge weights to alter the mathematical functionality of the neural network, thereby improving its overall behavior (Golovashkin, para. [0070]).
As per claim 4, Savkli, Kang, Jawahar and Golovashkin teach all the limitations as discussed in claim 3 above.
Additionally, Savkli teaches wherein the node information further comprises storage address information of the edges of the nodes (i.e. “The computing device may store all information about a vertex, such as the vertex attributes at the node which stores the respective vertex, to minimize movement of data.”; fig. 5C, para. [0060], [0073]), and
the storage address information of a corresponding edge in the point table is storage address information of the index information of the corresponding edges in the edge table (i.e. “The computing device may generate map data including a graph of the relationships, e.g., edges between each vertex of the ingest data. The map data may include a vertex table and an edge table. The vertex and edge table may also include attribute tables associated with each edge and/or each vertex.”; figs. 3A-B para. [0059], [0101]).
As per claim 5, Savkli, Kang, Jawahar and Golovashkin teach all the limitations as discussed in claim 3 above.
Additionally, Savkli teaches wherein edge information of different edges of the same node is consecutively stored in the edge table data area (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; figs. 3A-B, para. [0062]), and
a storage order of the edge information of the edges of the several nodes in the edge table data area is consistent with the storage order of the edges of the several nodes in the point table (i.e. “For each attribute present on any vertex or outgoing edge on a node, a two-column table may be stored consisting of <id, val> tuples, where id is either a vertex or edge identifier and val is the value of the attribute.”; para. [0063]).
As per claim 7, Savkli, Kang, Jawahar and Golovashkin teach all the limitations as discussed in claim 3 above.
Additionally, Savkli teaches wherein the edge attribute table comprises an edge attribute table index area and an edge attribute table data area (i.e. “an edge table 312 containing, for every edge 304 connected to a vertex in the vertex table 310: an edge ID; the IDs of both connected vertices; and identifiers specifying which node each connected vertex is stored on.”; fig. 3B, para. [0064]; Examiner note: the edge attribute table data area is interpreted as the column EID of the edge table. The edge attribute table data area is interpreted as the TID and T columns of the table);
the attribute information of the edges of the several nodes is stored in the edge attribute table data area (i.e. “The query may include a request for common neighbors of V1 and V2, for example graph.getJointNeighbors(V1,V2).”; fig. [0073]);
the edge attribute table index area stores edge attribute index information of the edges of the several nodes (i.e. “The query may include a request for common neighbors of V1 and V2, for example graph.getJointNeighbors(V1,V2).”; fig. [0073]), and
the edge attribute index information comprises storage address information of the attribute information of the edges of the corresponding node in the edge attribute table data area (i.e. “The computing device may store all information about a vertex, such as the vertex attributes at the node which stores the respective vertex, to minimize movement of data.”; fig. 5C, para. [0060], [0073]); and
a storage order of the edge attribute index information of the edges of the several nodes in the edge attribute table index area is consistent with a storage order of the edge information of the edges of the several nodes in the edge table data area (attribute table 314 illustrate columns ID and V in element A3 which comprise the data information in order. The data information stored in the element A3 is associate with edges and nodes of the graph; the value of the ID and V columns in the elements A1 … A3 is unique for each row and consistent; fig. 3B, para. [0063]-[0064]).
As per claim 15, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 1 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “wherein the edge of the graph data comprises an out-edge and an in-edge, the edge table comprises an out-edge table and an in- edge table, the edge attribute table comprises an out-edge attribute table and an in-edge attribute table, and the node information further comprises storage address information of out-edges of the nodes and storage address information of in-edges of the nodes.”
On the other hand, in the same field of endeavor, Golovashkin teaches wherein the edge of the graph data comprises an out-edge and an in-edge, the edge table comprises an out-edge table and an in-edge table (i.e. “the links of a list of edges that terminate at a node are encoded in the edge-in column of the node table and the next-in column of the edge table. Likewise, the links of a list of edges that originate at a node are encoded in the edge-out column of the node table and the next-out column of the edge table.”; fig. 6, para. [0088]-[0090]),
the edge attribute table comprises an out-edge attribute table and an in-edge attribute table (i.e. “Each node is the head of two lists, which are linked into by the edge-in and edge-out columns of the node table. The edge-in column has an edge index of an edge, with the least value of weight, that terminates at the node.”; fig. 6, para. [0088]; Examiner note: the node table herein is interpreted as the edge attribute table), and
the node information further comprises storage address information of out-edges of the nodes and storage address information of in-edges of the nodes (i.e. “Thus node 4 is the value of the next-in column of the edge table for edge 3 and edge 2 is the value of the edge-in column of the node table for node 4.”; para. [0088]; Examiner notes: the storage address information of out-edges of the nodes is interpreted as the edge 2 is the value of the edge-in column of the node table for node 4; the nodes and storage address information of in-edges of the nodes is interpreted as the node 4 is the value of the next-in column of the edge table for edge 3).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Golovashkin that teaches techniques of graph storage and edge sparsification into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches managing wear levelling in non-volatile memory. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so is that training entails adjusting edge weights to alter the mathematical functionality of the neural network, thereby improving its overall behavior (Golovashkin, para. [0070]).
As per claim 21, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 17 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “wherein the edge table comprises an edge table index area and an edge table data area; the edge information of the edges of the several nodes is stored in the edge table data area; the edge table index area stores index information of the edges of the several nodes, and the index information of the edges comprises storage address information of the edge information of the edges of a corresponding node in the edge table data area; and a storage order of the index information of the edges of the several nodes in the edge table index area is consistent with the storage order of the several nodes in the point table.”
On the other hand, in the same field of endeavor, Golovashkin teaches wherein the edge table comprises an edge table index area (i.e. “Each link of these lists comprises a row index, of either the edge table or the node table, that designates an edge or node”; fig. 6, para. [0086]-[0087]) and an edge table data area (i.e. “Each edge has metadata that includes a Boolean flag indicating removal, an index of a next kept input edge, and an index of a next removed input edge. These indices reference another edge in the edge table.”; fig. 6, para. [0104]; Examiner note: the edge table data area is interpreted as the metadata);
the edge information of the edges of the several nodes is stored in the edge table data area (i.e. “Each edge has metadata that includes a Boolean flag indicating removal, an index of a next kept input edge, and an index of a next removed input edge. These indices reference another edge in the edge table.”; para. [0104]);
the edge table index area stores index information of the edges of the several nodes (i.e. “The values of the next-in column of the edge table are a mixture of edge indices into the edge table and node indices into the node table.”; fig. 6, para. [0089]), and
the index information of the edges comprises storage address information of the edge information of the edges of a corresponding node in the edge table data area (i.e. “Thus although FIG. 6 shows node:4 as the value of the next-in column of the edge table for edge 3, the value may be encoded as −4.”; fig. 6, para. [0089]); and
a storage order of the index information of the edges of the several nodes in the edge table index area is consistent with the storage order of the several nodes in the point table (i.e. “Resorting a list involves reassigning some values of the next-in, next-out, edge-in, or edge-out columns. However, resorting a list does not reorder the rows of the edge and node tables.”; para. [0090]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Golovashkin that teaches techniques of graph storage and edge sparsification into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches managing wear levelling in non-volatile memory. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation for doing so is that training entails adjusting edge weights to alter the mathematical functionality of the neural network, thereby improving its overall behavior (Golovashkin, para. [0070]).
As per claim 22, Savkli, Kang, Jawahar and Golovashkin teach all the limitations as discussed in claim 21 above.
Additionally, Savkli teaches wherein the node information further comprises storage address information of the edges of the nodes (i.e. “The computing device may store all information about a vertex, such as the vertex attributes at the node which stores the respective vertex, to minimize movement of data.”; fig. 5C, para. [0060], [0073]), and
the storage address information of a corresponding edge in the point table is storage address information of the index information of the corresponding edges in the edge table (i.e. “The computing device may generate map data including a graph of the relationships, e.g., edges between each vertex of the ingest data. The map data may include a vertex table and an edge table. The vertex and edge table may also include attribute tables associated with each edge and/or each vertex.”; figs. 3A-B para. [0059], [0101]).
9. Claim 6 is rejected under 35 U.S.C. § 103 as being unpatentable over Savkli (US 20160063037 A1) in view of Kang et al. (US 20170228468 A1) in further view of Jawahar et. al. (US 20210397345 A1) still in further view of Golovashkin et al. (US 20170046614 A1) still in further view of Zhang et al. (US 20170364534 A1).
As per claim 6, Savkli, Kang, Jawahar and Golovashkin teach all the limitations as discussed in claim 5 above.
Additionally, Savkli teaches edge information of edges of the same node is sequentially stored in the edge table data area based on the edge types of the edges (i.e. “Each vertex may be stored on only one node, while each edge may be stored on either one node (such as E.sub.—4.sub.—1 or E.sub.—7.sub.—5), in an instance in which the both vertices are stored on the same node; or two nodes (such as E.sub.—1.sub.—7), in an instance in which the vertices to which the edge is connected are stored on different computing devices, e.g., nodes.”; figs. 3A-B, para. [0062]; Examiner note: As shown in Figs 3A-B, the edge information for edges of the same node is stored in a sequence);
However, it is noted that the combination of the prior arts of Savkli, Kang, Jawahar and Golovashkin do not explicitly teach “wherein the index information of the edges further comprises edge types, the edge information further comprises node types of the target nodes, index information of edges corresponding to the same node in the edge table index area comprises one or more edge types and one or more pieces of storage address information corresponding to the edges, the one or more edge types are consecutively stored, and the one or more pieces of storage address information are also consecutively stored.”
On the other hand, in the same field of endeavor, Zhang teaches wherein the index information of the edges further comprises edge types (i.e. “Edge e1 is a directed edge meaning that it is an arrow pointing from vertex v2 to v3. Edge e2 is an undirected edge between v1 and v2 meaning that the connection works both directions, either from v1 to v2 or from v2 to v1.”; fig. 9, para. [0045], [0068]; Examiner node: the edge types are interpreted as the directed and undirected edges),
the edge information further comprises node types of the target nodes (active and inactive nodes, fig. 8, para. [0082]-[0083]; the node types of the target nodes is interpreted as the active and inactive nodes),
index information of edges corresponding to the same node in the edge table index area comprises one or more edge types and one or more pieces of storage address information corresponding to the edges (i.e. “The edge table 904 can link an edge identifier (e.g. e1) to a set of edge data values (e.g. v2, v3, directed, family).”; fig. 11, para. [0068]-[0070]),
the one or more edge types are consecutively stored (i.e. “The edge table 904 can link an edge identifier (e.g. e1) to a set of edge data values (e.g. v2, v3, directed, family).”; fig. 11, para. [0045], [0068]-[0070]; Examiner note: where the directed value is set to 'yes' in the column, the 'yes' value can be successively repeated in the table), and
the one or more pieces of storage address information are also consecutively stored (i.e. “The edge table 904 can link an edge identifier (e.g. e1) to a set of edge data values (e.g. v2, v3, directed, family).”; fig. 11, para. [0045], [0068]-[0070]; Examiner note: Where the edge property value is set to 'family' in the column, the 'family' value can be successively repeated in the table; see also Fig. 8; the 'also' value in the table's Assignment History column is successively repeated).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Zhang that teaches distributed graph data management into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, Golovashkin that teaches techniques of graph storage and edge sparsification, and Jawahar that teaches managing wear levelling in non-volatile memory. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation is to have a distributed in-memory computation layer that optimizes graph data placement across multiple nodes using graph topology, ensuring adjacent data is loaded onto the same or proximate nodes (Zhang, para. [0004]).
10. Claim 8 are rejected under 35 U.S.C. § 103 as being unpatentable over Savkli (US 20160063037 A1) in view of Kang et al. (US 20170228468 A1) in further view of Jawahar et. al. (US 20210397345 A1) still in further view of Zhang et al. (US 20170364534 A1).
As per claim 8, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 1 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “wherein the node information further comprises node types, and the node information of the several nodes is stored in the point table based on an order of the node types.”
On the other hand, in the same field of endeavor, Zhang teaches wherein the node information further comprises node types (active and inactive nodes, fig. 8, para. [0082]-[0083]; the node types of the target nodes is interpreted as the active and inactive nodes), and
the node information of the several nodes is stored in the point table based on an order of the node types (i.e. “In a Note status table 802, every row corresponds to a compute node.”; fig. 8, para. [0082]; Examiner note: the active notes is stored first in the table and the inactive nodes is stored after the active nodes; The columns that describe the nodes stored information accordingly with its association with the node, see fig. 8).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Zhang that teaches distributed graph data management into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches managing wear levelling in non-volatile memory. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation is to have a distributed in-memory computation layer that optimizes graph data placement across multiple nodes using graph topology, ensuring adjacent data is loaded onto the same or proximate nodes (Zhang, para. [0004]).
11. Claims 11-13 are rejected under 35 U.S.C. § 103 as being unpatentable over Savkli (US 20160063037 A1) in view of Kang et al. (US 20170228468 A1) in further view of Jawahar et. al. (US 20210397345 A1) still in further view of Teruya et al. (US 20240104303 A1).
As per claim 11, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 10 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “wherein the data block comprises coded information; and the method further comprises: generating a word table of a graph file that comprises a plurality of data blocks, wherein the word table comprises a mapping relationship between coded information in each data block in the graph file and original information.”
On the other hand, in the same field of endeavor, Teruya teaches wherein the data block comprises coded information (i.e. “the document ID 1111 has an entry of a document identifier (hereinafter, “document ID”) which is an identifier for a document.”; fig. 3, para. [0062]; Examiner note: the coded information is interpreted as the document identifier); and
the method further comprises (i.e. “The present invention relates to a research viewpoint presentation system and a research viewpoint presentation method.”; para. [0002]):
generating a word table of a graph file that comprises a plurality of data blocks (i.e. “As shown in FIG. 16, the trend information display space 1640 displays a word trend graph 1641, which is a line graph generated based on the word trend table 116 for the word-to-pay-attention-to, and a word pair trend graph 1642, which is a line graph generated based on the word pair trend table 117 for the word-to-pay-attention-to.”; para. [0125], [0131]),
wherein the word table comprises a mapping relationship between coded information in each data block in the graph file and original information (i.e. “In this example, as the word trend graph 1641, a graph is drawn for each extraction source document from which the word-to-pay-attention-to is extracted (the first word extraction source document ID 1185 or the second word extraction source document ID 1186). In addition, as the word pair trend graph 1642, a graph is drawn for each application of the word-to-pay-attention-to.”; fig. 16-17, para. [0131]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Teruya that teaches a research viewpoint presentation into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation is to have a flexible database that enables efficient resource utilization, improved processing, access, and search efficiency (Teruya, para. [0140]).
As per claim 12, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 10 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “further comprising: generating a data block index of a graph file that comprises a plurality of data blocks, wherein the data block index of the graph file comprises storage address information of each data block in the graph file and a node identifier of the 1st node in each data block.”
On the other hand, in the same field of endeavor, Teruya teaches further comprising: generating a data block index of a graph file that comprises a plurality of data blocks (i.e. a word trend graph have data information for papers, patents, business reports …; fig. 16, para. [0131]),
wherein the data block index of the graph file comprises storage address information of each data block in the graph file and a node identifier of the 1st node in each data block (i.e. “The content 1115 has an entry of the substance (content) of the document. Information stored in the document information table 111 may include the number of citations of documents, the importance of the publisher, the number of copies published, the importance of the author, and the number of related documents.”; fig. 11, para. [0063]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Teruya that teaches a research viewpoint presentation into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation is to have a flexible database that enables efficient resource utilization, improved processing, access, and search efficiency (Teruya, para. [0140]).
As per claim 13, Savkli, Kang and Jawahar teach all the limitations as discussed in claim 12 above.
However, it is noted that the combination of the prior arts of Savkli, Kang and Jawahar do not explicitly teach “further comprising: generating a graph file element, wherein the graph file element comprises a graph file in which each data block is located in all graph files and a data block sequence number in the graph file, a node identifier of the 1st node in each graph file, and a node identifier of the last node in each graph file.”
On the other hand, in the same field of endeavor, Teruya teaches further comprising: generating a graph file element (i.e. “the relevance information display space 1630 includes a display range specifying space 1631 and a graph display space 1632.”; fig. 16, para. [0125]; Examiner note: the generating a graph file element is interpreted as the relevance information display space 1630),
wherein the graph file element comprises a graph file in which each data block is located in all graph files (i.e. “a node “xx resin”, which is the word-to-pay-attention-to, is connected to nodes “durability” and “heat resistance”, the nodes representing words of properties related to the word-to-pay-attention-to, via edges.”; fig. 16, para. [0127]) and a data block sequence number in the graph file (i.e. “The graph displays also document IDs for documents associated respectively with the above words in the integrated information table 118, as nodes connected via edges.”; fig. 16, para. [0125]),
a node identifier of the 1st node in each graph file (i.e. “a graph that is displayed when the word-to-pay-attention-to is “xx resin”.”; fig. 16, para. [0126]-[0127]; Examiner note: the node identifier of the 1st node in each graph file is interpreted as the “xx resin”), and
a node identifier of the last node in each graph file (i.e. every node in the displayed graph is have a name to identity the node; fig. 16, para. [0125]-[0127]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Teruya that teaches a research viewpoint presentation into the combination of Savkli that teaches a distributed graph processing, Kang that teaches a data searching method of database, apparatus and computer program, and Jawahar that teaches performing inline garbage collection of the portion of a data storage area corresponding to a to-be-deleted key of a key-value pair. Additionally, this can increase a processing rate and obtain a reliable result.
The motivation is to have a flexible database that enables efficient resource utilization, improved processing, access, and search efficiency (Teruya, para. [0140]).
Prior Art of Record
12. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Prabhakar et al. (US 20230185746 A1), teaches converged networking and data storage devices.
Kumar et al. (US 10210052 B1), teaches backing up databases using a checkpoint mechanism but without requiring transaction logs.
Ko et al. (US 12159214 B1), teaches executing a neural network.
Zhang et al. (US 20240232260 A9), teaches data storage methods and devices for graph data, data query methods and devices, and database systems.
Vastrad et al. (US 20240211167 A1), teaches a distributed data storage system that employs erasure coding grows from fewer than data-plus-parity (D+P) storage service nodes to at least D+P nodes.
Jain et al. (US 20220100618 A1), teaches a distributed data storage system comprises an enhanced metadata service that is capable of fully recovering all metadata that goes missing when a metadata-carrying disk, disks, and/or partition fail.
Borra et al. (US 20200226156 A1), teaches identify entities stored within or across a number of data stores and identify relationships between the entities.
Patterson et al. (US 20180324040 A1), teaches a configuration of a new cluster, an administrator can access each node of the new cluster with their network addresses.
Venkataramani (US 20120173541 A1), teaches storing and serving graph data with a distributed cache system.
Conclusion
13. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANTONIO CAIA DO whose telephone number is (469)295-9251. The examiner can normally be reached on Monday - Friday / 06:30 to 16:30.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ng, Amy can be reached on (571) 270-1698. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ANTONIO J CAIA DO/
Examiner, Art Unit 2164
/MARK E HERSHLEY/Primary Examiner, Art Unit 2164