DETAILED ACTION
This action is in response to the original filing on May 16, 2024. Claims 1-20 are pending and have been considered below. Claims 1, 14, and 18 are independent claims.
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 .
Priority
Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119(e) or under 35 U.S.C. 120, 121, 365(c), or 386(c) is acknowledged. The present application is a continuation-in-part (CIP) of Application No. 18/217,594, filed July 2, 2023, which is a continuation (CON) of Application No. 17/882,950, filed August 8, 2022 (now U.S. patent number 11,727,287), which is a CON of App No. 16/716,688, filed December 17, 2019 (U.S. patent number 11,449,775), which claims priority to U.S. Provisional Patent Application No. 62/785,544, filed December 27, 2018.
Applicant has not complied with one or more conditions for receiving the benefit of an earlier filing date under 35 U.S.C. 119(e) as follows:
The later-filed application must be an application for a patent for an invention which is also disclosed in the prior application (the parent or original nonprovisional application or provisional application). The disclosure of the invention in the parent applications and in the later-filed application must be sufficient to comply with the requirements of 35 U.S.C. 112(a) or the first paragraph of pre-AIA 35 U.S.C. 112, except for the best mode requirement. See Transco Products, Inc. v. Performance Contracting, Inc., 38 F.3d 551, 32 USPQ2d 1077 (Fed. Cir. 1994).
As discussed below, the claimed features of the independent claims are not supported by any of its parent applications. Therefore, claims 1-20 do not enjoy the priority benefit its parent applications.
The disclosure of the prior-filed parent applications fails to provide adequate support or enablement in the manner provided by 35 U.S.C. 112(a) or pre-AIA 35 U.S.C. 112, first paragraph for the independent claims of this application. The as-filed specifications of the parent applications fail to provide adequate support or enablement for at least the following elements of independent claims 1, 14 and 18: the first and second “pipeline,” the first and second “vector” generated by the respective first and second “embedding model,” a “dataset management service,” a “reindexer component,” and the generating and executing of an “embedding storage request” to “reindex and port the first vector.”
Each claim will receive benefit of the earliest filing date above for which a continuous chain of support can be established for the entirety of the claim (see MPEP 211.05(I)(B)). As explained above, the effective filing date for the independent claims 1, 14, and 18 and their dependent claims 2-13, 15-17, and 19-20, respectively, of the instant application is the filing date of the instant application, May 16, 2024.
Claim Objections
Claim 3 is objected to because of the following informalities: “second deduplication process subsequent the first” should read “second deduplication process subsequent to the first.” Appropriate correction is required.
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, 6, 9-10, 12, 14-15, and 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Moreno et al. (US 20220100831 A1, hereinafter Moreno) in view of Seo et al. (“Online Backfilling with No Regret for Large-Scale Image Retrieval,” 2023, hereinafter Seo) and further in view of Wang et al. (“Milvus: A Purpose-Built Vector Data Management System,” 2021, hereinafter Wang).
Regarding claim 1:
Moreno teaches a method for implementing vector as a service (Abstract: “techniques and systems that enable face authentication embedding migration and drift-compensation”), comprising: generating, utilizing a first pipeline of the vector as a service, a first vector using a first embedding model hosted by an inference service (¶13 “techniques and systems are described to load two versions of firmware in the same secure session, executing a first, current firmware for authentication,” ¶22 “Each version of firmware includes a machine-learned model trained to generate embeddings from captured image data,” ¶77 “the first profile based on a set of enrolled embeddings that were previously generated using the current version of the firmware on previously-captured image data of the user's face,” wherein “a first… firmware” including “a machine-learned model” that generates a current “set of… embeddings” functions in substantially the same way as a first pipeline of the vector as a service, Fig. 302, ¶30 “the processor unit 302 is configured for image processing of digital image input as well as for neural network machine learning. Essentially, the processor unit 302 is a combination of an [Image Processing Unit] and an artificial-intelligence accelerator application-specific integrated circuit (ASIC)… configured to generate embeddings for face authentication by using images of a person's face captured in the near-infrared spectrum as input to a machine learned model,” wherein “the processor unit” comprising an “ASIC” which is configured “for neural network machine learning” or generating embeddings by inputting data “as input to a machine learned model” functions in substantially the same way as an inference service).
Moreno further teaches storing, through a dataset management service, the first vector into storage, wherein the first vector is assigned a first model identifier of the first embedding model, Moreno further teaches storing, through a dataset management service, the first vector into storage (¶19 “If the image data is captured during an enrollment process of face authentication, the facial recognition module 112 stores the embeddings generated by the machine-learned model in the secure storage unit 106,” wherein “the facial recognition module” functions in substantially the same way as a dataset management service), wherein the first vector is assigned a first model identifier of the first embedding model (¶14 “the method includes authenticating the user to unlock the user device based on the comparison data substantially matching a first profile, the first profile based on a set of enrolled embeddings that were previously generated using the current version of the firmware on previously captured image data of the user's face,” Fig. 4 – 402, 406, 408, ¶33 “The firmware-1 402 was used during enrollment to create a set of enrolled embeddings 406 … corresponding to a first profile, such as profile-1 408 (also referred to as an enrollment profile)” wherein “a first profile” corresponding to “Firmware-1,” as depicted in Figure 4, which includes a “machine-learned model” that created the “enrolled embeddings” stored in “the secure storage unit,” encompasses a first model identifier of the first embedding model).
Moreno further teaches constructing a second pipeline of the vector as a service to utilize a second embedding model (¶2 “different versions of the machine-learned model can produce embeddings… embedding incompatibility, either triggered from an update to the machine-learned model or due to embedding-drift,” ¶14 “the method includes loading both the current version of the firmware and the updated version of the firmware… generating one or more new embeddings by executing the updated version of the firmware,” Fig. 1 – 112, Fig. 2 – 206-208, ¶22 “multiple versions of firmware, such as a current version of firmware 206 and an updated version of firmware 208… Each version of firmware includes a machine-learned model trained to generate embeddings from captured image data. The facial recognition module 112 can call on the different machine-learned models depending on which version of firmware is loaded,” wherein a method which loads and executes an “updated version of firmware” functions in substantially the same way as constructing a second pipeline of the vector as a service to utilize a second embedding model or “an update to the machine-learned model”) having a second model identifier (Fig. 1 – 102, 106-108, Fig. 4 – 420, ¶36 “At some point after updating the user device 102 to the system image that includes both the current and updated versions of the firmware, the authentication system 108 sends a request to the secure storage unit 106 to create a new profile, such as profile-2 420. This new profile is also referred to as a migration profile and corresponds to a new profile ID… the profile-2 420 has been created but it is currently empty (e.g., new embeddings 422 have not yet been generated or stored for this new profile-2 420),” wherein “a new profile” corresponding “to a new profile ID” that is created to accommodate “new embeddings” generated by an “updated version of the firmware” including “an update to the machine-learned model” encompasses a second model identifier).
Regarding the limitation extracting, by a reindexer component, the first vector from the storage based upon the first vector being assigned a first model identifier different than the second model identifier of the second embedding model hosted by the inference service, Moreno teaches matching a new embedding to the first vector from the storage (Fig. 4 – 106, 110, 302, 406-408, 412, 414, ¶¶34-35 “The hypervisor 110 passes the images 412 to the processor unit 302, which applies the firmware-1 402 to the images 412 to generate one or more embeddings 414… the secure storage unit 106 finds a matching enrolled embedding 406-3 that matches the comparison embedding 414… the secure storage unit 106 associates a last-authenticated user ID with a user ID of the profile-1 408 that was just authenticated”) based on the first vector being assigned a first model identifier different than the second model identifier of the second embedding model (Fig. 5 – 106, 402-406, 420-422, ¶¶36-37 “a new profile, such as profile-2 420… is also referred to as a migration profile and corresponds to a new profile ID… the profile-2 420 has been created but it is currently empty (e.g., new embeddings 422 have not yet been generated or stored for this new profile-2 420… Because of differences in the updated firmware-2 404… new embeddings 422 may not be compatible with the current firmware-1 402. The new embeddings 422 are stored in a separate location in the secure storage unit 106 from the set of enrolled embeddings 406,” wherein an “enrolled embedding” encompasses the first vector from the storage based on the first vector being assigned a first model identifier or “profile-1” corresponding to “Firmware-1” including the original model; a “profile-2” associated with an “updated firmware-2,” as depicted in Figures 4 and 5, which stores embeddings generated from “an update to the machine-learned learned model” encompasses the second model identifier of the second embedding model that is different than the first model identifier or the separately stored “profile-1”) hosted by the inference service (Figures 4 and 5 depict “Firmware-1” and “Firmware-2,” which respectively include a machine learning model and an updated model, being hosted in “Processor Unit” or the inference service). However, Moreno fails to teach extracting, by a reindexer component, the first vector from the storage…
Seo, in the same field of endeavor, teaches extracting, by a reindexer component, a first vector from storage based on the first vector having an older model identifier than a newer model identifier (Page 1, Col. 1-2 “all models need to be upgraded at times… This unavoidably leads to the need for re-extracting the features from millions or even billions of gallery images using the upgraded new model. This process, called backfilling or re-indexing, needs to be completed,” Col. 2, ¶2 “we relax the backfill-free constraint and propose a novel online backfilling algorithm,” wherein a “re-indexing” or “backfilling algorithm” implies code or software which functions in substantially the same way as a reindexer component, Page 3, Fig. 1, Caption: “Image retrieval with the proposed distance rank merge technique. In the middle of backfilling, we retrieve images independently using two separate models and their galleries,” Col. 1, ¶1 “Our method maintains two separate retrieval pipelines corresponding to the old and new models,” Section 3.2, ¶1 “An embedding network… projects an image onto a learned feature embedding space,” Col. 2, ¶3 “Rank Merge: Assume that the first M out of a total of N images are backfilled, i.e., Gnew = {g1 , …, gM} and Gold = {gM+1, …, gN}… Then, we first conduct image retrieval using the individual retrieval systems,” wherein retrieving encompasses extracting…).
Moreno and Seo are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the reindexing algorithm of Seo with the methodology of Moreno. The motivation to do so is to allow “immediate deployment after the completion of model upgrade” (Seo, Page 1, Col. 2, ¶2).
Regarding the limitation generating, by the reindexer component, an embedding storage request event to reindex and port the first vector from being embedded by the first embedding model to being embedded by the second embedding model, Moreno teaches generating, by a hypervisor, an embedding storage request event (Fig. 5 – 110, 302, 404, 422, ¶37 “the hypervisor 110 can transmit a signal or message to the processor unit 302 to use the firmware-2 404 to generate one or more new embeddings 422 based on the images 412”) to… port the first vector from being embedded by the first embedding model to being embedded by the second embedding model (Fig. 5 – 106, 406-3, 408, 412, 414, 420, 422-3, ¶37 “Because of differences in the updated firmware-2 404, some of these new embeddings 422 may not be compatible with the current firmware-1 402. The new embeddings 422 are stored in a separate location in the secure storage unit 106 from the set of enrolled embeddings 406… the enrolled embedding 406-3 was identified as a match to the comparison embedding 414 produced by the firmware-1 402 using the images 412. Then, when the firmware-2 404 is run on the images 412, the resulting new embedding is stored as embedding 422-3 in the profile-2 420. This new embedding 422-3 may be referred to as a migration embedding… the new embedding 422-3 has been enrolled in the profile-2 420,” wherein generating a new “migration embedding” that both corresponds to an original “enrolled embedding” generated by “firmware-1” and is compatible with “profile-2” of “firmware-2” encompasses to… port the first vector from being embedded by the first embedding model or “406-3” generated from “Firmware-1” in Figure 4 to being embedded by the second model or “422-3” generated from “Firmware-2” in Figure 5). However, Moreno fails to teach generating, by the reindexer component, an embedding storage request event to reindex and port the first vector…
Seo teaches the reindexer component (Page 1, Col. 2, ¶2 “a novel online backfilling algorithm”) and a query to reindex and merge an old vector being embedded by an old embedding model with being embedded by a new embedding model (Page 3, Fig. 1, Caption: “In the middle of backfilling, we retrieve images independently using two separate models and their galleries, and merge the retrieval results based on their distances,” Col. 1, ¶1 “We present a distance rank merge approach for image retrieval, which enables online backfilling in arbitrary model upgrade scenarios. Our method maintains two separate retrieval pipelines corresponding to the old and new models and merges the retrieval results from the two models based on distances from a query embedding”).
Regarding the limitation executing, using the second pipeline, the embedding storage request event to port the first vector into a second vector embedded by the second embedding model for storage within a vector database, Moreno teaches executing, using the second pipeline, the embedding storage request event to port the first vector into a second vector embedded by the second model for storage… (Fig. 5 – 106, 404, 420, 422, 502, ¶37 “The secure storage unit 106 returns a status 502 to the hypervisor 110 indicating that the new embedding 422-3 has been enrolled in the profile-2 420. The status 502 also indicates whether the new enrollments are full, such that the profile-2 420 is ready (e.g., sufficiently complete) for use in authenticating the user 114. With only a small number (e.g., 1 to 10) of new embeddings, the profile-2 420 may not be usable to authenticate the user 114 with a high confidence level. Therefore, more of the new embeddings 422 are likely required in order to fill in the profile-2 420,” ¶39 “additional new embeddings (e.g., embeddings 422-1, 422-2, . . . 422-n) are generated using the updated firmware, firmware-2 404,” Fig 6 – 422-1…n each encompass a second vector embedded by the second model or generated by “firmware-2” using an updated model; each second vector corresponds to a ported first vector or 406-1…n, respectively). However, the combination of Moreno and Seo fails to teach for storage within a vector database.
Wang, in the same field of endeavor, teaches storage within a vector database (Page 4, Col. 1, Section 2.4, ¶2 “Vector storage… assuming that there are three entities (A, B, and C) in the database and each entity has two vectors v1 and v2, then all the v1 of different entities are stored together and all the v2 are stored together”).
Moreno, Seo, and Wang are analogous art to the claimed invention as all are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the reindexing algorithm of Seo and the vector database of Wang with the methodology of Moreno. The motivation to do so is to allow “immediate deployment after the completion of model upgrade” (Seo, Page 1, Col. 2, ¶2) and “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5).
Regarding claim 6, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Moreno further teaches comprising: in response to receiving a request from a downstream service for embedding data of the request into a vector (Fig. 5 – 404-408, 420, 422, ¶¶37-38 “the hypervisor 110 can transmit a signal or message to the processor unit 302 to use the firmware-2 404 to generate one or more new embeddings 422… the profile-2 420 may not be usable to authenticate the user 114 with a high confidence level. Therefore, more of the new embeddings 422 are likely required in order to fill in the profile-2 420. After the migration embedding is stored in the profile-2 420, the secure storage unit 106 resets the last-authenticated user ID. Then, the secure session ends,” wherein future sessions that generate “more of the new embeddings” encompass a downstream service, ¶39 “To collect additional new embeddings 422, this process repeats… in response to a series of successive face-authentication attempts. During these subsequent successful face-authentication attempts, the user 114 is authenticated against the set of enrolled embeddings 406 corresponding to the profile-1 408,” wherein each “attempt” of the “successive face-authentication attempts” encompasses a request from a downstream service for embedding data of the request or the image data captured during the “face-authentication attempt” into a vector), executing, using the second pipeline, a new embedding storage request event to embed the data of the request using the second embedding model to create the vector based upon the second model identifier (¶¶39-40 “the user 114 is authenticated against the set of enrolled embeddings 406 corresponding to the profile-1 408, and additional new embeddings (e.g., embeddings 422-1, 422-2, . . . 422-n) are generated using the updated firmware, firmware-2 404… When a sufficient amount or number of new embeddings 422 are generated and stored in the profile-2 420… the profile-2 420 is sufficiently complete… the secure storage unit 106 determines whether the profile-2 420 could have been used to authenticate the user during this most-recent authentication attempt. If not, then this determination is repeated during a next face-authentication attempt after generating an additional new embedding 422 that may replace a previously stored embedding 422 to improve the profile-2 420”) indicating that the second embedding model is preferred over using the first embedding model associated with the first model identifier (Fig. 6 – 402-408, ¶41 “If… the user 114 could have been authenticated against the profile-2 420, then, continuing with FIG. 6, the profile-2 420 is saved as the enrollment profile to be used in subsequent face-authentication attempts… the authentication system 108 clears the profile-1 408 by deleting the set of enrolled embeddings 406… the authentication system 108 no longer uses the firmware-1 402 and instead only relies on the firmware-2 404 to authenticate the user 114… the firmware-1 402 may be deleted”).
Regarding claim 9, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Moreno further teaches comprising: defining a first pipeline version for the first pipeline and a second pipeline version for the second pipeline (Fig. 4 – “Firmware-1” and “Firmware-2,” ¶54 “a first version of firmware and a second version of the firmware. The second version of the firmware (e.g., the firmware-2 404) is an updated version of the first version (e.g., the firmware-1 402)”).
Regarding claim 10, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation comprising: defining the second pipeline to receive query data and item data, wherein the second pipeline routes the query data and the item data into an index associated with an endpoint, Moreno teaches the second pipeline (Fig. 4 – “Firmware-2”). However, Moreno fails to teach comprising: defining the second pipeline to receive query data and item data, wherein the second pipeline routes the query data and the item data into an index associated with an endpoint.
Wang teaches comprising: defining a query engine to receive query data and item data (Page 2, Col. 1, Section 2, ¶1 “The query engine supports efficient query processing over vector data,” Col. 2, Figure 1 depicts a “Query Engine” including “query processing” techniques including “vector similarity search” and more advanced query processing such as “attribute filtering,” Page 6, Col. 2, Section 4.1, ¶1 “attribute filtering is a hybrid query type that involves both vector data and non-vector data. It only searches vectors that satisfy the attributes constraints… e.g., finding similar houses (vector data) whose sizes are within a specific range (non-vector data),” wherein “vector data” and “non-vector data” encompass query data and item data, respectively), wherein the query engine routes the query and the item data into an index associated with an endpoint (Page 2, Col. 1, ¶5 “Milvus provides many application interfaces (including… Restful APIs)… It supports versatile query types such as vector similarity search with various similarity functions, attribute filtering…,” Page 3, Col. 2, Fig. 1, Caption: “Milvus also supports RESTful APIs for web applications,” Section 2.2, ¶¶1-2 “Indexing is of tremendous importance to query processing in Milvus… we mainly support two types of indexes: quantization-based indexes… and graph-based indexes… to serve different applications,” Figure 1 depicts “data science / AI applications” calling the “Query Engine” through “SDK / RESTful APIs,” one of ordinary skill in the art would recognize that an API endpoint is implicit when receiving requests, for example, an “attribute filtering” query from a “web application”).
Moreno and Wang are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang with the methodology of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5).
Regarding claim 12, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Moreno further teaches comprising: defining the second pipeline with a distance function for calculating a distance between two vectors created through the second pipeline (¶35 “Because embeddings are vectors, vector distance can be used to calculate the similarity between two vectors,” ¶39 Fig. 6 – 106, 404, 420, “additional new embeddings… are generated using the updated firmware, firmware-2 404. However, a new embedding is not necessarily stored as part of the profile-2 420 during each and every face-authentication attempt… if the secure storage unit 106 determines that the new embedding is substantially the same as another new embedding already stored in the migration region, then the new embedding is determined to be duplicative and is not saved”).
Regarding claim 14:
Moreno teaches a computing device comprising: a memory comprising machine executable code; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to perform operation comprising: generating… (Fig. 11 – 1100, 1110, 1114, 1118, 1120, ¶75 “The computer-readable media 1114 provides data storage mechanisms to store… various device applications 1118 and any other types of information and/or data related to operational aspects of the computing system 1100… an operating system 1120 can be maintained as a computer application with the computer-readable media 1114 and executed on the processors 1110… The device applications 1118 may also include system components, engines, modules, or managers to implement face authentication embeddings migration”).
Claim 14 is a system claim with similar limitations to the method of claim 1. Therefore, claim 14 is rejected under substantially the same rationale as claim 1.
Regarding claim 15, Moreno in view of Seo and further in view of Wang teaches the computing device of claim 14 (and thus the rejection of claim 14 is incorporated).
The combination of Moreno and Seo fails to teach wherein the operations comprise: utilizing, by a recommendation service, vectors within the vector database to construct and provide a content recommendation to a user. However, Wang teaches this limitation (Page 3, Col. 1, Section 2.1, ¶1 “Attribute filtering: Each entity is specified by a single vector and some attributes. The system returns k most similar vectors while adhering to the attributes constraints. As an example in recommender systems, users want to find similar clothes to a given query image while the price is below $100,” Page 9, Col. 2, Section 6, ¶1 “We have built 10 applications on top of Milvus that include… personalized recommendation”).
Moreno and Wang are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang with the system of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5).
Regarding claim 17, Moreno in view of Seo and further in view of Wang teaches the computing device of claim 14 (and thus the rejection of claim 14 is incorporated).
The combination of Moreno and Seo fail to teach wherein the operations comprise: utilizing, by a service, vectors within the vector database to execute a query for query item retrieval. However, Wang teaches this limitation (Page 3, Col. 1, Section 2, ¶1 “The query engine supports efficient query processing,” Section 2.1, ¶1 “query processing over both vector data and non-vector data. We define the term entity as follows to incorporate the two. Each entity in Milvus is described as one or more vectors and optionally some numerical attributes (non-vector data),” Col. 2, Fig. 1 – “query processing” in “Query Engine”).
Moreno and Wang are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang with the system of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5).
Regarding claim 18:
Moreno teaches a non-transitory machine-readable storage medium comprising instructions that when executed by a machine, causes the machine to perform operations comprising: generating… (Fig. 11 – 1100, 1110, 1114, 1118, 1120, ¶75 see claim 14 above).
Claim 18 is a computer-readable medium claim with similar limitations to the system of claim 14. Therefore, claim 18 is rejected under substantially the same rationale as claim 14.
Regarding claim 19, Moreno in view of Seo and further in view of Wang teaches the non-transitory machine-readable storage medium of claim 18 (and thus the rejection of claim 18 is incorporated).
The combination of Moreno and Seo fails to teach wherein the operations comprise: utilizing, by a service, vectors within the vector database to perform a similarity search for entities represented by the vectors. However, Wang teaches this limitation (Page 3, Col. 1, Section 2, ¶1, Section 2.1, ¶1, Col. 2, Fig. 1 see claim 17 above, Page 3, Col. 1, Section 2.1, ¶2 “Similarity functions. Milvus offers commonly used similarity metrics… to explore vector similarity”).
Moreno and Wang are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang with the machine-readable medium of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5).
Claims 2-5, 16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Moreno in view of Seo and further in view of Wang, and further in view of Miller et al. (US 20230316186 A1, hereinafter Miller).
Regarding claim 2, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation executing comprising: a first deduplication process to deduplicate objects within a customer relationship management (CRM) system, wherein the first deduplication process compares the first vector with a different vector to determine whether to deduplicate two objects within the CRM system, Moreno teaches the first vector (Fig. 4 – 402, 406, ¶33 “The firmware-1 402 was used during enrollment to create a set of enrolled embeddings 406 (e.g., 406-1, 406-2, 406-3, . . . 406-n)”). However, Moreno fails to teach comprising: a first deduplication process to deduplicate objects within a customer relationship management (CRM) system, wherein the first deduplication process compares the first vector with a different vector to determine whether to deduplicate two objects within the CRM system.
Miller, in the same field of endeavor, teaches comprising: a first deduplication process to deduplicate objects within a customer relationship management (CRM) system, wherein the first deduplication process compares a vector with a different vector to determine whether to deduplicate two objects within the CRM system (Fig. 54 – 5402-5408, ¶413 “This training system and process may include entity deduplication operations that may have a set of entity feature encodings 5402 to be processed for determining duplicate entities… a Siamese twin tower neural network 5404 may receive a feature group of entity feature encodings from the set of entity feature encodings 5402… where one group of feature encodings may correspond to one entity per tower… The Siamese neural network 5404 may produce a first reduced vector 5406 (e.g., vector A) from tower A… and a second reduced vector 5408 (e.g., vector B) from tower B… representing a reduced complexity vector per entity,” Fig. 57 – 5708-5710, ¶417 “arrange the entity-specific vectors generated from the trained neural network for a set of N entities… to be deduplicated into a first two-dimensional matrix (A)… The entity-specific vector matrix A may be copied and transposed (e.g., matrix B at 5708), and the two matrices (e.g., matrix A and the matrix transposed copy) may be multiplied to produce a duplicate-likelihood matrix D… cell D(A,B), for example, may hold a value that may be indicative of the likelihood that entities A and B are duplicates,” ¶424 “performing an on-demand deduplication action upon duplicate entities… This innovation relates to a deduplication technique that can identify duplicate entities within an entity database (e.g., contacts, business entities, and/or other objects within a customer relationship management database)”).
Moreno and Miller are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the first deduplication process of Miller with the methodology of Moreno. The motivation to do so is to improve “the functioning of computer systems, information networks, data stores, search engine systems and methods” (Miller, Abstract).
Regarding claim 3, Moreno in view of Seo and further in view of Wang, and further in view of Miller teaches the method of claim 2 (and thus the rejection of claim 2 is incorporated).
Regarding the limitation comprising: executing a second deduplication process subsequent the first deduplication process, wherein the second deduplication process compares the second vector with a vector to determine whether to deduplicate the two objects within the CRM system, Moreno teaches comprising: executing a second deduplication process… wherein the second deduplication process compares the second vector with a vector to determine whether to deduplicate the two vectors within the storage (Fig. 6 – 106, 420, ¶39 “a new embedding is not necessarily stored as part of the profile-2 420 during each and every face-authentication attempt… if the secure storage unit 106 determines that the new embedding is substantially the same as another new embedding already stored in the migration region, then the new embedding is determined to be duplicative and is not saved, ¶43 “to avoid unnecessary duplication of the embeddings, the authentication system 108 determines which embeddings to store based on a distance between different embedding values in comparison to a distance threshold”). However, Moreno fails to teach comprising: executing a second deduplication process subsequent the first deduplication process, wherein the second deduplication process compares the second vector with a vector to determine whether to deduplicate the two objects within the CRM system.
Miller teaches a second deduplication process subsequent the first deduplication process to determine whether to deduplicate the two objects within the CRM system (Fig. 57 – 5710, ¶419 “further processing may include processing the corresponding pairs of entities through another type of entity duplication detection function, such as the heuristic or string-matching functions… only those entity pairs that may exhibit a likelihood of being duplicates, based on for example a value in companion matrix D at 5710, may be processed,” ¶424 “deduplication technique that can identify duplicate entities within an entity database (e.g., contacts, business entities, and/or other objects within a customer relationship management database)”).
Moreno and Miller are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the subsequent deduplication process of Miller with the second deduplication process of Moreno. The motivation to do so is to improve “the functioning of computer systems, information networks, data stores, search engine systems and methods” (Miller, Abstract).
Regarding claim 4, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation comprising: hosting a chatbot that utilizes artificial intelligence to generate contextual and personalized responses for conversations with users, wherein the artificial intelligence utilizes the first vector to generate a first response, Moreno teaches the first vector (Fig. 4 – 402, 406, ¶33 see claim 2 above). However, Moreno fails to teach comprising: hosting a chatbot that utilizes artificial intelligence to generate contextual and personalized responses for conversations with users, wherein the artificial intelligence utilizes the first vector to generate a first response.
Miller teaches comprising: hosting a chatbot that utilizes artificial intelligence to generate contextual and personalized responses for conversations with users (Fig. 19 – 1902, 1908, ¶285 “a chat bot 1908 may be configured to engage in conversation with a human… the communication integrator 1902) may initialize a chat bot 1908 with a script that is directed to handle a particular type of conversation, a contact ID of a contact, and/or a ticket ID referencing a ticket initiated by the contact”), wherein the artificial intelligence utilizes a script to generate a first response (Fig. 16 – 1614, 1620, 1622 Fig. 19 – 1908, 1914, ¶285 “the chat bot 1908 may obtain information from the database 1620 and/or the knowledge graph 1614 to engage in the conversation. Initially, the chat bot 1908 may use a script to begin a conversation and may populate fields in the script using information obtained from the database 1620, knowledge graph 1622, a ticket ID, a contact ID, previous text in the chat, and the like”).
Moreno and Miller are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the chat bot of Miller with the methodology of Moreno. The motivation to do so is to improve “the functioning of computer systems, information networks, data stores, search engine systems and methods” (Miller, Abstract).
Regarding claim 5, Moreno in view of Seo and further in view of Wang, and further in view of Miller teaches the method of claim 4 (and thus the rejection of claim 4 is incorporated).
Regarding the limitation comprising: utilizing, by the artificial intelligence, the second vector to generate a second response, Moreno teaches the second vector (Fig. 5 – 404, 422, ¶39 “additional new embeddings (e.g., embeddings 422-1, 422-2, . . . 422-n) are generated using the updated firmware, firmware-2 404”). However, Moreno fails to teach comprising: utilizing, by the artificial intelligence, the second vector to generate a second response.
Miller teaches comprising: utilizing, by the artificial intelligence, a knowledge graph to generate a second response (Fig. 16 – 1622, Fig. 19 – 1908, ¶285 “Continuing the previous example above, the chat bot 1908, in response to determining that the next communication is to include a link to an article, may retrieve… a relevant article or video based on the knowledge graph 1622. Having the topic/type of issue, the chat bot 1908 can identify articles or content that are related to the product to which the ticket corresponds that are relevant to the topic/type of issue. The chat bot 1908 can then provide the content to the contact (e.g., email a link or provide the link in a chat interface)… a chat bot 1908 can also use the knowledge graph 1622 to formulate responses to the contact”).
Moreno and Miller are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the chat bot of Miller with the methodology of Moreno. The motivation to do so is to improve “the functioning of computer systems, information networks, data stores, search engine systems and methods” (Miller, Abstract).
Regarding claim 16, Moreno in view of Seo and further in view of Wang teaches the computing device of claim 14 (and thus the rejection of claim 14 is incorporated).
Regarding the limitation wherein the operations comprise: utilizing, by a service, vectors within the vector database to identify a set of nearest neighbors for use by the service to perform a task, Moreno teaches wherein the operations comprise: utilizing, by a service, vectors within storage to identify a nearest neighbor for use by the service to perform a task (¶35 see claim 12 above, ¶43 “the authentication system 108 monitors the new embeddings to avoid duplicate data… to avoid unnecessary duplication of the embeddings, the authentication system 108 determines which embeddings to store based on a distance between different embedding values in comparison to a distance threshold. This provides embeddings that are sufficiently different from one another to enable the user 114 to unlock the user device 102 in a variety of… conditions”). However, Moreno fails to teach a set of nearest neighbors and the vector database.
Wang teaches the vector database (Page 4, Col. 1, Section 2.4, ¶2 see claim 1 above). However, Wang fails to teach a set of nearest neighbors.
Miller teaches a set of nearest neighbors (Fig. 61 – 6108-6114, ¶434 “the candidate selection process 6110 utilizes an approximate nearest neighbors algorithm 6112 to generate candidate duplicate entity pairs 6614 based upon the embeddings 6108”).
Moreno, Wang, and Miller are analogous art to the claimed invention as all are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang and the nearest neighbors algorithm of Miller with the system of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5) and to improve “the functioning of computer systems, information networks, data stores, search engine systems and methods” (Miller, Abstract).
Regarding claim 20, Moreno in view of Seo and further in view of Wang teaches the non-transitory machine-readable storage medium of claim 18 (and thus the rejection of claim 18 is incorporated).
Regarding the limitation wherein the operations comprise: utilizing, by a service, vectors within the vector database to process service tickets with information derived from entities represented by the vectors, Wang teaches wherein the operations comprise: utilizing, by a service, vectors within the vector database to process queries with information derived from entities represented by the vectors (Page 3, Col. 1, Section 2.1, ¶1 “We first present the concept of entity used in Milvus… Milvus supports query processing over both vector data and non-vector data. We define the term entity as follows to incorporate the two. Each entity in Milvus is described as one or more vectors and optionally some numerical attributes (non-vector data)”). However, Wang fails to teach service tickets.
Miller teaches service tickets (¶228 “customer-service tickets (also referred to as “tickets”)… may correspond to a service-related process, or any other process or workflow that has a defined start and finish”).
Moreno, Wang, and Miller are analogous art to the claimed invention as all are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang and the tickets of Miller with the machine-readable medium of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5) and to improve “the functioning of computer systems, information networks, data stores, search engine systems and methods” (Miller, Abstract).
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Moreno in view of Seo and further in view of Wang, and further in view of MacPherson et al. (“AI Data Pipelines: Why Data Consistency Matters as Much as the Model,” 2020, hereinafter MacPherson).
Regarding claim 7, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation comprising: defining the second pipeline to include instructions on inputting data into the second embedding model, selection criteria for choosing the second embedding model, and criteria for selecting an index, Moreno teaches comprising: defining the second pipeline to include… the second embedding model (¶84 “a second machine-learned model of the updated version of the firmware”), selection criteria for choosing the second embedding model… (¶¶2-3 “embedding incompatibility… triggered from an update to the machine-learned model… the updated face-authentication model is used to generate new embeddings for migration to an updated set of embeddings… A migration may not be necessary for every face-authentication model update, but may be necessary for updates that do not have compatible embeddings,” wherein it is implicit that “compatibility” or a selection criteria is considered when choosing whether or not to migrate to or choose the second embedding model). However, Moreno fails to teach instructions on inputting data into the second embedding model… and criteria for selecting an index.
Wang teaches criteria for selecting an index (Page 3, Col. 2, Section 2.2, ¶¶2-3 “In Milvus, we mainly support two types of indexes… Considering there are many new indexes coming out every year, Milvus is designed to easily incorporate the new indexes… Developers only need to implement a few pre-defined interfaces for adding a new index”). However, the combination of Moreno, Seo, and Wang fails to teach instructions on inputting data into the second embedding model.
MacPherson, in the same field of endeavor, teaches instructions on inputting data into a model (Page 4, “The stages of an AI data pipeline” section – “Ingestion: Pipelines collect structured and semi-structured data from… unstructured sources such as documents, images, and logs when the application requires them. Preparation and cleaning: Transformations standardize formats, resolve missing values, handle outliers and prepare fields for downstream use… those choices form part of the input definition. Changing the way missing values are filled, for instance, changes what the model receives”).
Moreno, Wang, and MacPherson are analogous art to the claimed invention as all are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the index selection of Wang and the instructions on inputting data of MacPherson with the methodology of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5) and to help “coordinate source data, chunking logic, vector generation and index state during a migration” (MacPherson, Page 9, “Embedding versioning” section).
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Moreno in view of Seo and further in view of Wang, and further in view of Goel et al. (US 12361029 B2, hereinafter Goel).
Regarding claim 8, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation comprising: defining a name for the second pipeline, wherein the name is utilized as a prefix of indices, Moreno teaches comprising: defining a name for the second pipeline (Fig. 2 – 208, Fig. 4 – 404, ¶33 “the updated version of the firmware 208 (from FIG. 2), such as firmware-2 404,” Figure 4 depicts defining a name or “Firmware-2” for the second pipeline). However, the combination of Moreno, Seo, and Wang fails to teach wherein the name is utilized as a prefix of indices.
Goel, in the same field of endeavor, teaches wherein tenant name is utilized as a prefix of indices (Col 8, Lines 12-13 “Multiple prefixes are created on the basis of tenant ID and index Name,” Fig. 3 depicts using “Tenant ID” as a “prefix” under “Index Metadata”).
Moreno and Goel are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the prefix of Goel with the second pipeline name of Moreno. The motivation to do so is to provide “an improved and efficient approach to implement a vector database” (Goel, Col. 4, Lines 38-39).
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Moreno in view of Seo and further in view of Wang, and further in view of Shrestha et al. (US 20240330193 A1, hereinafter Shrestha).
Regarding claim 11, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation comprising: defining the second pipeline with a vector size specifying a dimensionality for the second vector stored into the vector database, Moreno teaches the second pipeline (Fig. 4 – “Firmware-2”) and the second vector (Fig. 5 – 404, 422, ¶39 see claim 5 above). However, Moreno fails to teach comprising: defining the second pipeline with a vector size specifying a dimensionality for the second vector stored into the vector database.
Wang teaches the vector database (Page 4, Col. 1, Section 2.4, ¶2 see claim 1 above). However, the combination of Moreno, Seo, and Wang fails to teach comprising: defining the second pipeline with a vector size specifying a dimensionality for the second vector stored into the vector database.
Shrestha, in the same field of endeavor, teaches comprising: defining an embedding process with a vector size specifying a dimensionality for a vector stored into storage (Fig. 3 – 120, 305, 315, ¶¶59-61 “documents 305 may be processed… to produce document embedding vectors (DEVs) 315… Document embedding vectors 315 may be thought of as n-dimensional vectors, where n may be as small or as large as desired… document embedding vector 315 may be described as a vector including n coordinates… Each document may have its own document embedding vector, which may be generated using any desired model… document embedding vectors 315 may be stored on storage device 120”).
Moreno, Wang, and Shrestha are analogous art to the claimed invention as all are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the vector database of Wang and the specifying of vector dimensionality of Shrestha with the methodology of Moreno. The motivation to do so is “to efficiently store and search large-scale vector data” (Wang, Page 2, Col. 1, ¶5) and “to expedite query processing as much as possible” (Shrestha, ¶143).
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Moreno in view of Seo and further in view of Wang, and further in view of Wang et al. (“Continual learning in cross-modal retrieval,” 2021, hereinafter Wang (2021)).
Regarding claim 13, Moreno in view of Seo and further in view of Wang teaches the method of claim 1 (and thus the rejection of claim 1 is incorporated).
Regarding the limitation comprising: in response to identifying a dependency between indices during porting of a vector, reindexing a first model and a second model, corresponding to the dependency, together as part of porting the vector, Moreno teaches comprising: in response to identifying embedding drift when receiving a vector… porting the vector (Fig. 7 – 406, 414, 702, ¶45 “the unlock success rate may decrease over time due to gradual changes to the user's face that occur over time… because the embeddings generated during face-authentication attempts may drift away from the stored embeddings that were created at enrollment,” ¶47 “If the comparison embedding 414 passes validation but is greater than a threshold distance from the matching enrolled embedding 406, then the comparison embedding 414 is stored in the migration profile as a drifted embedding 702… If the comparison embedding 414 falls… between the lower threshold distance and the higher threshold distance… then it is migrated to the new, migration profile and assigned a new version number”). However, the combination of Moreno, Seo, and Wang fails to teach comprising: in response to identifying a dependency between indices during porting of a vector, reindexing a first model and a second model, corresponding to the dependency, together as part of porting the vector.
Wang (2021), in the same field of endeavor, teaches in response to a dependency between indices during porting of a vector (Page 3, Col. 1, Section 3.1, ¶¶1-2 “Our framework is based on a two-branch network with image-specific and text-specific embedding branches that projects images and text into a common space. The image embedding operation is u = fθ(x)… extracted by the image embedding network fθ, parameterized by θ… the text embedding… is obtained as v = gw(y) by the text embedding network gw parameterized by w… Images and text are compared in the embedding space using the Euclidean distance… The image set X… is aligned with a text set Y… via a pairwise similarity matrix… We want the distance between positive pairs to be significantly lower than the distance between negative pairs,” Col. 2, Section 3.2, ¶3 “The database datasets X and Y to be indexed are processed using the embedding networks to obtain the text and image embeddings, which are subsequentially indexed in the database,” Page 1, Col. 2, Fig. 1 depicts wherein a text embedding of “a cat is sitting on a bag” is “aligned” with its respective image embedding during an “Indexing stage,” or a dependency between indices during porting of a vector), reindexing a first model and a second model, corresponding to the dependency, together as part of a new task (Page 4, Col. 2, Section 3.4, ¶¶1-2 “The conventional retrieval scenario assumes that training and indexing are performed once… In continual retrieval… training and indexing are performed every time a new task is presented… current and previous tasks are all reindexed with the version of the embedding networks with updated parameters,” wherein “the embedding networks” or the “image-specific and text-specific embedding branches,” which encompass a first and second model, are reindexed together “with updated parameters” for every new task).
Moreno and Wang (2021) are analogous art to the claimed invention as both are in the same field of endeavor of vector management. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the interdependent vector indices and simultaneous model reindexing of Wang (2021) with the conditional identifying and porting of a vector of Moreno. The motivation to do so is “to advance towards highly autonomous agents that can learn and adapt to changing environments” (Wang (2021), Page 1, Col. 2, ¶2).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WILLIAM M LEE whose telephone number is (571)272-4761. The examiner can normally be reached Mon-Fri. 8am-5pm.
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, Cesar Paula can be reached at (571)272-4128. 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.
/WILLIAM MICHAEL LEE/
Examiner, Art Unit 2145
/CESAR B PAULA/Supervisory Patent Examiner, Art Unit 2145