Method and apparatus for providing and integrating high-performance message queues in a user interface environment
First Claim
1. A computer implemented method for sending a message via a high-performance message queue, comprising:
- providing a message queue associated with a context;
executing a user interface thread associated with said context;
receiving a request from said user interface thread to send a message to a second user interface thread;
determining whether said second user interface thread is associated with said context; and
in response to determining that said second user interface thread is associated with said context, sending said message from said user interface thread directly to said second user interface thread, thereby bypassing said message queue.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is provided for providing and integrating high-performance message queues. “Contexts” are provided that allow independent worlds to be created and execute in parallel. A context is created with one or more threads. Each object is created with context affinity, allowing any thread inside the context to modify the object or process pending messages. Threads in a different context are unable to modify the object or process pending messages for that context. To help achieve scalability and context affinity, both global and thread-local data is often moved into the context. Remaining global data has independent locks, providing synchronized access for multiple contexts. Each context has multiple message queues to create a priority queue. There are default queues for sent messages and posted messages, carry-overs from legacy window managers, with the ability to add new queues on demand. A queue bridge is also provided for actually processing the messages.
-
Citations
15 Claims
-
1. A computer implemented method for sending a message via a high-performance message queue, comprising:
-
providing a message queue associated with a context;
executing a user interface thread associated with said context;
receiving a request from said user interface thread to send a message to a second user interface thread;
determining whether said second user interface thread is associated with said context; and
in response to determining that said second user interface thread is associated with said context, sending said message from said user interface thread directly to said second user interface thread, thereby bypassing said message queue. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer apparatus for sending a message via a high-performance message queue, comprising:
-
(a) a memory; and
(b) a processor connected to the memory, wherein the processor is configured to operate in accordance with executable instructions that, when executed, cause the processor to;
i. provide a message queue associated with a context;
ii. execute a user interface thread associated with said context;
iii. receive a request from said user interface thread to send a message to a second user interface thread;
iv. determine whether said second user interface thread is associated with said context; and
v. in response to determining that said second user interface thread is associated with said context, send said message from said user interface thread directly to said second user interface thread, thereby bypassing said message queue. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer-readable medium for performing a method for sending a message via a high-performance message queue, the method comprising:
-
providing a message queue associated with a context;
executing a user interface thread associated with said context;
receiving a request from said user interface thread to send a message to a second user interface thread;
determining whether said second user interface thread is associated with said context; and
in response to determining that said second user interface thread is associated with said context, sending said message from said user interface thread directly to said second user interface thread, thereby bypassing said message queue. - View Dependent Claims (12, 13, 14, 15)
-
Specification