Patents by Inventor Peter Kukol

Peter Kukol 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: 7426503
    Abstract: An improved type inference may be calculated for a path expression that may be classified into a series of input expressions followed by steps. For each such series, the inference may be calculated based on input including a type for the input expression, an axis for the step, and a node test for the step. The cardinality of the input expression type is preserved for the calculation of the step type. Also, a set of one or more matching node types may be identified within the type repository. These matching node types are node types within the axis of the step that match the node test of the step. These matching node types are identified without calculating the full content type implied by the axis. Avoiding the calculation of the full content type of the axis may reduce the processing time required to perform the inference.
    Type: Grant
    Filed: April 25, 2005
    Date of Patent: September 16, 2008
    Assignee: Microsoft Corporation
    Inventors: Adrian S. Baras, Michael Rys, Istvan Cseri, Oliver N. Seeliger, Peter Kukol
  • Patent number: 7386541
    Abstract: An extensible markup language (XML) expression included in a query is parsed to yield an abstract syntax tree. The abstract syntax tree is then transformed into a unified tree including XML algebra operations. The unified tree is then converted into a relational tree including enhanced relational algebra operations. The relational tree is then forwarded to a query processor for optimization and execution of the query at the query processor.
    Type: Grant
    Filed: March 18, 2004
    Date of Patent: June 10, 2008
    Assignee: Microsoft Corporation
    Inventors: Shankar Pal, Istvan Cseri, Oliver Seeliger, Gideon Schaller, Adrian Baras, Wei Yu, Denis Churin, Peter Kukol
  • Publication number: 20060242115
    Abstract: An improved type inference may be calculated for a path expression that may be classified into a series of input expressions followed by steps. For each such series, the inference may be calculated based on input including a type for the input expression, an axis for the step, and a node test for the step. The cardinality of the input expression type is preserved for the calculation of the step type. Also, a set of one or more matching node types may be identified within the type repository. These matching node types are node types within the axis of the step that match the node test of the step. These matching node types are identified without calculating the full content type implied by the axis. Avoiding the calculation of the full content type of the axis may reduce the processing time required to perform the inference.
    Type: Application
    Filed: April 25, 2005
    Publication date: October 26, 2006
    Applicant: Microsoft Corporation
    Inventors: Adrian Baras, Michael Rys, Istvan Cseri, Oliver Seeliger, Peter Kukol
  • Publication number: 20050210002
    Abstract: An extensible markup language (XML) expression included in a query is parsed to yield an abstract syntax tree. The abstract syntax tree is then transformed into a unified tree including XML algebra operations. The unified tree is then converted into a relational tree including enhanced relational algebra operations. The relational tree is then forwarded to a query processor for optimization and execution of the query at the query processor.
    Type: Application
    Filed: March 18, 2004
    Publication date: September 22, 2005
    Inventors: Shankar Pal, Istvan Cseri, Oliver Seeliger, Gideon Schaller, Adrian Baras, Wei Yu, Denis Churin, Peter Kukol
  • Patent number: 6389590
    Abstract: Indefinite-size variables within an intermediate language are disclosed. In one embodiment, a computer-implemented method first inputs intermediate language code having a size-indefinite variable. The method generates native code based on the intermediate-language code. This includes generating a size-definite variable corresponding to the size-indefinite variable, according to a machine-specific criteria. The method then outputs the native code. In one embodiment, outputting the native code includes executing the native code.
    Type: Grant
    Filed: June 22, 1999
    Date of Patent: May 14, 2002
    Assignee: Microsoft Corporation
    Inventors: James S. Miller, Peter Kukol, Vance P. Morrison
  • Patent number: 5920720
    Abstract: Method and apparatus for implementing a virtual machine interpreter such as an interpreter for interpreting Java compiled bytecodes. The Java language supports class structures and a hierarchy of such structures. As the Java software virtual machine loads the class file containing the Java bytecodes it allocates a first block, of memory based on the class definition for all dynamic methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class. The virtual machine instantiates instances of classes within a class hierarchy derived from the base class in other memory blocks by initializing a method table pointer at a base location in that other memory block for each such instance in the class hierarchy. The method table pointer is initialized to point to the first block of memory defining the dynamic methods for the class hierarchy.
    Type: Grant
    Filed: February 25, 1997
    Date of Patent: July 6, 1999
    Assignee: Microsoft Corporation
    Inventors: Michael J. Toutonghi, Peter Kukol, Patrick Dussud
  • Patent number: 5842016
    Abstract: The present invention synchronizes threads in a garbage-collected system. In accordance with the invention, each thread may enable or disable garbage collection. A synchronization facility receives a request to initiate garbage collection. In response to the request, the facility identifies threads that have enabled garbage collection more recently than they have disabled garbage collection. Then, until all of the threads are identified or suspended, the facility identifies threads that enable garbage collection and suspends threads that disable garbage collection. When all threads are identified or suspended, the facility performs garbage collection. The facility also suspends any identified threads that attempt to disable garbage collection during the performance of garbage collection.
    Type: Grant
    Filed: May 29, 1997
    Date of Patent: November 24, 1998
    Assignee: Microsoft Corporation
    Inventors: Michael Toutonghi, Peter Kukol, Frank Peschel-Gallee, Patrick Dussud
  • Patent number: 5628016
    Abstract: A development system having a compiler that allows programmers and software developers to more efficiently develop compiled applications with runtime exception handling support is described. The compiler implements methods for handling of exceptions, which may occur during runtime execution of the program. In an exemplary embodiment, the system of the present invention registers exception handling information (e.g., an Exception Registration Record) with the underlying operating system, during execution of prolog code for each function (or other discrete section of code). The method is implemented so that the Exception Registration Record (ERR) resides at the bottom of the stack (or top of stack, for stack-based systems whose system stack grows upward) so that the information is positioned at one end of the stack during execution of the function.
    Type: Grant
    Filed: June 15, 1994
    Date of Patent: May 6, 1997
    Assignee: Borland International, Inc.
    Inventor: Peter Kukol
  • Patent number: 5535391
    Abstract: An object-oriented development system of the present invention includes a language compiler having an optimizer for generating computer applications with improved speed and size. C++ optimization methods of the present invention are described, including virtual function and base optimization, using thunks for virtual member pointers, and passing classes by value. An object-oriented calling convention of the present invention, which affords rapid and efficient access to data and methods of objects, is also described.
    Type: Grant
    Filed: February 15, 1995
    Date of Patent: July 9, 1996
    Assignee: Borland International, Inc.
    Inventors: Anders Hejlsberg, Jeffrey Stock, Peter Kukol, Alex Shtaygrud
  • Patent number: 5481708
    Abstract: An object-oriented development system of the present invention includes a language compiler having an optimizer for generating computer applications with improved speed and size. C++ optimization methods of the present invention are described, including virtual function and base optimization, using thunks for virtual member pointers, and passing classes by value. An object-oriented calling convention of the present invention, which affords rapid and efficient access to data and methods of objects, is also described.
    Type: Grant
    Filed: June 5, 1992
    Date of Patent: January 2, 1996
    Assignee: Borland International, Inc.
    Inventor: Peter Kukol
  • Patent number: 5189733
    Abstract: A computer system for executing application programs with limited available main memory capacity includes a main memory management system. The architecture of the stub vectors of a swappable code object and the protocol for referencing the stubs in active call frames reduces the overhead time of code object swapping. The stub vectors for a swappable code object are clustered together in memory; and each cluster comprises at least one entry stub and a return stub. A return stub vector is referenced in an active call frame only when its associated code object is not resident in main memory or when the code object has been placed on probation in contemplation of moving the object out of main memory. A linked list of resident code objects is employed in the selection of objects to be removed from main memory. A number of the least recently used code objects are put on probation in anticipation of the need to swap code between main memory and bulk memory.
    Type: Grant
    Filed: August 22, 1989
    Date of Patent: February 23, 1993
    Assignee: Borland International, Inc.
    Inventors: John G. Bennett, Anders Hejlsberg, Peter Kukol