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: 7426503Abstract: 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: GrantFiled: April 25, 2005Date of Patent: September 16, 2008Assignee: Microsoft CorporationInventors: Adrian S. Baras, Michael Rys, Istvan Cseri, Oliver N. Seeliger, Peter Kukol
-
Patent number: 7386541Abstract: 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: GrantFiled: March 18, 2004Date of Patent: June 10, 2008Assignee: Microsoft CorporationInventors: Shankar Pal, Istvan Cseri, Oliver Seeliger, Gideon Schaller, Adrian Baras, Wei Yu, Denis Churin, Peter Kukol
-
Publication number: 20060242115Abstract: 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: ApplicationFiled: April 25, 2005Publication date: October 26, 2006Applicant: Microsoft CorporationInventors: Adrian Baras, Michael Rys, Istvan Cseri, Oliver Seeliger, Peter Kukol
-
Publication number: 20050210002Abstract: 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: ApplicationFiled: March 18, 2004Publication date: September 22, 2005Inventors: Shankar Pal, Istvan Cseri, Oliver Seeliger, Gideon Schaller, Adrian Baras, Wei Yu, Denis Churin, Peter Kukol
-
Patent number: 6389590Abstract: 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: GrantFiled: June 22, 1999Date of Patent: May 14, 2002Assignee: Microsoft CorporationInventors: James S. Miller, Peter Kukol, Vance P. Morrison
-
Patent number: 5920720Abstract: 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: GrantFiled: February 25, 1997Date of Patent: July 6, 1999Assignee: Microsoft CorporationInventors: Michael J. Toutonghi, Peter Kukol, Patrick Dussud
-
Patent number: 5842016Abstract: 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: GrantFiled: May 29, 1997Date of Patent: November 24, 1998Assignee: Microsoft CorporationInventors: Michael Toutonghi, Peter Kukol, Frank Peschel-Gallee, Patrick Dussud
-
Patent number: 5628016Abstract: 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: GrantFiled: June 15, 1994Date of Patent: May 6, 1997Assignee: Borland International, Inc.Inventor: Peter Kukol
-
Patent number: 5535391Abstract: 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: GrantFiled: February 15, 1995Date of Patent: July 9, 1996Assignee: Borland International, Inc.Inventors: Anders Hejlsberg, Jeffrey Stock, Peter Kukol, Alex Shtaygrud
-
Patent number: 5481708Abstract: 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: GrantFiled: June 5, 1992Date of Patent: January 2, 1996Assignee: Borland International, Inc.Inventor: Peter Kukol
-
Patent number: 5189733Abstract: 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: GrantFiled: August 22, 1989Date of Patent: February 23, 1993Assignee: Borland International, Inc.Inventors: John G. Bennett, Anders Hejlsberg, Peter Kukol