US2012030505A1PendingUtilityA1

Method and Apparatus for Calendaring Reminders

Assignee: CHHATRAPATI RUPESHPriority: Jul 16, 2001Filed: Oct 6, 2011Published: Feb 2, 2012
Est. expiryJul 16, 2021(expired)· nominal 20-yr term from priority
G06Q 10/06G06Q 10/1093H04L 67/535G06F 16/24547Y02P90/80G06Q 10/109Y10S707/99948Y10S707/951Y10S707/99945
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An electronic calendar includes such features as recurring reminders, dividing unpredictable work loads into equal pieces, template free parsing, a reminders scheduling algorithm to reduce spikes, dynamic delivery and recovery algorithms, methods for splitting the work load between controllers and workers and for monitoring progress, all within the context of a calendar architecture for a large enterprise.

Claims

exact text as granted — not AI-modified
1 . A method for dividing an unpredictable workload into equal pieces, comprising the steps of:
 dividing up actions that must be taken during a given time frame into groups of substantially equal size;   assigning each group to at least one device, wherein a number of actions to be taken by said at least one device are no greater than said device can take within such time frame;   attaching a label to a description of each action, in addition to any details specified by a client and independent therefrom, at a time when a request for action is received from said client, such that all possible labels appear with substantially equal frequency; and grouping actions to be taken in a given time frame according to said labels attached to them into groups of substantially equal size.   
     
     
         2 . A method for delivering messages that are composed of standard reminder content and event-specific content, comprising the steps of:
 storing all standard content for reminders in a set of template files;   specifying in each template file all standard content for a specific reminder; and   including in each template a set of directives that indicate where a substitution of event-specific content should occur.   
     
     
         3 . The method of  claim 2 , further comprising the steps of:
 at runtime, loading a template file into a cache when it is first needed; and pre-parsing said template file when said template is first loaded into said cache by dissecting said template into an array of hard coded string constants and variable names.   
     
     
         4 . The method of  claim 3 , further comprising the steps of:
 assembling final reminder content by walking said array of hard coded string constants and variable names;   appending string constants to final message content; and using template variable names as a lookup into a dictionary of key-value pairs for a particular reminder.   
     
     
         5 . A method for splitting a large workload, for executing said workload at a specific time, and for finishing said execution within a small period of time, comprising the steps of:
 providing a controller for starting a-job as a worker on a different worker machine to distribute said workload evenly across a plurality of worker machines; depending upon said worker machines' capacity, and current usage; and   said controller dividing a large job into smaller jobs by grouping records within said large job by a distribution 10 that is randomly assigned to each record upon its creation, and by assigning a range of distribution IDs to a job.   
     
     
         6 . The method of  claim 5 , further comprising the step of:
 removing a worker machine on the fly should said worker machine fail or need to be taken down;   wherein said controller does not start any new work on said worker machine.   
     
     
         7 . The method of  claim 5 , further comprising the step of:
 said worker starts executing a job that is sorted by a distribution; and   said worker updating said controller at a regular interval with its progress, measured in terms of said distribution.   
     
     
         8 . The method of  claim 5 , wherein if a worker fails to complete a job, then said controller identifying said failure and restarting a new job that only does work that was not completed by a previous worker, thereby reducing redundant work. 
     
     
         9 . The method of  claim 5 , further comprising the step of:
 running of a backup controller which keeps an eye on a primary controller and takes charge when said primary controller is not able to do its job to safeguard against any single point of failure.   
     
     
         10 . The method of  claim 5 , further comprising the steps of:
 adding a new worker machine on the fly; and   said controller assigning new work on said new machine.   
     
     
         11 . A system for delivering messages that are composed of standard reminder content and event-specific content, comprising:
 at least one user computer comprising a processor, memory, an input device for receiving one or more reminders, and a plurality of processing modules including at least;
 a storage module configured for storing all standard content for reminders in a set of template files; 
 a specification module configured for specifying in each template file all standard content for a specific reminder; and 
 a substitution module configured for including in each template a set of directives that indicate where a substitution of event-specific content should occur. 
   
     
     
         12 . The system of  claim 11 , further comprising:
 a caching module configured for loading, at runtime, a template file into a cache when it is first needed; and   a parser configured for pre-parsing said template file when said template is first loaded into said cache by dissecting said template into an array of hard coded string constants and variable names.   
     
     
         13 . The system of  claim 12 , further comprising:
 an assembly module configured for assembling final reminder content by walking said array of hard coded string constants and variable names;   an appendix module configured for appending string constants to final message content; and   a lookup module configured for using template variable names as a lookup into a dictionary of key-value pairs for a particular reminder.   
     
     
         14 . A system comprising:
 at least one user computer comprising a processor, memory, an input device for receiving one or more reminders, wherein said processor is configured for splitting a large workload, for executing said workload at a specific time, and for finishing said execution within a small period of time; and   a plurality of processing modules including at least;
 a controller for starting a-job as a worker on a different worker machine to distribute said workload evenly across a plurality of worker machines; depending upon said worker machines' capacity, and current usage; and 
 wherein said controller is further configured for dividing a large job into smaller jobs by grouping records within said large job by a distribution that is randomly assigned to each record upon its creation, and by assigning a range of distribution IDs to a job. 
   
     
     
         15 . The system of  claim 14 , further comprising:
 a removal module configured for removing a worker machine on the fly should said worker machine fail or need to be taken down;   wherein said controller does not start any new work on said worker machine.   
     
     
         16 . The system of  claim 14 , further comprising:
 said worker starts executing a job that is sorted by a distribution; and   said worker updating said controller at a regular interval with its progress, measured in terms of said distribution.   
     
     
         17 . The system of  claim 14 , wherein the controller is further configured for that, if a worker fails to complete a job, identifying said failure and restarting a new job that only does work that was not completed by a previous worker, thereby reducing redundant work. 
     
     
         18 . The system of  claim 14 , wherein the controller is further configured for running of a backup controller which keeps an eye on a primary controller and takes charge when said primary controller is not able to do its job to safeguard against any single point of failure. 
     
     
         19 . The system of  claim 14 , further configured for adding a new worker machine on the fly, and wherein said controller is configured for assigning new work on said new machine. 
     
     
         20 . A computer readable medium containing executable code that, when executed by a processing device, performs the method of  claim 2 .

Join the waitlist — get patent alerts

Track US2012030505A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.