Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-2, 5, 7, 9, 10-15, and 19-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by U.S. 20210191932 by De Jong et. al. (hereafter De Jong).
Claim 1:
De jong discloses:
“communication interface configured to receive a call to a graph temporal application programming interface (API); and”[ communication interface (0032, client) configured to receive a call (0032 query)to a graph temporal application programming interface (API) (0032 query planner; determine a best query plan to execute the query, e.g. a query plan determined within a prescribed time to be a lowest cost plan to execute the query; graph query planner based on time is a graph temporal application programming interface )]
“a processor coupled to the communication interface and configured to:”[0014, processor]
“determine based at least in part on an API call received via the communication interface an estimated cardinality associated with the API call;”[ determine based at least in part on an API call (0032 query) received via the communication interface (0032 receive query via communication interface, e.g. from a client) an estimated cardinality (0032 obtains estimated cardinality) associated with the API call (0032 query)]
“select, based at least in part on the estimated cardinality, a selected graph temporal store to be used to generate a response to the API call, wherein the selected graph temporal store is included in a plurality of graph temporal stores associated with a graph with which the API call is associated;”[ select, based at least in part on the estimated cardinality (fig. 3 306, based at least in part on estimated result cardinality), a selected graph temporal store (fig. 3 306 determine best query plan; 0032, a query plan determined within a prescribed time to be a lowest cost plan to execute the query; graph query plan based on time is a graph temporal store)to be used to generate a response (fig. 3 310, results) to the API call (0032 parsed query; fig. 3 302, parse query), wherein the selected graph temporal store (fig. 3 306, determine best query plan) is included in a plurality of graph temporal stores (0033, query plans and for selecting the likely best query plan)associated (fig. 1-2)with a graph (fig. 1 110, graph database; 0031) with which the API call (0032 parsed query) is associated(fig. 1-2)]
“use the selected graph temporal store to generate a response to the API call; and” [use the selected graph temporal store (fig. 3 306, best query plan) to generate a response (fig. 3 310, results) to the API call (0032, parsed query; fig. 3 302, parse query)]
“provide the response via the communication interface.” [provide(0049, query results are received and returned e.g., to a client from which the query was received) the response (0049, results) via the communication interface (0049, client from which the query was received)]
Claim 2:
De jong discloses:
“The system of claim 1, wherein the plurality of graph temporal stores includes a snapshot-based graph temporal store.”[ wherein the plurality of graph temporal stores (0033, query plans)includes a snapshot-based graph temporal store (0032, query plan determined within a prescribed time)]
Claim 5:
De jong discloses:
“The system of claim 2, wherein the snapshot-based graph temporal store is selected based at least in part on a determination that the estimated cardinality is greater than a prescribed threshold.”[ wherein the snapshot-based graph temporal store is selected (0032, query plan determined within a prescribed time to be a lowest cost plan)based at least in part on a determination that the estimated cardinality (0032, estimated cardinality) is greater than a prescribed threshold (0032, lowest cost plan)]
Claim 7:
De jong discloses:”The system of claim 2, wherein the plurality of graph temporal stores further includes an entity-based temporal graph store.”[ wherein the plurality of graph temporal stores (0021, good query plans)further includes an entity-based (0021, graph metadata and statistics…are used to avoid large computational costs while making reasonably accurate estimates of the cardinality of path patterns in the graph) temporal graph store (0021, to provide good query plans; the query plans are based on graph metadata and statistics (entity based)]
Claim 9:
De jong discloses:”The system of claim 7, wherein the entity-based temporal graph store is indexed by entity identifier (ID).”[ wherein the entity-based temporal graph store(0021, to provide good query plans; the query plans are based on graph metadata and statistics (entity based) is indexed by entity identifier (ID) (0032, best query plan to execute query – a query plan determined within a prescribed time to be a lowest cost; lowest cost query plan is indexed by id as it is identified by the lowest cost)]
Claim 10:
De jong discloses “The system of claim 7, wherein the processor is configured to select and use the entity- based temporal graph store to respond to an API call comprising a point query.”[ to select and use the entity- based temporal graph store (fig. 2, best query plan) to respond to an API call (0032 query) comprising a point query (fig. 2 query)]
Claim 11:
De jong discloses “The system of claim 7, wherein the processor is configured to select and use the entity- based temporal graph store to respond to an API call comprising a subgraph query associated with an entity and its n hop neighbors.”[ to select and use the entity- based temporal graph store(fig. 2, best query plan) to respond to an API call (0032 query) comprising a subgraph query (fig. 2, sub queries) associated with an entity (0021, graph metadata) and its n hop neighbors (0021, cardinality of path patterns in the graph; 0018, path pattern that includes a node having a first relationship with a first node and a second relationship with a second node)]
Claim 12:
De jong discloses “The system of claim 1, wherein the response includes graph and associated temporal information which are used to apply a temporal algorithm to the graph.”[ wherein the response (0030, results) includes graph (0030, access graph database; )and associated temporal information (0031, properties associated with node may be…age; 0021, graph metadata..the properties of the graph) which are used to apply a temporal algorithm (0032, best query plan) to the graph (0030, access graph database)]
Claim 13:
De jong discloses “The system of claim 12, wherein the graph and associated temporal information included in the response are used to apply a temporal algorithm to the graph by performing incremental is graph computations.”[ wherein the graph (0030, graph database)and associated temporal information (0031, properties associated with node may be…age; 0021, graph metadata..the properties of the graph) included in the response (0030, results) are used to apply a temporal algorithm (0032, best query plan within prescribed time) to the graph (0030, graph database) by performing incremental graph computations (0033 computation of query plans)]
Claim 14:
De jong discloses “The system of claim 13, wherein the incremental graph computations are facilitated at least in part by a compute-efficient in-memory representation of the temporal graph data.”[ wherein the incremental graph computations (0033, computation of query plans) are facilitated at least in part by a compute-efficient in-memory representation (0021 avoid large computational costs)of the temporal graph data(0021, graph metadata; 0031, properties associated with node may be…age; 0021, graph metadata..the properties of the graph)]
Claim 15:
De jong discloses “The system of claim 1, wherein the processor is further configured to receive a graph database transaction associated with the graph and update said plurality of graph temporal stores associated with the graph.”[ receive a graph database transaction (fig. 5 502) associated with the graph (0033, graph metadata which is kept strictly up to date) and update said plurality of graph temporal stores (0033, computation of query plans)associated with the graph (fig. 1, graph database)]
Claim 19:
De jong discloses:
“receiving via a communication interface a call to a graph temporal application programming interface (API); and”[ receiving via a communication interface (0032, client) a call (0032 query)to a graph temporal application programming interface (API) (0032 query planner; determine a best query plan to execute the query, e.g. a query plan determined within a prescribed time to be a lowest cost plan to execute the query; graph query planner based on time is a graph temporal application programming interface )]
“determining based at least in part on an API call received via the communication interface an estimated cardinality associated with the API call;”[ determine based at least in part on an API call (0032 query) received via the communication interface (0032 receive query via communication interface, e.g. from a client) an estimated cardinality (0032 obtains estimated cardinality) associated with the API call (0032 query)]
“selecting, based at least in part on the estimated cardinality, a selected graph temporal store to be used to generate a response to the API call, wherein the selected graph temporal store is included in a plurality of graph temporal stores associated with a graph with which the API call is associated;”[ select, based at least in part on the estimated cardinality (fig. 3 306, based at least in part on estimated result cardinality), a selected graph temporal store (fig. 3 306 determine best query plan; 0032, a query plan determined within a prescribed time to be a lowest cost plan to execute the query; graph query plan based on time is a graph temporal store)to be used to generate a response (fig. 3 310, results) to the API call (0032 parsed query; fig. 3 302, parse query), wherein the selected graph temporal store (fig. 3 306, determine best query plan) is included in a plurality of graph temporal stores (0033, query plans and for selecting the likely best query plan)associated (fig. 1-2)with a graph (fig. 1 110, graph database; 0031) with which the API call (0032 parsed query) is associated(fig. 1-2)]
“using the selected graph temporal store to generate a response to the API call; and” [use the selected graph temporal store (fig. 3 306, best query plan) to generate a response (fig. 3 310, results) to the API call (0032, parsed query; fig. 3 302, parse query)]
“providing the response via the communication interface.” [provide(0049, query results are received and returned e.g., to a client from which the query was received) the response (0049, results) via the communication interface (0049, client from which the query was received)]
Claim 20:
De jong discloses:
“receiving via a communication interface a call to a graph temporal application programming interface (API); and”[ receiving via a communication interface (0032, client) a call (0032 query)to a graph temporal application programming interface (API) (0032 query planner; determine a best query plan to execute the query, e.g. a query plan determined within a prescribed time to be a lowest cost plan to execute the query; graph query planner based on time is a graph temporal application programming interface )]
“determining based at least in part on an API call received via the communication interface an estimated cardinality associated with the API call;”[ determine based at least in part on an API call (0032 query) received via the communication interface (0032 receive query via communication interface, e.g. from a client) an estimated cardinality (0032 obtains estimated cardinality) associated with the API call (0032 query)]
“selecting, based at least in part on the estimated cardinality, a selected graph temporal store to be used to generate a response to the API call, wherein the selected graph temporal store is included in a plurality of graph temporal stores associated with a graph with which the API call is associated;”[ select, based at least in part on the estimated cardinality (fig. 3 306, based at least in part on estimated result cardinality), a selected graph temporal store (fig. 3 306 determine best query plan; 0032, a query plan determined within a prescribed time to be a lowest cost plan to execute the query; graph query plan based on time is a graph temporal store)to be used to generate a response (fig. 3 310, results) to the API call (0032 parsed query; fig. 3 302, parse query), wherein the selected graph temporal store (fig. 3 306, determine best query plan) is included in a plurality of graph temporal stores (0033, query plans and for selecting the likely best query plan)associated (fig. 1-2)with a graph (fig. 1 110, graph database; 0031) with which the API call (0032 parsed query) is associated(fig. 1-2)]
“using the selected graph temporal store to generate a response to the API call; and” [use the selected graph temporal store (fig. 3 306, best query plan) to generate a response (fig. 3 310, results) to the API call (0032, parsed query; fig. 3 302, parse query)]
“providing the response via the communication interface.” [provide(0049, query results are received and returned e.g., to a client from which the query was received) the response (0049, results) via the communication interface (0049, client from which the query was received)]
Allowable Subject Matter
Claims 3-4, 6, 8, and 16-18 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL PHAM whose telephone number is (571)272-3924. The examiner can normally be reached M-F 11-730pm Eastern.
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, Kavita Stanley can be reached at 571-272-8352. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MICHAEL PHAM/Primary Examiner, Art Unit 2167