MasterCard International IncorporatedDownload PDFPatent Trials and Appeals BoardMay 4, 20212020006224 (P.T.A.B. May. 4, 2021) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 15/146,971 05/05/2016 Steven Charles DAVIS 0076412-000592 6616 125578 7590 05/04/2021 MASTERCARD C/O Buchanan Ingersoll & Rooney PC 1737 King Street, Suite 500 Alexandria, VA 22314-2727 EXAMINER JAMI, HARES ART UNIT PAPER NUMBER 2162 NOTIFICATION DATE DELIVERY MODE 05/04/2021 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): ADIPDOC1@BIPC.com charles.wieland@bipc.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte STEVEN CHARLES DAVIS Appeal 2020-006224 Application 15/146,971 Technology Center 2100 Before CAROLYN D. THOMAS, MICHAEL J. STRAUSS, and PHILLIP A. BENNETT, Administrative Patent Judges. BENNETT, Administrative Patent Judge. DECISION ON APPEAL STATEMENT OF THE CASE Pursuant to 35 U.S.C. § 134(a), Appellant1 appeals from the Examiner’s decision to reject claims 1–4, 6–14, and 16–20. Claims 5 and 15 are cancelled. We heard argument on April 14, 2021. A transcript will be placed in the record in due course. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. 1 “Appellant” refers to “applicant” as defined in 37 C.F.R. § 1.42(a). Appellant identifies the real party in interest as Mastercard International Incorporated. Appeal Br. 2. Appeal 2020-006224 Application 15/146,971 2 CLAIMED SUBJECT MATTER Appellant’s invention relates to the generation and management of unique primary key values for data stored in a database. The Specification describes that database records often have associated primary keys that are intended to uniquely identify a record in a table and/or database. Spec. ¶¶ 2– 4. For example, a database might have a “CITIES” table that includes several records (“Washington,” “Alexandria,” “Arlington”). Each record is given a primary key value that uniquely identifies that record in the database—for example, the primary key value could be assigned as consecutive numbering: CITIES Primary Key Value Data Value 1 Washington 2 Alexandria 3 Arlington The Specification explains that the problem with such a scheme is that these types of primary keys are not unique across tables and databases. Spec. ¶ 3. That is, another table in the same database, or even tables in other databases, may use the same primary key values to identify other, different database records. Spec. ¶ 3. As a result, combining data and sharing data is made more difficult: For example, two companies may have a need to exchange sets of documents stored in internal storage. Each company may use the same numbering system for identification, which may result in multiple documents having conflicting identifiers. As a result, either the documents must be stored in separate tables and/or databases, or identifiers must be modified for one or both of the Appeal 2020-006224 Application 15/146,971 3 sets. In the former instance, it may be difficult to make adjustments to both tables/databases at once and may be inconvenient for the purposes of sorting and storage. In the latter instance, the two parties must both agree on the alternative identification with one or both parties modifying their previous identification system accordingly, which can be highly inconvenient and potentially detrimental due to the prevailing use of the identifiers in the rest of their business. Spec. ¶ 4. Appellant’s invention seeks to address this issue by using a “collision- resistant” hash algorithm, such as an SHA-256 algorithm, to generate primary key values that are always unique to the particular data value associated with each record. According to the Specification, “[t]he use of collision-resistant hashing to develop identification values for disparate data sets may enable the combination of data sets without collisions and may preserve integrity of the data sets and their identification following any future combination of additional data sets into the universal data storage.” Spec. ¶ 6. In the claimed embodiments, a hash algorithm is run against the data to generate a hash value, which in turn becomes the primary key value for that data record. Spec. ¶ 22. If an appropriate hash algorithm is used then, in the unlikely event that two different data records hash to the same primary key value, the resultant conflict (termed as “collision”) may be resolved using a number of techniques including by defining a new hash algorithm and re-hashing the data records. When necessary, the hash-generated primary key values can be updated by defining a new hash algorithm, and re-hashing the data records. When updates occur, the key value is updated, but the data value always remains unchanged. Appeal 2020-006224 Application 15/146,971 4 Claim 1, reproduced below, is illustrative of the claimed subject matter: 1. A method for generating a universal distributed data storage, comprising: receiving, by a receiving device of a processing server, a data signal superimposed with a plurality of data values; generating, by a hashing module executed by a processor of the processing server, a key for each of the plurality of data values, wherein the respective key is generated via application of a hashing algorithm to the associated data value; executing, by a querying module executed by the processor of the processing server, a first query on a key-value database of the processing server to store each of the plurality of data values and the associated generated key as a plurality of key- value pairs, where the generated key is a key in the key-value pair and where the data value is a value in the key-value pair; receiving, by the receiving device of the processing server, a data signal superimposed with a plurality of additional key- value pairs, wherein each value of the plurality of additional key- value pairs is not included in the plurality of data values; executing, by the querying module of the processing server, a second query on the key-value database of the processing server to store each of the plurality of additional key- value pairs; receiving, by the receiving device of the processing server, a data signal superimposed with a rehash request, wherein the rehash request indicates a different hashing algorithm; generating, by the hashing module of the processing server, a new key for each of the plurality of data values and each value included in the plurality of additional key-value pairs via application of the different hashing algorithm to the respective data value; and executing, by the querying module of the processing server, a third query on the key-value database of the processing server to replace the generated key in each of the plurality of key- Appeal 2020-006224 Application 15/146,971 5 value pairs with the new key generated for the respective key- value pair, and to replace a key in each of the plurality of additional key-value pairs with the new key generated for the respective additional key-value pair without replacing the value in each of the plurality of key-value pairs and the plurality of additional key-value pairs, wherein each key included in the plurality of additional key-value pairs is generated via application of the hashing algorithm to the associated value and is not included in the keys generated for each of the plurality of data values. Appeal Br. (Claims Appendix 1–2). REFERENCES2 The prior art relied upon by the Examiner is: Name Reference Date Loeb US 2006/0271539 A1 Nov. 30, 2006 Hunt US 2013/0268770 A1 Oct. 10, 2013 Jin US 2014/0019680 A1 Jan. 16, 2014 Zhang US 2015/0293937 A1 Oct. 15, 2015 Brosch US 2016/0162508 A1 June 9, 2016 REJECTIONS Claims 1, 9–11, 19, and 20 are rejected under 35 U.S.C. § 103 as being unpatentable over Loeb, Zhang, and Hunt. Final Act. 6–10. Claims 2, 3, 6, 7, 12, 13, 16, and 17 are rejected under 35 U.S.C. § 103 as being unpatentable over Loeb, Zhang, Hunt, and Brosch. Final Act. 11, 12–13. Claims 4, 8, 14, and 18 are rejected under 35 U.S.C. § 103 as being unpatentable over Loeb, Zhang, Hunt, and Jin. Final Act. 11, 13–14. 2 All citations herein to the references are by reference to the first named inventor/author only. Appeal 2020-006224 Application 15/146,971 6 ANALYSIS Appellant’s arguments are made exclusively to claim 1, which we treat as representative. Our decision as to claim 1 is, therefore, dispositive as to the rejections of the remaining claims. Claim 1 stands rejected under § 103 as obvious over Loeb, Zhang, and Hunt. The Examiner finds that Loeb teaches most of the limitations (Final Act. 6–9), which Appellant does not dispute (see Appeal Br. 9–13, which focuses solely on the deficiencies of Hunt). The dispute, therefore, centers primarily on Hunt—and whether it teaches or suggests the re-hashing process recited in the claim. In rejecting claim 1, the Examiner relies on Hunt as teaching: a third query on the key-value database of the processing server to replace the generated key in each of the plurality of key-value pairs with the new key generated for the respective key-value pair, and to replace a key in each of the plurality of additional key-value pairs with the new key generated for the respective additional key-value pair without replacing the value in each of the plurality of key-value pairs and the plurality of additional key-value pairs. Final Act. 8–9 (emphasis omitted) (citing Hunt ¶ 112, Fig. 22). Specifically, the Examiner finds that Hunt teaches “that an old hash value of a hash key is replaced with a new hash value through probing the hash table while the given key (i.e. data value) is intact.” Id. at 9. Appellant argues that Hunt is deficient because replacing of the “hash value” in Hunt is an entirely different approach as compared to replacing the “key” in claim 1. Appeal Br. 10. More specifically, Appellant argues: As set forth above, the Office contends that the “hash values” of Hunt are thereby equivalent to the “keys” of the present claims. (See page 9 of the Final Office Action). However, Hunt explicitly discloses that the values are being Appeal 2020-006224 Application 15/146,971 7 replaced in the hash table therein and not the keys. Hunt explicitly recites that an old value is replaced with a new one only if they have the same key. (See, for example, paragraph [0112] of Hunt). Conversely, the present claims explicitly recite that the generated hash value is a key in a key-value pair, with the underlying value used in the hash is the value in the key-value pair. Additionally, the claims recite that a new hashing algorithm is used with the same value to generate a new key, which then replaces the key in the key-value pair. Appeal Br. 10 (emphasis omitted). According to Appellant, the claimed approach differs markedly from Hunt because it allows for the key to be updated merely by sharing/applying a new hashing algorithm. Appeal Br. 11. The Examiner responds by explaining that although the terminology is different in Hunt, in substance, the hash algorithm output is changed and the hash input remains the same, which is what is recited in the claim. Ans. 4–5. The Examiner further explains: The Hunt reference discloses that an old hash value of a hash key is replaced with a new hash value through probing the hash table while the given key (i.e. data value) is intact (See Hunt: at least paragraph 112 and Fig. 22). The features of “hash value” and “key” disclosed by Hunt corresponds to limitation of “key” and “value” (respectively) of the current claims. Thus, the feature of replacing old hash values of hash keys with new values while the given keys (i.e. data value) are the same as taught by Hunt would generate pairs of hash value- key that the hash values have been updated and the input data are the same. Ans. 7. We are not persuaded of reversible Examiner error. The disputed “re- hashing” functionality uses a modified hash function to create a new hash output for a given input. Although Appellant emphasizes that this approach Appeal 2020-006224 Application 15/146,971 8 is unique in the context of primary keys for database records, Appellant acknowledges that Loeb teaches creating primary keys based on hash outputs (which is not disputed by Appellant). See, e.g., Loeb Abstract (“A method and system for storing data in a data storage area of a computer that utilizes hashing functions to avoid collision of new data records with existing data records.”). Loeb further evidences that the use of hash algorithms for the purpose of avoiding and/or obviating the effects of collisions was known. See, e.g., Loeb ¶ 19 (“a second hashing algorithm for determining a new target slot for the new data record if the new data record collides with a stored data record”). Hunt demonstrates that it was generally known in the art to update hash values (i.e., hash outputs) by updating the hash function/algorithm applied to the hash input. See Hunt ¶ 112. Hunt’s terminology differs from the terminology set forth in the claims. However, the process described in Hunt involves modifying the hash output (referred to as the “value” in a hash table) by changing the algorithm applied to the same input (referred to as the “given key”) throughout the records of a given hash table. That is, Hunt teaches, in the context to data management, that hash outputs for a given record store may be modified while maintaining hash inputs by applying a different hashing function. As such, we agree with the Examiner that a person of ordinary skill in the art would have found it obvious to update Loeb’s primary keys upon receiving a rehashing request by applying an updated hash function to produce a different hash output for Loeb’s records in a database table, as taught by Hunt. Therefore, we are not persuaded the Examiner erred in rejecting claim 1 under § 103. Appeal 2020-006224 Application 15/146,971 9 CONCLUSION We affirm the Examiner’s decision to reject the claims. DECISION SUMMARY Claim(s) Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1, 9–11, 19, 20 103 Loeb, Zhang, Hunt 1, 9–11, 19, 20 2, 3, 6, 7, 12, 13, 16, 17 103 Loeb, Zhang, Hunt, Brosch 2, 3, 6, 7, 12, 13, 16, 17 4, 8, 14, 18 103 Loeb, Zhang, Hunt, Jin 4, 8, 14, 18 Overall Outcome 1–4, 6–14, 16–20 TIME PERIOD FOR RESPONSE No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a). See 37 C.F.R. § 1.136(a)(1)(iv). AFFIRMED Copy with citationCopy as parenthetical citation