-
公开(公告)号:US11940963B2
公开(公告)日:2024-03-26
申请号:US17457244
申请日:2021-12-01
Applicant: salesforce.com, inc.
Inventor: Michael Sgroi , Helen Kwong , Benjamin Busjaeger , Igor Fedorenko
IPC: G06F16/21 , G06F16/22 , G06F16/23 , G06F16/2455
CPC classification number: G06F16/213 , G06F16/2282 , G06F16/2358 , G06F16/24552
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.
-
公开(公告)号:US11650985B2
公开(公告)日:2023-05-16
申请号:US17446197
申请日:2021-08-27
Applicant: salesforce.com, inc.
Inventor: Benjamin Busjaeger , Michael Sgroi
IPC: G06F16/2455 , G06F16/22 , G06F16/23
CPC classification number: G06F16/24552 , G06F16/2282 , G06F16/2358 , G06F16/24568
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.
-
公开(公告)号:US11157466B2
公开(公告)日:2021-10-26
申请号:US16121598
申请日:2018-09-04
Applicant: salesforce.com, inc.
Inventor: Benjamin Busjaeger , Michael Sgroi , Scott D. Hansma
IPC: G06F16/21 , G06F16/25 , G06F16/242 , H04L29/08
Abstract: In various embodiments, a computer system implements a service that stores a plurality of database templates that define data types supported for a non-relational database accessible to a plurality of applications. The service receives, from a developer of an application, a selection of one of the plurality of database templates to be used by the application. In response to the selection, the service issues a set of data definition language (DDL) instructions to provision the non-relational database with a schema that implements a particular data type defined by the selected template. Requests from the application to manipulate a value of the particular data type stored in the non-relational database system are serviced. In some embodiments, the servicing includes identifying a set of data manipulation language (DML) instructions to be executed and issuing the set of DML, instructions to the non-relational database.
-
公开(公告)号:US20200322288A1
公开(公告)日:2020-10-08
申请号:US16834955
申请日:2020-03-30
Applicant: salesforce.com, inc.
Inventor: Helen Kwong , Benjamin Busjaeger
IPC: H04L12/861
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.
-
公开(公告)号:US20200073972A1
公开(公告)日:2020-03-05
申请号:US16121598
申请日:2018-09-04
Applicant: salesforce.com, inc.
Inventor: Benjamin Busjaeger , Michael Sgroi , Scott D. Hansma
Abstract: Techniques are disclosed relating to non-relational databases. In various embodiments, a computer system implements a service that stores a plurality of database templates that define data types supported for a non-relational database accessible to a plurality of applications. The service receives, from a developer of an application, a selection of one of the plurality of database templates to be used by the application. In response to the selection, the service issues a set of data definition language (DDL) instructions to provision the non-relational database with a schema that implements a particular data type defined by the selected template. Requests from the application to manipulate a value of the particular data type stored in the non-relational database system are serviced. In some embodiments, the servicing includes identifying a set of data manipulation language (DML) instructions to be executed and issuing the set of DML instructions to the non-relational database.
-
公开(公告)号:US11551184B2
公开(公告)日:2023-01-10
申请号:US16139828
申请日:2018-09-24
Applicant: salesforce.com, Inc.
Inventor: Sanjay Acharya , Robert Libby , Christopher Lish , Benjamin Busjaeger , Balachandar Mariappan , Amanda Hatker
IPC: G06Q10/00 , G06Q30/00 , G06F15/16 , G06Q10/08 , H04L67/10 , G06F9/54 , G06F16/958 , G06F16/9535
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.
-
公开(公告)号:US20210226903A1
公开(公告)日:2021-07-22
申请号:US17162698
申请日:2021-01-29
Applicant: salesforce.com, inc.
Inventor: Helen Kwong , Benjamin Busjaeger
IPC: H04L12/861
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.
-
公开(公告)号:US10719533B2
公开(公告)日:2020-07-21
申请号:US15861470
申请日:2018-01-03
Applicant: salesforce.com, inc.
Inventor: Benjamin Busjaeger , Scott Hansma , Pallav Kothari , Michael Sgroi
Abstract: A system may store data in a shared table of a distributed database based on generating a tenant-specific partition key. The system may receive a message from a first tenant that indicates certain data to be written to or retrieved from a shared table (e.g., shared between multiple tenants). The system may then identify a data key, a tenant identifier, and a data type identifier associated with the data and generate a partition key that includes the data key, tenant identifier, and data type identifier. The system may then transmit the partition key to the shared table, and data may be written to or retrieved from the table based on the tenant-specific partition key.
-
公开(公告)号:US20200097893A1
公开(公告)日:2020-03-26
申请号:US16139828
申请日:2018-09-24
Applicant: salesforce.com, Inc.
Inventor: Sanjay Acharya , Robert Libby , Christopher Lish , Benjamin Busjaeger , Balachandar Mariappan , Amanda Hatker
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.
-
公开(公告)号:US20190205459A1
公开(公告)日:2019-07-04
申请号:US15861470
申请日:2018-01-03
Applicant: salesforce.com, inc.
Inventor: Benjamin Busjaeger , Scott Hansma , Pallav Kothari , Michael Sgroi
IPC: G06F17/30
Abstract: A system may store data in a shared table of a distributed database based on generating a tenant-specific partition key. The system may receive a message from a first tenant that indicates certain data to be written to or retrieved from a shared table (e.g., shared between multiple tenants). The system may then identify a data key, a tenant identifier, and a data type identifier associated with the data and generate a partition key that includes the data key, tenant identifier, and data type identifier. The system may then transmit the partition key to the shared table, and data may be written to or retrieved from the table based on the tenant-specific partition key.
-
-
-
-
-
-
-
-
-