US20010012270A1 - Method of congestion control for wireless messaging systems - Google Patents

Method of congestion control for wireless messaging systems Download PDF

Info

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
Application number
US08/893,537
Inventor
Andrei Godoroja
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IP Unity Peach Inc
Movius Interactive Corp
Original Assignee
Glenayre Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Glenayre Electronics Inc filed Critical Glenayre Electronics Inc
Priority to US08/893,537 priority Critical patent/US20010012270A1/en
Assigned to GLENAYRE ELECTRONICS, INC. reassignment GLENAYRE ELECTRONICS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GODOROJA, ANDREI
Publication of US20010012270A1 publication Critical patent/US20010012270A1/en
Assigned to IP UNITY PEACH, INC. reassignment IP UNITY PEACH, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GLENAYRE ELECTRONICS, INC.
Assigned to IP UNITY GLENAYRE, INC. reassignment IP UNITY GLENAYRE, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: IP UNITY PEACH, INC.
Assigned to Movius Interactive Corporation reassignment Movius Interactive Corporation CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: IP UNITY GLENAYRE, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/022One-way selective calling networks, e.g. wide area paging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/37Slow start
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/12Flow control between communication endpoints using signalling between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/022One-way selective calling networks, e.g. wide area paging
    • H04W84/027One-way selective calling networks, e.g. wide area paging providing paging services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/30Resource management for broadcast services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing 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/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing 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/08Mobility data transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/24Interfaces 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

The present invention provides a method for congestion control at multiple levels in a wireless messaging system. Unlike previous systems that only responded to congestion in one way, the present invention responds to each incoming message packet to a receiving component with a reply that indicates: (1) whether or not the message packet has been accepted; (2) the level or function at which the congestion is occurring for rejected message packets; and (3) a specific delay time that the sender should wait before sending the next message packet. The delay time may be varied in order to control the rate of information flow. In this way, if an area 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.” Temporary congestion queues in the sender are used to hold message packets addressed to congested areas.

Description

    RELATED APPLICATIONS
  • 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). [0001]
  • FIELD OF THE INVENTION
  • The present invention relates to wireless messaging systems in general, and in particular to methods of congestion control for wireless messaging systems. [0002]
  • BACKGROUND OF THE INVENTION
  • 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. [0003]
  • 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 only [0004] 128 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. [0005]
  • 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. [0006]
  • 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. [0007]
  • A more advanced method for congestion control is the “sliding window” method, which is described in detail in [0008] Computer 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. [0009]
  • 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. [0010]
  • 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. [0011]
  • 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. [0012]
  • 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. [0013]
  • 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. [0014]
  • 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. [0015]
  • SUMMARY OF THE INVENTION
  • 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. [0016]
  • 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. [0017]
  • 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. [0018]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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: [0019]
  • FIG. 1 is a block diagram of a wireless communication system; [0020]
  • FIG. 2 is a block diagram of the messaging switch system of FIG. 1; [0021]
  • FIG. 3 is a block diagram of the output messaging switch for the one-way paging system of FIG. 1; [0022]
  • FIG. 4 is a block diagram of the output messaging switch for the two-way paging system of FIG. 1; [0023]
  • FIG. 5A is a flow chart of a message sending routine of a sending component; [0024]
  • FIG. 5B is a flow chart of a message receiving and reply routine of a receiving component; [0025]
  • FIG. 5C is a flow chart of a reply receiving routine of a sending component; [0026]
  • FIG. 5D is a message sending routine of a temporary congestion queue; [0027]
  • 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 [0028]
  • FIG. 7 is a timing diagram for the messages and replies of FIG. 6. [0029]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • The major components of a [0030] 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 [0031] 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 [0032] 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. Once 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. 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 [0033] 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.
  • Key components in each messaging switch are assigned a “node” designation in the [0034] 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 the messaging switch system 21 then uses to identify the location of each key component in the network.
  • As shown in FIG. 2, [0035] 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; and output 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 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[0036] 1, N2 and N3 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.
  • Message packets from the node N[0037] 1, N2 or N3 of input messaging switch 22 are sent through interswitch protocol network 24 to node N4, N5 or N6 in home 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 N[0038] 4, N5 or N6 of home messaging switch 23 are sent through interswitch protocol network 24 to node N7 or N8 in output messaging switch 36 or 44, respectively. Nodes N7 and N8 may generally be associated with certain transmitters or geographical areas covered by the transmitters. Thus, nodes N7 and N8 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.
  • For purposes of illustrating the congestion control methods of the present invention, nodes N[0039] 7 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). The base stations 48 and 49 may be represented as “points” in the node. As will be described below, a point generally refers to any component that is unknown to the sender at the time a message packet is sent. Thus, in summary, when a message packet is sent by a home messaging switch to an output messaging switch, 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. [0040]
  • As shown in FIG. 3, a [0041] communication line 70 reaches node N7 from communication link 52. From line 70, a line 72 reaches application AP1. From application AP1, lines 74 and 76 reach channels CH1 and CH2, respectively. As shown in FIG. 4, a communication line 80 reaches node N8 from communication link 54. From line 80, a line 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 and lines 92 and 95 reach point P2.
  • 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 N[0042] 7 or N8 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 AP1 or AP2 from line 72 or 82, respectively. Channel congestion occurs when a channel is congested, such as would prevent additional messages from reaching the channel CH1, CH2, CH3, or CH4 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 P1 or P2 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.
  • According to the congestion control methods of the present invention, the nodes in the output messaging switches [0043] 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. 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 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 N4 in home messaging switch 23 to node N7 in output 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. [0044]
  • 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[0045] 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. [0046]
  • Using an alternate method of congestion control, it is possible to not include a delay time in the reply and instead have the [0047] 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, 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.
  • The preferred method of congestion control for applications, channels, and/or points is illustrated in the flow charts of FIGS. 5A, 5B, [0048] 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 in home messaging switch 23 to node N8 in output messaging switch 44. In FIGS. 5A to 5D, home messaging switch 23 would be designated as the “sender”, and output 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 the messaging switch system 21.
  • FIG. 5A shows the message packet sending routine of the sender. After starting at a [0049] block 100, at a block 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 [0050] 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 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. After starting at a [0051] block 150, the receiver waits at a block 152 for a message to be received from the sender. At a decision 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 a block 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 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.
  • At [0052] 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.
  • At [0053] 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.
  • At [0054] 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 [0055] 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. For example, 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.
  • From [0056] blocks 160, 164 or 168, 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. If the present message is to be accepted, the 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.
  • [0057] 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 in block 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 [0058] 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.
  • At [0059] 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.
  • At [0060] 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 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.
  • When the delay time of the temporary congestion queue is changed by the routine at [0061] 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 at block 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. From block 126 or block 122 the routine proceeds to decision block 130.
  • At [0062] 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 [0063] block 140 and proceeds to a block 142 where a delay timer is started. At a decision 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 to [0064] 5D, 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 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.
  • For example, referring to FIG. 1, if the [0065] home messaging switch 23 is the sender, 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. As described above, when a message packet reaches the output messaging switch 44, it 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. 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 [0066] 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 and [0067] 5D. 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 [0068] base stations 48 and 49, when a message packet is received at output messaging switch 44 (the receiver), 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. 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 [0069] home messaging switch 23 and the output 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 to home messaging switch 23 are indicated by a left to right arrow into the vertical line labeled home 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 the home 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 [0070] home messaging switch 23 to output messaging switch 36, as indicated by a left to right arrow in FIG. 6, then 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.
  • In addition to the temporary congestion queues that are started in the [0071] home messaging switch 23 when a particular component becomes congested, in the preferred embodiment 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 CH1 and CH2 have permanent queues in the output 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 CH[0072] 1 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 [0073] 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 T[0074] 1, no messages have been entered into the home messaging switch 23. Then new messages A and B arrive at node N4 in the home messaging switch 23 and are sent to channel CH1 in node N7 in output 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 T[0075] 2, 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 by home 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 T[0076] 3, 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 T[0077] 4, 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 T[0078] 5, 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 T[0079] 6, 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 T[0080] 7, 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. [0081]

Claims (31)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follow:
1. In a wireless messaging system having a plurality of nodes, a method of controlling congestion of message packets being sent between said nodes of the system, wherein a node that is sending message packets is designated as a sender, a node that is receiving message packets is designed as a receiver, said receiver having at least one component required for processing the message packets, the method comprising the steps of having said receiver reply to the sender for a message packet that is sent, the reply specifying:
(a) whether or not congestion is indicated;
(b) if congestion is indicated, the component at which congestion is occurring;
(c) if congestion is indicated, a delay time the sender should wait before sending a message packet to the congested component.
2. The method of
claim 1
, wherein the wireless messaging system further includes a memory area for a congestion queue, wherein upon receiving a reply indicating that there is congestion in a component, the sender places message packets addressed to the congested component in the congestion queue.
3. The method of
claim 2
, wherein the congestion queue includes a timer with a set time for determining the delay before sending a message packet to the congested component.
4. The method of
claim 2
, wherein the sender examines the address of each message packet before sending it to the receiver and places any messages addressed to a congested component on the congestion queue for the component.
5. The method of
claim 4
, wherein if a message packet is addressed to more than one congested component, the sender ranks the congested components and places the message packet on the congestion queue for the component with the highest ranking.
6. The method of
claim 1
, wherein a congested component may be an application.
7. The method of
claim 1
, wherein a congested component may be a channel.
8. The method of
claim 1
, wherein a congested component may be a point.
9. The method of
claim 2
, wherein a message that is rejected from a congested component is placed on the congestion queue for that component.
10. The method of
claim 9
, wherein the rejected message is placed on the front of the congestion queue.
11. The method of
claim 3
, wherein the set time is determined by the set time that is specified in the most recent reply from the receiver.
12. The method of
claim 11
, wherein the timer count is not reset when the set time is changed.
13. The method of
claim 1
, wherein in the case of certain types of congestion, rather than the receiver including a delay time in the reply, the sender determines the delay time.
14. The method of
claim 13
, wherein the sender determines the delay time by using an algorithm that dictates:
(a) each time a message is rejected from the receiver, the delay time is doubled, up to some maximum delay;
(b) each time a message is accepted at the receiver, the delay time is halved, down to some minimum delay.
15. The method of
claim 2
, wherein the congestion queue is temporary.
16. The method of
claim 15
, wherein upon receiving a reply indicating there is no longer congestion at a previously congested component, the sender sends all remaining message packets in the congestion queue and then de-allocates the memory area that was designated for the congestion queue.
17. The method of
claim 15
, wherein the congestion queue includes a timer with a set time for determining the delay between sending message packets to the congested component.
18. The method of
claim 17
, wherein if at the end of the set time there are no message packets in the congestion queue, the sender de-allocates the memory area that was designated for the congestion queue.
19. In a wireless messaging system, a method of congestion control wherein components of the wireless messaging system send messages to one another and communicate with each other regarding the status of congestion with regard to the processing of the messages, a component being congested when it has insufficient resources to process additional messages, a congested component causing a congestion queue to be created to queue subsequent messages to the congested component, messages being sent from the congestion queue to the congested component at a rate that is variable.
20. The method of
claim 1
, wherein the variable rate at which messages are sent from the queue is specified by a communication from the congested component.
21. The method of
claim 19
, wherein the queue for the congested component is created in a memory area of a component that attempted to send a message to the congested component.
22. The method of
claim 21
, wherein the congestion queue is created in response to a reply from the congested component indicating that congestion is occurring.
23. In a wireless messaging system having components for sending and receiving messages, a method for controlling congestion of messages being sent through the wireless messaging system, the method comprising the steps of:
(a) determining if congestion is occurring at a component that is receiving messages; and
(b) in response to congestion, the congested component sends a reply to a component that had sent a message to the congested component, the reply indicating the identity of the congested component and a rate at which to send messages to the congested component.
24. The method of
claim 23
, wherein the rate at which messages are sent to the congested component may be varied.
25. The method of
claim 23
, wherein the wireless messaging system further includes a memory area for congestion queues, wherein upon receiving a reply indicating that a component is congested, the component receiving the reply causes messages addressed to the congested component to be placed in a congestion queue.
26. The method of
claim 25
, wherein the congestion queue is created in response to the reply indicating that congestion is occurring at a previously uncongested component.
27. In a wireless messaging system having components for sending and receiving messages, the components that are sending messages being a source of messages, the components that are receiving messages comprising areas within the wireless messaging system where congestion may occur, a method of controlling congestion within the wireless messaging system, the method comprising the steps of:
(a) determining when congestion is occurring in an area of the wireless messaging system;
(b) determining a source of the messages that are being sent to the congested area; and
(c) supplying the source of the messages with a rate at which to send future messages to the congested area.
28. The method of
claim 27
, wherein the rate at which messages are sent to the congested area can be varied.
29. The method of
claim 28
, wherein the rate at which to send messages to the congested area is determined by a component within the congested area.
30. The method of
claim 29
, wherein the rate at which to send messages to the congested area is supplied to the source as part of a reply sent from the congested area.
31. The method of
claim 27
, wherein the wireless messaging system further includes a memory area for a congestion queue, wherein the source places messages that are addressed to the congested area in the congestion queue, from which messages are sent to the congested area at the specified rate.
US08/893,537 1996-07-12 1997-07-11 Method of congestion control for wireless messaging systems Abandoned US20010012270A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (34)

* Cited by examiner, † Cited by third party
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