Batched tasks
First Claim
Patent Images
1. A method for reporting tasks taken in a shared electronic workspace (SEW) with improved computational efficiency, comprising:
- receiving a task;
storing the task in a table;
determining whether the task belongs in a batch based on a predefined batch definition;
in response to determining that the task belongs in the batch, determining whether an existing batch is active in a queue;
in response to determining that the existing batch is active in the queue, adding the task to the existing batch;
determining whether a trigger has occurred for a given batch;
in response to determining that the trigger has occurred for the given batch;
preventing the given batch from receiving additional tasks so that when a second task is determined to belong to the given batch while the given batch is prevented from receiving additional tasks, a new batch is created to which the second task is to be added instead of the given batch;
generating and transmitting a report on tasks belonging to the given batch to a user; and
removing the given batch from the queue.
1 Assignment
0 Petitions
Accused Products
Abstract
Reducing computational load for systems tracking tasks performed in a shared electronic environment allows for users to receive more nuanced notifications about the use of the shared of the electronic environment, more frequent notifications, or let the systems use those resources for other purposes. The systems and methods discussed herein provide for batching and queueing of tasks to reduce the computational load of systems and thereby improve the systems themselves and the user experience.
21 Citations
19 Claims
-
1. A method for reporting tasks taken in a shared electronic workspace (SEW) with improved computational efficiency, comprising:
-
receiving a task; storing the task in a table; determining whether the task belongs in a batch based on a predefined batch definition; in response to determining that the task belongs in the batch, determining whether an existing batch is active in a queue; in response to determining that the existing batch is active in the queue, adding the task to the existing batch; determining whether a trigger has occurred for a given batch; in response to determining that the trigger has occurred for the given batch; preventing the given batch from receiving additional tasks so that when a second task is determined to belong to the given batch while the given batch is prevented from receiving additional tasks, a new batch is created to which the second task is to be added instead of the given batch; generating and transmitting a report on tasks belonging to the given batch to a user; and removing the given batch from the queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented system for reporting tasks taken in a shared electronic workspace (SEW) with improved computational efficiency, comprising:
-
a memory having stored programmed instructions; and a processor for executing the stored programmed instructions, wherein execution of the programmed instructions causes the processor to operate as; a task table, operable to receive a task performed by a writer in the SEW; a cache, operable to receive a batch definition from a receiver, wherein the batch definition defines a trigger for an event indicating that a given batch is ready for processing and wherein the batch definition defines criteria for whether a given task belongs to the given batch; a batching agent, in communication with the cache, operable to examine the task to determine whether the task meets the batch definition and, in response to determining that the task meets the batch definition, assign the task to a batch; an executor, in communication with the task table and the receiver, operable to receive the batch and in response to receiving the batch, pull the task assigned to the batch from the task table and generate and transmit a report based on the batch to the receiver; a queue, in communication with the batching agent, operable to maintain the batch, wherein the batch is maintained in a hidden state and or in a visible state for execution, wherein the batch in the hidden state is operable to have additional tasks assigned to the batch and the batch in the visible state is not operable to have the additional tasks assigned, wherein the queue is further operable to change the batch from the hidden state to the visible state in response to the trigger, and wherein in response to the trigger changing the batch from the hidden state to the visible state, the visible state batch is prevented from receiving additional tasks so that when a new task is determined to belong to the visible state batch while the visible state batch is prevented from receiving additional tasks, a new batch is created to which the new task is to be added instead of the visible state batch; and a polling agent, in communication with the queue and the executor, operable to remove the batch from the queue when the batch is in the visible state to transmit the batch to the executor. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for reporting tasks taken in a shared electronic workspace (SEW) with improved computational efficiency, comprising:
-
polling a queue for a batch that is visible, wherein batches include identifiers for tasks performed by a writer in the SEW that meet a batch definition, wherein the batch definition is predetermined, and wherein batches are maintained in the queue as hidden or visible based on a trigger defined by the batch definition; determining whether the batch is newly visible; in response to determining that the batch is newly visible; setting a lock on the batch to indicate that the batch is no longer newly visible; retrieving the tasks from a task table; processing the tasks within the SEW; and releasing the lock from the batch; and in response to the trigger indicating that the batch is visible but the lock indicating that the batch is no longer newly visible, preventing the visible batch from receiving additional tasks so that when a new task is determined to belong to the visible batch while the visible batch is prevented from receiving additional tasks, a new batch is created to which the new task is to be added instead of the visible batch. - View Dependent Claims (18, 19)
-
Specification