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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Response to Arguments
Applicant’s arguments, see Remarks, filed 06/16/2026, with respect to claim objections have been fully considered and are persuasive in light applicant arguments. The said objection has been withdrawn.
Applicant’s arguments, see Remarks, filed 06/16/2026, with respect to claim rejections under 103 have been fully considered but they are not persuasive. The attorney argues that “… Pad lacks this separation between non-persistent and persistent data structures. Pad teaches a conventional blockchain architecture… In contrast, Pad's disclosure of a "payload hash" (Pad's paragraph [0094]) refers to a hash of the entire block's payload for block integrity, which hash is a standard feature of blockchain technology and is fundamentally different from the digest of an individual, separately stored value indication per claim 1”. The examiner respectfully disagrees with the arguments. Pad teaches in ‘[0313] By creating a separate table view with the block ID and block number that is persisted to the blockchain for any changes, it is possible to perform much faster lookups utilizing the separate view while still validating that the reference data is current by utilizing the block ID to check the data at the blockchain without having to perform a time-intensive search of the blockchain for the data in question, as the block ID permits reference directly to a single block … [314] A first SQL based query against the temporary view in the database system through the RDBMS formatted tables and then a fast lookup for the block ID and block number is performed and the Apex translation engine then goes back to the blockchain to validate that the queried data is current and accurate, based on the table look up of the block ID and block number which is maintained as the asset identifiers by the Apex translation engine’. These RDBMS tables, virtual table and the table views that are created throughout Pad typically construed as mutable or non-persistent data structure (see [316] the RDBMS formatted table representation in the database system is not an immutable table and [396] data written onto the blockchain is immutable). Further Pad recites in ‘[0457] Operations may further include: generating a virtual table within a database system of the host organization; and structuring the virtual table at the database system of the host organization based on the metadata declared for the new application; in which entity types are represented as tables within the virtual table and further in which the one or more new field definitions declared for each of the plurality of more entity types for the new application are represented as columns within the tables at the virtual table. [0458] the virtual table includes a materialized view hosted at the database system of the host organization structured based on the metadata declared for the new application; and in which the materialized view hosted at the database system of the host organization does not store any data associated with the new application; and in which SQL queries requesting read-only access are processed against the materialized view by translating the read-only SQL queries into a blockchain transaction to retrieve the requested data associated with the new application from the blockchain’. Therefore, though the prior art does not teach same verbiage as the instant application, the concept is covered as data is stored and updated. With regards to the payload hash referring to the hash value: the instant application’s specification recites in Pg. 2: “A conventional distributed ledger stores data into a sequence of data blocks in chronological order, linked to each other via corresponding hash values (or digests)” and in Pg. 7 “Considering, just as an example, the field Fi, the corresponding data block (for example, the data block BLKq) comprises the field identifier I and a digest of the value indication K(Vi) (hereinafter referred to as digest D[K(Vi)]). According to an embodiment, the digest (or hash value) is computed by applying a cryptographic hash function to the value indication K(V1;).” Correspondingly, Pad teaches in ‘[0094] Payload hash provides a hash of the data stored within the block payload portion (i.e., specific field’s value) of the blockchain protocol block...’. MPEP 2141.02 VI. PRIOR ART MUST BE CONSIDERED IN ITS ENTIRETY, INCLUDING DISCLOSURES THAT TEACH AWAY FROM THE CLAIMS. Therefore, the prior art clearly teaches the claimed concept and the rejections under 102 are maintained.
Regarding the applicant’s request in the “Conclusion” to the examiner to contact “Applicant's attorney requests Examiner to contact him, via the below email or phone number, to schedule, and to conduct, an Examiner's Interview before issuing a subsequent Action” – multiple attempts were made via the given phone number and left voice message(s) and an email was also sent on 06-26-2026. However, no response could be elicited and hence an OA is issued.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1 – 11, 13, 14 is/are rejected under 35 U.S.C. 102(a)(1) / (2) as being unpatentable by Padmanabhan (US 20200374105), Pad.
Claim 1: Pad teaches a method for storing data in the form of one or more fields each one comprising a respective field identifier and a respective field value, the method comprising, for each one of said one or more fields: - storing the field identifier and a first value of the field value by: storing an indication of the first value in association with the field identifier in a non-persistent data structure, ([0152] the shared ledger defines a plurality of entity types and a plurality of field definitions for each of the plurality of entity types; and the method further includes: retrieving the metadata from the shared ledger, including the plurality of entity types, the one or more new field definitions for each of the plurality of entity types, and any field types applied to the one or more field definitions; [313] a separate table view with the block ID and block number that is persisted to the blockchain; [075] Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data, [Fig. 1A] records stored in a database (i.e., non-persistent) system).
and appending a first data block to a persistent data structure, the first data block comprising the field identifier and a digest of the indication of the first value, ([372] there is a contents or payload portion of the addressing structure having therein the actual information to be stored, such as the contents of a stored record or metadata defining a record. [026-0247] utilizes an index 316 by which to identify an addressable block of the blockchain via which a desired record is stored where the stored record stores student information including a student first name 315A, a student last name 315B...).
and - updating the field value by: storing an indication of a second value in association with said field identifier in the non-persistent data structure, ([0249, 350-352] Subsequently, the student record is updated to include student phone number 315C, and thus, the stored record 390 is updated and re-written to the blockchain in its entirety thus creating a second updated copy (second block), of the stored record 390...).
and appending a second data block to the persistent data structure, the second data block comprising the field identifier and a digest of the indication of the second value. ([250] a first block contains the student's first name and last name, a second block contains a change to the student's last name due to an update; [080] Each block includes the hash of the prior block in the blockchain, linking the two. The linked blocks form a chain; [350-352] a link related entity process is performed in which retrieved data is modified to add a UUID field identifying the related entity, providing a link between the related entity and the data record previously stored on the blockchain and retrieved...).
Claim 2: Pad teaches the method according to claim 1, further comprising: receiving, from an auditing node, a disclosure request for at least one value of the field value of said field, and returning, to the auditing node, the at least one value associated with the corresponding field identifier retrieved from the non-persistent data structure, whereby allowing the auditing node to verify the at least one value according to at least one corresponding appended data block in the persistent data structure. ([0164] Moreover, because the shared ledger provides all the information in a cryptographic manner, a type of an audit trail or fully transparent audit log is created, permitting the founder org and possibly the partner orgs to see who changed what data and when, thus allowing a full traceback as to the who, what, where, when, and why changes to the data records were made, ... accounting principles, or contractual obligations).
Claim 3: Pad teaches the method according to claim 2, wherein the persistent data structure is a private persistent data structure, said returning further comprising providing said at least one corresponding appended data block to the auditing node. ([089, 208] the blockchain metadata definition manager utilizes a private blockchain, including those which are not provided by the host organization, so the host organization authenticates with such a private blockchain and access the blockchain by operating as a participating node on the private blockchain... Any release of assets received by the output requires additional conditions for verifying a proof from the destination chain, such as validating that the rules for the destination chain proof show that the destination chain has released the asset and show to where the asset has been released...).
Claim 4: Pad teaches the method according to claim 2, wherein the at least one value comprises at least one of: a current value corresponding to a last updating of the field value, or ([0249, 350-352] Subsequently, the student record is updated to include student phone number 315C, and thus, the stored record 390 is updated and re-written to the blockchain in its entirety thus creating a second updated copy (second block), of the stored record 390...).
Claim 5: Pad teaches the method according to claim 2, wherein the non-persistent data structure is a private non-persistent data structure, said returning comprising selectively disclosing the non-persistent data structure by: generating a partialized version of the non-persistent data structure by removing one or more first data from the non-persistent data structure, and providing the partialized version of the non-persistent data structure and the persistent data structure to the auditing node; or exporting one or more second data from the non-persistent data structure, and providing said one or more second data and the persistent data structure to the auditing node. ([0383] Querying the index for direct retrieval using this partial address will cause the index to return all metadata for the “SLDB” (Student Lookup DataBase) application, regardless of what such metadata is named or how many leafs or sub-trees are consumed to store such data. More particularly, querying the index using the partial address will return an entire sub-tree below the node of the Merkle tree index hashed with the hex string... [0209] A sidechain validator service (block validator if performed by the host organization's available services) will then validate that the SPV proof associated with the parent blockchain asset meets the required threshold level of work indicated by the SPV proof at operation and a sidechain asset corresponding to the parent blockchain asset is then generated...).
Claim 6: Pad teaches the method according to claim 5, wherein said one or more first data comprises said indication of the first value, and said one or more second data comprises said indication of the second value. ([372] there is a contents or payload portion of the addressing structure having therein the actual information to be stored, such as the contents of a stored record (the values making up a student's record); [570-575, Fig. 13] processing logic receives a transaction for the blockchain requesting the host organization to update a data record persistently stored on the blockchain, the transaction specifying updated values for one or more of a plurality of data elements of the data record).
Claim 7: Pad teaches the method according to claim 1, further comprising, in response to a removal request for removing, for at least one field value, the respective stored value, and in response to an acceptance of the removal request, selectively removing the stored value of the at least one field value from the non-persistent data structure. ([515] in the case that customer record John Doe is deleted, such a change will be again reflected by the blockchain, but the old record itself remains immutably within the prior blocks of the blockchain, though the application will understand that such information is indicated as “deleted” and thus, the deleted record will not be referenced as live current data).
Claim 8: Pad teaches the method according to any of the preceding claims claim 1, wherein said indication of the first value and said indication of the second value comprise an encrypted first value and an encrypted second value, respectively. ([544-550, Fig. 10] Where the transaction is to be committed, the blockchain consensus manager generates a key to encrypt the data to be stored... The key for encryption is transformed into a set of shared secrets… When the encrypted data from the initial transaction is stored in the blockchain, the associated metadata including the shared secrets for each node in the blockchain network is also stored in the blockchain).
Claim 9: Pad teaches the method according to claim 8, further comprising hiding a non-update of the field value with respect to the first value by: storing a further indication of the first value in the non-persistent data structure, the further indication of the first value comprising a further encrypted first value, and appending a further data block to the persistent data structure, the further data block comprising the field identifier and a digest of the further indication of the first value, the encrypted first value and the further encrypted first value being encrypted with respective ephemeral private keys generated from a private key of a public key/private key pair associated with the persistent data structure. ([071] A consensus on read is a specific type of consensus for controlling read access to data stored on the blockchain. Data is stored in an encrypted format where the encryption key is distributed as a shared secret with other nodes in the blockchain platform... The consensus on read process examines the credentials or any configured criteria that is determined to be required, which is provided in the access request. Each node that approves of the read access responds with its portion of the shared secret that enables the requesting node to generate the key from the shared secrets to decrypt the data on the blockchain and access the data. A threshold number of secrets must be returned to enable access to the encrypted data... [372] there is a contents or payload portion of the addressing structure having therein the actual information to be stored, such as the contents of a stored record or metadata defining a record. [026-0247] utilizes an index 316 by which to identify an addressable block of the blockchain 399 via which a desired record is stored where the stored record 390 stores student information including a student first name 315A, a student last name 315B... [544] Where the transaction is to be committed, the blockchain consensus manager generates a key to encrypt the data to be stored. The key is utilized to encrypt the data and the key will also be recovered and utilized to decrypt the data to access it. The key for encryption is transformed into a set of shared secrets. Any secret sharing process or protocol can be utilized that can transform the key into a set of shared secrets equal in number to the number of nodes that participate in consensus in the blockchain network).
Claim 10: Pad teaches the method according to claim 9, wherein, for each one of said one or more fields, said hiding is performed contextually to said updating for a selected one of the one or more fields different from said field. ([330, 332, 543, Fig. 10] By executing a smart contract to perform transaction validation of the entity or asset being transacted onto the blockchain, it is therefore possible to enforce various masks… the smart contract applies a data mask to validate compliance of the data or metadata to be written to the blockchain... The consensus on read process can be triggered by a node in the blockchain network seeking to access data in the blockchain to read that data where the data is protected by a permissions scheme or similar mechanism to control access to the data).
Claim 11: Pad teaches the method according to claim 10, wherein the further data block comprises: the field identifier and the digest of the indication of the second value associated with said field, and the field identifier and the digest of the further indication of the first value associated with the selected field. ([026-0247] utilizes an index 316 by which to identify an addressable block of the blockchain 399 via which a desired record is stored where the stored record 390 stores student information including a student first name 315A, a student last name 315B… [250] a first block contains the student's first name and last name, a second block contains a change to the student's last name due to an update; [080] Each block includes the hash of the prior block in the blockchain, linking the two).
Claim 13: Pad teaches a software program product comprising one or more computer readable storage media having program instructions collectively stored on the readable storage media, the program instructions being readable by a computing system to cause the computing system to perform the method according to claim 1. ([0725, Fig. 19] The secondary memory 1918 includes a non-transitory machine-readable storage medium or a non-transitory computer readable storage medium or a non-transitory machine-accessible storage medium 1931 on which is stored one or more sets of instructions (software 1922) embodying any one or more of the methodologies or functions).
Claim 14: Pad teaches a computing system comprising means circuitry configured for performing the method according to claim 1. ([0725, Fig. 19] The secondary memory 1918 includes a non-transitory machine-readable storage medium or a non-transitory computer readable storage medium or a non-transitory machine-accessible storage medium 1931 on which is stored one or more sets of instructions (software 1922) embodying any one or more of the methodologies or functions).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Badri Champakesan whose telephone number is (571)270-3867. The examiner can normally be reached M-F: 8.30am-4.30pm (EST). 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, Jung Kim can be reached at (571) 272-3804. 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.
/BADRINARAYANAN /Primary Examiner, Art Unit 2494.