VMware, Inc.Download PDFPatent Trials and Appeals BoardJan 19, 20212019005568 (P.T.A.B. Jan. 19, 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. 14/628,137 02/20/2015 Lizhu Zhang C176 9422 152689 7590 01/19/2021 Novum Patent Services 515 Powhattan Ave San Francisco, CA 94110 EXAMINER SPRATT, BEAU D ART UNIT PAPER NUMBER 2143 NOTIFICATION DATE DELIVERY MODE 01/19/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): aram@novumpatent.com ipadmin@vmware.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte LIZHU ZHANG ____________ Appeal 2019-005568 Application 14/628,137 Technology Center 2100 ____________ Before KARA L. SZPONDOWSKI, SCOTT B. HOWARD, and STEVEN M. AMUNDSON, Administrative Patent Judges. AMUNDSON, Administrative Patent Judge. DECISION ON APPEAL Appellant1 seeks our review under 35 U.S.C. § 134(a) from a final rejection of claims 1–5, 7–12, and 14–22, i.e., all pending claims. 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 (2018). Appellant identifies the real party in interest as VMware, Inc. Appeal Br. 3. Appeal 2019-005568 Application 14/628,137 2 STATEMENT OF THE CASE The Invention According to the Specification, the invention “generally relates to caching image data and more particularly relates to enabling multiple client devices to share image cache data in remote desktop environments.” Spec. ¶ 1.2 The Specification explains that “remote desktop environments, such as those based on Virtual Desktop Infrastructure (VDI) and Desktop-as-a- Service (DAAS)” allow users to access “their virtual desktop[s] over a remote network connection.” Id. ¶ 2. Using “a remote desktop protocol, the user can interact with applications of the virtual desktop, which are running on the remote host server, such that only the display (i.e., image data), keyboard, and mouse information is communicated with the local client device.” Id. The Specification also explains that remote desktop environments still present “a number of inconveniences and inefficiencies,” e.g., due to “bandwidth and latency limitations.” Spec. ¶ 4; see id. ¶ 13. For instance, “network limitations may cause the interface presented at the client device to appear choppy, visually distorted or unresponsive at times” because “large amounts of image data need to be communicated from the virtual desktop to the client device.” Id. ¶ 4. Hence, the invention endeavors to “deliver the image information to the client device” more efficiently to “improve the experience of the end 2 This decision uses the following abbreviations: “Spec.” for the Specification, filed February 20, 2015; “Final Act.” for the Final Office Action, mailed November 5, 2018; “Appeal Br.” for the Appeal Brief, filed April 5, 2019; “Ans.” for the Examiner’s Answer, mailed May 13, 2019; and “Reply Br.” for the Reply Brief, filed July 15, 2019. Appeal 2019-005568 Application 14/628,137 3 user accessing the virtual desktop.” Spec. ¶ 4. For example, client devices typically connect to a remote server through a wide area network (WAN) connection, e.g., an Internet connection. Id. Thus, “enabling a client device to obtain the necessary image data” from another client device through a local area network (LAN) connection “can drastically improve the speed of delivery of the required image data” because “WAN connections are usually orders of magnitude slower than LAN connections.” Id. ¶ 15. Exemplary Claim Independent claim 1 exemplifies the claims at issue and reads as follows: 1. A method for providing image cache collaboration between multiple client devices in a remote desktop environment, the method comprising: detecting, by a virtual desktop agent executing on a host server, an update to at least a portion of a graphical user interface (GUI) of a virtual desktop executed on the host server for a first client device; transmitting an image hash key of the update from the virtual desktop agent executing on the host server to a central cache manager executing on a connection server, wherein the connection server is a separate device from the host server and is configured to establish virtual desktop connection sessions for each of the client devices; determining, by the central cache manager, that an image cache on a second client device currently contains image data needed to update the GUI of the virtual desktop for the first client device, wherein the central cache manager knows the contents of all image caches of each of the client devices that are connected to the connection server by using an agreed upon caching algorithm between the central cache manager and the client devices, wherein the agreed upon caching algorithm enables the central cache manager to determine, at the time of transmitting the image data to the client devices, whether the Appeal 2019-005568 Application 14/628,137 4 image data will be cached by the client devices; and transmitting a message, from the central cache manager executing on the connection server to the first client device identifying the second client device that contains the image data, wherein the first client device requests the image data from the second client device in response to receiving said message. Appeal Br. 15 (Claims App.). The Prior Art Supporting the Rejection on Appeal As evidence of unpatentability under 35 U.S.C. § 103, the Examiner relies on the following prior art: The Rejection on Appeal Claims 1–5, 7–12, and 14–22 stand rejected under 35 U.S.C. § 103 as unpatentable over Luxenberg and Anderson. Final Act. 2–19. ANALYSIS We have reviewed the § 103 rejection in light of Appellant’s arguments that the Examiner erred. Based on the record before us and for the reasons explained below, we agree with Appellant’s arguments that the Examiner erred in finding that the cited portions of the references teach or suggest the claimed subject matter. We provide the following to address and emphasize specific findings and arguments. Independent Claims 1, 8, and 15 As noted above, the § 103 rejection of independent claims 1, 8, and 15 rests on Luxenberg and Anderson. See Final Act. 3–5, 8–10, 13–16. Name Reference Date Anderson et al. (“Anderson”) US 2010/0235581 A1 Sept. 16, 2010 Luxenberg et al. (“Luxenberg”) US 2014/0156778 A1 June 5, 2014 Appeal 2019-005568 Application 14/628,137 5 Appellant argues that the Examiner erred in rejecting the claims because the references fail to teach or suggest the following limitations in each claim: wherein the central cache manager knows the contents of all image caches of each of the client devices that are connected to the connection server by using an agreed upon caching algorithm between the central cache manager and the client devices, wherein the agreed upon caching algorithm enables the central cache manager to determine, at the time of transmitting the image data to the client devices, whether the image data will be cached by the client devices. See Appeal Br. 8–12; Reply Br. 1–3. In particular, Appellant contends that the claims require an “agreed upon” algorithm so that “the central cache manager can determine ‘at the time of transmitting the image data’ whether the transmitted image data will be cached by the client devices” without “needing to communicate with the client devices to check whether the image data is actually cached on the client devices.” Appeal Br. 9. Appellant also contends that applying an “agreed upon” algorithm “means using the same caching logic agreed by the central cache manager and the client devices to determine whether the client devices will cache the data, before the data is actually cached.” Id. at 10. According to Appellant, “the central cache manager applies the same algorithm that is used by the client devices to determine whether or not any particular image data that is being transmitted to a client device will be cached by the client device.” Appeal Br. 9. Appellant asserts that by applying the same algorithm “the central cache manager keeps track of the contents of each of the client devices by using the agreed upon caching algorithm” without “needing to query or receive updates about actual cache contents from the client devices themselves.” Id. Appeal 2019-005568 Application 14/628,137 6 Appellant seeks to distinguish the claims from the references by asserting that the references “discuss other approaches, such as ones where the server is notified of cache contents of client devices by communicating with the client devices” instead of “applying an agreed upon algorithm.” Appeal Br. 9; see Reply Br. 2–3. Specifically, Appellant concedes that Luxenberg discloses “a cache manager that tracks which objects are provided to which clients.” Appeal Br. 11 (citing Luxenberg ¶ 12; Final Act. 21); see Reply Br. 3. But Appellant contends that Luxenberg does not disclose: (1) “how the cache manager tracks caches”; (2) “that tracking is performed by using an agreed upon caching algorithm between the central cache manager and the client devices”; or (3) “that the central cache manager uses the agreed upon caching algorithm to determine, at the time of transmitting the image data to the client devices, whether the image data will be cached by the client devices.” Appeal Br. 11–12; see Reply Br. 3. Appellant asserts that Anderson discloses (1) “that client devices communicate changes in cache contents to the directory server” and (2) “that the directory server can determine how to evict cached content when requested by a client.” Appeal Br. 10–11 (citing Anderson ¶¶ 21, 41–42); see Reply Br. 2. Appellant also asserts that Anderson does not disclose an “agreement to use a particular algorithm” when client devices update a distributed hash table with information to track locations of cached data. Appeal Br. 9–10 (citing Anderson ¶ 20). Appeal 2019-005568 Application 14/628,137 7 The Examiner determines that Luxenberg discloses “a cache manager that tracks which objects are provided to which clients.” Final Act. 21 (citing Luxenberg ¶ 12); Ans. 22–23 (citing Luxenberg ¶ 12). In addition, the Examiner determines that Anderson discloses “a ‘cooperative caching algorithm’ and such an algorithm does not contradict ‘an agreed upon algorithm’ since this cooperation requires that both clients [and] a server agree to cache with each other and peers and still be managed.” Ans. 22 (citing Anderson ¶¶ 14, 20–21, 41–42); see Final Act. 4–5, 10, 15–16, 21. Based on the record before us, we agree with Appellant that the Examiner has not adequately explained how the cited portions of Luxenberg and Anderson teach or suggest the disputed limitations in claims 1, 8, and 15. Luxenberg discloses a cache manager that (1) “may track and/or manage which graphical objects have been provided to which clients” and (2) “may manage and/or track the caches distributed across multiple clients (e.g., may manage a distributed cache).” Luxenberg ¶ 12. In the cited portions, however, Luxenberg does not disclose that the cache manager and the client devices use the same “agreed upon” algorithm to enable the cache manager “to determine, at the time of transmitting the image data to the client devices, whether the image data will be cached by the client devices” as required by the claims. Anderson discloses “a cooperative caching scheme” where “every client dedicates a portion of its main memory to caching and attempts to satisfy requests from its peers for system contents.” Anderson ¶ 14. The system includes a directory server that “manage[s] communications among the clients” and (2) “track[s] locations of cached data.” Id. ¶ 20. The Appeal 2019-005568 Application 14/628,137 8 directory server includes a directory with one or more tables mapping cached-data identifiers to clients. Id. ¶ 21; see id. ¶ 41. “When a client’s cache contents change, the change is communicated to the directory server” so that the directory server “may update its directory.” Id. Further, “the clients may participate in management of communications regarding cached data” using “a distributed hash table” to track locations of cached data. Id. ¶ 20. In addition, the directory server may respond to an eviction notice from a client by “identifying a target client” to receive evicted data. Id. ¶¶ 41–42, Fig. 5. In the cited portions, however, Anderson does not disclose that the directory server and the client devices use the same “agreed upon” algorithm to enable the directory server “to determine, at the time of transmitting the image data to the client devices, whether the image data will be cached by the client devices” as required by the claims. For instance, if the directory server and the client devices used the same “agreed upon” algorithm, the directory server would not need to receive a communication from a client device when its cache contents changed. Further, client devices using “a distributed hash table” to track locations of cached data differ from the directory server and the client devices using the same “agreed upon” algorithm that enables a determination about whether the data will be cached “at the time of transmitting” the data. In addition, the directory server “identifying a target client” to receive evicted data differs from the directory server and the client devices using the same “agreed upon” algorithm that enables a determination about whether the data will be cached “at the time of transmitting” the data. Appeal 2019-005568 Application 14/628,137 9 Because the Examiner has not adequately explained how the cited portions of Luxenberg and Anderson teach or suggest the disputed limitations in claims 1, 8, and 15, we do not sustain the § 103 rejection of these independent claims. Dependent Claims 2–5, 7, 9–12, 14, and 16–22 Claims 2–5, 7, and 21 depend directly or indirectly from claim 1; claims 9–12, 14, and 22 depend directly or indirectly from claim 8; and claims 16–20 depend directly or indirectly from claim 15. For the reasons discussed for claims 1, 8, and 15, we do not sustain the § 103 rejection of these dependent claims. CONCLUSION We reverse the Examiner’s decision to reject claims 1–5, 7–12, and 14–22. In summary: Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1–5, 7–12, 14–22 103 Luxenberg, Anderson 1–5, 7–12, 14–22 REVERSED Copy with citationCopy as parenthetical citation