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 2-3, 16 and 19 are canceled.
Claims 21-24 are added.
Claims 1, 4-15, 17-18 and 20-24 are presented for examination.
The claims and only the claims form the metes and bounds of the invention. “Office personnel are to give claims their broadest reasonable interpretation in light of the supporting disclosure. In re Morris, 127 F.3d 1048, 1054-55, 44 USPQ2d 1023, 1027-28 (Fed. Cir. 1997). Limitations appearing in the specification but not recited in the claim are not read into the claim. In re Prater, 415 F.2d 1393, 1404-05, 162 USPQ 541, 550-551 (CCPA 1969)” (MPEP p 2100-8, c 2, I 45-48; p 2100-9, c 1, l 1-4). The Examiner has full latitude to interpret each claim in the broadest reasonable sense. The Examiner will reference prior art using terminology familiar to one of ordinary skill in the art. Such an approach is broad in concept and can be either explicit or implicit in meaning.
Response to Arguments
Applicant’s remarks/amendment was filed 19 December 2025.
Applicant’s arguments have been considered but they are not persuasive. However, the Examiner welcomes any suggestion(s) Applicant may have on moving prosecution forward. The Examiner’s contact information is in the Conclusion of this office action.
Applicant argues:
Swaminathan appears to describe processing at the second node for an OR query. Swaminathan does not describe any exclusion join data join operation, only multiple keyword searches including AND, OR and combined AND/OR queries. In Swaminathan, both the "first node" and the "second node" have access to and search the same set of documents, and are merely responsible for searching for different keywords of the multiple keyword search in the same set of documents. The multiple keyword searches described in Swaminathan do not disclose an exclusion join operation.
In response, the Examiner submits:
Contrary to Applicant’s allegation above, it is not true that Swaminathan discloses “only multiple keyword searches including AND, OR and combined AND/OR queries”.
Swaminathan does teach the limitation of “the exclusion join operation determining elements of the first data set which are not elements of the second data set” (Swaminathan: at least ¶0056; “determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node. As depicted at 508B, the second node returns those documents that are not already present in the Bloom filter of the first node to the querying node”; ¶¶0071, 0075 further disclose “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents, D2, that contain the keyword-k2 and not included in the Bloom filter sent by n1. n2 sends these additional document IDs to the querying node”).
Swaminathan teaches receiving Bloom filter of a set of documents and determining elements of another set of documents not in the set of documents represented by said Bloom filter.
Contrary to Applicant’s allegation above, Swaminathan does teach wherein the first data set is different than the second data set (Swaminathan: at least ¶0055). Swaminathan’s first set of documents (D1, for example) and second set of documents (D2, for example) are different data sets.
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.
Claims 1, 4, 6-8, 15, 17-18, 20 and 23-24 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”).
As to Claim 1, Swaminathan teaches an apparatus comprising: at least one processing device comprising a processor coupled to a memory (Swaminathan: at least ¶¶0090-0091; “system 600 includes functional blocks that can represent functions implemented by a processor, software, or combination thereof (e.g., firmware). System 600 includes a logical grouping 602 of electrical components that act in conjunction. System 600 may be implemented, for example, by a computing device acting as a node in a distributed network” and “system 600 can include a memory 618 that retains instructions for executing functions associated with electrical components 604-610”); the at least one processing device being configured: to receive, at a first compute node from a client, a request to perform an exclusion join operation involving a first data set and a second data set (Swaminathan: at least ¶0046; “receiving module 320 configured to receive user queries” and “Query receiving module 320 may be further configured to route the query to the appropriate node(s) for processing. For example, in some instances, the query receiving module 320 may be configured to select a first node for forwarding the query to, wherein the first node is responsible for a first keyword in the query”; ¶0048 further discloses “determine an optimally sized Bloom filter for representing the set of documents determined by keyword set determination sub-module 332”; ¶¶0050 & 0055 further disclose “AND queries and OR queries” and “second node received the query and the Bloom filter from the first node” and “wherein D2 represents the second set of documents and BF(D1) represents the Bloom filter of the first set of documents”; ¶0056 further discloses “a second node for performing an OR search” and “second node receives the query and the Bloom filter from the first node, determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node”; ¶¶0071, 0075 further disclose “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents, D2, that contain the keyword-k2 and not included in the Bloom filter sent by n1. n2 sends these additional document IDs to the querying node”), wherein the first data set is different than the second data set (Swaminathan: at least ¶0055; “first set of documents” and “D2 represents the second set of documents”), wherein the first data set is maintained in a first data store managed by the first compute node (Swaminathan: at least ¶0015; “find a first set of a first number of documents that contain the first keyword”; ¶0058 further discloses “ Node-n1 looks at its local inverted index list and finds the set of documents, D1”) and the second data set is maintained in a second data store managed by a second compute node (Swaminathan: at least ¶0055; “the second node … determines the set of documents matching the second keyword”; ¶0062 further discloses “the node n2 looks at its local inverted index to find the list of documents, D2”), the exclusion join operation determining elements of the first data set which are not elements of the second data set (Swaminathan: at least ¶0056; “determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node. As depicted at 508B, the second node returns those documents that are not already present in the Bloom filter of the first node to the querying node”; ¶¶0071, 0075 further disclose “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents, D2, that contain the keyword-k2 and not included in the Bloom filter sent by n1. n2 sends these additional document IDs to the querying node”);
to obtain, at the first compute node from the second compute node, a probabilistic data structure representing content of the second data set (Swaminathan: at least ¶0048; “determine an optimally sized Bloom filter for representing the set of documents determined by keyword set determination sub-module 332”; ¶¶0050 & 0055 further disclose “AND queries and OR queries” and “second node receives the query and the Bloom filter from the first node” and “the second node then computes its search results by calculating the intersection D2∩BF(D1), wherein D2 represents the second set of documents and BF(D1) represents the Bloom filter of the first set of documents”; ¶0056 further discloses “a second node for performing an OR search” and “second node receives the query and the Bloom filter from the first node, determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node”; ¶¶0071, 0075 further disclose “on receiving the Bloom filter and query from n1 …”);
to generate, by the first compute node, a third data set by applying the probabilistic data structure to the first data set, the third data set comprising a subset of elements of the first data set (Swaminathan: at least ¶¶0050, 0055; “compute the intersection of received sets of documents from two or more nodes in a network” and “second node then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node” and “the second node then computes its search results by calculating the intersection D2∩BF(D1), wherein D2 represents the second set of documents and BF(D1) represents the Bloom filter of the first set of documents, and returns the search results back to the first node, as depicted at 508A. The first node may then, as depicted in FIG. 4, step 412, send the list of documents to the querying node”; ¶0056 further discloses “determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node. As depicted at 508B, the second node returns those documents that are not already present in the Bloom filter of the first node to the querying node”); and
to provide, from the first compute node to the client, the third data set as a result of the exclusion join operation (Swaminathan: at least ¶¶0055-0056; “returns the search results back to the first node, as depicted at 508A. The first node may then, as depicted in FIG. 4, step 412, send the list of documents to the querying node” and “second node returns those documents that are not already present in the Bloom filter of the first node to the querying node”; ¶0075 further discloses “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents, D2, that contain the keyword-k2 and not included in the Bloom filter sent by n1. n2 sends these additional document IDs to the querying node”; ¶¶0081-0082 further disclose “Bloom filters can be used to produce incremental results for both AND and OR type searches. Users issuing a query rarely need all the results when they search for a service. By using streaming transfers and returning only the desired number of results, the amount of information that needs to be sent can be reduced” and “node n2 returns only the set of results for that corresponding Bloom filter chunk”).
Claim 15 (a product claim) corresponds in scope to claim 1, and is similarly rejected.
Claim 18 (a method claim) corresponds in scope to claim 1, and is similarly rejected.
As to Claim 4, Swaminathan teaches the apparatus of claim 1 wherein the subset of elements of the first data set which are included in the third data set comprises the elements of the first data set which are determined, via application of the probabilistic data structure, to not be elements of the second data set (Swaminathan: at least ¶¶0050, 0055; “compute the intersection of received sets of documents from two or more nodes in a network” and “second node then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node” and “the second node then computes its search results by calculating the intersection D2∩BF(D1), wherein D2 represents the second set of documents and BF(D1) represents the Bloom filter of the first set of documents, and returns the search results back to the first node, as depicted at 508A. The first node may then, as depicted in FIG. 4, step 412, send the list of documents to the querying node”; ¶0056 further discloses “determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node. As depicted at 508B, the second node returns those documents that are not already present in the Bloom filter of the first node to the querying node”; ¶¶0071, 0075 further disclose “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents, D2, that contain the keyword-k2 and not included in the Bloom filter sent by n1. n2 sends these additional document IDs to the querying node”).
As to Claim 6, Swaminathan teaches the apparatus of claim 1 wherein the first compute node comprises a first microservice and the second compute node comprises a second microservice (Swaminathan: at least ¶0032; “each node can operate as a service provider and/or as a client. That is, the node may provide services to the overlay, and may use services of one or more other nodes. Such services may include, for example, printing, scanning, faxing, storage, music share, file share, games, and web services such as booking movie tickets, hotels, air tickets, or online gaming. It is noted, however, that these examples of services are non-limiting, and the actual services may include more or less services than those listed”; ¶0042 & 0045 further disclose “computer device 300 includes a communications component 306 that provides for establishing and maintaining communications with one or more parties utilizing hardware, software, and services as described herein” and “the one or more plug-in modules 206 may be stored in memory 304. Each schema plug-in module 206 may be configured to generate searchable service descriptions 208 (FIG. 2) from service descriptions written in any service description language 204 based on a normalized schema 209. The searchable service description 208 is published to the network, and is used to process queries for service”).
As to Claim 7, Swaminathan teaches the apparatus of claim 1 wherein the probabilistic data structure representing the content of the second data set comprises a filter (Swaminathan: at least ¶0048; “determine an optimally sized Bloom filter for representing the set of documents determined by keyword set determination sub-module 332”; ¶¶0050 & 0055 further disclose “AND queries and OR queries” and “second node received the query and the Bloom filter from the first node” and “the second node then computes its search results by calculating the intersection D2∩BF(D1), wherein D2 represents the second set of documents and BF(D1) represents the Bloom filter of the first set of documents”; ¶0056 further discloses “a second node for performing an OR search” and “second node receives the query and the Bloom filter from the first node, determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node”).
As to Claim 8, Swaminathan teaches the apparatus of claim 7 wherein the filter comprises a Bloom filter (Swaminathan: at least ¶0048; “determine an optimally sized Bloom filter for representing the set of documents determined by keyword set determination sub-module 332”; ¶¶0050 & 0055 further disclose “AND queries and OR queries” and “second node receives the query and the Bloom filter from the first node” and “the second node then computes its search results by calculating the intersection D2∩BF(D1), wherein D2 represents the second set of documents and BF(D1) represents the Bloom filter of the first set of documents”; ¶0056 further discloses “a second node for performing an OR search” and “second node receives the query and the Bloom filter from the first node, determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node”; ¶0048 explains “a Bloom filter is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set. A plurality of hash functions may be defined for the Bloom filter, each of which maps or hashes some set element to one of the L array positions with a uniform random distribution”).
Claim 17 (a product claim) corresponds in scope to claim 8, and is similarly rejected.
Claim 20 (a method claim) corresponds in scope to claim 8, and is similarly rejected.
As to Claim 23, Swaminathan teaches the apparatus of claim 1 wherein the first data set maintained in the first data store is not accessible to the second compute node, and wherein the second data set maintained in the second data store is not accessible to the first compute node (Swaminathan: at least ¶0073; “Node-n1 looks at its local inverted index list and finds the set of documents, D1” and “Node-n1 looks at its local inverted index list and finds the set of documents, D1”).
As to Claim 24, Swaminathan teaches the apparatus of claim 1 wherein the first compute node is configured to maintain the probabilistic data structure representing the content of the second data set in memory (Swaminathan: at least ¶0075; “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents”; note: once received, data/data structure is in memory) for use with one or more subsequent requests having a same join criteria as the request (Swaminathan: at least ¶0056; “determines the set of documents matching the second keyword, and then checks membership on every element of the determined set of documents matching the second keyword over the Bloom filter calculated by the first node. As depicted at 508B, the second node returns those documents that are not already present in the Bloom filter of the first node to the querying node”; ¶¶0071, 0075 further disclose “on receiving the Bloom filter and query from n1, the node n2 looks at its local inverted index to find the list of documents, D2, that contain the keyword-k2 and not included in the Bloom filter sent by n1. n2 sends these additional document IDs to the querying node”).
Claim Rejections - 35 USC § 103
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.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”) in view of US Patent 7,447,854 by Cannon.
As to Claim 5, Swaminathan teaches the apparatus of claim 1.
Swaminathan does not explicitly disclose, but Cannon discloses wherein the first compute node comprises a first virtual computing instance and the second compute node comprises a second virtual computing instance (Cannon: at least Col. 4 Lines 16-18; “where a first virtual computer system 100-1 and a second virtual computer system 100-2 are in networked communication with one another through a network 10”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Cannon’s feature of wherein the first compute node comprises a first virtual computing instance and the second compute node comprises a second virtual computing instance (Cannon: at least Col. 4 Lines 16-18) with Swaminathan’s apparatus.
The suggestion/motivation for doing so would have been to “provides greater security” that isolates “potentially unstable or unsafe software so that it cannot adversely affect the hardware state or system files required for running the physical (as opposed to virtual) hardware” (Cannon: at least Col. 1 Lines 13-22; “the advantages of virtual machine technology have become widely recognized. Among these advantages is the ability to run multiple virtual machines on a single host platform. This makes better use of the capacity of the hardware, while still ensuring that each user enjoys the features of a "complete" computer. Depending on how it is implemented, virtualization also provides greater security, because the virtualization can isolate potentially unstable or unsafe software so that it cannot adversely affect the hardware state or system files required for running the physical (as opposed to virtual) hardware”).
Claims 9-11 are rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”) in view of US PGPUB 2018/0196864 by Xu.
As to Claim 9, Swaminathan teaches the apparatus of claim 7.
Swaminathan does not explicitly disclose, but Xu discloses wherein the probabilistic data structure is associated with a configurable false positive probability rate (Xu: at least ¶0265; “the actual number k of hash functions is proportional to the number of m elements of the Bloom filter and adjustable to increase or decrease an intended rate of false positives of the Bloom filter”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Xu’s feature of wherein the probabilistic data structure is associated with a configurable false positive probability rate (Xu: at least ¶0265) with Swaminathan’s apparatus.
The suggestion/motivation for doing so would have been to keep false positive rates at a threshold that is acceptable (Xu: at least ¶0272; “the threshold is a pre-determined threshold that corresponds to a (predetermined) intended false positive rate. Thus, exceeding the threshold has the potential to cause the Bloom filter to produce false positives at a rate that is higher than intended/acceptable”).
As to Claim 10, Swaminathan and Xu teach the apparatus of claim 9 wherein obtaining the probabilistic data structure comprises providing, from the first compute node to the second compute node, a value for the configurable false positive probability rate (Xu: at least ¶0265; “the actual number k of hash functions is proportional to the number of m elements of the Bloom filter and adjustable to increase or decrease an intended rate of false positives of the Bloom filter. Once the Bloom filter has been populated with the hashed values of the GUIDs of the journal, the array of bit values (bitmask) is propagated to one or more member search heads”).
As to Claim 11, Swaminathan and Xu teach the apparatus of claim 10 wherein the value for the configurable false positive probability rate is specified in the request to perform the data join operation received from the client (Xu: at least ¶0265; “the actual number k of hash functions is proportional to the number of m elements of the Bloom filter and adjustable to increase or decrease an intended rate of false positives of the Bloom filter. Once the Bloom filter has been populated with the hashed values of the GUIDs of the journal, the array of bit values (bitmask) is propagated to one or more member search heads”).
Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”) in view of US PGPUB 2003/0191803 by Chinnici et al. (“Chinnici”), and further in view of US Patent 11,494,352 by Iyer et al. (“Iyer”).
As to Claim 12, Swaminathan teaches the apparatus of claim 1.
Swaminathan does not explicitly disclose, but Chinnici discloses wherein obtaining the probabilistic data structure comprises: receiving, at the first compute node from the second compute node, a serialized data structure (Chinnici: at least ¶¶0152-0153; “when client 510 prepares to send data to server 510, such as when a remote call is made to a service endpoint 555 maintained by server 530, the client 510 may create an instance of a stub class 515 as shown in FIG. 5. The generated stub 515 may serialize a Java object when transmitting information to server 530 using protocol 535 and transport 540” and “to serialize a Java object, a generated stub may invoke a serialize method on the reference to the serializer, passing as parameters the object to be serialized, XML Writer, and an instance of the SOAPSerializeationContext class”); and deserializing, at the first compute node, the serialized data structure to obtain a data structure (Chinnici: at least ¶0173; “when a host JAX-RPC runtime system receives a message over transport 540, it may deserialize an object included in a message encoded according to protocol 535. When a host JAX-RPC runtime system needs to deserialize an object, it may obtain a reference to a deserializer for the object's type”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Chinnici’s features of wherein obtaining the probabilistic data structure comprises: receiving, at the first compute node from the second compute node, a serialized data structure (Chinnici: at least ¶¶0152-0153); and deserializing, at the first compute node, the serialized data structure to obtain a data structure (Chinnici: at least ¶0173) with Swaminathan’s apparatus.
The suggestion/motivation for doing so would have been to “enable a computing system to receive a serialized message including a target object that is associated with at least one member object” (Chinnici: at least ¶0012) and “efficiently deserialize objects included in a serialized messaged” (Chinnici: at least ¶¶0026-0027).
Swaminathan and Chinnici do not explicitly disclose, but Iyer discloses said deserializing of the serialized data structure to obtain the data structure that is the probabilistic data structure (Iyer: Col. 15 Lines 55-56; “deserialize, and cache the bloom filter generated for each of the first set of files”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Iyer’s feature of deserializing of the serialized data structure to obtain the data structure that is the probabilistic data structure (Iyer: Col. 15 Lines 55-56) with the apparatus disclosed by Swaminathan and Chinnici.
The suggestion/motivation for doing so would have been to perform deduplication of “data that is being ingested into any appropriate storage” (Iyer: Col. 13 Lines 60-61, Col. 15 Lines 47-48 & 55; “during deduplication and after the minimum/maximum pruning operation, for each of the reduced set of candidate files … deserialize, and cache the bloom filter generated for each of the first set of files”).
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”) in view of US PGPUB 2011/0302026 by Kanakarajan et al. (“Kanakarajan”), and further in view of US PGPUB 20160248867 by Alstad et al. (“Alstad”).
As to Claim 13, Swaminathan teaches the apparatus of claim 1.
Swaminathan does not explicitly disclose, but Kanakarajan discloses wherein obtaining the probabilistic data structure comprises: providing, from the first compute node to the second compute node, a hypertext transfer protocol get request specifying join criteria for the data join operation (Kanakarajan: at least ¶¶0031 & 0033; “HTTP GET/POST requests with search keywords included in them in this particular example” and “… search terms are typically sent across to the search engine in the first few packets (e.g., HTTP GET/HTTP POST)”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Kanakarajan’s feature of wherein obtaining the probabilistic data structure comprises: providing, from the first compute node to the second compute node, a hypertext transfer protocol get request specifying join criteria for the data join operation (Kanakarajan: at least ¶¶0031 & 0033) with Swaminathan’s apparatus.
The suggestion/motivation for doing so would have been to deliver “advertising content relevant to … keywords” (Kanakarajan: at least ¶0028).
Swaminathan and Kanakarajan do not explicitly disclose, but Alstad discloses receiving, at the first compute node from the second compute node, a hypertext transfer protocol response comprising the probabilistic data structure (Alstad: at least ¶¶0034-0035; “a cookie containing a Bloom filter for the current session and for previous sessions” and “as responses are sent to each client session, the Bloom filter of each session is updated with the hash value of the URL. After each HTML or client side data request is completed, all values of resource URLs known to be related to that response may be added to that session's Bloom filter”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Alstad’s feature of receiving, at the first compute node from the second compute node, a hypertext transfer protocol response comprising the probabilistic data structure (Alstad: at least ¶¶0034-0035) with the apparatus disclosed by Swaminathan and Kanakarajan.
The suggestion/motivation for doing so would have been to transmit identification of likely contents of http nodes (Alstad: at least ¶0023; “HTTP client or any other electronic device capable of sending and receiving content over a network 103”; ¶¶0032 & 0034 further disclose “representation includes contents that are likely in the client cache 111” and “contents in the representation may be inferred based on a persistent client in a cookie containing a Bloom filter for the current session and for previous sessions”).
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”) in view of US PGPUB 2012/0311081 by Robbin et al. (“Robbin”).
As to Claim 14, Swaminathan teaches the apparatus of claim 1.
Swaminathan does not explicitly disclose, but Robbin discloses wherein the first data set comprises an inventory of information technology assets in an information technology infrastructure which are eligible for a given software update (Robbin: at least ¶¶0025 & 0027; “access to digital data via the cloud data storage can be restricted to authenticated users and to a limited number authorized devices (client device) per user. Hence, a given user can access the cloud data storage from any of his/her authorized client devices” and “manage synchronization of data between multiple client devices associated with a particular user”; ¶0056 further discloses “user can be permitted to download or stream the cloud data item to any of a plurality of authorized client devices associated with the user”), the second data set comprises a first subset of the information technology assets in the information technology infrastructure which have already been notified of availability of the given software update (Robbin: at least ¶0061; “if new data has been added to the client device, an update notification process can operate to notify the appropriate cloud server (e.g., cloud server 102) of the specific update that has occurred at client device”), and the third data set comprises a second subset of the information technology assets in the information technology infrastructure which are to be notified of the availability of the given software update (Robbin: at least ¶¶0061, 0064; “cloud server can also operate to notify other client devices associated with the same registered user of the update” and “determines that one or more other user devices are to be notified”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Robbin’s features of wherein the first data set comprises an inventory of information technology assets in an information technology infrastructure which are eligible for a given software update (Robbin: at least ¶¶0025, 0027, 0056), the second data set comprises a first subset of the information technology assets in the information technology infrastructure which have already been notified of availability of the given software update (Robbin: at least ¶0061), and the third data set comprises a second subset of the information technology assets in the information technology infrastructure which are to be notified of the availability of the given software update (Robbin: at least ¶¶0061, 0064) with Swaminathan’s apparatus.
The suggestion/motivation for doing so would have been to “manage synchronization of data between multiple client devices associated with a particular user (Robbin: at least ¶¶0027, 0088).
Claims 21-22 are rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB 2012/0011150 by Swaminathan et al. (“Swaminathan”) in view of US PGPUB 2023/0336623 by Gourgaris et al. (“Gourgaris”).
As to Claim 21, Swaminathan teaches the apparatus of claim 1 wherein the first compute node and the second compute node are part of a distributed system operating (Swaminathan: at least ¶¶0012-0013; “first node in an distributed network” and “second node in the distributed network”; ¶0090 further discloses “computing device acting as a node in a distributed network”).
Swaminathan does not explicitly disclose, but Gourgaris discloses a distributed system operating with an eventual-consistency architecture model (Gourgaris: at least ¶¶0109, 0111; “eventual consistency refers to the property of the system converging to the same value. The example herein uses last-write for simplicity, however this depends on the type of data, the write operation and the conflict resolution. Eventual consistency is a property of both the data handled by our distributed system and our system itself” and “eventual consistency may be reached between each of the nodes within the system based on (for example) the time in which the read-write operations are performed”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Gourgaris’ feature of a distributed system operating with an eventual-consistency architecture model (Gourgaris: at least ¶¶0109, 0111) with Swaminathan’s apparatus.
The suggestion/motivation for doing so would have been to decentralized conflict resolution in a distributed system (Gourgaris: at least ¶¶0109-0110).
As to Claim 22, Swaminathan and Gourgaris teach the apparatus of claim 21 wherein the first compute node and the second compute node comprise respective microservices (Swaminathan: at least ¶¶0012-0013; “first node in an distributed network” and “second node in the distributed network”; ¶0090 further discloses “computing device acting as a node in a distributed network”; ¶0032 further discloses “each node can operate as a service provider and/or as a client”; ¶¶0045-0046 further discloses “computing device 300 may also include one or more searchable schema plug-in modules 206. For example, the one or more plug-in modules 206 may be stored in memory 304. Each schema plug-in module 206 may be configured to generate searchable service descriptions 208 (FIG. 2) from service descriptions written in any service description language 204 based on a normalized schema 209” and “computing device 300 may further comprise a query receiving module 320 configured to receive user queries”), and wherein the distributed system implements a microservice-based cloud native application (Swaminathan: at least ¶¶0029, 0032; “provide systems and methods for searching for documents that are published to a distributed network” ¶0032 further discloses “each node can operate as a service provider and/or as a client”).
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 Huen Wong whose telephone number is (571) 270-3426. The examiner can normally be reached on Monday - Friday (10:30AM EST - 6:30PM EST). If attempts to reach the examiner by telephone are unsuccessful, the Examiner's supervisor, Charles Rones can be reached on (571) 272-4085. The fax phone number for the organization where this application or proceeding is assigned is (571) 273-8300 for regular communications and after final communications.
Information regarding the status of an application may be obtained from thePatent Application Information Retrieval (PAIR) system. Status information forpublished applications may be obtained from either Private PAIR or Public PAIR.Status information for unpublished applications is available through Private PAIR only.For more information about the PAIR system, see http://pair-direct.uspto.gov. Shouldyou have questions on access to the Private PAIR system, contact the ElectronicBusiness Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from aUSPTO Customer Service Representative or access to the automated informationsystem, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/H .W./
Examiner, AU 2168
02 March 2026
/CHARLES RONES/Supervisory Patent Examiner, Art Unit 2168