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: 8127313
    Abstract: 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: Grant
    Filed: March 31, 2008
    Date of Patent: February 28, 2012
    Assignee: Oracle America, Inc.
    Inventor: William F. Foote
  • Patent number: 8046773
    Abstract: 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: Grant
    Filed: October 26, 2005
    Date of Patent: October 25, 2011
    Assignee: Oracle America, Inc.
    Inventor: William F. Foote
  • Patent number: 7990386
    Abstract: 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: Grant
    Filed: December 8, 2005
    Date of Patent: August 2, 2011
    Assignee: Oracle America, Inc.
    Inventor: William F. Foote
  • Patent number: 7873979
    Abstract: 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: Grant
    Filed: December 10, 2004
    Date of Patent: January 18, 2011
    Assignee: Oracle America, Inc.
    Inventors: William F. Foote, William J. Sheppard
  • Patent number: 7634779
    Abstract: 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: Grant
    Filed: November 20, 2002
    Date of Patent: December 15, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: William F. Foote, Jonathan D. Courtney
  • Publication number: 20090249415
    Abstract: 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: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: William F. Foote
  • Patent number: 7073177
    Abstract: 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: Grant
    Filed: October 26, 2001
    Date of Patent: July 4, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: William F. Foote, Hideya Kawahara
  • Patent number: 7028298
    Abstract: 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: Grant
    Filed: September 10, 1999
    Date of Patent: April 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: William F. Foote
  • Patent number: 6910209
    Abstract: 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: Grant
    Filed: April 30, 2001
    Date of Patent: June 21, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Hideya Kawahara, William F. Foote, Dean R. E. Long
  • Patent number: 6829772
    Abstract: 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: Grant
    Filed: November 29, 2000
    Date of Patent: December 7, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: William F. Foote, Hideya Kawahara
  • Publication number: 20040205760
    Abstract: 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: Application
    Filed: October 26, 2001
    Publication date: October 14, 2004
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: William F. Foote, Hideya Kawahara
  • Patent number: 6742123
    Abstract: 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: Grant
    Filed: September 10, 1999
    Date of Patent: May 25, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: William F. Foote
  • Publication number: 20040098730
    Abstract: 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: Application
    Filed: November 20, 2002
    Publication date: May 20, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: William F. Foote, Jonathan D. Courtney
  • Publication number: 20020161816
    Abstract: 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: Application
    Filed: April 30, 2001
    Publication date: October 31, 2002
    Applicant: Sun Microsystems, Inc.
    Inventors: Hideya Kawahara, William F. Foote, Dean R.E. Long
  • Publication number: 20010029552
    Abstract: 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: Application
    Filed: November 29, 2000
    Publication date: October 11, 2001
    Inventors: William F. Foote, Hideya Kawahara
  • Patent number: 6167535
    Abstract: 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: Grant
    Filed: April 14, 1998
    Date of Patent: December 26, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: William F. Foote, Jeffrey D. Nisewanger