Patents by Inventor Colin Stebbins Gordon

Colin Stebbins Gordon 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: 9286039
    Abstract: A front-end compiler compiles source code into intermediate code, that may later be compiled into binary code. The source code defines an execution scope and includes a contract. When a contract is encountered at runtime of an execution scope, further execution of that execution scope is conditioned on whether a predicate associated with the contract is true. The front-end compiler operates so as to preserve the contract so that the contract continues to be semantically structured such that the predicate may be removed from the intermediate language code. The contract may thus continue to be understood by semantic analysis of the contract. Thus, the predicate may be understood by static analysis tools that operate on the intermediate code.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Jared Porter Parsons, Colin Stebbins Gordon, Alexander Daniel Bromfield, Martin Taillefer, David Allen Bartolomeo, Michael Barnett
  • Publication number: 20140282448
    Abstract: A front-end compiler compiles source code into intermediate code, that may later be compiled into binary code. The source code defines an execution scope and includes a contract. When a contract is encountered at runtime of an execution scope, further execution of that execution scope is conditioned on whether a predicate associated with the contract is true. The front-end compiler operates so as to preserve the contract so that the contract continues to be semantically structured such that the predicate may be removed from the intermediate language code. The contract may thus continue to be understood by semantic analysis of the contract. Thus, the predicate may be understood by static analysis tools that operate on the intermediate code.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: John J. Duffy, Jared Porter Parsons, Colin Stebbins Gordon, Alexander Daniel Bromfield, Martin Taillefer, David Allen Bartolomeo, Michael Barnett
  • Patent number: 8370401
    Abstract: An apparatus and method for merging the data of a first container and a second container into a target container that includes at least one block having a plurality of extents to store data objects. The apparatus may include a storage sever coupled to a plurality of storage devices. The storage server is configured to merge multiple data objects of the plurality of containers that store a data object per each container into a target container that stores multiple data objects within the target container.
    Type: Grant
    Filed: October 26, 2010
    Date of Patent: February 5, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer
  • Publication number: 20110040795
    Abstract: An apparatus and method for merging the data of a first container and a second container into a target container that includes at least one block having a plurality of extents to store data objects. The apparatus may include a storage sever coupled to a plurality of storage devices. The storage server is configured to merge multiple data objects of the plurality of containers that store a data object per each container into a target container that stores multiple data objects within the target container.
    Type: Application
    Filed: October 26, 2010
    Publication date: February 17, 2011
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer
  • Patent number: 7827201
    Abstract: An apparatus and method for referencing physical location of data objects stored within a logical container. The method may include receiving an access request from a client for a particular data object stored in a logical container having a plurality of data objects stored collectively in the logical container, and referencing a physical location of the particular data object within the logical container in response to the access request. The logical container includes at least one block, and each block of the logical container includes multiple extents to store data from at least one data object. The block is a fundamental unit of storage space.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer
  • Patent number: 7739312
    Abstract: An apparatus and method for containerization of multiple data objects within a block of a single container. The apparatus and method may pack multiple data objects together in a block of a logical container in a file system. The method may include receiving data in the form of multiple data objects to be stored in a file system, and collectively data packing the multiple data objects together in at least one block of a logical container in the file system. The block is a fundamental unit of storage space of the file system, and each block of the logical container includes multiple extents to store data from at least one data object of the multiple objects. The apparatus may include a plurality of storage devices coupled to a storage server. The storage server is configured to store the multiple data objects in at least one block of the logical container in the file system. Some data objects may be stored in multiple extents of one or more blocks depending on the size of the data object.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: June 15, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer
  • Publication number: 20080270461
    Abstract: An apparatus and method for containerization of multiple data objects within a block of a single container. The apparatus and method may pack multiple data objects together in a block of a logical container in a file system. The method may include receiving data in the form of multiple data objects to be stored in a file system, and collectively data packing the multiple data objects together in at least one block of a logical container in the file system. The block is a fundamental unit of storage space of the file system, and each block of the logical container includes multiple extents to store data from at least one data object of the multiple objects. The apparatus may include a plurality of storage devices coupled to a storage server. The storage server is configured to store the multiple data objects in at least one block of the logical container in the file system. Some data objects may be stored in multiple extents of one or more blocks depending on the size of the data object.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Applicant: Network Appliance, Inc.
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer