Systems, methods, and apparatuses for implementing cross-organizational processing of business intelligence metrics
First Claim
1. A method comprising:
- executing a multi-tenant database system within a host organization in support of multiple distinct customer organizations which utilize on-demand cloud based services provided by the host organization, wherein the multi-tenant database system includes processors and memory which are shared amongst the multiple distinct customer organizations;
receiving, at a request interface, incoming requests from any of the multiple distinct customer organizations, each operating as a tenant of the multi-tenant database system, and returning responses to the multiple distinct customer organizations responsive to the incoming requests received;
storing protected data of the multiple distinct customer organizations within one or more database systems, wherein the one or more database systems having the protected data stored therein are accessible via a database query interface of the host organization;
wherein each one of the multiple distinct customer organizations are prohibited from submitting database queries to the one or more database systems which exceed the scope of one single customer organization'"'"'s data corresponding to the respective customer organization'"'"'s tenancy within the multi-tenant database system;
generating, by the processors, a plurality of messages for each of a first and subsequent distinct customer organizations and processing against the one or more database systems to perform metrics collection for each distinct customer organization separately and releasing the plurality of messages for processing against the one or more database systems specifying a common repository for the metrics collection output, wherein the plurality of messages are generated based on an inference of scope and granularity required to perform the metrics collection;
wherein the metrics collection output is stored within the common repository as aggregation data in a common pool, with each distinct customer organization'"'"'s pooled data derived from the multi-tenant database and organized via a customer organization ID column identifying each respective customer organization;
wherein the aggregation data is abstracted from the protected data to eliminate exposure of any of the protected data of any of the multiple distinct customer organizations various customer organizations'"'"' underlying data records as stored within the one or more database systems; and
receiving, via a metrics API, a cross-organizational query metrics query requesting results to be returned with data having a scope greater than a single one of the multiple distinct customer organization despite the prohibition against cross-organizational database queries, wherein the one or more database systems having the multiple distinct customer organizations'"'"' protected data stored therein are not accessible via the metrics API;
processing the cross-organizational query metrics query against the common repository and returning metrics query results from the common repository having metrics associated with multiple of the distinct customer organizations according to the customer organization ID column; and
monitoring a workload of the host organization to prioritize real-time transaction requests over messages and associated parameters utilized to implement the metrics collection by releasing one or more of the plurality of messages for immediate processing when the workload of the host organization is below a threshold and processing the real-time transaction requests at the host organization concurrently with the released one or more messages and any associated parameters to implement the metrics collection.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses for implementing cross-organizational processing of business intelligence metrics including, for example, means for scheduling a time for metrics collection from databases of a host organization; generating one or more messages and associated parameters to implement the metrics collection at the host organization; enqueuing the one or more messages and associated parameters for processing by the host organization; dequeuing the one or more messages and associated parameters into the host organization for processing, wherein the processing is to output the metrics collection into an intermediate table; capturing the metrics collection output via the processing at the intermediate table; and exposing the intermediate table to metrics queries. Other related embodiments are disclosed.
128 Citations
25 Claims
-
1. A method comprising:
-
executing a multi-tenant database system within a host organization in support of multiple distinct customer organizations which utilize on-demand cloud based services provided by the host organization, wherein the multi-tenant database system includes processors and memory which are shared amongst the multiple distinct customer organizations; receiving, at a request interface, incoming requests from any of the multiple distinct customer organizations, each operating as a tenant of the multi-tenant database system, and returning responses to the multiple distinct customer organizations responsive to the incoming requests received; storing protected data of the multiple distinct customer organizations within one or more database systems, wherein the one or more database systems having the protected data stored therein are accessible via a database query interface of the host organization; wherein each one of the multiple distinct customer organizations are prohibited from submitting database queries to the one or more database systems which exceed the scope of one single customer organization'"'"'s data corresponding to the respective customer organization'"'"'s tenancy within the multi-tenant database system; generating, by the processors, a plurality of messages for each of a first and subsequent distinct customer organizations and processing against the one or more database systems to perform metrics collection for each distinct customer organization separately and releasing the plurality of messages for processing against the one or more database systems specifying a common repository for the metrics collection output, wherein the plurality of messages are generated based on an inference of scope and granularity required to perform the metrics collection; wherein the metrics collection output is stored within the common repository as aggregation data in a common pool, with each distinct customer organization'"'"'s pooled data derived from the multi-tenant database and organized via a customer organization ID column identifying each respective customer organization; wherein the aggregation data is abstracted from the protected data to eliminate exposure of any of the protected data of any of the multiple distinct customer organizations various customer organizations'"'"' underlying data records as stored within the one or more database systems; and receiving, via a metrics API, a cross-organizational query metrics query requesting results to be returned with data having a scope greater than a single one of the multiple distinct customer organization despite the prohibition against cross-organizational database queries, wherein the one or more database systems having the multiple distinct customer organizations'"'"' protected data stored therein are not accessible via the metrics API; processing the cross-organizational query metrics query against the common repository and returning metrics query results from the common repository having metrics associated with multiple of the distinct customer organizations according to the customer organization ID column; and monitoring a workload of the host organization to prioritize real-time transaction requests over messages and associated parameters utilized to implement the metrics collection by releasing one or more of the plurality of messages for immediate processing when the workload of the host organization is below a threshold and processing the real-time transaction requests at the host organization concurrently with the released one or more messages and any associated parameters to implement the metrics collection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. Non-transitory computer readable storage media having instructions stored thereon that, when executed by a processor of a system, the instructions cause the system to perform operations comprising:
-
executing a multi-tenant database system within a host organization in support of multiple distinct customer organizations which utilize on-demand cloud based services provided by the host organization, wherein the multi-tenant database system includes processors and memory which are shared amongst the multiple distinct customer organizations; receiving, at a request interface, incoming requests from any of the multiple distinct customer organizations, each operating as a tenant of the multi-tenant database system, and returning responses to the multiple distinct customer organizations responsive to the incoming requests received; storing protected data of the multiple distinct customer organizations within one or more database systems, wherein the one or more database systems having the protected data stored therein are accessible via a database query interface of the host organization; wherein each one of the multiple distinct customer organizations are prohibited from submitting database queries to the one or more database systems which exceed the scope of one single customer organization'"'"'s data corresponding to the respective customer organization'"'"'s tenancy within the multi-tenant database system; generating, by the processors, a plurality of messages for each of a first and subsequent distinct customer organizations and processing against the one or more database systems to perform metrics collection for each distinct customer organization separately and releasing the plurality of messages for processing against the one or more database systems specifying a common repository for the metrics collection output, wherein the plurality of messages are generated based on an inference of scope and granularity required to perform the metrics collection; wherein the metrics collection output is stored within the common repository as aggregation data in a common pool, with each distinct customer organization'"'"'s pooled data derived from the multi-tenant database and organized via a customer organization ID column identifying each respective customer organization; wherein the aggregation data is abstracted from the protected data to eliminate exposure of any of the protected data of any of the multiple distinct customer organizations various customer organizations'"'"' underlying data records as stored within the one or more database systems; and receiving, via a metrics API, a cross-organizational query metrics query requesting results to be returned with data having a scope greater than a single one of the multiple distinct customer organization despite the prohibition against cross-organizational database queries, wherein the one or more database systems having the multiple distinct customer organizations'"'"' protected data stored therein are not accessible via the metrics API; processing the cross-organizational query metrics query against the common repository and returning metrics query results from the common repository having metrics associated with multiple of the distinct customer organizations according to the customer organization ID column; and monitoring a workload of the host organization to prioritize real-time transaction requests over messages and associated parameters utilized to implement the metrics collection by releasing one or more of the plurality of messages for immediate processing when the workload of the host organization is below a threshold and processing the real-time transaction requests at the host organization concurrently with the released one or more messages and any associated parameters to implement the metrics collection. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a multi-tenant database system to execute within a host organization in support of multiple distinct customer organizations which utilize on-demand cloud based services provided by the host organization, wherein the multi-tenant database system includes processors and memory which are shared amongst the multiple distinct customer organizations; a request interface to receive incoming requests from any of the multiple distinct customer organizations, each operating as a tenant of the multi-tenant database system, and returning responses to the multiple distinct customer organizations responsive to the incoming requests received; one or more databases for storing protected data of the multiple distinct customer organizations within one or more database systems, wherein the one or more database systems having the protected data stored therein are accessible via a database query interface of the host organization; wherein each one of the multiple distinct customer organizations are prohibited from submitting database queries to the one or more database systems which exceed the scope of one single customer organization'"'"'s data corresponding to the respective customer organization'"'"'s tenancy within the multi-tenant database system; a scheduler module for generating a plurality of messages for each of a first and subsequent distinct customer organizations and processing against the one or more database systems to perform metrics collection for each distinct customer organization separately and releasing the plurality of messages for processing against the one or more database systems specifying a common repository for the metrics collection output, wherein the plurality of messages are generated based on an inference of scope and granularity required to perform the metrics collection; wherein the metrics collection output is stored within the common repository as aggregation data in a common pool, with each distinct customer organization'"'"'s pooled data derived from the multi-tenant database and organized via a customer organization ID column identifying each respective customer organization; wherein the aggregation data is abstracted from the protected data to eliminate exposure of any of the protected data of any of the multiple distinct customer organizations various customer organizations'"'"' underlying data records as stored within the one or more database systems; and a metrics Application Programming Interface (API) for receiving, via a metrics API, a cross-organizational query metrics query requesting results to be returned with data having a scope greater than a single one of the multiple distinct customer organization despite the prohibition against cross-organizational database queries, wherein the one or more database systems having the multiple distinct customer organizations'"'"' protected data stored therein are not accessible via the metrics API; a message handler for processing the cross-organizational query metrics query against the common repository and returning metrics query results from the common repository having metrics associated with multiple of the distinct customer organizations according to the customer organization ID column; and wherein the system is to monitor a workload of the host organization to prioritize real-time transaction requests over messages and associated parameters utilized to implement the metrics collection by releasing one or more of the plurality of messages for immediate processing when the workload of the host organization is below a threshold and processing the real-time transaction requests at the host organization concurrently with the released one or more messages and any associated parameters to implement the metrics collection. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification