Method and system for applying a group of instructions to metadata
First Claim
Patent Images
1. A method, comprising:
- receiving a plurality of instructions indicating at least one operation to be performed on a plurality of instances of metadata associated with an environment of a subscriber of an on-demand database service, wherein each of the instructions is separately received with a corresponding request to perform the corresponding instruction, such that a plurality of requests are received each indicating a separate one of the instructions to be performed;
determining that the plurality of instructions are members of a same group utilizing information corresponding to the instructions indicating that the instructions are each a member of the group, wherein the information corresponding to the instructions indicating that the instructions are each a member of the group is included in each of the separate requests and includes one of a bit asserted in association with each of the plurality of requests and a tag included within each of the plurality of requests; and
conditionally performing the at least one operation on the instances of metadata associated with the environment of the subscriber, based on whether each of the instructions in the group of instructions is permissible, wherein it is determined whether each of the instructions in the group of instructions is permissible based on at least one of a status and associated access rights of the subscriber, rules associated with the at least one operation to be performed on the instances of the metadata, and rules associated with the instructions;
wherein all of the instructions of the group are required to be permissible in order for the at least one operation to be performed, such that if at least one of the instructions of the group is impermissible then none of the at least one operation indicated by the group of instructions is performed;
wherein when it is determined that all of the instructions of the group are permissible, each of the corresponding requests are inspected to determine a header associated with each of the requests, where for each request, the header indicates whether the request is an asynchronous request;
wherein for each request, when it is determined that the header indicates that the request is an asynchronous request, it is determined whether a local thread pool has enough capacity to process the request in real-time.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments, there are provided mechanisms and methods for applying a group of instructions to metadata in the context of an on-demand database service. These mechanisms and methods for applying a group of instructions to metadata can enable embodiments that ensure that “all or none” of the operations corresponding to the grouped instructions are performed. The ability of embodiments to provide such feature can prevent a scenario where only a portion of a desired effect is accomplished which, in turn, may complicate any effort to undo the same.
60 Citations
25 Claims
-
1. A method, comprising:
-
receiving a plurality of instructions indicating at least one operation to be performed on a plurality of instances of metadata associated with an environment of a subscriber of an on-demand database service, wherein each of the instructions is separately received with a corresponding request to perform the corresponding instruction, such that a plurality of requests are received each indicating a separate one of the instructions to be performed; determining that the plurality of instructions are members of a same group utilizing information corresponding to the instructions indicating that the instructions are each a member of the group, wherein the information corresponding to the instructions indicating that the instructions are each a member of the group is included in each of the separate requests and includes one of a bit asserted in association with each of the plurality of requests and a tag included within each of the plurality of requests; and conditionally performing the at least one operation on the instances of metadata associated with the environment of the subscriber, based on whether each of the instructions in the group of instructions is permissible, wherein it is determined whether each of the instructions in the group of instructions is permissible based on at least one of a status and associated access rights of the subscriber, rules associated with the at least one operation to be performed on the instances of the metadata, and rules associated with the instructions; wherein all of the instructions of the group are required to be permissible in order for the at least one operation to be performed, such that if at least one of the instructions of the group is impermissible then none of the at least one operation indicated by the group of instructions is performed; wherein when it is determined that all of the instructions of the group are permissible, each of the corresponding requests are inspected to determine a header associated with each of the requests, where for each request, the header indicates whether the request is an asynchronous request; wherein for each request, when it is determined that the header indicates that the request is an asynchronous request, it is determined whether a local thread pool has enough capacity to process the request in real-time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory machine-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
receiving a plurality of instructions indicating at least one operation to be performed on a plurality of instances of metadata associated with an environment of a subscriber of an on-demand database service, wherein each of the instructions is separately received with a corresponding request to perform the corresponding instruction, such that a plurality of requests are received each indicating a separate one of the instructions to be performed; determining that the plurality of instructions are members of a same group utilizing information corresponding to the instructions indicating that the instructions are each a member of the group, wherein the information corresponding to the instructions indicating that the instructions are each a member of the group is included in each of the separate requests and includes one of a bit asserted in association with each of the plurality of requests and a tag included within each of the plurality of requests; and conditionally performing the at least one operation on the instances of metadata associated with the environment of the subscriber, based on whether each of the instructions in the group of instructions is permissible, wherein it is determined whether each of the instructions in the group of instructions is permissible based on at least one of a status and associated access rights of the subscriber, rules associated with the at least one operation to be performed on the instances of the metadata, and rules associated with the instructions; wherein all of the instructions of the group are required to be permissible in order for the at least one operation to be performed, such that if at least one of the instructions of the group is impermissible then none of the at least one operation indicated by the group of instructions is performed; wherein when it is determined that all of the instructions of the group are permissible, each of the corresponding requests are inspected to determine a header associated with each of the requests, where for each request, the header indicates whether the request is an asynchronous request; wherein for each request, when it is determined that the header indicates that the request is an asynchronous request, it is determined whether a local thread pool has enough capacity to process the request in real-time.
-
-
24. An apparatus, comprising:
-
a hardware processor; and one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of; receiving a plurality of instructions indicating at least one operation to be performed on a plurality of instances of metadata associated with an environment of a subscriber of an on-demand database service, wherein each of the instructions is separately received with a corresponding request to perform the corresponding instruction, such that a plurality of requests are received each indicating a separate one of the instructions to be performed; determining that the plurality of instructions are members of a same group utilizing information corresponding to the instructions indicating that the instructions are each a member of the group, wherein the information corresponding to the instructions indicating that the instructions are each a member of the group is included in each of the separate requests and includes one of a bit asserted in association with each of the plurality of requests and a tag included within each of the plurality of requests; and conditionally performing the at least one operation on the instances of metadata associated with the environment of the subscriber, based on whether each of the instructions in the group of instructions is permissible wherein it is determined whether each of the instructions in the group of instructions is permissible based on at least one of a status and associated access rights of the subscriber, rules associated with the at least one operation to be performed on the instances of the metadata, and rules associated with the instructions; wherein all of the instructions of the group are required to be permissible in order for the at least one operation to be performed, such that if at least one of the instructions of the group is impermissible then none of the at least one operation indicated by the group of instructions is performed; wherein when it is determined that all of the instructions of the group are permissible, each of the corresponding requests are inspected to determine a header associated with each of the requests, where for each request, the header indicates whether the request is an asynchronous request; wherein for each request, when it is determined that the header indicates that the request is an asynchronous request, it is determined whether a local thread pool has enough capacity to process the request in real-time.
-
-
25. A method for transmitting code in a multi-tenant database system on a transmission medium, the method comprising:
-
transmitting code to receive a plurality of instructions indicating at least one operation to be performed on a plurality of instances of metadata associated with an environment of a subscriber of an on-demand database service, wherein each of the instructions is separately received with a corresponding request to perform the corresponding instruction, such that a plurality of requests are received each indicating a separate one of the instructions to be performed; transmitting code to determine that the plurality of instructions are members of a same group utilizing information corresponding to the instructions indicating that the instructions are each a member of the group, wherein the information corresponding to the instructions indicating that the instructions are each a member of the group is included in each of the separate requests and includes one of a bit asserted in association with each of the plurality of requests and a tag included within each of the plurality of requests; and transmitting code to conditionally perform the at least one operation on the instances of metadata associated with the environment of the subscriber, based on whether each of the instructions in the group of instructions is permissible, utilizing a processor wherein it is determined whether each of the instructions in the group of instructions is permissible based on at least one of a status and associated access rights of the subscriber, rules associated with the at least one operation to be performed on the instances of the metadata, and rules associated with the instructions; wherein all of the instructions of the group are required to be permissible in order for the at least one operation to be performed, such that if at least one of the instructions of the group is impermissible then none of the at least one operation indicated by the group of instructions is performed; wherein when it is determined that all of the instructions of the group are permissible, each of the corresponding requests are inspected to determine a header associated with each of the requests, where for each request, the header indicates whether the request is an asynchronous request; wherein for each request, when it is determined that the header indicates that the request is an asynchronous request, it is determined whether a local thread pool has enough capacity to process the request in real-time.
-
Specification