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: 8201142Abstract: 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: GrantFiled: September 29, 2006Date of Patent: June 12, 2012Assignee: Microsoft CorporationInventors: Michael A. Isard, Andrew D. Birrell, Yuan Yu
-
Patent number: 7908265Abstract: 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: GrantFiled: February 19, 2008Date of Patent: March 15, 2011Assignee: Microsoft CorporationInventors: Martin Abadi, Andrew D. Birrell, Timothy L. Harris, Michael A. Isard, Johnson Hsieh
-
Patent number: 7660993Abstract: 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: GrantFiled: March 22, 2004Date of Patent: February 9, 2010Assignee: Microsoft CorporationInventors: Andrew D. Birrell, Michael Burrows, Edward Pearce Wobber
-
Publication number: 20090210457Abstract: 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: ApplicationFiled: February 19, 2008Publication date: August 20, 2009Applicant: MICROSOFT CORPORATIONInventors: Martin Abadi, Andrew D. Birrell, Timothy L. Harris, Michael A. Isard, Johnson Hsieh
-
Publication number: 20090204969Abstract: 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: ApplicationFiled: February 11, 2008Publication date: August 13, 2009Applicant: MICROSOFT CORPORATIONInventors: Martin Abadi, Andrew D. Birrell, Timothy L. Harris, Michael A. Isard, Johnson Ta-Chung Hsieh
-
Publication number: 20080082644Abstract: 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: ApplicationFiled: September 29, 2006Publication date: April 3, 2008Applicant: Microsoft CorporationInventors: Michael A. Isard, Andrew D. Birrell, Mihai-Dan Budiu, Yuan Yu, Dennis C. Fetterly
-
Publication number: 20080079724Abstract: 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: ApplicationFiled: September 29, 2006Publication date: April 3, 2008Applicant: MICROSOFT CORPORATIONInventors: Michael A. Isard, Andrew D. Birrell, Yuan Yu
-
Patent number: 6718321Abstract: 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: GrantFiled: February 6, 2001Date of Patent: April 6, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
-
Patent number: 6189026Abstract: 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: GrantFiled: June 16, 1997Date of Patent: February 13, 2001Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder, Christopher Melling, Simon Jaffer
-
Patent number: 6185551Abstract: 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: GrantFiled: June 16, 1997Date of Patent: February 6, 2001Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
-
Patent number: 6092101Abstract: 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: GrantFiled: June 16, 1997Date of Patent: July 18, 2000Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
-
Patent number: 6029164Abstract: 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: GrantFiled: June 16, 1997Date of Patent: February 22, 2000Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
-
Patent number: 6009462Abstract: 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: GrantFiled: June 16, 1997Date of Patent: December 28, 1999Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Michael Schroeder
-
Patent number: 5805803Abstract: 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: GrantFiled: May 13, 1997Date of Patent: September 8, 1998Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Martin Abadi, Raymond P. Stata
-
Patent number: 5446901Abstract: 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: GrantFiled: June 30, 1993Date of Patent: August 29, 1995Assignee: Digital Equipment CorporationInventors: Susan S. Owicki, Andrew D. Birrell, Charles G. Nelson, Edward P. Wobber
-
Patent number: 5088091Abstract: 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: GrantFiled: June 22, 1989Date of Patent: February 11, 1992Assignee: Digital Equipment CorporationInventors: Michael D. Schroeder, Roger M. Needham, Charles P. Thacker, Andrew D. Birrell, Thomas L. Rodeheffer, Edwin H. Satterthwaite, Jr., Hallam G. Murray, Jr.