Patents by Inventor Antero K. P. Taivalsaari

Antero K. P. Taivalsaari 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: 7831965
    Abstract: One embodiment of the present invention provides a system that resolves references in an in-place execution file for a platform-independent virtual machine into physical addresses. During operation, the system receives an in-place execution file in which references have been replaced with in-place encoded metadata specifying attributes of the references. The system then resolves a reference by obtaining in-place encoded metadata for the reference from a location in the in-place execution file, using the in-place encoded metadata to determine an address of an associated referent, and then replacing the in-place encoded metadata at the location in the in-place execution file with the address of the referent.
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: November 9, 2010
    Assignee: Oracle America, Inc.
    Inventors: William F. Pittore, Antero K. P. Taivalsaari
  • Patent number: 7603665
    Abstract: One embodiment of the present invention provides a system that facilitates loading of an in-place executable file into a virtual machine. The system operates by loading the in-place executable file into the virtual machine, where the in-place executable file contains internal pointers that point to memory locations within the in-place executable file, and a target memory address that specifies a target location in memory where the in-place executable file is configured to be loaded. The system then determines an actual memory address at which the in-place executable file is actually loaded. If the actual memory address and the target memory address are different, the system generates an offset value, which is the difference between the actual memory address and the target memory address. Finally, the system adjusts each internal pointer within the in-place executable file by the offset value so that the internal pointers point to intended locations inside the in-place executable file.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: October 13, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Antero K. P. Taivalsaari, William F. Pittore
  • Patent number: 7574705
    Abstract: One embodiment of the present invention provides a system that facilitates efficiently resolving symbolic references in a virtual machine to support in-place execution. During operation, the system loads an in-place executable file into the virtual machine, and receives a pointer that points to an unresolved symbol value in the in-place executable file. This unresolved symbol value includes an offset value that points to a subsequent unresolved symbol value in a chain of unresolved symbol values within the in-place executable file, and a token value that can be used to look up a corresponding resolved reference value in an unresolved symbol table. The system then uses the token value to look up the corresponding resolved reference in the unresolved symbol table, and replaces the unresolved symbol value with the corresponding resolved reference.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: August 11, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Antero K. P. Taivalsaari, William F. Pittore, Bernd J. W. Mathiske
  • Patent number: 7328432
    Abstract: One embodiment of the present invention provides a system that facilitates performing proximity-based addressing in a platform-independent virtual machine. During execution of a program on the platform-independent virtual machine, the system receives an instruction and a parameter associated with the instruction that can be used to generate a reference to a program element associated with the instruction. Next, the system examines information encoded within the parameter to determine a proximity of the reference, and then uses the parameter to generate the reference to the program element, wherein the proximity of the reference determines how the reference is generated from the parameter.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: February 5, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Antero K. P. Taivalsaari
  • Publication number: 20040243999
    Abstract: One embodiment of the present invention provides a system that facilitates performing proximity-based addressing in a platform-independent virtual machine. During execution of a program on the platform-independent virtual machine, the system receives an instruction and a parameter associated with the instruction that can be used to generate a reference to a program element associated with the instruction. Next, the system examines information encoded within the parameter to determine a proximity of the reference, and then uses the parameter to generate the reference to the program element, wherein the proximity of the reference determines how the reference is generated from the parameter.
    Type: Application
    Filed: June 2, 2003
    Publication date: December 2, 2004
    Inventor: Antero K. P. Taivalsaari
  • Patent number: 6446084
    Abstract: One embodiment of the present invention provides a method for increasing performance of code executing on a platform-independent virtual machine. The method operates by receiving a request to resolve an entry in a symbol table at run-time, wherein resolving the entry requires multiple lookups into the symbol table. It next determines if the entry has previously been resolved. If so, the system returns a direct pointer to a runtime structure associated with the entry, which was returned during a previous resolution of the entry. If not, the system resolves the entry through multiple lookups into the symbol table to produce a direct pointer to the runtime structure, and replaces the entry with the direct pointer. In a variation on the above embodiment, the symbol table assumes the form of a constant pool within an object-oriented class file defined within the JAVA programming language.
    Type: Grant
    Filed: September 22, 1998
    Date of Patent: September 3, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Nik Shaylor, Antero K. P. Taivalsaari
  • Patent number: 6433798
    Abstract: One embodiment of the present invention provides a system for viewing objects on a display that allows a user to scroll through the objects by varying a non-positional display attribute of the objects. This non-positional display attribute may include attributes such as transparency, fadedness and size. The system operates by receiving an intrinsic value for an object, which specifies a value for a display attribute associated with the object. The system also receives a reference value for the display attribute against which intrinsic values for objects are compared. This reference value may be received from a user through a scroll bar that is manipulated by the user. The system uses the intrinsic value and the reference value to compute a display value for the object. Next, the object is displayed using the display value to specify the non-positional display attribute for the object.
    Type: Grant
    Filed: April 30, 1999
    Date of Patent: August 13, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Randall B. Smith, Antero K. P. Taivalsaari
  • Patent number: 6307562
    Abstract: One embodiment of the present invention provides a system for viewing a plurality of objects on a graphical display. The graphical display includes space for displaying objects and a sink that contains objects that are not visible on the graphical display. The system operates by receiving a command from a user of the graphical display. When the command is a compress command, if an object is inside the sink, the system moves the object a level deeper into the sink. If the object is located outside the sink on the graphical display, the system moves the object closer in a radial direction towards the sink. If the object moves very close to the sink, the object leaves the graphical display and enters the sink. When the command is an expand command, if the object is located inside the sink, the system moves the object a level higher in the sink. If the object is already at a highest level of the sink, the object leaves the sink and enters the graphical display at a location near the sink.
    Type: Grant
    Filed: March 15, 1999
    Date of Patent: October 23, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Antero K. P. Taivalsaari
  • Patent number: 6279148
    Abstract: One embodiment of the present invention facilitates low-level systems programming in dynamic, “pointer-safe” programming languages, which disallow arbitrary references through pointers. It does so by avoiding the creation of object instances in the traditional fashion. Rather, a large heap is defined to store dynamically allocated data objects, and explicit memory management operations are implemented in order to allocate and deallocate memory from the heap. Traditional object pointers are replaced by indices to the heap. The described technique allows the bypassing of traditional object allocation, thus making object allocation static from the viewpoint of the pointer-safe programming language—with the exception of the large array that is allocated to serve as the heap. Since the new memory system is implemented on top of an existing automatic memory system, varying degrees of automatic and manual memory management are possible.
    Type: Grant
    Filed: October 13, 1998
    Date of Patent: August 21, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Antero K. P. Taivalsaari, David M. Ungar
  • Patent number: 6275985
    Abstract: One embodiment of the present invention provides a system that facilitates developing an application that implements garbage collection (such as a virtual machine) using a first compiler and then compiling the application with a second compiler that provides support for efficient garbage collection. The system operates by developing the application using a first compiler and proxy objects, so that during execution of the application, pointers within the system stack point indirectly to data objects through proxy objects. These proxy objects are used during the garbage collection process to identify data objects that are referenced by the pointers within the system stack. Next, the system provides a second compiler that produces stack maps that identify pointers in the system stack. This allows the garbage collection process to identify objects referenced by the pointers in the system stack without using proxy objects.
    Type: Grant
    Filed: December 17, 1998
    Date of Patent: August 14, 2001
    Assignee: Sun Microsystems, Inc
    Inventors: David M. Ungar, Antero K. P. Taivalsaari