METHOD AND APPARATUS IN A MESSAGING SYSTEM FOR LIMITING AN ACCUMULATION OF MESSAGES

Abstract: A maximum accumulation allowed is defined (302) for messages associated with at least one of a source of the messages and a recipient of the messages. A processing system (210) determines (306) a current accumulation of the messages associated with the at least one of the source and the recipient. The processing system stops (312) further accumulation when the current accumulation reaches the maximum accumulation allowed.

Description: METHOD AND APPARATUS IN A MESSAGING SYSTEM FOR LIMITING AN ACCUMULATION OF MESSAGES Field of the Invention This invention relates in general to messaging systems, and more specifically to a method and apparatus in a messaging system for limiting an accumulation of messages associated with at least one of a source of the messages and a recipient of the messages. Background of the Invention A wireless messaging system provides the ability to deliver messages quickly to subscribers throughout a coverage area served by the system. Such a system generally is constructed with sufficient resources to handle a peak message traffic expected throughout the day. While most message traffic typically originates from humans, machines also can originate messages. An example is a fire alarm system which can send messages to firemen in response to detecting a fire. A problem with machine-originated messages is that some poorly designed machines can rapidly send multiple messages to a single subscriber in response to a single alarm. Such multiple messages are undesirable, because they can overload the resources of the messaging system and delay other messages. Thus, what is needed is a method and apparatus in a messaging system for limiting an accumulation of messages. Preferably, the method and apparatus will be able to limit the accumulation of messages originating from a source or messages going to a recipient, or both. Summary of the Invention An aspect of the present invention is a method in a messaging system for limiting an accumulation of messages associated with at least one of a source of the messages and a recipient of the messages. The method comprises the steps of defining a maximum accumulation allowed for at least one of the source and the recipient, and determining a current accumulation associated with the at least one of the source and the recipient. The method further comprises the step of stopping further accumulation when the current accumulation reaches the maximum accumulation allowed. Another aspect of the present invention is a controller in a messaging system for limiting an accumulation of messages associated with at least one of a source of the messages and a recipient of the messages. The controller comprises a network interface for receiving the messages, and a processing system coupled to the network interface for processing the messages. The controller further comprises an output interface coupled to the processing system for outputting the messages. The processing system is programmed to define a maximum accumulation allowed for at least one of the source and the recipient, and to determine a current accumulation associated with the at least one of the source and the recipient. The processing system is further programmed to stop further accumulation when the current accumulation reaches the maximum accumulation allowed. Brief Description of the Drawings FIG. 1 is an electrical block diagram of an exemplary wireless messaging system in accordance with the present invention. FIG. 2 is an electrical block diagram of an exemplary controller in accordance with the present invention. FIG. 3 is a flow diagram depicting operation of the exemplary controller in accordance with a first embodiment of the present invention. FIG. 4 is a flow diagram depicting operation of the exemplary controller in accordance with a second embodiment of the present invention. FIG. 5 is a flow diagram depicting operation of the exemplary controller in accordance with a third embodiment of the present invention. Detailed Description of the Drawings Referring to FIG. 1, an electrical block diagram depicts an exemplary wireless messaging system in accordance with the present invention comprising an infrastructure portion 102 including a controller 112 and a plurality of conventional base stations 116, the communication system also including a plurality of portable messaging units (PMUs) 122. The base stations 116 preferably communicate with the PMUs 122 utilizing conventional radio frequency (RF) techniques, and are coupled by conventional communication links 114 to the controller 112, which controls the base stations 116. The hardware of the controller 112 is preferably a combination of the Wireless Messaging Gateway (WMG™) Administrator! paging terminal, and the RF-Conductor!™ message distributor manufactured by Motorola, Inc. The software of the controller 112 is modified in accordance with the present invention, as described further below. The hardware of the base stations 116 is preferably a combination of the RF-Orchestra! transmitter and RF- Audience!™ receivers manufactured by Motorola, Inc. The PMUs 122 are preferably similar to PageWriter™ 2000 data messaging units, also manufactured by Motorola, Inc. It will be appreciated that other similar hardware can be utilized as well for the controller 112, the base stations 116, and the PMUs 122. Each of the base stations 116 transmits RF signals to the PMUs 122 via an antenna 118. The base stations 116 preferably each receive RF signals from the plurality of PMUs 122 via the antenna 118. The RF signals transmitted by the base stations 116 to the PMUs 122 (outbound messages) comprise selective call addresses identifying the PMUs 122, and data messages originated by a caller, as well as commands originated by the controller 112 for adjusting operating parameters of the radio communication system. The RF signals preferably transmitted by the PMUs 122 to the base stations 116 (inbound messages) comprise responses that include scheduled messages, such as positive acknowledgments (ACKs) and negative acknowledgments (NAKs), and unscheduled messages, such as registration requests. It will be appreciated that the present invention is also applicable to a one-way messaging system. The controller 112 preferably is coupled by telephone links 101 to a public switched telephone network (PSTN) 110 for receiving selective call message originations therefrom. Selective call originations comprising data messages from the PSTN 110 can be generated, for example, from a conventional telephone 111 or a conventional computer 117 coupled to the PSTN 110. The over-the-air protocol utilized for outbound and inbound messages is preferably selected from Motorola's well-known FLEX™ family of digital selective call signaling protocols. These protocols utilize well-known error detection and error correction techniques and are therefore tolerant to bit errors occurring during transmission, provided that the bit errors are not too numerous. It will be appreciated that other suitable protocols can be used as well. FIG. 2 is an electrical block diagram depicting an exemplary controller 112 in accordance with the present invention. The controller 112 comprises a network interface 218 for receiving a message from a message originator via the telephone links 101. The network interface 218 is coupled to a processing system 210 for controlling and communicating with the network interface 218. The processing system is coupled to an output interface 204 for controlling and communicating with the base stations 116 via the communication links 114. It will be appreciated that additional controllers (not shown) can be utilized between the controller 112 and the base stations 116. The processing system 210 is also coupled to a conventional clock 236 for providing a timing signal to the processing system 210. The processing system 210 comprises a conventional computer 212 and a conventional mass medium 214, e.g., a magnetic disk drive, programmed with information and operating software in accordance with the present invention. The mass medium 214 comprises a conventional subscriber database 220 for storing profiles defining service for subscribers using the system. The mass medium 214 further comprises a message processing element 222 for processing messages through well-known techniques. The mass medium 214 also includes space for maximum accumulation definitions 224 that are defined to limit the accumulation of messages for a recipient or from a source, or both. In addition, the mass medium 214 includes an accumulation control program 228 for programming the processing system 210 to limit the accumulation of messages in accordance with the present invention, as described further below. FIG. 3 is a flow diagram 300 depicting operation of the exemplary controller 112 in accordance with a first embodiment of the present invention. First, for at least one of a message source and a message recipient a maximum accumulation definition is made 302. In the first embodiment, a time period for calculating a current message delivery rate, and a maximum number of messages allowed during the time period are defined and stored in the space for maximum accumulation definitions 224. For example, a selected one of the PMUs 122, identified by its selective call address, is defined as limited to a maximum of three messages every two minutes. Alternatively, a message source, identified through its calling line identification number, can be limited to generating no more than five messages per minute, for example. It will be appreciated that combinations of message source and recipient can be defined as well. For example, a selected PMU 122 can be defined as limited to one message per minute from any single source, without defining that source beforehand. In addition, a selected PMU 122 can be defined as limited to one message per minute from a particular defined source. As a further alternative, a plurality of PMUs 122, e.g., all PMUs 122 on the system, can be defined at once to be limited to a maximum number of messages in a specified time period. Also, a plurality of PMUs 122 can be defined at once to be limited to a maximum number of messages in a specified time period from any single source, without defining that source beforehand. It will be appreciated that any defined or undefined source, as well as any defined or undefined recipient, considered singly or in combination, can limit the accumulation of messages in accordance with the present invention. At step 304, a message is received by the controller 112 from a source and for a recipient. In response, the processing system 210 accesses the accumulation control program 228 to record the time of receipt of the message, preferably in the subscriber database 220. The processing system then checks the subscriber database records to determine 306 how many messages have been received for the PMU 122 or from the source within the defined time period for calculating the current message delivery rate. The processing system then checks 308 whether accepting the message would cause the maximum number of messages allowed during the time period defined for either the recipient or the source to be exceeded. If so, at step 310 the flow is directed to block 312 the message. If not, at step 310 the flow is directed to accept 314 the message. FIG. 4 is a flow diagram 400 depicting operation of the exemplary controller 112 in accordance with a second embodiment of the present invention. As in the flow diagram 300, first, for at least one of a message source and a message recipient a maximum accumulation definition is made 402. In the second embodiment, the maximum accumulation limit is the maximum number of messages associated with the at least one of the message source and the message recipient that can be in queue simultaneously. At step 404, a message is received by the controller 112 from a source and for a recipient. In response, the processing system 210 accesses the accumulation control program 228 to check 406 whether messages in queue that are associated with the at least one of the source and the recipient exceed the maximum number. If so, at step 408 the processing system 210 decides to discard 410 the message. If not, the processing system 210 decides to keep 412 the message. FIG. 5 is a flow diagram 500 depicting operation of the exemplary controller 112 in accordance with a third embodiment of the present invention. As in the flow diagram 300, first, for at least one of a message source and a message recipient a maximum accumulation definition is made 502. In the third embodiment, the maximum accumulation limit is a maximum message queue size that can be occupied by messages associated with the at least one of the message source and the message recipient. At step 504, a message is received by the controller 112 from a source and for a recipient. In response, the processing system 210 accesses the accumulation control program 228 to check 506 whether the queue size occupied by messages in queue that are associated with the at least one of the source and the recipient exceeds the maximum message queue size. If so, at step 508 the processing system 210 decides to discard 510 the message. If not, the processing system 210 decides to keep 512 the message. It will be appreciated that in the second and third embodiments the overhead of determining the number or size of messages in queue can be large if every message received triggers a search for other messages to the same recipient, for example. In the FLEX™ family of protocols, a way of reducing the overhead is to check the carry-on bits associated with the message. A rule can be made, for example, that if neither of the carry-on bits is set, no search is done in the queue for additional messages to the same recipient. This works because whenever more than two messages are in queue for the same recipient, one or both of the carry-on bits can be set by the controller 112 to cause the PMU 122 to monitor additional frames beyond its normal frames for its messages. If no carry-on bits are set, message overload is unlikely for the recipient. As the two carry-on bits can indicate that 0, 1, 2, or 3 additional frames should be monitored, any of the three non- zero levels of carry-on can be defined as a threshold for doing a search for more messages in accordance with the present invention. Thus, it should be clear from the preceding disclosure that the present invention provides a method and apparatus in a messaging system for limiting an accumulation of messages. Advantageously, the method and apparatus can limit the accumulation of messages originating from a source or messages going to a recipient, or both, thereby preventing a message overload. Many modifications and variations of the present invention are possible in light of the above teachings. Thus, it is to be understood that, within the scope of the appended claims, the invention can be practiced other than as specifically described herein above.

Claims: What is claimed is: CLAIMS 1. A method in a messaging system for limiting an accumulation of messages associated with at least one of a source of the messages and a recipient of the messages, the method comprising the steps of: defining a maximum accumulation allowed for at least one of the source and the recipient; determining a current accumulation associated with the at least one of the source and the recipient; and stopping further accumulation when the current accumulation reaches the maximum accumulation allowed. 2. The method of claim 1, wherein the defining step comprises the steps of: defining a time period for calculating a current message delivery rate; and defining a maximum number of messages allowed during the time period. 3. The method of claim 2, wherein the determining step comprises the steps of: recording a time of receipt of each message; and determining, in response to receiving a message, how many messages have been received during the time period. 4. The method of claim 3, wherein the stopping step comprises the step of blocking a message associated with the at least one of the source and the recipient when the message, if accepted, would cause the maximum number of messages to be exceeded. 5. The method of claim 1, wherein the determining step comprises the step of measuring how many messages associated with the at least one of the source and the recipient are in a queue. 6. The method of claim 5, wherein the stopping step comprises the step of discarding a message in the queue. 7. The method of claim 1, wherein the defining step comprises the step of defining a maximum message queue size for messages in a queue associated with the at least one of the source and the recipient. 8. The method of claim 7, wherein the determining step comprises the step of measuring a message queue size for messages associated with the at least one of the source and the recipient, and wherein the stopping step comprises the step of discarding a message in the queue when the message queue size exceeds the maximum message queue size. 9. A controller in a messaging system for limiting an accumulation of messages associated with at least one of a source of the messages and a recipient of the messages, the controller comprising: a network interface for receiving the messages; a processing system coupled to the network interface for processing the messages; and an output interface coupled to the processing system for outputting the messages, wherein the processing system is programmed to: define a maximum accumulation allowed for at least one of the source and the recipient; determine a current accumulation associated with the at least one of the source and the recipient; and stop further accumulation when the current accumulation reaches the maximum accumulation allowed. 10. The controller of claim 9, wherein the processing system is further programmed to: define a time period for calculating a current message delivery rate; and define a maximum number of messages allowed during the time period. 11. The controller of claim 10, wherein the processing system is further programmed to: record a time of receipt of each message; and determine, in response to receiving a message, how many messages have been received during the time period. 12. The controller of claim 11, wherein the processing system is further programmed to block a message associated with the at least one of the source and the recipient when the message, if accepted, would cause the maximum number of messages to be exceeded. 13. The controller of claim 9, wherein the processing system is further programmed to measure how many messages associated with the at least one of the source and the recipient are in a queue. 14. The controller of claim 13, wherein the processing system is further programmed to discard a message in the queue when the current accumulation reaches the maximum accumulation. 15. The controller of claim 9, wherein the processing system is further programmed to define a maximum message queue size for messages in a queue associated with the at least one of the source and the recipient. 16. The controller of claim 15, wherein the processing system is further programmed to: measure a message queue size for messages associated with the at least one of the source and the recipient; and discard a message in the queue when the message queue size exceeds the maximum message queue size.

Inventors: PHILLIPS W GARLAND, WESLEY ERIC JON ROBERT, PHILLIPS, W., GARLAND, WESLEY, ERIC, JON, ROBERT
Applicants: MOTOROLA INC, MOTOROLA INC.
Application year: 1999
Main classification: H04J3
IPC codes: H04W88