Claims
- 1. In a wireless messaging system having a plurality of nodes, a method of controlling congestion of message packets being sent between said nodes of the system, wherein a node that is sending message packets is designated as a sender, a node that is receiving message packets is designed as a receiver, said receiver having at least one component required for processing the message packets, the method comprising the steps of having said receiver reply to the sender for a message packet that is sent, the reply specifying:
(a) whether or not congestion is indicated; (b) if congestion is indicated, the component at which congestion is occurring; (c) if congestion is indicated, a delay time the sender should wait before sending a message packet to the congested component.
- 2. The method of claim 1, wherein the wireless messaging system further includes a memory area for a congestion queue, wherein upon receiving a reply indicating that there is congestion in a component, the sender places message packets addressed to the congested component in the congestion queue.
- 3. The method of claim 2, wherein the congestion queue includes a timer with a set time for determining the delay before sending a message packet to the congested component.
- 4. The method of claim 2, wherein the sender examines the address of each message packet before sending it to the receiver and places any messages addressed to a congested component on the congestion queue for the component.
- 5. The method of claim 4, wherein if a message packet is addressed to more than one congested component, the sender ranks the congested components and places the message packet on the congestion queue for the component with the highest ranking.
- 6. The method of claim 1, wherein a congested component may be an application.
- 7. The method of claim 1, wherein a congested component may be a channel.
- 8. The method of claim 1, wherein a congested component may be a point.
- 9. The method of claim 2, wherein a message that is rejected from a congested component is placed on the congestion queue for that component.
- 10. The method of claim 9, wherein the rejected message is placed on the front of the congestion queue.
- 11. The method of claim 3, wherein the set time is determined by the set time that is specified in the most recent reply from the receiver.
- 12. The method of claim 11, wherein the timer count is not reset when the set time is changed.
- 13. The method of claim 1, wherein in the case of certain types of congestion, rather than the receiver including a delay time in the reply, the sender determines the delay time.
- 14. The method of claim 13, wherein the sender determines the delay time by using an algorithm that dictates:
(a) each time a message is rejected from the receiver, the delay time is doubled, up to some maximum delay; (b) each time a message is accepted at the receiver, the delay time is halved, down to some minimum delay.
- 15. The method of claim 2, wherein the congestion queue is temporary.
- 16. The method of claim 15, wherein upon receiving a reply indicating there is no longer congestion at a previously congested component, the sender sends all remaining message packets in the congestion queue and then de-allocates the memory area that was designated for the congestion queue.
- 17. The method of claim 15, wherein the congestion queue includes a timer with a set time for determining the delay between sending message packets to the congested component.
- 18. The method of claim 17, wherein if at the end of the set time there are no message packets in the congestion queue, the sender de-allocates the memory area that was designated for the congestion queue.
- 19. In a wireless messaging system, a method of congestion control wherein components of the wireless messaging system send messages to one another and communicate with each other regarding the status of congestion with regard to the processing of the messages, a component being congested when it has insufficient resources to process additional messages, a congested component causing a congestion queue to be created to queue subsequent messages to the congested component, messages being sent from the congestion queue to the congested component at a rate that is variable.
- 20. The method of claim 1, wherein the variable rate at which messages are sent from the queue is specified by a communication from the congested component.
- 21. The method of claim 19, wherein the queue for the congested component is created in a memory area of a component that attempted to send a message to the congested component.
- 22. The method of claim 21, wherein the congestion queue is created in response to a reply from the congested component indicating that congestion is occurring.
- 23. In a wireless messaging system having components for sending and receiving messages, a method for controlling congestion of messages being sent through the wireless messaging system, the method comprising the steps of:
(a) determining if congestion is occurring at a component that is receiving messages; and (b) in response to congestion, the congested component sends a reply to a component that had sent a message to the congested component, the reply indicating the identity of the congested component and a rate at which to send messages to the congested component.
- 24. The method of claim 23, wherein the rate at which messages are sent to the congested component may be varied.
- 25. The method of claim 23, wherein the wireless messaging system further includes a memory area for congestion queues, wherein upon receiving a reply indicating that a component is congested, the component receiving the reply causes messages addressed to the congested component to be placed in a congestion queue.
- 26. The method of claim 25, wherein the congestion queue is created in response to the reply indicating that congestion is occurring at a previously uncongested component.
- 27. In a wireless messaging system having components for sending and receiving messages, the components that are sending messages being a source of messages, the components that are receiving messages comprising areas within the wireless messaging system where congestion may occur, a method of controlling congestion within the wireless messaging system, the method comprising the steps of:
(a) determining when congestion is occurring in an area of the wireless messaging system; (b) determining a source of the messages that are being sent to the congested area; and (c) supplying the source of the messages with a rate at which to send future messages to the congested area.
- 28. The method of claim 27, wherein the rate at which messages are sent to the congested area can be varied.
- 29. The method of claim 28, wherein the rate at which to send messages to the congested area is determined by a component within the congested area.
- 30. The method of claim 29, wherein the rate at which to send messages to the congested area is supplied to the source as part of a reply sent from the congested area.
- 31. The method of claim 27, wherein the wireless messaging system further includes a memory area for a congestion queue, wherein the source places messages that are addressed to the congested area in the congestion queue, from which messages are sent to the congested area at the specified rate.
RELATED APPLICATIONS
[0001] The benefit of the filing dates of provisional applications Ser. No. 60/021,617, filed on Jul. 12, 1996, and Ser. No. 60/022,045, filed on Jul. 22, 1996, is hereby claimed for this application under 35 U.S.C. § 19(e).
Provisional Applications (2)
|
Number |
Date |
Country |
|
60021617 |
Jul 1996 |
US |
|
60022045 |
Jul 1996 |
US |