Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment
First Claim
Patent Images
1. A method of asynchronously passing messages in an operating system, the method comprising:
- generating, by a consumer process in communication with the operating system, a channel for receiving asynchronous messages;
generating, by a producer process, a connection for sending asynchronous messages;
sending messages, by the producer process, to the connection;
joining the channel and the connection;
determining the occurrence of a triggering condition; and
passing messages from the connection to the channel after determining the occurrence of the triggering condition.
15 Assignments
0 Petitions
Accused Products
Abstract
An asynchronous message passing mechanism that allows for multiple messages to be batched for delivery between processes, while allowing for full memory protection during data transfers and a lockless mechanism for speeding up queue operation and queuing and delivering messages simultaneously.
96 Citations
20 Claims
-
1. A method of asynchronously passing messages in an operating system, the method comprising:
-
generating, by a consumer process in communication with the operating system, a channel for receiving asynchronous messages; generating, by a producer process, a connection for sending asynchronous messages; sending messages, by the producer process, to the connection; joining the channel and the connection; determining the occurrence of a triggering condition; and passing messages from the connection to the channel after determining the occurrence of the triggering condition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An operating system operable to asynchronously pass messages from a producer program to a consumer program, the operating system comprising:
-
an asynchronous messaging library in communication with the producer program and the consumer program and operable to provide a channel to the consumer program and a connection to the producer program, the connection operable to receive messages from the producer program and add them to a messages queue, the channel operable to queue messages for the consumer program; and a kernel module in communication with the asynchronous messaging library and operable to pass messages from the producer program to the consumer program. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An asynchronous message passing architecture in communication with an operating system including a kernel module, the asynchronous message passing architecture operable to asynchronously pass messages from a sender to a receiver, the operating system comprising:
-
an asynchronous messaging library in communication with the sender and the receiver and operable to provide a channel to the receiver and a connection to the sender, the connection operable to receive messages from the sender and add them to a messages queue, the channel operable to queue messages for the receiver; and where the kernel module is in communication with the asynchronous messaging library and operable to pass messages directly from the memory space associated with the sender to memory space associated with the receiver upon the occurrence of a triggering event. - View Dependent Claims (18, 19, 20)
-
Specification