DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. Claims 1–7, 9–12, 14–17, and 19–22 are pending for examination in the reply filed on 07/29/2025. Claims 8, 13, and 18 are cancelled. And claim 22 is NEW.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
3. Claims 1–7, 9–12, 14–17, and 19–22 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
4. As to independent claim 1, the claim recites:
“processing, by the system, the received task request to determine a resource- consuming event associated with the task request;
processing the resource-consuming event to generate a set of resource-consuming tasks based on an association between a type of the resource- consuming event and the set of resource-consuming tasks, wherein each task of the resource-consuming tasks has an associated set of criteria;
assigning the resource-consuming event to a resource group of the system, the assigning comprising:
determining a designated primary resource from an event record associated with the user;
selecting the resource group from a resource repository based on the designated primary resource having membership of the resource group, wherein the resource group comprises a first selection of primary resources and a second selection of secondary resources.”
As to independent claim 11, the claim recites:
“processing user activity from a computing device of a user of the platform to identify a resource-consuming event associated with the user;
processing the identified resource-consuming event to generate a set of resource- consuming tasks, wherein the set of resource-consuming tasks is associated with a type of the resource-consuming event;
assigning the resource-consuming event to the resource group, the assigning comprising:
identifying a designated primary resource from an event record; and
determining that the designated primary resource is one of the resources of the resource group; and
assigning each resource-consuming task to a primary resource or a secondary resource of the resource group”
As to independent claim 20, the claim recites:
“processing a user interaction received from a computing device of a user to identify a resource-consuming event resulting from the user interaction;
processing the identified resource-consuming event to generate, corresponding to a type of the identified resource-consuming event, a set of resource-consuming tasks;
assigning each resource-consuming task to a primary resource or a secondary resource of the resource group, … wherein a first task is assigned to the primary resource instead of the secondary resource based on comparing task criteria for the first task to task criteria for the second task; and
updating the resource group to replace the first selection of primary resources and a first selection of secondary resources with a second selection of primary resources and a second selection of secondary resources;
wherein:
the first selection of primary resources is different from the second selection of primary resources;
or the first selection of secondary resources is different from the second selection of secondary resources.”
These limitations, as currently drafted and within their respective claim, represent processes that, under a broadest reasonable interpretation, covers performance in the mind (including observation, evaluation, judgment, opinion, etc.) but for the recitation of generic computer components. That is, other than reciting the use of a “computer processor” to perform these steps, nothing in the claim element precludes the step from practically being performed in the mind or using pencil and paper (see MPEP 2106.04(a)(2) – Examples of Concepts The Courts Have Identified As Abstract Ideas, discussing abstract ideas or concepts relating to organizing or analyzing information in a way that can be performed mentally or is analogous to human mental work).
For example, but for the recitation of:
“at least one processor; and memory storing instructions” (claim 1),
the performance of these steps in the context of the claims reasonably encompasses the user mentally and/or manually performing the steps of mentally
1) determining set of tasks based on event; and
2) associating event and set of tasks to resource groups and resources.
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
This judicial exception is not integrated into a practical application (under Prong Two of Step 2A)
(I) Generic Computing Device
For instance, claim 1 recites the additional element of “at least one processor; and memory storing instructions” and the use of “an event record associated with the user” that perform these steps. The “processor” is recited at a high-level of generality (i.e., as a generic computing device performing a generic computer function of obtaining and processing data) such that it amounts no more than mere instructions to apply the exception using a generic computer components such as processors and processor hardware, basic processor instructions and/or software components or programs.
As to Examiner’s finding that event logging and handling is a basic and well-established computer functionalities to monitoring and record (log) internal computing processes and activities, please see, in additions to Fiacco, cited below:
1) Spiegel, US 2004/0194114 A1 (published in 2004), describing recording, writing, or logging data regarding system events occurring within a computer are provided; and
2) Wang et al., US 2005/0198281 A1 (published in 2005), describing a system for logging events of network devices includes an event management module and an event forwarding module.
Furthermore, to show that the involvement of a computer assists in improving the technology, the claims must recite the details regarding how a computer aids the method, the extent to which the computer aids the method, or the significance of a computer to the performance of the method. Merely adding generic computer components to perform the method is not sufficient. Thus, the claim must include more than mere instructions to perform the method on a generic component or machinery to qualify as an improvement to an existing technology (MPEP 2106.05(a)(II)).
And as presented, the claims merely recites that these steps are performed by the processor and the use of event records (i.e. events processing) amounting to basic and well-established computer functionalities to monitoring and record (log) internal computing processes and activities. No details are provided regarding how a computer (processor) aids the method, the extent to which the computer aids the method, or the significance of a computer to the performance of the method.
Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
(II) Data Collection
As shown, claims 1, 11, and 20 also includes the additional element of:
(a) “receiving, from a computing device of a user, a submission of a task request, the submission comprising event information;”
(b) “obtaining and storing a set of resource profiles in a resource repository;” and
(c) “obtaining and storing a resource group having a first selection of primary resources and a first selection of secondary resources assigned thereto.”
However, merely obtaining or collecting data and storing them for processing simply does not “integrate” the abstract idea into a practical application which improves the functioning of a computer or other technology or technological field.
Moreover, the courts have also held that limitations which merely adds insignificant extra-solution activity to the judicial exception does not integrate a judicial exception into a practical application.
As discussed below and set forth in MPEP § 2106.05(g), the mere collection and storage of information for processing essentially amounts to data gathering and storing and therefore is consider an “insignificant extra-solution activity.”
(III) Data Output
Additionally, claims 1, 11, and 20 also includes the additional element of:
(d) “generating, to a first resource computing device of the designated primary resource, a request indicating a first task from the generated set of resource- consuming tasks, thereby initiating task performance of the first task by the designated primary resource via the first resource computing device; and generating, to a second resource computing device of a secondary resource of the selected resource group, a request indicating a second task from the generated set of resource-consuming tasks, thereby initiating task performance of second task”
(e) “providing a task assignment indication to a respective computing device associated with the resource group to initiate performance of the resource-consuming task in response to receipt of the task assignment indication by the respective computing device”
(f) “providing a task assignment indication to a respective computing device associated with the resource group to initiate performance of the resource-consuming task in response to receipt of the task assignment indication by the respective computing device”
However, merely presenting or outputting the information from one computing device to another simply does not “integrate” the abstract idea into a practical application which improves the functioning of a computer or other technology or technological field, absent a further step or activity that executes or performs the tasks, and thereby effecting a change or improvement to the functioning of the computer or the computing device.
Moreover, the courts have also held that limitations which merely adds insignificant extra-solution activity to the judicial exception does not integrate a judicial exception into a practical application.
As discussed below and set forth in MPEP § 2106.05(g), the mere outputting of information (for display or further manipulation) is consider an “insignificant extra-solution activity.”
Accordingly, the additional elements of the claims, viewed individually and as an ordered combination, added nothing to the implementation of a mental process on an unspecified, “generic” computer and therefore failed to transform the abstract idea nature of the claims into a patent-eligible application.
(IV) “Apply It”
Each claim also includes the additional elements of:
(e) “to initiate performance” of various resource-consuming tasks.
This elements however amount to no more than a recitation of the words "apply it" (or an equivalent) and is no more than mere instructions to implement an abstract idea or other exception on a computer, by imposing some unspecified limitations or changes within the computing environment.
As recited, “initiate performance” merely states an intended result of preparing or intending to perform or carry out the tasks, all without including a specific step required to bring about the result, i.e. actual performance. For instance, the step of “initiating performance” could reasonably extends to the activity of “scheduling” the resource-consuming tasks to be performed, which covers performance in the mind.
Accordingly, the additional elements of the claims, viewed individually and as an ordered combination, added nothing to the implementation of a mental process on an unspecified, “generic” computer and therefore failed to transform the abstract idea nature of the claims into a patent-eligible application.
(V) Particular Technological Environment or Field Of Use
As shown above, the claims also include the elements of:
(1) “a set of resource profiles,”
(2) “a resource group having a first selection of primary resources and a first selection of secondary resources assigned thereto,” and
(3) “a resource-consuming event and a set of resource-consuming tasks associated with the resource-consuming event.”
These exemplary elements however merely describes the general technical or computing environment (offload requests involving data or datasets) and restrict the processed information or data to a particular type or category (without imposing any functional claim limitations, activities, or steps).
Limitations that generally link the use of the judicial exception to a particular technological environment or field of use, neither meaningfully limit the claim nor transform (the abstract idea nature of) the claim to a particular useful application to improve the functioning of a computer or any other technology.
Under Step 2B of the 101 analysis:
The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing components and field of use/technological environment which do not amount to significantly more than the abstract idea.
As claimed, the “a processor and memory” merely encompasses generic computing components (e.g. processors, computer programs) recited at a high-level of generality, executing one or more steps of the claims.
Moreover, the use of event records (i.e. events processing) merely amounts to the use basic and well-established computer functionalities to monitoring and record (log) internal computing processes and activities. No details are provided regarding how a computer (processor) aids the method, the extent to which the computer aids the method, or the significance of a computer to the performance of the method.
As to Examiner’s finding that event logging and handling is a basic and well-established computer functionalities to monitoring and record (log) internal computing processes and activities, please see, in additions to Fiacco, cited below:
1) Spiegel, US 2004/0194114 A1 (published in 2004), describing recording, writing, or logging data regarding system events occurring within a computer are provided; and
2) Wang et al., US 2005/0198281 A1 (published in 2005), describing a system for logging events of network devices includes an event management module and an event forwarding module.
Moreover, the activity of “mere data gathering” have also been found by the courts to be “insignificant extra-solution activity” as set forth in MPEP 2106.05(g)(3) Insignificant Extra-Solution Activity, describing that in determining whether an additional element is insignificant extra-solution activity, one may factoring into consideration whether the limitation amounts to necessary data gathering and outputting, (i.e., all uses of the recited judicial exception require such data gathering or data output).
Additionally, the activity of “storing and retrieving information in memory” is also considered by the courts to be insignificant extra-solution activity, as set forth in MPEP 2106.05(d) Well-Understood, Routine, Conventional Activity, enumerating some activities as either well-understood, routine, or conventional computer functions or insignificant extra-solution activities.
As recited, the step of”
(a) “receiving, from a computing device of a user, a submission of a task request, the submission comprising event information;”
(b) “obtaining and storing a set of resource profiles in a resource repository;” and
(c) “obtaining and storing a resource group having a first selection of primary resources and a first selection of secondary resources assigned thereto”
are mere data gathering activities for additional processing (receiving task requests/events) and insignificant data storage activities.
Moreover, the activity of “outputting information” have also been found by the courts to be “insignificant extra-solution activity” as set forth in 2106.05(g)(3) Insignificant Extra-Solution Activity, describing that in determining whether an additional element is insignificant extra-solution activity, one may factoring into consideration whether the limitation amounts to necessary data gathering and outputting, (i.e., all uses of the recited judicial exception require such data gathering or data output). As recited, the step of (d) “providing a task assignment indication to a respective computing device associated with the resource group” is merely outputting the information from one computing device to another.
Additionally, the computing activity of a) receiving or transmitting data over a network, and b) storing and retrieving information in memory (for distribution and dissemination, as an example), set forth in 2106.05(d)(II), setting forth that courts have recognized computer functions as well-understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. As recited, the step of (d) “providing a task assignment indication to a respective computing device associated with the resource group” merely involving the sending, distribution, and dissemination of information across computing devices.
Accordingly, the additional step(s) or element(s) of the claims, viewed individually and as an ordered combination, added nothing to the implementation of a mental process on an unspecified, “generic” computer and therefore failed to transform the abstract idea nature of the claims into a patent-eligible application.
5. As to dependent claims 2–7, 9–10, 12, 14–17, 19, and 21–22, each of these claims either (1) recites additional step(s) that covers performance in the mind; or (2) merely restricts or links the process step, information or data to a particular type, technological environment, or field of use; (3) amounts to insignificant extra-solution activity to the judicial exception such as data input, display and storage; or (4) recites a function which amounts to no more than a recitation of the words “apply it” (or an equivalent) and is no more than mere instructions to implement an abstract idea or other exception on a computer; and thus as a whole is also directed and confined to the same process set forth in claims 1, 8, and 15. Therefore, these claims do not individually or collectively add an inventive concept or additional element(s) amounting to significantly more than the abstract idea itself. These claims are therefore not drawn to eligible subject matter as they are directed to an abstract idea without significantly more.
For instance, dependent claim 2, reciting “wherein assigning each resource-consuming task to a primary resource or a secondary resource of the resource group is based at least in part upon availability, performance, or experience of each resource,” merely restricts or links the process step, information or data to a particular type, technological environment, or field of use.
Dependent claim 3, reciting “wherein the obtained task request is associated with a resource of the resource group and; wherein assigning each resource-consuming task to a primary resource or a secondary resource of the resource group is based at least in part upon the task request,” merely recites an insignificant extra-solution activity of data collection and additionally restricts or links the process step, information or data to a particular type, technological environment, or field of use.
Dependent claim 4, reciting “obtaining one or more task criteria associated with the set of resource-consuming tasks; wherein assigning each resource-consuming task to a primary resource or a secondary resource of the resource group is based at least in part upon the one or more task criteria,” merely recites an insignificant extra-solution activity of data collection and additionally restricts or links the process step, information or data to a particular type, technological environment, or field of use.
Dependent claim 5, reciting “updating the resource group to replace the first group of resource profiles with a second group of resource profiles,” merely recites additional step(s) that covers performance in the mind (updating resource profiles or information).
Dependent claim 6, reciting “wherein: the first selection of primary resources is different from the second selection of primary resources …” merely restricts or links the process step, information or data to a particular type, technological environment, or field of use.
Dependent claim 7, reciting “updating the resource repository to update one or more of the set of resource profiles” merely recites an insignificant extra-solution activity of data storage.
Dependent claim 9, reciting “providing a task dashboard via an interactive display, the task dashboard including at least assignment information of each resource-consuming task” merely recites an insignificant extra-solution activity of data output and display through the use of a generic computing device performing a generic computer function of collecting user input and providing user display/output.
Dependent claim 10, reciting “wherein the set of resource profiles is stored distributedly across a set of resource nodes on a shared network” merely restricts or links the process step, information or data to a particular type, technological environment, or field of use.
Dependent claim 22, reciting “wherein assignment of the first task to the designated primary resource is prioritized over the second task as a result of comparing task criteria associated with the first task to task criteria associated with the second task” merely recites additional step(s) that covers performance in the mind (prioritizing assignment).
And dependent claims 12, 14–17, 19 and 21, they are the corresponding method claims correspond to at least one of claims 2–7, 10, and 22. Therefore, these claims do not individually or collectively 1) integrated the abstract idea into a practical application, nor do they 2) include additional element(s) amounting to significantly more than the abstract idea itself.
Dependent claim 21, reciting “the user interaction with the platform comprises at least one of:
a user interaction with a webpage of the platform; or a user interaction with a software application of the platform” merely recites an insignificant extra-solution activity of data input, output and display through the use of a generic computing device performing a generic computer function of collecting user input and providing user display/output.
Examiner Notes
6. Examiner refers to and explicitly cites particular pages, sections, figures, paragraphs or columns and lines in the references as applied to Applicant’s claims to the extent practicable to streamline prosecution.
Although the cited portions of the references are representative of the best teachings in the art and are applied to meet the specific limitations of the claims, other uncited but related teachings of the references may be equally applicable as well. It is respectfully requested that, in preparing responses to the rejections, the Applicant fully considers not only the cited portions of the references, but also the references in their entirety, as potentially teaching, suggesting or rendering obvious all or one or more aspects of the claimed invention.
Abbreviations
7. Where appropriate, the following abbreviations will be used when referencing Applicant’s submissions and specific teachings of the reference(s):
i. figure / figures: Fig. / Figs.
ii. column / columns: Col. / Cols.
iii. page / pages: p. / pp.
References Cited
8. (A) You, US 2016/0306673 A1.
(B) Long et al., US 2022/0156776 A1 (“Long”).
(C) Fiacco et al., US 2014/0165067 A1 (“Fiacco”).
(D) Bartfai-Walcott et al., US 2016/0359683 A1 (“Bartfai-Walcott”).
You, Long, and Bartfai-Walcott were cited in the previous Office action.
Notice re prior art available under both pre-AIA and AIA
9. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
A.
10. Claims 1–7, 10–12, 14–17, 20, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over (A) You in view of (B) Long and (C) Fiacco.
See “References Cited” section, above, for full citations of references.
11. Regarding claim 1, (A) You teaches/suggests the invention substantially as claimed, including:
“A system for dynamic resource management comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, causes the system to perform a set of operations, the set of operations comprising:”
(Claim 12: a processor; and a non-transitory computer-readable medium;
¶ 103: implemented using software, hardware, firmware, and/or the combinations thereof. Regardless of being implemented using software, hardware, firmware or the combinations thereof, instruction code can be stored in any kind of computer readable media);
“receiving from a computing device of a user a submission of a task request the submission comprising event information”
(¶ 40: target task deployment request receiving module 215 is configured to obtain task deployment requests corresponding to the target task;
¶ 83: provisioning apparatus obtains a task deployment request corresponding to the target task …
¶ 84: the target task deployment request received in step S15 is sent by a user or other provisioning apparatus to the present provisioning apparatus in order to request deployment of a target task, which has not been executed on any processing nodes … In some other embodiments, a target task deployment request can include all the types of requests related to the target task being executed on one or more of the processing nodes managed by the provisioning apparatus;
¶ 65: a backend operating framework can collect and store component metric information for all the processing nodes during their execution of tasks;
the Examiner notes: task deployment is a “resource-consuming” execution EVENT requiring resource usage);
“processing by the system the received task request to determine a resource-consuming
event associated with the task request”
(¶ 43: After receiving a deployment request for a target task, the provisioning apparatus 200 determines one or more processing nodes in the pool that are best suited for executing the target task;
“assigning the resource-consuming event to a resource group of the system
the assigning comprising”
(¶ 26: matching module 113 is configured to determine, based on the obtained task characteristic information of the target task and the obtained component metric information of the pool of processing nodes, a second set of one or more processing nodes from the pool of processing nodes that satisfy the resource requirements of the target task. Given the obtained component metric information indicating the resource metric profile of all the processing nodes managed by the provisioning apparatus and suitable for executing the target task, and given the obtained task characteristics indicating the resource requirements by the target task, the matching of the component metric information of the pool of the processing nodes with the task characteristics of the target task advantageously allows for the selection of one or more processing nodes that are best suitable for executing the target task. The target task is deployed to one or more of the selected one or more processing nodes for continuous execution; those one or more processing nodes executing the target task become the second set of processing nodes);
“determining a designated primary resource … selecting the resource group from a resource repository based on the designated primary resource having membership of the resource group wherein the resource group comprises a first selection of primary resources and a second selection of secondary resources”
(¶ 43: to determine a first set of processing nodes from the pool of the processing nodes managed by the provisioning apparatus 200 to match the resource requirements of the target task based on the component metric information of the pool of the processing nodes. Here, the component metric information of the processing nodes in the pool is obtained by the component metric information obtaining module 211. After receiving a deployment request for a target task, the provisioning apparatus determines one or more processing nodes in the pool that are best suited for executing the target task based on an overall analysis of the component metric information of the pool of processing nodes. The selection of the first set of processing nodes allows for the processing nodes to start analyzing task characteristic information for the target task in execution;
¶ 23: obtaining component metric information of the pool of the processing nodes, the status of the usage and the availability of the resources on the processing nodes capable of executing a target task can be better determined;
¶ 32: In an example where a target task has the critical characteristic as the requirement for storage I/O bandwidth, the second critical characteristic as the requirement for memory bandwidth, the third characteristic as the requirement for CPU capacity and the lowest characteristics as the requirement for the network bandwidth, the provisioning apparatus selects from its managed pool of processing nodes all the processing nodes that satisfy the storage I/O bandwidth requirement to generate a first candidate set of processing nodes. Then, the provisioning apparatus selects from the first candidate set the processing nodes that satisfy the memory bandwidth requirement and at the same time have a lowest amount of storage I/O bandwidth to generate a second candidate set of processing nodes ….
¶ 102: pool of the processing nodes can be updated according to the resource availability of the plurality of processing nodes).
The Examiner notes that “primary resources” and “secondary resources” of the “resource group” are interpreted as different sets of processing nodes with different capabilities and/or capacities which are matched to different levels of resource requirements or critical characteristics.
It would have been obvious to an ordinary artisan that a task may be deployed onto either “primary” resources or “secondary” resources based on both overall suitability and current resource availability, so as to “start analyzing task characteristic information for the target task in execution and avoids lengthy hold-time before the target task is deployed for execution” (see You, ¶ 43).
You does not teach: 1) “processing the resource-consuming event to generate a set of resource-consuming tasks based on an association between a type of the resource-consuming event and the set of resource-consuming tasks wherein each task of the resource-consuming tasks has an associated set of criteria” and
2) “generating to a first resource computing device of the designated primary resource a request indicating a first task from the generated set of resource-consuming tasks thereby initiating task performance of the first task by the designated primary resource via the first resource computing device; and
generating to a second resource computing device of a secondary resource of the selected resource group a request indicating a second task from the generated set of resource-consuming tasks thereby initiating task performance of the second task.”
(B) Long, in the context of You’s invention, however teaches or suggests implementing:
“processing the resource-consuming event to generate a set of resource-consuming tasks based on an association between a type of the resource-consuming event and the set of resource-consuming tasks wherein each task of the resource-consuming tasks has an associated set of criteria”
(¶ 100: tasks can be batched or subdivided depending on resource availabilities;
¶ 25: dividing the larger computation task into two or more subtasks, where the two or more subtasks include the first computation task; assigning the two or more subtasks to two or more edge computing nodes including the first edge computing node, to compute two or more subtask solutions;
¶ 103: user client module, a library, or a software development kit (SDK) may be provided, integrated directly into, and interface with edge computing node 130’s existing computing environments and/or installed proprietary software to solve different types of computation tasks;
¶ 111: edge nodes 230 and 260 may include different types of edge computing software or clients capable of processing different task types with different difficulties levels;
¶ 117: task initiators may instead “push” tasks to edge computing nodes that have indicated their interest to work on certain task types;
the Examiner notes: Long teaches or suggests that different groupings or collections of subtasks may be generated (subdivided) based on the types of tasks requested, the tasks’ difficulty levels, constraints, priorities, etc., as well as node/resource availabilities, node interests, and capabilities);
“generating to a first resource computing device of the designated primary resource a request indicating a first task from the generated set of resource-consuming tasks thereby initiating task performance of the first task by the designated primary resource via the first resource computing device; and
generating to a second resource computing device of a secondary resource of the selected resource group a request indicating a second task from the generated set of resource-consuming tasks thereby initiating task performance of the second task”
(¶ 155: Task Initiator 210 may assign the task to edge computing node 230 by sending task details or task information to edge computing node 230, possibly through a secure channel. Task information refers to any one or combinations of task definition, description, metadata, input data, computing instructions, or the like, that allows edge computing node 230 to generate an acceptable solution to the task. In some embodiments, edge nodes may poll … on regular intervals to see if another task is available. If there are additional tasks, an edge computing node may ping task initiator 210 to download task details. In different embodiments, task initiator 210 and edge computing node 230 may be viewed as having a server-client relationship …
¶ 117: task initiators may instead “push” tasks to edge computing nodes that have indicated their interest to work on certain task types).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of (B) Long with those of (A) You, to divide a requested task that is divisible (into subtasks) and deploy partitioned subtasks to a plurality of respective processing nodes based on availability and submitted/requested task type. The motivation or advantage to do so is to provide for the efficient, expedited processing of tasks using available, distributed computing resources/methods.
You and Long do not teach “determining … from an event record associated with the user”
(C) Fiacco however teaches or suggests:
“determining … from an event record from an event record associated with the user”
(¶ 18: Event processor 128 interprets events and, based on task information stored in event database 132, initiates actions associated with the tasks;
¶ 19: Event database 132 stores information associated with tasks and events. For example, when a user or program specifies a task to be performed, the task is stored by event database 132. The task may include a description of the task to be performed, an indication of the computing system that is to perform the task … or other suitable information associated with the task. In particular embodiments, instead of specifying a particular computing system, a task may include a specification of a group of computing systems 112 that may perform the task).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of (C) Fiacco with those of You and Long, to record/log user requests (interactions) and task information in event records. The motivation or advantage to do so is to monitor and record events and task executions for evaluating task performances, resource utilizations, and statuses.
12. Regarding claim 2, You teaches/suggests:
“wherein assigning each resource-consuming task to a primary resource or a secondary resource of the resource group is based at least in part upon availability, performance, or experience of each resource”
(¶ 65: By obtaining component metric information of the pool of the processing nodes, the status of the usage and availability of the resources on the processing nodes capable of executing a target task can be better determined;
¶ 102: the provisioning apparatus determines a pool of processing nodes out of the plurality of processing nodes 704 such that the processing nodes in the pool are suitable for execution the submitted target task, based on the component metric information the plurality of processing nodes 704 sent thereto. The pool of the processing nodes can be updated according to the resource availability).
13. Regarding claim 3, You teaches/suggests:
“wherein the obtained task request is associated with a resource of the resource group;
wherein assigning each resource-consuming task to a primary resource or a secondary resource of the resource group is based at least in part upon the task request”
(¶ 42: A target task deployment request is sent by a user or other provisioning apparatus to the present provisioning apparatus 200 in order to request deploying of a target task for execution ….;
¶ 43: After receiving a deployment request for a target task, the provisioning apparatus 200 determines one or more processing nodes in the pool that are best suited for executing the target task).
14. Regarding claim 4, You teaches/suggests:
“obtaining one or more task criteria associated with the set of resource-consuming tasks;
wherein assigning each resource-consuming task to a primary resource or a secondary resource of the resource group is based at least in part upon the one or more task criteria”
(¶ 43: determine a first set of processing nodes from the pool of the processing nodes managed by the provisioning apparatus 200 to match the resource requirements of the target task based on the component metric information of the pool of the processing nodes;
¶ 26: matching module 113 is configured to determine, based on the obtained task characteristic information of the target task and the obtained component metric information of the pool of processing nodes, a second set of one or more processing nodes from the pool of processing nodes that satisfy the resource requirements of the target task … given the obtained task characteristics indicating the resource requirements by the target task, the matching of the component metric Information of the pool of the processing nodes with the task characteristics of the target task advantageously allows for the selection of one or more processing nodes that are best suitable for executing the target task).
15. Regarding claim 5, You teaches/suggests:
“updating the resource group to replace the first group of resource profiles with a second group of resource profiles, the second group of resource profiles including a second selection of primary resources and a second selection of secondary resources”
(¶ 102: The pool of the processing nodes can be updated according to the resource availability;
¶ 49: installing a daemon program on the processing node 300 to periodically measure and collect the component performance data;
¶ 69: Multiple approaches can be implemented to determine a second set of processing nodes. For example, relative ratios of the obtained task characteristic and the obtained corresponding component metric of all the processing nodes in the pool are computed. Based on the computed relative ratios, ranked lists are generated to determine a highest ratio, a second highest ratio, etc. … Next, the second set of processing nodes is determined based on the above described ranked lists
the Examiner notes: as tasks executes on the provisioned nodes, the obtained component metric information of the pool of processing nodes updates, which changes the availability and selection of determined and assigned first and second sets of processing nodes based on availability and suitability, e.g. task requirements and resource capacity/capability).
16. Regarding claim 6, You teaches/suggests:
‘the first selection of primary resources is different from the second selection of primary resources; or the first selection of secondary resources is different from the second selection of secondary resources”
(¶ 102: The pool of the processing nodes can be updated according to the resource availability;
¶ 21: the pool of processing nodes can include one or more processing nodes, the first set of processing nodes and the second set of processing nodes can be a sub-set of the pool of processing nodes, respectively. Further, it is also appreciated that the first set of processing nodes and the second set of processing nodes can include the same, different, or partially the same processing nodes in the pool);
17. Regarding claim 7, You teaches/suggests:
“updating the resource repository to update one or more of the set of resource profiles”
(¶ 102: The pool of the processing nodes can be updated according to the resource availability;
¶ 65: Multiple approaches can be implemented to obtain component metric information of the processing nodes in the pool. For example, a backend operating framework can collect and store component metric information for all the processing nodes during their execution of tasks … the obtained metric information is transmitted by the backend operating framework or the monitoring module or the daemon program to the provisioning apparatus. By obtaining component metric information of the pool of the processing nodes, the status of the usage and availability of the resources on the processing nodes capable of executing a target task can be better determined).
18. Regarding claim 10, You teaches/suggests:
“wherein the set of resource profiles is stored distributedly across a set of resource nodes on a shared network”
(¶ 102: The pool of the processing nodes can be updated according to the resource availability;
¶ 65: Multiple approaches can be implemented to obtain component metric information of the processing nodes in the pool. For example, a backend operating framework can collect and store component metric information for all the processing nodes during their execution of tasks … the obtained metric information is transmitted by the backend operating framework or the monitoring module or the daemon program to the provisioning apparatus. By obtaining component metric information of the pool of the processing nodes, the status of the usage and availability of the resources on the processing nodes capable of executing a target task can be better determined;
¶ 108: One or more of the software modules disclosed herein may be implemented in a cloud computing environment. Cloud computing environments may provide various services and applications via the Internet. These cloud-based services ( e.g., software as a service, platform as a service, infrastructure as a service, etc.) may be accessible through a Web browser or other remote interface. Various functions described herein may be provided through a remote desktop environment or any other cloud-based computing environment).
19. Regarding claims 22, You and Long teach/suggest:
“wherein assignment of the first task to the designated primary resource is prioritized over the second task as a result of comparing task criteria associated with the first task to task criteria associated with the second task”
(You, ¶ 31: the critical characteristics of the task characteristic information are satisfied in priority level with the obtained component metric information of the processing nodes in the pool during the matching target task to processing nodes by the provisioning apparatus;
Long, ¶ 105: initiator may have one or more associated scores indicating its task load, priority, urgency, delay requirement, reward amount and history, trustworthiness, and similar characteristics. Such scores may be used for node/task/job matching, task allocation and assignment).
20. Regarding claim 11, (A) You teaches/suggests the invention substantially as claimed, including:
“A method for dynamic resource management comprising:
obtaining and storing a set of resource profiles in a resource repository”
(¶ 65: example, a backend operating framework can collect and store component metric information for all the processing nodes during their execution of tasks. Alternatively, at corresponding processing nodes, a monitoring module can be installed to monitor the status and to perform statistics over the monitored data to obtain component metric information. Alternatively, a daemon program can be installed at all the processing nodes to measure and to obtain the component metrics thereof in a periodical manner. Finally, the obtained metric information is transmitted by the backend operating framework or the monitoring module or the daemon program to the provisioning apparatus);
“obtaining and storing a resource group having a first selection of primary resources and a first selection of secondary resources assigned thereto”
(¶ 23: By obtaining component metric information of the pool of the processing nodes, the status of the usage and the availability of the resources on the processing nodes capable of executing a target task can be better determined, thereby contributing to a higher degree of accuracy and speed of resource provisioning;
¶ 102: the provisioning apparatus determines a pool of processing nodes out of the plurality of processing nodes 704 such that the processing nodes in the pool are suitable for execution the submitted target task, based on the component metric information the plurality of processing nodes 704 sent thereto. The pool of the processing nodes can be updated according to the resource availability;
¶ 21: the pool of processing nodes can include one or more processing nodes, the first set of processing nodes and the second set of processing nodes can be a sub-set of the pool of processing nodes, respectively. Further, it is also appreciated that the first set of processing nodes and the second set of processing nodes can include the same, different, or partially the same processing nodes in the pool);
“processing user activity from a computing device of a user of the platform to identify a resource-consuming event associated with the user”
(¶ 40: target task deployment request receiving module 215 is configured to obtain task deployment requests corresponding to the target task;
¶ 83: provisioning apparatus obtains a task deployment request corresponding to the target task …
¶ 84: the target task deployment request received in step S15 is sent by a user or other provisioning apparatus to the present provisioning apparatus in order to request deployment of a target task, which has not been executed on any processing nodes … In some other embodiments, a target task deployment request can include all the types of requests related to the target task being executed on one or more of the processing nodes managed by the provisioning apparatus;
¶ 65: a backend operating framework can collect and store component metric information for all the processing nodes during their execution of tasks;
the Examiner notes: task deployment is a “resource-consuming” execution EVENT requiring resource usage);
“assigning the resource-consuming event to the resource group, the assigning comprising:”
(¶ 26: matching module 113 is configured to determine, based on the obtained task characteristic information of the target task and the obtained component metric information of the pool of processing nodes, a second set of one or more processing nodes from the pool of processing nodes that satisfy the resource requirements of the target task. Give