DETAILED ACTION
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 .
Claims 1-15 are pending in this application.
Priority
Applicant cannot rely upon the certified copy of the foreign priority application to overcome this rejection because a translation of said application has not been made of record in accordance with 37 CFR 1.55. When an English language translation of a non-English language foreign application is required, the translation must be that of the certified copy (of the foreign application as filed) submitted together with a statement that the translation of the certified copy is accurate. See MPEP §§ 215 and 216.
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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, 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.
Claims 1-15 are rejected under 35 U.S.C. 103 as being unpatentable over Tiwari et al. (previously presented)(US 2025/0336522 A1), hereinafter Tiwari, in view of Ikeda et al. (previously presented)(US 2023/0185468 A1), hereinafter Ikeda.
As to claim 1, Tiwari discloses a management method, comprising:
storing, in a storage device, a first vector database in which a group of first information pieces each indicating one of a plurality of first vectors, is recorded, the plurality of first vectors corresponding to a plurality of nodes of a first directed graph, each first information piece included in the group of first information pieces including one of the plurality of first vectors and a second information piece that indicates a vector corresponding to a neighbor node (Figs. 2 and 5, #502, [0087]-[0089], [0123], Storing embedding data objects, i.e. information pieces, comprising vectors corresponding to nodes in a graph database. The embedding data objects also including node identifiers referencing other nodes in the graph database representing the relationships to those nodes, i.e. indicating neighboring vectors forming the graph.);
while generating a second directed graph that includes two or more nodes corresponding to two or more second vectors, generating, , a second vector database in which a group of third information pieces each indicating one of the two or more second vectors, is recorded, each third information piece included in the group of third information pieces including one of the two or more second vectors and a fourth information piece that indicates a vector corresponding to a neighbor node (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.);
combining the first directed graph with the second directed graph by updating at least one information piece of the group of first information pieces and the group of third information pieces (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.); and
storing the second vector database in the storage device ([0138]-[0139], The data is stored in a storage device.).
Tiwari does not disclose generating the second directed graph in a volatile memory.
However, Ikeda discloses generating a second directed graph in a volatile memory, and combining the second directed graph with a first directed graph stored in a storage device, and storing the graphs in the storage device (Figs. 3, 5, 6 #S105-S107; [0052]; [0062]-[0064], Graphs are stored in both volatile memory, e.g. DRAM, and non-volatile storage, e.g. SSD. The graphs are combined by linking them, and the structure of each written to SSD.).
Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to combine the teachings of Tiwari with the teachings of Ikeda by modifying Tiwari such that the new nodes and nearest neighbor graph nodes being updated are stored in volatile memory while the rest is in storage as part of the necessary steps of query and retrieving the data for updates, like in Ikeda (Fig. 6; [0019], [0027]) and combine and store them like in Ikeda. Said artisan would have been motivated to do so in order to utilize the higher speed of volatile memory to locate and update neighbor nodes of those being updated in Tiwari ([0113]) so as to improve performance (Ikeda, [0041]).
As to claim 6, Tiwari discloses a database device, comprising:
a storage device ([0138]-[0139]) that stores a first vector database in which a group of first information pieces each indicating one of a plurality of first vectors, is recorded, the plurality of first vectors corresponding to a plurality of nodes of a first directed graph, each first information piece included in the group of first information pieces including one of the plurality of first vectors and a second information piece that indicates a vector corresponding to a neighbor node (Figs. 2 and 5, #502, [0087]-[0089], [0123], Storing embedding data objects, i.e. information pieces, comprising vectors corresponding to nodes in a graph database. The embedding data objects also including node identifiers referencing other nodes in the graph database representing the relationships to those nodes, i.e. indicating neighboring vectors forming the graph.);
a volatile memory ([0138]-[0139]); and
a processor configured to execute the steps of ([0138]-[0139]):
while generating a second directed graph that includes two or more nodes corresponding to two or more second vectors, generating, , a second vector database in which a group of third information pieces each indicating one of the two or more second vectors, is recorded, each third information piece included in the group of third information pieces including one of the two or more second vectors and a fourth information piece that indicates a vector corresponding to a neighbor node (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.);
combining the first directed graph with the second directed graph by updating at least one information piece of the group of first information pieces and the group of third information pieces (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.); and
storing the second vector database in the storage device ([0138]-[0139], The data is stored in a storage device.).
Tiwari does not disclose generating the second directed graph in a volatile memory.
However, Ikeda discloses generating a second directed graph in a volatile memory, and combining the second directed graph with a first directed graph stored in a storage device, and storing the graphs in the storage device (Figs. 3, 5, 6 #S105-S107; [0052]; [0062]-[0064], Graphs are stored in both volatile memory, e.g. DRAM, and non-volatile storage, e.g. SSD. The graphs are combined by linking them, and the structure of each written to SSD.).
Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to combine the teachings of Tiwari with the teachings of Ikeda by modifying Tiwari such that the new nodes and nearest neighbor graph nodes being updated are stored in volatile memory while the rest is in storage as part of the necessary steps of query and retrieving the data for updates, like in Ikeda (Fig. 6; [0019], [0027]) and combine and store them like in Ikeda. Said artisan would have been motivated to do so in order to utilize the higher speed of volatile memory to locate and update neighbor nodes of those being updated in Tiwari ([0113]) so as to improve performance (Ikeda, [0041]).
As to claims 2 and 7, the claims are rejected for the same reasons as claims 1 and 6 above. In addition, Tiwari, as previously modified with Ikeda, discloses wherein the combining of the first directed graph with the second directed graph includes updating an information piece of the group of first information pieces and the group of third information pieces that corresponds to a node of two nodes neighboring each other across a border between the first directed graph and the second directed graph, whichever is on the upstream side (Tiwari, [0113], [0163]; Ikeda, Figs. 3, 5 and 6, [0046]; Combining graphs requires updating information across the graphs to connect the nodes.).
As to claims 3 and 8, the claims are rejected for the same reasons as claims 2 and 7 above. In addition, Tiwari, as previously modified with Ikeda, discloses wherein the generating of the second vector database includes combining the first directed graph with the second directed graph, and the method further comprises when a query is input while the second vector database is stored in the volatile memory, searching for a vector that is closest to the query based on the first vector database in the storage device and the second vector database in the volatile memory (Ikeda, [0027]-[0029], Nearest neighbor searches are performed across the volatile and non-volatile storage media.).
As to claims 4 and 9, the claims are rejected for the same reasons as claims 2 and 7 above. In addition, Tiwari, as previously modified with Ikeda, discloses when a query is input while the second vector database is stored in the volatile memory:
executing a search for a vector that is closest to the query using the first vector database in the storage device and a search for a vector that is closest to the query using the second vector database in the volatile memory (Ikeda, [0027]-[0029], Nearest neighbor searches are performed across the volatile and non-volatile storage media.); and
identifying a vector that is closest to the query based on a result of the search of the first vector database in the storage device and a result of the search of the second vector database in the volatile memory (Ikeda, [0027]-[0029], Nearest neighbor searches are performed across the volatile and non-volatile storage media.).
As to claims 5 and 10, the claims are rejected for the same reasons as claims 1 and 6 above. In addition, Tiwari, as previously modified with Ikeda, discloses wherein the storage device includes a plurality of unit storage areas, and each of the plurality of unit storage areas corresponds to a unit for data write and data read in the storage device, and wherein the storing of the first vector database in the storage device includes storing an integer number of first information pieces included in the group of first information pieces per one unit storage area of the plurality of unit storage areas, and the storing of the second vector database in the storage device includes storing an integer number of third information pieces included in the group of third information pieces per one unit storage area of the plurality of unit storage areas (Tiwari, [0148], Ikeda, Fig. 5, Any storage device being written to and read, such as the commonly used drives and memory of Tiwari and Ikeda includes unit storage areas for reading and writing. All data is written in an integer number at some level, whether blocks, bits, or something else. The claim does not define how big a storage unit area is, and as such, where the information pieces of Tiwari are stored are analogous to the claimed unit storage areas.).
As to claim 11, Tiwari discloses a method of updating a vector database that is stored in a non-volatile memory and is searched in response to a query, the vector database including a plurality of nodes, wherein each of the nodes contains vector information and neighboring node information (Figs. 2 and 5, #502, [0087]-[0089], [0123], Storing embedding data objects, i.e. information pieces, comprising vectors corresponding to nodes in a graph database. The embedding data objects also including node identifiers referencing other nodes in the graph database representing the relationships to those nodes, i.e. indicating neighboring vectors forming the graph.), said method comprising the steps of:
adding a new node to a partial database (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.);
determining a location of the new node with respect to other nodes of the vector database and the partial database (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.);
based on the location of the new node, updating neighboring node information of one of the nodes in the vector database and the partial database, neighboring node information of the new node, or both (Fig. 2; [0013], Nodes, and thus corresponding vectors, are regularly added; the nodes forming a second or more directed graph. These are combined which must require updating the node information of an affected embedding data objects.); and
storing the partial database in the non-volatile memory when the number of nodes in the partial database is greater than a threshold number that is at least 2 ([0138]-[0139], The data is stored in a storage device.).
Tiwari does not disclose generating the second directed graph in a volatile memory.
However, Ikeda discloses generating a second directed graph in a volatile memory, and combining the second directed graph with a first directed graph stored in a storage device, and storing the graphs in the storage device (Figs. 3, 5, 6 #S105-S107; [0052]; [0062]-[0064], Graphs are stored in both volatile memory, e.g. DRAM, and non-volatile storage, e.g. SSD. The graphs are combined by linking them, and the structure of each written to SSD.).
Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to combine the teachings of Tiwari with the teachings of Ikeda by modifying Tiwari such that the new nodes and nearest neighbor graph nodes being updated are stored in volatile memory while the rest is in storage as part of the necessary steps of query and retrieving the data for updates, like in Ikeda (Fig. 6; [0019], [0027]) and combine and store them like in Ikeda. Said artisan would have been motivated to do so in order to utilize the higher speed of volatile memory to locate and update neighbor nodes of those being updated in Tiwari ([0113]) so as to improve performance (Ikeda, [0041]).
As to claim 12, the claim is rejected for the same reasons as claim 11 above. In addition, Tiwari, as previously modified with Ikeda, discloses performing an approximate nearest neighbor search to locate one of the nodes in the vector database and the partial database that is nearest to the new node (Ikeda, [0027]-[0029], Nearest neighbor searches are performed across the volatile and non-volatile storage media.).
As to claim 13, the claim is rejected for the same reasons as claim 11 above. In addition, Tiwari, as previously modified with Ikeda, discloses wherein the non-volatile memory includes a plurality of unit storage areas, and each of the plurality of unit storage areas corresponds to a unit for data write and data read, and the updating of the neighboring node information of one of the nodes in the vector database includes writing to a new unit storage area of the non-volatile memory (Tiwari, [0148], Ikeda, Fig. 5, Any storage device being written to and read, such as the commonly used drives and memory of Tiwari and Ikeda includes unit storage areas for reading and writing. All data is written in an integer number at some level, whether blocks, bits, or something else. The claim does not define how big a storage unit area is, and as such, where the information pieces of Tiwari are stored are analogous to the claimed unit storage areas.).
As to claim 14, the claim is rejected for the same reasons as claim 13 above. In addition, Tiwari, as previously modified with Ikeda, discloses wherein the vector information and the neighboring node information of any one node of the vector database and the partial database are stored in no more than one unit storage area (Tiwari, [0148], Ikeda, Fig. 5, Any storage device being written to and read, such as the commonly used drives and memory of Tiwari and Ikeda includes unit storage areas for reading and writing. All data is written in an integer number at some level, whether blocks, bits, or something else. The claim does not define how big a storage unit area is, and as such, where the information pieces of Tiwari are stored are analogous to the claimed unit storage areas.).
As to claim 15, the claim is rejected for the same reasons as claim 11 above. In addition, Tiwari, as previously modified with Ikeda, discloses in response to a query, performing a search of the vector database and the partial database for a node that is nearest to the query (Ikeda, [0027]-[0029], Nearest neighbor searches are performed across the volatile and non-volatile storage media.).
Response to Arguments
Applicant's arguments filed 27 May 2026 have been fully considered but they are not fully persuasive. For Examiner’s response, see discussion below:
(a) At page 6, Applicant argues that Tiwari does not qualify as prior art due to priority claim of the instant application to Japanese Patent Application No. 2024-042488. Applicant argues that priority has been perfected as a result of electronic retrieval of the priority document on April 8, 2025.
As to (a), Applicant’s arguments have been fully considered but are not persuasive. The claim to the Japanese application has not been perfected. The Japanese application is not in English. As such, merely providing a certified copy of the foreign application is not sufficient to perfect priority. Applicant must provide a translation of said application of record in accordance with 37 CFR 1.55. When an English language translation of a non-English language foreign application is required, the translation must be that of the certified copy (of the foreign application as filed) submitted together with a statement that the translation of the certified copy is accurate. See MPEP §§ 215 and 216. Until such time as Applicant meets the criteria above, the Tiwari reference is valid prior art. Should Applicant correctly perfect priority, the rejections will be withdrawn.
(b) At pages 6-7, with respect to the rejection of independent claim 1 under 35 USC §103, Applicant argues that Tiwari does not disclose “storing, in a storage device, a first vector database” while “generating, in volatile memory, a second vector database” nor generating a second directed graph in volatile memory as claimed. Rather, Applicant argues, Tiwari generally describes combining graph structures for classification and prediction operations, not the specific vector-database generation and graph-integration operations in claim 1.
As to (b), Applicant’s arguments have been fully considered, but are not persuasive. First, Applicant is improperly interpreting the claim language recited. Applicant states “Tiwari does not disclose ‘storing, in a storage device, a first vector database’ while ‘generating, in volatile memory, a second vector database’ as expressly required by claim 1.” [Emphasis added]. The claim does not require both to be done concurrently. The “while” in the claim is actually in reference to only the limitation it is part of. I.e. while generating a second directed graph also generate a second vector database in volatile memory. For this reason alone, Applicant’s arguments are moot. Regardless, Tiwary clearly discloses a first vector database #502. As set forth in Fig. 2, and likewise disclosed in [0087]-[0090], Tiwary also discloses the steps of generating a second directed graph as data and corresponding nodes are received and added and then merged into the first directed graph. Each node is maintained with a corresponding vector which must be maintained in an analogous second vector database, at least until such time that merging occurs. Thus Tiwari discloses the features of the limitation except for generating in volatile memory. However, this is rendered obvious with Ikeda as set forth in the rejection of claim 1, and also discussed in (c) below.
(c) At page 7, with respect to the rejection of independent claim 1 under 35 USC §103, Applicant argues that Ikeda does not cure the alleged deficiencies of Tiwari. Applicant argues that the DRAM-resident structures in Ikeda are not temporary vector databases corresponding to second directed graphs that are generated during graph construction and later integrated into a persistent vector database.
As to (c), Applicant’s arguments have been fully considered, but are not persuasive. Applicant is reading features into the rejection that are not present. The rejection uses Ikeda to disclose “generating a second directed graph in a volatile memory, and combining the second directed graph with a first directed graph stored in a storage device, and storing the graphs in the storage device (Figs. 3, 5, 6 #S105-S107; [0052]; [0062]-[0064], Graphs are stored in both volatile memory, e.g. DRAM, and non-volatile storage, e.g. SSD. The graphs are combined by linking them, and the structure of each written to SSD.).” This is to help address that Tiwari does not disclose generating the second directed graph in a volatile memory. The combination renders obvious modifying Tiwari to generate its second directed graph in volatile memory, such as DRAM. Applicant is improperly attacking the Ikeda reference in isolation without addressing its usage in combination with Tiwari to render obvious the claim as a whole as set forth in the rejection of claim 1.
(d) At page 8, with respect to independent claims 6 and 11, as well as dependent claims 2-5, 7-10, and 12-15, Applicant argues that the claims are allowable for at least the same reasons previously argued with respect to independent claim 1 above.
As to (d), Applicant’s arguments have been fully considered, but are not persuasive for at least the reasons set forth in (b)-(c) above with respect to claim 1.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAMES E RICHARDSON whose telephone number is (571)270-1917. The examiner can normally be reached Mon-Fri 9:00-5: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, Sherief Badawi can be reached at (571) 272-9782. 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.
/James E Richardson/Primary Examiner, Art Unit 2169