Patents by Inventor Tom Corbett

Tom Corbett 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: 6209040
    Abstract: A method and system for interfacing to type libraries are provided. In a preferred embodiment, the present invention defines an interface to a type library. The interface has a plurality of interface methods through which type information can be stored in and retrieved from the type library. A plurality of implementations of the defined interface are provided. A computer program is compiled using the defined interfaces to access the type information. When the compiled computer program is executed, it accesses the type information using one of the plurality of implementations. In a preferred embodiment, a type library contains type information to allow a compiler to bind to an instance of type at compile type (early binding).
    Type: Grant
    Filed: October 9, 1992
    Date of Patent: March 27, 2001
    Assignee: Microsoft Corporation
    Inventors: Colin L. Acton, Ilan G. Caron, Alan W. Carter, Tom Corbett, Michael J. Woolf
  • Patent number: 6083282
    Abstract: In compiling source code organized in projects, unqualified name references are bound to program objects by searching namespaces in ascending hierarchical order from a current program unit to a current project. Namespaces within projects directly referenced by the current project are then searched. The search is completed at the first namespace in the search order which contains the matching name. Thus, program objects in projects directly referenced by the current project can be referenced by an unqualified name, without import or export lists of program elements.
    Type: Grant
    Filed: July 31, 1997
    Date of Patent: July 4, 2000
    Assignee: Microsoft Corporation
    Inventors: Ilan Gabriel Caron, Alan W. Carter, Dennis Mark Canady, Tom Corbett
  • Patent number: 5724588
    Abstract: A computer method and system for passing a pointer to an interface from a server process to a client process. In a preferred embodiment, the server process instantiates an object that has multiple interfaces. The server process identifies an interface to pass to the client process and creates a stub object for receiving a request to invoke a function member of the interface and for invoking the requested function member upon receiving the request. The server process then sends an identifier of the stub to the client process. When the client process receives the identifier of the stub, it instantiates a proxy object for receiving requests to invoke a function member of the interface and for sending the request to the identified stub. The client process can then invoke the function members of the interface by invoking function members of the proxy object. The proxy object sends a request to the identified stub. The identified stub then invokes the corresponding function member of the interface.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: March 3, 1998
    Assignee: Microsoft Corporation
    Inventors: Richard Douglas Hill, Antony S. Williams, Robert G. Atkinson, Tom Corbett, Paul Leach, Shannon John Chan, Alexander Adams Mitchell, Edward K. Jung, Craig Henry Wittenberg
  • Patent number: 5689709
    Abstract: A computer method and system for invoking a function member of an object that is exposed to a client computer program by a source computer program are provided. In a preferred embodiment, the source computer program instantiates the object which has a dispatching interface. The dispatching interface has an invoking function member for receiving a name of a function member and arguments for the function member. When a client computer program wishes to invoke the function member, the client computer program invokes the invoking function member of the dispatching interface passing the name of the function member and arguments for the function member. The invoking function member invokes the function member with the passed name passing the arguments. When the function member returns, the invoking function member returns to the client computer program.
    Type: Grant
    Filed: February 1, 1996
    Date of Patent: November 18, 1997
    Assignee: Microsoft Corporation
    Inventors: Tom Corbett, Peter H. Golde, Mark S. Igra, Bradford H. Lovering
  • Patent number: 5586328
    Abstract: A compiler and compiling method minimizes recompilation of a computer program after an edit. The program is organized in plural program units, such as modules. The units are each compiled through a sequence of compilation states, including plural intermediate compilation states. In compiling each of the program units, dependencies between units are recorded in a table. When an edit to a program unit is later attempted, the edited unit is decompiled to one of various intermediate compilation states according to the edit performed. Units dependent of the edited unit are decompiled to one of various intermediate compilation states according to the dependency of the dependent unit on the edited unit. When next compiling the program, the units are compiled from their respective intermediate compilation state. Units also can be saved in various intermediate compilation states to minimize compiling when the program is again loaded.
    Type: Grant
    Filed: October 21, 1994
    Date of Patent: December 17, 1996
    Assignee: Microsoft Corporation
    Inventors: Ilan G. Caron, Alan W. Carter, Dennis M. Canady, Tom Corbett, Rajiv Kumar
  • Patent number: 5515536
    Abstract: A computer method and system for invoking a function member of an object that is exposed to a client computer program by a source computer program are provided. In a preferred embodiment, the source computer program instantiates the object which has a dispatching interface. The dispatching interface has an invoking function member for receiving a name of a function member and arguments for the function member. When a client computer program wishes to invoke the function member, the client computer program invokes the invoking function member of the dispatching interface passing the name of the function member and arguments for the function member. The invoking function member invokes the function member with the passed name passing the arguments. When the function member returns, the invoking function member returns to the client computer program.
    Type: Grant
    Filed: November 13, 1992
    Date of Patent: May 7, 1996
    Assignee: Microsoft Corporation
    Inventors: Tom Corbett, Peter H. Golde, Mark S. Igra, Bradford H. Lovering
  • Patent number: 5511197
    Abstract: A computer method and system for passing a pointer to an interface from a server process to a client process. In a preferred embodiment, the server process instantiates an object that has multiple interfaces. The server process identifies an interface to pass to the client process and creates a stub object for receiving a request to invoke a function member of the interface and for invoking the requested function member upon receiving the request. The server process then sends an identifier of the stub to the client process. When the client process receives the identifier of the stub, it instantiates a proxy object for receiving requests to invoke a function member of the interface and for sending the request to the identified stub. The client process can then invoke the function members of the interface by invoking function members of the proxy object. The proxy object sends a request to the identified stub. The identified stub then invokes the corresponding function member of the interface.
    Type: Grant
    Filed: November 29, 1993
    Date of Patent: April 23, 1996
    Assignee: Microsoft Corporation
    Inventors: Richard D. Hill, Antony S. Williams, Robert G. Atkinson, Tom Corbett, Paul Leach, Shannon J. Chan, Alexander A. Mitchell, Edward K. Jung, Craig H. Wittenberg