Patents by Inventor David R. Cheriton

David R. Cheriton 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: 10243855
    Abstract: Improved utilization of connections that can be either available or blocked is provided by associating an atemporal connection state with each connection. If a connection is available, messages are transmitted on the connection normally. If a connection is blocked, the atemporal connection state is updated to reflect the changes that were made but not transmitted. In this manner, a record is kept that allows correct transmission of the information when the connection comes back up. More specifically, after a connection status changes from blocked to available, recovery messages are automatically generated from the atemporal connection state and transmitted on the connection.
    Type: Grant
    Filed: December 7, 2016
    Date of Patent: March 26, 2019
    Assignee: OptumSoft, Inc.
    Inventors: David R. Cheriton, Hugh W. Holbrook
  • Publication number: 20190012223
    Abstract: Logging includes: obtaining an event designating message (EDM) comprising: a set of keys, or a type of designation corresponding to the set of keys, or both; looking up a set of values associated with the set of keys in a key-value store storing a plurality of keys and their corresponding values; constructing an event using the set of keys and values corresponding to the set of keys; and outputting the constructed event.
    Type: Application
    Filed: July 17, 2018
    Publication date: January 10, 2019
    Inventor: David R. Cheriton
  • Patent number: 10061629
    Abstract: Logging includes: obtaining an event designating message (EDM) comprising: a set of keys, or a type of designation corresponding to the set of keys, or both; looking up a set of values associated with the set of keys in a key-value store storing a plurality of keys and their corresponding values; constructing an event using the set of keys and values corresponding to the set of keys; and outputting the constructed event.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: August 28, 2018
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Patent number: 10025572
    Abstract: Simplified handling of dynamic collections having a variable number of elements at run time is achieved by providing for specification of collective properties of dynamic collections by a programmer. Such collective properties are distinct from type-member properties of the collection that follow from the types and type qualifiers of its members. Preferably, such dynamic collections are attributes (i.e., members) of an application defined type.
    Type: Grant
    Filed: September 1, 2015
    Date of Patent: July 17, 2018
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Publication number: 20180196752
    Abstract: Accessing a hybrid memory using a translation line is disclosed. The hybrid memory comprises a first portion. The translation line maps a first physical memory address to a first line in the first portion. Said mapping provides an indication that the first line is not immediately accessible in the first portion.
    Type: Application
    Filed: January 3, 2018
    Publication date: July 12, 2018
    Inventor: David R. Cheriton
  • Patent number: 9952972
    Abstract: Loading data from a computer memory system is disclosed. A memory system is provided, wherein some or all data stored in the memory system is organized as one or more pointer-linked data structures. One or more iterator registers are provided. A first pointer chain is loaded, having two or more pointers leading to a first element of a selected pointer-linked data structure to a selected iterator register. A second pointer chain is loaded, having two or more pointers leading to a second element of the selected pointer-linked data structure to the selected iterator register. The loading of the second pointer chain reuses portions of the first pointer chain that are common with the second pointer chain. Modifying data stored in a computer memory system is disclosed. A memory system is provided. One or more iterator registers are provided, wherein the iterator registers each include two or more pointer fields for storing two or more pointers that form a pointer chain leading to a data element.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: April 24, 2018
    Assignee: Intel Corporation
    Inventors: David R. Cheriton, Amin Firoozshahian, Alexandre Y. Solomatnikov
  • Publication number: 20180101322
    Abstract: Providing data security includes: in response to a request to write data content to a storage, generating encrypted data content based on the data content; attempting to obtain a reference to the encrypted data content in the storage; in the event that the reference to the encrypted data content is obtained, modifying a translation line to refer to the reference to the encrypted data content in the storage; and in the event that the reference to the encrypted data content is not obtained: storing the encrypted data content at a new location; obtaining a reference to the encrypted data content stored at the new location; and modifying the translation line to refer to the reference to the encrypted data content stored at the new location.
    Type: Application
    Filed: October 16, 2017
    Publication date: April 12, 2018
    Inventor: DAVID R. CHERITON
  • Patent number: 9898410
    Abstract: Accessing a hybrid memory using a translation line is disclosed. The hybrid memory comprises a first portion. The translation line maps a first physical memory address to a first line in the first portion. Said mapping provides an indication that the first line is not immediately accessible in the first portion.
    Type: Grant
    Filed: September 8, 2014
    Date of Patent: February 20, 2018
    Assignee: Intel Corporation
    Inventor: David R. Cheriton
  • Patent number: 9870824
    Abstract: Loading data from a computer memory system is disclosed. A memory system is provided, wherein some or all data stored in the memory system is organized as one or more pointer-linked data structures. One or more iterator registers are provided. A first pointer chain is loaded, having two or more pointers leading to a first element of a selected pointer-linked data structure to a selected iterator register. A second pointer chain is loaded, having two or more pointers leading to a second element of the selected pointer-linked data structure to the selected iterator register. The loading of the second pointer chain reuses portions of the first pointer chain that are common with the second pointer chain. Modifying data stored in a computer memory system is disclosed. A memory system is provided. One or more iterator registers are provided, wherein the iterator registers each include two or more pointer fields for storing two or more pointers that form a pointer chain leading to a data element.
    Type: Grant
    Filed: March 16, 2017
    Date of Patent: January 16, 2018
    Assignee: Intel Corporation
    Inventors: David R. Cheriton, Amin Firoozshahian, Alexandre Y. Solomatnikov
  • Patent number: 9804963
    Abstract: A method for managing memory, comprising: maintaining a strong reference count for a first object; establishing a first reference from the first object to a second object; establishing a second reference from the second object to the first object, wherein the second reference is a weak reference that does not increase the strong reference count of the first object; detecting that the strong reference count of the first object has reached zero; in response to detecting that the strong reference count has reached zero, invoking a corresponding action.
    Type: Grant
    Filed: January 15, 2016
    Date of Patent: October 31, 2017
    Assignee: Intel Corporation
    Inventor: David R. Cheriton
  • Patent number: 9805088
    Abstract: Efficient processing of concurrent atomic transactions is provided by identifying the constraints that need to be satisfied for correct application behavior. With these constraints identified, commit processing for a transaction can then refer to the constraints to see if committing the current transaction causes a problem with the constraints. If there is a conflict with the constraints, the transaction aborts. If there is no conflict with the constraints, the transaction commits.
    Type: Grant
    Filed: March 11, 2016
    Date of Patent: October 31, 2017
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Patent number: 9798630
    Abstract: Providing a snapshot of a physical memory region as of a specified time includes: sending, from a first processor to a second processor, a request to generate a snapshot of the physical memory region as of the specified time; and generating, using the second processor, the snapshot of the physical memory region based at least in part on a known state of the physical memory region and log information about update activity of the physical memory region.
    Type: Grant
    Filed: February 11, 2014
    Date of Patent: October 24, 2017
    Assignee: Intel Corporation
    Inventor: David R. Cheriton
  • Patent number: 9792063
    Abstract: Providing data security includes: in response to a request to write data content to a storage, generating encrypted data content based on the data content; attempting to obtain a reference to the encrypted data content in the storage; in the event that the reference to the encrypted data content is obtained, modifying a translation line to refer to the reference to the encrypted data content in the storage; and in the event that the reference to the encrypted data content is not obtained: storing the encrypted data content at a new location; obtaining a reference to the encrypted data content stored at the new location; and modifying the translation line to refer to the reference to the encrypted data content stored at the new location.
    Type: Grant
    Filed: January 13, 2015
    Date of Patent: October 17, 2017
    Assignee: Intel Corporation
    Inventor: David R. Cheriton
  • Publication number: 20170249992
    Abstract: Loading data from a computer memory system is disclosed. A memory system is provided, wherein some or all data stored in the memory system is organized as one or more pointer-linked data structures. One or more iterator registers are provided. A first pointer chain is loaded, having two or more pointers leading to a first element of a selected pointer-linked data structure to a selected iterator register. A second pointer chain is loaded, having two or more pointers leading to a second element of the selected pointer-linked data structure to the selected iterator register. The loading of the second pointer chain reuses portions of the first pointer chain that are common with the second pointer chain. Modifying data stored in a computer memory system is disclosed. A memory system is provided. One or more iterator registers are provided, wherein the iterator registers each include two or more pointer fields for storing two or more pointers that form a pointer chain leading to a data element.
    Type: Application
    Filed: March 16, 2017
    Publication date: August 31, 2017
    Inventors: DAVID R. CHERITON, AMIN FIROOZSHAHIAN, ALEXANDRE Y. SOLOMATNIKOV
  • Publication number: 20170168938
    Abstract: Loading data from a computer memory system is disclosed. A memory system is provided, wherein some or all data stored in the memory system is organized as one or more pointer-linked data structures. One or more iterator registers are provided. A first pointer chain is loaded, having two or more pointers leading to a first element of a selected pointer-linked data structure to a selected iterator register. A second pointer chain is loaded, having two or more pointers leading to a second element of the selected pointer-linked data structure to the selected iterator register. The loading of the second pointer chain reuses portions of the first pointer chain that are common with the second pointer chain. Modifying data stored in a computer memory system is disclosed. A memory system is provided. One or more iterator registers are provided, wherein the iterator registers each include two or more pointer fields for storing two or more pointers that form a pointer chain leading to a data element.
    Type: Application
    Filed: February 27, 2017
    Publication date: June 15, 2017
    Inventors: DAVID R. CHERITON, AMIN FIROOZSHAHIAN, ALEXANDRE Y. SOLOMATNIKOV
  • Publication number: 20170132101
    Abstract: An error in a physical memory realization at a physical memory address is detected. A first physical memory line corresponding to the physical memory address is determined. It is ensured that a duplicate of data content associated with the first physical memory line is associated with a second physical memory line. The physical memory address is remapped to use the second physical memory line for data content.
    Type: Application
    Filed: November 21, 2016
    Publication date: May 11, 2017
    Inventor: David R. Cheriton
  • Publication number: 20170109049
    Abstract: Improved memory management is provided according to a Hierarchical Immutable Content Addressable Memory Processor (HICAMP) architecture. In HICAMP, physical memory is organized as two or more physical memory blocks, each physical memory block having a fixed storage capacity. An indication of which of the physical memory blocks is active at any point in time is provided. A memory controller provides a non-duplicating write capability, where data to be written to the physical memory is compared to contents of all active physical memory blocks at the time of writing, to ensure that no two active memory blocks have the same data after completion of the non-duplicating write.
    Type: Application
    Filed: October 26, 2016
    Publication date: April 20, 2017
    Inventor: David R. Cheriton
  • Publication number: 20170093725
    Abstract: Improved utilization of connections that can be either available or blocked is provided by associating an atemporal connection state with each connection. If a connection is available, messages are transmitted on the connection normally. If a connection is blocked, the atemporal connection state is updated to reflect the changes that were made but not transmitted. In this manner, a record is kept that allows correct transmission of the information when the connection comes back up. More specifically, after a connection status changes from blocked to available, recovery messages are automatically generated from the atemporal connection state and transmitted on the connection.
    Type: Application
    Filed: December 7, 2016
    Publication date: March 30, 2017
    Inventors: David R. Cheriton, Hugh W. Holbrook
  • Patent number: 9601199
    Abstract: Loading data from a computer memory system is disclosed. A memory system is provided, wherein some or all data stored in the memory system is organized as one or more pointer-linked data structures. One or more iterator registers are provided. A first pointer chain is loaded, having two or more pointers leading to a first element of a selected pointer-linked data structure to a selected iterator register. A second pointer chain is loaded, having two or more pointers leading to a second element of the selected pointer-linked data structure to the selected iterator register. The loading of the second pointer chain reuses portions of the first pointer chain that are common with the second pointer chain. Modifying data stored in a computer memory system is disclosed. A memory system is provided. One or more iterator registers are provided, wherein the iterator registers each include two or more pointer fields for storing two or more pointers that form a pointer chain leading to a data element.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: March 21, 2017
    Assignee: Intel Corporation
    Inventors: David R. Cheriton, Amin Firoozshahian, Alexandre Y. Solomatnikov
  • Publication number: 20170024272
    Abstract: Logging includes: obtaining an event designating message (EDM) comprising: a set of keys, or a type of designation corresponding to the set of keys, or both; looking up a set of values associated with the set of keys in a key-value store storing a plurality of keys and their corresponding values; constructing an event using the set of keys and values corresponding to the set of keys; and outputting the constructed event.
    Type: Application
    Filed: June 6, 2016
    Publication date: January 26, 2017
    Inventor: David R. Cheriton