Patents by Inventor Bernd Mathiske

Bernd Mathiske 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).

  • Publication number: 20130167144
    Abstract: A computer-implemented method includes generating an intermediate representation of a virtual machine. The method includes generating an executable for the virtual machine. The method includes persisting at least part of the intermediate representation in the executable. A virtual machine tangibly stored in a computer-readable storage device, and a computer system, are also disclosed.
    Type: Application
    Filed: September 4, 2009
    Publication date: June 27, 2013
    Inventors: Bernd Mathiske, Edwin Smith, Mason Chang
  • Publication number: 20070162528
    Abstract: One embodiment of the present invention provides a memory-management system that supports both address-referenced objects and identifier-referenced objects, wherein an address-referenced object is accessed through a reference containing an address of the object, and wherein an identifier-referenced object is accessed through a reference containing an object identifier (OID) for the object. During operation, the system receives a request to access an object. Next, the system determines if the object is an address-referenced object or an identifier-referenced object. If the object is an address-referenced object, the system accesses the object using the associated address for the object. If the object is an identifier-referenced object, the system accesses the object by using the associated OID for the object to look up the address for the object, and then using the address to access the object.
    Type: Application
    Filed: January 3, 2006
    Publication date: July 12, 2007
    Inventors: Gregory Wright, Bernd Mathiske, Mario Wolczko, Matthew Seidl
  • Publication number: 20050289543
    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: Application
    Filed: June 29, 2004
    Publication date: December 29, 2005
    Inventors: Antero Taivalsaari, William Pittore, Bernd Mathiske
  • Publication number: 20050278497
    Abstract: One embodiment of the present invention provides a system that facilitates keeping track of memory usage of tasks in a shared heap without performing a full garbage-collection operation. The system operates by determining a memory usage by each task in a young generation of the shared heap. Once the memory usage for each task has been determined, the system then adds the memory usage for each task in the young generation of the shared heap to a global memory usage for each task (obtained during a preceding full garbage-collection operation) to produce an actual memory usage for each task.
    Type: Application
    Filed: June 10, 2004
    Publication date: December 15, 2005
    Inventors: Oleg Pliss, Bernd Mathiske, Ioi Lam, Vijay Nagarajan
  • Publication number: 20050262324
    Abstract: A system and method for reducing the overhead involved in allocating memory to a task, thread or similar entity that shares memory or some other resource with other tasks or threads. A task is assigned a memory limit identifying a maximum amount of memory it may use at one time. When the task requires additional memory to store an object, it is granted a local allocation buffer if the size of the buffer plus the task's current memory allocation will not exceed the task's memory limit. Thereafter, memory space for objects is allocated from the task's local allocation buffer. This scheme avoids the overhead of constantly checking whether it has reached its limit, which is normally performed every time a task allocates memory. For large objects (e.g., greater in size than a local allocation buffer), memory may be allocated directly from the shared area.
    Type: Application
    Filed: May 19, 2004
    Publication date: November 24, 2005
    Inventor: Bernd Mathiske
  • Publication number: 20050198620
    Abstract: One embodiment of the present invention provides a system that facilitates determining a frequency of execution of compiled methods within a virtual machine. The system starts by determining if a compiled method is executing. If so, the system sets a flag corresponding to the compiled method to indicate that the compiled method is executing. Periodically, the system scans the flag and increments the value of a corresponding counter if the flag is set, and then resets the flag. Finally, the system analyzes the value of the counter to determine a frequency of execution of the compiled method.
    Type: Application
    Filed: October 15, 2004
    Publication date: September 8, 2005
    Inventors: Bernd Mathiske, Oleg Pliss
  • Publication number: 20050183083
    Abstract: Techniques for processing native events associated with tasks that are concurrently supported in a virtual machine are disclosed. The techniques allow the user of a virtual machine to concurrently perform tasks even if these tasks require processing of platform-specific (or native) events (e.g., platform-specific input). A smart event-dispatcher is used to dispatch native events to multiple tasks that are concurrently supported by the virtual machine. The smart event-dispatcher can determine which one of a plurality of concurrent tasks should receive the native event for processing. The determination can be made based on a variety of different criteria. In mobile devices, the foreground task is typically the only task that is displayed for the user of mobile devices at any given time. Thus, dispatching events to the foreground task is especially useful for a virtual machine that support a mobile device.
    Type: Application
    Filed: February 18, 2004
    Publication date: August 18, 2005
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Bernd Mathiske, Kinsley Wong, Hideya Kawahara, Nedim Fresko