US20010012270A1 - Method of congestion control for wireless messaging systems - Google Patents
Method of congestion control for wireless messaging systems Download PDFInfo
- Publication number
- US20010012270A1 US20010012270A1 US08/893,537 US89353797A US2001012270A1 US 20010012270 A1 US20010012270 A1 US 20010012270A1 US 89353797 A US89353797 A US 89353797A US 2001012270 A1 US2001012270 A1 US 2001012270A1
- Authority
- US
- United States
- Prior art keywords
- congestion
- component
- congested
- message
- messages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/022—One-way selective calling networks, e.g. wide area paging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/37—Slow start
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/12—Flow control between communication endpoints using signalling between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/022—One-way selective calling networks, e.g. wide area paging
- H04W84/027—One-way selective calling networks, e.g. wide area paging providing paging services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/30—Resource management for broadcast services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/16—Interfaces between hierarchically similar devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/16—Interfaces between hierarchically similar devices
- H04W92/24—Interfaces between hierarchically similar devices between backbone network devices
Definitions
- the present invention relates to wireless messaging systems in general, and in particular to methods of congestion control for wireless messaging systems.
- Wireless messaging systems such as paging systems have undergone significant changes in the past twenty years.
- Early paging units were simple radio receivers that beeped upon receipt of a paging signal from a paging service. The user wearing the paging unit would then take some predetermined action upon receipt of the paging signal, such as calling the paging service by conventional telephone for a message. The user had no other choice in how to respond when the paging signal was received, because the paging signal did not contain any information concerning the nature of other action to be taken.
- This message data can include alphanumeric messages that inform the recipient of the appropriate action to take.
- a paging message may tell the user to call home, call the office, stop by the dry cleaners, etc.
- advancements have increased the amount of information being sent to paging devices. For example, while a numeric page typically contains only 128 bits of information, a digitized voice message may contain 10,000 bits.
- Congestion is defined as the inability of all or part of the wireless messaging network to process messages because of a lack of resources, such as CPU processing ability, RAM memory, or the bandwidth of the medium. When congestion occurs, performance of the wireless messaging system tends to degrade sharply.
- protocols are sets of rules that govern the form, format, data content and information flow sent over communication links that connect different devices.
- Wireless messaging systems use a wide range of protocols to provide communications between different components.
- stop-and-wait requires that a sending component be able to send messages or other data to a receiving component, and that the receiving component be able to send back an acknowledgment signal to the sending component that indicates that the message has been successfully received and accepted.
- the sending component is designated as a “sender” and the receiving component is designated as a “receiver.”
- This method is called “stop-and-wait” because after sending a message, the sender stops and waits for the acknowledgment that the message has been successfully received and accepted before it sends another message.
- This method is inefficient because the wireless messaging network may have the capacity to send more than one message at any given time. Protocols using more advanced methods allow the sender to send several messages before it receives an acknowledgment.
- a more advanced method for congestion control is the “sliding window” method, which is described in detail in Computer Networks , A. Tanenbaum, 1989.
- the sliding window method is the basis of many standard network protocols, such as TCP and SPX.
- the sender assigns a sequence number to each message, ranging from 0 up to some maximum number.
- the sender is designated a maximum number of sent messages that it is allowed to have outstanding at any given time. This maximum number determines the size of the sending window.
- the sending window contains the list of sequence numbers corresponding to messages that have been sent by the sender but not yet acknowledged by the receiver. Once the sending window contains the maximum number of sequence numbers that it is allowed to hold, then the sender cannot send additional messages.
- the window clears the sequence number and the window can accept one additional sequence number, thus allowing the sender to send out the next message.
- the receiver also maintains a receiving window, corresponding to the number of out-of-order sequence numbers it is permitted to accept. Any messages with sequence numbers falling outside the receiving window are discarded without comment.
- a receiver window with a size of “1” means that the receiver only accepts messages in their consecutive order as they were designated by their sequence numbers. For larger receiver windows, messages may be received out of order up to the maximum number allowed by the receiver window.
- An additional disadvantage of protocols using the sliding window method is that the sender and receiver windows can only indicate general congestion at one place in the paging network, namely, at the receiver. In other words, even if there are several levels or types of functions that the receiver performs, congestion in any one of them will cause the same result, namely, that no acknowledgment signals will be sent in response to incoming messages to the receiver.
- the present invention is directed to providing a method of congestion control for overcoming the foregoing and other disadvantages. More specifically, the present invention is directed to a method of congestion control whereby a sender receives a reply indicating the type of congestion that is occurring and a time interval that the sender should wait before sending additional messages.
- a method for controlling congestion in a wireless messaging system includes nodes between which information or commands are transferred.
- the information may be in the form of message packets.
- a node that is sending message packets is designated as a sender, and a node that is receiving message packets is designated as a receiver.
- the receiver node includes at least one component required to process the message packets.
- a list of components to which the message packet will be sent is included in the address of the message packet.
- the receiver when the sender sends a message packet to the receiver, the receiver responds with a reply that specifies: whether or not the message packet has been accepted; whether any components in the receiver to which the message was routed are congested; and, if so, the delay time the sender should wait between sending additional message packets to the congested component.
- the sender when the sender receives a reply indicating that there is congestion in a previously uncongested component, the sender creates a temporary congestion queue to hold the message packets addressed to the congested component.
- the temporary congestion queue includes a timer with a set time for determining the delay between sending message packets to the congested component.
- the sender examines the addresses of the message packets before sending them to the receiver, and message packets addressed to a congested component are placed in the temporary congestion queue. If a sender receives a reply stating that the message was rejected because of congestion, the message is placed in the temporary congestion queue and sent again after a delay specified by the receiver.
- a sender If a sender receives a reply stating that the message was accepted by a congested receiver, the sender will wait for the delay time specified by the receiver before sending any subsequent message. When there are no more messages in the temporary congestion queue at the end of the delay time, or when the previously congested component is no longer congested, the temporary congestion queue is ended.
- FIG. 1 is a block diagram of a wireless communication system
- FIG. 2 is a block diagram of the messaging switch system of FIG. 1;
- FIG. 3 is a block diagram of the output messaging switch for the one-way paging system of FIG. 1;
- FIG. 4 is a block diagram of the output messaging switch for the two-way paging system of FIG. 1;
- FIG. 5A is a flow chart of a message sending routine of a sending component
- FIG. 5B is a flow chart of a message receiving and reply routine of a receiving component
- FIG. 5C is a flow chart of a reply receiving routine of a sending component
- FIG. 5D is a message sending routine of a temporary congestion queue
- FIG. 6 is a time line illustrating messages and replies that are sent and received between a home messaging switch and an output messaging switch
- FIG. 7 is a timing diagram for the messages and replies of FIG. 6.
- FIG. 1 The major components of a wireless communication system 10 are illustrated in FIG. 1.
- One of the most common types of wireless messaging systems is a paging system.
- a common type of information that passes through paging systems are message packets that are entered by a user to be broadcast to a particular paging unit. Message packets of this type are entered into the wireless communication system 10 via a public switched telephone network 20 through either a standard telephone 16 or a computer 18 .
- the message packets are then transferred to an input messaging switch 22 that is an input component to a messaging switch system 21 .
- Message packets are then passed via a communication link 50 through an interswitch protocol network 24 and via a communication link 51 to a home messaging switch 23 that contains information specific to the paging unit for which the message packet is destined.
- Communication links 50 and 51 may be either simple wires, leased telephone lines, microwave links, satellite links, or any other suitable communication path.
- the message packet is then transferred via communication link 51 back through the interswitch protocol network 24 to one of the two output messaging switches 36 or 44 , via communication links 52 or 53 , respectively.
- Output messaging switches 36 and 44 are output components of the messaging switch system 21 .
- Message packets from output messaging switch 36 are sent via a communication link 56 to a one-way transmitting system 30 .
- Message packets sent to a one-way transmitting system 30 are broadcast via transmitting stations 38 and 40 to paging units within their geographical region.
- Message packets from output messaging switch 44 are sent to a two-way transmitting system 32 via a communication link 58 .
- Message packets sent to a two-way transmitting system 32 are sent through a base station network 46 and then selectively sent via communication links 62 or 64 to base stations 48 or 49 , respectively, to be broadcast.
- Base stations 48 and 49 are capable of both broadcasting message packets and receiving signals from remote paging units.
- One feature of the two-way paging system 32 that is not available in the one-way paging system 30 is the use of a “locate” signal.
- the specific geographical area in which a particular paging unit is located may be determined by simultaneously broadcasting a unique “locate” signal from the base stations 48 and 49 .
- the paging unit that responds to the unique locate signal has received the signal, it sends back an “acknowledge” signal to the base stations 48 and 49 .
- One or both of the base stations 48 and 49 receive the acknowledge signal and send information as to the strength of the signal back to the output messaging switch 44 for analysis in determining which base station is closest to the paging unit. Then the message packet for that paging unit may be broadcast from the closest base station.
- the use of a single base station to broadcast messages to paging units may require another level of congestion control than is necessary in one-way transmitting systems.
- the protocols used by the messaging switch system 21 govern how congestion is controlled for messages being sent between the messaging switches 22 , 23 , 36 , and 44 . While the messages being sent will often be referred to as “message packets”, or simply “messages”, in this application, they may actually be any type of application protocol data unit (APDU), which is a “packet” form in which data or commands may be sent between any of the messaging switches.
- the messaging switch system 21 includes the input messaging switch 22 as an input device, the home messaging switch 23 as an information storage device, the output messaging switches 36 and 44 as output devices, and the interswitch protocol network 24 which connects all of the messaging switches. In the preferred embodiment, the input messaging switch 22 and the home messaging switch 23 may both be aspects of the same physical piece of equipment.
- a node may represent any number of components, i.e., in an input messaging switch, a node may represent a group of incoming telephone lines; in a home messaging switch a node may represent a memory storage area for a particular paging unit; and in an output messaging switch a node may represent transmitters in a particular geographic region.
- Each node is given a unique identification number which the messaging switch system 21 then uses to identify the location of each key component in the network.
- input messaging switch 22 includes nodes N 1 , N 2 and N 3 ; home messaging switch 23 includes nodes N 4 , N 5 and N 6 ; output messaging switch includes node N 7 ; and output messaging switch 44 includes node N 8 .
- any messaging switch may include any number of nodes.
- Each node includes a memory area and a clock; thus, nodes N 1 to N 8 include memories ME 1 to ME 8 , and clocks CL 1 to CL 8 , respectively.
- the memories and clocks may be used for congestion control. Specifically, congestion queues may be created in the memory areas.
- nodes While the use of the nodes is described below with reference to a message packet being sent from the PSTN 20 through the paging switch network to a particular paging unit, it should be understood that different types of message packets or APDUs may be sent through different paths and through any order of nodes.
- Nodes N 1 , N 2 and N 3 are included in input messaging switch 22 and may each represent unique groups of input lines from the public switched telephone network 20 .
- the input messaging switch 22 accepts messages from the public switched telephone network 20 and then, as described below, sends the messages to the appropriate home messaging switch 23 that is assigned to the particular paging unit that is to be paged.
- Nodes N 4 , N 5 and N 6 are home nodes that may generally represent information storage areas required for each individual paging unit. All information sent to and from the paging unit passes through the paging unit's home node. The home node stores incoming message packets and subsequently sends the messages through output switches to the paging unit, as described below. The home node also keeps the database record regarding a paging unit, including information as to the geographical area in which the message packets for that paging unit are to be broadcast.
- Nodes N 7 and N 8 may generally be associated with certain transmitters or geographical areas covered by the transmitters. Thus, nodes N 7 and N 8 may represent transmitters for a particular area of coverage, such as a particular city, and message packets to be broadcast in that city would be sent to that node.
- nodes N 7 and N 8 in FIG. 2 are also shown to contain certain applications, channels and points.
- Applications, channels and points are considered to be “components” within each of the nodes.
- a component may be any type of element within the nodes, including software applications and similar non-physical entities which act to process the message packets or commands.
- the nodes themselves may be considered to be a type of component.
- Node N 7 includes application AP 1 and channels CH 1 and CH 2
- node N 8 includes application AP 2 , channels CH 3 and CH 4 , and points P 1 and P 2 .
- “Channels” refer to radio frequency channels.
- a message packet may be broadcast from the transmitters associated with the node over one or more channels.
- each node may have several radio frequency channels that it can use to broadcast message packets from its transmitters.
- other functions may also be performed at the nodes, such as looking up information in a database at the node. Such functions are called “applications.”
- the message packet may be designated to go to a particular base station 48 or 49 (FIG. 1).
- the base stations 48 and 49 may be represented as “points” in the node.
- a point generally refers to any component that is unknown to the sender at the time a message packet is sent.
- the message packet may require use of a particular node, application, channel and/or point.
- the above components in the output messaging switches are related to some of the types of congestion that can occur in the output messaging switches. While the types of congestion and methods of congestion control are described below with reference to the output messaging switches, it should be understood that similar types of congestion may occur in any of the messaging switches, and that the methods of congestion control described below may be equally applied to any similar types of congestion.
- the object of congestion control is to limit the amount of data being sent to the part of the paging network that is congested.
- FIGS. 3 and 4 conceptually illustrate some of the communication paths for which congestion can occur. The communication paths shown in FIGS. 3 and 4 are for illustrative purposes only and do not necessarily represent actual physical connections.
- a communication line 70 reaches node N 7 from communication link 52 .
- a line 72 reaches application AP 1 .
- lines 74 and 76 reach channels CH 1 and CH 2 , respectively.
- a communication line 80 reaches node N 8 from communication link 54 .
- a line 82 reaches application AP 2 .
- lines 84 and 86 reach channels CH 3 and CH 4 , respectively.
- lines 91 and 94 reach point P 1 and lines 92 and 95 reach point P 2 .
- association congestion occurs when an entire node is congested, such as when all of the components in a node are congested or some other problem exists so that the node cannot accept additional messages.
- Association congestion at node N 7 or N 8 would prevent additional messages from reaching the nodes from line 70 or 80 , respectively.
- Application congestion occurs when an application is congested, such as would prevent additional messages from reaching the application AP 1 or AP 2 from line 72 or 82 , respectively.
- Channel congestion occurs when a channel is congested, such as would prevent additional messages from reaching the channel CH 1 , CH 2 , CH 3 , or CH 4 from line 74 , 76 , 84 or 86 , respectively.
- Point congestion occurs when a point is congested, such as would prevent additional messages from reaching the point P 1 or P 2 from lines 91 and 94 or 92 and 95 , respectively. As will be described below, point congestion is different from the other types of congestion.
- the nodes in the output messaging switches 36 and 44 respond to each incoming message sent by a node in home messaging switch 23 with a reply that indicates: (1) whether or not the message has been accepted; (2) the component at which the congestion is occurring if congestion is indicated, and (3) a specific delay time that the node in the home messaging switch 23 should wait before sending the next message.
- the delay time may be varied in order to control the rate of information flow.
- the home messaging switch 23 receives a reply from an output messaging switch that indicates that a component is congested, it creates a temporary congestion queue for messages that require use of that component. For example, if a message was sent from node N 4 in home messaging switch 23 to node N 7 in output messaging switch 36 and was to be broadcast on channel CH 1 , but then a reply came back indicating that channel CH 1 was congested, then a temporary congestion queue would be created for channel CH 1 in the memory ME 4 in node N 4 . Then all messages requiring use of channel CH 1 would be placed in that temporary congestion queue.
- Multiple temporary congestion queues may exist simultaneously for multiple congested components. If there is more than one congested component that the message requires use of, the message is placed in the temporary congestion queue for the highest ranked component.
- the ranking of components is determined by a ranking system, such as an order of: node, application, channel and point, for the order of the highest ranked components to the lowest.
- a reply from an output messaging switch that indicates that a previously congested component is no longer congested allows the temporary congestion queue for that component to be ended.
- the queue is emptied by sending all of its messages and then the area in memory ME 4 that was allocated for the queue is de-allocated.
- the area in memory for a queue is also de-allocated if after the delay time no messages are in the queue to be sent.
- Messages in the temporary congestion queues are sent to the congested components in periodic intervals, as determined by the delay time indicated in the most recent reply message from the output messaging switch.
- the periodic intervals would be measured by the clock in the node where the temporary congestion queue exists.
- the clock counts up to the set delay time between sending messages.
- the delay time specified in the reply may be determined by an algorithm in the receiving messaging switch. The algorithm may take into account multiple factors, some of which may be: the characteristics of the particular component that is congested; the rate at which performance of the messaging system degrades for increasing congestion in the component; whether there is congestion in other parts of the messaging system; and whether previous messages have been rejected at the component due to congestion.
- the home messaging switch 23 uses an algorithm to generate a delay time on its own. For example, in the preferred embodiment when association congestion occurs such that an entire node is congested, no delay time is included in the reply that indicates the node is congested. Instead, the home messaging switch 23 uses an algorithm that dictates that every time a message is sent from the temporary congestion queue and is rejected, the delay time is doubled, and every time a message is accepted, the delay time is halved. Maximum and minimum values for the delay times are set and, when the minimum delay time is reached, the temporary congestion queue is ended.
- FIGS. 5A, 5B, 5 C and 5 D The preferred method of congestion control for applications, channels, and/or points is illustrated in the flow charts of FIGS. 5A, 5B, 5 C and 5 D. While the method shown may be applied to congestion occurring anywhere in the messaging switch system 21 , for purposes of illustration, FIGS. 5A to 5 D may be taken to apply to a message packet being sent from node N 4 in home messaging switch 23 to node N 8 in output messaging switch 44 . In FIGS.
- home messaging switch 23 would be designated as the “sender”, and output messaging switch 44 would be designated as the “receiver.”
- the “message” or “message packet” being sent may actually be any type of application protocol data unit (APDU), which is a “packet” form in which data or commands may be sent between any of the messaging switches in the messaging switch system 21 .
- APDU application protocol data unit
- FIG. 5A shows the message packet sending routine of the sender.
- the routine examines the address of the next message packet to be sent.
- a message packet address includes the components in the receiver that will be required to be utilized for processing the message packet.
- the address may specify a particular node, application and/or channel which will be required for the message packet. Points are not included in the address for reasons that will be described below. Thus, the address specifies a “path” of components that the message packet will pass through.
- the routine determines if the message packet address includes any congested components by comparing each component in the address with a list of components for which temporary congestion queues currently exist. As will be described below, components that are known to be congested have a temporary congestion queue created for them. If there are no congested components in the address, the routine continues to a block 106 where the message packet is sent to the receiver and the routine returns to block 102 to examine the next message packet address. If one of the components in the address is congested, then the routine continues to a block 108 where the message packet is placed on the end of the temporary congestion queue for the specified congested component and the routine then returns to block 102 to examine the next message packet address.
- FIG. 5B shows the message receiving and reply routine of the receiver.
- the receiver waits at a block 152 for a message to be received from the sender.
- the routine determines if there is association congestion along the path of the message. As was described above, association congestion implies that the entire node to which the message packet is addressed is having difficulty processing messages. If association congestion is present, then the routine proceeds to a block 156 where the congested node is specified as part of the reply to the sender.
- the receiver does not designate a delay time in the case of association congestion, so from block 156 the routine proceeds directly to a block 157 where a reply is sent to the sender indicating there is association congestion. If association congestion is not present at block 154 , the routine proceeds to a decision block 158 .
- the routine determines if there is application congestion along the path of the message. As was described above, application congestion implies that an application to which the message packet is addressed is having difficulty processing messages. If application congestion is indicated, then the routine proceeds to a block 160 where the congested application is specified as part of the reply to the sender. If application congestion is not present, the routine proceeds to a decision block 162 .
- the routine determines if there is channel congestion along the path of the message by monitoring to see what response is given by the receiver. As was described above, channel congestion implies that a channel to which the message packet is addressed is having difficulty processing messages. If channel congestion is present, then the routine proceeds to a block 164 where the congested channel is specified as part of the reply to the sender. If channel congestion is not present, the routine proceeds to a decision block 166 .
- the routine determines if there is point congestion along the path of the message. As described below, point congestion implies that a “point” along the messaging path that was unknown by the sender when the message was sent is having difficulty processing messages. If point congestion is present, then the routine proceeds to a block 168 where the congested point is specified as part of the reply to the sender. If point congestion is not present, then the routine proceeds to a block 170 where a reply is sent back to the sender indicating that the message packet has been accepted without congestion.
- Each of the blocks 154 , 158 , 162 , and 166 represent different software modules in the output messaging switch.
- the different software modules handle the message as it goes “up the stack” through the blocks 154 , 158 , 162 , and 166 .
- the first software module that the message encounters in the “node” handler at block 154 which knows how many resources it has at its disposal. If the node is congested, it is also the software module that forms the congestion message.
- the routine proceeds to a block 172 where the delay time that the sender should wait between sending messages to the congested component is determined. As described above, the delay time may be determined by an algorithm in the receiver, which may take into account multiple factors.
- the routine then proceeds to a decision block 174 , where the routine determines whether the present message packet from the sender should be accepted or rejected. If the present message packet is to be rejected, the routine continues to a block 176 where a reply is sent back to the sender indicating that the message packet has been rejected, the congested component, and the delay time that the sender should wait between sending additional message packets to the congested component.
- routine continues to a block 178 where a reply is sent back to the sender indicating that the message packet has been accepted with congestion, the congested component, and the delay time (if necessary) that the sender should wait between sending additional message packets to the congested component.
- Block 178 illustrates that the congestion control method of the present invention may begin working even before congestion actually occurs.
- the receiver may have a method of determining when a component is merely approaching a congested state, and thus be able to implement preventative congestion control even before the component becomes congested.
- a reply may be sent to the sender indicating that although the present message packet has been accepted, congestion control should be implemented.
- FIG. 5C shows the reply receiving routine of the sender.
- the routine starts at a block 110 and then at a decision block 112 determines whether the reply from the receiver indicates that congestion is occurring. If congestion is indicated, the routine proceeds to a decision block 120 . If congestion is not indicated, the routine proceeds to a decision block 114 .
- the routine determines whether a temporary congestion queue is currently in effect for any of the components along the path of the message packet which caused the reply. As described above, the existence of a temporary congestion queue for a component in the receiver indicates that there has previously been congestion at that component. A reply which indicates that there is no longer congestion for that component allows the temporary congestion queue to be ended. Thus, at decision block 114 , if there is no longer congestion indicated at a previously congested component, then the routine proceeds to a block 116 where all of the messages in the temporary congestion queue are sent without a delay time and the queue is ended at a block 136 . If no queue exists, then the routine proceeds to block 136 where it ends.
- the routine determines if a temporary congestion queue is currently in effect for the component that was specified as being congested by the reply message. If no temporary congestion queue is currently in effect, the routine proceeds to a block 122 where it creates a new temporary congestion queue for message packets addressed to the congested component. As described above, the queue uses a timer to send out message packets at periodic intervals according to a set delay time. If a queue already exists, the routine proceeds to a decision block 124 where it determines whether the delay time indicated by the reply is the same as the delay time currently being used by the queue. If the delay time is the same, the routine proceeds to a decision block 130 . If the delay time is different, the routine proceeds to a block 126 where it changes the delay time for the queue.
- the queue's timer may already be in the middle of counting up to the prior delay time.
- the timer is allowed to continue to run so that any time counted toward the prior delay time still counts toward the new delay time.
- the new delay time is longer than the current timer count, the timer continues to run until it reaches the new delay time, at which point the next message in the queue is sent. If the new delay time is shorter than the current timer count, the next message in the queue is sent immediately and the counter begins to count again up to the new delay time. From block 126 or block 122 the routine proceeds to decision block 130 .
- the routine determines whether or not the message packet which caused the reply was rejected. If the message packet was not rejected, then the routine ends at a block 136 . If the message packet was rejected, then the message packet is placed on the front of the temporary congestion queue for the congested component. Block 132 illustrates that a message packet sent from the front of a temporary congestion queue to the receiver will be returned to the front of the temporary congestion queue if it is rejected by the receiver. This keeps the messages in the queue in a certain order. After block 132 , the routine ends at block 136 .
- FIG. 5D shows the message packet sending routine of a temporary congestion queue.
- the routine starts at a block 140 and proceeds to a block 142 where a delay timer is started.
- the routine determines if there are any messages in the queue to be sent. If the queue is empty, the routine proceeds to block 148 where the queue is ended. If there are messages in the queue to be sent, the routine proceeds to block 146 where it sends the next message in the queue. The routine then proceeds back to block 142 to restart the delay timer.
- the routine determines if the message packet address includes any congested components along its path. If congestion is present, then the routine continues to a block 108 where the message packet is placed on the end of the queue for the specified congested component. This part of the routine is effective for congestion occurring at a particular node, application, and/or channel, because those parts of the path through which the message packet is sent are part of the address known at the sender. In the case of point congestion, however, by definition a point component to which the message will be sent is not yet part of the address and is thus unknown by the sender when it sends the message.
- the output messaging switch 44 is the receiver, and the base stations 48 and 49 are the possible “points,” then the point to which the message packet will be sent is not known until the “locate” signal, as described above, is sent out.
- the output messaging switch 44 determines to which base station 48 or 49 (the points) to send the message packet by using a locate signal to verify which base station (point) is closer to the paging unit.
- the output messaging switch 44 the receiver receives the message packet, the base station (point) to which the message packet will be sent is unknown.
- the home messaging switch 23 (the sender) has a message packet to be sent to the output messaging switch 44 (the receiver), it cannot place the message packet in a particular temporary congestion queue for a particular point, because the home messaging switch 23 (the sender) does not yet know the particular point to which the message packet will eventually be sent.
- the components to which the message packet is sent do not change and thus if a message packet is sent from a temporary congestion queue for one of those components and then is rejected because that component is still congested, the message packet will be placed back on the beginning of the same temporary congestion queue from which it was sent. If the message is accepted without congestion, then the congestion queue for that component can be ended.
- the message packet sent from a temporary congestion queue for a particular point is not always sent to the same point component, and thus the reply may state that the message was rejected or accepted at a different point.
- the receiver determines from which base station 48 or 49 (the points) to transmit the message packet by using a “locate” signal as described above.
- a reply message from the receiver may come back stating that the message was rejected or accepted on a different point (e.g., base station 49 which the paging unit is closer to now). If the message is rejected at a different point, rather than being put back in the temporary congestion queue from which it was sent, the message packet is placed on the front of the temporary congestion queue for the point from which it was most recently rejected.
- the instructions in the reply e.g., delay time are also applied only to the temporary congestion queue for the point from which the message was most recently rejected.
- FIGS. 6 and 7 contain a set of illustrative examples.
- FIG. 6 illustrates a time line of message packets and replies between the home messaging switch 23 and the output messaging switch 36 .
- a vertical time line on the far left of FIG. 6 indicates the “time of event” for messages and replies.
- new messages coming in to home messaging switch 23 are indicated by a left to right arrow into the vertical line labeled home messaging switch 23 .
- times T 1 to T 8 that correspond to FIG. 7, are also marked in FIG. 6.
- Messages that are queued in the temporary congestion queue for channel CH 1 are so indicated with a label to the right of the home messaging switch 23 line in FIG. 6. Also, messages sent from the temporary congestion queue for channel CH 1 are indicated in the same manner as newly sent messages.
- Each of the shown messages A to F are labeled with an address of the components they will pass through, which in this case is merely a node and channel.
- a reply from the output messaging switch 36 back to the home messaging switch 23 is indicated by a right to left return arrow.
- the content of the reply is indicated at the origin of the reply arrow to the right of output messaging switch 36 line.
- the reply indicates that the message was either accepted or rejected, the message path, and whether there is congestion and, if so, what the delay time should be for the temporary congestion queue for the congested component.
- some permanent queues may also exist in the output messaging switch 36 .
- the permanent queues in the output messaging switch 36 are for particular components and function as part of the normal operation of the components. For example, in the example of FIG. 6, channels CH 1 and CH 2 have permanent queues in the output messaging switch 36 . These permanent queues may be part of the memory ME 7 .
- the permanent queues do not alter the congestion control methods described above.
- messages that are sent to them may be placed on the permanent queues rather than being broadcast immediately, and in such cases a reply may be sent to the sender indicating that the message was accepted at the channel, just as if no permanent queue existed.
- This also provides an example of how congestion control can be implemented before congestion actually occurs, in that congestion control can be activated for a channel before the permanent queue actually fills up. Examples of possible trigger levels at which congestion control is activated can be a certain number of messages in the permanent queue, or the rate at which the permanent queue is filling up.
- the trigger level for activating congestion control in FIGS. 6 and 7 occurs when the permanent queue is all the way filled.
- the processed message is deleted from the queue.
- processed messages that are deleted from the permanent queue are indicated by a left to right arrow from the line for the output messaging switch 36 .
- the contents of the temporary congestion queue for channel CH 1 , and the contents of the permanent queues for channels CH 1 and CH 2 are shown for times T 1 to T 8 in FIG. 7.
- each queue in FIG. 7 is shown to hold only three messages, in actual practice queues can hold as many messages as the memory of the system allows.
- Also shown in FIG. 7 are the current timer count and the set delay time for the temporary congestion queue for channel CH 1 .
- the trigger level for the output messaging switch 36 indicating congestion is when the permanent queue for channel CH 1 is filled.
- a new message D arrives addressed to channel CH 1 in node N 7 , and so becomes the first message to be placed in the new temporary congestion queue for channel CH 1 in node N 7 .
- This is shown in FIG. 7 at time T 4 .
- message D is placed back on the front of the temporary congestion queue for channel CH 1 .
- channel CH 1 processes message A, thus removing message A from the permanent queue for channel CH 1 .
- the removal of message A allows messages B to C to move forward one place in the permanent queue for channel CH 1 , as seen at time T 5 in FIG. 7.
- FIG. 6 also occurring after time T 4 , is the arrival of new messages E and F.
- message E addressed to channel CH 1 in node N 7
- message D is put on the temporary congestion queue behind message D.
- Message F addressed to channel CH 2 in node N 7 , is the first message to channel CH 2 and is accepted without congestion and placed on the permanent queue for channel CH 2 , as can be seen at time T 5 in FIG. 7.
- the reply as seen in FIG. 6 indicates that message E is accepted without congestion, and so the temporary congestion queue for channel CH 1 in node N 7 is deleted altogether along with the delay time setting. Message E is thus placed on the permanent queue for channel CH 1 , as can be seen at time T 7 in FIG. 7.
- channel CH 2 processes message F and channel CH 1 processes message E, thus clearing the permanent queue memories for channels CH 1 and CH 2 .
- FIG. 7 shows in FIG. 7 at time T 8 .
Abstract
Description
- 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).
- The present invention relates to wireless messaging systems in general, and in particular to methods of congestion control for wireless messaging systems.
- Wireless messaging systems such as paging systems have undergone significant changes in the past twenty years. Early paging units were simple radio receivers that beeped upon receipt of a paging signal from a paging service. The user wearing the paging unit would then take some predetermined action upon receipt of the paging signal, such as calling the paging service by conventional telephone for a message. The user had no other choice in how to respond when the paging signal was received, because the paging signal did not contain any information concerning the nature of other action to be taken.
- With advancements in paging technology, it became possible to send message data to a paging unit. This message data can include alphanumeric messages that inform the recipient of the appropriate action to take. For example, a paging message may tell the user to call home, call the office, stop by the dry cleaners, etc. Further, advancements have increased the amount of information being sent to paging devices. For example, while a numeric page typically contains only128 bits of information, a digitized voice message may contain 10,000 bits.
- As wireless messaging technology advances, future messaging devices will be able to receive and transmit even more information. As the capabilities of wireless messaging systems and the number of users have increased, signal interference and congestion have become more of a concern. Congestion is defined as the inability of all or part of the wireless messaging network to process messages because of a lack of resources, such as CPU processing ability, RAM memory, or the bandwidth of the medium. When congestion occurs, performance of the wireless messaging system tends to degrade sharply.
- The methods of dealing with signal congestion in wireless messaging systems are controlled by the particular set of protocols that govern communications between components within the wireless messaging system. In general, protocols are sets of rules that govern the form, format, data content and information flow sent over communication links that connect different devices. Wireless messaging systems use a wide range of protocols to provide communications between different components.
- One of the most basic methods of congestion control used by several protocols is the “stop-and-wait” method. The stop-and-wait method requires that a sending component be able to send messages or other data to a receiving component, and that the receiving component be able to send back an acknowledgment signal to the sending component that indicates that the message has been successfully received and accepted. The sending component is designated as a “sender” and the receiving component is designated as a “receiver.” This method is called “stop-and-wait” because after sending a message, the sender stops and waits for the acknowledgment that the message has been successfully received and accepted before it sends another message. Thus, there is at most a single outstanding message that has been sent at any given time. This method is inefficient because the wireless messaging network may have the capacity to send more than one message at any given time. Protocols using more advanced methods allow the sender to send several messages before it receives an acknowledgment.
- A more advanced method for congestion control is the “sliding window” method, which is described in detail inComputer Networks, A. Tanenbaum, 1989. The sliding window method is the basis of many standard network protocols, such as TCP and SPX. In one type of sliding window method, the sender assigns a sequence number to each message, ranging from 0 up to some maximum number. The sender is designated a maximum number of sent messages that it is allowed to have outstanding at any given time. This maximum number determines the size of the sending window. The sending window contains the list of sequence numbers corresponding to messages that have been sent by the sender but not yet acknowledged by the receiver. Once the sending window contains the maximum number of sequence numbers that it is allowed to hold, then the sender cannot send additional messages. When an acknowledgment arrives from the receiver for a sequence number in the sending window, then the window clears the sequence number and the window can accept one additional sequence number, thus allowing the sender to send out the next message.
- Since messages corresponding to sequence numbers currently within the sending window may ultimately be lost or damaged in transit, the sender must keep all those messages in its memory for possible retransmission. Thus, the sender must have a buffer large enough to hold as many messages as there are sequence numbers in its window. The sender also records the time at which each message is sent, and if the sender does not receive an acknowledgment before a “time-out period” elapses, it retransmits the message.
- The receiver also maintains a receiving window, corresponding to the number of out-of-order sequence numbers it is permitted to accept. Any messages with sequence numbers falling outside the receiving window are discarded without comment. A receiver window with a size of “1” means that the receiver only accepts messages in their consecutive order as they were designated by their sequence numbers. For larger receiver windows, messages may be received out of order up to the maximum number allowed by the receiver window.
- While protocols using the sliding window method do implement some level of congestion control, they have a variety of disadvantages. One of the major disadvantages is that the sender window receives no indication of the status of a message until it receives an acknowledgment indicating that the message has been successfully received and accepted. Thus, whether congestion is present or some other problem exists, the only information as to the problem that the sender has is that it is not receiving acknowledgments in response to sent messages.
- Another disadvantage of protocols using the sliding window method is that the receiver window does not respond any differently when there is only one empty space in the window than when there are many. Thus, regardless of how fast the receiver window is filling up, or how close the receiver window is to being full, as long as it can continue to accept incoming messages, it sends back only a simple acknowledgment to the sender.
- An additional disadvantage of protocols using the sliding window method is that the sender and receiver windows can only indicate general congestion at one place in the paging network, namely, at the receiver. In other words, even if there are several levels or types of functions that the receiver performs, congestion in any one of them will cause the same result, namely, that no acknowledgment signals will be sent in response to incoming messages to the receiver.
- An additional disadvantage of protocols using either the stop-and-wait or sliding window methods is that once congestion occurs, the flow of messages is completely stopped. Also, since the sender then does not receive any type of acknowledgment in response to the messages it has sent, it may try to resend them, which only further contributes to the congestion in the network.
- The present invention is directed to providing a method of congestion control for overcoming the foregoing and other disadvantages. More specifically, the present invention is directed to a method of congestion control whereby a sender receives a reply indicating the type of congestion that is occurring and a time interval that the sender should wait before sending additional messages.
- A method for controlling congestion in a wireless messaging system is provided. The messaging system includes nodes between which information or commands are transferred. The information may be in the form of message packets. A node that is sending message packets is designated as a sender, and a node that is receiving message packets is designated as a receiver. The receiver node includes at least one component required to process the message packets. A list of components to which the message packet will be sent is included in the address of the message packet.
- In accordance with one aspect of the invention, when the sender sends a message packet to the receiver, the receiver responds with a reply that specifies: whether or not the message packet has been accepted; whether any components in the receiver to which the message was routed are congested; and, if so, the delay time the sender should wait between sending additional message packets to the congested component.
- In accordance with another aspect of the invention, when the sender receives a reply indicating that there is congestion in a previously uncongested component, the sender creates a temporary congestion queue to hold the message packets addressed to the congested component. The temporary congestion queue includes a timer with a set time for determining the delay between sending message packets to the congested component. Once the temporary congestion queue is created, the sender examines the addresses of the message packets before sending them to the receiver, and message packets addressed to a congested component are placed in the temporary congestion queue. If a sender receives a reply stating that the message was rejected because of congestion, the message is placed in the temporary congestion queue and sent again after a delay specified by the receiver. If a sender receives a reply stating that the message was accepted by a congested receiver, the sender will wait for the delay time specified by the receiver before sending any subsequent message. When there are no more messages in the temporary congestion queue at the end of the delay time, or when the previously congested component is no longer congested, the temporary congestion queue is ended.
- The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
- FIG. 1 is a block diagram of a wireless communication system;
- FIG. 2 is a block diagram of the messaging switch system of FIG. 1;
- FIG. 3 is a block diagram of the output messaging switch for the one-way paging system of FIG. 1;
- FIG. 4 is a block diagram of the output messaging switch for the two-way paging system of FIG. 1;
- FIG. 5A is a flow chart of a message sending routine of a sending component;
- FIG. 5B is a flow chart of a message receiving and reply routine of a receiving component;
- FIG. 5C is a flow chart of a reply receiving routine of a sending component;
- FIG. 5D is a message sending routine of a temporary congestion queue;
- FIG. 6 is a time line illustrating messages and replies that are sent and received between a home messaging switch and an output messaging switch; and
- FIG. 7 is a timing diagram for the messages and replies of FIG. 6.
- The major components of a
wireless communication system 10 are illustrated in FIG. 1. One of the most common types of wireless messaging systems is a paging system. A common type of information that passes through paging systems are message packets that are entered by a user to be broadcast to a particular paging unit. Message packets of this type are entered into thewireless communication system 10 via a public switchedtelephone network 20 through either astandard telephone 16 or acomputer 18. The message packets are then transferred to aninput messaging switch 22 that is an input component to amessaging switch system 21. Message packets are then passed via acommunication link 50 through aninterswitch protocol network 24 and via acommunication link 51 to ahome messaging switch 23 that contains information specific to the paging unit for which the message packet is destined. Communication links 50 and 51 may be either simple wires, leased telephone lines, microwave links, satellite links, or any other suitable communication path. - The message packet is then transferred via
communication link 51 back through theinterswitch protocol network 24 to one of the two output messaging switches 36 or 44, viacommunication links messaging switch system 21. Message packets fromoutput messaging switch 36 are sent via acommunication link 56 to a one-way transmitting system 30. Message packets sent to a one-way transmitting system 30 are broadcast via transmittingstations output messaging switch 44 are sent to a two-way transmitting system 32 via acommunication link 58. Message packets sent to a two-way transmitting system 32 are sent through abase station network 46 and then selectively sent viacommunication links base stations Base stations - One feature of the two-way paging system32 that is not available in the one-way paging system 30 is the use of a “locate” signal. The specific geographical area in which a particular paging unit is located may be determined by simultaneously broadcasting a unique “locate” signal from the
base stations base stations base stations output messaging switch 44 for analysis in determining which base station is closest to the paging unit. Then the message packet for that paging unit may be broadcast from the closest base station. As will be described in more detail below, the use of a single base station to broadcast messages to paging units may require another level of congestion control than is necessary in one-way transmitting systems. - The protocols used by the
messaging switch system 21 govern how congestion is controlled for messages being sent between the messaging switches 22, 23, 36, and 44. While the messages being sent will often be referred to as “message packets”, or simply “messages”, in this application, they may actually be any type of application protocol data unit (APDU), which is a “packet” form in which data or commands may be sent between any of the messaging switches. Themessaging switch system 21 includes theinput messaging switch 22 as an input device, thehome messaging switch 23 as an information storage device, the output messaging switches 36 and 44 as output devices, and theinterswitch protocol network 24 which connects all of the messaging switches. In the preferred embodiment, theinput messaging switch 22 and thehome messaging switch 23 may both be aspects of the same physical piece of equipment. - Key components in each messaging switch are assigned a “node” designation in the
messaging switch system 21. A node may represent any number of components, i.e., in an input messaging switch, a node may represent a group of incoming telephone lines; in a home messaging switch a node may represent a memory storage area for a particular paging unit; and in an output messaging switch a node may represent transmitters in a particular geographic region. Each node is given a unique identification number which themessaging switch system 21 then uses to identify the location of each key component in the network. - As shown in FIG. 2,
input messaging switch 22 includes nodes N1, N2 and N3;home messaging switch 23 includes nodes N4, N5 and N6; output messaging switch includes node N7; andoutput messaging switch 44 includes node N8. In actual practice, any messaging switch may include any number of nodes. Each node includes a memory area and a clock; thus, nodes N1 to N8 include memories ME1 to ME8, and clocks CL1 to CL8, respectively. As will be described in more detail below, the memories and clocks may be used for congestion control. Specifically, congestion queues may be created in the memory areas. While the use of the nodes is described below with reference to a message packet being sent from thePSTN 20 through the paging switch network to a particular paging unit, it should be understood that different types of message packets or APDUs may be sent through different paths and through any order of nodes. - Nodes N1, N2 and N3 are included in
input messaging switch 22 and may each represent unique groups of input lines from the public switchedtelephone network 20. Theinput messaging switch 22 accepts messages from the public switchedtelephone network 20 and then, as described below, sends the messages to the appropriatehome messaging switch 23 that is assigned to the particular paging unit that is to be paged. - Message packets from the node N1, N2 or N3 of
input messaging switch 22 are sent throughinterswitch protocol network 24 to node N4, N5 or N6 inhome messaging switch 23. Nodes N4, N5 and N6 are home nodes that may generally represent information storage areas required for each individual paging unit. All information sent to and from the paging unit passes through the paging unit's home node. The home node stores incoming message packets and subsequently sends the messages through output switches to the paging unit, as described below. The home node also keeps the database record regarding a paging unit, including information as to the geographical area in which the message packets for that paging unit are to be broadcast. - Message packets from the node N4, N5 or N6 of
home messaging switch 23 are sent throughinterswitch protocol network 24 to node N7 or N8 inoutput messaging switch - For purposes of illustrating the congestion control methods of the present invention, nodes N7 and N8 in FIG. 2 are also shown to contain certain applications, channels and points. Applications, channels and points are considered to be “components” within each of the nodes. A component may be any type of element within the nodes, including software applications and similar non-physical entities which act to process the message packets or commands. In some embodiments the nodes themselves may be considered to be a type of component. Node N7 includes application AP1 and channels CH1 and CH2, and node N8 includes application AP2, channels CH3 and CH4, and points P1 and P2. “Channels” refer to radio frequency channels. Once a message packet has been received at a node, it may be broadcast from the transmitters associated with the node over one or more channels. Thus each node may have several radio frequency channels that it can use to broadcast message packets from its transmitters. In addition to broadcasting, other functions may also be performed at the nodes, such as looking up information in a database at the node. Such functions are called “applications.” In addition, in the two-way transmitting system 32, the message packet may be designated to go to a
particular base station 48 or 49 (FIG. 1). Thebase stations - The above components in the output messaging switches are related to some of the types of congestion that can occur in the output messaging switches. While the types of congestion and methods of congestion control are described below with reference to the output messaging switches, it should be understood that similar types of congestion may occur in any of the messaging switches, and that the methods of congestion control described below may be equally applied to any similar types of congestion. The object of congestion control is to limit the amount of data being sent to the part of the paging network that is congested. FIGS. 3 and 4 conceptually illustrate some of the communication paths for which congestion can occur. The communication paths shown in FIGS. 3 and 4 are for illustrative purposes only and do not necessarily represent actual physical connections.
- As shown in FIG. 3, a
communication line 70 reaches node N7 fromcommunication link 52. Fromline 70, aline 72 reaches application AP1. From application AP1, lines 74 and 76 reach channels CH1 and CH2, respectively. As shown in FIG. 4, acommunication line 80 reaches node N8 fromcommunication link 54. Fromline 80, aline 82 reaches application AP2. From application AP2, lines 84 and 86 reach channels CH3 and CH4, respectively. From channels CH3 and CH4, lines 91 and 94 reach point P1 andlines - Four types of congestion can be explained with reference to FIGS. 3 and 4, including: association, application, channel and point congestion. Association congestion occurs when an entire node is congested, such as when all of the components in a node are congested or some other problem exists so that the node cannot accept additional messages. Association congestion at node N7 or N8 would prevent additional messages from reaching the nodes from
line line line lines - According to the congestion control methods of the present invention, the nodes in the output messaging switches36 and 44 respond to each incoming message sent by a node in
home messaging switch 23 with a reply that indicates: (1) whether or not the message has been accepted; (2) the component at which the congestion is occurring if congestion is indicated, and (3) a specific delay time that the node in thehome messaging switch 23 should wait before sending the next message. The delay time may be varied in order to control the rate of information flow. In this way, if a component becomes congested and then clears, a “slow start” technique may be used; that is, the rate can be turned back up slowly rather than just “opening the floodgates.” When thehome messaging switch 23 receives a reply from an output messaging switch that indicates that a component is congested, it creates a temporary congestion queue for messages that require use of that component. For example, if a message was sent from node N4 inhome messaging switch 23 to node N7 inoutput messaging switch 36 and was to be broadcast on channel CH1, but then a reply came back indicating that channel CH1 was congested, then a temporary congestion queue would be created for channel CH1 in the memory ME4 in node N4. Then all messages requiring use of channel CH1 would be placed in that temporary congestion queue. - Multiple temporary congestion queues may exist simultaneously for multiple congested components. If there is more than one congested component that the message requires use of, the message is placed in the temporary congestion queue for the highest ranked component. The ranking of components is determined by a ranking system, such as an order of: node, application, channel and point, for the order of the highest ranked components to the lowest.
- A reply from an output messaging switch that indicates that a previously congested component is no longer congested allows the temporary congestion queue for that component to be ended. The queue is emptied by sending all of its messages and then the area in memory ME4 that was allocated for the queue is de-allocated. The area in memory for a queue is also de-allocated if after the delay time no messages are in the queue to be sent.
- Messages in the temporary congestion queues are sent to the congested components in periodic intervals, as determined by the delay time indicated in the most recent reply message from the output messaging switch. The periodic intervals would be measured by the clock in the node where the temporary congestion queue exists. The clock counts up to the set delay time between sending messages. The delay time specified in the reply may be determined by an algorithm in the receiving messaging switch. The algorithm may take into account multiple factors, some of which may be: the characteristics of the particular component that is congested; the rate at which performance of the messaging system degrades for increasing congestion in the component; whether there is congestion in other parts of the messaging system; and whether previous messages have been rejected at the component due to congestion.
- Using an alternate method of congestion control, it is possible to not include a delay time in the reply and instead have the
home messaging switch 23 use an algorithm to generate a delay time on its own. For example, in the preferred embodiment when association congestion occurs such that an entire node is congested, no delay time is included in the reply that indicates the node is congested. Instead, thehome messaging switch 23 uses an algorithm that dictates that every time a message is sent from the temporary congestion queue and is rejected, the delay time is doubled, and every time a message is accepted, the delay time is halved. Maximum and minimum values for the delay times are set and, when the minimum delay time is reached, the temporary congestion queue is ended. - The preferred method of congestion control for applications, channels, and/or points is illustrated in the flow charts of FIGS. 5A, 5B,5C and 5D. While the method shown may be applied to congestion occurring anywhere in the
messaging switch system 21, for purposes of illustration, FIGS. 5A to 5D may be taken to apply to a message packet being sent from node N4 inhome messaging switch 23 to node N8 inoutput messaging switch 44. In FIGS. 5A to 5D,home messaging switch 23 would be designated as the “sender”, andoutput messaging switch 44 would be designated as the “receiver.” Also, as described above, the “message” or “message packet” being sent may actually be any type of application protocol data unit (APDU), which is a “packet” form in which data or commands may be sent between any of the messaging switches in themessaging switch system 21. - FIG. 5A shows the message packet sending routine of the sender. After starting at a
block 100, at ablock 102 the routine examines the address of the next message packet to be sent. A message packet address includes the components in the receiver that will be required to be utilized for processing the message packet. For example, the address may specify a particular node, application and/or channel which will be required for the message packet. Points are not included in the address for reasons that will be described below. Thus, the address specifies a “path” of components that the message packet will pass through. - At a
decision block 104, the routine determines if the message packet address includes any congested components by comparing each component in the address with a list of components for which temporary congestion queues currently exist. As will be described below, components that are known to be congested have a temporary congestion queue created for them. If there are no congested components in the address, the routine continues to ablock 106 where the message packet is sent to the receiver and the routine returns to block 102 to examine the next message packet address. If one of the components in the address is congested, then the routine continues to ablock 108 where the message packet is placed on the end of the temporary congestion queue for the specified congested component and the routine then returns to block 102 to examine the next message packet address. - FIG. 5B shows the message receiving and reply routine of the receiver. After starting at a
block 150, the receiver waits at ablock 152 for a message to be received from the sender. At adecision block 154, the routine determines if there is association congestion along the path of the message. As was described above, association congestion implies that the entire node to which the message packet is addressed is having difficulty processing messages. If association congestion is present, then the routine proceeds to ablock 156 where the congested node is specified as part of the reply to the sender. As described above, in the preferred embodiment, the receiver does not designate a delay time in the case of association congestion, so fromblock 156 the routine proceeds directly to ablock 157 where a reply is sent to the sender indicating there is association congestion. If association congestion is not present atblock 154, the routine proceeds to adecision block 158. - At
decision block 158, the routine determines if there is application congestion along the path of the message. As was described above, application congestion implies that an application to which the message packet is addressed is having difficulty processing messages. If application congestion is indicated, then the routine proceeds to ablock 160 where the congested application is specified as part of the reply to the sender. If application congestion is not present, the routine proceeds to adecision block 162. - At
decision block 162, the routine determines if there is channel congestion along the path of the message by monitoring to see what response is given by the receiver. As was described above, channel congestion implies that a channel to which the message packet is addressed is having difficulty processing messages. If channel congestion is present, then the routine proceeds to ablock 164 where the congested channel is specified as part of the reply to the sender. If channel congestion is not present, the routine proceeds to adecision block 166. - At
decision block 166, the routine determines if there is point congestion along the path of the message. As described below, point congestion implies that a “point” along the messaging path that was unknown by the sender when the message was sent is having difficulty processing messages. If point congestion is present, then the routine proceeds to ablock 168 where the congested point is specified as part of the reply to the sender. If point congestion is not present, then the routine proceeds to ablock 170 where a reply is sent back to the sender indicating that the message packet has been accepted without congestion. - Each of the
blocks blocks block 154, which knows how many resources it has at its disposal. If the node is congested, it is also the software module that forms the congestion message. - From
blocks block 172 where the delay time that the sender should wait between sending messages to the congested component is determined. As described above, the delay time may be determined by an algorithm in the receiver, which may take into account multiple factors. The routine then proceeds to adecision block 174, where the routine determines whether the present message packet from the sender should be accepted or rejected. If the present message packet is to be rejected, the routine continues to ablock 176 where a reply is sent back to the sender indicating that the message packet has been rejected, the congested component, and the delay time that the sender should wait between sending additional message packets to the congested component. If the present message is to be accepted, the routine continues to ablock 178 where a reply is sent back to the sender indicating that the message packet has been accepted with congestion, the congested component, and the delay time (if necessary) that the sender should wait between sending additional message packets to the congested component. -
Block 178 illustrates that the congestion control method of the present invention may begin working even before congestion actually occurs. As will be described below, the receiver may have a method of determining when a component is merely approaching a congested state, and thus be able to implement preventative congestion control even before the component becomes congested. Thus, as shown inblock 178, a reply may be sent to the sender indicating that although the present message packet has been accepted, congestion control should be implemented. - FIG. 5C shows the reply receiving routine of the sender. The routine starts at a
block 110 and then at adecision block 112 determines whether the reply from the receiver indicates that congestion is occurring. If congestion is indicated, the routine proceeds to adecision block 120. If congestion is not indicated, the routine proceeds to adecision block 114. - At
decision block 114, the routine determines whether a temporary congestion queue is currently in effect for any of the components along the path of the message packet which caused the reply. As described above, the existence of a temporary congestion queue for a component in the receiver indicates that there has previously been congestion at that component. A reply which indicates that there is no longer congestion for that component allows the temporary congestion queue to be ended. Thus, atdecision block 114, if there is no longer congestion indicated at a previously congested component, then the routine proceeds to ablock 116 where all of the messages in the temporary congestion queue are sent without a delay time and the queue is ended at ablock 136. If no queue exists, then the routine proceeds to block 136 where it ends. - At
decision block 120 the routine determines if a temporary congestion queue is currently in effect for the component that was specified as being congested by the reply message. If no temporary congestion queue is currently in effect, the routine proceeds to ablock 122 where it creates a new temporary congestion queue for message packets addressed to the congested component. As described above, the queue uses a timer to send out message packets at periodic intervals according to a set delay time. If a queue already exists, the routine proceeds to adecision block 124 where it determines whether the delay time indicated by the reply is the same as the delay time currently being used by the queue. If the delay time is the same, the routine proceeds to adecision block 130. If the delay time is different, the routine proceeds to ablock 126 where it changes the delay time for the queue. - When the delay time of the temporary congestion queue is changed by the routine at
block 126, the queue's timer may already be in the middle of counting up to the prior delay time. In the preferred embodiment, rather than resetting the timer when the delay time is changed atblock 126, the timer is allowed to continue to run so that any time counted toward the prior delay time still counts toward the new delay time. Thus, if the new delay time is longer than the current timer count, the timer continues to run until it reaches the new delay time, at which point the next message in the queue is sent. If the new delay time is shorter than the current timer count, the next message in the queue is sent immediately and the counter begins to count again up to the new delay time. Fromblock 126 or block 122 the routine proceeds todecision block 130. - At
decision block 130, the routine determines whether or not the message packet which caused the reply was rejected. If the message packet was not rejected, then the routine ends at ablock 136. If the message packet was rejected, then the message packet is placed on the front of the temporary congestion queue for the congested component.Block 132 illustrates that a message packet sent from the front of a temporary congestion queue to the receiver will be returned to the front of the temporary congestion queue if it is rejected by the receiver. This keeps the messages in the queue in a certain order. Afterblock 132, the routine ends atblock 136. - FIG. 5D shows the message packet sending routine of a temporary congestion queue. The routine starts at a
block 140 and proceeds to ablock 142 where a delay timer is started. At adecision block 144, at the end of the delay time the routine determines if there are any messages in the queue to be sent. If the queue is empty, the routine proceeds to block 148 where the queue is ended. If there are messages in the queue to be sent, the routine proceeds to block 146 where it sends the next message in the queue. The routine then proceeds back to block 142 to restart the delay timer. - With reference to FIGS. 5A to5D, some of the differences between point congestion and the other types of congestion can be explained. As described above, in FIG. 5A at
decision block 104, the routine determines if the message packet address includes any congested components along its path. If congestion is present, then the routine continues to ablock 108 where the message packet is placed on the end of the queue for the specified congested component. This part of the routine is effective for congestion occurring at a particular node, application, and/or channel, because those parts of the path through which the message packet is sent are part of the address known at the sender. In the case of point congestion, however, by definition a point component to which the message will be sent is not yet part of the address and is thus unknown by the sender when it sends the message. - For example, referring to FIG. 1, if the
home messaging switch 23 is the sender, theoutput messaging switch 44 is the receiver, and thebase stations output messaging switch 44, it determines to whichbase station 48 or 49 (the points) to send the message packet by using a locate signal to verify which base station (point) is closer to the paging unit. Thus, until the output messaging switch 44 (the receiver) receives the message packet, the base station (point) to which the message packet will be sent is unknown. Thus, when the home messaging switch 23 (the sender) has a message packet to be sent to the output messaging switch 44 (the receiver), it cannot place the message packet in a particular temporary congestion queue for a particular point, because the home messaging switch 23 (the sender) does not yet know the particular point to which the message packet will eventually be sent. - By way of contrast, once a message packet reaches the receiver and point congestion occurs, then when the reply is sent back to the sender the reply specifies the point that is congested. Then, as shown in FIG. 5C, at
decision block 130, when a message packet is rejected due to point congestion, just as for any other type of congestion, the message packet may be put on the temporary congestion queue created for that particular point. Thus, although original message packets cannot be placed on a temporary congestion queue for particular point, once they are rejected from a particular point, they can be. - Another difference between point congestion and other types of congestion can be explained with reference to the routines of FIGURES SC and5D. When message packets are sent from a temporary congestion queue according to the routine in FIG. 5D, a reply is sent back from the receiver and is processed by the sender according to the routine of FIG. 5C. When a message packet that was sent from a temporary congestion queue is rejected, according to block 132 of FIG. 5C, the message is placed on the beginning of the temporary congestion queue for the component from which it was rejected. For nodes, applications or channels, the components to which the message packet is sent do not change and thus if a message packet is sent from a temporary congestion queue for one of those components and then is rejected because that component is still congested, the message packet will be placed back on the beginning of the same temporary congestion queue from which it was sent. If the message is accepted without congestion, then the congestion queue for that component can be ended.
- In the case of point congestion, however, the message packet sent from a temporary congestion queue for a particular point is not always sent to the same point component, and thus the reply may state that the message was rejected or accepted at a different point. Referring again to FIG. 1, if the points are
base stations base station 48 or 49 (the points) to transmit the message packet by using a “locate” signal as described above. Thus, even if a message packet is sent from a temporary congestion queue in home messaging switch 23 (the sender), which is for particular first point (e.g.,base station 48 which the paging unit was closer to before), a reply message from the receiver may come back stating that the message was rejected or accepted on a different point (e.g.,base station 49 which the paging unit is closer to now). If the message is rejected at a different point, rather than being put back in the temporary congestion queue from which it was sent, the message packet is placed on the front of the temporary congestion queue for the point from which it was most recently rejected. The instructions in the reply (e.g., delay time) are also applied only to the temporary congestion queue for the point from which the message was most recently rejected. - To further illustrate the working of the invention, FIGS. 6 and 7 contain a set of illustrative examples. FIG. 6 illustrates a time line of message packets and replies between the
home messaging switch 23 and theoutput messaging switch 36. For purposes of illustrating the timer counts in FIG. 7, a vertical time line on the far left of FIG. 6 indicates the “time of event” for messages and replies. As also shown in FIG. 6, new messages coming in tohome messaging switch 23 are indicated by a left to right arrow into the vertical line labeledhome messaging switch 23. As described below, times T1 to T8, that correspond to FIG. 7, are also marked in FIG. 6. Messages that are queued in the temporary congestion queue for channel CH1 are so indicated with a label to the right of thehome messaging switch 23 line in FIG. 6. Also, messages sent from the temporary congestion queue for channel CH1 are indicated in the same manner as newly sent messages. Each of the shown messages A to F are labeled with an address of the components they will pass through, which in this case is merely a node and channel. - Once a message travels from
home messaging switch 23 tooutput messaging switch 36, as indicated by a left to right arrow in FIG. 6, then a reply from theoutput messaging switch 36 back to thehome messaging switch 23 is indicated by a right to left return arrow. The content of the reply is indicated at the origin of the reply arrow to the right ofoutput messaging switch 36 line. The reply indicates that the message was either accepted or rejected, the message path, and whether there is congestion and, if so, what the delay time should be for the temporary congestion queue for the congested component. - In addition to the temporary congestion queues that are started in the
home messaging switch 23 when a particular component becomes congested, in the preferred embodiment some permanent queues may also exist in theoutput messaging switch 36. The permanent queues in theoutput messaging switch 36 are for particular components and function as part of the normal operation of the components. For example, in the example of FIG. 6, channels CH1 and CH2 have permanent queues in theoutput messaging switch 36. These permanent queues may be part of the memory ME7. - The permanent queues do not alter the congestion control methods described above. When channels CH1 and CH2 have permanent queues, messages that are sent to them may be placed on the permanent queues rather than being broadcast immediately, and in such cases a reply may be sent to the sender indicating that the message was accepted at the channel, just as if no permanent queue existed. This also provides an example of how congestion control can be implemented before congestion actually occurs, in that congestion control can be activated for a channel before the permanent queue actually fills up. Examples of possible trigger levels at which congestion control is activated can be a certain number of messages in the permanent queue, or the rate at which the permanent queue is filling up.
- As will be described below, the trigger level for activating congestion control in FIGS. 6 and 7 occurs when the permanent queue is all the way filled. When the channel is able to process a message from the permanent queue, the processed message is deleted from the queue. In FIG. 6, processed messages that are deleted from the permanent queue are indicated by a left to right arrow from the line for the
output messaging switch 36. The contents of the temporary congestion queue for channel CH1, and the contents of the permanent queues for channels CH1 and CH2, are shown for times T1 to T8 in FIG. 7. Although for purposes of illustration each queue in FIG. 7 is shown to hold only three messages, in actual practice queues can hold as many messages as the memory of the system allows. Also shown in FIG. 7 are the current timer count and the set delay time for the temporary congestion queue for channel CH1. - As shown in FIGS. 6 and 7, at time T1, no messages have been entered into the
home messaging switch 23. Then new messages A and B arrive at node N4 in thehome messaging switch 23 and are sent to channel CH1 in node N7 inoutput messaging switch 36 and are accepted into the permanent queue for channel CH1 in memory ME7, as shown at time T2 in FIG. 7. - As shown in FIG. 6, after time T2, a new message C arrives and is accepted into the permanent queue for channel CH1, but with a return message that indicates that congestion has started and that a delay of t=100 should be implemented for all messages directed to channel CH1 in node N7. In this example, the trigger level for the
output messaging switch 36 indicating congestion is when the permanent queue for channel CH1 is filled. Once the reply message from message C is received byhome messaging switch 23, a temporary congestion queue is created for messages addressed to channel CH1 in node N7. The delay time is set to t=100 as instructed, and the queue timer that is part of clock CL4 begins to count up from 0 until it reaches the set delay time, at which point the message on the front of the queue will be sent to channel CH1 in node N7. For purposes of illustration in FIG. 7, at time T3, a time of t=20, as shown in the vertical time line of FIG. 6, has elapsed, so the timer shows t=20. - As shown in FIG. 6, after time T3, a new message D arrives addressed to channel CH1 in node N7, and so becomes the first message to be placed in the new temporary congestion queue for channel CH1 in node N7. This is shown in FIG. 7 at time T4. As shown in FIG. 6, after time T4, the timer reaches the delay time (having elapsed a total of t=100) and so the temporary congestion queue for channel CH1 attempts to send the message on the front of temporary congestion queue (message D) to channel CH1 in node N7. The reply as seen in FIG. 6 indicates that message D is rejected with congestion, and a delay time of t=150 is given. Thus, message D is placed back on the front of the temporary congestion queue for channel CH1. This is shown in FIG. 7 for time T5, and the delay time is set to t=150. However, the timer in this case, rather than starting to count from when the reply is received, starts counting from when message D was sent. This occurs because the timer had already started counting a new t=100 from when message D was sent. Since the timer only stops counting when it reaches the delay time, when the reply from message D resets the delay time from t=100 to t=150, the timer that had already started counting but had not yet reached t=100, simply continues counting until it now reaches t=150.
- As also shown in FIG. 6, after time T4, channel CH1 processes message A, thus removing message A from the permanent queue for channel CH1. The removal of message A allows messages B to C to move forward one place in the permanent queue for channel CH1, as seen at time T5 in FIG. 7. As shown in FIG. 6, also occurring after time T4, is the arrival of new messages E and F. As shown in FIG. 7 at time T5, message E, addressed to channel CH1 in node N7, is put on the temporary congestion queue behind message D. Message F, addressed to channel CH2 in node N7, is the first message to channel CH2 and is accepted without congestion and placed on the permanent queue for channel CH2, as can be seen at time T5 in FIG. 7.
- As shown in FIG. 6, after time T5, the timer for the temporary congestion queue for channel CH1 reaches the delay time (having elapsed a total of t=150) and so the temporary congestion queue attempts to send the message on the front of the queue (message D) to channel CH1 in node N7. The reply as seen in FIG. 6 indicates that message D is accepted with congestion, and a new delay time of t=90 is given. Message D is thus placed on the back of the permanent queue for channel CH1, as can be seen at time T6 in FIG. 7.
- As shown in FIG. 6, after time T6, channel CH1 processes messages B, C, and D, and so those are removed from the permanent queue for channel CH1, as can be seen at time T7 in FIG. 7. Also occurring after time T6, is that the timer for the temporary congestion queue for channel CH1 reaches the delay time (having elapsed a total of t=90) and so the temporary congestion queue sends the message on the front of the queue (message E) to channel CH1 in node N7. The reply as seen in FIG. 6 indicates that message E is accepted without congestion, and so the temporary congestion queue for channel CH1 in node N7 is deleted altogether along with the delay time setting. Message E is thus placed on the permanent queue for channel CH1, as can be seen at time T7 in FIG. 7.
- As shown in FIG. 6, after time T7, channel CH2 processes message F and channel CH1 processes message E, thus clearing the permanent queue memories for channels CH1 and CH2. This is shown in FIG. 7 at time T8.
- While the preferred embodiment of the invention has been illustrated and described, it will be apparent that various changes can be made therein without departing from the spirit and scope of the invention. For example, although methods of congestion control are illustrated for node, application, channel and point types of congestion, the same methods can be implemented for any area or function in the messaging system where congestion may occur.
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/893,537 US20010012270A1 (en) | 1996-07-12 | 1997-07-11 | Method of congestion control for wireless messaging systems |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2161796P | 1996-07-12 | 1996-07-12 | |
US2204596P | 1996-07-22 | 1996-07-22 | |
US08/893,537 US20010012270A1 (en) | 1996-07-12 | 1997-07-11 | Method of congestion control for wireless messaging systems |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010012270A1 true US20010012270A1 (en) | 2001-08-09 |
Family
ID=26694902
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/795,063 Expired - Lifetime US5913921A (en) | 1996-07-12 | 1997-02-05 | System for communicating information about nodes configuration by generating advertisements having era values for identifying time reference for which the configuration is operative |
US08/893,528 Expired - Fee Related US6173157B1 (en) | 1996-07-12 | 1997-07-11 | Method of registering and controlling registration data for new and roaming pagers in a paging system |
US08/893,531 Expired - Fee Related US6088336A (en) | 1996-07-12 | 1997-07-11 | Computer network and methods for multicast communication |
US08/893,529 Expired - Fee Related US6032258A (en) | 1996-07-12 | 1997-07-11 | Apparatus and methods for transmission security in a computer network |
US08/893,537 Abandoned US20010012270A1 (en) | 1996-07-12 | 1997-07-11 | Method of congestion control for wireless messaging systems |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/795,063 Expired - Lifetime US5913921A (en) | 1996-07-12 | 1997-02-05 | System for communicating information about nodes configuration by generating advertisements having era values for identifying time reference for which the configuration is operative |
US08/893,528 Expired - Fee Related US6173157B1 (en) | 1996-07-12 | 1997-07-11 | Method of registering and controlling registration data for new and roaming pagers in a paging system |
US08/893,531 Expired - Fee Related US6088336A (en) | 1996-07-12 | 1997-07-11 | Computer network and methods for multicast communication |
US08/893,529 Expired - Fee Related US6032258A (en) | 1996-07-12 | 1997-07-11 | Apparatus and methods for transmission security in a computer network |
Country Status (8)
Country | Link |
---|---|
US (5) | US5913921A (en) |
EP (1) | EP0976284A4 (en) |
KR (1) | KR20000023741A (en) |
CN (2) | CN1228174A (en) |
AU (5) | AU3599997A (en) |
GB (1) | GB2330284B (en) |
SE (1) | SE9900033L (en) |
WO (4) | WO1998003033A1 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194365A1 (en) * | 1998-03-16 | 2002-12-19 | Francois Jammes | Communication system for a control system over ethernet and IP networks |
US20040151125A1 (en) * | 2000-12-28 | 2004-08-05 | Oyvind Holmeide | Method for synchronization in a local area network including a store-and-forward device |
US20070081487A1 (en) * | 2005-10-07 | 2007-04-12 | Ntt Docomo, Inc. | Regulation control system, radio communication terminal unit,regulation control method, and radio communication terminal control method |
US20080304437A1 (en) * | 2007-06-08 | 2008-12-11 | Inmarsat Global Ltd. | TCP Start Protocol For High-Latency Networks |
US20090238070A1 (en) * | 2008-03-20 | 2009-09-24 | Nuova Systems, Inc. | Method and system to adjust cn control loop parameters at a congestion point |
US20100011098A1 (en) * | 2006-07-09 | 2010-01-14 | 90 Degree Software Inc. | Systems and methods for managing networks |
EP2190166A1 (en) * | 2007-09-10 | 2010-05-26 | Sanden Corporation | Wireless communication modem |
US7773519B2 (en) | 2008-01-10 | 2010-08-10 | Nuova Systems, Inc. | Method and system to manage network traffic congestion |
US20110069685A1 (en) * | 2009-09-23 | 2011-03-24 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
US20110188516A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | Wireless communications providing interoperability between devices capable of communicating at different data rates |
WO2011094523A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | Clearing redundant data in wireless mesh network |
US20140280824A1 (en) * | 2013-03-14 | 2014-09-18 | International Business Machines Corporation | Efficient centralized stream initiation and retry control |
US9843550B2 (en) * | 2015-11-29 | 2017-12-12 | International Business Machines Corporation | Processing messages in a data messaging system using constructed resource models |
US10339625B2 (en) * | 2013-11-27 | 2019-07-02 | Intel Corporation | Command scheduler for a display device |
US11218880B2 (en) * | 2017-06-26 | 2022-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Control signaling in a wireless communication system |
Families Citing this family (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560461B1 (en) | 1997-08-04 | 2003-05-06 | Mundi Fomukong | Authorized location reporting paging system |
JP3286584B2 (en) * | 1997-11-20 | 2002-05-27 | 株式会社日立製作所 | Multiplexed router device |
US6631136B1 (en) * | 1998-08-26 | 2003-10-07 | Hypercom Corporation | Methods and apparatus for data communication using a hybrid transport switching protocol |
US6212559B1 (en) * | 1998-10-28 | 2001-04-03 | Trw Inc. | Automated configuration of internet-like computer networks |
US6240511B1 (en) * | 1998-12-14 | 2001-05-29 | Emc Corporation | Method and apparatus for detecting system configuration changes |
US6665304B2 (en) * | 1998-12-31 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing an integrated cluster alias address |
US6768737B1 (en) * | 1999-06-08 | 2004-07-27 | International Business Machines Corporation | Control and maintenance of multicast distribution employing embedded displays |
US6909900B1 (en) * | 1999-07-01 | 2005-06-21 | Gte Wireless Service Corporation | Wireless mobile call location and delivery for non-geographic numbers using a wireline SSP+SCP/wireless HLR interface |
US6684331B1 (en) | 1999-12-22 | 2004-01-27 | Cisco Technology, Inc. | Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure |
US7260716B1 (en) * | 1999-09-29 | 2007-08-21 | Cisco Technology, Inc. | Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach |
US7013389B1 (en) | 1999-09-29 | 2006-03-14 | Cisco Technology, Inc. | Method and apparatus for creating a secure communication channel among multiple event service nodes |
US7181014B1 (en) | 1999-09-10 | 2007-02-20 | Cisco Technology, Inc. | Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange |
US6987855B1 (en) | 1999-09-10 | 2006-01-17 | Cisco Technology, Inc. | Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups |
US7434046B1 (en) | 1999-09-10 | 2008-10-07 | Cisco Technology, Inc. | Method and apparatus providing secure multicast group communication |
US7103185B1 (en) * | 1999-12-22 | 2006-09-05 | Cisco Technology, Inc. | Method and apparatus for distributing and updating private keys of multicast group managers using directory replication |
US7702732B1 (en) * | 1999-09-29 | 2010-04-20 | Nortel Networks Limited | Methods for auto-configuring a router on an IP subnet |
US6684241B1 (en) * | 1999-09-29 | 2004-01-27 | Nortel Networks Limited | Apparatus and method of configuring a network device |
US6778531B1 (en) * | 1999-11-04 | 2004-08-17 | Lucent Technologies Inc. | Multicast routing with service-level guarantees between ingress egress-points in a packet network |
US6697856B1 (en) | 1999-11-19 | 2004-02-24 | Cisco Technology, Inc. | Healing of incomplete circuits in networks |
US6711409B1 (en) | 1999-12-15 | 2004-03-23 | Bbnt Solutions Llc | Node belonging to multiple clusters in an ad hoc wireless network |
DE10000302B4 (en) * | 2000-01-05 | 2011-08-11 | Robert Bosch GmbH, 70469 | Method and device for exchanging data between at least two subscribers connected to a bus system |
US7089211B1 (en) * | 2000-01-12 | 2006-08-08 | Cisco Technology, Inc. | Directory enabled secure multicast group communications |
US6456599B1 (en) | 2000-02-07 | 2002-09-24 | Verizon Corporate Services Group Inc. | Distribution of potential neighbor information through an ad hoc network |
US6775709B1 (en) | 2000-02-15 | 2004-08-10 | Brig Barnum Elliott | Message routing coordination in communications systems |
US7054636B1 (en) * | 2000-03-01 | 2006-05-30 | Gte Wireless Services Corporation | Method and system for communicating data from wireline terminals to mobile terminals |
US20040168174A1 (en) * | 2000-03-08 | 2004-08-26 | Baker Tyler Foley | System for object cloing and state synchronization across a network node tree |
US6757294B1 (en) | 2000-03-13 | 2004-06-29 | International Business Machines Corporation | System and method for amicable small group multicast in a packet-switched network |
US6785275B1 (en) * | 2000-03-13 | 2004-08-31 | International Business Machines Corporation | Method and system for creating small group multicast over an existing unicast packet network |
US7035223B1 (en) | 2000-03-23 | 2006-04-25 | Burchfiel Jerry D | Method and apparatus for detecting unreliable or compromised router/switches in link state routing |
US6977937B1 (en) | 2000-04-10 | 2005-12-20 | Bbnt Solutions Llc | Radio network routing apparatus |
US6987726B1 (en) | 2000-05-22 | 2006-01-17 | Bbnt Solutions Llc | Management of duplicated node identifiers in communication networks |
WO2001092992A2 (en) | 2000-06-01 | 2001-12-06 | Bbnt Solutions Llc | Method and apparatus for varying the rate at which broadcast beacons are transmitted |
US7302704B1 (en) | 2000-06-16 | 2007-11-27 | Bbn Technologies Corp | Excising compromised routers from an ad-hoc network |
US6941457B1 (en) * | 2000-06-30 | 2005-09-06 | Cisco Technology, Inc. | Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key |
US6493759B1 (en) | 2000-07-24 | 2002-12-10 | Bbnt Solutions Llc | Cluster head resignation to improve routing in mobile communication systems |
US7023818B1 (en) | 2000-07-27 | 2006-04-04 | Bbnt Solutions Llc | Sending messages to radio-silent nodes in ad-hoc wireless networks |
US6973053B1 (en) | 2000-09-12 | 2005-12-06 | Bbnt Solutions Llc | Using direct cluster member to cluster member links to improve performance in mobile communication systems |
US6771651B1 (en) * | 2000-09-29 | 2004-08-03 | Nortel Networks Limited | Providing access to a high-capacity packet network |
US6973039B2 (en) * | 2000-12-08 | 2005-12-06 | Bbnt Solutions Llc | Mechanism for performing energy-based routing in wireless networks |
US7116640B2 (en) * | 2000-12-22 | 2006-10-03 | Mitchell Paul Tasman | Architecture and mechanism for forwarding layer interfacing for networks |
KR101050377B1 (en) * | 2001-02-12 | 2011-07-20 | 에이에스엠 아메리카, 인코포레이티드 | Improved process for deposition of semiconductor films |
JP3930258B2 (en) * | 2001-02-27 | 2007-06-13 | 株式会社日立製作所 | Internet roaming method |
US6853617B2 (en) * | 2001-05-09 | 2005-02-08 | Chiaro Networks, Ltd. | System and method for TCP connection protection switching |
US7120456B1 (en) | 2001-11-07 | 2006-10-10 | Bbn Technologies Corp. | Wireless terminals with multiple transceivers |
US7389536B2 (en) * | 2001-11-14 | 2008-06-17 | Lenovo Singapore Pte Ltd. | System and apparatus for limiting access to secure data through a portable computer to a time set with the portable computer connected to a base computer |
US7334125B1 (en) | 2001-11-27 | 2008-02-19 | Cisco Technology, Inc. | Facilitating secure communications among multicast nodes in a telecommunications network |
US20030154254A1 (en) * | 2002-02-14 | 2003-08-14 | Nikhil Awasthi | Assisted messaging for corporate email systems |
US6934876B1 (en) * | 2002-06-14 | 2005-08-23 | James L. Holeman, Sr. | Registration system and method in a communication network |
US7164919B2 (en) | 2002-07-01 | 2007-01-16 | Qualcomm Incorporated | Scheduling of data transmission for terminals with variable scheduling delays |
US8320241B2 (en) * | 2002-07-30 | 2012-11-27 | Brocade Communications System, Inc. | Fibre channel network employing registered state change notifications with enhanced payload |
US7251690B2 (en) * | 2002-08-07 | 2007-07-31 | Sun Microsystems, Inc. | Method and system for reporting status over a communications link |
US7784684B2 (en) * | 2002-08-08 | 2010-08-31 | Fujitsu Limited | Wireless computer wallet for physical point of sale (POS) transactions |
US20040107170A1 (en) * | 2002-08-08 | 2004-06-03 | Fujitsu Limited | Apparatuses for purchasing of goods and services |
US7822688B2 (en) * | 2002-08-08 | 2010-10-26 | Fujitsu Limited | Wireless wallet |
US7801826B2 (en) * | 2002-08-08 | 2010-09-21 | Fujitsu Limited | Framework and system for purchasing of goods and services |
KR100493234B1 (en) * | 2002-11-25 | 2005-06-02 | 한국전자통신연구원 | node system, dual ring communication system the using node system and method thereof |
US7653059B1 (en) | 2002-12-20 | 2010-01-26 | Symantec Operating Corporation | Communication sessions for a computer network |
US7406535B2 (en) * | 2002-12-20 | 2008-07-29 | Symantec Operating Corporation | Role-based message addressing for a computer network |
US7327741B1 (en) | 2002-12-20 | 2008-02-05 | Symantec Operating Corporation | Detecting and breaking cycles in a computer network |
US7404006B1 (en) | 2002-12-20 | 2008-07-22 | Symantec Operating Corporation | Publishing a network address in a computer network |
US7292585B1 (en) | 2002-12-20 | 2007-11-06 | Symantec Operating Corporation | System and method for storing and utilizing routing information in a computer network |
US8370523B1 (en) | 2002-12-20 | 2013-02-05 | Symantec Operating Corporation | Managing routing information for a computer network |
US8275864B1 (en) | 2002-12-20 | 2012-09-25 | Symantec Operating Corporation | Peer-to-peer network with recovery capability |
US7467194B1 (en) | 2002-12-20 | 2008-12-16 | Symantec Operating Corporation | Re-mapping a location-independent address in a computer network |
US7983239B1 (en) | 2003-01-07 | 2011-07-19 | Raytheon Bbn Technologies Corp. | Systems and methods for constructing a virtual model of a multi-hop, multi-access network |
US6934298B2 (en) * | 2003-01-09 | 2005-08-23 | Modular Mining Systems, Inc. | Hot standby access point |
US20040236800A1 (en) * | 2003-05-21 | 2004-11-25 | Alcatel | Network management controlled network backup server |
US20040246902A1 (en) * | 2003-06-02 | 2004-12-09 | Weinstein Joseph J. | Systems and methods for synchronizing multple copies of a database using datablase digest |
US8886705B1 (en) | 2003-06-30 | 2014-11-11 | Symantec Operating Corporation | Goal-oriented storage management for a distributed data storage network |
CN1324485C (en) * | 2003-07-23 | 2007-07-04 | 永丰纸业股份有限公司 | Portable security information access system and method |
US7590693B1 (en) | 2003-07-17 | 2009-09-15 | Avaya Inc. | Method and apparatus for restriction of message distribution for security |
US7881229B2 (en) * | 2003-08-08 | 2011-02-01 | Raytheon Bbn Technologies Corp. | Systems and methods for forming an adjacency graph for exchanging network routing data |
US7606927B2 (en) | 2003-08-27 | 2009-10-20 | Bbn Technologies Corp | Systems and methods for forwarding data units in a communications network |
US7668083B1 (en) | 2003-10-28 | 2010-02-23 | Bbn Technologies Corp. | Systems and methods for forwarding data in a communications network |
US7836490B2 (en) * | 2003-10-29 | 2010-11-16 | Cisco Technology, Inc. | Method and apparatus for providing network security using security labeling |
US7680950B1 (en) | 2003-11-07 | 2010-03-16 | Symantec Operating Corporation | Efficient search for storage objects in a network |
US7555527B1 (en) | 2003-11-07 | 2009-06-30 | Symantec Operating Corporation | Efficiently linking storage object replicas in a computer network |
US8060619B1 (en) | 2003-11-07 | 2011-11-15 | Symantec Operating Corporation | Direct connections to a plurality of storage object replicas in a computer network |
US7570600B1 (en) | 2003-12-17 | 2009-08-04 | Symantec Operating Corporation | Overlay network with efficient routing and recovery |
US7650509B1 (en) | 2004-01-28 | 2010-01-19 | Gordon & Howard Associates, Inc. | Encoding data in a password |
US7877605B2 (en) * | 2004-02-06 | 2011-01-25 | Fujitsu Limited | Opinion registering application for a universal pervasive transaction framework |
KR100533686B1 (en) * | 2004-05-21 | 2005-12-05 | 삼성전자주식회사 | Method for transmitting data in mobile ad hoc network and network apparatus using the same |
US7698552B2 (en) * | 2004-06-03 | 2010-04-13 | Intel Corporation | Launching a secure kernel in a multiprocessor system |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US7126877B2 (en) * | 2004-08-24 | 2006-10-24 | Bbn Technologies Corp. | System and method for disambiguating shooter locations |
US7190633B2 (en) | 2004-08-24 | 2007-03-13 | Bbn Technologies Corp. | Self-calibrating shooter estimation |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US8863143B2 (en) * | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US9137256B2 (en) * | 2005-05-10 | 2015-09-15 | Tara Chand Singhal | Method and apparatus for packet source validation architechure system for enhanced internet security |
JP4665617B2 (en) * | 2005-06-10 | 2011-04-06 | 沖電気工業株式会社 | Message authentication system, message transmission device, message reception device, message transmission method, message reception method, and program |
US7688739B2 (en) * | 2005-08-02 | 2010-03-30 | Trilliant Networks, Inc. | Method and apparatus for maximizing data transmission capacity of a mesh network |
WO2007035655A2 (en) | 2005-09-16 | 2007-03-29 | The Trustees Of Columbia University In The City Of New York | Using overlay networks to counter denial-of-service attacks |
CN100357901C (en) * | 2005-12-21 | 2007-12-26 | 华为技术有限公司 | Method for verifying data between main device and back-up device |
KR100757872B1 (en) * | 2006-02-06 | 2007-09-11 | 삼성전자주식회사 | Apparatus and method of backward congestion notification on network |
US20070194881A1 (en) | 2006-02-07 | 2007-08-23 | Schwarz Stanley G | Enforcing payment schedules |
US9026267B2 (en) | 2007-03-09 | 2015-05-05 | Gordon*Howard Associates, Inc. | Methods and systems of selectively enabling a vehicle by way of a portable wireless device |
US8174359B1 (en) * | 2008-04-30 | 2012-05-08 | Hme Wireless, Inc. | Systems and methods for automatically programming pagers |
US8995274B2 (en) * | 2008-07-03 | 2015-03-31 | The Trustees Of Columbia University In The City Of New York | Methods and systems for controlling traffic on a communication network |
US8437223B2 (en) * | 2008-07-28 | 2013-05-07 | Raytheon Bbn Technologies Corp. | System and methods for detecting shooter locations from an aircraft |
US8659404B2 (en) | 2008-12-12 | 2014-02-25 | Gordon Howard Associates, Inc. | Methods and systems related to establishing geo-fence boundaries and collecting data |
US8686841B2 (en) | 2008-12-12 | 2014-04-01 | Gordon*Howard Associates, Inc. | Methods and systems related to activating geo-fence boundaries and collecting location data |
US8581712B2 (en) | 2008-12-12 | 2013-11-12 | Gordon * Howard Associates, Inc . | Methods and systems related to establishing geo-fence boundaries |
US8018329B2 (en) | 2008-12-12 | 2011-09-13 | Gordon * Howard Associates, Inc. | Automated geo-fence boundary configuration and activation |
US8798045B1 (en) | 2008-12-29 | 2014-08-05 | Juniper Networks, Inc. | Control plane architecture for switch fabrics |
US8918631B1 (en) | 2009-03-31 | 2014-12-23 | Juniper Networks, Inc. | Methods and apparatus for dynamic automated configuration within a control plane of a switch fabric |
US8139504B2 (en) * | 2009-04-07 | 2012-03-20 | Raytheon Bbn Technologies Corp. | System, device, and method for unifying differently-routed networks using virtual topology representations |
US8311085B2 (en) | 2009-04-14 | 2012-11-13 | Clear-Com Llc | Digital intercom network over DC-powered microphone cable |
US8320217B1 (en) | 2009-10-01 | 2012-11-27 | Raytheon Bbn Technologies Corp. | Systems and methods for disambiguating shooter locations with shockwave-only location |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US8845836B2 (en) * | 2009-12-23 | 2014-09-30 | The Goodyear Tire & Rubber Company | Geodesic tire and method of manufacture |
US8694654B1 (en) | 2010-03-23 | 2014-04-08 | Juniper Networks, Inc. | Host side protocols for use with distributed control plane of a switch |
US8718063B2 (en) | 2010-07-26 | 2014-05-06 | Juniper Networks, Inc. | Methods and apparatus related to route selection within a network |
US9282060B2 (en) | 2010-12-15 | 2016-03-08 | Juniper Networks, Inc. | Methods and apparatus for dynamic resource management within a distributed control plane of a switch |
US8560660B2 (en) | 2010-12-15 | 2013-10-15 | Juniper Networks, Inc. | Methods and apparatus for managing next hop identifiers in a distributed switch fabric system |
US9106527B1 (en) | 2010-12-22 | 2015-08-11 | Juniper Networks, Inc. | Hierarchical resource groups for providing segregated management access to a distributed switch |
US9391796B1 (en) | 2010-12-22 | 2016-07-12 | Juniper Networks, Inc. | Methods and apparatus for using border gateway protocol (BGP) for converged fibre channel (FC) control plane |
US8581711B2 (en) | 2011-03-22 | 2013-11-12 | Gordon*Howard Associates, Inc. | Methods and systems of rule-based intoxicating substance testing associated with vehicles |
ES2408131B1 (en) * | 2011-05-12 | 2014-06-05 | Telefónica, S.A. | SYSTEM AND METHOD FOR INTERCONNECTION OF NETWORK OF DISTRIBUTION OF CONTENTS |
US8781900B2 (en) | 2011-09-09 | 2014-07-15 | Gordon*Howard Associates, Inc. | Method and system of providing information to an occupant of a vehicle |
GB2495489A (en) * | 2011-10-10 | 2013-04-17 | Anthony Ward | Method and system for encryption/decryption of data comprising the generation of a codebook |
CN103139843B (en) * | 2011-11-30 | 2018-07-31 | 中兴通讯股份有限公司 | A kind of priority extension queue implementing method and system |
US9531644B2 (en) | 2011-12-21 | 2016-12-27 | Juniper Networks, Inc. | Methods and apparatus for a distributed fibre channel control plane |
US9665997B2 (en) | 2013-01-08 | 2017-05-30 | Gordon*Howard Associates, Inc. | Method and system for providing feedback based on driving behavior |
US9639906B2 (en) | 2013-03-12 | 2017-05-02 | Hm Electronics, Inc. | System and method for wideband audio communication with a quick service restaurant drive-through intercom |
US9840229B2 (en) | 2013-03-14 | 2017-12-12 | Gordon*Howard Associates, Inc. | Methods and systems related to a remote tamper detection |
US9378480B2 (en) | 2013-03-14 | 2016-06-28 | Gordon*Howard Associates, Inc. | Methods and systems related to asset identification triggered geofencing |
US9035756B2 (en) | 2013-03-14 | 2015-05-19 | Gordon*Howard Associates, Inc. | Methods and systems related to remote tamper detection |
US8928471B2 (en) | 2013-03-14 | 2015-01-06 | Gordon*Howard Associates, Inc. | Methods and systems related to remote tamper detection |
US9013333B2 (en) | 2013-06-24 | 2015-04-21 | Gordon*Howard Associates, Inc. | Methods and systems related to time triggered geofencing |
RU2713851C1 (en) * | 2015-08-05 | 2020-02-07 | АйПиКОМ ГМБХ УНД КО. КГ | Method of transmitting messages between nodes of a single-frequency communication network |
US9701279B1 (en) | 2016-01-12 | 2017-07-11 | Gordon*Howard Associates, Inc. | On board monitoring device |
CN106878957B (en) * | 2017-03-10 | 2019-05-14 | Oppo广东移动通信有限公司 | Broadcast queue's generation method, device and terminal device |
CN115714742A (en) * | 2018-05-11 | 2023-02-24 | 华为技术有限公司 | Message sending method, network node and system |
US20230412534A1 (en) * | 2019-04-30 | 2023-12-21 | William Michael Pearce | Method of Detecting Incomplete Instant Messaging Record Sets using Sequential Numbering |
US20230262040A1 (en) * | 2019-04-30 | 2023-08-17 | William Michael Pearce | Method of Detecting Incomplete Electronic Record Sets using Sequential Numbering |
US11044198B1 (en) * | 2020-08-05 | 2021-06-22 | Coupang Corp. | Systems and methods for pooling multiple user requests to mitigate network congestion |
CN113301605B (en) * | 2021-05-18 | 2023-03-24 | 成都欧珀通信科技有限公司 | Message transmission method, system and related device |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4023163A (en) * | 1975-09-19 | 1977-05-10 | Johnson Controls, Inc. | High security alarm transmission system |
US4885778A (en) * | 1984-11-30 | 1989-12-05 | Weiss Kenneth P | Method and apparatus for synchronizing generation of separate, free running, time dependent equipment |
US4901277A (en) * | 1985-09-17 | 1990-02-13 | Codex Corporation | Network data flow control technique |
US5416827A (en) | 1985-11-27 | 1995-05-16 | Seiko Communications Holding Nv | Paging system with registration mode which interrupts the pager's standard operating protocol and is energized with a higher duty cycle |
US5079767A (en) * | 1988-09-27 | 1992-01-07 | Digital Equipment Corporation | Method of multicast message distribution |
US5113499A (en) * | 1989-04-28 | 1992-05-12 | Sprint International Communications Corp. | Telecommunication access management system for a packet switching network |
US5455865A (en) * | 1989-05-09 | 1995-10-03 | Digital Equipment Corporation | Robust packet routing over a distributed network containing malicious failures |
US5175765A (en) * | 1989-05-09 | 1992-12-29 | Digital Equipment Corporation | Robust data broadcast over a distributed network with malicious failures |
US5138615A (en) * | 1989-06-22 | 1992-08-11 | Digital Equipment Corporation | Reconfiguration system and method for high-speed mesh connected local area network |
US5081678A (en) * | 1989-06-28 | 1992-01-14 | Digital Equipment Corporation | Method for utilizing an encrypted key as a key identifier in a data packet in a computer network |
FI894371A (en) * | 1989-09-15 | 1991-03-16 | Nokia Mobile Phones Ltd | TELEFONSYSTEM. |
JP2810231B2 (en) * | 1990-01-30 | 1998-10-15 | ジヨンソン・サービス・カンパニー | Method of locating data in distributed network system having nodes |
US5153902A (en) * | 1990-04-27 | 1992-10-06 | Telefonaktiebolaget L M Ericsson | Multi-exchange paging system for locating a mobile telephone in a wide area telephone network |
CA2040234C (en) * | 1991-04-11 | 2000-01-04 | Steven Messenger | Wireless coupling of devices to wired network |
US5319638A (en) * | 1991-09-12 | 1994-06-07 | Bell Communications Research, Inc. | Link-by-link congestion control for packet transmission systems |
EP0537903A2 (en) * | 1991-10-02 | 1993-04-21 | International Business Machines Corporation | Distributed control system |
DE69228859T2 (en) * | 1991-12-12 | 1999-08-26 | Nec Corp | Mobile communication system with central paging station for calling mobile subscribers through base stations |
US5353331A (en) | 1992-03-05 | 1994-10-04 | Bell Atlantic Network Services, Inc. | Personal communications service using wireline/wireless integration |
US5579379A (en) | 1992-03-05 | 1996-11-26 | Bell Atlantic Network Services, Inc. | Personal communications service having a calling party pays capability |
FI95758C (en) * | 1992-05-25 | 1996-03-11 | Nokia Telecommunications Oy | Location update in cellular radio network |
US5357561A (en) * | 1992-07-10 | 1994-10-18 | Motorola, Inc. | Communication unit control for wide area communication systems |
US5432841A (en) * | 1992-07-10 | 1995-07-11 | Rimer; Neil A. | System for locating and communicating with mobile vehicles |
US5428645A (en) * | 1992-11-03 | 1995-06-27 | International Business Machines Corporation | Anonymous time synchronization method |
GB2272310A (en) * | 1992-11-07 | 1994-05-11 | Ibm | Method of operating a computer in a network. |
EP0598969B1 (en) * | 1992-11-27 | 1999-02-10 | International Business Machines Corporation | Inter-domain multicast routing |
US5440613A (en) | 1992-12-30 | 1995-08-08 | At&T Corp. | Architecture for a cellular wireless telecommunication system |
US5331634A (en) * | 1993-01-29 | 1994-07-19 | Digital Ocean, Inc. | Technique for bridging local area networks having non-unique node addresses |
US5574860A (en) * | 1993-03-11 | 1996-11-12 | Digital Equipment Corporation | Method of neighbor discovery over a multiaccess nonbroadcast medium |
CA2124974C (en) * | 1993-06-28 | 1998-08-25 | Kajamalai Gopalaswamy Ramakrishnan | Method and apparatus for link metric assignment in shortest path networks |
US5475735A (en) | 1993-12-02 | 1995-12-12 | Motorola, Inc. | Method of providing wireless local loop operation with local mobility for a subscribed unit |
CA2176032A1 (en) * | 1994-01-13 | 1995-07-20 | Bankers Trust Company | Cryptographic system and method with key escrow feature |
US5815577A (en) * | 1994-03-18 | 1998-09-29 | Innovonics, Inc. | Methods and apparatus for securely encrypting data in conjunction with a personal computer |
US5459725A (en) * | 1994-03-22 | 1995-10-17 | International Business Machines Corporation | Reliable multicasting over spanning trees in packet communications networks |
US5485163A (en) * | 1994-03-30 | 1996-01-16 | Motorola, Inc. | Personal locator system |
EP0684716B1 (en) * | 1994-05-25 | 2002-02-27 | International Business Machines Corporation | A data communication network and method for operating said network |
US5475682A (en) * | 1994-06-10 | 1995-12-12 | At&T Corp. | Method of regulating backpressure traffic in a packet switched network |
US5751967A (en) * | 1994-07-25 | 1998-05-12 | Bay Networks Group, Inc. | Method and apparatus for automatically configuring a network device to support a virtual network |
ES2164084T3 (en) * | 1994-09-13 | 2002-02-16 | Cit Alcatel | METHOD FOR MODIFYING A MULTIDESTINE TREE IN A SWITCHING NETWORK. |
US5633859A (en) * | 1994-09-16 | 1997-05-27 | The Ohio State University | Method and apparatus for congestion management in computer networks using explicit rate indication |
US5548533A (en) * | 1994-10-07 | 1996-08-20 | Northern Telecom Limited | Overload control for a central processor in the switching network of a mobile communications system |
US5613012A (en) * | 1994-11-28 | 1997-03-18 | Smarttouch, Llc. | Tokenless identification system for authorization of electronic transactions and electronic transmissions |
US5579372A (en) * | 1994-12-12 | 1996-11-26 | Telefonaktiebolaget Lm Ericsson | Flow control method for short message service - busy subscriber |
US5506838A (en) * | 1994-12-29 | 1996-04-09 | Emc Corporation | Packet propagation and dynamic route discovery apparatus and techniques |
US5577122A (en) * | 1994-12-29 | 1996-11-19 | Trimble Navigation Limited | Secure communication of information |
US5778068A (en) * | 1995-02-13 | 1998-07-07 | Eta Technologies Corporation | Personal access management system |
US5594945A (en) * | 1995-02-14 | 1997-01-14 | Bellsouth Corporation | Method of providing registration reminder message to a roaming pager upon entry into a new service area |
US5537395A (en) * | 1995-04-13 | 1996-07-16 | Northern Telecom Limited | Method and apparatus for setting a channel congestion message in a wireless multiple access packet data system |
US5649289A (en) * | 1995-07-10 | 1997-07-15 | Motorola, Inc. | Flexible mobility management in a two-way messaging system and method therefor |
US5805578A (en) * | 1995-10-27 | 1998-09-08 | International Business Machines Corporation | Automatic reconfiguration of multipoint communication channels |
US5684800A (en) * | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US5724509A (en) * | 1996-04-22 | 1998-03-03 | Motorola, Inc. | Method and apparatus for synchronizing implementation of configuration information in a communication system |
US5872773A (en) * | 1996-05-17 | 1999-02-16 | Lucent Technologies Inc. | Virtual trees routing protocol for an ATM-based mobile network |
-
1997
- 1997-02-05 US US08/795,063 patent/US5913921A/en not_active Expired - Lifetime
- 1997-07-11 WO PCT/US1997/012098 patent/WO1998003033A1/en not_active Application Discontinuation
- 1997-07-11 AU AU35999/97A patent/AU3599997A/en not_active Abandoned
- 1997-07-11 AU AU37242/97A patent/AU3724297A/en not_active Abandoned
- 1997-07-11 EP EP97933395A patent/EP0976284A4/en not_active Withdrawn
- 1997-07-11 AU AU36584/97A patent/AU3658497A/en not_active Abandoned
- 1997-07-11 CN CN97196344A patent/CN1228174A/en active Pending
- 1997-07-11 US US08/893,528 patent/US6173157B1/en not_active Expired - Fee Related
- 1997-07-11 CN CN97197582A patent/CN1228909A/en active Pending
- 1997-07-11 WO PCT/US1997/012080 patent/WO1998003024A1/en active Application Filing
- 1997-07-11 US US08/893,531 patent/US6088336A/en not_active Expired - Fee Related
- 1997-07-11 AU AU37248/97A patent/AU3724897A/en not_active Abandoned
- 1997-07-11 US US08/893,529 patent/US6032258A/en not_active Expired - Fee Related
- 1997-07-11 WO PCT/US1997/012048 patent/WO1998002819A1/en active Application Filing
- 1997-07-11 US US08/893,537 patent/US20010012270A1/en not_active Abandoned
- 1997-07-11 AU AU36589/97A patent/AU3658997A/en not_active Abandoned
- 1997-07-11 WO PCT/US1997/012079 patent/WO1998002994A1/en active Application Filing
- 1997-07-11 GB GB9900104A patent/GB2330284B/en not_active Expired - Fee Related
-
1999
- 1999-01-08 SE SE9900033A patent/SE9900033L/en not_active Application Discontinuation
- 1999-01-12 KR KR1019997000205A patent/KR20000023741A/en not_active Application Discontinuation
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194365A1 (en) * | 1998-03-16 | 2002-12-19 | Francois Jammes | Communication system for a control system over ethernet and IP networks |
US7162510B2 (en) * | 1998-03-16 | 2007-01-09 | Schneider Automation Inc. | Communication system for a control system over Ethernet and IP networks |
US20040151125A1 (en) * | 2000-12-28 | 2004-08-05 | Oyvind Holmeide | Method for synchronization in a local area network including a store-and-forward device |
US8291105B2 (en) * | 2000-12-28 | 2012-10-16 | Abb Research Ltd. | Method for synchronization in a local area network including a store-and-forward device |
US7768912B2 (en) * | 2005-10-07 | 2010-08-03 | Ntt Docomo, Inc. | Regulation control system, radio communication terminal unit, regulation control method, and radio communication terminal control method |
US20070081487A1 (en) * | 2005-10-07 | 2007-04-12 | Ntt Docomo, Inc. | Regulation control system, radio communication terminal unit,regulation control method, and radio communication terminal control method |
US20100011098A1 (en) * | 2006-07-09 | 2010-01-14 | 90 Degree Software Inc. | Systems and methods for managing networks |
US20080304437A1 (en) * | 2007-06-08 | 2008-12-11 | Inmarsat Global Ltd. | TCP Start Protocol For High-Latency Networks |
US8396146B2 (en) | 2007-09-10 | 2013-03-12 | Sanden Corporation | Wireless communication modem |
EP2190166A1 (en) * | 2007-09-10 | 2010-05-26 | Sanden Corporation | Wireless communication modem |
US20110007787A1 (en) * | 2007-09-10 | 2011-01-13 | Masakazu Suga | Wireless Communication Modem |
EP2190166A4 (en) * | 2007-09-10 | 2011-03-02 | Sanden Corp | Wireless communication modem |
US8477615B2 (en) | 2008-01-10 | 2013-07-02 | Cisco Technology, Inc. | Method and system to manage network traffic congestion |
US7773519B2 (en) | 2008-01-10 | 2010-08-10 | Nuova Systems, Inc. | Method and system to manage network traffic congestion |
US20100302941A1 (en) * | 2008-01-10 | 2010-12-02 | Balaji Prabhakar | Method and system to manage network traffic congestion |
US20090238070A1 (en) * | 2008-03-20 | 2009-09-24 | Nuova Systems, Inc. | Method and system to adjust cn control loop parameters at a congestion point |
WO2009117508A1 (en) * | 2008-03-20 | 2009-09-24 | James Paul Rivers | Adjusting congestion notification control loop parameters |
US10069728B2 (en) | 2009-09-23 | 2018-09-04 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
US9749234B2 (en) * | 2009-09-23 | 2017-08-29 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
US20150249601A1 (en) * | 2009-09-23 | 2015-09-03 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
US9049617B2 (en) * | 2009-09-23 | 2015-06-02 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
US20110069685A1 (en) * | 2009-09-23 | 2011-03-24 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
WO2011094523A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | Clearing redundant data in wireless mesh network |
US8792409B2 (en) | 2010-01-29 | 2014-07-29 | Elster Solutions, Llc | Clearing redundant data in wireless mesh network |
US8855102B2 (en) | 2010-01-29 | 2014-10-07 | Elster Solutions, Llc | Wireless communications providing interoperability between devices capable of communicating at different data rates |
US20110188452A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | Mesh infrastructure utilizing alternative communication paths |
US20110188445A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | Clearing redundant data in wireless mesh network |
US20110188444A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | High priority data reads for acquisition of real-time data in wireless mesh network |
US20110188516A1 (en) * | 2010-01-29 | 2011-08-04 | Elster Solutions, Llc | Wireless communications providing interoperability between devices capable of communicating at different data rates |
US20140280824A1 (en) * | 2013-03-14 | 2014-09-18 | International Business Machines Corporation | Efficient centralized stream initiation and retry control |
US10536565B2 (en) * | 2013-03-14 | 2020-01-14 | International Business Machines Corporation | Efficient centralized stream initiation and retry control |
US10339625B2 (en) * | 2013-11-27 | 2019-07-02 | Intel Corporation | Command scheduler for a display device |
US9843550B2 (en) * | 2015-11-29 | 2017-12-12 | International Business Machines Corporation | Processing messages in a data messaging system using constructed resource models |
US11218880B2 (en) * | 2017-06-26 | 2022-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Control signaling in a wireless communication system |
Also Published As
Publication number | Publication date |
---|---|
US6088336A (en) | 2000-07-11 |
KR20000023741A (en) | 2000-04-25 |
EP0976284A4 (en) | 2001-08-16 |
WO1998002819A1 (en) | 1998-01-22 |
WO1998002994A1 (en) | 1998-01-22 |
WO1998003033A1 (en) | 1998-01-22 |
SE9900033D0 (en) | 1999-01-08 |
CN1228909A (en) | 1999-09-15 |
US6173157B1 (en) | 2001-01-09 |
SE9900033L (en) | 1999-03-03 |
GB2330284B (en) | 2000-12-20 |
CN1228174A (en) | 1999-09-08 |
US6032258A (en) | 2000-02-29 |
EP0976284A1 (en) | 2000-02-02 |
AU3658497A (en) | 1998-02-09 |
AU3724897A (en) | 1998-02-09 |
WO1998003024A1 (en) | 1998-01-22 |
US5913921A (en) | 1999-06-22 |
AU3599997A (en) | 1998-02-09 |
GB2330284A (en) | 1999-04-14 |
AU3724297A (en) | 1998-02-09 |
AU3658997A (en) | 1998-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010012270A1 (en) | Method of congestion control for wireless messaging systems | |
CA2227244C (en) | A method for supporting per-connection queuing for feedback-controlled traffic | |
US5553083A (en) | Method for quickly and reliably transmitting frames of data over communications links | |
EP0432202B1 (en) | Link utilization control mechanism for demand assignment satellite communications network | |
KR100746017B1 (en) | Methods and apparatus for random backoff based access priority in a communications system | |
EP1020048B1 (en) | Method and apparatus for conveying data packets in a packet data communication system | |
US6233248B1 (en) | User data protocol for internet data communications | |
US6438108B1 (en) | System for improved transmission of acknowledgements within a packet data network | |
JP4299933B2 (en) | Method and apparatus for paging a communication unit in a packet data communication system | |
US20050175013A1 (en) | Method for transmitting high-priority packets in an IP transmission network | |
EP0769863B1 (en) | Bridging apparatus for traffic filtering in communication networks | |
KR910005655B1 (en) | Apparatus and method for data flow control in broadcast data transmission | |
US6418118B1 (en) | Network device including selective discard of packets | |
US20050021842A1 (en) | Real-time packet classification and rate-limiting control packets in a network processor based data-plane | |
KR100465362B1 (en) | Transmission control method between a plurality of stations and corresponding communication stations | |
US6530056B1 (en) | Method for setting a timer based on previous channel request statistics | |
KR100850693B1 (en) | Wireless channel allocation in a base station processor | |
JP2624730B2 (en) | Broadcast wireless communication method | |
EP2141936A1 (en) | Mobile communication system, network device and packet sequence control method | |
EP1005189A2 (en) | A method and a system for reserving transmission capacity | |
Bux | Chapter 5 Performance issues | |
Ahmadi et al. | Throughput analysis of a class of selective repeat protocols in high-speed environments | |
WO1991009366A1 (en) | Method and apparatus for dispersed end-entity flow control in computer networks | |
Cleary et al. | An investigation of stack based algorithms for voice-packet transmission in microcellular wireless environments | |
Hoang et al. | Computer Communication Networks—Lecture Notes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GLENAYRE ELECTRONICS, INC., NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GODOROJA, ANDREI;REEL/FRAME:009070/0662 Effective date: 19971016 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: IP UNITY PEACH, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GLENAYRE ELECTRONICS, INC.;REEL/FRAME:019084/0961 Effective date: 20061230 |
|
AS | Assignment |
Owner name: MOVIUS INTERACTIVE CORPORATION, GEORGIA Free format text: CHANGE OF NAME;ASSIGNOR:IP UNITY GLENAYRE, INC.;REEL/FRAME:025788/0392 Effective date: 20080205 Owner name: IP UNITY GLENAYRE, INC., DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:IP UNITY PEACH, INC.;REEL/FRAME:025788/0064 Effective date: 20061229 |