Patents by Inventor Butler Lampson

Butler Lampson 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: 9940106
    Abstract: There is provided a method and system for generating a program. The method includes detecting a number of steps for performing a task on a computing device and detecting an example relating to each of the steps, wherein the example includes input data and corresponding output data relating to the step. The method also includes, for each example, determining a rule that transforms the input data to the corresponding output data based on cues including textual features within the input data and the corresponding output data. The method further includes generating a program for performing the task based on the rules.
    Type: Grant
    Filed: June 21, 2016
    Date of Patent: April 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Adam Kalai, Butler Lampson, Sumit Gulwani, Aditya Krishna Menon, Omer Tamuz
  • Publication number: 20160299744
    Abstract: There is provided a method and system for generating a program. The method includes detecting a number of steps for performing a task on a computing device and detecting an example relating to each of the steps, wherein the example includes input data and corresponding output data relating to the step. The method also includes, for each example, determining a rule that transforms the input data to the corresponding output data based on cues including textual features within the input data and the corresponding output data. The method further includes generating a program for performing the task based on the rules.
    Type: Application
    Filed: June 21, 2016
    Publication date: October 13, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Adam Kalai, Butler Lampson, Sumit Gulwani, Aditya Krishna Menon, Omer Tamuz
  • Patent number: 9400639
    Abstract: There is provided a method and system for generating a program. The method includes detecting a number of steps for performing a task on a computing device and detecting an example relating to each of the steps, wherein the example includes input data and corresponding output data relating to the step. The method also includes, for each example, determining a rule that transforms the input data to the corresponding output data based on cues including textual features within the input data and the corresponding output data. The method further includes generating a program for performing the task based on the rules.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: July 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Adam Kalai, Butler Lampson, Sumit Gulwani, Aditya Krishna Menon, Omer Tamuz
  • Publication number: 20130346982
    Abstract: There is provided a method and system for generating a program. The method includes detecting a number of steps for performing a task on a computing device and detecting an example relating to each of the steps, wherein the example includes input data and corresponding output data relating to the step. The method also includes, for each example, determining a rule that transforms the input data to the corresponding output data based on cues including textual features within the input data and the corresponding output data. The method further includes generating a program for performing the task based on the rules.
    Type: Application
    Filed: June 22, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Adam Kalai, Butler Lampson, Sumit Gulwani, Aditya Krishna Menon, Omer Tamuz
  • Publication number: 20080244736
    Abstract: Access control as it relates to policies or permissions is provided based on a created model. A security policy is abstracted and can be independent of a mechanism used to protect resources. An asbstract model of a potential user, user role and/or resource is created without associating a specific individual and/or resource with a model. These abstract user models and abstract resource models can be used across applications or within disparate applications. The abstracted security policies can be selectively applied to the model. Specific users and/or resources can be associated with one or more abstract user model or abstract resource model. The models can be nested to provide configurations for larger systems.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Butler Lampson, Ravindra Nath Pandya, Paul J. Leach, Muthukrishnan Paramasivam, Carl M. Ellison, Charles William Kaufman
  • Publication number: 20070118769
    Abstract: In accordance with certain aspects, a chain of trust is established between a subscriber unit and a content provider. A request is submitted from the subscriber unit to the content provider. A challenge nonce is generated at the content provider and returned to the subscriber unit. At the subscriber unit, an operating system (OS) certificate containing an identity of the operating system from the software identity register, information describing the operating system, the challenge nonce, and a CPU public key is formed, and the OS certificate is signed using a CPU private key. The OS certificate and a CPU manufacturer certificate supplied by a manufacturer of the CPU are passed from the subscriber unit to the content provider, and are evaluated at the content provider to determine whether to reject or fulfill the request.
    Type: Application
    Filed: December 22, 2006
    Publication date: May 24, 2007
    Applicant: Microsoft Corporation
    Inventors: Paul England, John DeTreville, Butler Lampson
  • Publication number: 20070118738
    Abstract: In accordance with certain aspects, a computer system has a central processing unit (CPU) and an operating system (OS), the CPU having a pair of private and public keys and a software identity register that holds an identity of the operating system. An OS certificate is created including the identity from the software identity register, information describing the operating system, and the CPU public key. The created OS certificate is signed using the CPU private key.
    Type: Application
    Filed: December 22, 2006
    Publication date: May 24, 2007
    Applicant: Microsoft Corporation
    Inventors: Paul England, John DeTreville, Butler Lampson
  • Publication number: 20070104329
    Abstract: In accordance with certain aspects, an operating system is booted for execution on a central processing unit (CPU). An atomic operation is executed, and if the atomic operation completes correctly then a software identity register of the CPU is set to an identity of the operating system.
    Type: Application
    Filed: December 22, 2006
    Publication date: May 10, 2007
    Applicant: Microsoft Corporation
    Inventors: Paul England, John Detreville, Butler Lampson
  • Publication number: 20060253699
    Abstract: A distributed security system is provided. The distributed security system uses a security policy that is written in a policy language that is transport and security protocol independent as well as independent of cryptographic technologies. This security policy can be expressed using the language to create different security components allowing for greater scalability and flexibility. By abstracting underlying protocols and technologies, multiple environments and platforms can be supported.
    Type: Application
    Filed: October 20, 2005
    Publication date: November 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Giovanni Della-Libera, Christopher Kaler, Scott Konersmann, Butler Lampson, Paul Leach, Bradford Lovering, Steven Lucco, Stephen Millet, Richard Rashid, John Shewchuk
  • Publication number: 20060253700
    Abstract: A distributed security system is provided. The distributed security system uses a security policy that is written in a policy language that is transport and security protocol independent as well as independent of cryptographic technologies. This security policy can be expressed using the language to create different security components allowing for greater scalability and flexibility. By abstracting underlying protocols and technologies, multiple environments and platforms can be supported.
    Type: Application
    Filed: October 20, 2005
    Publication date: November 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Giovanni Della-Libera, Christopher Kaler, Scott Konersmann, Butler Lampson, Paul Leach, Bradford Lovering, Steven Lucco, Stephen Millet, Richard Rashid, John Shewchuk
  • Publication number: 20060041929
    Abstract: A distributed security system is provided. The distributed security system uses a security policy that is written in a policy language that is transport and security protocol independent as well as independent of cryptographic technologies. This security policy can be expressed using the language to create different security components allowing for greater scalability and flexibility. By abstracting underlying protocols and technologies, multiple environments and platforms can be supported.
    Type: Application
    Filed: October 20, 2005
    Publication date: February 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Giovanni Della-Libera, Christopher Kaler, Scott Konersmann, Butler Lampson, Paul Leach, Bradford Lovering, Steven Lucco, Stephen Millet, Richard Rashid, John Shewchuk
  • Publication number: 20060041743
    Abstract: A distributed security system is provided. The distributed security system uses a security policy that is written in a policy language that is transport and security protocol independent as well as independent of cryptographic technologies. This security policy can be expressed using the language to create different security components allowing for greater scalability and flexibility. By abstracting underlying protocols and technologies, multiple environments and platforms can be supported.
    Type: Application
    Filed: October 20, 2005
    Publication date: February 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Giovanni Della-Libera, Christopher Kaler, Scott Konersmann, Butler Lampson, Paul Leach, Bradford Lovering, Steven Lucco, Stephen Millet, Richard Rashid, John Shewchuk
  • Publication number: 20060021064
    Abstract: A one-way hash function is applied to a seed supplied by an application to produce a hashed seed that is used to generate the application storage key. A one-way hash function is applied to a seed supplied by a user to produce a first hashed seed that is passed to a keyed hash function, which is keyed to an identity for the user, to produce a second hashed seed. The second hashed seed is used to generate the user storage key. An operating system storage key is generated from an unhashed seed. One of the storage keys is used to encrypt the downloaded content. An access predicate attached to the content when it is downloaded is associated with the storage key to enforce certain limitations on the access of the content.
    Type: Application
    Filed: September 7, 2005
    Publication date: January 26, 2006
    Applicant: Microsoft Corporation
    Inventors: Paul England, John DeTreville, Butler Lampson
  • Publication number: 20050289067
    Abstract: In one aspect, a data structure to be encrypted is received in a device, the data structure including content along with a statement of conditions under which the content may be decrypted. The data structure is encrypted using a symmetric key of a processor of the device. In another aspect, a data structure is decrypted using a processor symmetric key. A statement of conditions under which content in the data structure can be decrypted is obtained, and testing is performed as to whether the conditions are satisfied. The decrypted content is returned only if the conditions are satisfied.
    Type: Application
    Filed: August 19, 2005
    Publication date: December 29, 2005
    Applicant: Microsoft Corporation
    Inventors: Butler Lampson, John De Treville, Paul England
  • Publication number: 20050235362
    Abstract: An architecture for protecting premium content in a nonsecure computer environment executes only a small number of code modules in a secure memory. The modules are arranged in a hierarchy of trust, where a module names other modules that it is willing to trust, and those modules in turn name other modules that they are willing to trust. A secure loader loads a security manager that oversees a number of content-providing modules for manipulating the content. A memory manager assigns permissions to various pages of the secure memory. The memory has rings of different security. The security model can be extended to program modules and other devices on the computer's bus, such as DMA controllers and peripherals.
    Type: Application
    Filed: December 20, 2004
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Paul England, Butler Lampson
  • Publication number: 20050097355
    Abstract: An architecture for protecting premium content in a nonsecure computer environment executes only a small number of code modules in a secure memory. The modules are arranged in a hierarchy of trust, where a module names other modules that it is willing to trust, and those modules in turn name other modules that they are willing to trust. A secure loader loads a security manager that oversees a number of content-providing modules for manipulating the content. A memory manager assigns permissions to various pages of the secure memory. The memory has rings of different security. The security model can be extended to program modules and other devices on the computer's bus, such as DMA controllers and peripherals.
    Type: Application
    Filed: December 13, 2004
    Publication date: May 5, 2005
    Applicant: Microsoft Corporation
    Inventors: Paul England, Butler Lampson
  • Publication number: 20050060549
    Abstract: Digital rights for content downloaded to a subscriber computer from a provider are specified in an access predicate. The access predicate is compared with a rights manager certificate associated with an entity, such as an application, that wants access to the content. If the rights manager certificate satisfies the access predicate, the entity is allowed access to the content. A license that specifies limitations on the use of the content can also be associated with the content and provided to the entity. The use the entity makes of the content is monitored and terminated if the entity violates the license limitations. In one aspect of the invention, the access predicate and the license are protected from tampering through cryptographic techniques.
    Type: Application
    Filed: October 25, 2004
    Publication date: March 17, 2005
    Applicant: Microsoft Corporation
    Inventors: Paul England, John DeTreville, Butler Lampson
  • Publication number: 20050025363
    Abstract: A user interface allows a user to input handwritten, key-press, and spoken text in a seamless, synchronized manner. A text input panel accepts soft keyboard presses and handwritten words, characters, and gestures. A text recognizer/synchronizer integrates textual input from various sources while recognizing and preserving the order in which a user entered text via the soft keyboard, via handwriting, and/or by speaking. Synchronized text may be displayed in a stage area of the text input panel before being passed to an operating system message router and/or an application program. While in handwriting recognition mode, various permutations and combinations of a word recognition area, a character recognition area, and a keybar/keypad may optionally be displayed.
    Type: Application
    Filed: August 30, 2004
    Publication date: February 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Charlton Lui, Charles Thacker, James Mathews, Leroy Keely, David Switzer, William Vong, Butler Lampson
  • Patent number: 6145056
    Abstract: Entries are cached in a function cache by statically assigning a primary key to each cache entry, and first grouping entries having identical primary keys, and dynamically assigning a secondary key to each cache entry, and then second grouping entries in each primary key group into sub-groups according to their secondary keys. The function cache is first accessed with a particular primary key to get the primary key group. Second, the primary key group is accessed with a particular secondary key to get a sub-group, and third, the sub-group is accessed with the same particular secondary key to get a matching cache entry.
    Type: Grant
    Filed: June 8, 1998
    Date of Patent: November 7, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Clark Allan Heydon, Roy Levin, Butler Lampson
  • Patent number: 5488716
    Abstract: A fault-tolerant computer system has primary and backup computers. Primary and backup virtual machines running on the computers are controlled by corresponding virtual machine monitors. The virtual machines execute only user-mode instructions, while all kernel-mode instructions are trapped and handled by the virtual machine monitors. Each computer has a recovery register that generates a hardware interrupt each time that a specified number of instructions, called an epoch, are executed. Prior to failure of the primary computer, the backup computer's virtual machine monitor converts all I/O instructions into no-ops and the primary computer sends copies of all I/O interrupts to the backup computer.
    Type: Grant
    Filed: January 14, 1994
    Date of Patent: January 30, 1996
    Assignee: Digital Equipment Corporation
    Inventors: Fred B. Schneider, Butler Lampson, Edward Balkovich, David Thiel