Patents by Inventor Robert G. Atkinson

Robert G. Atkinson 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: 6268924
    Abstract: A server application associated with a document provides a document object with a print interface to support programmatic document printing. A client application interacts with the document object through the print interface to control printing. The print interface supports progress monitoring and print cancellation during printing using a call back interface of the client program. The print interface also supports opaquely conveying document-specific print options, so that the client program can perform subsequent print operations with the same or similar document object using the same print options without the client program manipulating the print options. The document object also has a print preview interface which supports programmatic print previewing.
    Type: Grant
    Filed: June 6, 1996
    Date of Patent: July 31, 2001
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, Robert G. Atkinson, Nathaniel Brown, Richard J. Wolf, Matthew William Pearson
  • 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: 6182108
    Abstract: The present invention provides a method and system for multi-threaded processing that is an improvement over conventional systems. The system of the present invention comprises multiple threads of execution, multiple apartments, shared data, and a concurrency management component. The threads of execution run independently and each occupy one apartment. The apartments contain objects that have methods to perform operations. The shared data contains data that is accessible by all threads within the process. The concurrency management mechanism performs processing so that the multiple threads can execute concurrently in a reliable and robust manner. In an alternative system of the present invention, the threads are separate from the apartments and the threads execute within the apartments to perform processing. After performing the processing, the thread exits the apartment so that the apartment may be occupied by another thread.
    Type: Grant
    Filed: January 31, 1995
    Date of Patent: January 30, 2001
    Assignee: Microsoft Corporation
    Inventors: Antonty S. Williams, Alexander A. Mitchell, Robert G. Atkinson, C. Douglas Hodges, Johann Posch, Craig H. 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: 5892904
    Abstract: A certification or signing method ensures the authenticity and integrity of a computer program, an executable file, or code received over a computer network. The method is used by a publisher or distributor to "sign" an executable file so it can be transmitted with confidence to a recipient over an open network like the Internet. The executable file may be of any executable form, including an executable or portable executable .exe file format, a .cab cabinet file format, an .ocx object control format, or a Java class file. The code signing method assures the recipient of the identity of the publisher as the source of file (i.e., its authenticity) and that the file has not been modified after being transmitted by the publisher (i.e., the integrity of the file).
    Type: Grant
    Filed: December 6, 1996
    Date of Patent: April 6, 1999
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Robert M. Price, Aaron M. Contorer
  • 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: 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: 5710928
    Abstract: Method and system for connecting link object to a link source. In a preferred embodiment, a source process registers the link source in a running object table when the link source enters a running state. When a consumer process subsequently puts a container object containing the link object in a running state, the consumer process determines if the link source is registered in the running object table. If the link source is registered in the running object table, then a connection is established between the link object and the link source. If, however, the link source is not registered, then the consumer process registers the link object in an alert object table. When a source process subsequently puts the link source in the running state, the source process determines if the link object is registered in the alert object table.
    Type: Grant
    Filed: December 13, 1995
    Date of Patent: January 20, 1998
    Assignee: Microsoft Corporation
    Inventor: Robert G. Atkinson
  • 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: 5701424
    Abstract: A computer system having a visual display which displays a Palladian menu is disclosed. The Palladian menu includes a circular portion and a rectangular portion. High-frequency commands may be placed as selectable command options within wedges of the circular portion of the Palladian menu, while the less frequent command options are placed in the rectangular portion of the menu. The Palladian menu is preferably a "pops up" menu, with the high-frequency commands specific and equal distance within the circular portion of the menu and located a specific and equal distance from the mouse pointer when the menu is initially selected.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: December 23, 1997
    Assignee: Microsoft Corporation
    Inventor: Robert G. Atkinson
  • 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
  • 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: 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: 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: 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