Patents by Inventor Benjamin BUSJAEGER

Benjamin BUSJAEGER 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: 11940963
    Abstract: Techniques are disclosed relating to database schemas. A computer system may receive a metadata document that describes an updated schema for a database that stores a plurality of records. The computer system may instantiate a set of processes to perform an upgrade routine to upgrade ones of the plurality of records to comply with the updated schema. While the set of processes are upgrading the records, the computer system may receive a request to perform an operation on one of the plurality of records. The computer system may detect that the record corresponds to an earlier schema version than a version of the updated schema of the metadata document and may upgrade the record to comply with that updated schema. After upgrading the record, the computer system may perform the requested operation on the record.
    Type: Grant
    Filed: December 1, 2021
    Date of Patent: March 26, 2024
    Assignee: Salesforce, Inc.
    Inventors: Michael Sgroi, Helen Kwong, Benjamin Busjaeger, Igor Fedorenko
  • Patent number: 11892992
    Abstract: Techniques are disclosed relating to implementing synthetic identifiers (IDs) for a non-relational database. A server system may operate a database, which includes receiving requests to access records of the database using synthetic IDs. But the database may be searchable using natural IDs. The server system may receive a request to insert a record. In response, the server system may obtain, from a first instance of multiple ID generator instances that implement a distributed ID generator service, a synthetic ID generated based on an identifier assigned to the first ID generator instance. The server system may insert the record with the synthetic ID and a natural ID that corresponds to one or more values of the record. The server system may cause the synthetic ID and the natural ID to be stored in an index of the database to enable the record to be accessed via the synthetic ID.
    Type: Grant
    Filed: January 31, 2022
    Date of Patent: February 6, 2024
    Assignee: Salesforce, Inc.
    Inventors: Danielle Elise Gaydorus, Benjamin Busjaeger, Sharath Gilbuena Babu
  • Publication number: 20240037267
    Abstract: A multi-tenant computer system authenticates access to a shared datastore by a shared service running on the multi-tenant computer system. The shared service is operable to access the shared datastore to execute requests from a plurality of multi-tenant cloud computing services. The requests include an indication of a particular tenant and a particular tenant grouping indicator. Requests are authenticated by cryptographically verifying the request and verifying that the particular tenant is associated with the particular tenant grouping indicator. In response to authenticating a request, the shared service accesses the shared datastore to execute the first request.
    Type: Application
    Filed: October 6, 2023
    Publication date: February 1, 2024
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Patent number: 11838223
    Abstract: Techniques are disclosed relating to handling queues. A server-based platform, in some embodiments, accesses queue information that includes performance attributes for a plurality of queues storing one or more messages corresponding to one or more applications. In some embodiments, the platform assigns, based on the performance attributes, a corresponding set of the plurality of queues to each of a plurality of processing nodes of the platform. In some embodiments, the assigning of a corresponding set of queues to a given one of the plurality of processing nodes causes instantiation of: a first set of one or more dequeuing threads and a second set of one or more processing threads. The dequeuing threads may be executable to dequeue one or more messages stored in the corresponding set of queues. The processing threads may be executable to perform one or more tasks specified in the dequeued one or more messages.
    Type: Grant
    Filed: August 31, 2022
    Date of Patent: December 5, 2023
    Assignee: Salesforce, Inc.
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Patent number: 11783071
    Abstract: A multi-tenant computer system authenticates access to a shared datastore by a shared service running on the multi-tenant computer system. The shared service is operable to access the shared datastore to execute requests from a plurality of multi-tenant cloud computing services. The requests include an indication of a particular tenant and a particular tenant grouping indicator. Requests are authenticated by cryptographically verifying the request and verifying that the particular tenant is associated with the particular tenant grouping indicator. In response to authenticating a request, the shared service accesses the shared datastore to execute the first request.
    Type: Grant
    Filed: June 3, 2021
    Date of Patent: October 10, 2023
    Assignee: Salesforce, Inc.
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Publication number: 20230244647
    Abstract: Techniques are disclosed relating to implementing synthetic identifiers (IDs) for a non-relational database. A server system may operate a database, which includes receiving requests to access records of the database using synthetic IDs. But the database may be searchable using natural IDs. The server system may receive a request to insert a record. In response, the server system may obtain, from a first instance of multiple ID generator instances that implement a distributed ID generator service, a synthetic ID generated based on an identifier assigned to the first ID generator instance. The server system may insert the record with the synthetic ID and a natural ID that corresponds to one or more values of the record. The server system may cause the synthetic ID and the natural ID to be stored in an index of the database to enable the record to be accessed via the synthetic ID.
    Type: Application
    Filed: January 31, 2022
    Publication date: August 3, 2023
    Inventors: Danielle Elise Gaydorus, Benjamin Busjaeger, Sharath Gilbuena Babu
  • Patent number: 11695559
    Abstract: A multi-tenant computer system implements a platform for providing data protection scopes to shared infrastructure services according to a nested tenant model that permits a hierarchy having a plurality of levels. The multi-tenant computer system provisions data protection scopes for cloud products, service products, cloud product tenants, service products operating in the context of cloud products, service products operating in the context of cloud product tenants, and combinations of the foregoing.
    Type: Grant
    Filed: September 30, 2019
    Date of Patent: July 4, 2023
    Assignee: Salesforce, Inc.
    Inventors: Benjamin Busjaeger, Koson Thambundit, Jeremy Horwitz, Michael Sgroi, Jeffrey M. Bergan, Benjamin James Fry, Brian Robert McNamara
  • Publication number: 20230169067
    Abstract: Techniques are disclosed relating to updating schema information for multi-tenant databases. In some embodiments, a multi-tenant database system stores a standard schema for a database object, where the standard schema is shared by multiple tenants and a tenant-specific schema for the database object. The tenant-specific schema may include one or more tenant-specific custom elements for the database object. The system may enforce a naming scheme in which tenant-specific elements include a predetermined pattern that is not included in object elements of the standard schema. The system may, in response to detecting an update of the standard schema, automatically propagate the update to the tenant schema, while the tenant is online.
    Type: Application
    Filed: December 1, 2021
    Publication date: June 1, 2023
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Publication number: 20230169049
    Abstract: Techniques are disclosed relating to database schemas. A computer system may receive a metadata document that describes an updated schema for a database that stores a plurality of records. The computer system may instantiate a set of processes to perform an upgrade routine to upgrade ones of the plurality of records to comply with the updated schema. While the set of processes are upgrading the records, the computer system may receive a request to perform an operation on one of the plurality of records. The computer system may detect that the record corresponds to an earlier schema version than a version of the updated schema of the metadata document and may upgrade the record to comply with that updated schema. After upgrading the record, the computer system may perform the requested operation on the record.
    Type: Application
    Filed: December 1, 2021
    Publication date: June 1, 2023
    Inventors: Michael Sgroi, Helen Kwong, Benjamin Busjaeger, Igor Fedorenko
  • Patent number: 11650985
    Abstract: Techniques are disclosed relating to caching techniques for processing a database change stream. A computer system may receive change records from a change stream that includes a plurality of records indicating changes to a database table. The change stream may include change records for multiple shards and be accessible by providing one or more position indicators for one or more of the multiple shards to request one or more change records and an updated position indicator. The system may store, for changes to a set of one or more shards, one or more cache entries that include respective groups of change records. The system may request a portion of the change stream by providing a received position indicator. The system may provide one or more cached change records from a cache entry that matches the provided position indicator.
    Type: Grant
    Filed: August 27, 2021
    Date of Patent: May 16, 2023
    Assignee: Salesforce, Inc.
    Inventors: Benjamin Busjaeger, Michael Sgroi
  • Publication number: 20230143636
    Abstract: Techniques are disclosed relating to methods that include receiving, by a computer system in a multi-tenant database service, a stream of change event records for a database on a server. A given change event record may be indicative of a modification made to the database by one of a plurality of tenants. The methods may further include storing the received change event records in one or more buffers, and tracking, in a data structure separate from the one or more buffers. Information for ones of the stored change event records may include a corresponding order of reception and a particular tenant associated with a respective change event record. In response to receiving a query from a given tenant, the methods may include processing the query using the data structure to identify change event records associated with the given tenant.
    Type: Application
    Filed: November 11, 2021
    Publication date: May 11, 2023
    Inventors: Benjamin Busjaeger, Igor Fedorenko
  • Publication number: 20230067776
    Abstract: Techniques are disclosed relating to multi-tenant database systems with underlying key/value storage. In some embodiments, a computing system generates first logical table information for a first portion of a multi-tenant dataset corresponding to a first tenant and second logical table information for a second portion of the dataset corresponding to a second tenant. The system may store the first and second logical tables using non-relational key/value data structures in one or more storage elements, including: storing entries from the first logical table across a first set of multiple key/value store buckets and storing entries from the second logical table across a second set of multiple key/value store buckets. Disclosed techniques may reduce performance issues due to hotspots while allowing efficient data access for a given tenant by limiting the number of buckets per tenant, relative to traditional techniques.
    Type: Application
    Filed: August 20, 2021
    Publication date: March 2, 2023
    Inventors: Igor Fedorenko, Helen Kwong, Benjamin Busjaeger
  • Publication number: 20230060046
    Abstract: Systems, methods, and computer-readable media for temporary reservation schemes, are provided. In embodiments, temporary reservations are inserted into non-relational datastore, and update records indicating changes to the non-relational datastore are streamed to processing nodes. The processing nodes store the update records in local expiration windows. The expiration windows are periodically polled for expired temporary reservations, which are then removed from the non-relational datastore. Other embodiments may be described and/or claimed.
    Type: Application
    Filed: October 27, 2022
    Publication date: February 23, 2023
    Applicant: Salesforce, Inc.
    Inventors: Benjamin Busjaeger, Michael Sgroi, Jeremy Horwitz
  • Patent number: 11551184
    Abstract: A method of inventory data aggregation and delivery over a distributed network comprises generating inventory data with respect to plural disparate sources, and publishing that data over a distributed network to an event processor. The method further includes receiving the published inventory data through subscription to the event processor and distributing it to a plurality of requesting devices, e.g., client devices, over the distributed network. This can include aggregating and filtering by locale or product-type the inventory data in response to requests received from those devices. This can further include reducing the aggregated, filtered data to accommodate inventory reserves, e.g., of retail outlets.
    Type: Grant
    Filed: September 24, 2018
    Date of Patent: January 10, 2023
    Assignee: Salesforce, Inc.
    Inventors: Sanjay Acharya, Robert Libby, Christopher Lish, Benjamin Busjaeger, Balachandar Mariappan, Amanda Hatker
  • Publication number: 20220417184
    Abstract: Techniques are disclosed relating to handling queues. A server-based platform, in some embodiments, accesses queue information that includes performance attributes for a plurality of queues storing one or more messages corresponding to one or more applications. In some embodiments, the platform assigns, based on the performance attributes, a corresponding set of the plurality of queues to each of a plurality of processing nodes of the platform. In some embodiments, the assigning of a corresponding set of queues to a given one of the plurality of processing nodes causes instantiation of: a first set of one or more dequeuing threads and a second set of one or more processing threads. The dequeuing threads may be executable to dequeue one or more messages stored in the corresponding set of queues. The processing threads may be executable to perform one or more tasks specified in the dequeued one or more messages.
    Type: Application
    Filed: August 31, 2022
    Publication date: December 29, 2022
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Patent number: 11526539
    Abstract: Systems, methods, and computer-readable media for temporary reservation schemes, are provided. In embodiments, temporary reservations are inserted into non-relational datastore, and update records indicating changes to the non-relational datastore are streamed to processing nodes. The processing nodes store the update records in local expiration windows. The expiration windows are periodically polled for expired temporary reservations, which are then removed from the non-relational datastore. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: December 13, 2022
    Assignee: SALESFORCE, INC.
    Inventors: Benjamin Busjaeger, Michael Sgroi, Jeremy Horwitz
  • Publication number: 20220391523
    Abstract: A multi-tenant computer system authenticates access to a shared datastore by a shared service running on the multi-tenant computer system. The shared service is operable to access the shared datastore to execute requests from a plurality of multi-tenant cloud computing services. The requests include an indication of a particular tenant and a particular tenant grouping indicator. Requests are authenticated by cryptographically verifying the request and verifying that the particular tenant is associated with the particular tenant grouping indicator. In response to authenticating a request, the shared service accesses the shared datastore to execute the first request.
    Type: Application
    Filed: June 3, 2021
    Publication date: December 8, 2022
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Patent number: 11456971
    Abstract: Techniques are disclosed relating to handling queues. A server-based platform, in some embodiments, accesses queue information that includes performance attributes for a plurality of queues storing one or more messages corresponding to one or more applications. In some embodiments, the platform assigns, based on the performance attributes, a corresponding set of the plurality of queues to each of a plurality of processing nodes of the platform. In some embodiments, the assigning of a corresponding set of queues to a given one of the plurality of processing nodes causes instantiation of: a first set of one or more dequeuing threads and a second set of one or more processing threads. The dequeuing threads may be executable to dequeue one or more messages stored in the corresponding set of queues. The processing threads may be executable to perform one or more tasks specified in the dequeued one or more messages.
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: September 27, 2022
    Assignee: salesforce.com, inc.
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Patent number: 11216444
    Abstract: Systems, methods, and computer-readable media for event sourcing datastores are provided. Events are sent to an event sourcing datastore (ESDS) from an external service, and the events are appended to an event log. The ESDS maintains the event log in one table and the events are automatically aggregated via streaming. The ESDS is linearly scalable, and enforces uniqueness, consistency, and user-defined constraints when appending events to the event log. The aggregate state is computed asynchronously and transparently cached, which provides increased read throughput and reduced latency. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: January 4, 2022
    Assignee: SALESFORCE.COM, INC.
    Inventors: Benjamin Busjaeger, Michael Sgroi, Sanjay Acharya, Robert Libby, Christopher Lish, Jeremiah David Brazeau
  • Publication number: 20210390105
    Abstract: Techniques are disclosed relating to caching techniques for processing a database change stream. A computer system may receive change records from a change stream that includes a plurality of records indicating changes to a database table. The change stream may include change records for multiple shards and be accessible by providing one or more position indicators for one or more of the multiple shards to request one or more change records and an updated position indicator. The system may store, for changes to a set of one or more shards, one or more cache entries that include respective groups of change records. The system may request a portion of the change stream by providing a received position indicator. The system may provide one or more cached change records from a cache entry that matches the provided position indicator.
    Type: Application
    Filed: August 27, 2021
    Publication date: December 16, 2021
    Inventors: Benjamin Busjaeger, Michael Sgroi