Prosecution Insights
Last updated: July 17, 2026
Application No. 18/352,795

BLOCKCHAIN-BASED DATA PROCESSING METHOD AND APPARATUS, DEVICE, AND STORAGE MEDIUM

Non-Final OA §103
Filed
Jul 14, 2023
Priority
Oct 09, 2021 — CN 202111176926.2 +1 more
Examiner
HICKS, SHIRLEY D.
Art Unit
2168
Tech Center
2100 — Computer Architecture & Software
Assignee
Tencent Technology (Shenzhen) Company Limited
OA Round
4 (Non-Final)
63%
Grant Probability
Moderate
4-5
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 63% of resolved cases
63%
Career Allowance Rate
70 granted / 111 resolved
+8.1% vs TC avg
Strong +55% interview lift
Without
With
+55.2%
Interview Lift
resolved cases with interview
Typical timeline
2y 10m
Avg Prosecution
31 currently pending
Career history
149
Total Applications
across all art units

Statute-Specific Performance

§103
74.5%
+34.5% vs TC avg
§102
25.3%
-14.7% vs TC avg
§112
0.2%
-39.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 111 resolved cases

Office Action

§103
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 . Response to Amendments The action is responsive to the Applicant’s Amendment filed on 11/06/2025. Claims 1-20 are pending in the application. Claims 1, 13, and 18 are amended. Response to Arguments Applicant’s arguments with respect to the rejections of claims 1-20 have been fully considered. In view of the claim amendment filed, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made. In regards to independent claim 1, Applicant argued that cited reference Chiou “fails to address that there are different cache eviction mechanisms for each cache region in a total cache region and that each mechanism for each cache region is independent of each other.” In response to the arguments, it is submitted the cited limitations are being properly addressed by Chiou based at least on Chiou disclosing the following: Firstly, Chiou explicitly teaches that there are different cache eviction mechanisms for each cache region in a total cache region in Fig. 3 and [Col. 7, lines 35-45] by stating, “A replacement policy can be specified for each memory region such that the memory region data is placed into the corresponding mapped cache region using the specified replacement policy.” Although the Applicant argues that “The Office Action appears to incorrectly equate the specific replacement policy for each memory region with the independent eviction mechanism for each cache region,” Chiou discloses in [Col. 1, lines 34-38] that the replacement policy is “the rules for making room for new data being copied into the cache when the cache is already full.” He continues by disclosing in [Col. 2, lines 62-65] that the replacement policy equates to the cache eviction mechanism, stating, “In the fully-associative and set-associative cache organizations, any one of multiple entries can be evicted. In these cases, the method of selecting a particular entry for eviction is called the replacement policy.” Thus, for at least the reasons as set forth above, it is submitted that the Office Action correctly equates the specific replacement policy for each memory region with the independent eviction mechanism for each cache region. Secondly, Chiou explicitly discloses that each mechanism for each cache region is independent of each other in [Col. 7, lines 35-45] by stating, “Accordingly, in a system having a cache and a memory, a method of managing the cache includes dividing the cache into at least two cache regions… A replacement policy can be specified for each memory region such that the memory region data is placed into the corresponding mapped cache region using the specified replacement policy.” As noted above, the replacement policy equates to the cache eviction mechanism because it contains the rules for making room for new data being copied into the cache when the cache is already full, including the method of selecting a particular entry for eviction. Since Chiou explicitly teaches dividing the cache into at least two cache regions and a replacement policy can be specified for each memory region, Chiou discloses that each cache region is independent of each other. Thus, for at least the reasons as set forth above, it is submitted that Chiou discloses that there are different cache eviction mechanisms for each cache region in a total cache region and that each mechanism for each cache region is independent of each other. Therefore, the limitations of claim 1 are properly addressed. In regards to independent claims 13 and 18, the emphasized limitations that the Applicant argues in claims 13 and 18 are similar to the emphasized limitations of claim 1, which have been addressed above. See the response of claim 1 above for explanation. Further, regarding the new limitations recited in claims 1, 13, and 18 it is submitted that they are properly addressed by the new ground of rejection. Furthermore, it is also submitted that all limitations in pending claims, including those not specifically argued, are properly addressed. The reason is set forth in the rejections. See claim analysis below for detail. 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 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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Fang et al. (US 20210349770 A1) in view of Chiou et al (US 6370622 B1), Nenov et al (US 20050262306 A1), and Messanakis et al. (Smart-Views: Decentralized OLAP View Management Using Blockchains, September 5, 2021, pp. 216-221). Regarding Claim 1, Fang discloses a blockchain-based data processing method, performed by a computer device ([Abstract]: a first application programming interface of the plurality of application programming interfaces enables a user of the service platform to invoke a smart contract on a blockchain managed by a blockchain network), comprising: acquiring a cache application instruction for a target custom contract ([0010]: a computer-implemented method blockchain-based data storage comprises: receiving data for storage from a service platform… storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; Fig. 8; [0197]: In some embodiments, the virtual machine 808 can be configured to perform smart contract operations by executing instructions of a smart contract programming language; See also Fig. 19), and creating a cache region associated with the target custom contract in a total cache region of a blockchain node according to custom cache creation parameters in the cache application instruction (Fig. 8; [0207]: In some embodiments, a plurality of smart contract pools 816 can be created in the blockchain database 812 to store at least a portion of the mutable data managed by the smart contracts in the smart contract data cache 806; See also Fig. 19, storing module 1904). However, Fang does not explicitly teach “the total cache region comprising at least two cache regions, wherein each cache region stores different types of cached contract data, and a cache eviction mechanism for each cache region in the total cache region being independent of each other, the cache eviction mechanism releasing partial cached contract data after a target cache region is determined; receiving to-be-cached contract data, including a to-be-cached capacity of the to-be cached contract data, corresponding to the target custom contract; searching for the cache region associated with the target custom contract in the at least two cache regions; taking the cache region associated with the target custom contract as a target cache region; determining an available cache capacity of the target cache region; evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region when the available cache capacity of the target cache region is less than the to-be-cached capacity of the to-be-cached contract data; obtaining a new available cache capacity, the new available cache capacity being greater than the to-be-cached capacity; and storing the to-be-cached contract data into the target cache region according to the new available cache capacity.” On the other hand, in the same field of endeavor, Chiou teaches the total cache region comprising at least two cache regions, wherein each cache region stores different types of cached contract data, and a cache eviction mechanism for each cache region in the total cache region being independent of each other (Fig. 3; [Col. 7, lines 35-45]: Accordingly, in a system having a cache and a memory, a method of managing the cache includes dividing the cache into at least two cache regions; mapping data designated by some criteria… A replacement policy can be specified for each memory region such that the memory region data is placed into the corresponding mapped cache region using the specified replacement policy). Additionally, Nenov teaches the cache eviction mechanism releasing partial cached contract data after a target cache region is determined (Fig. 5; [0042]: In the LRU eviction policy embodiment, the LRU soft data is evicted first. In a process block 525, dynamic cache 125 is contracted to release portions of memory 105 consumed by the recently evicted soft data. Finally, in a process block 530, one or more of applications 115 can expand into the newly released portions of memory 105); Furthermore, Messanakis teaches receiving to-be-cached contract data, including a to-be-cached capacity of the to-be cached contract data, corresponding to the target custom contract ([Page 220]: For each dataset, we started with a blockchain containing 100000 records… In Fig. 2 we plot the number of blockchain records read for the three different eviction policies and the three workloads used, as we varied the View Cache size from 10% up to 40% of each workload result size in increments of 5%); searching for the cache region associated with the target custom contract in the at least two cache regions ([Pages 216-217]: Each user group may have its own analytical queries focusing on specific aspects of the data… Their needs will be accommodated by their local node that… manages local user inquires via the smart views API); taking the cache region associated with the target custom contract as the target cache region ([Pages 217-218]: Additionally, an in-memory database acts as a View Cache, providing fast access to their derived data. This cache is used to serve multiple user requests on a node… we also propose and compare algorithms that can manage effectively the smart views content cached in the in-memory database); determining an available cache capacity of the target cache region ([Pages 216-217]: Smart views can trigger computations enabling complex data analysis workflows… A smart view V is defined by projecting the fact table records on a subset DV ⊆ D of the available dimensions; [Pages 219]: Our proposed cost-based view eviction policy (COST) lists the views in the cache… then discards views from the cache by scanning this list until enough space is generated for storing the new result); evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region to obtain a new available cache capacity when an available cache capacity of the target cache region is less than a to-be-cached capacity of the to-be-cached contract data ([Pages 219-220]: For a newly computed view V, we order the views in the cache in decreasing order based on their distance from V and discard views until enough space is generated as a result of these evictions… In order to test the View Cache we implemented three eviction policies); and obtaining a new available cache capacity, the new available cache capacity being greater than the to-be-cached capacity [Pages 219-220]: The eviction process then discards views from the cache by scanning this list until enough space is generated for storing the new result); storing the to-be-cached contract data into the target cache region according to the new available cache capacity ([Pages 219-220]: storing the new result… Thus, at end of the run, the blockchain stored 200000 fact table records). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Fang to incorporate the teachings of Chiou, Nenov, and Messanakis to include receiving to-be-cached data, searching for the cache region, taking the region as a target region, determining an available capacity, evicting cached data, obtaining a new available cache capacity, and storing the data. The motivation for doing so would be to isolate regions of memory from each other, as recognized by Chiou ([Col. 7, lines 32-35] of Chiou: One application of this capability is that it allows a single program that uses different regions of memory in different ways the ability to isolate those regions from each other), to release partial cached data when memory is scarce, as recognized by Nenov ([0012] of Nenov: FIG. 5 is a flow chart illustrating a process for contracting a dynamic cache when memory is scarce to release memory for other uses), and to expedite computation and maintenance of smart contracts, as recognized by Messanakis ([Abstract] of Messanakis: We also exploit the ledger for storing smart views, i.e. definitions of frequent data cube computations in the form of smart contracts. Our techniques model and take into consideration existing interdependencies between the smart views to expedite their computation and maintenance). Regarding Claim 2, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches wherein acquiring a cache application instruction for a target custom contract comprises: acquiring a cache application request ([0010]: a computer-implemented method blockchain-based data storage comprises: receiving data for storage from a service platform… storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; Fig. 19; [0402]: a receiving module 1902 that receives from a computing device associated with a user, an encryption key and data for custom clearance for storage on a blockchain), the cache application request comprising a cache application contract identifier and custom cache creation parameters associated with a target custom contract ([0051]: These technologies generally involve… storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract); invoking a cache application contract indicated by the cache application contract identifier in the cache application request ([0010]: upon receiving clearance data associated with an order, the service modules are configured to store at least a portion of the clearance data in a blockchain or a smart contract data cache); and executing, in a contract virtual machine, the cache application contract according to the custom cache creation parameters to obtain a cache application instruction for the target custom contract, the cache application instruction comprising the custom cache creation parameters ([0019]: storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract; [0051]-[0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition… invoking a virtual machine to execute the configuration file). Regarding Claim 3, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches, wherein: creating a cache region associated with the target custom contract in the total cache region according to custom cache creation parameters in the cache application instruction is performed when it is verified that the cache application instruction satisfies a cache application condition ([0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition; Fig. 8; [0207]: In some embodiments, a plurality of smart contract pools 816 can be created in the blockchain database 812 to store at least a portion of the mutable data managed by the smart contracts in the smart contract data cache 806), the operation of verifying whether the cache application instruction satisfies the cache application condition comprises: acquiring one or more cache approval results for the cache application instruction through a cache approval component when a consensus on the cache application instruction is reached in a consensus network, each cache approval result being data on which a consensus is reached in the consensus network ([0018]: storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; initiating, a consensus algorithm to record the immutable data on a blockchain; [0047]-[0050]: wherein the encrypted first data are stored on the blockchain through consensus of blockchain nodes of the blockchain network; [0082]: The final result is that a sufficient number of consensus nodes come to an agreement on the order of the record that is to be added to the blockchain, and the record is either accepted, or rejected); and determining that the cache application instruction satisfies the cache application condition when among the one or more cache approval results, a number of cache approval results indicating that cache approval succeeds is greater than an approval threshold value ([0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition; Fig. 20; [0419]-[0422]: At 2002, the blockchain node determines that data stored in a cache storage satisfies a predetermined condition). Regarding Claim 4, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches wherein the custom cache creation parameters comprise a contract identifier ([0019]: wherein the data includes public data and private data, and the encryption key encrypts the private data; storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract) and a pre-allocated cache capacity of the target custom contract ([0206]: The cache storage can be a relatively high-speed, high-cost, and low capacity storage medium, as compared to other storage media such as hard disk drives. When the volume of the KVPs exceeds a certain threshold (e.g., 5 GB), a cache-miss state may incur); and creating a cache region associated with the target custom contract in a total cache region according to custom cache creation parameters in the cache application instruction comprises: acquiring a pre-allocated cache region corresponding to the pre-allocated cache capacity from a total cache region ([0086]-[0089]: At least portions of so-called trusted applications (TAs) execute within the TEE, and have access to the processor and memory… Each EPC is a memory set (e.g., 4 KB) that is allocated by an OS to load application data and code in the PRM… In operation, the TA runs and creates an enclave within the PRM of the memory); and mapping the pre-allocated cache region and the contract identifier of the target custom contract to obtain a cache region associated with the target custom contract ([0088]: More particularly, an enclave is provided as an enclave page cache (EPC) in memory and is mapped to an application address space). Regarding Claim 5, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches, wherein evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region to obtain a new available cache capacity comprises: acquiring a first access record list corresponding to the target cache region, the first access record list comprising a recent data access time respectively corresponding to at least two pieces of cached contract data ([0080]: The consensus node also determines the hash value of the most recent block in the blockchain (i.e., the last block added to the blockchain). The consensus node also adds a nonce value, and a timestamp to the block header), and the target cache region comprising the at least two pieces of cached contract data ([0200]: In general, the mutable data can include document type, document ID, document state, modifiable data of the document content); taking cached contract data whose recent data access time is the earliest as to-be-evicted target contract data in the target cache region (Fig. 20; [0422]: In some cases, the predetermined condition is satisfied if the at least a portion of the data is received at a predetermined time period different from a remainder of the data other than the at least a portion of the data); and releasing the to-be-evicted target contract data, and taking an available cache capacity of the target cache region from which the to-be-evicted target contract data is released as a new available cache capacity (Fig. 8; [0064]: The smart contract pools can… reduce storage cost by shifting data from cache to database storage; [0207]: The at least a portion of the mutable data can then be moved from the high-cost cache storage to the blockchain database 812 to lower the overall storage cost; Fig. 20; [0423]: In some cases, the blockchain includes a plurality of smart contract pools created during the predetermined time period, and the process 2000 further comprising invoking an API to enable a blockchain node to initiate a consensus algorithm to record the at least a portion of the data to the plurality of smart contract pools). Regarding Claim 6, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches, wherein evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region to obtain a new available cache capacity comprises: acquiring a second access record list corresponding to the target cache region, the second access record list comprising a number of data accesses respectively corresponding to at least two pieces of cached contract data within a target time period, and the target cache region comprising the at least two pieces of cached contract data ([0080]: The consensus node also determines the hash value of the most recent block in the blockchain (i.e., the last block added to the blockchain). The consensus node also adds a nonce value, and a timestamp to the block header [A nonce is implemented as a counter that must be unique and must increase with each call to the API]); taking cached contract data with the least number of data accesses as to-be-evicted target contract data in the target cache region ([0020]: determining that data stored in a cache storage satisfies a predetermined condition; Fig. 20; [0419]-[0422]: At 2002, the blockchain node determines that data stored in a cache storage satisfies a predetermined condition; [the least number of data accesses is a predetermined condition]); and releasing the to-be-evicted target contract data, and taking an available cache capacity of the target cache region from which the to-be-evicted target contract data is released as a new available cache capacity (Fig. 8; [0064]: As the smart contract data accumulates, it may be cost prohibitive to store all of them in high cost storage media such as cache… shifting data from cache to database storage; [0207]: The at least a portion of the mutable data can then be moved from the high-cost cache storage to the blockchain database 812). Regarding Claim 7, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches wherein evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region to obtain a new available cache capacity comprises: acquiring a data storage record list corresponding to the target cache region, the data storage record list comprising a data cache time respectively corresponding to at least two pieces of cached contract data ([0080]: The consensus node also adds… a timestamp to the block header; [0212]: the smart contract can be associated with the time of creation expressed as MMYYYY, where MM represents the month of creation and YYYY represents the year of creation. As such, mutable data created during a particular month can be stored in the smart contract pool created in that month), and the target cache region comprising the at least two pieces of cached contract data ([0051]: storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract; Fig. 8; [0200]: The smart contract data cache 806… can also store index data; Fig. 19; a storing module 1904 that stores the encryption key and an ID of the data in a cache storage); taking cached contract data with an earliest data cache time as to-be-evicted target contract data in the target cache region ([0422]: In some cases, the predetermined condition is satisfied if the at least a portion of the data is received at a predetermined time period different from a remainder of the data other than the at least a portion of the data); and releasing the to-be-evicted target contract data, and taking an available cache capacity of the target cache region from which the to-be-evicted target contract data is released as a new available cache capacity ([0064]: The smart contract pools can… reduce storage cost by shifting data from cache to database storage; Fig. 8; [0207]: The at least a portion of the mutable data can then be moved from the high-cost cache storage to the blockchain database 812 to lower the overall storage cost). Regarding Claim 8, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 1. Fang further teaches further comprising: receiving a data query request through a cache routing component, the data query request comprising a contract identifier of a to-be-executed contract (Fig. 3; [0096]: Those participants can perform functions including one or more of adding new documents 320, querying documents 322; Fig. 5; [0184]: The custom clearance service platform 504 can provide an API (e.g., QueryMember<orderID>) to enable the administrator to query or look up members); and searching for queried cached data associated with the contract identifier of the to-be-executed contract in the at least two cache regions through the cache routing component. ([0140]: To query the data, an authorized user can search the smart contract data cache to obtain the hash value and the encrypted version of the symmetric key). Regarding Claim 9, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 8. Chiou further teaches wherein the at least two cache regions comprise a general-purpose contract cache region and N custom contract cache regions; the N custom contract cache regions comprise the target cache region; N is an integer greater than or equal to 0 (Fig. 3; [Col. 7, lines 35-45]: Accordingly, in a system having a cache and a memory, a method of managing the cache includes dividing the cache into at least two cache regions; mapping data designated by some criteria such as memory address, memory operation, or memory operation instruction address, to at least one of the cache regions [Nonfunctional descriptive material describing different types of information elements that are not functionally involved in the steps recited. None of the claimed steps are depending on any of the information being described.]); Additionally, Fang teaches the general-purpose contract cache region comprises cached contract data corresponding to one or more general-purpose contracts; cached contract data stored in one custom contract cache region corresponds to a custom contract associated with the custom contract cache region ([Page 216]: Their needs will be accommodated by their local node that (i) syncs data updates from the shared data warehouse ledger, (ii) manages local user inquires via the smart views API we provide and (iii) caches local results so that subsequent queries are expedited). Additionally, Fang teaches searching for queried cached data associated with the contract identifier of the to-be-executed contract in the at least two cache regions through the cache routing component comprises: acquiring custom contract identifiers corresponding to custom contracts that are associated with the N custom contract cache regions through the cache routing component ([0010]: upon receiving clearance data associated with an order, the service modules are configured to store at least a portion of the clearance data in a blockchain or a smart contract data cache; [0019]: storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract); searching for the contract identifier of the to-be-executed contract in the custom contract identifiers (Fig. 8; [0140]: To query the data, an authorized user can search the smart contract data cache to obtain the hash value and the encrypted version of the symmetric key); searching for queried cached data associated with the contract identifier of the to-be-executed contract in a custom contract cache region that is associated with a custom contract corresponding to the contract identifier of the to-be-executed contract through the cache routing component when a custom contract identifier that is the same as the contract identifier of the to-be-executed contract is found out from the custom contract identifiers ([0156]: Examples of a data structure of order data and logistics data stored in the smart contract data cache are provided in the description of FIG. 6. As such, when the order document or logistics transactions are searched through its corresponding document ID later on, the hash values of the logistics documents associated with the order can be found under the same data structure); and searching for queried cached data associated with the contract identifier of the to-be-executed contract in the general-purpose contract cache region through the cache routing component when the custom contract identifier that is the same as the contract identifier of the to-be-executed contract is not found out from the custom contract identifiers (Fig. 5; [0156]-[0158]: The document IDs can then be used to locate the corresponding documents from the blockchain stored in the blockchain database). Regarding Claim 10, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 8. Fang further teaches wherein: the data query request further comprises a to-be-executed transaction for invoking the to-be-executed contract ([0156]: To begin, a client sends a request to the primary consensus node to invoke a service operation (e.g., execute a transaction within the blockchain network)); the at least two cache regions further comprise a block cache region and a transaction cache region; the block cache region is used for storing cached block data corresponding to a to-be-uploaded block that is not written into a blockchain ledger; the transaction cache region is used for storing cached transaction data corresponding to a to-be-uploaded transaction that is not written into the blockchain ledger (Fig. 3; [0104]: The storage of data on the blockchain 362 can include smart contract data cache 364 storage and blockchain database 366 storage [Nonfunctional descriptive material describing different types of information elements that are not functionally involved in the steps recited. None of the claimed steps are depending on any of the information being described.]); and searching for queried cached data associated with the contract identifier of the to-be-executed contract in the at least two cache regions through the cache routing component comprises: traversing, in the cache routing component, cached transaction data in the transaction cache region according to the contract identifier of the to-be-executed contract and the to-be-executed transaction ([0204]: To query the data, a permitted user can search the smart contract data cache 806 to obtain the hash value and the encrypted version of the symmetric key; taking traversed cached transaction data as queried cached data when cached transaction data associated with the contract identifier of the to-be-executed contract and the to-be-executed transaction is traversed in the transaction cache region ([0243]: In some cases, linking the first data with the second data comprises enabling a user to search for the logistics document by searching for the order identifier in the data structure corresponding to the order, and searching for the logistics transaction identifier linked to the order identifier); traversing, in the cache routing component, cached block data in the block cache region according to the contract identifier of the to-be-executed contract and the to-be-executed transaction when the cached transaction data associated with the contract identifier of the to-be-executed contract and the to-be-executed transaction is not traversed in the transaction cache region; taking traversed cached block data as queried cached data when cached block data associated with the contract identifier of the to-be-executed contract and the to-be-executed transaction is traversed in the block cache region ([0244]: In some cases, the process 1000 further comprising: at the service platform, providing an API to enable the service authority to search for the order identifier, and search for the logistics transaction identifier linked to the order identifier); and acquiring queried cached data associated with the contract identifier of the to-be-executed contract from a blockchain database when the cached block data associated with the contract identifier of the to-be-executed contract and the to-be-executed transaction is not traversed in the block cache region ([0204]: To query the data, a permitted user can search the smart contract data cache 806 to obtain the hash value and the encrypted version of the symmetric key; Fig. 10; [0241]-[0244]: At 1006, the computer system sends the encrypted first data to a blockchain network to store the encrypted first data on a blockchain managed by the blockchain network… providing an API to enable the service authority to search for the order identifier, and search for the logistics transaction identifier linked to the order identifier). Regarding Claim 11, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 10. Fang further teaches wherein the to-be-uploaded block comprises one or more to-be-uploaded transactions ([0067]: Each block also includes a timestamp, its own cryptographic hash, and one or more transactions; [0078]: Transaction data of multiple transactions are hashed and stored in a block); and the method further comprises: releasing cached block data corresponding to the to-be-uploaded block from the block cache region when the to-be-uploaded block is written into the blockchain ledger; and releasing cached transaction data corresponding to the one or more to-be-uploaded transactions in the to-be-uploaded block from the transaction cache region (Fig. 8; [0064]: As the smart contract data accumulates, it may be cost prohibitive to store all of them in high cost storage media such as cache. In some embodiments, the smart contract data can be stored in a so-called smart contract pool on the blockchain). Regarding Claim 12, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the method according to claim 8. Fang further teaches wherein: the at least two cache regions further comprise a system cache region ([0156]: Examples of a data structure of order data and logistics data stored in the smart contract data cache are provided in the description of FIG. 6); the system cache region comprises cached contract data respectively corresponding to one or more system contracts ([0063]: The smart contract data cache can be a storage medium with faster read and write speed but higher storage cost… The smart contract data cache can be used to store mutable data in the form of smart contract data); and searching for queried cached data associated with the contract identifier of the to-be-executed contract in the at least two cache regions through the cache routing component comprises: acquiring system contract identifiers corresponding to the one or more system contracts ([0019]: at a service platform, receiving, from a computing device associated with a user, an encryption key and data… storing the encryption key and an identifier (ID) of the data in a cache storage); searching for the contract identifier of the to-be-executed contract in the system contract identifiers (Fig. 8; [0204]: To query the data, a permitted user can search the smart contract data cache 806 to obtain the hash value and the encrypted version of the symmetric key); and searching for queried cached data associated with the contract identifier of the to-be-executed contract in the system cache region that is associated with a system contract corresponding to the contract identifier of the to-be-executed contract through the cache routing component when a system contract identifier that is the same as the contract identifier of the to-be-executed contract is found out from the system contract identifiers ([0156]: As such, when the order document or logistics transactions are searched through its corresponding document ID later on, the order ID and its corresponding logistics transaction ID(s) can be found under the same data structure. The document IDs can then be used to locate the corresponding documents from the blockchain stored in the blockchain database). Regarding Claim 13, Fang discloses a non-transitory computer readable medium storing a plurality of instructions, wherein the plurality of instructions ([0455]: This specification also provides one or more non-transitory computer-readable storage media coupled to one or more processors and having instructions stored thereon), when executed by a processor, configure the processor to: acquire a cache application instruction for a target custom contract ([0010]: a computer-implemented method blockchain-based data storage comprises: receiving data for storage from a service platform… storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; Fig. 8; [0197]: In some embodiments, the virtual machine 808 can be configured to perform smart contract operations by executing instructions of a smart contract programming language; See also Fig. 19); create a cache region associated with the target custom contract in a total cache region of a blockchain node according to custom cache creation parameters in the cache application instruction (Fig. 8; [0207]: In some embodiments, a plurality of smart contract pools 816 can be created in the blockchain database 812 to store at least a portion of the mutable data managed by the smart contracts in the smart contract data cache 806; See also Fig. 19, storing module 1904). However, Fang does not explicitly teach “the total cache region comprising at least two cache regions, wherein each cache region stores different types of cached contract data, and a cache eviction mechanism for each cache region in the total cache region being independent of each other, the cache eviction mechanism releasing partial cached contract data after a target cache region is determined; receiving to-be-cached contract data, including a to-be-cached capacity of the to-be cached contract data, corresponding to the target custom contract; searching for the cache region associated with the target custom contract in the at least two cache regions; taking the cache region associated with the target custom contract as a target cache region; determining an available cache capacity of the target cache region; evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region when the available cache capacity of the target cache region is less than the to-be-cached capacity of the to-be-cached contract data; obtaining a new available cache capacity, the new available cache capacity being greater than the to-be-cached capacity; and storing the to-be-cached contract data into the target cache region according to the new available cache capacity.” On the other hand, in the same field of endeavor, Chiou teaches the total cache region comprising at least two cache regions, wherein each cache region stores different types of cached contract data, and a cache eviction mechanism for each cache region in the total cache region being independent of each other (Fig. 3; [Col. 7, lines 35-45]: Accordingly, in a system having a cache and a memory, a method of managing the cache includes dividing the cache into at least two cache regions; mapping data designated by some criteria… A replacement policy can be specified for each memory region such that the memory region data is placed into the corresponding mapped cache region using the specified replacement policy). Additionally, Nenov teaches the cache eviction mechanism releasing partial cached contract data after a target cache region is determined (Fig. 5; [0042]: In the LRU eviction policy embodiment, the LRU soft data is evicted first. In a process block 525, dynamic cache 125 is contracted to release portions of memory 105 consumed by the recently evicted soft data. Finally, in a process block 530, one or more of applications 115 can expand into the newly released portions of memory 105); Furthermore, Messanakis teaches receive to-be-cached contract data, including a to-be-cached capacity of the to-be cached contract data, corresponding to the target custom contract ([Page 220]: For each dataset, we started with a blockchain containing 100000 records… In Fig. 2 we plot the number of blockchain records read for the three different eviction policies and the three workloads used, as we varied the View Cache size from 10% up to 40% of each workload result size in increments of 5%); search for the cache region associated with the target custom contract in the at least two cache regions ([Pages 216-217]: Each user group may have its own analytical queries focusing on specific aspects of the data… Their needs will be accommodated by their local node that… manages local user inquires via the smart views API); take the cache region associated with the target custom contract as a target cache region ([Pages 217-218]: Additionally, an in-memory database acts as a View Cache, providing fast access to their derived data. This cache is used to serve multiple user requests on a node… we also propose and compare algorithms that can manage effectively the smart views content cached in the in-memory database); determine an available cache capacity of the target cache region ([Pages 216-217]: Smart views can trigger computations enabling complex data analysis workflows… A smart view V is defined by projecting the fact table records on a subset DV ⊆ D of the available dimensions; [Pages 219]: Our proposed cost-based view eviction policy (COST) lists the views in the cache… then discards views from the cache by scanning this list until enough space is generated for storing the new result); evict cached contract data in the target cache region according to the cache eviction mechanism for the target cache region to obtain a new available cache capacity when an available cache capacity of the target cache region is less than a to-be-cached capacity of the to-be-cached contract data ([Pages 219-220]: For a newly computed view V , we order the views in the cache in decreasing order based on their distance from V and discard views until enough space is generated as a result of these evictions… In order to test the View Cache we implemented three eviction policies); and obtain a new available cache capacity, the new available cache capacity being greater than the to-be-cached capacity ([Pages 219-220]: The eviction process then discards views from the cache by scanning this list until enough space is generated for storing the new result); store the to-be-cached contract data into the target cache region according to the new available cache capacity ([Pages 219-220]: storing the new result… Thus, at end of the run, the blockchain stored 200000 fact table records). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Fang to incorporate the teachings of Chiou, Nenov, and Messanakis to include receiving to-be-cached data, searching for the cache region, taking the region as a target region, determining an available capacity, evicting cached data, obtaining a new available cache capacity, and storing the data. The motivation for doing so would be to isolate regions of memory from each other, as recognized by Chiou ([Col. 7, lines 32-35] of Chiou: One application of this capability is that it allows a single program that uses different regions of memory in different ways the ability to isolate those regions from each other), to release partial cached data when memory is scarce, as recognized by Nenov ([0012] of Nenov: FIG. 5 is a flow chart illustrating a process for contracting a dynamic cache when memory is scarce to release memory for other uses), and to expedite computation and maintenance of smart contracts, as recognized by Messanakis ([Abstract] of Messanakis: We also exploit the ledger for storing smart views, i.e. definitions of frequent data cube computations in the form of smart contracts. Our techniques model and take into consideration existing interdependencies between the smart views to expedite their computation and maintenance). Regarding Claim 14, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the non-transitory computer readable medium according to claim 13, wherein the plurality of instructions further configures the processor to: Fang further teaches acquire a cache application request ([0010]: a computer-implemented method blockchain-based data storage comprises: receiving data for storage from a service platform… storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; Fig. 19; [0402]: a receiving module 1902 that receives from a computing device associated with a user, an encryption key and data for custom clearance for storage on a blockchain), the cache application request comprising a cache application contract identifier and the custom cache creation parameters associated with the target custom contract ([0051]: These technologies generally involve… storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract); invoke a cache application contract indicated by the cache application contract identifier in the cache application request ([0010]: upon receiving clearance data associated with an order, the service modules are configured to store at least a portion of the clearance data in a blockchain or a smart contract data cache); and execute, in a contract virtual machine, the cache application contract according to the custom cache creation parameters to obtain a cache application instruction for the target custom contract, the cache application instruction comprising the custom cache creation parameters ([0019]: storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract; [0051]-[0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition… invoking a virtual machine to execute the configuration file). Regarding Claim 15, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the non-transitory computer readable medium according to claim 13. Fang further teaches wherein the plurality of instructions further configures the processor to: acquire one or more cache approval results for the cache application instruction through a cache approval component when a consensus on the cache application instruction is reached in a consensus network, each cache approval result being data on which a consensus is reached in the consensus network ([0018]: storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; initiating, a consensus algorithm to record the immutable data on a blockchain; [0047]-[0050]: wherein the encrypted first data are stored on the blockchain through consensus of blockchain nodes of the blockchain network; [0082]: The final result is that a sufficient number of consensus nodes come to an agreement on the order of the record that is to be added to the blockchain, and the record is either accepted, or rejected); and determine that the cache application instruction satisfies a cache application condition when among the one or more cache approval results, a number of cache approval results indicating that cache approval succeeds exceeds an approval threshold value, and create the cache region associated with the target custom contract in the total cache region according to the custom cache creation parameters in the cache application instruction when the cache application instruction satisfies the cache application condition (([0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition; Fig. 20; [0419]-[0422]: At 2002, the blockchain node determines that data stored in a cache storage satisfies a predetermined condition). Regarding Claim 16, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the non-transitory computer readable medium according to claim 13. Fang further teaches wherein the custom cache creation parameters comprise a contract identifier ([0019]: wherein the data includes public data and private data, and the encryption key encrypts the private data; storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract) and a pre-allocated cache capacity of the target custom contract ([0206]: The cache storage can be a relatively high-speed, high-cost, and low capacity storage medium, as compared to other storage media such as hard disk drives. When the volume of the KVPs exceeds a certain threshold (e.g., 5 GB), a cache-miss state may incur); and the plurality of instructions further configures the processor to: acquire a pre-allocated cache region corresponding to the pre-allocated cache capacity from the total cache region ([0086]-[0089]: At least portions of so-called trusted applications (TAs) execute within the TEE, and have access to the processor and memory… Each EPC is a memory set (e.g., 4 KB) that is allocated by an OS to load application data and code in the PRM… In operation, the TA runs and creates an enclave within the PRM of the memory); and map the pre-allocated cache region and the contract identifier of the target custom contract to obtain a cache region associated with the target custom contract ([0088]: More particularly, an enclave is provided as an enclave page cache (EPC) in memory and is mapped to an application address space). Regarding Claim 17, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the non-transitory computer readable medium according to claim 13. Fang further teaches wherein the plurality of instructions further configures the processor to: receive a data query request through a cache routing component, the data query request comprising a contract identifier of a to-be-executed contract (Fig. 3; [0096]: Those participants can perform functions including one or more of adding new documents 320, querying documents 322; Fig. 5; [0184]: The custom clearance service platform 504 can provide an API (e.g., QueryMember<orderID>) to enable the administrator to query or look up members); and search for queried cached data associated with the contract identifier of the to-be-executed contract in the at least two cache regions through the cache routing component. ([0140]: To query the data, an authorized user can search the smart contract data cache to obtain the hash value and the encrypted version of the symmetric key). Regarding Claim 18, Fang discloses a computer device, comprising: a processor; a network interface in communication with the processor; and a memory in communication with the processor and storing a plurality of instructions ([0071]: FIG. 1 is a diagram illustrating an example of an environment 100), the plurality of instructions, when executed by the processor, configure the processor to: acquire a cache application instruction for a target custom contract ([0010]: a computer-implemented method blockchain-based data storage comprises: receiving data for storage from a service platform… storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; Fig. 8; [0197]: In some embodiments, the virtual machine 808 can be configured to perform smart contract operations by executing instructions of a smart contract programming language; See also Fig. 19); create a cache region associated with the target custom contract in a total cache region of a blockchain node according to custom cache creation parameters in the cache application instruction (Fig. 8; [0207]: In some embodiments, a plurality of smart contract pools 816 can be created in the blockchain database 812 to store at least a portion of the mutable data managed by the smart contracts in the smart contract data cache 806; See also Fig. 19, storing module 1904). However, Fang does not explicitly teach “the total cache region comprising at least two cache regions, wherein each cache region stores different types of cached contract data, and a cache eviction mechanism for each cache region in the total cache region being independent of each other, the cache eviction mechanism releasing partial cached contract data after a target cache region is determined; receiving to-be-cached contract data, including a to-be-cached capacity of the to-be cached contract data, corresponding to the target custom contract; searching for the cache region associated with the target custom contract in the at least two cache regions; taking the cache region associated with the target custom contract as a target cache region; determining an available cache capacity of the target cache region; evicting cached contract data in the target cache region according to the cache eviction mechanism for the target cache region when the available cache capacity of the target cache region is less than the to-be-cached capacity of the to-be-cached contract data; obtaining a new available cache capacity, the new available cache capacity being greater than the to-be-cached capacity; and storing the to-be-cached contract data into the target cache region according to the new available cache capacity.” On the other hand, in the same field of endeavor, Chiou teaches the total cache region comprising at least two cache regions, wherein each cache region stores different types of cached contract data, and a cache eviction mechanism for each cache region in the total cache region being independent of each other (Fig. 3; [Col. 7, lines 35-45]: Accordingly, in a system having a cache and a memory, a method of managing the cache includes dividing the cache into at least two cache regions; mapping data designated by some criteria… A replacement policy can be specified for each memory region such that the memory region data is placed into the corresponding mapped cache region using the specified replacement policy). Additionally, Nenov teaches the cache eviction mechanism releasing partial cached contract data after a target cache region is determined (Fig. 5; [0042]: In the LRU eviction policy embodiment, the LRU soft data is evicted first. In a process block 525, dynamic cache 125 is contracted to release portions of memory 105 consumed by the recently evicted soft data. Finally, in a process block 530, one or more of applications 115 can expand into the newly released portions of memory 105). Furthermore, Messanakis teaches receive to-be-cached contract data, including a to-be-cached capacity of the to-be cached contract data, corresponding to the target custom contract ([Page 220]: For each dataset, we started with a blockchain containing 100000 records… In Fig. 2 we plot the number of blockchain records read for the three different eviction policies and the three workloads used, as we varied the View Cache size from 10% up to 40% of each workload result size in increments of 5%); search for the cache region associated with the target custom contract in the at least two cache regions ([Pages 216-217]: Each user group may have its own analytical queries focusing on specific aspects of the data… Their needs will be accommodated by their local node that… manages local user inquires via the smart views API); take the cache region associated with the target custom contract as a target cache region ([Pages 217-218]: Additionally, an in-memory database acts as a View Cache, providing fast access to their derived data. This cache is used to serve multiple user requests on a node… we also propose and compare algorithms that can manage effectively the smart views content cached in the in-memory database); determine an available cache capacity of the target cache region ([Pages 216-217]: Smart views can trigger computations enabling complex data analysis workflows… A smart view V is defined by projecting the fact table records on a subset DV ⊆ D of the available dimensions; [Pages 219]: Our proposed cost-based view eviction policy (COST) lists the views in the cache… then discards views from the cache by scanning this list until enough space is generated for storing the new result); evict cached contract data in the target cache region according to the cache eviction mechanism for the target cache region to obtain a new available cache capacity when an available cache capacity of the target cache region is less than a to-be-cached capacity of the to-be-cached contract data ([Pages 219-220]: For a newly computed view V , we order the views in the cache in decreasing order based on their distance from V and discard views until enough space is generated as a result of these evictions… In order to test the View Cache we implemented three eviction policies); and obtain a new available cache capacity, the new available cache capacity being greater than the to-be-cached capacity [Pages 219-220]: The eviction process then discards views from the cache by scanning this list until enough space is generated for storing the new result); store the to-be-cached contract data into the target cache region according to the new available cache capacity ([Pages 219-220]: storing the new result… Thus, at end of the run, the blockchain stored 200000 fact table records). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Fang to incorporate the teachings of Chiou, Nenov, and Messanakis to include receiving to-be-cached data, searching for the cache region, taking the region as a target region, determining an available capacity, evicting cached data, obtaining a new available cache capacity, and storing the data. The motivation for doing so would be to isolate regions of memory from each other, as recognized by Chiou ([Col. 7, lines 32-35] of Chiou: One application of this capability is that it allows a single program that uses different regions of memory in different ways the ability to isolate those regions from each other), to release partial cached data when memory is scarce, as recognized by Nenov ([0012] of Nenov: FIG. 5 is a flow chart illustrating a process for contracting a dynamic cache when memory is scarce to release memory for other uses), and to expedite computation and maintenance of smart contracts, as recognized by Messanakis ([Abstract] of Messanakis: We also exploit the ledger for storing smart views, i.e. definitions of frequent data cube computations in the form of smart contracts. Our techniques model and take into consideration existing interdependencies between the smart views to expedite their computation and maintenance). Regarding Claim 19, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the computer device according to claim 18. Fang further teaches wherein the plurality of instructions further configures the processor to: acquire a cache application request ([0010]: a computer-implemented method blockchain-based data storage comprises: receiving data for storage from a service platform… storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; Fig. 19; [0402]: a receiving module 1902 that receives from a computing device associated with a user, an encryption key and data for custom clearance for storage on a blockchain), the cache application request comprising a cache application contract identifier and the custom cache creation parameters associated with the target custom contract ([0051]: These technologies generally involve… storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract); invoke a cache application contract indicated by the cache application contract identifier in the cache application request ([0010]: upon receiving clearance data associated with an order, the service modules are configured to store at least a portion of the clearance data in a blockchain or a smart contract data cache); and execute, in a contract virtual machine, the cache application contract according to the custom cache creation parameters to obtain a cache application instruction for the target custom contract, the cache application instruction comprising the custom cache creation parameters ([0019]: storing the encryption key and an identifier (ID) of the data in a cache storage dedicated to storing smart contract data for executing a smart contract; [0051]-[0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition… invoking a virtual machine to execute the configuration file). Regarding Claim 20, the combined teachings of Fang, Chiou, Nenov, and Messanakis disclose the computer device according to claim 18. Fang further teaches wherein the plurality of instructions further configures the processor to: acquire one or more cache approval results for the cache application instruction through a cache approval component when a consensus on the cache application instruction is reached in a consensus network, each cache approval result being data on which a consensus is reached in the consensus network ([0018]: storing the mutable data in a cache storage, wherein the mutable data is to be executed by a smart contract; initiating, a consensus algorithm to record the immutable data on a blockchain; [0047]-[0050]: wherein the encrypted first data are stored on the blockchain through consensus of blockchain nodes of the blockchain network; [0082]: The final result is that a sufficient number of consensus nodes come to an agreement on the order of the record that is to be added to the blockchain, and the record is either accepted, or rejected); and determine that the cache application instruction satisfies a cache application condition when among the one or more cache approval results, a number of cache approval results indicating that cache approval succeeds exceeds an approval threshold value ([0052]: These technologies generally involve: determining that data stored in a cache storage satisfies a predetermined condition; Fig. 20; [0419]-[0422]: At 2002, the blockchain node determines that data stored in a cache storage satisfies a predetermined condition), and create the cache region associated with the target custom contract in the total cache region according to the custom cache creation parameters in the cache application instruction when the cache application instruction satisfies the cache application condition (Fig. 8; [0207]: In some embodiments, a plurality of smart contract pools 816 can be created in the blockchain database 812 to store at least a portion of the mutable data managed by the smart contracts in the smart contract data cache 806). Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 extension fee 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 SHIRLEY D. HICKS whose telephone number is (571)272-3304. The examiner can normally be reached Mon - Fri 7:30 - 4:00. 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, 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. 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. /S D H/Examiner, Art Unit 2168 /CHARLES RONES/Supervisory Patent Examiner, Art Unit 2168
Read full office action

Prosecution Timeline

Show 10 earlier events
Nov 06, 2025
Response Filed
Nov 12, 2025
Applicant Interview (Telephonic)
Nov 12, 2025
Examiner Interview Summary
Mar 03, 2026
Final Rejection mailed — §103
Apr 24, 2026
Interview Requested
May 05, 2026
Applicant Interview (Telephonic)
May 05, 2026
Examiner Interview Summary
May 11, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12639380
WORK INCOME VISUALIZATION AND OPTIMIZATION PLATFORM
4y 7m to grant Granted May 26, 2026
Patent 12596682
SYSTEM AND METHOD FOR OBJECT STORE FEDERATION
2y 8m to grant Granted Apr 07, 2026
Patent 12499102
HIERARCHICAL DELIMITER IDENTIFICATION FOR PARSING OF RAW DATA
2y 5m to grant Granted Dec 16, 2025
Patent 12499146
MACHINE LEARNING AND NATURAL LANGUAGE PROCESSING (NLP)-BASED SYSTEM FOR SYSTEM-ON-CHIP (SoC) TROUBLESHOOTING
2y 5m to grant Granted Dec 16, 2025
Patent 12405818
BATCHING WAVEFORM DATA
1y 8m to grant Granted Sep 02, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

4-5
Expected OA Rounds
63%
Grant Probability
99%
With Interview (+55.2%)
2y 10m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 111 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month