Patents by Inventor Andrew D. Birrell

Andrew D. Birrell 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: 8201142
    Abstract: A general purpose high-performance distributed execution engine can be used by developers to deploy large-scale distributed applications. To allow developers to easily make use of the distributed execution engine, a graph building language is proposed that enables developers to efficiently create graphs (e.g., direct acyclic graphs) that describe the subprograms to be executed and the flow of data between them. A job manager (or other appropriate entity) reads the description of the graph created with the graph building language, builds the graph based on that description, and intelligently distributes the subprograms according to the graph so that system resources are used efficiently. In one embodiment, the graph building language (and, thus, the description of the graph) includes syntax for replication, pointwise connect, cross connect and merge.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventors: Michael A. Isard, Andrew D. Birrell, Yuan Yu
  • Patent number: 7908265
    Abstract: Strong semantics are provided to programs that are correctly synchronized in their use of transactions by using dynamic separation of objects that are accessed in transactions from those accessed outside transactions. At run-time, operations are performed to identify transitions between these protected and unprotected modes of access. Dynamic separation permits a range of hardware-based and software-based implementations which allow non-conflicting transactions to execute and commit in parallel. A run-time checking tool, analogous to a data-race detector, may be provided to test dynamic separation of transacted data and non-transacted data. Dynamic separation may be used in an asynchronous I/O library.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: March 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Martin Abadi, Andrew D. Birrell, Timothy L. Harris, Michael A. Isard, Johnson Hsieh
  • Patent number: 7660993
    Abstract: Methods and systems are provided for a cancellation server maintaining a database of identifiers of cryptographic puzzles. A cryptographic puzzle is created from a unique identifier and a timestamp, and is attached to an electronic mail message, along with the puzzle's solution. The recipient verifies that the solution is correct and that the timestamp is current, and further queries the cancellation server with the puzzle identifier. If the identifier does not exist in the database, then the recipient knows the received message is legitimate. If the identifier already appears in the database, the received message can be automatically removed from the recipient's computer.
    Type: Grant
    Filed: March 22, 2004
    Date of Patent: February 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew D. Birrell, Michael Burrows, Edward Pearce Wobber
  • Publication number: 20090210457
    Abstract: Strong semantics are provided to programs that are correctly synchronized in their use of transactions by using dynamic separation of objects that are accessed in transactions from those accessed outside transactions. At run-time, operations are performed to identify transitions between these protected and unprotected modes of access. Dynamic separation permits a range of hardware-based and software-based implementations which allow non-conflicting transactions to execute and commit in parallel. A run-time checking tool, analogous to a data-race detector, may be provided to test dynamic separation of transacted data and non-transacted data. Dynamic separation may be used in an asynchronous I/O library.
    Type: Application
    Filed: February 19, 2008
    Publication date: August 20, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Martin Abadi, Andrew D. Birrell, Timothy L. Harris, Michael A. Isard, Johnson Hsieh
  • Publication number: 20090204969
    Abstract: Strong semantics are provided to programs that are correctly synchronized in their use of transactions by using dynamic separation of objects that are accessed in transactions from those accessed outside transactions. At run-time, operations are performed to identify transitions between these protected and unprotected modes of access. Dynamic separation permits a range of hardware-based and software-based implementations which allow non-conflicting transactions to execute and commit in parallel. A run-time checking tool, analogous to a data-race detector, may be provided to test dynamic separation of transacted data and non-transacted data. Dynamic separation may be used in an asynchronous I/O library.
    Type: Application
    Filed: February 11, 2008
    Publication date: August 13, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Martin Abadi, Andrew D. Birrell, Timothy L. Harris, Michael A. Isard, Johnson Ta-Chung Hsieh
  • Publication number: 20080082644
    Abstract: A general purpose high-performance distributed execution engine for coarse-grained data-parallel applications is proposed that allows developers to easily create large-scale distributed applications without requiring them to master concurrency techniques beyond being able to draw a graph of the data-dependencies of their algorithms. Based on the graph, a job manager intelligently distributes the work load so that system resources are used efficiently. The system is designed to scale from a small cluster of a few computers, or the multiple CPU cores on a powerful single computer, up to a data center containing thousands of servers.
    Type: Application
    Filed: September 29, 2006
    Publication date: April 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Michael A. Isard, Andrew D. Birrell, Mihai-Dan Budiu, Yuan Yu, Dennis C. Fetterly
  • Publication number: 20080079724
    Abstract: A general purpose high-performance distributed execution engine can be used by developers to deploy large-scale distributed applications. To allow developers to easily make use of the distributed execution engine, a graph building language is proposed that enables developers to efficiently create graphs (e.g., direct acyclic graphs) that describe the subprograms to be executed and the flow of data between them. A job manager (or other appropriate entity) reads the description of the graph created with the graph building language, builds the graph based on that description, and intelligently distributes the subprograms according to the graph so that system resources are used efficiently. In one embodiment, the graph building language (and, thus, the description of the graph) includes syntax for replication, pointwise connect, cross connect and merge.
    Type: Application
    Filed: September 29, 2006
    Publication date: April 3, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael A. Isard, Andrew D. Birrell, Yuan Yu
  • Patent number: 6718321
    Abstract: In a computerized distributed mail system, a plurality of client computers are connected to each other via a network. Each client computer is configured to execute client mail application programs. A mail service system is also connected to the network. The system is for executing server mail programs on server computers. The mail service system includes an index server for storing mail messages in message files, and for storing a full-text index of the mail messages. In addition, the system includes means for accessing the mail messages by the plurality of client computers by searching the full-text index using queries.
    Type: Grant
    Filed: February 6, 2001
    Date of Patent: April 6, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
  • Patent number: 6189026
    Abstract: In a computer implemented method an address book is dynamically generated in a distributed mail service system. The distributed mail service system includes a plurality of client computers connected to a mail service system via a network. Mail messages are stored in message files of the mail service system. Each mail message is parsed and indexed to generate a full-text index of the mail service system. An address book mail message is generated, each address book mail message including address information. The address book mail messages are stored in the message files, and parsed and indexed into the full-text index file. A query is composed using a particular one of the plurality of client computer systems to search the full-text index to locate and retrieve selected ones of the address book mail messages as the dynamic address book.
    Type: Grant
    Filed: June 16, 1997
    Date of Patent: February 13, 2001
    Assignee: Digital Equipment Corporation
    Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder, Christopher Melling, Simon Jaffer
  • Patent number: 6185551
    Abstract: In a computerized distributed mail system, a plurality of client computers are connected to each other via a network. Each client computer is configured to execute client mail application programs. A mail service system is also connected to the network. The system is for executing server mail programs on server computers. The mail service system includes an index server for storing mail messages in message files, and for storing a full-text index of the mail messages. In addition, the system includes means for accessing the mail messages by the plurality of client computers by searching the full-text index using queries.
    Type: Grant
    Filed: June 16, 1997
    Date of Patent: February 6, 2001
    Assignee: Digital Equipment Corporation
    Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
  • Patent number: 6092101
    Abstract: A computer implemented method for filtering mail messages in a distributed computer system. The distributed mail service system includes a plurality of client computers connected to a mail service system via a network. Mail messages are stored in message files of the mail service system. Each mail message is parsed and indexed to generate a full-text index of the mail service system. A query is composed, the query includes terms and operators. The query is stored in the mail service system as a named filter query. A new mail message received by the mail service system is parsed, indexed and searched to determine if the content of the new mail message does not match on the named filter query, in which case an inbox label and an unread label to the new mail message.
    Type: Grant
    Filed: June 16, 1997
    Date of Patent: July 18, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
  • Patent number: 6029164
    Abstract: In a computerized method for labeling data records, data records are received in an index server. The records are parsed into words, and the words are stored in a full-text index. Labels are added to the data records and the full-text index. The data records are accessed by searching the full-text index using queries including the words and the labels of the data records. Labels can be removed from the full-text index.
    Type: Grant
    Filed: June 16, 1997
    Date of Patent: February 22, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
  • Patent number: 6009462
    Abstract: A computer implemented method for down-loading mail messages in a distributed computer system. The distributed mail service system includes a plurality of client computers connected to a mail service system via a network. Mail messages are stored in message files of the mail service system, a particular mail message includes a primary component encoded in a first format, and at least one secondary component encoded in a second format different than the first component. The particular mail message is requested by a particular one of the plurality of client computer systems. The secondary component is replaced with a hot-link. The primary component and the hot-link are sent to the particular client computer.
    Type: Grant
    Filed: June 16, 1997
    Date of Patent: December 28, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
  • Patent number: 5805803
    Abstract: In a computer implemented method, a client computer connected to a public network such as the Internet makes a request for an intranet resource to a tunnel of a firewall isolating the intranet from the Internet. The request is made in a public message. The tunnel sends a message to the client computer to redirect to a proxy server of the tunnel. The client computer send a token and the request for the resource the proxy server. If the token is valid, the request is forwarded to the intranet, otherwise, the user of the client computer must first be authenticated.
    Type: Grant
    Filed: May 13, 1997
    Date of Patent: September 8, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Andrew D. Birrell, Edward P. Wobber, Martin Abadi, Raymond P. Stata
  • Patent number: 5446901
    Abstract: A distributed computer system includes a multiplicity of concurrently active processes. Each object is owned by one process. Objects are accessible to processes other than the object's owner. Each process, when it receives a handle to an object owned by any other process, sends a first "dirty" message to the object's owner indicating that the object is in use. When a process permanently ceases use of an object handle, it sends a second "clean" message to the object's owner indicating that the object is no longer in use. Each object's owner receives the first and second messages concerning usage of that object, stores data for keeping track of which other processes have a handle to that object and sends acknowledgement messages in return. The receiver of an object handle does not use the handle until its first message is acknowledged.
    Type: Grant
    Filed: June 30, 1993
    Date of Patent: August 29, 1995
    Assignee: Digital Equipment Corporation
    Inventors: Susan S. Owicki, Andrew D. Birrell, Charles G. Nelson, Edward P. Wobber
  • Patent number: 5088091
    Abstract: A mesh connected local area network provides automatic packet switching and routing between host computers coupled to the network. The network has a multiplicity of cut-through, nonblocking switches, each capable of simultaneously routing a multiplicity of data packets. Low host-to-host latency is achieved through the use of cut-through switches with separate internal buffers for each packet being routed. The switches are interconnected with one another and are coupled to the host computers of the network by point to point full duplex links. While each switch can be coupled to ten or more network members, i.e., switches and hosts, each link is coupled to only two network members and is dedicated to carrying signals therebetween. Whenever a new switch or link is added to the network, and whenever a switch or link fails, the switches in the network automatically reconfigure the network by recomputing the set of legal paths through the network.
    Type: Grant
    Filed: June 22, 1989
    Date of Patent: February 11, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Michael D. Schroeder, Roger M. Needham, Charles P. Thacker, Andrew D. Birrell, Thomas L. Rodeheffer, Edwin H. Satterthwaite, Jr., Hallam G. Murray, Jr.