Patents by Inventor Antony S. Williams

Antony S. Williams 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: 20020040410
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated. Once aggregated.
    Type: Application
    Filed: May 16, 2001
    Publication date: April 4, 2002
    Inventors: Paul J. Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. Mackichan, Craig Wittenberg
  • Patent number: 6263379
    Abstract: A method and system for referring to and binding to objects using a moniker object is provided. In a preferred embodiments moniker object contains information to identify linked source data and provides methods through which a program can bind to the linked source data. A binding method is provided that returns an instance of an interface through which the linked source data can be accessed. The moniker object can identify source data that is stored persistently or nonpersistently. In addition, moniker objects can be composed to form a composite moniker object. A composite moniker object is used to identify linked source data that is nested in other data. In a preferred embodiment, the moniker object provides other methods including a reducing method that returns a more efficient representation of the moniker object; equality and hash methods for comparing moniker objects; and inverse, common prefix, and relative-path-to methods for comparing and locating moniker objects from other moniker objects.
    Type: Grant
    Filed: August 20, 1997
    Date of Patent: July 17, 2001
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward K. Jung
  • Patent number: 6256780
    Abstract: An assembly method and system for assembling components into an assembly. An assembly provides connectors through which the components can be exported and through which an external entity can be imported. An exported component can be connected to another assembly by importing that exported component into that other assembly. A connector can both expose components to be exported and expose connections through which an external entity can be imported. The assembly provides a mechanism through which the connectors can be exposed to external entities. An external entity can use the connector providing mechanism to retrieve a connector and then use the retrieved connector to export components and establish connections by importing external entities. In addition, the use of a standard connector and of a standard connector providing mechanism allows predefined components to be assembled into assemblies that can expose certain behavior of the components through the connectors in a predefined manner.
    Type: Grant
    Filed: September 10, 1998
    Date of Patent: July 3, 2001
    Assignee: Microsoft Corp.
    Inventors: Antony S. Williams, Walter L. Hill, Mark B. Grossman, Crispin Goswell, Craig H. Wittenberg
  • Patent number: 6243764
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: June 5, 2001
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 6240465
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: March 4, 1997
    Date of Patent: May 29, 2001
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 6064406
    Abstract: A method and system for retrieving and maintaining presentation data in a presentation cache is provided. In a preferred embodiment, a presentation cache object provides a presentation cache with multiple cache entries. Each entry contains an indication of the format of the presentation data and the presentation data stored in that particular format. In addition, other information, such as the advisees of advisory connections for notification of cache updates, can be maintained. The presentation cache object responds to requests for retrieving source object data by returning presentation data cached within the presentation cache when it is available. In addition, the presentation cache object determines when it should delegate requests to the source object and when it can satisfy them on its own. The presentation cache object can return presentation data to a requesting client program even if the server program implementing the source object is unavailable or not running.
    Type: Grant
    Filed: November 7, 1996
    Date of Patent: May 16, 2000
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Craig Wittenberg, Srinivasa R. Koppolu, C. Douglas Hodges
  • Patent number: 5911066
    Abstract: An improved data transfer mechanism is provided. In a preferred embodiment of the present invention, a uniform data transfer mechanism is used by each computer program performing data transfer. The uniform data transfer mechanism of the preferred embodiment of the present invention provides a communication mechanism and a flexible and robust interface to support all existing and future data transfer applications.
    Type: Grant
    Filed: April 15, 1996
    Date of Patent: June 8, 1999
    Assignee: Microsoft Corporation
    Inventors: Antony S. Williams, Robert G. Atkinson
  • Patent number: 5905884
    Abstract: A method and system for registering data formats for objects are provided. In a preferred embodiment, a server application registers in a registration database data formats for receiving and for sending data. To send data to the server application, a client application retrieves from the registration database a data format for receiving data from the client application and sends data to the server application in the retrieved data format. To receive data from the server application, the client application retrieves from the registration database a data format for sending data to the client application and requests the server application to send data in the retrieved format.
    Type: Grant
    Filed: June 27, 1997
    Date of Patent: May 18, 1999
    Assignee: Microsoft Corporation
    Inventor: Antony S. Williams
  • Patent number: 5842018
    Abstract: A method and system for referring to and binding to objects using a moniker object is provided. In a preferred embodiment, a moniker object contains information to identify linked source data and provides methods through which a program can bind to the linked source data. A binding method is provided that returns an instance of an interface through which the linked source data can be accessed. The moniker object can identify source data that is stored persistently or nonpersistently. In addition, moniker objects can be composed to form a composite moniker object. A composite moniker object is used to identify linked source data that is nested in other data. In a preferred embodiment, the moniker object provides other methods including a reducing method that returns a more efficient representation of the moniker object; equality and hash methods for comparing moniker objects; and inverse, common prefix, and relative-path-to methods for comparing and locating moniker objects from other moniker objects.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: November 24, 1998
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward K. Jung
  • Patent number: 5805885
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: January 24, 1994
    Date of Patent: September 8, 1998
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 5801701
    Abstract: A computer method and system for interacting with a containee object contained within a container object. In a preferred embodiment of the present invention, the container object has a container application with a container window environment that has container resources for interacting with the container object. The containee object has a server application with a server window environment with server resources for interacting with the containee object. The method of the present invention displays the container window environment on a display device. A user then selects the containee object. In response to selecting the containee object, the method integrates a plurality of the server resources with the displayed container window environment. When a user then selects a server resource, the method invokes the server application to process the server resource selection.
    Type: Grant
    Filed: September 4, 1996
    Date of Patent: September 1, 1998
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, C. Douglas Hodges, Barry B. MacKichan, Richard McDaniel, Rao V. Remala, Antony S. Williams
  • Patent number: 5754175
    Abstract: A computer method and system for interacting with a containee object contained within a container object. In a preferred embodiment of the present invention, the container object has a container application with a container window environment that has container resources for interacting with the container object. The containee object has a server application with a server window environment with server resources for interacting with the containee object. The method of the present invention displays the container window environment on a display device. A user then selects the containee object. In response to selecting the containee object, the method integrates a plurality of the server resources with the displayed container window environment. When a user then selects a server resource, the method invokes the server application to process the server resource selection.
    Type: Grant
    Filed: February 4, 1997
    Date of Patent: May 19, 1998
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, C. Douglas Hodges, Barry B. MacKichan, Richard McDaniel, Rao V. Remala, Antony S. Williams
  • Patent number: 5745764
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: April 28, 1998
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 5740439
    Abstract: A method and system for referring to and binding to objects using a moniker object is provided. In a preferred embodiment, a moniker object contains information to identify linked source data and provides methods through which a program can bind to the linked source data. A binding method is provided that returns an instance of an interface through which the linked source data can be accessed. The moniker object can identify source data that is stored persistently or nonpersistently. In addition, moniker objects can be composed to form a composite moniker object. A composite moniker object is used to identify linked source data that is nested in other data. In a preferred embodiment, the moniker object provides other methods including a reducing method that returns a more efficient representation of the moniker object; equality and hash methods for comparing moniker objects; and inverse, common prefix, and relative-path-to methods for comparing and locating moniker objects from other moniker objects.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: April 14, 1998
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward K. Jung
  • 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: 5715441
    Abstract: A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: February 3, 1998
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Andrew L. Bliss, Philip J. Lafornara, Philip Ljubicich, Alexander G. Tilles, Antony S. Williams
  • Patent number: 5710925
    Abstract: A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: January 20, 1998
    Assignee: Microsoft Corporation
    Inventors: Paul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
  • Patent number: 5706504
    Abstract: A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: January 6, 1998
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Andrew L. Bliss, Philip J. Lafornara, Philip Ljubicich, Alexander G. Tilles, Antony S. Williams
  • Patent number: 5692157
    Abstract: A method and system for registering data formats for objects are provided. In a preferred embodiment, a server application registers in a registration database data formats for receiving and for sending data. To send data to the server application, a client application retrieves and selects from the registration database a data format that the server application supports for receiving data and sends data to the server application in the selected data format. To receive data from the server application, the client application retrieves and selects from the registration database a data format that the server application supports for sending data and requests the server application to send data in the selected data format.
    Type: Grant
    Filed: January 30, 1995
    Date of Patent: November 25, 1997
    Assignee: Microsoft Corporation
    Inventor: Antony S. Williams
  • Patent number: 5689703
    Abstract: A method and system for referring to and binding to objects using a moniker object is provided. In a preferred embodiment, a moniker object contains information to identify linked source data and provides methods through which a program can bind to the linked source data. A binding method is provided that returns an instance of an interface through which the linked source data can be accessed. The moniker object can identify source data that is stored persistently or nonpersistently. In addition, moniker objects can be composed to form a composite moniker object. A composite moniker object is used to identify linked source data that is nested in other data. In a preferred embodiment, the moniker object provides other methods including a reducing method that returns a more efficient representation of the moniker object; equality and hash methods for comparing moniker objects; and inverse, common prefix, and relative-path-to methods for comparing and locating moniker objects from other moniker objects.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: November 18, 1997
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward K. Jung