Efficient communications amongst computing nodes for operating autonomous vehicles

US11044318B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11044318-B2
Application numberUS-201916252572-A
CountryUS
Kind codeB2
Filing dateJan 19, 2019
Priority dateJul 21, 2016
Publication dateJun 22, 2021
Grant dateJun 22, 2021

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.

A first request is received from a first processing node to produce data blocks of a first data stream representing a first communication topic. The first processing node is one of the processing nodes handling a specific function. Each of the processing nodes is executed within a specific node container having a specific operating environment. A global memory segment is allocated from a global memory to store the data blocks of the first data stream. A first local memory segment is mapped to the global memory segment. The first local memory segment is allocated from a first local memory of a first node container containing the first processing node. The first processing node directly accesses the data blocks of the first data stream stored in the global memory segment by accessing the mapped first local memory segment within the first node container.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for managing data streams of a plurality of processing nodes, the method comprising: receiving a first request from a first processing node to produce data blocks of a first data stream representing a first communication topic to be subscribed by another processing node, wherein the first processing node is one of a plurality of processing nodes, and wherein each of the processing nodes is executed within a specific node container having a specific operating environment; in response to the first request, allocating a global memory segment from a global memory to store the data blocks of the first data stream; mapping a first local memory segment to the global memory segment, the first local memory segment being allocated from a first local memory of a first node container containing the first processing node, wherein the first processing node accesses at least a portion of the data blocks of the first data stream stored in the global memory segment by accessing the mapped first local memory segment within the first node container; receiving a second request from a second processing node to subscribe the first communication topic; and in response to the second request, mapping a second local memory segment to a first global memory segment, the second local memory segment being allocated from a second local memory of a second node container containing the second processing node, wherein the second processing node accesses at least a portion of the data blocks of the first data stream stored in the global memory segment by accessing the mapped second local memory segment within the second node container. 2. The method of claim 1 , wherein the first data stream is one of a plurality of data streams associated with a plurality of communication topics, and wherein each of the data streams is associated with one of a plurality of global memory segments allocated from the global memory for storing corresponding data blocks, respectively. 3. The method of claim 1 , wherein the first node container comprises a first virtual machine and the first local memory is associated with the first virtual machine, and wherein the second node container comprises a second virtual machine and the second local memory is associated with the second virtual machine. 4. The method of claim 1 , wherein the second processing node is one of a plurality of processing nodes subscribing the first communication topic, and wherein each of the subscribing processing nodes maps a local memory segment from its respective local memory to the first global memory segment for accessing the data blocks of the first data stream. 5. The method of claim 1 , further comprising: monitoring access of the data blocks stored in the first global memory segment by the first processing node and the second processing node; and releasing the first global memory segment back to a free global memory pool of the global memory if the access is inactive for a predetermined period of time. 6. The method of claim 5 , wherein monitoring access of the data blocks stored in the first global memory segment comprises: determining whether all data blocks of the first data stream have been read by the second processing node; and determining whether there is any new data block produced by the first processing node, wherein the first global memory segment is released if all data blocks of the first data stream have been read and no new data block has been produced for the predetermined period of time. 7. The method of claim 6 , further comprising, prior to releasing the global memory segment: unmapping the first local memory segment of the first local memory from the global memory segment; and unmapping the second local memory segment of the second local memory from the global memory segment. 8. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations of managing data streams of a plurality of processing nodes, the operations including receiving a first request from a first processing node to produce data blocks of a first data stream representing a first communication topic to be subscribed by another processing node, wherein the first processing node is one of a plurality of processing nodes, and wherein each of the processing nodes is executed within a specific node container having a specific operating environment; in response to the first request, allocating a global memory segment from a global memory to store the data blocks of the first data stream; mapping a first local memory segment to the global memory segment, the first local memory segment being allocated from a first local memory of a first node container containing the first processing node, wherein the first processing node accesses at least a portion of the data blocks of the first data stream stored in the global memory segment by accessing the mapped first local memory segment within the first node container; receiving a second request from a second processing node to subscribe the first communication topic; and in response to the second request, mapping a second local memory segment to a first global memory segment, the second local memory segment being allocated from a second local memory of a second node container containing the second processing node, wherein the second processing node accesses at least a portion of the data blocks of the first data stream stored in the global memory segment by accessing the mapped second local memory segment within the second node container. 9. The machine-readable medium of claim 8 , wherein the first data stream is one of a plurality of data streams associated with a plurality of communication topics, and wherein each of the data streams is associated with one of a plurality of global memory segments allocated from the global memory for storing corresponding data blocks, respectively. 10. The machine-readable medium of claim 8 , wherein the first node container comprises a first virtual machine and the first local memory is associated with the first virtual machine, and wherein the second node container comprises a second virtual machine and the second local memory is associated with the second virtual machine. 11. The machine-readable medium of claim 8 , wherein the second processing node is one of a plurality of processing nodes subscribing the first communication topic, and wherein each of the subscribing processing nodes maps a local memory segment from its respective local memory to the first global memory segment for accessing the data blocks of the first data stream. 12. The machine-readable medium of claim 8 , wherein the operations further comprise: monitoring access of the data blocks stored in the first global memory segment by the first processing node and the second processing node; and releasing the first global memory segment back to a free global memory pool of the global memory if the access is inactive for a predetermined period of time. 13. The machine-readable medium of claim 12 , wherein monitoring access of the data blocks stored in the first global memory segment comprises: determining whether all data blocks of the first data stream have been read by the second processing node; and determining whether there is any new data block produced by the first processing node, wherein the first global memory segment is released if all data blocks of the first data stream have been read and no new data block has been produced for the predetermined period of time. 14. The machine-readable medium of claim 13 , wherein the ope

Assignees

Inventors

Classifications

  • H04L67/12Primary

    specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks · CPC title

  • {Adaptive} cruise control · CPC title

  • for multiple virtual address spaces, e.g. segmentation (G06F12/1045 takes precedence) · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • G06F12/06Primary

    Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication (G06F12/08 takes precedence) · 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 US11044318B2 cover?
A first request is received from a first processing node to produce data blocks of a first data stream representing a first communication topic. The first processing node is one of the processing nodes handling a specific function. Each of the processing nodes is executed within a specific node container having a specific operating environment. A global memory segment is allocated from a global…
Who is the assignee on this patent?
Baidu Usa Llc, Baidu Com Times Tech Beijing Co Ltd
What technology area does this patent fall under?
Primary CPC classification H04L67/12. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 22 2021 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).