Method and apparatus for processing electronic mail in parallel
First Claim
1. A method for processing electronic mail objects in parallel in a computer system, the method comprising the computer-implemented steps of:
- receiving electronic mail objects in a data structure;
a first process spawning child processes;
said child processes processing said electronic mail objects in parallel;
a second process detecting a change in the number of said electronic mail objects in said data structure;
a third process spawning at least one additional child process in response to an increase in the number of said electronic mail objects in said data structure;
a fourth process terminating at least one of said child processes in response to a decrease in the number of said electronic mail objects in said data structure; and
at least one of said child processes processing additional electronic mail objects until terminated by said fourth process.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for processing electronic mail in parallel. The present invention provides the ability to process mail objects in an electronic mail system in parallel. A message can be assigned to a queue. One or more processes can manage a plurality of messages in the queue. Each process can identify the next entry to be processed. Entries previously processed can be marked such that subsequent access is locked out. Mail objects and process information can be stored in a relational database system that provides the ability to perform locking at the record level. A process can be configured to perform a plurality of activities in a plurality of time periods. A guardian process can initiate or terminate other processes based on process information. Further, a guardian process examines system information periodically and identifies any need to initiate, restart, or stop one or more processes. Further, the guardian process can pass process information to an initiated process. One or more tables can be used to retain message information such as a instance table that includes a queue column. Further, tables can be used to retain process information such as process, process parameters, and process time tables.
51 Citations
20 Claims
-
1. A method for processing electronic mail objects in parallel in a computer system, the method comprising the computer-implemented steps of:
-
receiving electronic mail objects in a data structure; a first process spawning child processes; said child processes processing said electronic mail objects in parallel; a second process detecting a change in the number of said electronic mail objects in said data structure; a third process spawning at least one additional child process in response to an increase in the number of said electronic mail objects in said data structure; a fourth process terminating at least one of said child processes in response to a decrease in the number of said electronic mail objects in said data structure; and at least one of said child processes processing additional electronic mail objects until terminated by said fourth process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 12, 13)
-
-
9. In an electronic mail system, a method of dynamically scaling processing capability comprising the steps of:
-
said electronic mail system receiving electronic mail objects; a first process spawning child processes; said child processes processing said electronic mail objects in parallel; a second process configured to detect an increase in processing activity of said child processes and to spawn at least one additional child process in response to detecting the increase; and a third process configured to detect a decrease in processing activity of said child processes and to terminate at least one of said child processes in response to detecting the decrease. - View Dependent Claims (10)
-
-
11. A data processing system having at least one data processing node, said data processing system comprising:
-
a data structure on said data processing node receiving electronic mail objects; child processes processing said electronic mail objects in parallel; a first process detecting a change in the number of said electronic mail objects in said data structure; a second process spawning an additional child process in response to an increase in the number of said electronic mail objects; a third process terminating a child process in response to a decrease in the number of said electronic mail objects; and at least one of said child processes processing additional electronic mail objects until terminated by said third process.
-
-
14. An article of manufacture including one or more computer readable media having program code stored thereon, the program code including instructions which, when executed by a processor, cause the processor to:
-
spawn child processes to process in parallel electronic mail objects received in a data structure; detect a change in the number of the electronic mail objects in the data structure; spawn at least one additional child process in response to an increase in the number of the electronic mail objects in the data structure; and terminate at least one of the child processes in response to a decrease in the number of the electronic mail objects in the data structure, at least one of the child processes processing additional electronic mail objects until terminated. - View Dependent Claims (15, 16)
-
-
17. An article of manufacture including one or more computer readable media having program code stored thereon, the program code including instructions which, when executed by a processor, cause the processor to:
-
spawn child processes to process electronic mail objects in parallel; detect an increase in processing activity of the child processes; spawn at least one additional child process in response to detecting the increase; detect a decrease in processing activity of the child processes; and terminate at least one of the child processes in response to detecting the decrease.
-
-
18. A computer system including a processor and a memory coupled to the processor, the memory having stored therein a data structure to receive electronic mail objects, and program code which, when executed by the processor, causes the processor to:
-
spawn child processes to process the electronic mail objects in the data structure in parallel; detect a change in the number of the electronic mail objects in the data structure; spawn at least one additional child process in response to an increase in the number of the electronic mail objects in the data structure; and terminate at least one of the child processes in response to a decrease in the number of the electronic mail objects in the data structure, at least one of the child processes processing additional electronic mail objects until terminated. - View Dependent Claims (19, 20)
-
Specification