The background description provided herein is for the purpose of generally presenting the context of the disclosure. The work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Various networks set standard timeout conditions for networks. For example, the organization that manages 4G wireless protocols defines various timers used in those networks. T1, the round trip time estimate is set to 500 ms. Timer B and Timer F, the INVITE and non-INVITE transaction timers, respectively, are set to 64*T1, or 32 seconds. T4, a maximum duration for a message, is set to 5 seconds. However, these standards-based times may not be appropriate for all messages. To illustrate, WiFi messages originated on an airplane may require more time to propagate through a network than packets originated at a 5G cell.
In an embodiment, a method of managing network traffic in a communication network examines a packet arriving at a node and determines one or more characteristics of the packet based on indicia in the packet. The packet may include a source and destination Internet Protocol (IP) addresses, the type of device being used, whether the device is accessing the network via WiFi or a cellular carrier network, and even the nature of the packet, such as a 911 call. The node may evaluate the indicia from the packet, and in some cases, external network conditions, and change the settings for the node's retry mechanism for that packet based on those indicia and/or external network conditions. This may allow more time for destinations with higher than average latency and faster retries for high importance communication such as 911 calls. The settings affected may include wait time for a response and/or the number of retries for a given packet.
The figures depict a preferred embodiment for purposes of illustration only. One skilled in the art may readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Retry mechanisms are foundational to packet-based network communication systems because packets are from time to time misdirected, corrupted, delayed by network congestion, or simply lost. When a network node sends a packet, the node expects to receive an acknowledgement (ack) that the packet was received by the downstream network node or endpoint. A retry mechanism notes when a packet is sent and if an acknowledgement is not received before a specified timeout period, the packet is resent. The retry mechanism may try to resend the packet a specified number of times before the packet is marked as undelivered. When this occurs, a message may be sent to the network node from which the packet was received. There may be a dozen or more nodes involved in the ultimate delivery of a packet, each with its own retry mechanism and as will be apparent in the following discussion, retry mechanism settings may affect performance of the entire network. However, in prior art embodiments, each retry mechanism is programmed to a standards-compliant value. As mentioned above, several significant values in 3GPP networks are time T1 and timers B and F. Time T1 has a standard value of 500 milliseconds and each of timers B and F are set at 64*T1 for a value of 32 seconds. While a round trip time of ½ second may be excessive in most modern network situations, not to mention a time of 32 seconds, there may be circumstances where these times are not long enough. Among the possible impacts of retry mechanism settings are retries which occur too soon, flooding the network with extraneous packets and the opposite, delays that are too long so that messages may be inappropriately delayed.
The access network 120 may include various cell sites 106, 108, each supporting a cell site of radio frequency coverage, referred to in 4G terminology as an evolved base station (eNodeB or eNB). Each cell site 106, 108 may include one or more antennas, transmitters, receivers, and controller (not depicted). Each cell site can handle a plurality of different subscriber's devices using directional antennas and often different frequencies.
Managing communication between subscriber devices and between a subscriber device and an external data networks (the outside world) 134, is a core network 122, called in the 4G LTE example, the evolved packet core (EPC). The core network 122 illustrated here is greatly simplified for the sake of clarity. A serving gateway 124 may act as a router between cell sites 106, 108 and the rest of traffic-oriented components. Mobility management entities (MMEs) 126, 128 manage signaling to the base stations including call set up and handoffs. A home subscriber server (HSS) 130 may be a central database that contains information about all the subscribers to the operator's communication system 100. A packet data gateway (P-GW) 132 handles communication between subscriber devices 102, 104 and the outside world 134, including devices accessed via WiFi or another carrier, for example, airplane-based cell phones and IoT devices in a home 116.
A policy server 136, known in the 4G example as a policy control and charging rules function (PCRF) is responsible for control decision-making and flow-based charging. In an embodiment, the policy server 136 instructs the P-GW 132 to enforce the PCRF's decisions via a policy control enforcement function (not depicted) which resides in the P-GW 132.
In the illustrated call flow of
Turning now to
A decision at block 206 determines if any of the indicia found in the packet match criteria for updating a setting in a retry mechanism 180 for that packet. For example, packets originating via a wireless connection on an airplane may benefit from longer timeout times so that duplicate packets are not generated for an inherently slow connection. Conversely, 911 call packets may be given a shorter timeout so that every effort is made to ensure a speedy connection. If a match between packet characteristics and the predetermined criteria is found, execution may continue at block 210 and the retry mechanism 180 may be updated to accommodate special handling for that packet. If no match exists, execution may continue at block 208 and the packet may be assigned default values at the retry mechanism 180.
A technical effect of per-packet retry programming is an improvement in packet throughput as well as a corresponding reduction in network traffic due to avoiding unnecessary retries. When packet transit times are more accurately defined, still viable packets are not resent while lost packets may be more quickly identified and recovered.
This technique benefits primarily network operators in lowered operating costs and improved throughput. However, system users may also benefit from those effects in terms of higher effective data rates and lower subscription costs.
The figures depict preferred embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for the systems and methods described herein through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the systems and methods disclosed herein without departing from the spirit and scope defined in any appended claims.