Threading and communication architecture for a graphical user interface
First Claim
Patent Images
1. A system to facilitate communication between a user interface and a process, comprising:
- a first thread associated with the user interface;
a second thread associated with the process for implementing requests received from the user interface; and
at least one state buffer object operable to store state data for controlling ownership of the at least one state buffer by the first and second threads for retrieving or filling other data to the state buffer object.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method to facilitate communication between a user interface and an associated process is disclosed. A first thread is associated with the user interface and a second thread is associated with the process for implementing requests by the user interface. At least one state buffer is operable to store state data for controlling ownership to the state buffer by the first and second threads for communicating data between the first and second threads. The architecture may be used in connection with a debugging system, such as to facilitate responsive interaction between the GUI and the associated debugging system.
-
Citations
34 Claims
-
1. A system to facilitate communication between a user interface and a process, comprising:
-
a first thread associated with the user interface;
a second thread associated with the process for implementing requests received from the user interface; and
at least one state buffer object operable to store state data for controlling ownership of the at least one state buffer by the first and second threads for retrieving or filling other data to the state buffer object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A multi-threaded interface architecture for a debugger system comprising:
-
a user interface thread to facilitate user interaction with the debugging system;
an engine thread associated with the debugger system responsive to requests from the user interface thread; and
a state buffer for storing state data adapted to control ownership of the state buffer by at least one of the user interface thread and the engine thread, the user interface thread and engine thread communicating other data through the state buffer so as to mitigate pausing at the user interface. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for synchronizing data communication between at least two threads in a multi-threaded architecture, the method comprising:
-
receiving at a state buffer a request from a first thread and updating control data at the state buffer to a first condition based on the request;
detecting in a second thread a condition of the control data and providing other data to the state buffer based on the condition of the control data;
updating the control data to a second condition based on the other data being provided to the state buffer; and
controlling retrieval by the first thread of the other data as a function of the condition of the control data. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A computer-readable medium having computer executable instructions for:
-
providing a first thread associated with a user interface and a second thread associated with an engine;
generating at least one state buffer to store state data and other data; and
programming the state buffer to control ownership of the state buffer by the first and second threads based on the state data for retrieving or filling the other data to the state buffer. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer-readable medium having stored thereon a data structure for a state buffer comprising:
-
a first field for storing request data;
a second field for storing completion data indicative of requests that have been completed by an associated process;
a message field for storing notification data associated with requests that have been completed; and
a data field for storing data provided by the associated process in response to requests stored in the first field. - View Dependent Claims (33, 34)
-
Specification