IP Library Granted Patent US 8,151,201
Granted Patent B2
US 8,151,201 · App. 11/465,297 · Granted Apr 3, 2012

User interface manager and method for reacting to a change in system status

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,151,201
App. No.
11/465,297
Granted
Apr 3, 2012
Kind
B2
Abstract

A user interface manager, interposed between a Windows service and user interface modules that communicate with the Windows service in distinct system status scenarios, can record interaction between the Windows service and each of the user interface modules. The recorded interaction, along with information collected from the user interface modules, can be used in conjunction so that user interaction with a first one of the user interface modules may continue with a second one of the user interface modules after a switch from one system status (e.g., logged on) to another system status (e.g., locked). Alternatively, responsive to the switch from one system status to another system status the user interface manager may simply stop the executing user interface module so that the interaction may be started over in the new system status.

Claims (54)

1. A method of managing multiple user interfaces, said method comprising:

executing a first user interface module;

detecting, via an operating system component that provides authentication and logon services, an impending change in system status:

from a logged-on system status to a logged-off system status or a locked system status; or

from said logged-off system status or said locked system status to said logged-on system status;

responsive to said detecting, transmitting a state request to a first user interface module, said first user interface module having a thread awaiting a message;

receiving a state response from said first user interface module, said state response including a data structure, wherein said data structure includes an indication of a state of a dialog displayed by said first user interface module, said dialog associated with said thread;

executing a second user interface module after completion of said change in system status;

transmitting said data structure to said second user interface module; and

copying, from a first list associated with said first user interface module to a second list associated with said second user interface module, an identity of said message.

2. The method of claim 1 wherein the data structure includes information retrieved from the first user interface module and that is used by the second user interface module to adjust a user interface generated thereby.

3. The method of claim 1 wherein said identity includes a type for said message.

4. The method of claim 1 wherein said identity includes a reference to a message transfer object, said message transfer object comprising:

a flag indicating whether said message has been received;

an event, which said thread awaits; and

a data field to hold data received in the message.

5. The method of claim 1 wherein said data structure includes an indication of a name of said dialog.

6. The method of claim 5 wherein said data structure includes an indication of contents of a field in said dialog.

7. A computing apparatus for managing multiple user interfaces, said computing apparatus comprising a processor adapted to:

execute a first user interface module;

detect, via an operating system component that provides authentication and logon services, an impending change in system status:

from a logged-on system status to a logged-off system status or a locked system status; or

from said logged-off system status or said locked system status to said logged-on system status;

transmit, responsive to said detecting, a state request to a first user interface module, said first user interface module having a thread awaiting a message;

receive a state response from said first user interface module, said state response including a data structure, wherein said data structure includes an indication of a state of a dialog displayed by said first user interface module, said dialog associated with said thread;

execute a second user interface module after completion of said change in system status;

transmit said data structure to said second user interface module; and

copy, from a first list associated with said first user interface module to a second list associated with said second user interface module, an identity of said message.

8. The computing apparatus of claim 7 wherein the data structure includes information retrieved from the first user interface module and that is used by the second user interface module to adjust a user interface generated thereby.

9. The computing apparatus of claim 7 wherein said identity includes a type for said message.

10. The computing apparatus of claim 7 wherein said identity includes a reference to a message transfer object, said message transfer object comprising:

a flag indicating whether said message has been received;

an event, which said thread awaits; and

a data field to hold data received in the message.

11. The computing apparatus of claim 7 wherein said data structure includes an indication of a name of said dialog.

12. The computing apparatus of claim 11 wherein said data structure includes an indication of contents of a field in said dialog.

13. A non-transitory computer readable storage medium containing computer-executable instructions that, when performed by processor, cause said processor to:

execute a first user interface module;

detect, via an operation system component that provides authentication and logon services, an impending change in system status:

from a logged-on system status to a logged-off system status or a locked system status; or

from said logged-off system status or said locked system status to said logged-on system status;

transmit, responsive to said detecting, a state request to a first user interface module, said first user interface module having a thread awaiting a message;

receive a state response from said first user interface module, said state response including a data structure, wherein said data structure includes an indication of a state of a dialog displayed by said first user interface module, said dialog associated with said thread;

execute a second user interface module after completion of said change in system status;

transmit said data structure to said second user interface module; and

copy, from a first list associated with said first user interface module to a second list associated with said second user interface module, an identity of said message.

14. The non-transitory computer readable storage medium of claim 13 wherein the data structure includes information retrieved from the first user interface module and that is used by the second user interface module to adjust a user interface generated thereby.

15. The non-transitory computer readable storage medium of claim 13 wherein said identity includes a type for said message.

16. The non-transitory computer readable storage medium of claim 13 wherein said identity includes a reference to a message transfer object, said message transfer object comprising:

a flag indicating whether said message has been received;

an event, which said thread awaits; and

a data field to hold data received in the message.

17. The non-transitory computer readable storage medium of claim 13 wherein said data structure includes an indication of a name of said dialog.

18. The non-transitory computer readable storage medium of claim 17 wherein said data structure includes an indication of contents of a field in said dialog.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Feb 19, 2016
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 037861/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2006
From: SIBLEY, RICHARD PAUL; ADAMS, NEIL; SINGH, RAVI
To: RESEARCH IN MOTION LIMITED
Reel/Frame 018400/0728 →