Patents by Inventor John Philip MacCormick

John Philip MacCormick 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: 7483906
    Abstract: An efficient method for renaming consecutive keys in a B-tree representing a hierarchical namespace, such as a file system, has an estimated time efficiency of O(logN), where N is the number of nodes in the B-tree. All the consecutive keys to be renamed are first excised from the original B-tree to form a trimmed B-tree, and the excised nodes are stored in a separate temporary extracted B-tree. The nodes in extracted B-tree are then renamed, and the renamed extracted B-tree is inserted into the trimmed B-tree to form a final B-tree that contains the renamed keys.
    Type: Grant
    Filed: April 14, 2004
    Date of Patent: January 27, 2009
    Assignee: Microsoft Corporation
    Inventor: John Philip MacCormick
  • Publication number: 20080065704
    Abstract: A distributed data store employs replica placement techniques in which a number k hash functions are used to compute k potential locations for a data item. A number r of the k locations are chosen for storing replicas. These replica placement techniques provide a system designer with the freedom to choose r from k, are structured in that they are determined by a straightforward functional form, and are diffuse such that the replicas of the items on one server are scattered over many other servers. The resulting storage system exhibits excellent storage balance and request load balance in the presence of incremental system expansions, server failures, and load changes. Data items may be created, read, and updated or otherwise modified.
    Type: Application
    Filed: September 12, 2006
    Publication date: March 13, 2008
    Applicant: Microsoft Corporation
    Inventors: John Philip MacCormick, Nicholas Murphy, Venugopalan Ramasubramanian, Ehud Wieder, Lidong Zhou, Junfeng Yang
  • Patent number: 7027951
    Abstract: A method for calculating a probability distribution that represents probabilities of occurrence of time differences between causally related incoming messages and outgoing messages of a node in a system of communicating nodes is described. The method comprises obtaining a set of time differences between times at which incoming messages arrive at a node and times at which outgoing messages leave the node, the set of time differences including time differences between causally related incoming messages and outgoing messages and time differences between incoming messages and outgoing messages that are not causally related. The method also comprises processing the set of time differences using a statistical estimation algorithm to calculate the probability distribution that represents probabilities of occurrence of time differences between causally related incoming messages and outgoing messages. An apparatus configured to execute the methods is also described.
    Type: Grant
    Filed: October 18, 2004
    Date of Patent: April 11, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: John Philip MacCormick, Marcos Kawazoe Aguilera
  • Publication number: 20040243828
    Abstract: A system for protecting data integrity in a network attached block-device, such as a disk or a disk array, includes a capability issuer module coupled to a metadata server. The capability-issuer module creates capability data in accordance with a predetermined set of rules, and issues the capability data to the client over a secured channel. The capability data includes a group identifier, a capability identifier, a block-device identifier, a list of extents for specifying a range of blocks to which access is granted, an access mode for indicating the type of access allowed, and a cryptographic string for preventing forgery of capabilities by unauthorized parties. A capability checker module coupled to a network attached block-device verifies that the client's block access request is consistent with the capability data issued, and that the capability data is authentic. Upon verifying the client's capability data, the client's block access request is granted and executed at the network-attached block-device.
    Type: Application
    Filed: May 30, 2003
    Publication date: December 2, 2004
    Inventors: Marcos K. Aguilera, Minwen Ji, Mark Lillibridge, John Philip MacCormick, Erwin Oertli, David Godbe Andersen, Michael Burrows, Timothy P. Mann, Chandramohan A. Thekkath
  • Publication number: 20040243827
    Abstract: A method for managing access control of a resource includes storing a revocation list containing a list of revoked capabilities and their corresponding groups; storing a group list containing a list of valid groups; receiving a capability revocation request to revoke a specified capability; selecting a revocation method from among a plurality of revocation methods, including an individual capability revocation method and a group revocation method; revoking the specified capability by invalidating the group to which the specified capability belongs if the group revocation method is selected; and revoking the specified capability by invalidating only the specified capability if the individual capability revocation method is selected.
    Type: Application
    Filed: May 30, 2003
    Publication date: December 2, 2004
    Inventors: Marcos K. Aguilera, Minwen Ji, Mark David Lillibridge, John Philip MacCormick, Erwin Oertli, David Godbe Andersen, Michael Burrows, Timothy P. Mann, Chandramohan A. Thekkath