Patents by Inventor William F. Foote
William F. Foote has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8127313Abstract: A method for providing a service on a device. The method includes instantiating a service provider that provides the service, where the service provider implements a service provider interface (SPI) corresponding to the service and where the SPI is defined by a service provision framework for providing services to Xlets. The method further includes using the service by a first Xlet, where the first Xlet uses the service provider interface (SPI).Type: GrantFiled: March 31, 2008Date of Patent: February 28, 2012Assignee: Oracle America, Inc.Inventor: William F. Foote
-
Patent number: 8046773Abstract: A computer-implemented method and computer-readable medium for providing object-oriented communication between isolates is described. A request is received from a requesting Xlet for a remote reference to an exported object in a first isolate, the exported object having been exported by an exporting Xlet. A plurality of object registries are searched for the remote reference, each of the object registries being in a respective isolate. The remote reference is retrieved from one of the object registries and the remote reference is forwarded to the requesting Xlet.Type: GrantFiled: October 26, 2005Date of Patent: October 25, 2011Assignee: Oracle America, Inc.Inventor: William F. Foote
-
Patent number: 7990386Abstract: A method for correlating a video stream at a first speed and an animation sequence at a second speed that includes decoding the video stream to obtain a video frame, rendering the animation sequence to obtain an animation frame, wherein the first speed and the second speed are not equal, and correlating the animation frame with the video frame to obtain a correlated animation frame according to a frame index of the animation frame and a frame index of the video frame.Type: GrantFiled: December 8, 2005Date of Patent: August 2, 2011Assignee: Oracle America, Inc.Inventor: William F. Foote
-
Patent number: 7873979Abstract: One embodiment of the invention provides a method for receiving Java xlets including receiving an analog service identifier and utilizing the analog service identifier to perform a lookup into a lookup structure containing xlet addressing data. Xlet addressing data associated with the analog service identifier is returned and utilized to request an xlet.Type: GrantFiled: December 10, 2004Date of Patent: January 18, 2011Assignee: Oracle America, Inc.Inventors: William F. Foote, William J. Sheppard
-
Patent number: 7634779Abstract: Techniques for interpretation of DVD assembly language programs for television (TV) receivers operating in Java TV environments are provided. The techniques can be used to implement a Java-based command/control enabling system. The Java-based command/control enabling system can be implemented as a Java-based DVD assembly language interpreter which interacts with various modules including video, audio, graphics overlay, and remote control modules. As such, the Java-based command/control enabling systems can provide similar command/control functions as those provided by DVD systems.Type: GrantFiled: November 20, 2002Date of Patent: December 15, 2009Assignee: Sun Microsystems, Inc.Inventors: William F. Foote, Jonathan D. Courtney
-
Publication number: 20090249415Abstract: A method for providing a service on a device. The method includes instantiating a service provider that provides the service, where the service provider implements a service provider interface (SPI) corresponding to the service and where the SPI is defined by a service provision framework for providing services to Xlets. The method further includes using the service by a first Xlet, where the first Xlet uses the service provider interface (SPI).Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Applicant: SUN MICROSYSTEMS, INC.Inventor: William F. Foote
-
Patent number: 7073177Abstract: Disclosed are methods and apparatus for managing resources. In general terms, a resource manager manages resource consumption of several resource entities which are each capable of consuming resources. The resource manager tracks the availability of such resources and determines whether a resource is critically short or reaches a particular usage level. When a resource becomes critically short or reaches a particular usage level, the resource manager selects one or more resource entities based on one or more criteria. For example, a resource entity which has the least restrictive resource usage policy or state is selected. The resource manager then requests that the selected resource entity changes its resource usage state to a more restrictive state. Of course, when resource usage reaches an acceptable level, the resource manager may also inform each resource entity (or previously selected resource entities) that they may set their resource consumption state to a less restrictive state.Type: GrantFiled: October 26, 2001Date of Patent: July 4, 2006Assignee: Sun Microsystems, Inc.Inventors: William F. Foote, Hideya Kawahara
-
Patent number: 7028298Abstract: Disclosed is a method for managing resource usage of a particular resource by a set of related code, such as code executed on behalf of a downloaded applet. A resource indicator is associated with the related code, and the resource indicator indicates an amount of resource usage of the particular resource by the related code. The resource indicator is updated when the related code increases or decreases its collective resource usage of the particular resource.Type: GrantFiled: September 10, 1999Date of Patent: April 11, 2006Assignee: Sun Microsystems, Inc.Inventor: William F. Foote
-
Patent number: 6910209Abstract: Apparatus, methods, and computer program products are disclosed for a process of terminating a thread in a clean, certain, and forcible manner. A thread is forcibly terminated in such a manner that data structures in the system are not left in an inconsistent state and the overall system status is not damaged. The methods and systems described are for terminating a thread in a computer language execution environment. Methods are implemented in an interpretive loop executing in a language that is interpreted and in runtime support libraries in a language that are not interpreted. A method of forcibly terminating a thread in a computer language execution environment is described. A thread receives a terminate thread command. The thread has associated with it a termination flag, a value of the termination flag being immutable once set, and one or more monitors. The termination flag is then set for the thread.Type: GrantFiled: April 30, 2001Date of Patent: June 21, 2005Assignee: Sun Microsystems, Inc.Inventors: Hideya Kawahara, William F. Foote, Dean R. E. Long
-
Patent number: 6829772Abstract: Disclosed is a method for executing a remote method. Each argument of the remote method is wrapped when the argument is a remote object (e.g. the argument's declared class implements a remote marker interface). However, each argument of the remote method is copied when an argument is not a remote object. The remote method is invoked using the wrapped or copied argument(s) (e.g. the wrapped or copied arguments are passed to the invoked method). A result of the invoked remote method is then wrapped (e.g., prior to being passed to the process that is receiving the result) when the result is a remote object (e.g., the result's declared class does not implement the remote marker interface). In contrast, the result of the remote method is copied (e.g., the copy is then passed to the process that is receiving the result) when the result is are remote object.Type: GrantFiled: November 29, 2000Date of Patent: December 7, 2004Assignee: Sun Microsystems, Inc.Inventors: William F. Foote, Hideya Kawahara
-
Publication number: 20040205760Abstract: Disclosed are methods and apparatus for managing resources. In general terms, a resource manager manages resource consumption of several resource entities which are each capable of consuming resources. The resource manager tracks the availability of such resources and determines whether a resource is critically short or reaches a particular usage level. When a resource becomes critically short or reaches a particular usage level, the resource manager selects one or more resource entities based on one or more criteria. For example, a resource entity which has the least restrictive resource usage policy or state is selected. The resource manager then requests that the selected resource entity changes its resource usage state to a more restrictive state. Of course, when resource usage reaches an acceptable level, the resource manager may also inform each resource entity (or previously selected resource entities) that they may set their resource consumption state to a less restrictive state.Type: ApplicationFiled: October 26, 2001Publication date: October 14, 2004Applicant: SUN MICROSYSTEMS, INC.Inventors: William F. Foote, Hideya Kawahara
-
Patent number: 6742123Abstract: In one aspect of the invention, the frames of a thread stack that associated with the misbehaving code are popped from the thread stack. Exception handling code is allowed to execute for trusted code by popping the trusted code frame via processing an exception, but exception handling is not allowed to execute for untrusted code. In a second aspect, frames are popped on all thread stacks of all threads that are associated with the misbehaving code. Threads are generally deemed to be associated with the misbehaving code when the threads share a same object or the same resources as the thread that is associated with the misbehaving code.Type: GrantFiled: September 10, 1999Date of Patent: May 25, 2004Assignee: Sun Microsystems, Inc.Inventor: William F. Foote
-
Publication number: 20040098730Abstract: Techniques for interpretation of DVD assembly language programs for television (TV) receivers operating in Java TV environments are provided. The techniques can be used to implement a Java-based command/control enabling system. The Java-based command/control enabling system can be implemented as a Java-based DVD assembly language interpreter which interacts with various modules including video, audio, graphics overlay, and remote control modules. As such, the Java-based command/control enabling systems can provide similar command/control functions as those provided by DVD systems.Type: ApplicationFiled: November 20, 2002Publication date: May 20, 2004Applicant: Sun Microsystems, Inc.Inventors: William F. Foote, Jonathan D. Courtney
-
Publication number: 20020161816Abstract: Apparatus, methods, and computer program products are disclosed for a process of terminating a thread in a clean, certain, and forcible manner. A thread is forcibly terminated in such a manner that data structures in the system are not left in an inconsistent state and the overall system status is not damaged. The methods and systems described are for terminating a thread in a computer language execution environment. Methods are implemented in an interpretive loop executing in a language that is interpreted and in runtime support libraries in a language that are not interpreted. A method of forcibly terminating a thread in a computer language execution environment is described. A thread receives a terminate thread command. The thread has associated with it a termination flag, a value of the termination flag being immutable once set, and one or more monitors. The termination flag is then set for the thread.Type: ApplicationFiled: April 30, 2001Publication date: October 31, 2002Applicant: Sun Microsystems, Inc.Inventors: Hideya Kawahara, William F. Foote, Dean R.E. Long
-
Publication number: 20010029552Abstract: Disclosed is a method for executing a remote method. Each argument of the remote method is wrapped when the argument is a remote object (e.g. the argument's declared class implements a remote marker interface). However, each argument of the remote method is copied when an argument is not a remote object. The remote method is invoked using the wrapped or copied argument(s) (e.g. the wrapped or copied arguments are passed to the invoked method). A result of the invoked remote method is then wrapped (e.g., prior to being passed to the process that is receiving the result) when the result is a remote object (e.g., the result's declared class does not implement the remote marker interface). In contrast, the result of the remote method is copied (e.g., the copy is then passed to the process that is receiving the result) when the result is are remote object.Type: ApplicationFiled: November 29, 2000Publication date: October 11, 2001Inventors: William F. Foote, Hideya Kawahara
-
Patent number: 6167535Abstract: Techniques for analyzing object-oriented computer programs are provided. A snapshot of the objects that are active at a specific point in time during execution may be stored. An analysis tool may be utilized to generate hypertext documents that allow a user to analyze the active objects. Additionally, a user may compare two different snapshots of active objects at two different run-times so that, for example, new instances of a class may be easily identified.Type: GrantFiled: April 14, 1998Date of Patent: December 26, 2000Assignee: Sun Microsystems, Inc.Inventors: William F. Foote, Jeffrey D. Nisewanger