Microsoft Technology Licensing, LLCDownload PDFPatent Trials and Appeals BoardSep 11, 20202019003216 (P.T.A.B. Sep. 11, 2020) 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. 14/750,974 06/25/2015 Vaishnav Kidambi 357156.02 2887 69316 7590 09/11/2020 MICROSOFT CORPORATION ONE MICROSOFT WAY REDMOND, WA 98052 EXAMINER COUSINS, JOSEPH M ART UNIT PAPER NUMBER 2459 NOTIFICATION DATE DELIVERY MODE 09/11/2020 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): chriochs@microsoft.com usdocket@microsoft.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte VAISHNAV KIDAMBI, CHACKO DANIEL, VIPUL MODI, and ALEX WUN Appeal 2019-003216 Application 14/750,974 Technology Center 2400 Before CAROLYN D. THOMAS, BRADLEY W. BAUMEISTER, 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 16–35. Claims 1–15 are cancelled. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. 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 Microsoft Technology Licensing, LLC. Appeal Br. 1. Appeal 2019-003216 Application 14/750,974 2 CLAIMED SUBJECT MATTER Appellant’s Specification describes distributed storage of images of a software application in a computing fabric. Spec., Abstract. The Specification states that nodes in a computing fabric typically rely on an external repository to store “golden” images of software applications. Spec. ¶ 4. However, the use of external repositories has been found to be inefficient due to service failures and latency in the network. Id. Appellant’s invention seeks to address these issue by “implementing distributed storage of images of software applications in at least some nodes in a computing fabric, [eliminating] the need for an external repository.” Spec. ¶ 5. The Specification further explains that one of the nodes may be designated as a primary node, which generates and stores tracking information or metadata regarding the distributed images of the software application. Id. When a request is received for a copy of the software, the primary node may respond by providing only the tracking information/metadata to the requestor, rather than the entire software application image. By providing the tracking information/metadata, the requestor can determine the best available nodes from which a copy may be obtained. Id. ¶ 6. Claim 16, reproduced below with modified formatting, illustrates the claimed subject matter: 16. A method for distributed storage of digital data files in a computing fabric, the method comprising: receiving, from a user via a client device, a request to upload and store a software application at a computing fabric having a plurality of nodes interconnected by a communications network, the individual nodes of the computing fabric being Appeal 2019-003216 Application 14/750,974 3 configured to execute a copy of the software application to provide one or more corresponding cloud computing services; in response to receiving the request to upload, generating and storing, at one of the nodes of the computing fabric, a record of image metadata associated with the software application; receiving and storing a copy of the software application at the one of the nodes of the computing fabric; upon receiving and storing the copy of the software application at the one of the nodes of the computing fabric, selecting, by the one of the nodes of the computing fabric, one or more additional nodes of the computing fabric to store additional copies of the received software application based on a physical or logical proximity to the one of the nodes or a storage capacity of the individual additional nodes; replicating, via the communications network, the copy of the software application at the one of the nodes of the computing fabric from the one of the nodes to the one or more selected additional nodes as additional copies, thereby distributedly storing the additional copies of the software application at the one or more additional nodes of the computing fabric; upon completion of the replicating, updating, at the one of the nodes, updating the record of image metadata containing tracking information associated with the software application regarding which one or more of the nodes of the computing fabric individually contain a copy of the software application; and providing a copy of the software application from one of the nodes of the computing fabric individually containing a copy of the software application to another node of the computing fabric to be executed by the another node to provide the one or more corresponding cloud computing services. Appeal Br. 21–22 (Claims Appendix). Appeal 2019-003216 Application 14/750,974 4 REFERENCES The Examiner relies upon the following prior art: Name Reference Date Harrington US 2008/0222154 A1 Sept. 11, 2008 Myllyla US 2008/0275960 A1 Nov. 6, 2008 Achtermann US 2009/0024693 A1 Jan. 22, 2009 Rosensweig US 2014/0101300 A1 Apr. 10, 2014 Morrison US 2014/0173022 A1 June 19, 2014 REJECTIONS Claims 16–27, 31, 32, 34, and 35 are rejected under 35 U.S.C. § 103 as being unpatentable over Rosensweig and Morrison. Final Act. 2. Claim 28 is rejected under 35 U.S.C. § 103 as being unpatentable over Rosensweig, Morrison, and Achtermann. Final Act. 14. Claim 29 is rejected under 35 U.S.C. § 103 as being unpatentable over Rosensweig, Morrison, and Myllyla. Final Act. 15. Claim 30 is rejected under 35 U.S.C. § 103 as being unpatentable over Rosensweig, Morrison, and Moss. Final Act. 16. Claim 33 is rejected under 35 U.S.C. § 103 as being unpatentable over Rosensweig, Morrison, and Harrington. Final Act. 18. ISSUES First Issue: Has the Examiner erred in finding Rosensweig teaches or suggests “receiving, from a user via a client device, a request to upload and store a software application at a computing fabric having a plurality of nodes interconnected by a communications network,” as recited in claim 16? Second Issue: Has the Examiner erred in finding Rosensweig teaches or suggests “selecting, by one of the nodes of the computing fabric, one or Appeal 2019-003216 Application 14/750,974 5 more additional nodes of the computing fabric to store additional copies of the received software application,” as recited in claim 16? Third Issue: Has the Examiner erred in finding Morrison teaches or suggests “providing a copy of the software application . . . to another node of the computing fabric to be executed by the another node to provide the one or more corresponding cloud computing services,” as recited in claim 16? Fourth Issue: Has the Examiner erred in finding Morrison teaches or suggests “generating and storing, at one of the nodes of the computing fabric, a record of image metadata associated with the software application,” as recited in claim 16? Fifth Issue: Has the Examiner erred in finding Morrison teaches or suggests the limitations recited in dependent claim 17? Sixth Issue: Has the Examiner erred in finding Morrison teaches or suggests the limitations recited in claim 20? ANALYSIS The Examiner’s Findings and Conclusion of Obviousness The Examiner rejects claim 16 as obvious over Rosensweig and Morrison. Final Act. 2–6. Generally, the Examiner finds that Rosensweig teaches receiving requests to upload software applications into a cloud computing environment, selecting additional nodes at which to store copies of the uploaded application based on physical proximity to the additional nodes, and executing the software application. Final Act. 3. The Examiner finds that Rosensweig does not teach generating metadata associated with the software application or tracking copies of the application through metadata updates, nor does Rosensweig teach distributing copies from one node to another. Final Act. 3–4. Appeal 2019-003216 Application 14/750,974 6 The Examiner relies on Morrison to address these deficiencies, finding that Morrison teaches generating and storing image metadata, as well as replicating copies of the software among nodes. Final Act. 4–6. The Examiner finds that it would have been obvious to combine the teachings of Rosensweig with those of Morrison: One of ordinary skill in the art at the time [of] the invention would have recognized the ability to utilize the teachings of Morrison for the distribution of applications and software through a plurality of peer nodes. The teachings of Morrison, when implemented in the Rosensweig system, [would have] allow[ed] one of ordinary skill in the art to utilize a dispersed storage system to propagate a cloud application based on locational demand. One of ordinary skill in the art would [have been] motivated to utilize the teachings of Morrison in the Rosensweig system in order to leverage the cloud capability of a network of peer nodes to meet the flexible demand of clients. Final Act. 5–6. Appellant presents several arguments with respect to the independent claims. Appellant also presents separate arguments for dependent claims 17 and 20. We address these arguments below. First Issue—the “receiving” limitation The Examiner finds Rosensweig teaches the limitation “receiving, from a user via a client device, a request to upload and store a software application at a computing fabric having a plurality of nodes interconnected by a communications network.” Final Act. 3 (citing Rosensweig ¶¶ 39, 62). Appellant argues the Examiner has erred because Rosensweig teaches uploading a recipe file to a cloud controller, which is not the same as uploading a cloud-based software application to a computing fabric having a plurality of nodes, as recited in claim 16. Appeal Br. 13. Appellant argues “the recipe file is not a copy of the cloud application that the recipe file Appeal 2019-003216 Application 14/750,974 7 defines. Instead, the recipe file is similar to a map that identifies the various components or segments of the cloud application.” Appeal Br. 14. According to Appellant, because the recipe file merely defines the application, “execution of the recipe file (if the recipe file can be executed at all) cannot ‘provide one or more corresponding cloud computing services.” Appeal Br. 14. We are not persuaded by Appellant’s argument. Rosensweig discloses “[t]he application manager 160 may receive a ‘recipe file’ from the client,” causing “the application manager . . . [to] subsequently request that the cloud controller 120 establish the components that make up the application defined in the recipe file.” Rosensweig ¶ 42. Rosensweig further details that the “cloud controller 120 may receive request for the establishment of cloud applications from client devices.” Rosensweig ¶ 39. Taken together, a person of ordinary skill in the art would have understood from Rosensweig that the client request to establish a cloud application would include, in addition to the recipe file, the uploading of the necessary components of the cloud application in order to successfully complete the installation. As such, we agree with the Examiner that Rosensweig teaches, or at least suggests, the “receiving” limitation of claim 16. Second Issue—the “selecting” limitation Claim 16 also recites the limitation “selecting, by one of the nodes of the computing fabric, one or more additional nodes of the computing fabric to store additional copies of the received software application based on a physical or logical proximity to the one of the nodes or a storage capacity of the individual additional nodes.” The Examiner cites Rosensweig’s Appeal 2019-003216 Application 14/750,974 8 disclosure of establishing deployments of software applications based on geographic proximity as teaching this limitation. Final Act. 3 (citing Rosensweig ¶¶ 46–47). Appellant argues Rosensweig is deficient because “[a]ssuming, for the sake of argument that the recipe file of Rosensweig could correspond to the copy of a software application, nowhere does Rosensweig disclose or suggest selecting one or more additional nodes in the computing fabric to store additional copies of the recipe file.” Appeal Br. 14. Appellant further argues that Rosensweig is deficient with respect to the selecting being performed “by one of the nodes of the computing fabric,” because “the cloud controller 120 forwards the recipe file to the application manager 160, which may send a request to establish one or more components specified in the recipe file.” Appeal Br. 15. We are not persuaded of error. Rosensweig discloses, “a policy file specifies a country or other geographical area in which components assigned to each segment are to be established.” Rosensweig ¶ 46 (reference numerals omitted). Rosensweig further teaches the use of constraints whereby “the cloud controller may seek to place the component relatively close to other components within the segments.” Rosensweig ¶ 47. Appellant’s first argument presumes that the Examiner relies solely on the recipe file as being the “received software application” in Rosensweig. However, as we discussed above, the uploading of the recipe file is an indication of a user request to upload a software application, but the Examiner does not rely on the recipe file as the software application itself. Moreover, we are unpersuaded that Rosensweig fails to teach the selecting being performed “by one of the nodes of the computing fabric.” Appeal 2019-003216 Application 14/750,974 9 As explained by the Examiner, step 440 of Rosenweig’s Figure 4 shows that the cloud controller (which is one of the nodes of the computing fabric) performs the selection of other nodes to receive application components. Accordingly, we are not persuaded the Examiner erred in finding Rosensweig teaches or suggests the “selecting” limitation of claim 16. Third Issue—the “providing” limitation Claim 16 also recites the limitation “providing a copy of the software application . . . to another node of the computing fabric to be executed by the another node to provide the one or more corresponding cloud computing services.” The Examiner finds this limitation obvious over the combined teachings of Rosensweig and Morrison. Final Act. 5 (citing Morrison ¶¶ 27– 29); Ans. 7–8 (additionally citing Rosensweig ¶¶ 41–44). More specifically, the Examiner finds Morrison’s use of a tracking service, which records metadata to track placement of the content in a distributed peer-to-peer network, teaches “providing a copy of the software. . . to another node of the computing fabric.” Final Act. 5. The Examiner further finds that Rosensweig teaches that the distributed software application is “to be executed by another node to provide the one or more corresponding cloud computing services.” Id. Appellant argues Morrison is deficient because “Morrison’s digital content item is not provided from one peer computer to another ‘to be executed by the another node to provide the one or more corresponding cloud computing services.’” Appeal Br. 16. We are not persuaded of error. The Examiner does not rely on Morrison for teaching “to be executed by the another node to provide the Appeal 2019-003216 Application 14/750,974 10 one or more corresponding cloud computing services.” Instead, the Examiner relies on Rosensweig to show the execution of an application to provide cloud computing services. Thus, Appellant’s argument does not address the findings made by the Examiner, and we are not persuaded the Examiner erred in finding the cited references teach or suggest the “providing” limitation of claim 16. Fourth Issue—the “generating and storing” limitation Claim 16 also recites the limitation “generating and storing, at one of the nodes of the computing fabric, a record of image metadata associated with the software application.” The Examiner finds that Morrison’s use of a tracking service, which records metadata to track placement of the content in a distributed peer-to-peer network, teaches this limitation. Final Act. 4 (citing Morrison ¶¶ 20, 27). Appellant argues the rejection is in error because the limitation requires that “one of the nodes contains both the record of image metadata and a copy of the software application.” Appeal Br. 16. Appellant asserts that the Morrison’s metadata is stored at CMS 110 or tracker service 112, and that neither stores a copy of the software application. Appeal Br. 17. Morrison discloses a peer-to-peer network that tracks the distribution of content within the network using a centralized management service (CMS) computer that may include a tracker service computer for storing telemetry data. Morrison ¶ 27. Morrison explains, “telemetry data [is] aggregated from peer computers of the P2P network.” Morrison ¶ 26. Morrison further teaches that system includes a content-delivery-network (CDN) computer that “may be an additional source to seed digital content items.” Morrison ¶ 32. As noted by the Examiner, Morrison further teaches Appeal 2019-003216 Application 14/750,974 11 that the CDN computer may be integrated with the CMS computer. Ans. 8 (citing Morrison ¶ 34). We agree with the Examiner that “the CDN/CMS contains the metadata for the stored content in the distributed network and the store[d] seed copies of the content.” Ans. 8–9. Accordingly, we are not persuaded of error with respect to the “receiving and storing” limitation of claim 16. Claim 17 Claim 17 recites: The method of claim 16, further comprising: receiving from a requestor, another request for a copy of the software application stored in the computing fabric; in response to receiving the another request, determining which one or more of the nodes of the computing fabric contain a copy of the software application based on the stored tracking information; and communicating the determined one or more nodes of the computing fabric containing a copy of the software application to the requestor. Appeal Br. 22 (Claims Appendix). The Examiner rejects claim 17 based on the teachings of Morrison. Final Act. 6 (citing Morrison ¶¶ 20, 27, 88–90); Ans. 9–10 (additionally citing, Fig. 4, ¶¶ 86–87). Appellant argues, “Morrison does not disclose or suggest determining which one or more of the nodes of the computing fabric contain a copy of the software application based on the stored tracking information.” Appeal Br. 17. Appellant asserts that Morrison merely describes the use of a “recommended content source,” and that because a default node may be designated as the recommended content source, “having a recommended content source does not necessarily, inevitably, or Appeal 2019-003216 Application 14/750,974 12 consistently involve determining one or more nodes of the computing fabric containing a copy of the software application.” Appeal Br. 17. We disagree. Figure 4 of Morrison depicts a process by which a network request for content is made to the CMS, and the CMS selects a recommended peer node for fulfilling the download request. See Morrison, Fig. 4 (blocks 402–408). Appellant argues that because Morrison utilizes a default content source as a backup when the recommended source is unavailable, it does not teach the recited “determining.” That a backup source is designated does not change the fact that a recommend content source is determined by Morrison using the stored telemetry data. As such, we are not persuaded the Examiner erred in finding Morrison teaches the limitations of claim 17. Claim 20 Appellant also argues for separate patentability of claim 20. Appeal Br. 18–19. Claim 20 recites, inter alia, “transmitting a deletion instruction to each of the one or more nodes of the computing fabric containing a copy of the software application.” Id. at 23 (Claims Appendix). The Examiner concludes this limitation is obvious over Morrison because Morrison teaches the use of a delete command to remove content from network nodes. Final Act. 7–8 (citing Morrison ¶ 116). Appellant argues the rejection is flawed because the delete command described in Morrison deletes only a single copy of the content, and is not issued to each of the nodes that store the content. Appeal Br. 18. However, as the Examiner points out in the Answer, in a situation where only a single node is identified as storing the content, the file modification request is made to each identified node. Ans. 11. Appellant does not address this finding in Appeal 2019-003216 Application 14/750,974 13 the Reply Brief, and it therefore is uncontested. Accordingly, we are not persuaded of Examiner error with respect to claim 20. Remaining Claims For the remaining claims, Appellant either has not presented separate patentability arguments or has reiterated substantially the same arguments as those previously discussed for patentability of claim 16 above. See Appeal Br. 18–20. Accordingly, we sustain the rejections of the remaining pending claims. See 37 C.F.R. § 41.37(c)(1)(iv). CONCLUSION We affirm Examiner’s rejections under 35 U.S.C. § 103. DECISION SUMMARY Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 16–27, 31, 32, 34, 35 103 Rosensweig, Morrison 16–27, 31, 32, 34, 35 28 103 Rosensweig, Morrison, Achtermann 28 29 103 Rosensweig, Morrison, Myllyla 29 30 103 Rosensweig, Morrison, Moss 30 33 103 Rosensweig, Morrison, Harrington 33 Overall Outcome 16–35 Appeal 2019-003216 Application 14/750,974 14 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