Remote promise and remote future for downstream components to update upstream states

US12475076B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12475076-B2
Application numberUS-202418598022-A
CountryUS
Kind codeB2
Filing dateMar 7, 2024
Priority dateMay 27, 2022
Publication dateNov 18, 2025
Grant dateNov 18, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technologies for enabling downstream components to update upstream states in streaming pipelines are described. One method of a first computing device receives a remote promise object assigned to a first serialized object from a second computing device in the data center over a network fabric. The remote promise object uniquely identifies a first contiguous block of the first serialized object stored in a memory associated with the second computing device. The method obtains contents of the first contiguous block and sends contents of a second serialized object back to the second computing device to release the remote promise object.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computing system comprising: a first computing device; and a first memory coupled to the first computing device, wherein the first computing device is to: receive a remote promise object assigned to a first serialized object from a second computing device over a network fabric, wherein the remote promise object is an object that i) uniquely identifies a first contiguous block of the first serialized object stored in a second memory associated with the second computing device, and ii) comprises a reference count token indicating a life cycle of the remote promise object, wherein the remote promise object is released in response to a second serialized object being provided back to the second computing device; obtain contents of the first contiguous block from the second memory for storage at the first memory associated with the first computing device; send contents of a second contiguous block of the second serialized object stored in the first memory to the second memory; and send a message to the second computing device to release the remote promise object responsive to the second serialized object being provided back to the second computing device. 2 . The computing system of claim 1 , wherein a value of the reference count token represents a share of ownership of the first serialized object. 3 . The computing system of claim 2 , wherein the message being sent to the second computing device causes the second computing device to update the value of the reference count token, and wherein the first serialized object is released from the first memory responsive to the value of the reference count token satisfying a threshold value. 4 . The computing system of claim 1 , wherein the remote promise object comprises a starting address of the first contiguous block, a size of the first contiguous block, a physical machine identifier corresponding to the second memory, and a remote direct memory access (RDMA) access key. 5 . The computing system of claim 1 , wherein a size of the remote promise object is less than the size of the first contiguous block. 6 . The computing system of claim 1 , wherein: the first computing device is to obtain the contents of the first contiguous block by performing, using the remote promise object, an RDMA GET operation to obtain the contents of the first contiguous block from the second memory for transfer to the first memory over the network fabric; and the first computing device is to send the contents of the second contiguous block by performing an RDMA put operation to send the contents of the second serialized object from the first memory to the second memory over the network fabric. 7 . The computing system of claim 1 , wherein the first computing device is further to: generate a second remote promise object, wherein the second remote promise object is an object that uniquely identifies a third contiguous block of a third serialized object stored in the first memory, wherein the second remote promise object is released in response to a fourth serialized object being provided back to the first computing device; send the second remote promise object to another computing device over the network fabric; and receive a second message from the other computing device to release the second remote promise object responsive to the fourth serialized object being provided back to the first computing device. 8 . The computing system of claim 7 , wherein the second remote promise object is an object that uniquely identifies a starting address of the third contiguous block, a size of the third contiguous block, a physical machine corresponding to the first memory, a remote direct memory access (RDMA) access key, and a value of a reference count token representing one or more shares of ownership of the third serialized object, wherein the first computing device is further to: update the value of the reference count token responsive to receiving the second message; and release the second remote promise object from the first memory responsive to the value of the reference count token satisfying a threshold value. 9 . A method comprising: receiving, by a first computing device, a remote promise object assigned to a first serialized object from a second computing device over a network fabric, wherein the remote promise object (i) uniquely identifies a first contiguous block of the first serialized object stored in a memory associated with the second computing device, and (ii) comprises a reference count token indicating a life cycle of the remote promise object, wherein the remote promise object is released in response to a second serialized object being provided back to the second computing device; obtaining contents of the first contiguous block from the memory associated with the second computing device for storage at a memory associated with the first computing device; sending contents of a second contiguous block of the second serialized object stored in the memory associated with the first computing device to the memory associated with the second computing device; and sending a message to the second computing device to release the remote promise object in response to the second serialized object being provided back to the second computing device. 10 . The method of claim 9 , wherein a value of the reference count token represents a share of ownership of the first serialized object. 11 . The method of claim 10 , wherein sending the message to the second computing device causes the second computing device to update the value of the reference count token, and wherein the first serialized object is released from the memory associated with the second computing device, responsive to the value of the reference count token satisfying a threshold value. 12 . The method of claim 9 , wherein the remote promise object comprises a starting address of the first contiguous block, a size of the first contiguous block, a physical machine identifier corresponding to the memory associated with the second computing device, and a remote direct memory access (RDMA) access key. 13 . The method of claim 9 , wherein a size of the remote promise object is less than the size of the first contiguous block. 14 . The method of claim 9 , wherein: obtaining the contents of the first contiguous block comprises performing, using the remote promise object, an RDMA GET operation to obtain the contents of the first contiguous block from the memory associated with the second computing device for transfer to the memory associated with the first computing device over the network fabric; and sending the contents of the second contiguous block comprises performing an RDMA PUT operation to send the contents of the second serialized object from the memory associated with the first computing device to the memory associated with the second computing device over the network fabric. 15 . The method of claim 9 , further comprising: generating a second remote promise object, wherein the second remote promise object is an object that uniquely identifies a third contiguous block of a third serialized object stored in the memory associated with the first computing device, wherein the second remote promise object is released in response to a fourth serialized object being provided back to the first computing device; sending the second remote promise object to another computing device over the network fabric; and receiving a second message from the other computing device to release the second remote promise object in response to the fourth serialized object being provided back to the

Assignees

Inventors

Classifications

  • for remote control or remote monitoring of applications · CPC title

  • to perform operations on memory · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12475076B2 cover?
Technologies for enabling downstream components to update upstream states in streaming pipelines are described. One method of a first computing device receives a remote promise object assigned to a first serialized object from a second computing device in the data center over a network fabric. The remote promise object uniquely identifies a first contiguous block of the first serialized object …
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 18 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).