Google LLCDownload PDFPatent Trials and Appeals BoardSep 30, 20212020005260 (P.T.A.B. Sep. 30, 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/795,650 10/27/2017 Wangyuan Zhang 231441-416073 8331 101874 7590 09/30/2021 HONIGMAN LLP-GOOGLE DOCKETING DEPARTMENT 650 TRADE CENTRE WAY SUITE 200 KALAMAZOO, MI 49002-0402 EXAMINER AHMED, ZUBAIR ART UNIT PAPER NUMBER 2132 NOTIFICATION DATE DELIVERY MODE 09/30/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): google@honigman.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte WANGYUAN ZHANG, SANDEEP SINGHALD, SANGHO YOON, GUANGDA LAI, ARASH BARATLOO, ZHIFAN ZHANG, GAEL HATCHUE NJOUYEP, and PRAMOD GAUD Appeal 2020-005260 Application 15/795,650 Technology Center 2100 Before JEREMY J. CURCURI, GREGG I. ANDERSON, and CHRISTA P. ZADO, Administrative Patent Judges. CURCURI, 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–20. We have jurisdiction under 35 U.S.C. § 6(b). We REVERSE. 1 We use the word Appellant to refer to “applicant” as defined in 37 C.F.R. § 1.42(a). Appellant identifies the real party in interest as Google LLC. Appeal Br. 2. Appeal 2020-005260 Application 15/795,650 2 CLAIMED SUBJECT MATTER The claims are directed to “[p]acking objects by predicted lifespans in cloud storage.” Spec., Title. Claim 1, reproduced below, is illustrative of the claimed subject matter: 1. A method comprising: receiving, at data processing hardware, data objects, each received data object uploaded by a respective client device associated with a human user and associated with a respective data bucket identifier that identifies a respective data bucket the respective client device wants to hold the respective data object, the respective data bucket identifier being specific to the respective human user at a creation time of the respective data bucket; for each received data object, determining, by the data processing hardware, a predicted lifespan of the respective data object based on a historical object lifespan table associated with the respective data bucket holding the respective data object, the respective data bucket created by the respective client device associated with the respective human user and the historical object lifespan table indicating a creation time for each past data object uploaded into the respective data bucket and a deletion timestamp indicating a time for each past data object that is deleted from the respective data bucket; instantiating, by the data processing hardware, multiple shard files, each shard file immutable to accept new data objects once stored in a distributed storage system and having an associated predicted lifespan range; writing, by the data processing hardware, each data object into a corresponding shard file having the associated predicted lifespan range that includes the predicted lifespan of the respective data object; storing, by the data processing hardware, the shard files in the distributed storage system; Appeal 2020-005260 Application 15/795,650 3 determining, by the data processing hardware, whether any stored shard files satisfy a compaction criteria based on the predicted lifespan range of each corresponding stored shard file; and for each stored shard files satisfying the compaction criteria, compacting, by the data processing hardware, the stored shard file by rewriting remaining data objects of the stored shard file into a new shard file. Appeal Br. 15, Claims App. REFERENCES The prior art relied upon by the Examiner is: Name Reference Date Sim-Tang US 2008/0256138 A1 Oct. 16, 2008 Bonvin US 2014/0136571 A1 May 15, 2014 Post US 8,738,882 B2 May 27, 2014 Balan US 2016/0132786 A1 May 12, 2016 Rao US 2016/0357450 A1 Dec. 8, 2016 REJECTIONS Claims 1, 3–5, 9–11, 13–15, 19, and 20 are rejected under 35 U.S.C. § 103 as obvious over Bonvin, Rao, and Sim-Tang. Final Act. 3–10. Claims 2 and 12 are rejected under 35 U.S.C. § 103 as obvious over Bonvin, Rao, Sim-Tang, and Post. Final Act. 10–11. Claims 6–8 and 16–18 are rejected under 35 U.S.C. § 103 as obvious over Bonvin, Rao, Sim-Tang, and Balan. Final Act. 11–13. Appeal 2020-005260 Application 15/795,650 4 OPINION The Obviousness Rejection of Claims 1, 3–5, 9–11, 13–15, 19, and 20 over Bonvin, Rao, and Sim-Tang The Examiner finds Bonvin, Rao, and Sim-Tang teach all limitations of claim 1. Final Act. 3–8. In particular, the Examiner finds Bonvin teaches “for each received data object, determining . . . a predicted lifespan of the respective data object based on a historical object lifespan table associated with the respective data bucket holding the respective data object, the respective data bucket created by the respective client device associated with the respective human user” (claim 1) because Bonvin discloses a “row-key is derived from the container name and the key.” Final Act. 4 (citing Bonvin ¶¶ 56, 91, 113, 115, Fig. 6); see also Ans. 4–5 (“[U]sing the row-key of an object, which is derived from a container name and a key specified by a user at the time of the creation of an object, the system of Bonvin determines the most probable value of the lifetime of the object from a table depicted in FIG. 6.”). Among other arguments, Appellant presents the following principal argument: Bonvin does not teach “for each received data object, determining . . . a predicted lifespan of the respective data object based on a historical object lifespan table associated with the respective data bucket holding the respective data object” (claim 1) because “Bonvin discloses predicting the lifespan for a data object based on (1) explicit user input or (2) the class of the object and statistics for the object class.” Appeal Br. 7 (citing Bonvin ¶¶ 85, 87–88, 91); see also Appeal Br. 8 (“Figure 6 is a table for a particular class of objects.”), Reply Br. 2–4. Appeal 2020-005260 Application 15/795,650 5 We review the appealed rejections for error based upon the issues identified by Appellant, and in light of the arguments and evidence produced thereon. Ex parte Frye, 94 USPQ2d 1072, 1075 (BPAI 2010) (precedential). Bonvin discloses: An object belongs to a class of objects determined by its metadata such as size or MIME type. The class of an object C(obj) is derived using a simple hash of relevant metadata: C(obj)=MD5(obj[mime]|discretize(obj[size])) where discretize( ) is a function which rounds a number to a close integer (e.g., the size of an object is rounded up to the closest megabyte). Bonvin ¶¶ 85–86. Bonvin further discloses “[f]or every class of object, the system collects statistics regarding the resources used . . . and computes the lifetime distribution of the class.” Bonvin ¶ 87. Bonvin further discloses “[t]he lifetime distribution of the classes of objects stabilizes after a training phase.” Bonvin ¶ 88. Thus, Bonvin teaches collecting statistics for the various classes of objects, including lifetime distribution. Bonvin ¶¶ 85–87. Bonvin discloses “the system uses the statistics collected for the class of the object to determine the statistically best set of providers for this new object.” Bonvin ¶ 91. Thus, Bonvin teaches utilizing the collected statistics for the various classes of objects to determine the best set of (cloud storage) providers for an object. Bonvin ¶ 91. Bonvin discloses “[a]s depicted in FIG. 6, given row_key=C(obj), the placement algorithm has access to the most probable values regarding the resources that the new object obj will use and its lifetime.” Bonvin ¶ 91. Appeal 2020-005260 Application 15/795,650 6 Thus, in Fig. 6, Bonvin teaches predicting a lifetime of an object based on the class of the object. Bonvin ¶ 91. Because Bonvin teaches predicting a lifetime of an object based on the class of the object, we determine Bonvin does not teach “for each received data object, determining . . . a predicted lifespan of the respective data object based on a historical object lifespan table associated with the respective data bucket holding the respective data object” (claim 1 (emphasis added)). That is, we disagree with the Examiner’s determination that Bonvin teaches predicting a lifetime of an object from a container name. In making the rejection, the Examiner focuses on the row key described in paragraph 115 of Bonvin. At paragraph 115, Bonvin discloses “[a]s row key for writing the metadata, the system uses: row_key=MD5(obj[container]|obj[key]) Bonvin ¶ 115. However, this is the row key used for the metadata as depicted in Fig. 10. Bonvin ¶ 115, Fig. 10. This is different than the row key used for the class statistics as depicted in Fig. 6. Bonvin ¶¶ 85–86, (“C(obj)=MD5(obj[mime]|discretize(obj[size]))”), 91 (“row_key=C(obj)”). We, therefore, do not sustain the Examiner’s rejection of claim 1. We also do not sustain the Examiner’s rejection of claims 3–5, 9, and 10, which depend from claim 1. Independent claim 11 recites “for each received data object, determining a predicted lifespan of the respective data object based on a historical object lifespan table associated with the respective data bucket holding the respective data object.” Appeal 2020-005260 Application 15/795,650 7 We, therefore, do not sustain the Examiner’s rejection of claim 11. We also do not sustain the Examiner’s rejection of claims 13–15, 19, and 20, which depend from claim 11. The Obviousness Rejection of Claims 2 and 12 over Bonvin, Rao, Sim-Tang, and Post The Examiner does not find Post cures the deficiency of Bonvin, Rao, and Sim-Tang. See Final Act. 10–11; see also Ans. 8–9. We, therefore, do not sustain the Examiner’s rejection of claims 2 and 12. The Obviousness Rejection of Claims 6–8 and 16–18 over Bonvin, Rao, Sim- Tang, and Balan The Examiner does not find Balan cures the deficiency of Bonvin, Rao, and Sim-Tang. See Final Act. 11–13; see also Ans. 9. We, therefore, do not sustain the Examiner’s rejection of claims 6–8 and 16–18. CONCLUSION The Examiner’s decision to reject claims 1–20 is reversed. DECISION SUMMARY In summary: Claim(s) Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1, 3–5, 9– 11, 13–15, 19, 20 103 Bonvin, Rao, Sim- Tang 1, 3–5, 9– 11, 13–15, 19, 20 Appeal 2020-005260 Application 15/795,650 8 2, 12 103 Bonvin, Rao, Sim- Tang, Post 2, 12 6–8, 16–18 103 Bonvin, Rao, Sim- Tang, Balan 6–8, 16–18 Overall Outcome 1–20 REVERSED Copy with citationCopy as parenthetical citation