Partition balancing in an on-demand services environment

US9923960B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9923960-B2
Application numberUS-201514829428-A
CountryUS
Kind codeB2
Filing dateAug 18, 2015
Priority dateAug 18, 2015
Publication dateMar 20, 2018
Grant dateMar 20, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for partition balancing. Organization identifiers (orgIDs) are acquired for one or more organizations within a multi-organization on-demand services environment having multiple nodes, each of which have one or more partitions. A mapping of the orgIDs to the partitions within the multi-organization on-demand services environment is determined. Resource consumption for the organizations is determined. Resource consumption for the partitions based on the resource consumption of the organization and the mapping of the organization to the partitions is determined. A score for the partitions based on the resource consumption is generated. The partitions are redistributed among the nodes based on the partition scores.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: acquiring organization identifiers (orgIDs) for one or more relevant organizations of a plurality of organizations within a multi-organization on-demand services environment having multiple computing nodes, each of which have one or more partitions, wherein each relevant organization utilizes each of the partitions to which it is assigned, wherein each organization within the multi-organization on-demand services environment is uniquely identified by a single orgID, and wherein each partition is configured to be associated with multiple organizations of the plurality of organizations and is further configured to be executed by a single computing node of the multiple computing nodes; determining a mapping of the orgIDs to the partitions within the multi-organization on-demand services environment, wherein the mapping is static and is set in association with creation of the orgID; determining a mapping of partitions to computing nodes, where multiple partitions are mapped to each computing node, wherein the mapping of partitions to computing nodes is dynamic and can be modified at runtime; determining, based on the acquired orgIDs, first resource consumptions for the relevant organizations; determining second resource consumptions for each of the partitions based on the first resource consumptions for the relevant organizations and the mapping of the relevant organizations to the partitions; generating a partition score for each of the partitions based on the second resource consumptions; redistributing the partitions with corresponding relevant organizations among the computing nodes based on the partition scores. 2. The method of claim 1 wherein the on-demand services environment comprises at least databases organized as nodes that allow multiple computing devices to run database management software simultaneously while accessing a single database instance. 3. The method of claim 1 wherein determining the first resource consumptions for the relevant organizations comprises: loading log record types that have database statistics; and extracting relevant statistical information. 4. The method of claim 3 wherein the statistical information comprises one or more of: processor consumption, bandwidth utilization, memory utilization, physical reads, physical writes, and buffergets. 5. The method of claim 4 wherein a weighting value is applied to at least some of the statistical information. 6. The method of claim 1 wherein acquiring organization identifiers (orgIDs) for one or more relevant organizations within a multi-organization on-demand services environment having multiple computing nodes, each of which have one or more partitions comprises: querying a database system for orgID to partition mapping information; and storing the orgID to partition mapping in a file system framework. 7. The method of claim 1 wherein determining the second resource consumptions for the partitions based on the resource consumption of the organization and the mapping of the relevant organization to the partitions comprises joining the statistical information with the orgID to partition mapping. 8. A non-transitory computer readable medium having stored thereon instruction that, when executed by one or more processors, cause the one or more processors to: acquire organization identifiers (orgIDs) for one or more relevant organizations of a plurality of organizations within a multi-organization on-demand services environment having multiple computing nodes, each of which have one or more partitions, wherein each relevant organization utilizes each of the partitions to which it is assigned, wherein each organization within the multi-organization on-demand services environment is uniquely identified by a single orgID, and wherein each partition is configured to be associated with multiple organizations of the plurality of organizations and is further configured to be executed by a single computing node of the multiple computing nodes; determine a mapping of the orgIDs to the partitions within the multi-organization on-demand services environment, wherein the mapping is static and is set in association with creation of the orgID; determine a mapping of partitions to computing nodes, where multiple partitions are mapped to each computing node, wherein the mapping of partitions to computing nodes is dynamic and can be modified at runtime; determine, based on the acquired orgIDs, first resource consumptions for the relevant organizations; determine second resource consumptions for each of the partitions based on first resource consumptions for the relevant organizations and the mapping of the relevant organizations to the partitions; generate a partition score for each of the partitions based on the second resource consumptions; redistribute the partitions with corresponding relevant organizations among the computing nodes based on the partition scores. 9. The non-transitory computer readable medium of claim 8 wherein the on-demand services environment comprises at least databases organized as nodes that allow multiple computing devices to run database management software simultaneously while accessing a single database instance. 10. The non-transitory computer readable medium of claim 8 wherein determining the first resource consumptions for the relevant organizations comprises: loading log record types that have database statistics; and extracting relevant statistical information. 11. The non-transitory computer readable medium of claim 10 wherein the statistical information comprises one or more of: processor consumption, bandwidth utilization, memory utilization, physical reads, physical writes, and buffergets. 12. The non-transitory computer readable medium of claim 11 wherein a weighting value is applied to at least some of the statistical information. 13. The non-transitory computer readable medium of claim 8 wherein acquiring organization identifiers (orgIDs) for one or more relevant organizations within a multi-organization on-demand services environment having multiple computing nodes, each of which have one or more partitions comprises: querying a database system for orgID to partition mapping information; and storing the orgID to partition mapping in a file system framework. 14. The non-transitory computer readable medium of claim 8 wherein determining the second resource consumptions for the partitions based on the resource consumption of the organization and the mapping of the relevant organization to the partitions comprises joining the statistical information with the orgID to partition mapping. 15. A system comprising: at least one memory device; one or more hardware processing devices coupled with the at least one memory device, the one or more hardware processing devices configurable to acquire organization identifiers (orgIDs) for one or more relevant organizations of a plurality of organizations within a multi-organization on-demand services environment having multiple computing nodes, each of which have one or more partitions, wherein each relevant organization utilizes each of the partitions to which it is assigned, wherein each organization within the multi-organization on-demand services environment is uniquely identified by a single orgID, and wherein each partition is configured to be associated with multiple organizations of the plurality of organizations and is further configured to be executed by a single computing node of the multiple computing nodes, to determine a mapping of the orgIDs to the partitions within the multi-organization on-deman

Assignees

Inventors

Classifications

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • by checking functioning · CPC title

  • characterised by the time relationship between creation and deployment of a service · CPC title

  • based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30) · CPC title

  • Processing captured monitoring data, e.g. for logfile generation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9923960B2 cover?
Techniques for partition balancing. Organization identifiers (orgIDs) are acquired for one or more organizations within a multi-organization on-demand services environment having multiple nodes, each of which have one or more partitions. A mapping of the orgIDs to the partitions within the multi-organization on-demand services environment is determined. Resource consumption for the organization…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1008. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 20 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).