Patents by Inventor Martin Abadi

Martin Abadi 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: 20060265754
    Abstract: Systems and methods are provided for resource access control in computer systems. Our approach includes new techniques for composing and authenticating principals in an access control system. Our principals may comprise information that identifies the role of the user of a computer system, the mechanism by which the user was authenticated, and program execution history. Thus, when a principal makes a request, access control determinations can be made based on the principal's identity. Access control lists may provide patterns that are used to recognize principals, thereby ensuring a level of security without enumerating precise identifiers for all of the possible principles that may request a particular resource.
    Type: Application
    Filed: May 19, 2005
    Publication date: November 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Birrell, Edward Wobber, Martin Abadi
  • Publication number: 20060174077
    Abstract: Software memory access control is provided by associating instruction areas with memory areas such that instruction areas are not permitted to access memory areas with which they are not associated. Checks may be inserted in the instruction areas to ensure that data provided by a memory group is provided by an associated memory area. Additionally, control flow integrity for the instruction areas may be provided by embedding identifying bit patterns within computed control flow instructions contained in the instruction groups. In this way, control flow of the instruction areas may be provided, thus preventing diversion of control flow and minimizing required checks.
    Type: Application
    Filed: January 14, 2005
    Publication date: August 3, 2006
    Applicant: Microsoft Corporation
    Inventors: Martin Abadi, Ulfar Erlingsson, Jay Ligatti, Mihai-Dan Budiu
  • Publication number: 20060161978
    Abstract: Software control flow integrity is provided by embedding identifying bit patterns at computed control flow instruction sources and destinations. The sources and destinations of computed control flow instructions are determined with reference to a control flow graph. The identifying bit patterns are compared during software execution, and a match between a source and a respective destination ensures control flow consistent with the control flow graph. Security measures are implemented when the comparison results in a mismatch, indicating that control flow has deviated from the anticipated course.
    Type: Application
    Filed: January 14, 2005
    Publication date: July 20, 2006
    Applicant: Microsoft Corporation
    Inventors: Martin Abadi, Mihai-Dan Budiu, Ulfar Erlingsson, Jay Ligatti
  • Publication number: 20060123430
    Abstract: Described herein is an implementation of a technology for the construction, identification, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.
    Type: Application
    Filed: April 29, 2005
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, John DeTreville, Edward Wobber, Martin Abadi, Michael Jones, Trishul Chilimbi
  • Publication number: 20060123424
    Abstract: Described herein is an implementation of an inter-process communications technology. One or more implementations, described herein, facilitate creation of a bi-directional message conduit having exactly two endpoints. A first endpoint is owned by a first software process and a second endpoint is owned by a second software process. One or more implementations, described herein, maintain the bi-directional message conduit for passing multiple messages via the bi-directional message conduit from the first process to the second process, according to established rules that can be checked.
    Type: Application
    Filed: December 7, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, Manuel Fahndrich, Edward Wobber, Martin Abadi, John DeTreville
  • Publication number: 20060123417
    Abstract: Described herein is an implementation of a technology for the construction, identity, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.
    Type: Application
    Filed: December 6, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, John DeTreville, Edward Wobber, Martin Abadi, Michael Jones, Trishul Chilimbi
  • Publication number: 20060123418
    Abstract: Described herein is an implementation of a technology for the construction, identification, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.
    Type: Application
    Filed: April 29, 2005
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, John DeTreville, Edward Wobber, Martin Abadi, Michael Jones, Trishul Chilimbi
  • Publication number: 20040093371
    Abstract: A resource may be abused if its users incur little or no cost. For example, e-mail abuse is rampant because sending an e-mail has negligible cost for the sender. Such abuse may be discouraged by introducing an artificial cost in the form of a moderately expensive computation. Thus, the sender of an e-mail might be required to pay by computing for a few seconds before the e-mail is accepted. Unfortunately, because of sharp disparities across computer systems, this approach may be ineffective against malicious users with high-end systems, prohibitively slow for legitimate users with low-end systems, or both. Starting from this observation, we identify moderately hard, memory bound functions that most recent computer systems will evaluate at about the same speed, and we explain how to use them for protecting against abuses.
    Type: Application
    Filed: November 8, 2002
    Publication date: May 13, 2004
    Applicant: Microsoft Corporation.
    Inventors: Michael Burrows, Martin Abadi, Mark Steven Manasse, Edward P. Wobber, Daniel Ron Simon
  • Patent number: 6480502
    Abstract: A method for broadcasting packets in a network that includes a plurality of switches. The network can logically be represented by a spanning tree plus cross-links. In order to avoid deadlock during a broadcast, a broadcast packet is sent from an originating switch to a root switch of the network, and a copy of the packet is sent from a current switch to all descendant switches when all copies of the packet have been received in the current switch.
    Type: Grant
    Filed: May 15, 1998
    Date of Patent: November 12, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Martin Abadi, Thomas Lee Rodeheffer
  • Publication number: 20020150056
    Abstract: A method for broadcasting packets in a network that includes a plurality of switches. The network can logically be represented by a spanning tree plus cross-links. In order to avoid deadlock during a broadcast, a broadcast packet is sent from an originating switch to a root switch of the network, and a copy of the packet is sent from a current switch to all descendant switches when all copies of the packet have been received in the current switch.
    Type: Application
    Filed: February 15, 2002
    Publication date: October 17, 2002
    Inventors: Martin Abadi, Thomas Lee Rodeheffer
  • Patent number: 6253370
    Abstract: A method and apparatus annotates a computer program to facilitate subsequent processing of the program. Code representing the program is generated at a first computer system. Annotations are generated for the code that provide information about the code. At a second computer, the code is processed according to the information provided by the annotations. The annotations, for example, can indicate a control flow graph representing a flow of execution of the code. Also, the information provided by the annotations can be a register allocation that maps data structures of the code to registers of the second computer system. The second computer system can use such information to guide the interpreting of the code or to transform the code into a more optimized form. Other exemplary annotations can indicate that running the executable form of the code would perform an unauthorized operation at the second computer system.
    Type: Grant
    Filed: December 1, 1997
    Date of Patent: June 26, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Martin Abadi, Sanjay Ghemawat, Raymond Paul Stata
  • Patent number: 6195698
    Abstract: A computerized method selectively accepts access requests from a client computer connected to a server computer by a network. The server computer receives an access request from the client computer. In response, the server computer generates a predetermined number of random characters. The random characters are used to form a string in the server computer. The string is randomly modified either visually or audibly to form a riddle. The original string becomes the correct answer to the riddle. The server computer renders the riddle on an output device of the client computer. In response, the client computer sends an answer to the server. Hopefully, the answer is a user's guess for the correct answer. The server determines if the guess is the correct answer, and if so, the access request is accepted.
    Type: Grant
    Filed: April 13, 1998
    Date of Patent: February 27, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Mark D. Lillibridge, Martin Abadi, Krishna Bharat, Andrei Z. Broder
  • Patent number: 6141760
    Abstract: A computerized method is provided for generating passwords for password controlled access points. Provided are a master password, an access password, and a user name. The master password, the service name, and the user name are combined using an irreversible function to generate a unique password. The function can be a one-way hash function. The combining can be performed by a browser of a client computer. A similar combining can also be used to generate a user name from the master password and the user's real name.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: October 31, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Martin Abadi, Krishna Bharat, Johannes Marais
  • Patent number: 6079021
    Abstract: A computer implemented method provides access to processes and data using strengthened password. During an initialization phase, an access code is stored in a memory of a computer system. The access code is an application of a one-way hash function to a concatenation of a password and a password supplement. The size of the password supplement is a fixed number of bits. During operation of the system, a user enters a password, and the one-way hash function is applied to concatenations of the password and possible values having the size of the password supplement to yield trial access codes. Access is granted when one of the trial access codes is identical to the stored access code.
    Type: Grant
    Filed: June 2, 1997
    Date of Patent: June 20, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Martin Abadi, Roger Michael Needham, Thomas Mark Angus Lomas
  • Patent number: 5940619
    Abstract: In a computerized method, a computer program is analyzed while the program is interpreted. The program is expressed in a first memory as input values and functions. Some of the input values are complex values which can have a plurality of component values. Each function operates on combinations of the input values and the functions of the program. The program is interpreted in a processor connected to the first memory. The processor is also connected to a second memory to store result values produced during the interpretation. Selected input values, components of the complex values, and functions are named only if the selected values, components, and functions are necessary to produce a selected result value. For each function of the program, the function which is interpreted, the input values on which the function depends, and the result value produced by the function during interpretation, are recorded in the second memory to dynamically perform a precise dependency analysis of the program.
    Type: Grant
    Filed: October 25, 1996
    Date of Patent: August 17, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Martin Abadi, James J. Horning, Butler W. Lampson, Roy Levin, Jean-Jacques Levy, Yuan Yu
  • 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: 5315657
    Abstract: An access control list for determining the access rights of principals in a distributed system to a system resource is disclosed wherein the access rights of a specified principal are based on the access rights delegated to that principal.
    Type: Grant
    Filed: September 28, 1990
    Date of Patent: May 24, 1994
    Assignee: Digital Equipment Corporation
    Inventors: Martin Abadi, Andrew C. Goldstein, Butler W. Lampson
  • Patent number: 5268962
    Abstract: In a computer network, each pair of host computers that need to exchange data packets establish a single host-to-host encryption/decryption key. Then, whenever one host computer sends a data packet to the other host computer, it first forms a predefined logical combination of the established host-to-host key and the destination buffer index to which the data packet is being sent, and then uses the resulting value to encrypt the secure portions of the data packet. The destination buffer index is included in the data packet's header, which is not encrypted. When the receiving host computer receives the encrypted data packet, it reads the destination buffer index from the packet header, forms the same predefined logical combination of the established host-to-host key and the destination buffer index to generate a decryption key, and uses the computed decryption key to decrypt the secure portions of the received data packet.
    Type: Grant
    Filed: July 21, 1992
    Date of Patent: December 7, 1993
    Assignee: Digital Equipment Corporation
    Inventors: Martin Abadi, Michael Burrows, Butler Lampson
  • Patent number: 5235642
    Abstract: A distributed computer system has a number of computers coupled thereto at distinct nodes. The computer at each node of the distributed system has a trusted computing base that includes an authentication agent for authenticating requests received from principals at other nodes in the system. Requests are transmitted to servers as messages that include a first identifier provided by the requester and a second identifier provided by the authentication agent of the requester node. Each server process is provided with a local cache of authentication data that identifies requesters whose previous request messages have been authenticated. When a request is received, the server checks the request's first and second identifiers against the entries in its local cache. If there is a match, then the request is known to be authentic. Otherwise, the server node's authentication agent is called to obtain authentication credentials from the requester's node to authenticate the request message.
    Type: Grant
    Filed: July 21, 1992
    Date of Patent: August 10, 1993
    Assignee: Digital Equipment Corporation
    Inventors: Edward Wobber, Martin Abadi, Andrew Birrell, Butler Lampson
  • Patent number: 5173939
    Abstract: A distributed computer system has a number of computers coupled thereto at distinct nodes and a naming service with a membership table that defines a list of assumptions concerning which principals in the system are stronger than other principals, and which roles adopted by principals are stronger than other roles. Each object in the system has an access control list (ACL) having a list of entries. Each entry is either a simple principal or a compound principal. The set of allowed compound principals is limited to a predefined set of allowed combinations of simple principals, roles, delegations and conjunctions in accordance with a defined hierarchical ordering of the conjunction, delegation and role portions of each compound principal. The assumptions in the membership table reduce the number of entries needed in an ACL by allowing an entry to state only the weakest principals and roles that are to be allowed access.
    Type: Grant
    Filed: October 28, 1991
    Date of Patent: December 22, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Martin Abadi, Michael Burrows, Edward P. Wobber