Prosecution Insights
Last updated: May 29, 2026
Application No. 18/349,141

ULTRA HIGH-SPEED LOW-LATENCY NETWORK STORAGE

Non-Final OA §103
Filed
Jul 08, 2023
Priority
Dec 05, 2017 — continuation of 10/992,967 +1 more
Examiner
PEREZ-VELEZ, ROCIO DEL MAR
Art Unit
2133
Tech Center
2100 — Computer Architecture & Software
Assignee
Sony Interactive Entertainment LLC
OA Round
4 (Non-Final)
79%
Grant Probability
Favorable
4-5
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
188 granted / 238 resolved
+24.0% vs TC avg
Strong +23% interview lift
Without
With
+23.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
5 currently pending
Career history
246
Total Applications
across all art units

Statute-Specific Performance

§101
1.7%
-38.3% vs TC avg
§103
80.4%
+40.4% vs TC avg
§102
4.6%
-35.4% vs TC avg
§112
5.4%
-34.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 238 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Amendment This Office Action has been issued in response to amendment filed 6/30/2025. Claims 1, 4, 8, and 11 have been amended. Claims 15-20 have been added. Claims 1-20 remain pending and are ready for examination. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. Claim(s) 1-7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nesbit US 2019/0332568 in view of Perlman US 2009/0119738 and Sakalley US 9,934,173, and further in view of Singh, US 2017/0177222. [CLM 1] Device comprising: A device comprising a server stack, the server stack comprising: at least one compute server; at least one storage server coupled to the at least one compute server, the storage server comprising at least first and second solid state drives (SSD), the device programmed with instructions to: receive a request for a piece of content of a computer game from a remote client, the piece of content comprising at least a first portion and a second portion of the computer game; send to the remote client the first portion of the computer game from the first SSD; send to the remote client the second portion of the computer game from the second SSD; wherein the first and second portions of the computer game are sent to the remote client directly over a non-volatile memory over fabric (NVMe-oF) path without passing through any compute server in the server stack. Nesbit US 2019/0332568 teaches: A device comprising a server stack, the server stack comprising: at least one compute server: Nesbit teaches a distributed storage system with a curator [Fig. 2B]. at least one storage server coupled to the at least one compute server, the storage server comprising at least first and second solid state drives (SSD), the device programmed with instructions to:: Storage system comprising a curator and storage servers acting as memory hosts [Fig. 2B]. These are coupled via a network/fabric [0031]. receive a request for a piece of content of a computer game from a remote client, the piece of content comprising at least a first portion and a second portion of the computer game; Curator receives a request from the client to access a file [Figs. 2B, 6], the file being divided into data strips and stored into multiple storage locations among the memory hosts [0008]. send to the remote client the first portion [of a computer game] [from the first SSD]; Reading a first stripe of the file from a first storage device 114 of a memory host [0008; 0031]. send to the remote client the second portion [of the computer game] [from the second SSD]; Reading a second stripe of the file from a second storage device 114 of a memory host [0008; 0031]. wherein the first and second portions [of the computer game] are sent to the remote client directly over a [non-volatile memory over fabric (NVMe-oF)] path without passing through any compute server in the server stack. Client directly accesses data in the storage system based on provided file descriptor using a data path that does not pass through any compute server accessing the storage device [Figs. 2B]. The data path may comprise a fabric [0029]. Nesbit further teaches RDMA access with no compute server in the data path [0029],[0031]. Nesbit is silent to: The memory hosts storing data using SSDs. The memory hosts storing a computer game. The data path comprising an NVMe-oF path. Where Nesbit is silent, Perlman US 2009/0119738 teaches storing (and hosting) a downloadable computer game on servers accessible to a client over a network [0012; 0015; 0045]. Hence, Nesbit discloses a distributed storage system for storing and retrieving data, and Nesbit discloses a context and specific type of data to be stored. The skilled artisan could have used the memory hosts of the storage system of Nesbit to store the computer game data of Perlman. The results of the combination would have been predictable, and the skilled artisan would have had a reasonable expectation of success in making the combination because storing data, such as computer game data, is within the scope of ordinary functions expected of a storage system. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to employ the storage system and storage methods (e.g., data striping across multiple storage devices) of Nesbit to store computer game data as taught by Perlman, and the results of the combination would have been predictable. Where Nesbit is silent, Sakalley US 9,934,173 teaches a data path for storing data on a plurality of SSDs using RDMA, where the data path comprises a non-volatile memory over fabric (NVMe-oF) path without passing through any compute server accessing the SSD [Fig. 1]. The skilled artisan could have substituted the generic data path/network of Nesbit with an NVMe-oF path/network as taught by Sakalley, and the results of the substitution would have been predictable because both elements are used for the same function - to handle RDMA data transfers and communication between clients and storage devices. Moreover, Sakalley discloses “layering the NVMe protocol over an RDMA protocol” [Background] and Nesbit discloses an RDMA protocol over which the NVMe protocol may be layered, further indicating the compatibility of NVMe protocols with RDMA protocols. The skilled artisan further could have substituted the generic data storage devices of Nesbit with the NVM subsystem comprising SSDs as taught by Sakalley, and the results of the substitution would have been predictable because both elements are used for the same function – storing data. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to substitute the NVMe-oF protocol disclosed by Sakalley for the generic protocol and path of Nesbit, and to substitute the data storage devices of Nesbit with the NVM subsystem comprising SSDs as taught by Sakalley, and the results of the substitution would have been predictable. Singh teaches wherein the first and second portions [of the computer game] are sent to the remote client directly over a [non-volatile memory over fabric (NVMe-oF)] path without passing through any compute server in the server stack. Singh teaches upon identifying the first remote storage device and the log of sequence of blocks storing data packets of the first remote storage device via a NVMe enabled SSD, transmitting (streamed) the data packet to the remote NVME controller via the NVMe network fabric without the intervention of a host computing system (computer server); paragraphs (0140), [0159]. [0273], [0286], [0288] (0358)). It would have been obvious to the skilled artisan before the effective filing date of the claimed invention to combine the teachings of Nesbit, Perlman, and Sakalley with those of Singh to incorporate the teachings of path without passing through any compute server in the server stack. The skilled artisan, seeking to improve the system architecture of Nesbit (direct client access to distributed storage), Perlman (streaming computer games/content), and Sakalley (NVMe-oF protocol and SSDs), would recognize that adopting Singh’s approach of transmitting data directly from storage devices over NVMe-oF—without passing through a compute server—would yield predictable benefits, such as lower latency, reduced bottlenecks, and increased throughput. The skilled artisan would have been motivated to perform this combination in order to further optimize data delivery performance and reduce latency in distributed storage systems. [CLM 2] 2. The device of Claim 1, wherein the first and second SSDs comprise respective first and second NVMe-enabled SSDs. The combination teaches claim 1, wherein the first and second SSDs comprise respective first and second NVMe-enabled SSDs (the SSDs being NVMe SSDs [Sakalley, Background; C5, L45-57]). [CLM 3] 3. The device of Claim 2, comprising: at least one NVMe-oF path connecting a first compute server to the NVMe-enabled SSDs, the NVMe-oF path comprising a single common fabric adapter that implements a NVMe interface such that the first compute server has one and only one fabric adapter and the first compute server communicates with the NVMe-enabled SSDs directly over the NVMe-oF path without communication passing through any other controller. The combination teaches claim 2, comprising: at least one NVMe-oF path connecting a first compute server to the NVMe-enabled SSDs (servers 402 [Perlman, Fig. 4a]), the NVMe-oF path comprising a single common fabric adapter that implements a NVMe interface such that the first compute server has one and only one fabric adapter and the first compute server communicates with the NVMe-enabled SSDs directly over the NVMe-oF path without communication passing through any other controller (each server has a direct path through the network to the memory hosts via the NIC [Nesbit, Fig. 2A]; where servers access the storage devices directly using RDMA [Nesbit, 0029; Fig. 2B]; and in the combination, the network is implemented using NVMe-oF layered over RDMA [Sakalley, Fig. 1]). Perlman further discloses the hosting service further comprising computing servers (Servers 402 [Fig. 4a]) connected to the storage network 403 [Fig. 4a], the computing servers to access computer game data in the storage server [0113-0115]. By offloading execution of the computer game onto the hosting service, the system requirements in the client device are decreased [0103-0105]. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to further provide computing servers as taught by Perlman to the system of the combination in order to execute the computer game on the hosting service, thereby enabling reduced system requirements on the client device [Perlman, 0103-0105]. [CLM 4] 4. (original) The device of Claim 3, wherein the device is programmed with instructions to: receive a request for a piece of content from a client computer; cause the piece of content to be streamed to the client device over the NVMe-oF path. The combination teaches claim 3, wherein the device is programmed with instructions to: receive a request for a piece of content from a client computer; Request for data is received from a client computer [Nesbit, 0004]. Perlman also states that a request for game data may be from a client computer [Perlman, 0243; 0045]. cause the piece of content to be streamed to the client device over the NVMe-oF path. Streaming a video [Perlman, 0037-0038] or a computer game to a client over the network using servers [Perlman, 0057-0059; 0243]. Hence, Perlman further teaches that content, such as a video or a computer game, can be hosted and streamed from a server to a user device. The function of hosting a computer game on a server was known, and could have been combined with the servers of Nesbit to perform the same function. The results of the combination would have been predictable because Perlman recognizes that hosting and streaming functions could be performed in a server, the same type of device disclosed by Nesbit. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to host video and/or computer games as taught by Perlman on the servers of Nesbit for the purpose of streaming video and/or computer game content to a client, and the results of the combination would have been predictable. [CLM 5] 5. (original) The device of Claim 2, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and the device is programmed with instructions to: responsive to a determination that the first NVMe-enabled SSD has failed, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. The combination teaches claim 2, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and A curator storing file descriptors for mapping data to stripes stored on the memory hosts [Nesbit, 0008], the file descriptor to be used by the client to perform RDMA-type access directly with the memory hosts [0012]. The curator may further include a file map mapping files to file descriptors [0056]. the device is programmed with instructions to: responsive to a determination that the first NVMe-enabled SSD has failed, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. In response to determining a memory host 110 is not operational [0032], the client may re-query the curator [0033]. When a reader encounters an error, the reader may select a different chunk to read and notify the curator that the memory host has failed [0050]. Recall that the data stripe replicas are stored in multiple storage locations on the memory hosts – therefore, the reader would be accessing other memory hosts storing stripe replicas to obtain the data on the failed memory host [0034][Fig. 3A]. [CLM 6] 6. (original) The device of Claim 2, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and the device is programmed with instructions to: responsive to a determination that a load balancing condition is met with the first NVMe- enabled SSD remaining operational, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. The combination teaches claim 2, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and A curator storing file descriptors for mapping data to stripes stored on the memory hosts [Nesbit, 0008], the file descriptor to be used by the client to perform RDMA-type access directly with the memory hosts [0012]. The curator may further include a file map mapping files to file descriptors [0056]. the device is programmed with instructions to: responsive to a determination that a load balancing condition is met with the first NVMe- enabled SSD remaining operational, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. Nesbit further teaches, based on determining load on the memory hosts, rebalancing the memory hosts [0061-0064]. The curator may cause chunks to be rebalanced from memory hosts to under-full memory hosts [0063]. The new memory hosts would then be used to service accesses to the content. [CLM 7] 7. (original) The device of Claim 2, comprising a management server that is implemented by the storage server. The combination teaches claim 2, comprising a management server (curator [Fig. 2A) [that is implemented by the storage server]. The combination differs in that the curator is depicted on a separate server and not integrated with one of the servers 116. However, the differences amount to an integration of known parts. The curator is described as a process which may be executed on a processor to manage data storage [0031], such as software [0072]. The memory hosts are depicted as containing processors and would therefore be understood to be capable of executing software such as the curator. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to combine the curator with a memory host, by running the curator on one of the memory hosts, as the differences amounted to an integration of known parts. Claim(s) 8 and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sharma US 2018/0004703 in view of Nesbit US 2019/0332568 and Perlman US 2009/0119738. [CLM 8] 8. (currently amended) A storage server for streaming video content to a remote client, comprising: plural processors in respective sockets of at least a first motherboard including plural network adapters to access data transfer fabric, each socket comprising at least one random access memory (RAM); plural solid-state drives electrically connected to at least a first one of the processors; and at least one communication path comprising at least one fabric adapter, at least one processing unit of at least one compute server that is configured to provide a computer game to a client device being connected to a switch through which the processing unit is coupled to a southbridge via at least one lane, the switch also connecting the processing unit to the respective fabric adapter. Sharma US 2018/0004703 teaches: A storage server for streaming video content to a remote client, comprising: Server [0016], comprising storage and networking functions [0046]. plural processors in respective sockets of at least a first motherboard including plural network adapters to access data transfer fabric, each socket comprising at least one random access memory (RAM); and Motherboard comprising multiple sockets and multiple processors (“Turning to FIG. 6, a simplified block diagram 600 is shown illustrating an example system and local I/O connections to interconnect multiple processor sockets and devices in a multi-socket system. For instance, multiple processor sockets 605, 610 may be provided, each with multiple processor cores (e.g., 615a-h). A socket may be embodied as a physical connector on a computer board that accepts a single physical chip. A socket, within this disclosure, may also refer to a single physical chip that has been soldered or otherwise connected to a board or platform and locally interconnected with one or more other devices on the platform. Many motherboards can have multiple sockets that can in turn accept chips that include one or more processors, or cores.” [0047]). Each socket having associated DRAM (“the socket's associated system memory (DRAM, 3DX-Point, etc.)” [0051]). Multiple network adapters on the motherboard (“a single device (e.g., an individual NIC, solid state drive (SSD), GPU, etc.) may be provided with multiple ports to enable multiple links (e.g., PCIe links) between the device and a socket hosting one or more CPU cores. Multiple upstream links from a single device may be utilized to provide certain system enhances and support new use cases. For instance, multiple upstream links may be utilized to increase the bandwidth available to the device. For instance, a device may be provided with bandwidth requirements exceeding that which is practicable from a single ×16 at the maximum available data rate (e.g., 8 GT/s×16 in PCIe Gen3 and 16 GT/s×16 in PCIe Gen 4). In some instances, multiple device uplinks may also enable better cache (e.g., last level cache (LLC)) utilization in a system and assist in managing sensitive bandwidth demands of interprocessor links (e.g., in a multi-socket system). Multiple device upstream links may also be used to optimize I/O and core affinity (e.g., in multi-socket systems) and enable flexible system configurations for workload optimization, failover and increased fault tolerance, and other purposes and examples.” [0046] NICs coupled to internal fabric [0017; 0019; 0023; 0048] to interface with an external network [0044]. Each link provided (660, 665, 670, 675, 680) may be used as an interface for a separate device (620, 625, 630, 635, 640) [0049]. Further, “devices traditionally are provided with a single uplink port” [0051], indicating that links are capable of coupling devices to a processor. A device 125 in a node of the fabric [0019] may constitute a device such as a NIC or storage device [0023], etc. These devices are commonly considered endpoints, and each device 620-640 is similarly considered [Fig. 6]. plural solid-state drives electrically connected to at least a first one of the processors. Solid state drive [0046], optionally connected to at least processor/socket [Fig. 7A]. Sharma does not expressly disclose providing a plurality of NICs and SSDs. However, Sharma discloses at least one of each, and provides motivation for providing multiple and redundant hardware components in the system: “failover and increased fault tolerance” [0046]. In addition, the skilled artisan would have reasoned that providing more SSDs provides increased storage capacity, and providing more NICs provides increased connectivity and network bandwidth, based on the existing purpose and function of storage devices and NICs. Further, such additional devices could have been combined according to known methods, e.g. by electrically connecting them to one or more PCIe links available on the motherboard as taught by Sharma [Fig. 6]. Further, the claims differ from the prior art by only a duplication of parts (SSDs and NICs), see MPEP 2144.04. Given Sharma’s description of the function of each link to couple a device to a processor, it is within the teachings of Sharma to provide one or more PCIe links to one or more additional devices such as NICs and SSDs. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to install additional NICs and SSDs in the system of Sharma via available PCIe links for the purposes of (1) failover and hardware redundancy and (2) increased communications capacity and storage capacity. Sharma does not specify what kind of external network or other devices are coupled to the NIC. Accordingly, Sharma is silent to the NICs specifically being connected to access an external data transfer fabric, and at least one communication path comprising at least one fabric adapter, at least one processing unit of at least one compute server that is configured to provide a computer game to a client device being connected to a switch through which the processing unit is coupled to a southbridge via at least one lane, the switch also connecting the processing unit to the respective fabric adapter. Where Sharma is silent, Nesbit teaches a system in which one or more storage servers (memory host) provide storage services for clients [Fig. 2A], wherein the NICs of the servers are used to connect the servers to access data transfer fabric [Fig. 2B], where the system comprises at least one communication path comprising at least one fabric adapter (NIC coupling the server to network fabric 130 [0029]). Nesbit discloses connecting storage servers to clients using a fabric. Nesbit further discloses providing a file descriptor from a curator to enable requesting clients to directly access files stored on the servers without requiring further involvement from the processors of the storage servers [0003-0004; 0027]. Hence, Nesbit discloses a system connecting clients to a set of servers with a generic structure. Sharma discloses a specific server structure. Sharma’s specific server structure is substitutable for the generic server structure of Nesbit. The results of the substitution would have been predictable because in both contexts, the server performs a function of connecting storage resources to a network. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to substitute the server structure of Sharma for the memory host of Nesbit, and the results of the substitution would have been predictable. Where Sharma and Nesbit are silent, Perlman teaches: at least one processing unit of at least one compute server that is configured to provide a computer game to a client device Game hosting service comprising compute servers 402 and storage servers 405 [Perlman, 0102; 0105; 0113-0115; Fig. 4a], to provide a computer game to a client device using a network, whether as a download or a stream [0018; 0045; 0049; 0057]. Regarding: The processing unit being connected to a switch through which the processing unit is coupled to a southbridge via at least one lane, the switch also connecting the processing unit to the respective fabric adapter. Regarding known methods of server construction, Sharma further teaches connecting one or more processors to a controller hub 115 (which may comprise a chipset or a southbridge [Sharma, 0021]), and to NICs [0017; 0019; 0023; 0048]; where transmission paths between components in a server comprise one or more PCIe lanes [Sharma, 0038-0046]. Hence, the prior art disclosed a context in which compute servers and storage servers are coupled to a client device for the purpose of providing a computer game to the client device, where (1) the servers are connected via NICs to a network fabric and the client device, (2) where servers may comprise processors, NICs, SSDs and a southbridge, and (3) where server components may be connected to each other using one or more hubs and switches. Computer game data is a type of data. A storage server is configured to store data. Hence, using a storage server to store data falls within the normal scope of operations of the storage server. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to substitute the generic file data of the storage servers of the combination for the more specific computer game data as taught by Perlman, and the results of the substitution would have been predictable because the servers are being used for their primary purpose - to store data. Further, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to combine the compute server of Perlman to the system of the combination for the purpose of streaming the computer game to the client device, and the results of the combination would have been predictable because the compute server and storage servers would each perform the same function as previously. [CLM 14] 14. (original) The storage server of Claim 8, comprising a management server that is implemented by the storage server. The combination teaches claim 2, comprising a management server (curator [Nesbit, Fig. 2A) [that is implemented by the storage server]. The combination differs in that the curator is depicted on a separate server and not integrated with one of the servers 116. However, the differences amount to an integration of known parts. The curator is described as a process which may be executed on a processor to manage data storage [Nesbit, 0031], such as software [Nesbit, 0072]. The memory hosts are depicted as containing processors and would therefore be understood to be capable of executing software such as the curator. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to combine the curator with a memory host, by running the curator on one of the memory hosts, as the differences amounted to an integration of known parts. Claim(s) 9-13 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination as applied to claim 8 above, and further in view of Sakalley US 9,934,173. [CLM 9] 9. (previously presented)The storage server of Claim 8, wherein the data transfer fabric comprises at least one NVMe over fabric (NVMe-oF) communication path and the solid-state drives comprise non-volatile memory (NVMe)-enabled solid state drives. The combination teaches claim 8. Where the combination is silent, Sakalley teaches, wherein the data transfer fabric comprises at least one NVMe over fabric (NVMe-oF) communication path and the solid-state drives comprise non-volatile memory (NVMe)-enabled solid state drives (using an NVMe-oF-based network to handle communications between a storage server comprising NVMe SSDs and a client [Sakalley, Fig. 1; C5, L45-57]). Hence, the cited prior art disclosed use of networks to communicate between a client and a storage server. Sakalley discloses that an example network for such communications is NVME-oF. Sakalley further discloses that SSDs of a storage server may comprise NVMe SSDs. The skilled artisan could have substituted the generic data path/network of the combination with an NVMe-oF path/network as taught by Sakalley, and the results of the substitution would have been predictable because both elements are used for the same function - to handle RDMA data transfers and communication between clients and storage devices. Moreover, Sakalley discloses “layering the NVMe protocol over an RDMA protocol” [Background] and Nesbit discloses an RDMA protocol over which the NVMe protocol may be layered, further indicating the compatibility of NVMe protocols with RDMA protocols. The skilled artisan further could have substituted the generic data storage devices of Nesbit with the NVM subsystem comprising SSDs as taught by Sakalley, and the results of the substitution would have been predictable because both elements are used for the same function – storing data. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to substitute the NVMe-oF protocol disclosed by Sakalley for the generic protocol and path of the combination, and to substitute the data storage devices of Nesbit with the NVM subsystem comprising NVMe SSDs as taught by Sakalley, and the results of the substitution would have been predictable. [CLM 10] 10. (previously presented) The storage server of Claim 9, wherein the NVMe-oF communication path connects a first compute server to the NVMe-enabled solid state drives, the NVMe-oF communication path comprising a single common fabric adapter that implements a NVMe interface such that the first compute server has one and only one fabric adapter and communicates with the NVMe-enabled solid state drives without passing through any controller. The combination teaches claim 9, wherein the NVMe-oF communication path connects a first compute server to the NVMe-enabled solid state drives (compute server [Perlman, 0102; 0105; 0113-0115; Fig. 4a] is connected via the network to the NVMe SSDs [Sakalley, Fig. 1; C5, L45-57]), the NVMe-oF communication path comprising a single common fabric adapter that implements a NVMe interface such that the first compute server has one and only one fabric adapter and communicates with the NVMe-enabled solid state drives without passing through any controller (each server has a direct path through the network to the memory hosts via the NIC [Nesbit, Fig. 2A]; where servers access the storage devices directly using RDMA [Nesbit, 0029; Fig. 2B]; and in the combination, the network is implemented using NVMe-oF layered over RDMA [Sakalley, Fig. 1]). Perlman further discloses the hosting service further comprising computing servers (Servers 402 [Fig. 4a]) connected to the storage network 403 [Fig. 4a], the computing servers to access computer game data in the storage server [0113-0115]. By offloading execution of the computer game onto the hosting service, the system requirements in the client device are decreased [0103-0105]. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to further provide computing servers as taught by Perlman to the system of the combination in order to execute the computer game on the hosting service, thereby enabling reduced system requirements on the client device [Perlman, 0103-0105]. [CLM 11] 11. (original) The storage server of Claim 9, wherein the storage server is programmed with instructions to: receive a request for a piece of content from a client computer; cause the piece of content to be streamed to the client device over the NVMe-oF communication path. The combination teaches claim 9, wherein the storage server is programmed with instructions to: receive a request for a piece of content from a client computer; Request for data is received from a client computer [Nesbit, 0004]. Perlman also states that a request for game data may be from a client computer [Perlman, 0243; 0045]. cause the piece of content to be streamed to the client device over the NVMe-oF communication path. Streaming a video [Perlman, 0037-0038] or a computer game to a client over the network using servers [Perlman, 0057-0059; 0243], where the network employs NVMe-oF [Sakalley, Fig. 1; C5, L45-57]. Hence, Perlman further teaches that content, such as a video or a computer game, can be hosted and streamed from a server to a user device in response to a request for content. The function of hosting a computer game on a server was known, and could have been combined with the servers of Nesbit to perform the same function. The results of the combination would have been predictable because Perlman recognizes that hosting and streaming functions could be performed in a server, the same type of device disclosed by Nesbit. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to host video and/or computer games as taught by Perlman on the servers of the combination for the purpose of streaming video and/or computer game content to a client, and the results of the combination would have been predictable. [CLM 12] 12. (previously presented) The storage server of Claim 9, comprising a data structure further correlating a portion of a computer game as being stored on at least the second NVMe- enabled solid state drive along with blocks of the second NVMe-enabled solid state drive store storing the portion, and the storage server is programmed with instructions to: responsive to a determination that the first NVMe-enabled solid state drive has failed, switch to the second NVMe-enabled solid state drive to provide the portion to the client computer. The combination teaches claim 9, comprising a data structure further correlating a portion of a computer game as being stored on at least the second NVMe- enabled solid state drive along with blocks of the second NVMe-enabled solid state drive store storing the portion, and A curator storing file descriptors for mapping data to stripes stored on the memory hosts [Nesbit, 0008], the file descriptor to be used by the client to perform RDMA-type access directly with the memory hosts [0012]. The curator may further include a file map mapping files to file descriptors [0056]. In the combination, the generic file is replaced with a computer game based on Perlman. the storage server is programmed with instructions to: responsive to a determination that the first NVMe-enabled solid state drive has failed, switch to the second NVMe-enabled solid state drive to provide the portion to the client computer. In response to determining a memory host 110 is not operational [0032], the client may re-query the curator [0033]. When a reader encounters an error, the reader may select a different chunk to read and notify the curator that the memory host has failed [0050]. Recall that the data stripe replicas are stored in multiple storage locations on the memory hosts – therefore, the reader would be accessing other memory hosts storing stripe replicas to obtain the data on the failed memory host [0034][Fig. 3A]. [CLM 13] 13. (previously presented)The storage server of Claim 9, comprising a data structure further correlating a portion of a computer game as being stored on at least the second NVMe- enabled solid state drive along with blocks of the second NVMe-enabled solid state drive storing the portion, and the storage server is programmed with instructions to: responsive to a determination that a load balancing condition is met with the first NVMe- enabled solid state drive remaining operational, switch to the second NVMe-enabled solid state drive to provide the portion to the client computer. The combination teaches claim 9, comprising a data structure further correlating a portion of a computer game as being stored on at least the second NVMe- enabled solid state drive along with blocks of the second NVMe-enabled solid state drive storing the portion, and A curator storing file descriptors for mapping data to stripes stored on the memory hosts [Nesbit, 0008], the file descriptor to be used by the client to perform RDMA-type access directly with the memory hosts [0012]. The curator may further include a file map mapping files to file descriptors [0056]. the storage server is programmed with instructions to: responsive to a determination that a load balancing condition is met with the first NVMe- enabled solid state drive remaining operational, switch to the second NVMe-enabled solid state drive to provide the portion to the client computer. Nesbit further teaches, based on determining load on the memory hosts, rebalancing the memory hosts [0061-0064]. The curator may cause chunks to be rebalanced from memory hosts to under-full memory hosts [0063]. The new memory hosts would then be used to service accesses to the content. Claims 15-20 Claims 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Nesbit US 2019/0332568 in view of Perlman US 2009/0119738 and Sakalley US 9,934,173, and further in view of Hamad et al, “Response Time Optimization for Replica Selection Service in Data Grids”. With respect to claim 15, Nesbit teaches: A server stack comprising: at least one compute server; Nesbit teaches a distributed storage system with a curator [Fig. 2B]. at least one storage server coupled to the at least one compute server, the storage server comprising at least first and second solid state drives (SSD), the device programmed with instructions to: Storage system comprising a curator and storage servers acting as memory hosts [Fig. 2B]. These are coupled via a network/fabric [0031]. receive a request for a piece of content of a computer game from a remote client, the piece of content comprising at least a first portion and a second portion of the computer game; Curator receives a request from the client to access a file [Figs. 2B, 6], the file being divided into data strips and stored into multiple storage locations among the memory hosts [0008]. send to the remote client the first portion of the computer game from the first SSD; Reading a first stripe of the file from a first storage device 114 of a memory host [0008; 0031]. send to the remote client the second portion of the computer game from the second SSD; Reading a second stripe of the file from a second storage device 114 of a memory host [0008; 0031]. Nesbit is silent to: The memory hosts storing data using SSDs. The memory hosts storing a computer game. responsive to the first SSD returning the first portion faster than the second SSD returned the second portion, send remaining portions of the computer game from the first SSD. Where Nesbit is silent, Perlman US 2009/0119738 teaches storing (and hosting) a downloadable computer game on servers accessible to a client over a network [0012; 0015; 0045]. Hence, Nesbit discloses a distributed storage system for storing and retrieving data, and Nesbit discloses a context and specific type of data to be stored. The skilled artisan could have used the memory hosts of the storage system of Nesbit to store the computer game data of Perlman. The results of the combination would have been predictable, and the skilled artisan would have had a reasonable expectation of success in making the combination because storing data, such as computer game data, is within the scope of ordinary functions expected of a storage system. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to employ the storage system and storage methods (e.g., data striping across multiple storage devices) of Nesbit to store computer game data as taught by Perlman, and the results of the combination would have been predictable. Where Nesbit is silent, Sakalley US 9,934,173 teaches a data path for storing data on a plurality of SSDs using RDMA [Fig 1]. The skilled artisan could have substituted the generic data storage devices of Nesbit with the NVM subsystem comprising SSDs as taught by Sakalley, and the results of the substitution would have been predictable because both elements are used for the same function – storing data. Where Nesbit is silent Hamad teaches responsive to the first SSD returning the first portion faster than the second SSD returned the second portion, send remaining portions of the computer game from the first SSD. Hamad teaches (Abstract) Replica selection is a high-level service that chooses a replica location from among many distributed replicas with the minimum response time for the users' jobs. Hamad (p. 488) discloses data files are stored in a storage media which vary in speeds. Each storage media has a specific speed[15] which can be measured as an I/O data transfer rate. Hamad (p. 489) selecting the best replica location for the underlying job, when the best replica location means the replica that has the minimum response time between two underlying sites. Before the effective filing date of the claimed invention, one of ordinary skill in the art would have been motivated to combine the teachings of Hamad et al. with those of Nesbit, Perlman, and Sakalley in order to further optimize data delivery performance and improve user experience in distributed storage and content delivery systems. Hamad et al. teach dynamic replica selection based on observed response time, wherein the system selects the storage device (e.g., SSD) that is currently providing the fastest response and dynamically switches to that device for subsequent data transfers. Incorporating Hamad’s dynamic, performance-based replica selection and switching into the architectures of Nesbit, Perlman, and Sakalley would provide predictable benefits, such as reduced latency and improved throughput, by always favoring the fastest available storage path. Regarding claim 16, 16. (New) The server stack of claim 15, wherein the first and second SSDs comprise respective first and second non-volatile memory (NVMe)-enabled SSDs. The combination teaches wherein the first and second SSDs comprise respective first and second NVMe-enabled SSDs (the SSDs being NVMe SSDs [Sakalley, Background; C5, L45-57]). Regarding claim 17, 17. (New) The server stack of claim 16, comprising: at least one NVMe over fabric (NVMe-oF) communication path connecting a first compute server to the NVMe-enabled SSDs, the NVMe-oF communication path comprising asingle common fabric adapter that implements a NVMe interface such that the first compute server has one and only one fabric adapter. The combination teaches, comprising: at least one NVMe-oF path connecting a first compute server to the NVMe-enabled SSDs (servers 402 [Perlman, Fig. 4a]), the NVMe-oF path comprising a single common fabric adapter that implements a NVMe interface such that the first compute server has one and only one fabric adapter (each server has a direct path through the network to the memory hosts via the NIC [Nesbit, Fig. 2A]; where servers access the storage devices directly using RDMA [Nesbit, 0029; Fig. 2B]; and in the combination, the network is implemented using NVMe-oF layered over RDMA [Sakalley, Fig. 1]). Perlman further discloses the hosting service further comprising computing servers (Servers 402 [Fig. 4a]) connected to the storage network 403 [Fig. 4a], the computing servers to access computer game data in the storage server [0113-0115]. By offloading execution of the computer game onto the hosting service, the system requirements in the client device are decreased [0103-0105]. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to further provide computing servers as taught by Perlman to the system of the combination in order to execute the computer game on the hosting service, thereby enabling reduced system requirements on the client device [Perlman, 0103-0105]. Regarding claim 18, 18. (New) The server stack of claim 17, wherein the device is programmed with instructions to: receive a request for a piece of content from a client computer; and cause the piece of content to be streamed to the client device over the NVMe-oF path. The combination teaches wherein the device is programmed with instructions to: receive a request for a piece of content from a client computer; Request for data is received from a client computer [Nesbit, 0004]. Perlman also states that a request for game data may be from a client computer [Perlman, 0243; 0045]. cause the piece of content to be streamed to the client device over the NVMe-oF path. Streaming a video [Perlman, 0037-0038] or a computer game to a client over the network using servers [Perlman, 0057-0059; 0243]. Hence, Perlman further teaches that content, such as a video or a computer game, can be hosted and streamed from a server to a user device. The function of hosting a computer game on a server was known, and could have been combined with the servers of Nesbit to perform the same function. The results of the combination would have been predictable because Perlman recognizes that hosting and streaming functions could be performed in a server, the same type of device disclosed by Nesbit. Accordingly, it would have been obvious to the skilled artisan before the effective filing date of the claimed invention to host video and/or computer games as taught by Perlman on the servers of Nesbit for the purpose of streaming video and/or computer game content to a client, and the results of the combination would have been predictable. Regarding Claim 19, 19. (New) The server stack of claim 16, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and the device is programmed with instructions to: responsive to a determination that the first NVMe-enabled SSD has failed, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. The combination teaches comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and A curator storing file descriptors for mapping data to stripes stored on the memory hosts [Nesbit, 0008], the file descriptor to be used by the client to perform RDMA-type access directly with the memory hosts [0012]. The curator may further include a file map mapping files to file descriptors [0056]. the device is programmed with instructions to: responsive to a determination that the first NVMe-enabled SSD has failed, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. In response to determining a memory host 110 is not operational [0032], the client may re-query the curator [0033]. When a reader encounters an error, the reader may select a different chunk to read and notify the curator that the memory host has failed [0050]. Recall that the data stripe replicas are stored in multiple storage locations on the memory hosts – therefore, the reader would be accessing other memory hosts storing stripe replicas to obtain the data on the failed memory host [0034][Fig. 3A]. Regarding Claim 20, 20. (New) The server stack of claim 16, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and the device is programmed with instructions to: responsive to a determination that a load balancing condition is met with the first NVMe-enabled SSD remaining operational, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. The combination teaches, comprising a data structure further correlating a piece of content from the computer game as being stored on at least the second NVMe-enabled SSD along with blocks of the second NVMe-enabled SSD store the piece of content, and A curator storing file descriptors for mapping data to stripes stored on the memory hosts [Nesbit, 0008], the file descriptor to be used by the client to perform RDMA-type access directly with the memory hosts [0012]. The curator may further include a file map mapping files to file descriptors [0056]. the device is programmed with instructions to: responsive to a determination that a load balancing condition is met with the first NVMe- enabled SSD remaining operational, switch to the second NVMe-enabled SSD to provide the piece of content to the client computer. Nesbit further teaches, based on determining load on the memory hosts, rebalancing the memory hosts [0061-0064]. The curator may cause chunks to be rebalanced from memory hosts to under-full memory hosts [0063]. The new memory hosts would then be used to service accesses to the content. Response to Arguments Applicant’s arguments with respect to claim(s) 1-7 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Applicant’s arguments with respect to claim(s) 8-14 have been considered have been fully considered but they are not persuasive. Applicant argues that Sharma’s connector hub 115 and switch 120 do not show or suggest that the switch also connects the processing unit to the respective fabric adapter, and that the cited references do not teach this combination. Sharma discloses multi-socket, multi-processor motherboards with multiple network adapters (fabric adapters) and multiple storage devices, all interconnected via PCIe switches and controller hubs ([Sharma, Figs. 1, 6, 7A]; [0046]–[0051]). Sharma further teaches that PCIe switches can connect processors to multiple devices, including NICs (fabric adapters) and storage devices, and that such switches can be used to route communications between processors and fabric adapters ([Sharma, [0046]–[0053]]). As such, Sharma teaches "at least one communication path comprising at least one fabric adapter, at least one processing unit of at least one compute server that is configured to provide a computer game to a client device being connected to a switch through which the processing unit is coupled to a southbridge via at least one lane, the switch also connecting the processing unit to the respective fabric adapter”. Accordingly, Examiner respectfully disagrees. Conclusion THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ROCIO DEL MAR PEREZ-VELEZ whose telephone number is (571)270-5935. The examiner can normally be reached Monday-Friday 9:30AM-5:00PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, John Cottingham can be reached on (571) 272-1400. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133
Read full office action

Prosecution Timeline

Show 4 earlier events
Nov 22, 2024
Request for Continued Examination
Nov 26, 2024
Response after Non-Final Action
Mar 28, 2025
Non-Final Rejection mailed — §103
Jun 30, 2025
Response Filed
Oct 02, 2025
Final Rejection mailed — §103
Jan 03, 2026
Response after Non-Final Action
Apr 02, 2026
Request for Continued Examination
Apr 08, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 10503637
MEMORY SYSTEM AND SoC INCLUDING LINEAR REMAPPER AND ACCESS WINDOW
4y 7m to grant Granted Dec 10, 2019
Patent 10496302
DATA PROTECTION BASED ON DATA CHANGED
3y 8m to grant Granted Dec 03, 2019
Patent 10489303
MULTI-RANGE LOOKUP IN TRANSLATION LOOKASIDE BUFFER
3y 8m to grant Granted Nov 26, 2019
Patent 10474569
INFORMATION PROCESSING DEVICE INCLUDING NONVOLATILE CACHE MEMORY AND PROCESSOR
4y 8m to grant Granted Nov 12, 2019
Patent 10459846
MEMORY SYSTEM AND INFORMATION PROCESSING APPARATUS
3y 7m to grant Granted Oct 29, 2019
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

4-5
Expected OA Rounds
79%
Grant Probability
99%
With Interview (+23.0%)
2y 7m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 238 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month