IP Library Granted Patent US 7,421,707
Granted Patent B2
US 7,421,707 · App. 10/745,019 · Granted Sep 2, 2008

System and method for inducing asynchronous behavioral changes in a managed application process

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 7,421,707
App. No.
10/745,019
Granted
Sep 2, 2008
Kind
B2
Abstract

A system and method for inducing asynchronous behavioral changes in a managed application process is presented. An application manager process is executed. A managed application process is executed. At least one application provided as object-oriented program code under the control of a managed code platform is executed. The managed application process logically communicates with the application manager process. One or more constructors corresponding to notifiable objects provided as object-oriented program code are identified. Each constructor keeps track of instantiated notifiable objects in a list in the managed application process. A change request is broadcast to the managed application process. The notifiable objects tracked by each identified constructor are iterated over to effect a behavioral change in the managed application process.

Claims (77)

1. A system for inducing asynchronous behavioral changes in a managed application process, comprising:

a processor;

a memory;

a managed application process, comprising:

at least one application being provided as object-oriented program code under the control of a managed code platform; and

a handle to logically communicate with an executing application manager process;

a local list to identify one or more constructors corresponding to notifiable objects provided as object-oriented program code, wherein the constructors include functionality for tracking the notifiable objects and functionality for specifying eligibility of the notifiable objects for garbage collection;

an application manager to asynchronously broadcast a message to induce behavioral changes in the managed application process;

at least one dedicated control thread to listen to the handle for a change request, wherein the control thread remains in an inactive sleep mode and awakens when receiving a change request from the application manager; and

a listener to find and iterate over the notifiable objects tracked by each identified constructor to effect a behavioral change in the managed application process,

thereby facilitating the asynchronous behavioral changes in the managed application process.

2. A system according to claim 1 , wherein information is communicated from the application manager in a stream defined on the control thread.

3. A system according to claim 2 , wherein the handle comprises a TCP socket and the stream comprises a TCP stream.

4. A system according to claim 1 , further comprising:

at least one property associated with the at least one application changed through the at least one such notifiable object.

5. A system according to claim 4 , further comprising:

at least one property change listener to specify the at least one property change.

6. A system according to claim 5 , further comprising:

the at least one property change listener to be notified relative to receiving the change request.

7. A system according to claim 4 , further comprising:

at least one look and feel characteristic associated with the at least one application to be changed through the at least one such notifiable object.

8. A system according to claim 7 , further comprising:

at least one registered top-level user interface component to specify the at least one look and feel characteristic change.

9. A system according to claim 8 , wherein the listener iterates over each at least one registered top-level user interface component relative to receiving the change request.

10. A system according to claim 9 , wherein completion of the at least one look and feel characteristic change is effected, comprising at least one of:

a queue to enqueue the at least one registered top-level user interface component relative to receiving the change request to temporarily defer execution; and

a process thread to immediately execute the at least one registered top-level user interface component relative to receiving the change request.

11. A system according to claim 1 , wherein the object-oriented program code is written in the Java programming language.

12. A system according to claim 1 , wherein the managed code platform is a Java virtual machine.

13. A method for inducing asynchronous behavioral changes in a managed application process, comprising:

executing an application manager process to asynchronously broadcast a message to induce behavioral changes in the managed application process;

executing a managed application process, comprising:

executing at least one application provided as object-oriented program code under the control of a managed code platform; and

logically communicating with the application manager process by the use of a handle;

identifying one or more constructors corresponding to notifiable objects provided as object-oriented program code, wherein the constructors include functionality for tracking the notifiable objects and functionality for specifying eligibility of the notifiable objects for garbage collection;

listening to the handle for a change request through a dedicated control thread, wherein the control thread remains in an inactive sleep mode and awakens when receiving a change request from the application manager; and

finding and iterating over by a listener the notifiable objects tracked by each identified constructor to effect a behavioral change in the managed application process,

thereby facilitating the asynchronous behavioral changes in the managed application process.

14. A method according to claim 13 , further comprising:

communicating information from the application manager in a stream defined on the control thread.

15. A method according to claim 14 , wherein the handle comprises a TCP socket and the stream comprises a TCP stream.

16. A method according to claim 13 , further comprising:

changing at least one property associated with the at least one application through the at least one such notifiable object.

17. A method according to claim 16 , further comprising:

specifying the at least one property change as at least one property change listener.

18. A method according to claim 17 , further comprising:

notifying the at least one property change listener relative to receiving the change request.

19. A method according to claim 16 , further comprising:

changing at least one look and feel characteristic associated with the at least one application through the at least one such notifiable object.

20. A method according to claim 19 , further comprising:

specifying the at least one look and feel characteristic change as at least one registered top-level user interface component.

21. A method according to claim 20 , further comprising:

iterating over each at least one registered top-level user interface component relative to receiving the change request.

22. A method according to claim 21 , further comprising:

effecting completion of the at least one look and feel characteristic change, comprising at least one of:

enqueuing the at least one registered top-level user interface component relative to receiving the change request to temporarily defer execution; and

immediately executing the at least one registered top-level user interface component relative to receiving the change request.

23. A method according to claim 13 , wherein the object-oriented program code is written in the Java programming language.

24. A method according to claim 13 , wherein the managed code platform is a Java virtual machine.

25. A computer-readable storage medium holding code that when executed by a processor cause the processor to perform a method for inducing asynchronous behavioral changes in a managed application process, the method comprising:

executing an application manager process to asynchronously broadcast a message to induce behavioral changes in the managed application process;

executing a managed application process, comprising:

executing at least one application provided as object-oriented program code under the control of a managed code platform; and

logically communicating with the application manager process by the use of a handle;

identifying one or more constructors corresponding to notifiable objects provided as object-oriented program code, wherein the constructors include functionality for tracking the notifiable objects and functionality for specifying eligibility of the notifiable objects for garbage collection;

listening to the handle for a change request through a dedicated control thread, wherein the control thread remains in an inactive sleep mode and awakens when receiving a change request from the application manager; and

finding and iterating over by a listener the notifiable objects tracked by each identified constructor to effect a behavioral change in the managed application process,

thereby facilitating the asynchronous behavioral changes in the managed application process.

26. An apparatus having a processor for inducing asynchronous behavioral changes in a managed application process, comprising:

means for executing an application manager process to asynchronously broadcast a message to induce behavioral change in the managed application process;

means for executing a managed application process, comprising:

means for executing at least one application provided as object-oriented program code under the control of a managed code platform; and

means for logically communicating with the application manager process by the use of a handle;

means for identifying one or more constructors corresponding to notifiable objects provided as object-oriented program code, wherein the constructors include functionality for tracking the notifiable objects and functionality for specifying eligibility of the notifiable objects for garbage collection;

a means for listening to the handle for a change request through a dedicated control thread, wherein the control thread remains in an inactive sleep mode and awakens when receiving a change request from the application manager; and

means for iterating over by a listener the notifiable objects tracked by each identified constructor to effect a behavioral change in the managed application process,

thereby facilitating the asynchronous behavioral changes in the managed application process.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2003
From: FRESKO, NEDIM
To: SUN MICROSYSTEMS, INC.
Reel/Frame 014853/0594 →