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

  • Patent number: 5682536
    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 7, 1995
    Date of Patent: October 28, 1997
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward K. Jung
  • Patent number: 5680616
    Abstract: A method and system for generating and maintaining property sets is provided. In a preferred embodiment, a property set stream is generated. The stream comprises three parts: a header, a section locator array, and one or more sections. The header contains information for uniquely identifying the property set and for identifying the number of sections within the property set. The section locator array contains a unique identifier for each section and an offset indicating where the section resides within the stream. The third part, the section definitions, contains the information necessary to maintain groups of properties for each section. Each section contains a section header, a property locator array, and an array of property type/value pairs. The section header indicates both the size of the section and the number of properties defined within the section.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: October 21, 1997
    Assignee: Microsoft Corporation
    Inventors: Antony S. Williams, Edward A. Martinez, Dean J. Hachamovitch
  • Patent number: 5675796
    Abstract: An improved mechanism for communicating between computer programs is provided. In a preferred embodiment of the present invention, a computer system has a source computer program, a destination computer program and a communication mechanism for sending a communication from the source computer program to the destination computer program. The communication mechanism contains a concurrency management mechanism for handling events when a communication is pending. The source computer program sends a communication to the destination computer program using the communication mechanism. While the remote communication is pending, the concurrency management mechanism of the preferred embodiment provides concurrency management. The source computer program then receives a reply to the communication from the destination computer program.
    Type: Grant
    Filed: August 16, 1996
    Date of Patent: October 7, 1997
    Assignee: Microsoft Corporation
    Inventors: Clark Douglas Hodges, Antony S. Williams, Johann Posch
  • Patent number: 5634019
    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: June 6, 1995
    Date of Patent: May 27, 1997
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, C. Douglas Hodges, Barry B. MacKichan, Richard McDaniel, Rao V. Remala, Antony S. Williams
  • Patent number: 5613124
    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: June 7, 1995
    Date of Patent: March 18, 1997
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Craig Wittenberg, Srinivasa R. Koppolu, C. Douglas Hodges
  • Patent number: 5613058
    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: April 15, 1994
    Date of Patent: March 18, 1997
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, C. Douglas Hodges, Barry B. MacKichan, Richard McDaniel, Rao V. Remala, Antony S. Williams
  • Patent number: 5608909
    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: April 15, 1994
    Date of Patent: March 4, 1997
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Craig Wittenberg, Srinivasa R. Koppolu, C. Douglas Hodges
  • Patent number: 5581686
    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: June 6, 1995
    Date of Patent: December 3, 1996
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, C. Douglas Hodges, Barry B. MacKichan, Richard McDaniel, Rao V. Remala, Antony S. Williams
  • Patent number: 5581760
    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: July 6, 1993
    Date of Patent: December 3, 1996
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward K. Jung
  • 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
  • Patent number: 5506983
    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. In another aspect, the present invention provides for the transactioning of modifications to data in a file that is stored in a tree structure having nodes. When modifications are made to a node that is not transacted, the modifications are associated with the closest ancestor node that is transacted.
    Type: Grant
    Filed: July 6, 1992
    Date of Patent: April 9, 1996
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Andrew L. Bliss, Philip J. Lafornara, Philip Ljubicich, Alexander G. Tilles, Antony S. Williams