Reliable, out-of-order transmission of packets
US-2017187496-A1 · Jun 29, 2017 · US
US10817439B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10817439-B2 |
| Application number | US-201715410680-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 19, 2017 |
| Priority date | Aug 19, 2016 |
| Publication date | Oct 27, 2020 |
| Grant date | Oct 27, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present application discloses a method and an apparatus for transmitting a message. The method of an embodiment comprises: dividing a shared memory area allocated by an operating system into a plurality of memory blocks for storing messages having different priorities; dividing each memory block in the plurality of memory blocks into at least one memory unit having a successive serial number; determining, from the plurality of memory blocks according to a priority of a to-be-transmitted message, a target memory block for storing the to-be-transmitted message; and writing the to-be-transmitted message into a memory unit of the target memory block. This embodiment implements message transmission based on priorities of the messages, and improves the control security of an intelligent control system.
Opening claim text (preview).
What is claimed is: 1. A method for transmitting a message, comprising: dividing a shared memory area of a non-transitory memory allocated by an operating system into a plurality of memory blocks for storing messages having different priorities, the shared memory area being a memory accessible by different processes in a multi-process operating system, and the shared memory area being requested by a sending process from the operating system, the messages having different priorities being control instructions issued by an intelligent control system during driving of an autonomous vehicle, and a number of memory blocks divided from the shared memory area being equal to a number of levels of priorities of messages to be transmitted by the sending process; dividing each memory block in the plurality of memory blocks into at least one memory unit having a successive serial number; determining, from the plurality of memory blocks according to a priority of a to-be-transmitted message, a target memory block for storing the to-be-transmitted message; writing the to-be-transmitted message into a memory unit of the target memory block; and wherein when the priority of the to-be-transmitted message is a high priority, the method further comprises: setting, a flag bit of the memory unit into which the to-be-transmitted message is written to true in response to determining that the priority of the to-be-transmitted message is a high priority. 2. The method according to claim 1 , wherein, the writing the to-be-transmitted message into a memory unit of the target memory block comprises: determining, from the target memory block, a memory unit being currently unwritten, as a to-be-written memory unit of the to-be-transmitted message; writing the to-be-transmitted message into the to-be-written memory unit after the to-be-written memory unit being locked; and unlocking the to-be-written memory unit in response to completion of the writing to the to-be-written memory unit, and sending, through broadcasting, a notification of the completion. 3. The method according to claim 1 , wherein the dividing a shared memory area allocated by an operating system into a plurality of memory blocks for storing messages having different priorities comprises: dividing the shared memory area allocated by the operating system into a normal-priority memory block and at least one high-priority memory block, wherein, the priorities of the messages comprise a normal priority and different levels of high priorities, the number of the levels of the high priorities corresponds to the number of the at least one high-priority memory block, the normal-priority memory block is used for storing a message having a priority of the normal priority, and each of the high-priority memory blocks is used for storing messages having the different levels of high priorities respectively. 4. A method for transmitting a message, comprising: mapping an address of a shared memory area of an operating system into own address space, the shared memory area comprising a normal-priority memory block and at least one high-priority memory block, each comprising at least one memory unit having a successive serial number, the shared memory area being a memory accessible by different processes in a multi-process operating system, and the shared memory area being requested by a sending process from the operating system, messages having different priorities stored in memory blocks of the shared memory area being control instructions issued by an intelligent control system during driving of an autonomous vehicle, and a number of memory blocks divided from the shared memory area being equal to a number of levels of priorities of messages to be transmitted by the sending process; searching a presence of a memory unit having a flag bit being true in the at least one high-priority memory block, in response to completing reading a message in a memory unit of the normal-priority memory block, wherein the memory unit having the flag bit being true stores a message with a high priority; and if present, reading the message from the memory unit having the flag bit being true, and setting the flag bit to false after completing the reading. 5. The method according to claim 4 , further comprising: if not present, reading a message stored in a memory unit next to a memory unit lastly read in the normal-priority memory block. 6. The method according to claim 4 , wherein the normal-priority memory block is configured to store a message having a priority of a normal priority, and each high-priority memory block in the at least one high-priority memory block is configured to respectively store messages having different levels of high priorities; and the searching a presence of a memory unit with a flag bit being true in the at least one high-priority memory block comprises: searching sequentially, in a descending order of the priorities of the stored messages, whether a flag bit of each memory unit in the at least one high-priority memory block is true, wherein the determining in each high-priority memory block is carried out sequentially according to serial numbers of the memory units. 7. A system for transmitting a message, comprising: at least one processor; and a memory storing instructions, which when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising: dividing a shared memory area allocated by an operating system into a plurality of memory blocks for storing messages having different priorities, the shared memory area being a memory accessible by different processes in a multi-process operating system, and the shared memory area being requested by a sending process from the operating system; the messages having different priorities being control instructions issued by an intelligent control system during driving of an autonomous vehicle, and a number of memory blocks divided from the shared memory area being equal to a number of levels of priorities of messages to be transmitted by the sending process; dividing each memory block in the plurality of memory blocks into at least one memory unit having a successive serial number; determining, from the plurality of memory blocks according to a priority of a to-be-transmitted message, a target memory block for storing the to-be-transmitted message; writing the to-be-transmitted message into a memory unit of the target memory block; and setting a flag bit of the memory unit into which the to-be-transmitted message is written to true in response to determining that the priority of the to-be-transmitted message is a high priority. 8. The system according to claim 7 , wherein, the writing the to-be-transmitted message into a memory unit of the target memory block comprises: determining, from the target memory block, a memory unit being currently unwritten, as a to-be-written memory unit of the to-be-transmitted message; writing the to-be-transmitted message into the to-be-written memory unit after the to-be-written memory unit being locked; and unlocking the to-be-written memory unit in response to completion of the writing to the to-be-written memory unit, and sending, through broadcasting, a notification of the completion. 9. The system according to claim 7 , wherein the dividing a shared memory area allocated by an operating system into a plurality of memory blocks for storing messages having different priorities comprises: dividing the shared memory area allocated by the operating system into a normal-priority memory block and at least one high-priority memory block, wherein, the priorities of the messages comprise a normal priority and different levels of high priorities, the number o
using a common memory, e.g. mailbox · CPC title
Decentralised address translation, e.g. in distributed shared memory systems · CPC title
Management of space entities, e.g. partitions, extents, pools · CPC title
in relation to access · CPC title
Access to shared memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.