IP Library Granted Patent US 12,436,804
Granted Patent B2
US 12,436,804 · App. 16/424,429 · Granted Oct 7, 2025

Memory as a service for artificial neural network (ANN) applications

Inventors: Dmitri Yudanov (Rancho Cordova, CA); Ameen D. Akel (Rancho Cordova, CA); Samuel E. Bradshaw (Sacramento, CA); Kenneth Marion Curewitz (Cameron Park, CA); Sean Stephen Eilert (Penryn, CA)
Assignee: Micron Technology, Inc.
G06F9/5016G06F9/5022G06F9/5077G06F12/023G06F12/0284G06F12/08G06F12/0862G06F12/1009G06F12/1036G06F12/1072G06F13/1663G06N3/04G06F12/126G06F2212/1016G06F2212/152G06F2212/502G06F2212/657
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,436,804
App. No.
16/424,429
Granted
Oct 7, 2025
Kind
B2
Abstract

Systems, methods and apparatuses of Artificial Neural Network (ANN) applications implemented via Memory as a Service (MaaS) are described. For example, a computing system can include a computing device and a remote device. The computing device can borrow memory from the remote device over a wired or wireless network. Through the borrowed memory, the computing device and the remote device can collaborate with each other in storing an artificial neural network and in processing based on the artificial neural network. Some layers of the artificial neural network can be stored in the memory loaned by the remote device to the computing device. The remote device can perform the computation of the layers stored in the borrowed memory on behalf of the computing device. When the network connection degrades, the computing device can use an alternative module to function as a substitute of the layers stored in the borrowed memory.

Claims (75)

1. A computing device, the computing device comprising:

local memory; and

a processor that executes instructions from the local memory to configure the processor to perform operations comprising:

executing an application in the computing device, wherein the application is based on evaluating an output of an artificial neural network as the artificial neural network responding to an input, the artificial neural network having a first portion and a second portion, the output generated by the artificial neural network using the first portion and the second portion;

storing the first portion of the artificial neural network in the local memory of the computing device, wherein the second portion of the artificial neural network is stored in memory of a remote device, and the remote device and the computing device are connected via a wired or wireless network connection;

generating, by utilizing the computing device and the remote device, a first prediction of when a degradation of the wired or wireless network connection is to occur;

predicting, for a second prediction, a time to evict the first portion of the artificial neural network from the at least one memory region of the local memory based on a criticality level and the first prediction of when the degradation of the wired or wireless network connection is to occur;

evicting the first portion of the artificial neural network from the at least one memory region based on the second prediction and based on the first prediction of when the degradation of the wired or wireless network connection is to occur;

generating, by the computing device a first output of the first portion of the artificial neural network in response to the input, wherein the second portion of the artificial neural network in the remote device is configured to receive the first output generated by the computing device using the first portion of the artificial neural network as input to generate a second output of the second portion of the artificial neural network;

predicting a usage pattern of the artificial neural network during a time period corresponding to the first prediction of when the degradation of the wired or wireless network connection is to occur;

generating, based on the usage pattern predicted for the artificial neural network, an alternative module of the computing device for use by the artificial neural network;

wherein, when the degradation of the wired or wireless network connection is predicted to occur in accordance with the first prediction, the alternative module of the computing device substitutes the second portion of the artificial neural network in the remote device to generate the second output based on the first output;

allocating, by the computing device, memory resources to the application via virtual memory addresses;

accessing, by the computing device, at least a portion of the memory of the remote device via mapping virtual memory addresses used to provide memory resources to physical memory addresses of the at least the portion of the memory of the remote device; and

generating, in the computing device and based at least in part on the application using the virtual memory addresses allocated to provide the memory resources and the second portion of the artificial neural network, a result corresponding to the second output of the second portion of the artificial neural network.

2. The computing device of claim 1 , wherein the accessing of the portion of the memory of the remote device includes accessing the second portion of the artificial neural network stored in the portion of the memory of the remote device;

and the operations further comprise:

applying, by the computing device, the input to the second portion of the artificial neural network to generate the second output of the second portion of the artificial neural network.

3. The computing device of claim 2 , wherein the operations further comprise:

storing, by the computing device, the first portion of the artificial neural network in the memory of the remote device;

mapping, in the computing device, a first virtual address region for accessing the first portion of the artificial neural network to the remote device;

receiving, in the computing device from the remote device, the second portion of the artificial neural network; and

mapping, in the computing device, a second virtual address region for accessing the first portion of the artificial neural network to the local memory of the computing device.

4. The computing device of claim 1 , wherein the accessing of the portion of the memory of the remote device includes accessing the alternative module as a substitute of the second portion of the artificial neural network; and the result is generated by applying the input to the alternative module.

5. The computing device of claim 4 , wherein the alternative module is configured to receive a user input in assisting computation of the result.

6. The computing device of claim 4 , wherein the alternative module includes a simplified model of the second portion of the artificial neural network.

7. The computing device of claim 4 , wherein the operations further comprise:

receiving the alternative module in response to the first prediction of when the degradation in the wired or wireless network connection is to occur.

8. The computing device of claim 1 , wherein the operations further comprise:

requesting, by the computing device, the remote device to apply the input to the second portion of the artificial neural network;

wherein accessing, by the computing device, at least a portion of the memory of the remote device includes accessing the second output of the second portion of the artificial neural network generated on the remote device.

9. The computing device of claim 1 , wherein the operations further comprise:

detecting degradation in the wired or wireless network connection; and

in response to the degradation, skipping in the application computation involving the second portion of the artificial neural network.

10. A computing device, the computing device comprising:

memory; and

a processor that executes instructions from the memory to configure the processor to perform operations comprising:

establishing a connection with a remote device via a wired or wireless network, wherein the remote device is configured to store a first portion of an artificial neural network in local memory of the remote device and configured to access memory of the computing device;

storing, for the remote device, a second portion of the artificial neural network in the memory of the computing device;

generating, by utilizing the computing device and the remote device, a first prediction of when a degradation of the connection is to occur;

predicting, for a second prediction, a time to evict the first portion of the artificial neural network from the at least one memory region of the local memory based on a criticality level and the first prediction of when the degradation of the wired or wireless network connection is to occur;

evicting the first portion of the artificial neural network from the at least one memory region based on the second prediction and based on the first prediction of when the degradation of the wired or wireless network connection is to occur;

predicting a usage pattern of the artificial neural network during a time period corresponding to the first prediction of when the degradation of the wired or wireless network connection is to occur;

generating, based on the usage pattern predicted for the artificial neural network, an alternative module of the computing device for use by the artificial neural network;

and

providing, to the remote device, access to the memory of the computing device, including access to the second portion of the artificial neural network, wherein the remote device is configured to execute an application to generate an output of the first portion of the artificial neural network, wherein the remote device is configured to access the memory of the computing device via mapping virtual memory addresses used to provide memory resources to the application to physical memory addresses of the memory of the remote device; wherein the second portion of the artificial neural network is configured to receive the output of the first portion of the artificial neural network as input to generate an output of the second portion of the artificial neural network; and wherein, when the degradation of the connection is predicted to occur in accordance with the first prediction, the alternative module substitutes the second portion of the artificial network in the memory of the computing device to generate the output of the second portion based on the output of the first portion.

11. The computing device of claim 10 , wherein the remote device is configured to access the second portion of the artificial neural network stored in the memory of the computing device in applying the input to the second portion of the artificial neural network.

12. The computing device of claim 10 , wherein the operations further comprise:

transmitting to the remote device the alternative module as a substitute of the second portion of the artificial neural network, wherein the remote device is configured to replace processing by the second portion of the artificial neural network with processing by the alternative module when the connection degrades.

13. The computing device of claim 12 , wherein the alternative module includes a simplified model of the second portion of the artificial neural network.

14. The computing device of claim 13 , wherein the operations further comprise:

generating the simplified model of the second portion of the artificial neural network based on a usage pattern of the artificial neural network in the application.

15. The computing device of claim 14 , wherein the operations further comprise:

predicting the usage pattern for a time period during which the connection is predicted to degrade.

16. The computing device of claim 10 , wherein the operations further comprise:

receiving, in the computing device, a request from the remote device to apply the input to the second portion of the artificial neural network;

performing, by the computing device, computation of the second portion of the artificial neural network to generate the output of the second portion of the artificial neural network; and

providing the output of the second portion of the artificial neural network to the remote device.

17. The computing device of claim 10 , wherein the operations further comprise:

updating the second portion of the artificial neural network using a machine learning technique in a time period during which the first portion of the artificial neural network is being used in the application in the remote device.

18. A computing system having an artificial neural network, the system comprising:

a computing device having local memory and a communication device; and

a remote device having local memory and a communication device;

wherein when the communication device of the computing device and the communication device of the remote device are connected via a wired or wireless network, the remote device configured with at least one processor and an operating system is operatable to provide, to the computing device, access to the local memory of the remote device;

wherein a processor of the computing device and the remote device are configured to generate a first prediction of when a degradation of the wired or wireless network is to occur;

wherein the processor of the computing device is configured to provide, via virtual memory addresses, memory resources to an application running in the computing device and access the local memory of the remote device via mapping the virtual memory addresses used to provide the memory resources to physical memory addresses of the local memory of the remote device;

wherein the processor of the computing device is configured to collaborate with the remote device in storing the artificial neural network and in processing based on the artificial neural network, wherein a first portion of the artificial neural network is stored by the computing device and a second portion of the artificial neural network is stored by the remote device;

wherein the processor of the computing device is configured to predict a usage pattern of the artificial neural network during a time period corresponding to the first prediction of when the degradation of the wired or wireless network connection is to occur;

wherein the processor of the computing device is configured to generate, based on the usage pattern predicted for the artificial neural network, an alternative module of the computing device for use by the artificial neural network;

wherein the processor of the computing device is configured to collaborate with the alternative module of the computing device, wherein processing performed by the alternative module substitutes processing to be performed by the second portion of the artificial neural network stored by the remote device to generate an alternative output for the artificial neural network;

wherein the processor of the computing device is configured to predict, as a second prediction, a time to evict the first portion of the artificial neural network from the at least one memory region of the local memory based on a criticality level and the first prediction of when the degradation of the wired or wireless network is to occur;

wherein the processor of the computing device is configured to evict the first portion of the artificial neural network from the at least one memory region based on the second prediction and based on the first prediction of when the degradation of the wired or wireless network is to occur.

19. The computing system of claim 18 , wherein the artificial neural network is partitioned into the first portion and the second portion; the processor of the computing device is configured to store the first portion of the artificial neural network and process input to the artificial neural network using the first portion of the artificial neural network; and the remote device is configured to store the second portion of the artificial neural network and process output from the first portion of the artificial neural network using the second portion of the artificial neural network.

20. The computing system of claim 18 , wherein the alternative module is configured to serve as a substitute for the second portion of the artificial neural network when a connection between the computing device and the remote device degrades.

21. The computing system of claim 18 , wherein the communication device of the computing device and the communication device of the remote device are connected via a fifth generation cellular network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2019
From: YUDANOV, DMITRI; AKEL, AMEEN D.; BRADSHAW, SAMUEL E.; CUREWITZ, KENNETH MARION; EILERT, SEAN STEPHEN
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050104/0001 →
Continuity (1)
Related Publication 20200379809A1 · Dec 3, 2020
References Cited (193)
US 4777589A · Boettner et al. · 1988 [cited by applicant]
US 7269708B2 · Ware · 2007 [cited by applicant]
US 7356666B2 · Kanai et al. · 2008 [cited by applicant]
US 7493455B2 · Terada et al. · 2009 [cited by applicant]
US 7788669B2 · England et al. · 2010 [cited by applicant]
US 7886121B2 · Kito et al. · 2011 [cited by applicant]
US 8285824B2 · Kodama et al. · 2012 [cited by applicant]
US 9336483B1 · Abeysooriya et al. · 2016 [cited by applicant]
US 9858199B1 · Olgiati · 2018 [cited by applicant]
US 9996370B1 · Khafizov et al. · 2018 [cited by applicant]
US 10002029B1 · Bequet et al. · 2018 [cited by applicant]
US 10289847B2 · De · 2019 [cited by applicant]
US 10360383B2 · De et al. · 2019 [cited by applicant]
US 10380342B2 · De · 2019 [cited by applicant]
US 10606750B1 · Mattina et al. · 2020 [cited by applicant]
US 10764125B2 · Zhang · 2020 [cited by examiner]
US 11061819B2 · Akel et al. · 2021 [cited by applicant]
US 11169930B2 · Yudanov et al. · 2021 [cited by applicant]
US 11334387B2 · Eilert et al. · 2022 [cited by applicant]
US 11438414B2 · Yudanov et al. · 2022 [cited by applicant]
US 11481334B2 · Akel et al. · 2022 [cited by applicant]
US 11954042B2 · Akel et al. · 2024 [cited by applicant]
US 20020087749A1 · Tomioka · 2002 [cited by applicant]
US 20030095560A1 · Arita et al. · 2003 [cited by applicant]
US 20040044872A1 · Scott · 2004 [cited by applicant]
US 20040143718A1 · Chen et al. · 2004 [cited by applicant]
US 20050033923A1 · Venkatraman · 2005 [cited by applicant]
US 20050163059A1 · Dacosta et al. · 2005 [cited by applicant]
US 20050256976A1 · Susairaj et al. · 2005 [cited by applicant]
US 20070288700A1 · Tamura et al. · 2007 [cited by applicant]
US 20070294410A1 · Pandya et al. · 2007 [cited by applicant]
US 20080000552A1 · Letize · 2008 [cited by applicant]
US 20090164737A1 · Deshpande et al. · 2009 [cited by applicant]
US 20090168795A1 · Segel · 2009 [cited by applicant]
US 20090307432A1 · Fleming · 2009 [cited by applicant]
US 20090307439A1 · Jacobs et al. · 2009 [cited by applicant]
US 20100268788A1 · Arimilli et al. · 2010 [cited by applicant]
US 20100312850A1 · Deshpande · 2010 [cited by applicant]
US 20110072204A1 · Chang et al. · 2011 [cited by applicant]
US 20110072234A1 · Chinya et al. · 2011 [cited by applicant]
US 20110252166A1 · Padala et al. · 2011 [cited by applicant]
US 20120096271A1 · Ramarathinam et al. · 2012 [cited by applicant]
US 20120271903A1 · Luna · 2012 [cited by applicant]
US 20130185520A1 · Dieffenderfer et al. · 2013 [cited by applicant]
US 20140082192A1 · Wei · 2014 [cited by applicant]
US 20140143368A1 · Anderson · 2014 [cited by applicant]
US 20140164621A1 · Nakama · 2014 [cited by applicant]
US 20140208060A1 · Walker · 2014 [cited by applicant]
US 20140208064A1 · Basu et al. · 2014 [cited by applicant]
US 20140280669A1 · Harper, III et al. · 2014 [cited by applicant]
US 20140281311A1 · Walker et al. · 2014 [cited by applicant]
US 20150012593A1 · Phillips et al. · 2015 [cited by applicant]
US 20150046661A1 · Gathala et al. · 2015 [cited by applicant]
US 20150095489A1 · Makida et al. · 2015 [cited by applicant]
US 20150098390A1 · Efrati · 2015 [cited by applicant]
US 20150170053A1 · Miao · 2015 [cited by applicant]
US 20150234669A1 · Ben-Yehuda et al. · 2015 [cited by applicant]
US 20150261582A1 · Dow et al. · 2015 [cited by applicant]
US 20150278110A1 · Gschwind · 2015 [cited by applicant]
US 20150324215A1 · Borthakur · 2015 [cited by applicant]
US 20150324685A1 · Bohn et al. · 2015 [cited by applicant]
US 20150324690A1 · Chilimbi · 2015 [cited by examiner]
US 20160034392A1 · Lesartre et al. · 2016 [cited by applicant]
US 20160077966A1 · Stabrawa et al. · 2016 [cited by applicant]
US 20160085450A1 · Ahn et al. · 2016 [cited by applicant]
US 20160147476A1 · Makida · 2016 [cited by applicant]
US 20160147670A1 · Li · 2016 [cited by applicant]
US 20160179391A1 · Zhang et al. · 2016 [cited by applicant]
US 20160182383A1 · Pedersen · 2016 [cited by applicant]
US 20160188452A1 · Almasi et al. · 2016 [cited by applicant]
US 20160267051A1 · Metzler et al. · 2016 [cited by applicant]
US 20160350260A1 · Tsirkin et al. · 2016 [cited by applicant]
US 20170132172A1 · Romem et al. · 2017 [cited by applicant]
US 20170153983A1 · Sherlock · 2017 [cited by applicant]
US 20170185523A1 · Trika et al. · 2017 [cited by applicant]
US 20170277655A1 · Das et al. · 2017 [cited by applicant]
US 20170289251A1 · Kurihara et al. · 2017 [cited by applicant]
US 20170324813A1 · Jain et al. · 2017 [cited by applicant]
US 20170344285A1 · Choi et al. · 2017 [cited by applicant]
US 20180004687A1 · Guim Bernat et al. · 2018 [cited by applicant]
US 20180032441A1 · De · 2018 [cited by applicant]
US 20180032721A1 · De et al. · 2018 [cited by applicant]
US 20180032731A1 · De · 2018 [cited by applicant]
US 20180048526A1 · Champel et al. · 2018 [cited by applicant]
US 20180081559A1 · Stabrawa et al. · 2018 [cited by applicant]
US 20180159773A1 · Kallander et al. · 2018 [cited by applicant]
US 20180173572A1 · Bequet et al. · 2018 [cited by applicant]
US 20180203805A1 · Hatta et al. · 2018 [cited by applicant]
US 20180307950A1 · Nealis et al. · 2018 [cited by applicant]
US 20180308206A1 · Surti et al. · 2018 [cited by applicant]
US 20180322386A1 · Sridharan et al. · 2018 [cited by applicant]
US 20180322392A1 · Liu et al. · 2018 [cited by applicant]
US 20180331897A1 · Zhang et al. · 2018 [cited by applicant]
US 20180349313A1 · Ahn · 2018 [cited by examiner]
US 20190004800A1 · Ong et al. · 2019 [cited by applicant]
US 20190018461A1 · Debates et al. · 2019 [cited by applicant]
US 20190018813A1 · Das Sharma · 2019 [cited by applicant]
US 20190036716A1 · Kasaragod et al. · 2019 [cited by applicant]
US 20190073580A1 · Dzhulgakov et al. · 2019 [cited by applicant]
US 20190250837A1 · Stabrawa et al. · 2019 [cited by applicant]
US 20190272230A1 · Xiao et al. · 2019 [cited by applicant]
US 20190294340A1 · Stabrawa et al. · 2019 [cited by applicant]
US 20190354506A1 · Bruner et al. · 2019 [cited by applicant]
US 20190362235A1 · Xu · 2019 [cited by examiner]
US 20200042338A1 · Poothia et al. · 2020 [cited by applicant]
US 20200142631A1 · Song et al. · 2020 [cited by applicant]
US 20200174840A1 · Zhao · 2020 [cited by examiner]
US 20200183840A1 · Johns et al. · 2020 [cited by applicant]
US 20200219007A1 · Byers · 2020 [cited by examiner]
US 20200249844A1 · Poupet et al. · 2020 [cited by applicant]
US 20200265301A1 · Burger · 2020 [cited by examiner]
US 20200379808A1 · Eilert et al. · 2020 [cited by applicant]
US 20200379913A1 · Akel et al. · 2020 [cited by applicant]
US 20200379914A1 · Yudanov et al. · 2020 [cited by applicant]
US 20200382590A1 · Yudanov et al. · 2020 [cited by applicant]
US 20200401944A1 · Sundström · 2020 [cited by examiner]
US 20210263856A1 · Akel et al. · 2021 [cited by applicant]
US 20220027285A1 · Yudanov et al. · 2022 [cited by applicant]
US 20220237039A1 · Eilert et al. · 2022 [cited by applicant]
US 20220417326A1 · Yudanov et al. · 2022 [cited by applicant]
US 20230004502A1 · Akel et al. · 2023 [cited by applicant]
US 20240248852A1 · Akel et al. · 2024 [cited by applicant]
KR 20140092493A · 2014 [cited by applicant]
KR 20160071685A · 2016 [cited by applicant]
KR 2017012766 · 2017 [cited by applicant]
KR 20170127666 · 2017 [cited by applicant]
Murai, Jun. “Design and implementation of the s & t net software.” Systems and Computers in Japan 17.1 (1986): 1-10. (Year: 1986). [cited by examiner]
Buenabad-Chávez, Jorge, and Santiago Domínguez-Domínguez. “The data diffusion space for parallel computing in clusters.” Euro-Par 2005 Parallel Processing: 11th International Euro-Par Conference, Lisbon, Portugal, Aug. … [cited by examiner]
Chinchali, Sandeep P., et al. “Neural networks meet physical networks: Distributed inference between edge devices and the cloud.” Proceedings of the 17th ACM Workshop on Hot Topics in Networks. 2018. (Year: 2018). [cited by examiner]
Ahn, Shinyoung, et al. “Soft memory box: A virtual shared memory framework for fast deep neural network training in distributed high performance computing.” IEEE Access 6 (2018): 26493-26504. (Year: 2018). [cited by examiner]
International Search Report and Wirtten Opinion, PCT/US2020/029295, mailed Jul. 30, 2020. [cited by applicant]
International Search Report and Written Opinion, PCT/US2020/029749, mailed Aug. 4, 2020. [cited by applicant]
International Search Report and Written Opinion, PCT/US2020/029298, Mailed Aug. 6, 2020. [cited by applicant]
International Search Report and Written Opinion, PCT/US2020/029294, mailed Aug. 12, 2020. [cited by applicant]
Marcos K. Aguilera et al., “Remote regions: a simple abstraction for remote memory”, Jul. 13, 2018, pp. 775-787 [retrieved on Jul. 23, 2020.]. Retrieved from <https://www.usenix.org/system/files/conference/atc18/atc18-a… [cited by applicant]
Vishakh Hegde et al., “Parallel and Distributed Deep Learning”, May 31, 2016, pp. 1-8 [retrieved on Jul. 22, 2020]. Retrieved from <https://web.stanford.edu/rezab/classes/cme323/S16/projects_reports/hedge_usmani.pdf> pp… [cited by applicant]
Youngeun Kwon et al., “Beyond the Memory Wall: A Case for Memory-centric HPC System for Deep Learning”, Feb. 18, 2019, pp. 1-15 [retrieved on Jul. 22, 2020.]. Retrieved from <https://arxiv.org/abs/1902.06468> pp. 1-13. [cited by applicant]
Inter Operating System Memory Services over Communication Network Connections, U.S. Appl. No. 16/424,411, filed on May 28, 2019, Dmitri Yudanov et al., Docketed New Case—Ready for Examination, Jun. 28, 2019. [cited by applicant]
Throttle Memory as a Service based on Connectivity Bandwidth, U.S. Appl. No. 16/424,413, filed on May 28, 2019, Sean Eilert et al., Non Final Action Mailed, May 20, 2021. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 16/424,427, filed on May 28, 2019, Dmitri Yudanov et al., Notice of Allowance Mailed—Application Received in Office of, Feb. 19, 2021. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 17/496,661, filed on Oct. 7, 2021, Dmitri Yudanov et al., Application Undergoing Preexam Processing, Oct. 7, 2021. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 16/424,424, filed on May 28, 2019, Ameen Akel et al. Patented Case, Jun. 23, 2021. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 17/319,002, filed on May 12, 2021, Ameen Akel et al., Docketed New Case—Ready for Examination, Aug. 23, 2021. [cited by applicant]
Intelligent Content Migration with Borrowed Memory, U.S. Appl. No. 16/424,421, filed on May 28, 2019, Kenneth Curewitz et al., Final Rejection Mailed, Jul. 2, 2021. [cited by applicant]
Memory Management Unit (MMU) for Accessing Borrowed Memory, U.S. Appl. No. 17/375,455, filed on Jul. 14, 2021, Samuel Bradshaw et al., Docketed New Case—Ready for Examination, Aug. 24, 2021. [cited by applicant]
Page cache, Wikipedia, printed on Apr. 18, 2018. [cited by applicant]
Page replacement algorithm, Wikipedia, printed on Jul. 31, 2018. [cited by applicant]
Page table, Wikipedia, printed on Jul. 31, 2018. [cited by applicant]
Paging, Wikipedia, printed on Apr. 18, 2018. [cited by applicant]
Remote direct memory access, Wikipedia, printed on Jan. 30, 2019. [cited by applicant]
Translation lookaside buffer, Wikipedia, printed on Apr. 18, 2018. [cited by applicant]
Inter Operating System Memory Services, U.S. Appl. No. 16/424,411, filed on May 28, 2019, Dmitri Yudanov et al., Non Final Action Mailed, Dec. 9, 2021. [cited by applicant]
Throttle Memory as a Service based on Connectivity Bandwidth, U.S. Appl. No. 16/424,413, filed on May 28, 2019, Sean Eilert et al., Notice of Allowance Mailed—Application Received in Office of Publications, May 20, 2021. [cited by applicant]
Throttle Memory as a Service based on Connectivity Bandwidth, U.S. Appl. No. 17/723,846, filed on Apr. 19, 2022, Sean Eilert et al., Application Undergoing Preexam Processing, Apr. 19, 2022. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 16/424,427, filed on May 28, 2019, Dmitri Yudanov et al., Patented Case, Feb. 19, 2021. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 17/496,661, filed on Oct. 7, 2021, Dmitri Yudanov et al., Docketed New Case—Ready for Examination, Oct. 21, 2021. [cited by applicant]
Intelligent Content Migration with Borrowed Memory, U.S. Appl. No. 17/573,938, filed on Jan. 12, 2022, Kenneth Curewitz et al., Docketed New Case—Ready for Examination, Jan. 24, 2022. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 16/424,427, filed on May 28, 2019, Dmitri Yudanov et al., Non Final Action Mailed, Feb. 19, 2021. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 16/424,424, filed on May 28, 2019, Ameen Akel et al., Notice of Allowance Mailed—Application Received in Office of Publications, Mar. 8, 2021. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 17/319,002, filed on May 12, 2021, Ameen Akel et al., Application Dispatched from Preexam, Not Yet Docketed, May 20, 2021. [cited by applicant]
Memory Management Unity (MMU) for Accessing Borrowed Memory, U.S. Appl. No. 16/424,420, filed on May 28, 2019, Samuel Bradshaw et al., Publications—Issue Fee Payment Verified, Jan. 6, 2021. [cited by applicant]
Memory Management Unit (MMU) for Accessing Borrowed Memory, U.S. Appl. No. 17/375,455, filed on Jul. 14, 2021, Samuel Bradshaw et al., Application Undergoing Preexam Processing, Jul. 14, 2021. [cited by applicant]
Inter Operating System Memory Services over Communications Network Connections, U.S. Appl. No. 16/424,411, filed on May 28, 2019, Normin Abedin et al., Non Final Action Mailed, Dec. 9, 2021. [cited by applicant]
Throttle Memory as a Service based on Connectivity Bandwidth, U.S. Appl. No. 16/424,413, filed on May 28, 2019, Sean Eilert et al., Allowance Counted, May 20, 2021. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 17/496,661, filed on Oct. 7, 2021, Dmirti Yudanov et al., Docketed New Case—Ready for Examination, Oct. 21, 2021. [cited by applicant]
Intelligent Content Migration with Borrowed Memory, U.S. Appl. No. 16/424,421, filed on May 28, 2019, Kenneth Curewitz et al., Notice of Allowance Mailed—Application Received in Office of Publications, Jul. 2, 2021. [cited by applicant]
Intelligent Content Migration with Borrowed Memory, U.S. Appl. No. 17/573,938, filed on Jan. 12, 2022, Kenneth Curewitz et al., Application Undergoing Preexam Processing, Jan. 12, 2022. [cited by applicant]
Memory Management Unit (MMU) for Accessing Borrowed Memory, U.S. Appl. No. 17/37,455, filed on Jul. 14, 2021, Samuel Bradshaw et al., Docketed New Case—Ready for Examination, Aug. 24, 2021. [cited by applicant]
Inter Operating System Memory Services Over Communication Network Connection, U.S. Appl. No. 16/424,411, filed on May 28, 2019, Dmitri Yudanov et al., Docketed New Case—Ready for Examination, Jun. 28, 2019. [cited by applicant]
Throttle Memory as a Service Based on Connectivity Bandwidth, U.S. Appl. No. 16/424,413, filed on May 28, 2019, Sean Eilert et al., Application Undergoing Preexam Processing, May 28, 2019. [cited by applicant]
Fine Grain Data Migration to or From Borrowed Memory, U.S. Appl. No. 16/424,427, May 28, 2019, Dmitri Yudanov et al., Application Undergoing Preexam Processing, May 28, 2019. [cited by applicant]
Distributed Computing Based on Memory as a Service, U.S. Appl. No. 16/424,424, May 28, 2019, Ameen Akel et al., Docketed New Case—Ready for Examination, Jun. 24, 2019. [cited by applicant]
Intelligent Content Migration with Borrowed Memory, U.S. Appl. No. 16/424,421, May 28, 2019, Kenneth Curewitz et al., Docketed New Case—Ready for Examination, Jul. 8, 2019. [cited by applicant]
Memory Management Unit (MMU) for Accessing Borrowed Memory, U.S. Appl. No. 16/424,420, May 28, 2019, Samuel Bradshaw et al., Docketed New Case—Ready for Examination, Jun. 24, 2019. [cited by applicant]
Extended European Search Report, EP 20813550.9, mailed on May 2, 2023. [cited by applicant]
Harlap, Aaron, et al., “PipeDream: Fast and Efficient Pipeline Parallel DNN Training.” arxiv.org, Cornell University Library, Jun. 9, 2018. [cited by applicant]
Mayer, Ruben, et al., “Scalable Deep Learning on Distributed Infrastructures: Challenges, Techniques and Tools.” arxiv.org, Cornell University Library, Mar. 27, 2019. [cited by applicant]
Extended European Search Report, EP 20813744.8, mailed on Jun. 2, 2023. [cited by applicant]
Chen, Haiyan, et al., “The Optimization Design of TLB of High Performance Processor.” Journal of National University of Defense Technology, Aug. 25, 2004. [cited by applicant]
Kim, Bongjun, et al., “Heterogeneous Distributed Shared Memory for Lightweight Internet of Things Devices.” IEEE Computer Society, 2016. [cited by applicant]
Dziembowski, Stefan, et al., “Proofs of Space.” International Association for Cryptologic Research, 2015. [cited by applicant]
Park, Sunoo, et al., “SpaceMint: A Cryptocurrency Based on Proofs of Space.” 22nd International Conference on Financial Cryptography and Data Security, 2018. [cited by applicant]
Inter Operating System Memory Services over Communication Network Connections, U.S. Appl. No. 16/424,411, May 28, 2019, Dmitri Yudanov et al., Patented Case, Aug. 17, 2022. [cited by applicant]
Inter Operating System Memory Services over Communication Network Connections, U.S. Appl. No. 17/899,265, May 28, 2019, Dmitri Yudanov et al., Notice of Allowance—Mailed Application Received in Office of Publications, J… [cited by applicant]
Throttle Memory as a Service based on Connectivity Bandwidth, U.S. Appl. No. 16/424,413, May 28, 2019, Sean Eilert et al., Patented Case, Apr. 27, 2022. [cited by applicant]
Throttle Memory as a Service based on Connectivity Bandwidth, U.S. Appl. No. 17/723,846, Apr. 4, 2019, Sean Eilert et al., Docketed New Case—Ready for Examination, Nov. 20, 2024. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 16/424,427, May 28, 2019, Dmitri Yudanov et al., Patented Case, Oct. 20, 2021. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 17/496,661, Oct. 7, 2021, Dmitri Yudanov et al., Docketed New Case—Ready for Examination, Jan. 27, 2025. [cited by applicant]
Fine Grain Data Migration to or from Borrowed Memory, U.S. Appl. No. 19/017,035, Jan. 10, 2025, Dmitri Yudanov et al., Docketed New Case—Ready for Examination, Jan. 29, 2025. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 16/424,424, May 28, 2019, Ameen Akel et al., Patented Case, Jun. 23, 2021. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 17/319,002, May 12, 2021, Ameen Akel et al., Patented Case, Oct. 5, 2022. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 17/943,739, Sep. 13, 2022, Ameen Akel et al., Patented Case, Mar. 20, 2024. [cited by applicant]
Distributed Computing based on Memory as a Service, U.S. Appl. No. 18/623,794, Apr. 1, 2024, Ameen Akel et al., Docketed New Case—Ready for Examination, Apr. 15, 2024. [cited by applicant]