Patents by Inventor Jameison Bear Martin
Jameison Bear Martin 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: 11841967Abstract: System and methods of the disclosed subject matter provide segregating, at a memory storage coupled to a multitenant database system, first tenant data of a first tenant from at least second tenant data of a second tenant, based on a first tenant identifier. A first encryption key associated with the first tenant may be retrieved from a key cache memory based on the first tenant identifier, to encrypt one or more fragments of the first tenant data. The fragments of the first tenant data may be encrypted based on the retrieved encryption key. Non-encrypted header information may be generated for each of the encrypted fragments of the first tenant data, where the header information may have metadata including the first tenant identifier. The encrypted fragments of the first tenant data and the corresponding non-encrypted header information may be stored in the immutable storage.Type: GrantFiled: December 27, 2021Date of Patent: December 12, 2023Assignee: Salesforce, Inc.Inventors: Terry Chong, Jameison Bear Martin, Thomas Fanghaenel, Andrew Tucker, Nathaniel Wyatt, Raghavendran Hanumantharau, Assaf Ben Gur, William Charles Mortimore, Jr.
-
Patent number: 11797498Abstract: 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: GrantFiled: November 17, 2020Date of Patent: October 24, 2023Assignee: Salesforce, Inc.Inventors: Jameison Bear Martin, Nathaniel Wyatt, Gary J. Baker, Thomas Fanghaenel, Terry Chong
-
Patent number: 11775524Abstract: 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: GrantFiled: March 7, 2022Date of Patent: October 3, 2023Assignee: Salesforce, Inc.Inventors: Thomas Fanghaenel, Jameison Bear Martin, Nathaniel Wyatt, Diego Ongaro, Terry Chong
-
Patent number: 11741050Abstract: Techniques are disclosed relating to managing distributed storage of data for various entities according to classifications for these entities. A database node of a distributed storage system may receive, from a first entity of a plurality of entities, a request to store a set of data. The database node may further obtain metadata associated with the first entity, wherein the metadata specifies one of a plurality of classifications for the entities. The database node may provide the set of data to one or more of a plurality of caches for storage. The caches may be located in two or more availability zones and are configured to store the set of data based on the classification for the first entity identified in the metadata associated with the first entity. The database node may also store the set of data in a shared object storage coupled to the database node.Type: GrantFiled: January 29, 2021Date of Patent: August 29, 2023Assignee: Salesforce, Inc.Inventors: Venkateswararao Jujjuri, Nathaniel Wyatt, Jameison Bear Martin, Patrick James Helland
-
Publication number: 20230090835Abstract: Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.Type: ApplicationFiled: November 28, 2022Publication date: March 23, 2023Inventors: Atish Agrawal, Jameison Bear Martin
-
Patent number: 11526474Abstract: Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.Type: GrantFiled: January 30, 2020Date of Patent: December 13, 2022Assignee: salesforce.com, inc.Inventors: Atish Agrawal, Jameison Bear Martin
-
Patent number: 11514015Abstract: Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.Type: GrantFiled: January 30, 2020Date of Patent: November 29, 2022Assignee: salesforce.com, inc.Inventors: Atish Agrawal, Jameison Bear Martin
-
Patent number: 11500836Abstract: 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: GrantFiled: June 27, 2017Date of Patent: November 15, 2022Assignee: Salesforce, Inc.Inventors: Jameison Bear Martin, Nathaniel Wyatt, Gary J. Baker, Randy Spalten
-
Publication number: 20220245094Abstract: Techniques are disclosed relating to managing distributed storage of data for various entities according to classifications for these entities. A database node of a distributed storage system may receive, from a first entity of a plurality of entities, a request to store a set of data. The database node may further obtain metadata associated with the first entity, wherein the metadata specifies one of a plurality of classifications for the entities. The database node may provide the set of data to one or more of a plurality of caches for storage. The caches may be located in two or more availability zones and are configured to store the set of data based on the classification for the first entity identified in the metadata associated with the first entity. The database node may also store the set of data in a shared object storage coupled to the database node.Type: ApplicationFiled: January 29, 2021Publication date: August 4, 2022Inventors: Venkateswararao Jujjuri, Nathaniel Wyatt, Jameison Bear Martin, Patrick James Helland
-
Publication number: 20220245092Abstract: Techniques are disclosed relating to managing distributed storage of data with low latency access and durable storage. A distributed storage system may include storage caches distributed across availability zones in front of a shared object storage. Database nodes collocated with the storage caches may handle the storage, retrieval, and manipulation of data in the storage caches and the shared object storage. The shared object storage cache provides persistent storage of data for the distributed storage system while storage of the data in the storage caches is implemented to provide low latency retrieval of the storage. The storage caches across the availability zones may be populated through the shared object storage rather than moving data across availability zones.Type: ApplicationFiled: January 29, 2021Publication date: August 4, 2022Inventors: Venkateswararao Jujjuri, Nathaniel Wyatt, Jameison Bear Martin, Patrick James Helland
-
Publication number: 20220188317Abstract: 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: ApplicationFiled: March 7, 2022Publication date: June 16, 2022Inventors: Thomas Fanghaenel, Jameison Bear Martin, Nathaniel Wyatt, Diego Ongaro, Terry Chong
-
Publication number: 20220121766Abstract: System and methods of the disclosed subject matter provide segregating, at a memory storage coupled to a multitenant database system, first tenant data of a first tenant from at least second tenant data of a second tenant, based on a first tenant identifier. A first encryption key associated with the first tenant may be retrieved from a key cache memory based on the first tenant identifier, to encrypt one or more fragments of the first tenant data. The fragments of the first tenant data may be encrypted based on the retrieved encryption key. Non-encrypted header information may be generated for each of the encrypted fragments of the first tenant data, where the header information may have metadata including the first tenant identifier. The encrypted fragments of the first tenant data and the corresponding non-encrypted header information may be stored in the immutable storage.Type: ApplicationFiled: December 27, 2021Publication date: April 21, 2022Inventors: Terry Chong, Jameison Bear Martin, Thomas Fanghaenel, Andrew Tucker, Nathaniel Wyatt, Raghavendran Hanumantharau, Assaf Ben Gur, William Charles Mortimore, JR.
-
Patent number: 11269885Abstract: 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: GrantFiled: June 22, 2020Date of Patent: March 8, 2022Assignee: salesforce.com, inc.Inventors: Thomas Fanghaenel, Jameison Bear Martin, Nathaniel Wyatt, Diego Ongaro, Terry Chong
-
Patent number: 11238174Abstract: System and methods of the disclosed subject matter provide segregating, at a memory storage coupled to a multitenant database system, first tenant data of a first tenant from at least second tenant data of a second tenant, based on a first tenant identifier. A first encryption key associated with the first tenant may be retrieved from a key cache memory based on the first tenant identifier, to encrypt one or more fragments of the first tenant data. The fragments of the first tenant data may be encrypted based on the retrieved encryption key. Non-encrypted header information may be generated for each of the encrypted fragments of the first tenant data, where the header information may have metadata including the first tenant identifier. The encrypted fragments of the first tenant data and the corresponding non-encrypted header information may be stored in the immutable storage.Type: GrantFiled: January 31, 2019Date of Patent: February 1, 2022Assignee: salesforce.com, inc.Inventors: Terry Chong, Jameison Bear Martin, Thomas Fanghaenel, Andrew Tucker, Nathaniel Wyatt, Raghavendran Hanumantharau, Assaf Ben-Gur, William Charles Mortimore, Jr.
-
Patent number: 11099771Abstract: A method of deleting tombstones early includes setting an initial-flag in a first record in the storage system, setting a delete-flag in a second record in the storage system, selecting a set of one or more records in the storage system to be written to an extent of the storage system in a merge operation, each of the one or more records being associated with the first key, and performing the merge operation, wherein the second record is not written to the extent during the merge operation based at least in part on a determination that the first record having the initial-flag set is the oldest record in the set and the second record having the delete-flag set is the newest record in the set.Type: GrantFiled: September 24, 2018Date of Patent: August 24, 2021Assignee: salesforce.com, inc.Inventors: Thomas Fanghaenel, Terry Chong, Jameison Bear Martin
-
Publication number: 20210240687Abstract: Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.Type: ApplicationFiled: January 30, 2020Publication date: August 5, 2021Inventors: Atish Agrawal, Jameison Bear Martin
-
Publication number: 20210240674Abstract: Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.Type: ApplicationFiled: January 30, 2020Publication date: August 5, 2021Inventors: Atish Agrawal, Jameison Bear Martin
-
Patent number: 11061889Abstract: Systems and methods are provided for receiving, at a database system having a memory and at least one persistent storage device to store records, a query for a least one record, where the query uses a first version of a manifest, and where each version of the records that are stored in the at least one persistent storage device are represented by metadata that is part of the first version of the manifest. A first operation may be performed based on a scan operation. The database system may determine whether a purge of the memory has occurred after the first operation. When it is determined that the memory purge has occurred, the scan operation may be restarted from a last position of the scan operation prior to the memory purge using a second version of the manifest.Type: GrantFiled: September 24, 2018Date of Patent: July 13, 2021Assignee: salesforce.com, inc.Inventors: Terry Chong, Jameison Bear Martin, Thomas Fanghaenel
-
Publication number: 20210073189Abstract: 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: ApplicationFiled: November 17, 2020Publication date: March 11, 2021Inventors: Jameison Bear Martin, Nathaniel Wyatt, Gary J. Baker, Thomas Fanghaenel, Terry Chong
-
Patent number: 10901861Abstract: 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: GrantFiled: January 28, 2020Date of Patent: January 26, 2021Assignee: salesforce.com, inc.Inventors: Jameison Bear Martin, Nathaniel Wyatt, Patrick James Helland, Thomas Fanghaenel, Terry Chong, Subho Sanjay Chatterjee