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 .
DETAILED ACTION
Claims 1-20 are pending.
Examiner Notes
Examiner cites particular paragraphs and/or columns and lines in the references as applied to Applicant’s claims for the convenience of the Applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the Applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. The prompt development of a clear issue requires that the replies of the Applicant meet the objections to and rejections of the claims. Applicant should also specifically point out the support for any amendments made to the disclosure. See MPEP § 2163.06.
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Authorization for Internet Communications in a Patent Application
Applicant is encouraged to file an Authorization for Internet Communications in a Patent Application form (http://www.uspto.gov/sites/default/files/documents/sb0439.pdf) along with the response to this office action to facilitate and expedite future communication between Applicant and the examiner. If the form is submitted then Applicant is requested to provide a contact email address in the signature block at the conclusion of the official reply.
Claim Objections
Claims 12 and 18 are objected to because of minor informalities. Appropriate correction is required.
As per claim 12, in ll. 8, “blockchain” should be “decentralized blockchain”.
As per claim 18, in ll. 3, “blockchain” should be “decentralized blockchain”.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (an abstract idea) without significantly more.
Step 1: The claim is a process, machine, manufacture, or composition of matter:
Claim 1. An apparatus comprising.
Step 2A Prong One: The claim recites an abstract idea because it includes limitations that can be considered mental processes (concepts performed in the human mind including an observation, evaluation, judgment, and/or opinion). If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind or via pen and paper, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea:
scan an application programming interface (API) for a specified label in the API, wherein the specified label includes a counter that increments based on the API interacting with a computing resource for a caller of the API (abstract idea mental process);
read a value of a counter in the specified label (abstract idea mental process).
Step 2A Prong Two: The abstract idea is not integrated into a practical application because the abstract idea is recited but for generically recited additional computer elements (i.e. data storage, processor, memory, computer readable medium, etc.) which do not add meaningful limitations to the abstract idea amounting to simply implementing the abstract idea on a generic computer using generic computing hardware and/or software (e.g. generally linking the use of the judicial exception to a particular technological environment or field of use (see MPEP 2106.05(h)). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The generic computing components are recited at a high-level of generality such that they amount to no more than mere instructions to apply the exception using the recited generic computer components. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea:
a processor (generic computing components); and
a memory on which is stored machine-readable instructions that when executed by the processor (generic computing components), cause the processor to:
record the read value of the counter and an identifier of an entity associated with the caller of the API onto a decentralized blockchain (generic computing components performing extra-solution activity of saving/storing/recording data/information).
Step 2B: The claim includes limitations which can be considered extra-solution activity (see MPEP 2106.05(g)) insufficient to amount to significantly more than the abstract idea because the additional limitations only perform at least one of collecting, gathering, displaying, generating, modifying, updating, storing, retrieving, sending, and receiving data/information data which are well-understood, routine, conventional computer functions as recognized by the court decisions listed in MPEP § 2106.05(d)II. The claim further includes limitations that do not integrate the judicial exception into a practical application because they merely recite the words "apply it" (or an equivalent) with the judicial exception, or merely including instructions to implement an abstract idea on a computer, or merely using a computer as a tool to perform an abstract idea, as discussed in MPEP § 2106.05(f). Therefore, the claim, and its limitations when considered separately and in combination, is directed to patent ineligible subject matter:
record the read value of the counter and an identifier of an entity associated with the caller of the API onto a decentralized blockchain (extra-solution activity of saving/storing/recording data/information).
Claim 2. The apparatus of claim 1, wherein the API comprises a an API for a Kubernetes cluster (generic computing components).
Claim 3. The apparatus of claim 1, wherein the specified label comprises a key value pair including a type of counter and the value of the counter (abstract idea mental process).
Claim 4. The apparatus of claim 1, wherein the instructions cause the processor to:
scan the API at certain intervals of time (abstract idea mental process).
Claim 5. The apparatus of claim 1, wherein the computing resource comprises at least one of a central processing unit (CPU) usage, a graphical processing unit (GPU) usage, or a pod (generic computing components).
Claim 6. The apparatus of claim 1, wherein the instructions cause the processor to:
scan APIs for respective specified labels in the APIs, wherein the respective specified labels include counters that increment based on the APIs interacting with at least one computing resource for at least one caller of the APIs (abstract idea mental process);
read values of the counters in the respective specified labels (abstract idea mental process);
aggregate the read values of the counters (abstract idea mental process); and
record the aggregated read values of the counters and identifiers of at least entity associated with the at least one caller of the APIs onto the decentralized blockchain (extra-solution activity of saving/storing/recording data/information).
Claim 7. The apparatus of claim 1, wherein to cause the read value of the counter and the identifier of the entity to be recorded onto the decentralized blockchain, the instructions cause the processor to:
record the read value of the counter, the identifier of the entity, and a timestamp of the recording in the decentralized blockchain (extra-solution activity of saving/storing/recording data/information).
Claim 8. The apparatus of claim 1, wherein the instructions cause the processor to:
scan the API as a backup of another apparatus that scans the API for the specified label (abstract idea mental process).
Claim 9. The apparatus of claim 1, wherein to record the read value of the counter and the identifier of the entity onto the decentralized blockchain, the instructions cause the processor to:
output the read value of the counter and the identifier of the entity to an aggregator, wherein the aggregator is to initiate recordation of the read value of the counter, the identifier of the entity, and a timestamp of the recordation onto the decentralized blockchain (extra-solution activity of sending/receiving data/information).
As per claim 10, it has similar limitations as claims 1, 3, and 9, and is therefore rejected using the same rationale.
Claim 11. The system of claim 10, further comprising:
the aggregator (generic computing components), wherein the aggregator is to:
receive read values of counters from the plurality of apparatuses (extra-solution activity of receiving data/information);
aggregate the received read values of the counters (abstract idea mental process); and
initiate recording of the aggregated read values of the counters and identifiers of entities associated with callers of APIs from which the values of the counters were read onto the decentralized blockchain (extra-solution activity of saving/storing/recording data/information).
Claim 12. The system of claim 11, wherein the at least one computing resource comprises a plurality of computing resources (generic computing components), and wherein the aggregator is to:
determine a certain entity of the entities that associated with callers of APIs that interacted with the at least one computing resource (abstract idea mental process);
aggregate, for the certain entity, the read values of the counters in the APIs for the caller associated with the certain entity (abstract idea mental process); and
record, for the certain entity, data including the read values, the identifier of the certain entity, and timestamps of the recording onto the blockchain (extra-solution activity of saving/storing/recording data/information).
Claim 13. The system of claim 10, wherein a first apparatus of the plurality of apparatuses is located in a first area and a second apparatus of the plurality of apparatuses is located in a second area (generic computing components), and wherein the first apparatus is to scan a plurality of APIs in the first area and the second apparatus is to scan a plurality of APIs in the second area (abstract idea mental process).
Claim 14. The system of claim 10, wherein a first apparatus and a second apparatus of the plurality of apparatuses are to scan a common API (abstract idea mental process), wherein the second apparatus is a backup to the first apparatus (generic computing components).
As per claim 15, it has similar limitations as claim 5, and is therefore rejected using the same rationale.
As per claim 16, it has similar limitations as claim 6, and is therefore rejected using the same rationale.
As per claim 17, it has similar limitations as claims 1 and 3, and is therefore rejected using the same rationale.
Claim 18. The method of claim 17, wherein causing the transaction data to be recorded onto the decentralized blockchain further comprises:
initiating, by the processor, recording of the transaction data onto the blockchain (extra-solution activity of saving/storing/recording data/information).
As per claim 19, it has similar limitations as claim 9, and is therefore rejected using the same rationale.
As per claim 20, it has similar limitations as claim 6, and is therefore rejected using the same rationale.
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.
Claims 1, 4-5, and 7 are rejected under 35 U.S.C. 103 as being unpatentable over
Joyce et al. (US 2021/0240551) (hereinafter Joyce) in view of
Wang (US 2017/0302451) in view of
Gnanasambandam et al. (US 2023/0187036) (hereinafter Gnanasambandam) in view of
Coleman (US 2020/0401573).
As per claim 1, Joyce primarily teaches the invention as claimed including an apparatus comprising:
a processor (fig. 5, block 502 processors); and
a memory on which is stored machine-readable instructions that when executed by the processor (fig. 5, blocks 510-514 memory), cause the processor to:
wherein the specified label includes a counter that increments based on the API interacting with a computing resource for a caller of the API (abstract the at least one API counter is configured to count a number of times that the given API endpoint is accessed, and the API gateway increments a count of the at least one API counter by one and [0012] API requests are tracked using counters that are configured to count a number of times that APIs and variations of the APIs e.g., different parameters, methods, etc., of a given API are accessed);
read a value of a counter in the specified label ([0062] obtain counter values of the counters for the API requests that are issued, and the obtained counter values are analyzed and processed); and
record the read value of the counter ([0066] counter values within the counter groups of the customers, tenants, etc. are maintained over time e.g., days, months, etc. and then analyzed by the API request tracking system to identify usage patterns of services of the cloud computing system).
Joyce does not explicitly teach:
scan an application programming interface (API) for a specified label in the API,
record the read value of the counter and an identifier of an entity associated with the caller of the API onto a decentralized blockchain.
However, Wang teaches:
scan an application programming interface (API) for a specified label in the API ([0078] after the gateway of the first platform locates the API interface, a parameter with a special label is recognized from among the parameters of the API interface, and a determination may be made that the parameter that includes the special label is the third identifier UID and [0148] locate an API interface corresponding to the authorization token, check whether parameters in the API interface include a parameter of the special label, and obtain the parameter including the special label as the third identifier in response to the parameters in the API interface including the parameter of the special label).
Wang and Joyce are both concerned with APIs and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang because it would provide a way of receiving a first request sent by a second platform at the first platform, detecting, by the first platform, that the second platform uses the authorization token to call a corresponding API interface in the first platform, and receiving, by the first platform, the first request introduced by the second platform through the API interface. Obtaining a third identifier corresponding to the first request includes positioning an API interface corresponding to the authorization token, checking whether parameters in the API interface include a parameter of a special label, and obtaining the parameter including the special label as the third identifier if affirmative. Accordingly, after different second platforms perform respective services for the same third identifier, user identities returned to the second platforms are effectively isolated from each other. Furthermore, the system may also return different fourth identifiers for different identities of the same second platform, thus effectively solving the difficulty of recognizing a same user identity that is returned in a situation when a single second platform has multiple identities.
Joyce in view of Wang do not explicitly teach:
record the read value of the counter and an identifier of an entity associated with the caller of the API onto a decentralized blockchain.
However, Gnanasambandam teaches
record the read value of the counter onto a decentralized blockchain ([0351] the records of transactions relating to providing content on the distributed ledger may store an incremented counter value for a number of views of the content, a timestamp of the viewing of the content, as well as any information pertaining to the requesting entity. For example, the distributed ledger may determine whether the requesting entity is associated with an authorized credential and increment a counter value that indicates the content was viewed by another entity having an authorized credential and store the timestamp that the content was provided to a computing device associated with the requesting entity).
Gnanasambandam and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam because it would provide for a distributed ledger which may provide a verifiable trace of proof that the content stored on the distributed ledger is associated with entities having authorized credentials to facilitate more efficient verification of the information, among other things. The distributed ledger may provide a secure chain of record that is used to enhance the efficiency and/or security of the knowledge management process. A user's experience using a computer may be improved by verifying the source of content in a secure manner, such that the user is confident that the content is trustworthy because it was written by an entity having valid authorization information.
Joyce in view of Wang in view of Gnanasambandam do not explicitly teach:
record an identifier of an entity associated with the caller of the API onto a decentralized blockchain.
However, Coleman teaches:
record an identifier of an entity associated with the caller of the API onto a decentralized blockchain ([0036] when Client desires that one or more records or events generated by Data Source be written to a blockchain computer system, Client may obtain API services from Blockchain as a Service Portal Computer and API Call Processor Computer, which API services may result in the records being written to the blockchain computer system by API Call Processor Computer and [0075] map blockchain functions to API calls. For example, a blockchain function to store a value in a block in a blockchain datastore may map to an API call, wherein the API call may include a field identifying the called function as well as field(s) for argument(s) used in the function. Blockchain functions may be identified in one or more Blockchain Function records. API calls may be identified in one or more API records. Mapping between the function and the API call may be stored in, for example, one or more API Call Map records).
Coleman and Joyce are both concerned with APIs and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman because it would provide access to a blockchain computer system as a service to a non-blockchain computer system through an application programming interface, wherein the application programming interface is configured through a portal computer and wherein application programming interface calls are implemented by an application programming interface processing computer.
As per claim 4, Wang teaches wherein the instructions cause the processor to: scan the API at certain intervals of time ([0078] after the gateway of the first platform locates the API interface, a parameter with a special label is recognized from among the parameters of the API interface, and a determination may be made that the parameter that includes the special label is the third identifier UID and [0148] locate an API interface corresponding to the authorization token, check whether parameters in the API interface include a parameter of the special label, and obtain the parameter including the special label as the third identifier in response to the parameters in the API interface including the parameter of the special label).
As per claim 5, Joyce further teaches wherein the computing resource comprises at least one of a central processing unit (CPU) usage, a graphical processing unit (GPU) usage, or a pod ([0074] CPU and GPU).
As per claim 7, Gnanasambandam teaches wherein to cause the read value of the counter and the identifier of the entity to be recorded onto the decentralized blockchain, the instructions cause the processor to: record the read value of the counter, the identifier of the entity, and a timestamp of the recording in the decentralized blockchain ([0351] the records of transactions relating to providing content on the distributed ledger may store an incremented counter value for a number of views of the content, a timestamp of the viewing of the content, as well as any information pertaining to the requesting entity. For example, the distributed ledger may determine whether the requesting entity is associated with an authorized credential and increment a counter value that indicates the content was viewed by another entity having an authorized credential and store the timestamp that the content was provided to a computing device associated with the requesting entity and [0385] any time the content is updated and/or verified, a new timestamp may be stored with the content, along with identifying information of the entity that updated and/or verified the content in the distributed ledger).
Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Adams et al. (US 2025/0077479) (hereinafter Adams).
As per claim 2, Joyce in view of Wang in view of Gnanasambandam in view of Coleman do not explicitly teach wherein the API comprises a an API for a Kubernetes cluster.
However, Adams teaches wherein the API comprises a an API for a Kubernetes cluster (abstract dynamic monitoring of Kubernetes clusters based on associated API interfaces).
Adams and Joyce are both concerned with APIs and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Adams because it would provide for dynamic monitoring of a cluster for a list of associated objects. The cluster interface can broadcast this real-time data to the ingress interface for exposure to the client devices. By doing so, the system enables client devices to receive live broadcasts of compiled information relating to a variety of Kubernetes clusters, without knowledge of or communication with each cluster's API. Thus, in response to a query from a client device, the system can transmit filtered information relating to the query, where information irrelevant to the client device's query is removed from the transmission. As such, the system improves scalability of client-side queries of multiple Kubernetes clusters by reducing the information transmitted to the client devices.
Claims 3 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda et al. (US 2021/0034675).
As per claim 3, Joyce in view of Wang in view of Gnanasambandam in view of Coleman do not explicitly teach wherein the specified label comprises a key value pair including a type of counter and the value of the counter.
However, Nanda teaches wherein the specified label comprises a key value pair including a type of counter and the value of the counter (abstract provide a counter for each of a plurality of key/value pairs for storage system operations. The key uniquely identifies a logical storage unit on which operations associated with the key are performed, the value identifies an amount of data usage with respect to the operations performed on the logical storage unit, and the counter tracks a type of the operations).
Nanda and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda because it would provide for counters for gathering and tracking updates to operations, which are maintained as key/value pairs in a reverse order, sorted chain of tablets. The tablets are searchable, require very little memory, and minimize lock contention issues.
As per claim 17, it has similar limitations as claim 3, and is therefore rejected using the same rationale.
As per claim 18, Gnanasambandam teaches wherein causing the transaction data to be recorded onto the decentralized blockchain further comprises: initiating, by the processor, recording of the transaction data onto the blockchain ([0351] the records of transactions relating to providing content on the distributed ledger may store an incremented counter value for a number of views of the content, a timestamp of the viewing of the content, as well as any information pertaining to the requesting entity. For example, the distributed ledger may determine whether the requesting entity is associated with an authorized credential and increment a counter value that indicates the content was viewed by another entity having an authorized credential and store the timestamp that the content was provided to a computing device associated with the requesting entity).
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Harris et al. (US 2016/0246647) (hereinafter Harris).
As per claim 6, Joyce in view of Wang in view of Gnanasambandam in view of Coleman teach:
scan APIs for respective specified labels in the APIs (Wang [0078] after the gateway of the first platform locates the API interface, a parameter with a special label is recognized from among the parameters of the API interface, and a determination may be made that the parameter that includes the special label is the third identifier UID and [0148] locate an API interface corresponding to the authorization token, check whether parameters in the API interface include a parameter of the special label, and obtain the parameter including the special label as the third identifier in response to the parameters in the API interface including the parameter of the special label), wherein the respective specified labels include counters that increment based on the APIs interacting with at least one computing resource for at least one caller of the APIs (Joyce abstract the at least one API counter is configured to count a number of times that the given API endpoint is accessed, and the API gateway increments a count of the at least one API counter by one and [0012] API requests are tracked using counters that are configured to count a number of times that APIs and variations of the APIs e.g., different parameters, methods, etc., of a given API are accessed);
read values of the counters in the respective specified labels (Joyce [0062] obtain counter values of the counters for the API requests that are issued, and the obtained counter values are analyzed and processed);
record the read values of the counters (Gnanasambandam [0351] the records of transactions relating to providing content on the distributed ledger may store an incremented counter value for a number of views of the content, a timestamp of the viewing of the content, as well as any information pertaining to the requesting entity. For example, the distributed ledger may determine whether the requesting entity is associated with an authorized credential and increment a counter value that indicates the content was viewed by another entity having an authorized credential and store the timestamp that the content was provided to a computing device associated with the requesting entity) and identifiers of at least entity associated with the at least one caller of the APIs onto the decentralized blockchain (Coleman [0036] when Client desires that one or more records or events generated by Data Source be written to a blockchain computer system, Client may obtain API services from Blockchain as a Service Portal Computer and API Call Processor Computer, which API services may result in the records being written to the blockchain computer system by API Call Processor Computer and [0075] map blockchain functions to API calls. For example, a blockchain function to store a value in a block in a blockchain datastore may map to an API call, wherein the API call may include a field identifying the called function as well as field(s) for argument(s) used in the function. Blockchain functions may be identified in one or more Blockchain Function records. API calls may be identified in one or more API records. Mapping between the function and the API call may be stored in, for example, one or more API Call Map records).
Joyce in view of Wang in view of Gnanasambandam in view of Coleman do not explicitly teach:
aggregate the read values of the counters.
However, Harris teaches:
aggregate the read values of the counters ([0097] examine the performance counter values that were recorded by the worker threads, to produce an aggregate value for that application, and to write the aggregate value and/or any other contention-significant performance metrics that are based on or derived from the performance counter values or the aggregate value to a table in shared memory).
Harris and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Harris because it would provide a way for determining the performance counters whose values may be used to effectively separate combinations of applications for which performance is greatly affected by concurrent execution from combinations of applications for which concurrent execution does not appear to significantly affect performance. For one or more other applications, using the values of the identified contention-significant performance counters in determining the sockets and/or cores on which to schedule applications or software threads thereof for concurrent execution. In other words, profiling the multi-socket computing system itself, rather than just profiling specific workloads, to determine what information can be used to more effectively determine which programs and software threads thereof can be scheduled for execution on the same sockets without a significant loss of performance.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Jain (US 2025/0217216) (hereinafter Jian).
As per claim 8, Joyce in view of Wang in view of Gnanasambandam in view of Coleman do not explicitly teach wherein the instructions cause the processor to: scan the API as a backup of another apparatus that scans the API for the specified label.
However, Jain teaches wherein the instructions cause the processor to: scan the API as a backup of another apparatus that scans the API for the specified label ([0059] training data may also include a label for each respective API call, and the label may describe other operations that are part of the desired routing action such as an indication of an error at the exposed API and/or an associated backup server).
Jain and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Jain because it would provide output of a trained computerized model to indicate a particular exposed API that is best suited to handle the call from that software application or version thereof, while network load data may indicate to the API gateway a network or network paths to utilize and/or avoid.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Schmidt (US 2018/0137520).
As per claim 9, Gnanasambandam teaches wherein to record the read value of the counter and the identifier of the entity onto the decentralized blockchain, the instructions cause the processor to: output the read value of the counter and the identifier of the entity, initiate recordation of the read value of the counter, the identifier of the entity, and a timestamp of the recordation onto the decentralized blockchain ([0351] the records of transactions relating to providing content on the distributed ledger may store an incremented counter value for a number of views of the content, a timestamp of the viewing of the content, as well as any information pertaining to the requesting entity. For example, the distributed ledger may determine whether the requesting entity is associated with an authorized credential and increment a counter value that indicates the content was viewed by another entity having an authorized credential and store the timestamp that the content was provided to a computing device associated with the requesting entity and [0385] any time the content is updated and/or verified, a new timestamp may be stored with the content, along with identifying information of the entity that updated and/or verified the content in the distributed ledger).
Joyce in view of Wang in view of Gnanasambandam in view of Coleman do not explicitly teach an aggregator.
However, Schmidt teaches an aggregator ([0037] each aggregator can, upon receiving a message from a message queue of the message broker, increment a corresponding counter stored in a time series database and a respective counter can be incremented by a corresponding aggregator when a message corresponding to a particular condition associated with the respective counter is received).
Schmidt and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Schmidt because it would provide the use of APIs to enable modification, enhancement, or replacement of components while minimizing changes to connected components. APIs can also be provided to enable integration of additional extraction methods for new external data sources.
Claims 10 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt.
As per claim 10, it has similar limitations as claims 1, 3, and 9, and is therefore rejected using the same rationale.
As per claim 15, it has similar limitations as claim 5, and is therefore rejected using the same rationale.
Claims 11-12 are rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Karlsson (US 2020/0184038).
As per claim 11, Schmidt teaches the aggregator ([0037] each aggregator can, upon receiving a message from a message queue of the message broker, increment a corresponding counter stored in a time series database and a respective counter can be incremented by a corresponding aggregator when a message corresponding to a particular condition associated with the respective counter is received).
Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt do not explicitly teach:
receive read values of counters from the plurality of apparatuses;
aggregate the received read values of the counters; and
initiate recording of the aggregated read values of the counters and identifiers of entities associated with callers of APIs from which the values of the counters were read onto the decentralized blockchain.
However, Karlsson teaches:
receive read values of counters from the plurality of apparatuses ([0005] each component or node in the distributed computing system maintains a local view of each count value. Each local view is maintained, by recording the state or value of a local counter periodically and [0008] local count values and remote count values maintained at any node within the distributed computing system are used to determine a global state or global counter value at individual nodes in the distributed computing system);
aggregate the received read values of the counters ([0042] adding local counter values and [0045] adding remote counter values); and
initiate recording of the aggregated read values of the counters and identifiers of entities associated with callers of APIs from which the values of the counters were read onto the decentralized blockchain ([0042] and [0045] each node includes a counter, the version identifier is a timestamp and the ledger includes a plurality of rows and a hash is then generated using the current counter and associated timestamp in the current row in combination with the preceding row in the ledger. The resulting hash is stored in the top row, i.e., the new row of the ledger along with the current counter and associated timestamp).
Karlsson and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Karlsson because it would provide for a distributed computing system including one or more databases or ledgers. These ledgers can be used to store software that is executed by the nodes in the system to facilitate the operation of the distributed computing system. The ledgers can store information on the subscriptions, services or products available to users. The ledgers can also include data that is being accessed by the nodes for users of the distributed computing system and software programs that are executed on the nodes for the users.
As per claim 12, the combination of references above teaches wherein the at least one computing resource comprises a plurality of computing resources, and wherein the aggregator is to:
determine a certain entity of the entities that associated with callers of APIs that interacted with the at least one computing resource (Coleman [0022] clients of the Blockchain as a Service Portal Computer may configure options in relation to their Client account with the Blockchain as a Service Portal, may select an application and a data source of the Client which is going to make API calls, may provide a rate of API call, a data sample, and may configure confirmation replies which may be send in reply to API calls);
aggregate, for the certain entity, the read values of the counters in the APIs for the caller associated with the certain entity (Karlsson [0042] adding local counter values and Karlsson [0045] adding remote counter values); and
record, for the certain entity, data including the read values, the identifier of the certain entity, and timestamps of the recording onto the blockchain (Karlsson [0042] and Karlsson [0045] each node includes a counter, the version identifier is a timestamp and the ledger includes a plurality of rows and a hash is then generated using the current counter and associated timestamp in the current row in combination with the preceding row in the ledger. The resulting hash is stored in the top row, i.e., the new row of the ledger along with the current counter and associated timestamp).
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Abhigyan et al. (US 2022/0174485) (hereinafter Abhigyan).
As per claim 13, Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt does not explicitly teach wherein a first apparatus of the plurality of apparatuses is located in a first area and a second apparatus of the plurality of apparatuses is located in a second area, and wherein the first apparatus is to scan a plurality of APIs in the first area and the second apparatus is to scan a plurality of APIs in the second area.
However, Abhigyan teaches wherein a first apparatus of the plurality of apparatuses is located in a first area and a second apparatus of the plurality of apparatuses is located in a second area, and wherein the first apparatus is to scan a plurality of APIs in the first area and the second apparatus is to scan a plurality of APIs in the second area (fig. 2E and [0073] single server may communicate with multiple network API services in different locations depending on the geographical regions in which the users operate).
Abhigyan and Joyce are both concerned with APIs and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Abhigyan because it would provide a way for a user to make a request of a centralized network API service and user may be redirected to a different network API service to reduce latency and network bandwidth consumption. For example, a shortest and/or fastest path through access network, and a shortest and/or fastest path through core network may be determined as well as application-level metrics regarding edge cloud locations.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Jain.
As per claim 14, the combination of references above teaches wherein a first apparatus and a second apparatus of the plurality of apparatuses are to scan a common API (Joyce [0036] common path for the API and [0039] same API endpoint), wherein the second apparatus is a backup to the first apparatus (Jain [0059] training data may also include a label for each respective API call, and the label may describe other operations that are part of the desired routing action such as an indication of an error at the exposed API and/or an associated backup server).
Jain and Joyce are both concerned with counters in computing environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Jain because it would provide output of a trained computerized model to indicate a particular exposed API that is best suited to handle the call from that software application or version thereof, while network load data may indicate to the API gateway a network or network paths to utilize and/or avoid.
Claim 16 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt in view of Harris.
As per claim 16, it has similar limitations as claim 6, and is therefore rejected using the same rationale.
Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Schmidt.
As per claim 19, it has similar limitations as claim 9, and is therefore rejected using the same rationale.
Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Joyce in view of Wang in view of Gnanasambandam in view of Coleman in view of Nanda in view of Harris.
As per claim 20, it has similar limitations as claim 6, and is therefore rejected using the same rationale.
Citation of Relevant Prior Art
The prior art made of record and not relied upon is considered pertinent to Applicant's disclosure:
Van Vredendaal et al. (US 2024/0430099) disclose accelerate and secure hash-based signature computations.
Zhang et al. (US 2025/0190986) disclose verifying data integrity of data stored in block-level data storage across multiple blockchains.
Yotov (US 12,002,047) disclose Blockchain-verified Digital-identity-and-derivatives Archetype-based Transaction Processing And Implementation.
Wang et al. (US 11,481,243) disclose service access across Kubernetes clusters.
Stylos et al. (US 2021/0208865) disclose code registration to detect breaking API changes.
Singh (US 2024/0154814) disclose validating API leveraging non fungible token.
Patangia et al. (US 2020/0026785) disclose data manifest as a blockchain service.
Paczkowski (US 2023/0318842) disclose API and distributed ledger.
Kim (US 2021/0374731) discloses consensus-based access control for smart contract functions.
Caplovitz (US 11,366,916) discloses securing and sharing data using distributed ledgers.
Blackshear et al. (US 2020/0394154) disclose scalable, secure, efficient, and adaptable distributed digital ledger transaction networks.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Adam Lee whose telephone number is (571) 270-3369. The examiner can normally be reached on M-TH 8AM-5PM.
If attempts to reach the above noted Examiner by telephone are unsuccessful, the Examiner’s supervisor, Pierre Vital, can be reached at the following telephone number: (571) 272-4215. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
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) Form at https://www.uspto.gov/patents/uspto-automated-interview-request-air-form.
/Adam Lee/Primary Examiner, Art Unit 2198 July 23, 2026