Patents by Inventor Nathaniel Wyatt

Nathaniel Wyatt 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: 20200201745
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. In some implementations, the original tenant is an original sandbox tenant, and the sandbox tenant is at least one new sandbox tenant.
    Type: Application
    Filed: March 2, 2020
    Publication date: June 25, 2020
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong, Robert Frankus, Simon Wong
  • Patent number: 10691693
    Abstract: Techniques are disclosed relating to maintaining a cache usable to locate data stored in a data structure. A computer system, in various embodiments, maintains a data structure having a plurality of levels that store files for a database. The files may include one or more records that each have a key and corresponding data. The computer system may also maintain a cache for the database whose entries store, for a key, an indication of a location of a corresponding record in a file of the data structure. In some embodiments, the computer system receives a request to access a particular record stored in the data structure where the request specifies a key usable to locate the particular record. The computer system may retrieve, from the cache via the key, a particular indication of a location of the particular record and may use the particular indication to access the particular record.
    Type: Grant
    Filed: January 30, 2018
    Date of Patent: June 23, 2020
    Assignee: salesforce.com, inc.
    Inventors: Thomas Fanghaenel, Jameison Bear Martin, Nathaniel Wyatt, Diego Ongaro, Terry Chong
  • Publication number: 20200159628
    Abstract: Systems and methods are provided for performing a point-in-time restore of data of a first tenant of a multitenanted database system. Metadata can be located to identify an archival version of first data of the first tenant stored in immutable storage of the database system. The archival version includes a most recently committed version of each datum prior to a first point in time. By using the metadata, a restore reference set is mapped into a target database instance of the database system. The mapping can be performed when all existing data for a tenant is to be the archival version, and where versions of data and records committed after the point in time are not available to the target database instance.
    Type: Application
    Filed: January 28, 2020
    Publication date: May 21, 2020
    Inventors: Jameison Bear Martin, Nathaniel Wyatt, Patrick James Helland, Thomas Fanghaenel, Terry Chong, Subho Sanjay Chatterjee
  • Patent number: 10621071
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. In some implementations, the original tenant is an original sandbox tenant, and the sandbox tenant is at least one new sandbox tenant.
    Type: Grant
    Filed: September 17, 2018
    Date of Patent: April 14, 2020
    Assignee: salesforce.com, inc.
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong, Robert Frankus, Simon Wong
  • Patent number: 10592353
    Abstract: Systems and methods are provided for performing a point-in-time restore of data of a first tenant of a multitenanted database system. Metadata can be located to identify an archival version of first data of the first tenant stored in immutable storage of the database system. The archival version includes a most recently committed version of each datum prior to a first point in time. By using the metadata, a restore reference set is mapped into a target database instance of the database system. The mapping can be performed when all existing data for a tenant is to be the archival version, and where versions of data and records committed after the point in time are not available to the target database instance.
    Type: Grant
    Filed: June 27, 2017
    Date of Patent: March 17, 2020
    Assignee: salesforce.com, inc.
    Inventors: Jameison Bear Martin, Nathaniel Wyatt, Patrick James Helland, Thomas Fanghaenel, Terry Chong, Subho Sanjay Chatterjee
  • Publication number: 20200004849
    Abstract: Techniques are disclosed relating to create a configuration for a database system. In some embodiments, program instructions of a change set for an application are received from a source code management (SCM) repository. In response to the receiving, a build process is performed that includes causing compilation of the received program instructions to produce program instructions executable to run the application. The build process also includes provisioning the configuration with a schema by retrieving a first set of metadata defining the schema and issuing corresponding data definition language (DDL) instructions to create the schema in the configuration.
    Type: Application
    Filed: June 29, 2018
    Publication date: January 2, 2020
    Inventors: Gary J. Baker, Steven Tamm, Nathaniel Wyatt
  • Publication number: 20190278762
    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
    Type: Application
    Filed: May 30, 2019
    Publication date: September 12, 2019
    Inventors: Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, James E. Mace, Punit B. Shah
  • Publication number: 20190236156
    Abstract: Techniques are disclosed relating to maintaining a cache usable to locate data stored in a data structure. A computer system, in various embodiments, maintains a data structure having a plurality of levels that store files for a database. The files may include one or more records that each have a key and corresponding data. The computer system may also maintain a cache for the database whose entries store, for a key, an indication of a location of a corresponding record in a file of the data structure. In some embodiments, the computer system receives a request to access a particular record stored in the data structure where the request specifies a key usable to locate the particular record. The computer system may retrieve, from the cache via the key, a particular indication of a location of the particular record and may use the particular indication to access the particular record.
    Type: Application
    Filed: January 30, 2018
    Publication date: August 1, 2019
    Inventors: Thomas Fanghaenel, Jameison Bear Martin, Nathaniel Wyatt, Diego Ongaro, Terry Chong
  • Patent number: 10346386
    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
    Type: Grant
    Filed: November 4, 2016
    Date of Patent: July 9, 2019
    Assignee: salesforce.com, inc.
    Inventors: Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, James E. Mace, Punit B. Shah
  • Publication number: 20190163613
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.
    Type: Application
    Filed: January 31, 2019
    Publication date: May 30, 2019
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong
  • Patent number: 10241896
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.
    Type: Grant
    Filed: November 8, 2016
    Date of Patent: March 26, 2019
    Assignee: SALESFORCE, INC.
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong
  • Publication number: 20190045007
    Abstract: Techniques are disclosed relating to fencing out a first one of a plurality of nodes configured to handle requests for data stored in a distributed storage. A database system, in various embodiments, stores a value indicating that the first node is permitted to update a catalog stored at a metadata server. In response to a determination to prevent the first node from updating the catalog and writing to the distributed storage, in various embodiments, the database system updates the value to indicate that the first node is not permitted to update the catalog and instructs the distributed storage to prevent write operations to a particular portion allocated to the first node for writing data.
    Type: Application
    Filed: August 2, 2017
    Publication date: February 7, 2019
    Inventors: Nathaniel Wyatt, Steven Raspudic, Venkateswararao Jujjuri
  • Publication number: 20190042638
    Abstract: Techniques are disclosed relating to a database system synchronizing a current state of the database system among a plurality of nodes configured to handle requests for data of the database system stored in a distributed storage with one of the plurality of nodes being currently active and the other nodes of the plurality of nodes being currently standby nodes. In various embodiments, the active node receives a request to perform a transaction that includes committing data to the distributed storage. In response to receiving the request, in some embodiments, the active node commits the data to the distributed storage to update the current state of the database system and causes storing of metadata that provides an indication of the commitment in a transaction log stored in the distributed storage.
    Type: Application
    Filed: August 1, 2017
    Publication date: February 7, 2019
    Inventors: Venkateswararao Jujjuri, Nathaniel Wyatt
  • Publication number: 20190034321
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. In some implementations, the original tenant is an original sandbox tenant, and the sandbox tenant is at least one new sandbox tenant.
    Type: Application
    Filed: September 17, 2018
    Publication date: January 31, 2019
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong, Robert Frankus, Simon Wong
  • Publication number: 20180373708
    Abstract: Systems and methods are provided for migrating a tenant of a database system from a source database instance to a destination database instance. The systems and methods include quiescing the tenant data of the tenant to be migrated from the source database instance to the destination database instance so that no new data is written to the storage of the database system associated with the tenant identifier at the source database instance, transmitting metadata of the tenant to be migrated from the source database instance to the destination database instance, and modifying, at the destination database instance, the metadata of the tenant so that the destination database instance has information to point to groupings of data in the storage for the destination database to access the tenant data.
    Type: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: Jameison Bear Martin, Nathaniel Wyatt, Gary J. Baker, Thomas Fanghaenel, Terry Chong
  • Publication number: 20180373741
    Abstract: System and methods are provided for creating a tenant of a database system, the tenant to have tenant data stored in an immutable storage of the database system associated with a tenant identifier. A request may be received at the database system to create a new tenant. A template tenant metadata of a template tenant may be selected at the database system to create the new tenant based on the received request. A new tenant identifier may be created at the database system based on the selected template tenant metadata. The new tenant may be created by associating the new tenant identifier with a snapshot of at least a portion of the template tenant metadata at a point in time when the template tenant metadata is made accessible to the new tenant. Systems and methods are also provided for removing a tenant of a database system by removing references to a tenant identifier.
    Type: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: Jameison Bear Martin, Nathaniel Wyatt, Gary J. Baker, Randy Spalten
  • Publication number: 20180373604
    Abstract: Systems and methods are provided for performing a point-in-time restore of data of a first tenant of a multitenanted database system. Metadata can be located to identify an archival version of first data of the first tenant stored in immutable storage of the database system. The archival version includes a most recently committed version of each datum prior to a first point in time. By using the metadata, a restore reference set is mapped into a target database instance of the database system. The mapping can be performed when all existing data for a tenant is to be the archival version, and where versions of data and records committed after the point in time are not available to the target database instance.
    Type: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: Jameison Bear Martin, Nathaniel Wyatt, Patrick James Helland, Thomas Fanghaenel, Terry Chong, Subho Sanjay Chatterjee
  • Publication number: 20180129693
    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
    Type: Application
    Filed: November 4, 2016
    Publication date: May 10, 2018
    Inventors: Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, James E. Mace, Punit B. Shah
  • Publication number: 20180129585
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.
    Type: Application
    Filed: November 8, 2016
    Publication date: May 10, 2018
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong