Ex Parte Chang et alDownload PDFPatent Trial and Appeal BoardJun 28, 201612993926 (P.T.A.B. Jun. 28, 2016) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE FIRST NAMED INVENTOR 12/993,926 11/22/2010 Jichuan Chang 56436 7590 06/30/2016 Hewlett Packard Enterprise 3404 E. Harmony Road Mail Stop 79 Fort Collins, CO 80528 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 ATTORNEY DOCKET NO. CONFIRMATION NO. 82245578 9581 EXAMINER LI,ZHUOH ART UNIT PAPER NUMBER 2133 NOTIFICATION DATE DELIVERY MODE 06/30/2016 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): hpe.ip.mail@hpe.com mkraft@hpe.com chris.mania@hpe.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte JICHUAN CHANG, PARTHASARATHY RANGANATHAN, and KEVIN T. LIM Appeal2014-008716 1 Application 12/993,926 Technology Center 2100 Before JEAN R. HOMERE, JOHN A. EV ANS, and DANIEL J. GALLIGAN, Administrative Patent Judges. Per Curiam. DECISION ON APPEAL STATEMENT OF THE CASE Appellants seek our review under 35 U.S.C. § 134(a) of the Examiner's Final Rejection of claims 1-15. App. Br. 25. We have jurisdiction under 35 U.S.C. § 6(b ). We affirm-in-part. Appellants' Invention Appellants' invention is directed to a system and method for providing remote memory for multiple compute servers ( 110) connected to 1 Appellants identify the real party in interest as Hewlett-Packard Development Company, LP. App. Br. 3. Appeal2014-008716 Application 12/993,926 the memory server (101) through a connection (120). Abstract, Spec. if 10, Fig. 1. Illustrative Claim Independent claim 14 is illustrative, and reads as follows: 14. A method comprising: determining a number of servers to share memory on a remote memory server; allocating an amount of memory on the memory server for each server; sending an indication of the corresponding allocated amount of memory to each server, wherein an OS on each server uses the allocated memory as physical memory and the physical memory comprises a portion of a physical address space for the OS; and re-allocating the amount of memory for one or more of the servers based on the one or more servers remote accesses to the memory server. Chen et al. ("Chen") Reed Nation et al. ("Nation") Prior Art Relied Upon US 7,043,623 B2 US 7,480,773 Bl US 2010/0161929 Al Rejections on Appeal May 9, 2006 Jan.20,2009 June 24, 2010 Appellants request review of the following Examiner's rejections: 2 Appeal2014-008716 Application 12/993,926 Claims 14 and 15 are rejected under 35 U.S.C. § 102(b) as being anticipated by Chen. Final Act. 2-3. Claims 1-9, 11, and 12 are rejected under 35 U.S.C. § 103(a) as being unpatentable over Chen and Reed. Final Act. 3-7. Claims 10 and 13 stand rejected under 35 U.S.C. § 103(a) as being unpatentable over Chen, Reed, and Nation. Final Act. 7-8. ANALYSIS We consider Appellants' arguments seriatim, as they are presented in the Appeal Brief, pages 7-24, and the Reply Brief, pages 3-18.2 Anticipation Rejections Regarding the rejection of claim 14, Appellants argue that Chen does not describe "re-allocating the amount of memory for one or more of the servers based on the one or more servers remote accesses to the memory server," as recited in the claim. App. Br. 8-12; Reply Br. 4--7. In particular, Appellants argue Chen discloses determining which Network Attached Memory (NAM) server to use in addition to a currently used NAM server for a remote client based on a load balancing scheme. App. Br. 8 (citing 2 Rather than reiterate the arguments of Appellants and the Examiner, we refer to the Appeal Brief (filed April 9, 2014) ("App. Br."), the Reply Brief (filed July 9, 2014) ("Reply Br."), the Examiner's Answer (mailed May 9, 2014) ("Ans."), and the original Specification (filed November 22, 2010) ("Spec.") for the respective details. We have considered in this Decision only those arguments Appellants actually raised in the Briefs. Any other arguments Appellants could have made but chose not to make in the Briefs are deemed to be waived. See 37 C.F.R. § 41.37(c)(l)(iv) (2012). 3 Appeal2014-008716 Application 12/993,926 Chen col. 9, 11. 14--20, col. 8, 11. 59---65); Reply Br. 4. Appellants further contend Chen describes picking another NAM server when an incoming memory allocation request has used the available memory of a currently used NAM server. App. Br. 9 (citing Chen col. 9, 11. 51-55); Reply Br. 5. Appellants argue such re-mapping of a memory request is distinct from "re- allocating the amount of memory," as recited in the claim. Reply Br. 6. Appellants, moreover, assert Chen discloses reservation of an amount of memory for a memory client, not based on access of the memory client, but based on a request by the memory client. App. Br. 10 (citing Chen col. 12, 11. 53---60); Reply Br. 6. Chen additionally, Appellants contend, describes notifying the memory client if sufficient memory is not available to complete a memory allocation request. App. Br. 10-11 (citing Chen col. 12, 1. 61- col. 13, 1. 11); Reply Br. 6-7. These arguments are unavailing. On the first point, the Examiner first finds Chen describes the Memory Area Network (MAN) switch relies upon information of how much memory is used for each NAM server and information of last memory operations to determine servers on which to allocate an amount of memory for each of a plurality of servers. Ans. 3 (citing Chen col. 9, 11. 14--20). Further, the Examiner finds Chen discloses the MAN switch re-maps a memory request originally addressed to a source NAM server to a backup NAM server(s). Ans. 3 (citing Chen col. 9, 11. 30-40). We agree with the Appellants that Chen's determining which NAM server to use next and re- mapping the memory request to that server do not describe "re-allocating the amount of memory." App. Br. 9-10; Reply Br. 4--5. In this portion of the reference, Chen states "determin[ing] which NAM will serve a next new 4 Appeal2014-008716 Application 12/993,926 'setup' or 'malloc."' Chen col. 9, 11. 18-19. We find this portion describes an initial allocation of memory rather than re-allocating an amount of memory. See App. Br. 5 (citing Spec. 9, 11. 1-3), 6 (citing Spec. 9, 11. 22- 26). However, this error is not fatal to the Examiner's rejection because the Examiner also finds Chen describes the MAN switch using load balancing algorithms to reconfigure the amount of memory for a server based on that server's remote accesses to the memory service. Ans. 3 (citing Chen col. 9, 11. 20-22, col. 9. 11. 51-55, col. 12, 1. 51- col. 13, 1. 11). We agree with the Examiner that Chen describes "re-allocating an amount of memory," as recited in the claim. See Chen col. 12, 11. 66----67 ("Memory Client 1006 sends a malloc request to Memory Server 1002"); Chen col. 13, 11. 7-9 ("[T]he Memory Server 1002 allocates the requested amount of memory and marks the memory 'in use"'). Chen discloses additional memory is allocated to the memory client. See id. We disagree with Appellants that Chen's request by the memory client is distinct from access by the same. App. Br. 10 (quoting Chen col. 12, 11. 53---60); Reply Br. 6. Chen explains access in the form of memory allocation is performed to satisfy the request if sufficient memory is available. See Chen col. 13, 11. 6-9. Thus, we agree with the Examiner that Chen discloses re-allocating is performed "based on the one or more servers remote accesses to the memory server," as recited in the claim. Ans. 3. Accordingly, Appellants have not shown the Examiner erred in finding Chen anticipates claim 14. Regarding the rejection of claim 15, Appellants contend Chen does not describe translating virtual addresses for each server to physical 5 Appeal2014-008716 Application 12/993,926 addresses. App. Br. 12; Reply Br. 7-8. Appellants argue Chen discloses virtual address to virtual address conversion, but not conversion to physical addresses. App. Br. 12-13 (quoting Chen col. 7, 1. 60- col. 8, 1. 3); Reply Br. 8 (citing Chen col. 6, 11. 11-33). The Examiner finds Chen describes calculating the real address from the operating system virtual address. Ans. 4 (citing Chen col. 6, 11. 11-33). Chen states "[t]he Memory Server 1002 calculates the 'real' address from the starting address of the memory block (602, as illustrated in FIG. 10) and the MEM Cell ID 1224. The result is either the Memory Server Virtual Address or the actual Physical address 1227." Chen col. 6, 11. 29-33. Chen explains that the starting address of the memory block and the Memory (MEM) Cell ID are components of the Distribute Memory Computing Environment (DMCE) Virtual Address. Chen col. 6, 11. 26-29, Fig. 11. We agree with the Examiner that Chen describes that the actual Physical address is translated from the DMCE Virtual Address through these components. Ans. 4. Accordingly, Appellants have not shown the Examiner erred in finding Chen anticipates claim 15. Obviousness Rejections Regarding the rejection of claim 4, Appellants contend Chen does not teach a firmware setting that allows the local memory controller to identify physical addresses as addresses in the allocated remote memory. App. Br. 16-17; Reply Br. 10-11. Appellants assert Chen describes the configurability of a memory block size or a memory page size. App. Br. 16 (quoting Chen col. 10, 11. 14--22); Reply Br. 11. Appellants further argue 6 Appeal2014-008716 Application 12/993,926 Chen discloses virtual address to virtual address conversion. Reply Br. 11 (citing Chen col. 5, 1. 16- col. 6, 1. 56). The Examiner finds Chen teaches firmware in a distributed computing environment (DMCE) to allow networked memory to be sharable for other client devices. Ans. 5 (citing Chen col. 5, 1. 16 - col. 6, 1. 56). Chen states: Still referring to FIG. 10, each entry 601 in the Memory Block ID Lookup Table is a mapping between a MEM Block ID (index) 405, 413 and an entry of memory block or page information 602 including a starting memory address, a memory page size, the number of memory pages in the block and the daemon process ID if a different block resides in a different daemon (further described herein referring to FIG. 2 and FIG. 3). The addressing scheme of FIGS. 8, 9, and 10 allows memory data to be moved between servers without having to re-map all individual addresses. Instead, only the mapping entry 406, 414 in the Memory Server ID Lookup Table (assuming memory content are the same) is changed. Chen col. 5, 1. 66- col. 6, 1. 10. Chen teaches memory data stored (and moved between) servers remote from the memory clients. See Chen Fig. 3. Chen further teaches that this memory is addressed as a starting memory address on the remote server. See Chen col. 5, 1. 66 - col. 6, 1. 10. As explained above, the physical address is an address on the allocated remote memory server that can be identified from the starting memory address on the remote server. Ans. 4; Chen col. 6, 11. 26-33, Fig. 11. Accordingly, Appellants have not shown error in the Examiner's rejection of claim 4. Regarding the rejection of claim 5, Appellants argue Chen does not teach data in a register used by a BIOS that indicates a portion of physical address space mapped to a virtual address space is in the allocated remote memory. App. Br. 17-19; Reply Br. 12-14. Appellants contend Chen 7 Appeal2014-008716 Application 12/993,926 teaches that the client performs OS virtual address to DMCE virtual address translation. App. Br. 18 (quoting Chen col. 6, 11. 11-34); Reply Br. 13. Appellants additionally argue Chen discloses a memory server including a memory page pool containing memory blocks. Reply Br. 13 (citing Chen col. 10, 11. 14--58). In response, the Examiner finds Chen teaches that the memory server reserves a requested block of memory at setup time. Ans. 6 (citing Chen col. 12, 11. 15-31 ). The Examiner further finds Chen teaches that the memory server tracks connected memory clients through a connection session table. Id. We agree with the Examiner that Chen teaches mapping memory allocated on the memory server on behalf of memory clients through the connection session table. Ans. 6. We additionally agree with the Examiner that this operation occurs consistently with BIOS initialization because it is performed at setup time. Ans. 6 (citing Chen col. 12, 11. 15-31). Accordingly, Appellants have not shown error in the Examiner's rejection of claim 5. Regarding the rejection of claim 7, Appellants argue Chen does not teach a critical block first (CBF) policy, wherein critical blocks for a remote memory request are provided to a CPU while other pages for the memory request are still being retrieved. App. Br. 19-20; Reply Br. 14--15. According to Appellants, Chen teaches multicast mapping that mirrors updates of a source NAM server and their backup NAM server(s). App. Br. 19-20 (citing Chen col. 9, 11. 41-55); Reply Br. 15. The Examiner finds Chen teaches implementing multiple update requests at the same time. Ans. 6-7 (citing Chen col. 9, 11. 41-55). Appellants' Specification describes CBF policy as transferring cache blocks starting from a critical block (defined as 8 Appeal2014-008716 Application 12/993,926 "the block that caused the remote access") where the compute server restarts computation as soon as the critical block arrives. Spec. i-f 14. We agree with Appellants. Although Chen teaches memory updates occurring at the same time, Chen does not suggest an order or sequence in which particular blocks of memory are updated. See Chen col. 9, 11. 41-55. Accordingly, because Appellants have shown at least one reversible error in the Examiner's obviousness rejection of claim 7, we are constrained on this record to reverse the rejection. We also do not sustain the rejection of claim 8, which depends from claim 7. Regarding the rejection of claim 9, Appellants contend Chen does not teach that the operating system (OS) is configured to make decisions on whether to store data in local or remote memory based on one or more factors including latency for remote access. App. Br. 20. Appellants assert Chen appears to indicate that memory pages that are currently accessed are cached in the Memory Cache 1022, and if a memory page that is being requested is not in the l\1emory Cache 1022, that page is placed in the Memory Cache 1022 before being provided to the requesting application. App. Br. 21 (citing Chen col. 11, 11. 14--35); Reply Br. 17. Appellants further argue Chen does not account for any latency related to the memory server. App. Br. 22; Reply Br. 17. The Examiner finds Chen teaches storing data in a local cache when it is determined that a cache miss has occurred. Ans. 7 (citing Chen col. 11, 11. 14--35). The Examiner further explains that it is well known in the art to use local cache to store data to prevent latency for remote server memory access. Ans. 7. The parties agree Chen teaches placing a memory page into memory cache that is requested for an 9 Appeal2014-008716 Application 12/993,926 application. App. Br. 21; Ans. 7; Reply Br. 17. Chen teaches the memory page is requested and retrieved from the remote memory server for available use by an application. See Chen col. 11, 11. 23-29. In particular, Chen indicates "the Memory Client Manager 1024 will send an access request to Memory Server 1002 requesting the targeted memory page(s), put the memory content into the Memory Cache 1022 . ... Then, the application 1026 can access the targeted memory pages." Chen col. 11, 11. 23-29. We agree with the Examiner that Chen teaches making decisions to store data in a local cache rather than remote memory taking into account readily available access to the data by an application. Ans. 7. Thus, Chen teaches basing data storage decisions on latency so as not to delay access to the data by the application. Accordingly, Appellants have not shown error in the Examiner's rejection of claim 9. Regarding the rejection of claim 12, Appellants argue Chen does not teach a switch providing an interface for the memory server to the plurality of servers via an optical interconnect connection. App. Br. 23. Appellants contend Chen teaches a memory server manager parsing and processing incoming memory requests and packing outgoing memory responses. App. Br. 23-24 (quoting Chen col. 10, 11. 36-62). The Examiner finds Chen teaches a switch receiving page read and write requests from a plurality of servers where the memory controller manages the requests. Ans. 8 (citing Chen col. 10, 11. 36-62). The Examiner further finds the plurality of servers are connected via a high speed network, such as a fiber optic network. Ans. 8 (citing col. 3, 1. 62 - col. 4, 1. 33). We agree with the Examiner that Chen teaches an interface via an optical interconnect connection between the 10 Appeal2014-008716 Application 12/993,926 memory controller and the plurality of servers. Accordingly, Appellants have not shown error in the Examiner's rejection of claim 12. Regarding the rejections of claims 1-3, 6, 10, and 13, Appellants present no arguments pertaining to these rejections. We, therefore, summarily sustain these rejections. DECISION We affirm the Examiner's rejections of claims 1---6 and 9-15 as set forth above. However, we reverse the rejection of claims 7 and 8. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136. AFFIRMED-IN-PART 11 Copy with citationCopy as parenthetical citation