Wireless contention reduction

Information

  • Patent Grant
  • 10555341
  • Patent Number
    10,555,341
  • Date Filed
    Tuesday, July 11, 2017
    8 years ago
  • Date Issued
    Tuesday, February 4, 2020
    6 years ago
Abstract
The subject disclosure relates to a computer-implemented method for reducing access contention in a wireless medium. In some aspects, a method of the technology includes steps for exchanging data packets with multiple client devices in a wireless network, and based on the data exchange, identifying a first device from among the multiple client devices for which one or more higher-layer (e.g., Layer 3 and/or Layer 4) packets are likely to be received. In some aspects, a method of the technology can further include steps for broadcasting a lower-layer (e.g., Layer 2) packet to the plurality of client devices, wherein the lower-layer packet includes an extended duration field to suppress transmission by one or more listening client devices until at least one subsequent higher-layer packet is received from the first device. Systems and machine-readable media are also provided.
Description
BACKGROUND

1. Technical Field


The subject technology provides solutions for reducing contention in a wireless network, and in particular for reducing wireless contention caused during exchange of Layer 3 and Layer 4 acknowledgement traffic.


2. Introduction


Many wireless local area network (WLAN) deployments are based upon the IEEE 802.11 standards that provide protocols to enable access between mobile devices, and to other networks, such as hard-wired local area and global networks, such as the Internet. In receiving Internet data, a common gateway operating in a conventional IP/TCP protocol may be utilized. The IEEE 802.11 architecture is comprised of several components and services that interact to provide station mobility transparent to higher layers of the network stack. IEEE 802.11 based networks define stations as components that connect to a wireless medium and contain the functionality of the IEEE 802.11 protocols, for example, including MAC (Medium Access Control), PHY (Physical Layer), and connections to the wireless media. Typically, IEEE 802.11 protocols are implemented in the hardware and/or software of a network interface card.


IEEE 802.11 standards also define a Basic Service Set or BSS, which is regarded as a basic building block in WLAN architecture. The BSS consists of a group of access point stations that communicate with one another. In independent BSS, the mobile stations communicate directly with each other. In an infrastructure BSS, all stations in the BSS communicate with the access point and no longer communicate directly with the independent BSS, such that all frames are relayed between stations by the access point.


A station could be a laptop PC, handheld device, or an access point (referred herein as “access point” or “AP”). Stations can be mobile, portable, or stationary, and all stations support the IEEE 802.11 station services of authentication, de-authentication, privacy, and data delivery. The MAC layer's primary function is to provide a fair mechanism to control access of shared wireless media. However, prior to transmitting a frame, the MAC layer must gain access to the network, which it does through two different access mechanisms: a contention-based mechanism, called the distributed coordination function (DCF), and a centrally controlled access mechanism, called the point coordination function (PCF). The PCF modes allow the implementation of a quality of service (QOS) mechanism, but it is optional and requires extra interactions in order to negotiate a QOS between the mobile terminal and the AP. The DCF mode, considered the default mode, does not provide any QOS mechanism. Consequently all stations including the base station AP in WLAN have the same probability to acquire and to send data within the medium. This type of service is referred to as a “best effort.”





BRIEF DESCRIPTION OF THE DRAWINGS

Certain features of the disclosed technology are set forth in the appended claims. However, the accompanying drawings, which are included to provide further understanding, illustrate disclosed aspects and together with the description serve to explain the principles of the subject technology. In the drawings:



FIG. 1 illustrates an example wireless communication network in which some aspects of the technology can be implemented.



FIG. 2A conceptually illustrates a timing specified by an extended duration field value configured in accordance with some aspects of the technology.



FIG. 2B provides a communication timing diagram graphically illustrating an example chronology of communications between an access point (AP), and a variety of receivers, according to some aspects of the technology.



FIG. 3 illustrates steps of an example process for reducing wireless contention, according to some aspects of the technology.



FIG. 4 illustrates example hardware components that can be used to implement an access point (AP), configured in accordance with some aspects of the technology.





DETAILED DESCRIPTION

The detailed description set forth below is intended as a description of various configurations of the technology and is not intended to represent the only configurations in which the subject technology can be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a more thorough understanding of the subject technology. However, it will be clear and apparent that the subject technology is not limited to the specific details set forth herein and may be practiced without these details. In some instances, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject technology.


Overview:


The subject disclosure relates to systems and methods for reducing access contention and the resultant collisions in a wireless network. In some aspects, a method or process of the technology includes steps for exchanging data packets with multiple client devices in a wireless network, and based on the data exchange, identifying a first client device and anticipating transmission of a packet based on information about layer 4 (or above) protocols. The method can further include steps for broadcasting a Layer 2 packet to the client devices, wherein the Layer 2 packet includes a duration field having an extended duration value, configured to suppress transmission by other listening client devices, allowing one or more anticipated packets to be received from the first client device without contention or collision from the other client devices.


Description:


A wireless local area network (WLAN) system works in an unauthorized spectrum shared by multiple users on a channel. If multiple client/receiver devices send data at the same time, the transmitted data packets can interfere, causing a collision. Therefore, in WLAN systems, a carrier sense multiple access with collision avoidance (CSMA/CA) mechanism is used to avoid a collision.


Carrier sense (CS) indicates that: before sending a frame, any device connected to a medium needs to sense the medium, and only when it is determined that the medium is idle, can the device can send the frame. Multiple Access (MA) provides that multiple devices can access a medium at the same time, and a frame sent by one device may also be received by multiple devices. A working manner of the CSMA/CA mechanism is that when a device intends to send a frame and obtains (by means of sensing) that a channel is idle, after the channel remains idle for a time period, if the channel is still idle after the device waits for another random time period (e.g., a “backoff period”), the device submits data. Because a waiting time of each device is generated randomly, it is likely that there is a difference, so that a possibility of collision can be reduced. Thus, a probability of a collision is related to how busy a system is. However, in WLAN systems, there is a “hidden node” problem. That is, when an access point (AP), e.g., “AP1” sends data to a receiver station (STA), a station that fails to sense AP1 (e.g., AP2), may consider the channel to be idle and start to send data, thereby interfering with a receiving device STA. This problem cannot be fully resolved by using the CSMA/CA protocol.


Because of the hidden node problem, in the WLAN system, the request to send (Request to send, RTS)/clear to send (Clear to send, CTS) protocol is generally used to perform transmission protection. Using RTS/CTS a channel is reserved before data is sent. For example, when AP1 sends data to STA, AP2 can also perform sending, thereby interfering with receiving of the STA transmission. However, the RTS/CTS protocol requires that, before sending data, AP1 first sends an RTS frame, and the receiving STA returns a CTS frame after receiving the RTS frame. All APs or STAs, except the intended recipient, receiving the RTS or CTS frame, set a network allocation vector (Network Allocation Vector, NAV) according to an indication of the received RTS or CTS frame (i.e., a “duration field”), where the NAV is a time corresponding to a sending time required by the AP1. These APs or STAs cannot send data within the NAV time. After sending an RTS (Layer 2) frame and receiving a response of the STA e.g., a CTS indication, AP1 obtains a sending opportunity, and AP1 sends data to the STA within this time period, which is not interfered with by other nearby APs or STAs.


In many WLAN implementations, the vast majority of data traffic is TCP/IP traffic. In such instances, Layer 4 acknowledgements are typically sent by the STA a short period after the Layer 4 data is received, and outside of the time period protected by the NAV as set by the transmission of the Layer 4 data. As a result, a large proportion of wireless contention occurs between multiple different STAs transmissions of Layer 4 ACKs. This problem is exacerbated when the STAs have poor antennas relative to the AP. For instance if the AP is mounted high up in a stadium, with a high gain antenna, and the STAs are mobile devices, low down in a crowd of people, with a low gain antenna, then the STAs may be hidden from each other, but not from the AP.


Aspects of the technology resolve the problems of wireless contention caused before and/or during issuance of Layer 3/4 acknowledgements by a receiving STA (e.g., TCP ACKs), through the extension of the duration field until a point in time, before which, the anticipated higher layer responses or other traffic are received by the AP.



FIG. 1 illustrates an example wireless communication network 100 in which some aspects of the technology can be implemented. FIG. 1 illustrates an Access Point (AP), configured for wireless communication with multiple receivers or client devices (e.g., STA1, STA2, and STA3). It is understood that additional (or fewer) STAs and/or APs could be implemented in network 100, without departing from the scope of the technology.


The AP may have access or interface to a Distribution System (DS) or another type of wired/wireless network that may carry traffic in and out of a BSS (not illustrated). Thus traffic to STAs can originate from outside the BSS, and arrive through the AP for delivery to the STAs. Conversely, traffic originating from STAs to destinations outside the BSS can be sent to the AP to be delivered to the respective destinations. Traffic between STAs within the BSS can be sent through the AP where the source STA may send traffic to the AP and the AP may deliver the traffic to the destination STA. The traffic between STAs within a BSS may be peer-to-peer traffic.


Using the IEEE 802.11 infrastructure mode of operation, the AP can transmit on a fixed channel, for example that is 20 MHz wide, and designated as the operating channel of the BSS. This channel may also be used by the STAs to establish a connection with the AP. The channel access in an IEEE 802.11 system may be Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA). In this mode of operation, the STAs, including the AP, can sense the primary channel. If the channel is detected to be busy, the STA may back off. If the channel is detected to be free, the STA may acquire the channel and transmit data.


It is understood that network 100 can implement various wireless standards using different channel sizes (bandwidths), without departing from the technology. By way of example, IEEE 802.11n, High Throughput (HT) STAs may be used, e.g., implementing a 40 MHz communication channel. This can be achieved, for example, by combining a primary 20 MHz channel, with an adjacent 20 MHz channel to form a 40 MHz wide contiguous channel. In IEEE 802.11a/c, very high throughput (VHT) STAs can also be supported, e.g., 20 MHz, 40 MHz, 80 MHz, and/or 160 MHz wide channels. The 40 MHz, and 80 MHz, channels can be formed, e.g., by combining contiguous 20 MHz channels. A 160 MHz channel may be formed, for example, by combining eight contiguous 20 MHz channels, or by combining two non-contiguous 80 MHz channels (e.g., referred to as an 80+80 configuration).


Additionally, although several of the examples provided describe wireless contention reduction in the context of an 802.11 WLAN architecture, is understood that other protocols can be implemented without departing from the technology. That is, wireless contention reduction techniques can be implemented in virtually any infrastructural context in which manipulation of an extension field duration (e.g. provided in a Layer 2 packet), is based on expectations of higher layer packet receipt (e.g., of Layer 3 or 4 packets or TCP/IP ACKs).


In practice, wireless contention between AP1, STA1, STA2, and STA3, can be reduced by the extension of the 802.11 duration field transmitted by AP1. For example, with respect to example network 100, AP1 can be configured to determine a likelihood that Layer 3 or Layer 4 packets are provided in response to any data transmitted to any of the network receivers (e.g., STA1, STA2, and STA3).


Data exchange between AP1 and any (or all) of the receivers in network 100 can be used to determine (at AP1), the likelihood of the subsequent receipt of higher layer responses or other transmissions, such as TCP ACKs. Based on the anticipated receipt of higher layer traffic, AP1 can adjust a duration field (e.g., indicated in a RTS frame or another frame), used to initiate transfer to any of the receiving STAs (i.e. where the receiver address is that of the receiving STA). The extended duration field value can be commensurate with a predicted time duration duration necessary for AP1 to receive all potentially inbound anticipated traffic, and complete the TXOP (e.g. subsequent L2 ACK or Block ACK). As discussed above, by increasing the duration field, wireless contention between STAs (STA1, STA2, STA3) and AP1, can be reduced by suppressing packet transmission by non-participating STAs until a full TCP transfer between AP1 and the receiving STA has completed.


By way of example, before initiating a data transfer to STA1, AP1 can predict that a response from STA1 will include Layer 3 and Layer 4 traffic. In particular, AP1 can determine the likelihood that STA1's response includes one or more TCP ACK packets, and the timing of when those are expected. As discussed in further detail below, the determination of the response type provided STA1 can be based on any of a variety of network observations. By way of example, the prediction can be based on a history of packet exchange between AP1 and STA1, a history of data packet exchange between AP1 and one or more nodes similar to STA1, and/or based on a type of data transferred from AP1 to STA1 (e.g., voice-over IP traffic), etc. In some aspects, machine-learning approaches can be implemented, for example, to predict or model the response types and/or durations for STA replies to AP1 transfers, based on dynamic network observations.


After AP1 has determined that subsequent STA1 responses are likely to include TCP/IP ACKs, adjustment of the duration is performed to extend the duration to at least a time necessary for AP1 to receive any subsequent TCP/IP ACKs, or the time for the anticipated response can be reserved later on by scheduling transmission of a frame to the client, e.g., if the delay is large and other transmissions are available to fill in the time. As such, the frame received by the other STAs in network 100 signals that the wireless medium is not available for transfer (e.g., to STA2, and STA3), until after expiration of the time period indicated by the extended duration field value. Transmission suppression of other receivers in network 100 is ended after this expiration.


As discussed in further detail below, extension field duration can also take consideration of the time required to perform batch data transmission, e.g., by an AP to a given STA, as well as the expected batch receipt of multiple TCP ACKs.



FIG. 2A graphically illustrates timing differences between a wireless medium reservation time specified by a standard duration field 214, and that of a configured (extended) value provide in extended duration field 216 of the subject technology. As illustrated, Layer 2 (L2) packets include a RTS packet 204, CTS packet 206, and L2 acknowledgement (ACK) 210, and L2 acknowledgement ACK 213. Layer 3/4 (L3/4) response packets include data 208, and L4 ACK 212. As used in the example of FIG. 2A, L4 ACK 212 represents one or more TCP/IP ACK/s. However, it is understood that LA ACK 212 can represent any packet transmitted on a higher layer (e.g., Layer 3 or 4) in immediate or anticipated response to a lower layer (e.g. L2) data transmission.


In practice, RTS 204 is initially broadcast by a transmitting AP, such as AP1 discussed above. RTS 204 includes an extended duration field value that indicates an extended time duration for which all non-recipient receiver nodes (e.g., non-receiving STAs) must wait before resuming wireless contention. The intended recipient node, however, is permitted to respond, e.g., by sending back a “clear to send” (CTS) packet 206.


Subsequent transmission of data by the access point to the intended receiver can include the transfer of data packets 208, followed by the receipt of one or more L2 ACKs 210. Subsequently, one or more higher-layer packets (e.g., L3/4 ACKs) 212 are received by the receiver and acknowledged with L2 ACK 213, after which the time period specified by the extended duration field value expires, permitting other nodes in the network to begin the process of contention.


It is understood that any of data packet/s 208, L2 ACKs 210, 213, and/or L3/4 ACK/s 212 can represent batch packet transfers. For example, data packet 208 can represent a stream of packets transmitted from an AP (e.g., AP1), to a designated receiver (e.g., STA1). Similarly, ACKs 212 can represent a batch of TCP/IP acknowledgements sent from the designated receiver back to the AP. As such, the extended duration value 216 specified in the duration field of RTS 204 can be sufficient to account for an end-to-end time needed to complete a batch transfer of data packets or several batches, and a batch receipt of (TCP/IP) acknowledgement packets, by the AP.



FIG. 2B provides a communication timing diagram 201, graphically illustrating an example chronology of communications between an access point, and a variety or receivers, according to some aspects of the technology. Timing diagram 201 illustrates a chronology of data exchanged between Access Point (AP) 218, intended receiver 220, and multiple other receivers 222 in a wireless network environment. For simplicity sake, diagram 201 indicates signaling between transmitting and intended recipient devices. As understood by one of skill in the art, wireless transmissions can be received by any device in the broadcast range.


In the provided example, AP 218 initially broadcasts an RTS packet 224, which is received by Intended Receiver 220, as well as one or more other receivers 222. In accordance with aspects of the disclosed technology, RTS packet 224 includes an extended duration field value 203 calibrated based on a time period 203 required for AP 218 to receive one or more Layer 4 acknowledgement packets (ACKs) from Intended Receiver 220. Each of the non-intended receivers in the network (e.g., Other Receivers 222), are silenced for the time period 203 indicated by the extended duration field value in RTS packet 224. Intended Receiver 220, however, is permitted to transmit, and subsequently issues CTS packet 226 back to AP 218.


Subsequently, AP 218 can transfer a batch of data packets 228 to Intended Receiver 220. In some implementations, each separate packet transferred in batch 228 can precipitate a Layer 2 acknowledgement (e.g., L2 ACK 230) that is issued from Intended Receiver 220. Subsequently, one or more batches of Layer 3 acknowledgements (e.g., Batch TCP ACK 232), can be transmitted from Intended Receiver 220 to Access Point 218. In some approaches, TCP/IP ACKs are provided for every other data packet in batch 228. However, Layer 4 ACKs can be provided on a more (or less) frequent basis, without deviating from the scope of the technology.


In some implementations, Intended Receiver 220 may send an optional RTS 231 to AP 218, e.g., before transmission of the Batch TCP ACK 232. It is understood that wireless broadcasts can be received by each device in the wireless network; however, the illustration of FIG. 2B illustrates only intended recipients of broadcasts by each device.


By extending the duration field indicated in the RTS packet (e.g., RTS 224), until all anticipated Layer 4 acknowledgements have been received and acknowledged at L2, wireless contentions that would have occurred just after issuance of the L2 ACK 230 are eliminated.



FIG. 3 illustrates steps of an example process 300 for reducing wireless contention, according to some aspects of the technology. Process 300 begins with step 302 in which a multitude of packets are exchanged (e.g., by an access point), with a plurality of devices (receivers/STAs) in a wireless network. As indicated above, the provided examples are described in the context of 802.11 wireless network implementations. However, other protocols can be used, without departing from the technology.


In some aspects, the exchange of packets with one or more devices in the wireless network can be used as an opportunity for the AP to “learn” about the type of packets transacted with one or more nodes in a network. The AP can be configured to inspect packets originating from different receivers in the network, for example, to determine the presence of Layer 2, Layer 3, and/or Layer 4 packets. In some aspects, traffic types can be identified based on a regularity of packets received from and/or transmitted to a particular receiver. By way of example, a high regularity of packet exchange may indicate a particular traffic flow type, such as, voice over IP (VoIP), which corresponds to transfers associated with a specific packet layer. In VoIP flows, the traffic from the STA can be reliably anticipated since it follows a constant pattern. By delaying the traffic from the AP to the STA until just before the regular transmission from the STA to the AP happens, the traffic can have it's duration field extended to cover the transmissions of VoIP from the STA to the AP, thus avoiding any contention by the STA for this traffic.


In some aspects, the AP can be configured to monitor traffic flows, e.g. using a machine learning model, to identify one or more nodes in the wireless network (e.g. identify a first client device), from which subsequent Layer 3 and/or Layer 4 packets are likely to be received (step 304). In some aspects, the AP can also be configured to predict duration necessary to send a batch of data packets to the first client device, and to subsequently receive one or more Layer 4 acknowledgments (e.g., a batch of TCP ACKs). As discussed above, such predictions can be used by the AP to configure a duration specified in a duration field, and used to prevent wireless contention by other network nodes.


Subsequently, at step 306, a Layer 2 packet is provided to the plurality of client devices (receivers) in the network, which includes the extended duration field value configured in step 304. With the exception of the intended receiving node (e.g., the first client device), receipt of the Layer 2 (RTS) packet by every other node in the network causes the respective receiving nodes to set their virtual carrier sense, and thus to avoid wireless contention for the specified duration. Because the duration is based on an amount of time needed for the AP to complete the reception and 802.11 acknowledgement of all TCP ACKs, a significant amount of wireless contention in the network is avoided.



FIG. 4 illustrates an example network device 410 that can be used to implement an access point or one or more client devices, as discussed above. Network device 410 includes a master central processing unit (CPU) 462, interfaces 468, and a bus 415 (e.g., a PCI bus). When acting under the control of appropriate software or firmware, the CPU 462 can be configured to carry out a process for reducing contention in a wireless medium, in accordance with some aspects of the technology.


For example, CPU 432 can be configured to facilitate implementation of data packet exchange with a plurality of client devices in a wireless network, and based on the exchange, identify a first device from among a plurality of client devices from which one or more higher-layer packets are likely to be received. In some aspects, CPU 432 can be configured to transmit (e.g., via a transceiver portion of interfaces 468), a packet to a first device, wherein the packet includes an extended duration field value, and is configured to be received by one or more of the plurality of devices and to suppress transmission by the one or more of the plurality of devices until at least one of the higher-layer packets are received from the first device.


The CPU 462 preferably accomplishes all these functions under the control of software including an operating system and any appropriate applications software. CPU 462 may include one or more processors 463 such as a processor from the Motorola family of microprocessors or the MIPS family of microprocessors. In an alternative embodiment, processor 463 is specially designed hardware for controlling the operations of router 410. In a specific embodiment, a memory 461 (such as non-volatile RAM and/or ROM) also forms part of CPU 462. However, there are many different ways in which memory could be coupled to the system.


Interfaces 468 are typically provided as interface cards (sometimes referred to as “line cards”). Generally, they control the sending and receiving of data packets over the network and sometimes support other peripherals used with the router 410. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast token ring interfaces, wireless interfaces, Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control such communications intensive tasks as packet switching, media control and management. By providing separate processors for the communications intensive tasks, these interfaces allow the master microprocessor 462 to efficiently perform routing computations, network diagnostics, security functions, etc.


Although the system shown in FIG. 4 is one specific network device of the present invention, it is by no means the only network device architecture on which the present invention can be implemented. For example, an architecture having a single processor that handles communications as well as routing computations, etc. is often used. Further, other types of interfaces and media could also be used with the router.


Regardless of the network device's configuration, it may employ one or more memories or memory modules (including memory 461) configured to store program instructions for the general-purpose network operations and mechanisms for roaming, route optimization and routing functions described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to store tables such as mobility binding, registration, and association tables, etc.


It is understood that any specific order or hierarchy of steps in the processes disclosed is an illustration of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged, or that only a portion of the illustrated steps be performed. Some of the steps may be performed simultaneously. For example, in certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.


The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.”


A phrase such as an “aspect” does not imply that such aspect is essential to the subject technology or that such aspect applies to all configurations of the subject technology. A disclosure relating to an aspect may apply to all configurations, or one or more configurations. A phrase such as an aspect may refer to one or more aspects and vice versa. A phrase such as a “configuration” does not imply that such configuration is essential to the subject technology or that such configuration applies to all configurations of the subject technology. A disclosure relating to a configuration may apply to all configurations, or one or more configurations. A phrase such as a configuration may refer to one or more configurations and vice versa.


The word “exemplary” is used herein to mean “serving as an example or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.

Claims
  • 1. A system for reducing access contention for data exchange in a wireless medium, comprising: one or more processors;a network interface coupled to the one or more processors; anda transceiver coupled to the one or more processors, and wherein the processors are configured to perform operations comprising: exchanging, via the transceiver, data packets with a plurality of client devices in a wireless network;based on the exchanging of the data packets, identifying a first device from among the plurality of client devices from which one or more Transmission Control Protocol (TCP) packets are likely to be received;predicting that a TCP acknowledgement (ACK) packet will be received from the first device in response to a packet transmitted to the first device;determining, based on predicting that a TCP ACK packet will be received, an extended duration field value which corresponds to a time duration from a time that the packet is transmitted until at least a time at which the TCP ACK packet is predicted to be received from the first device; andtransmitting, via the transceiver, the packet to the first device, wherein the packet transmitted to the first device comprises the extended duration field value, and wherein the packet transmitted to the first device is configured to be received by one or more of the plurality of devices and to suppress transmission by the one or more of the plurality of devices until at least the TCP ACK packet is received from the first device.
  • 2. The system of claim 1, wherein the packet comprises a Request to Send (RTS) frame formatted based on an 802.11 wireless networking protocol, and wherein the RTS frame contains the extended duration field value.
  • 3. The system of claim 1, wherein the packet comprising the extended duration field value is further configured to suppress transmission by one or more of the plurality of client devices until a time duration necessary to receive a Clear to Send (CTS) packet, transmit a plurality of data packets to the first device, and receive a plurality of Transmission Control Protocol (TCP) acknowledgement (ACK) packets from the first device.
  • 4. The system of claim 1, wherein the extended duration field value is determined based on a number of data packets to be transmitted to the first device.
  • 5. The system of claim 1, wherein, identifying a first device from among the plurality of client devices for which one or more higher-layer packets are likely to be received, further comprises: identifying a traffic type for one or more packets previously received from the first device; anddetermining a likelihood that future packets received from the first device will contain higher-layer traffic based on the traffic type for the one or more packets previously received from the first device.
  • 6. The system of claim 1, wherein, identifying a first device from among the plurality of client devices for which one or more higher-layer packets are likely to be received, further comprises: identifying a traffic type for one or more packets previously received from the one or more of the plurality of client devices, wherein the one or more of the plurality of client devices are different from the first client device; anddetermining a likelihood that future packets received from the first device will contain higher-layer traffic based on the traffic type for the one or more packets previously received from the one or more of the plurality of client devices.
  • 7. A computer-implemented method for reducing access contention a wireless medium, comprising: exchanging data packets with a plurality of client devices in a wireless network;based on the exchanging of the data packets, identifying a first device from among the plurality of client devices from which one or more Transmission Control Protocol (TCP) packets are likely to be received;predicting that a TCP acknowledgement (ACK) packet will be received from the first device in response to a packet transmitted to the first device;determining, based on predicting that a TCP ACK packet will be received, an extended duration field value which corresponds to a time duration from a time that the packet is transmitted until at least a time at which the TCP ACK packet is predicted to be received from the first device; andtransmitting, via the transceiver, the packet to the first device, wherein the packet transmitted to the first device comprises the extended duration field value, and wherein the packet transmitted to the first device is configured to be received by one or more of the plurality of devices and to suppress transmission by the one or more of the plurality of devices until at least the TCP ACK packet is received from the first device.
  • 8. The computer-implemented method of claim 7, wherein the packet comprises a Request to Send (RTS) frame formatted based on an 802.11 wireless networking protocol, and wherein the RTS frame contains the extended duration field value.
  • 9. The computer-implemented method of claim 7, wherein the packet comprising the extended duration field value is further configured to suppress transmission by one or more of the plurality of client devices until a time duration necessary to receive a Clear to Send (CTS) packet, transmit a plurality of data packets to the first device, and receive a plurality of Transmission Control Protocol (TCP) acknowledgement (ACK) packets from the first device.
  • 10. The computer-implemented method of claim 7, wherein the extended duration field value is determined based on a number of data packets to be transmitted to the first device.
  • 11. The computer-implemented method of claim 7, wherein, identifying a first device from among the plurality of client devices for which one or more higher-layer packets are likely to be received, further comprises: identifying a traffic type for one or more packets previously received from the first device; anddetermining a likelihood that future packets received from the first device will contain higher-layer traffic based on the traffic type for the one or more packets previously received from the first device.
  • 12. The computer-implemented method of claim 7, wherein, identifying a first device from among the plurality of client devices for which one or more higher-layer packets are likely to be received, further comprises: identifying a traffic type for one or more packets previously received from the one or more of the plurality of client devices, wherein the one or more of the plurality of client devices are different from the first client device; anddetermining a likelihood that future packets received from the first client device will contain higher-layer traffic based on the traffic type for the one or more packets previously received from the one or more of the plurality of client devices.
  • 13. A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by one or more processors, cause the processors to perform operations comprising: exchanging data packets with a plurality of client devices in a wireless network;based on the exchanging of the data packets, identifying a first device from among the plurality of client devices from which one or more Transmission Control Protocol (TCP) packets are likely to be received;predicting that a TCP acknowledgement (ACK) packet will be received from the first device in response to a packet transmitted to the first device;determining, based on predicting that a TCP ACK packet will be received, an extended duration field value which corresponds to a time duration from a time that the packet is transmitted until at least a time at which the TCP ACK packet is predicted to be received from the first device; andtransmitting, via the transceiver, the packet to the first device, wherein the packet transmitted to the first device comprises the extended duration field value, and wherein the packet transmitted to the first device is configured to be received by one or more of the plurality of devices and to suppress transmission by the one or more of the plurality of devices until at least the TCP ACK packet is received from the first device.
  • 14. The non-transitory computer-readable storage medium of claim 13, wherein the packet comprises a Request to Send (RTS) frame formatted based on an 802.11 wireless networking protocol, and wherein the RTS frame contains the extended duration field value.
  • 15. The non-transitory computer-readable storage medium of claim 13, wherein the packet comprising the extended duration field value is further configured to suppress transmission by one or more of the plurality of client devices until a time duration necessary to receive a Clear to Send (CTS) packet, transmit a plurality of data packets to the first device, and receive a plurality of Transmission Control Protocol (TCP) acknowledgement (ACK) packets from the first device.
  • 16. The non-transitory computer-readable storage medium of claim 13, wherein the extended duration field value is determined based on a number of data packets to be transmitted to the first device.
  • 17. The non-transitory computer-readable storage medium of claim 13, wherein, identifying a first device from among the plurality of client devices for which one or more higher-layer packets are likely to be received, further comprises: identifying a traffic type for one or more packets previously received from the first device; anddetermining a likelihood that future packets received from the first device will contain higher-layer traffic based on the traffic type for the one or more packets previously received from the first device.
US Referenced Citations (171)
Number Name Date Kind
4236068 Walton Nov 1980 A
5642303 Small et al. Jun 1997 A
5751223 Turner May 1998 A
6812824 Goldinger et al. Nov 2004 B1
D552603 Tierney Oct 2007 S
7573862 Chambers et al. Aug 2009 B2
D637569 Desai et al. May 2011 S
7975262 Cozmei Jul 2011 B2
8010079 Mia et al. Aug 2011 B2
8102814 Rahman et al. Jan 2012 B2
8260320 Herz Sep 2012 B2
8284748 Borghei Oct 2012 B2
8300594 Bernier et al. Oct 2012 B1
8325626 Tóth et al. Dec 2012 B2
8391836 Bolot Mar 2013 B1
8396485 Grainger et al. Mar 2013 B2
8446899 Lei et al. May 2013 B2
8458184 Dorogusker et al. Jun 2013 B2
D691636 Bunton Oct 2013 S
8549638 Aziz Oct 2013 B2
8644301 Tamhankar et al. Feb 2014 B2
8650279 Mehta et al. Feb 2014 B2
8669902 Pandey et al. Mar 2014 B2
8676182 Bell et al. Mar 2014 B2
8682279 Rudolf et al. Mar 2014 B2
8693367 Chowdhury et al. Apr 2014 B2
8718644 Thomas et al. May 2014 B2
8768389 Nenner et al. Jul 2014 B2
8849283 Rudolf et al. Sep 2014 B2
8909698 Parmar et al. Dec 2014 B2
8958318 Hastwell et al. Feb 2015 B1
9060352 Chan et al. Jun 2015 B2
9130859 Knappe Sep 2015 B1
9173084 Foskett Oct 2015 B1
9173158 Varma Oct 2015 B2
D744464 Snyder et al. Dec 2015 S
D757424 Phillips et al. May 2016 S
D759639 Moon et al. Jun 2016 S
9389992 Gataullin et al. Jul 2016 B2
9426305 De Foy et al. Aug 2016 B2
D767548 Snyder et al. Sep 2016 S
D776634 Lee et al. Jan 2017 S
9544337 Eswara et al. Jan 2017 B2
9609504 Karlqvist et al. Mar 2017 B2
9642167 Snyder et al. May 2017 B1
9654344 Chan et al. May 2017 B2
9713114 Yu Jul 2017 B2
9772927 Gounares et al. Sep 2017 B2
9820105 Snyder et al. Nov 2017 B2
D804450 Spiel et al. Dec 2017 S
9858559 Raleigh et al. Jan 2018 B2
9860151 Ganichev et al. Jan 2018 B2
9923780 Rao et al. Mar 2018 B2
9933224 Dorne et al. Apr 2018 B2
9967906 Verkaik et al. May 2018 B2
9980220 Snyder et al. May 2018 B2
9985837 Rao et al. May 2018 B2
20030087645 Kim et al. May 2003 A1
20030116634 Tanaka Jun 2003 A1
20040203572 Aerrabotu et al. Oct 2004 A1
20050090225 Muehleisen et al. Apr 2005 A1
20050169193 Black et al. Aug 2005 A1
20050186904 Kowalski et al. Aug 2005 A1
20060022815 Fischer et al. Feb 2006 A1
20060030290 Rudolf et al. Feb 2006 A1
20060092964 Park et al. May 2006 A1
20060126882 Deng et al. Jun 2006 A1
20060187866 Werb et al. Aug 2006 A1
20070037605 Logan Feb 2007 A1
20070183443 Won Aug 2007 A1
20070239854 Janakiraman et al. Oct 2007 A1
20080037715 Prozeniuk et al. Feb 2008 A1
20080084888 Yadav et al. Apr 2008 A1
20080101381 Sun et al. May 2008 A1
20080163207 Reumann et al. Jul 2008 A1
20080233969 Mergen Sep 2008 A1
20090129389 Halna DeFretay et al. May 2009 A1
20090203370 Giles et al. Aug 2009 A1
20090282048 Ransom et al. Nov 2009 A1
20090298511 Paulson Dec 2009 A1
20090307485 Weniger et al. Dec 2009 A1
20100039280 Holm et al. Feb 2010 A1
20100097969 De Kimpe et al. Apr 2010 A1
20110087799 Padhye et al. Apr 2011 A1
20110142053 Van Der Merwe et al. Jun 2011 A1
20110182295 Singh et al. Jul 2011 A1
20110194553 Sahin et al. Aug 2011 A1
20110228779 Goergen Sep 2011 A1
20120023552 Brown et al. Jan 2012 A1
20120054367 Ramakrishnan et al. Mar 2012 A1
20120088476 Greenfield Apr 2012 A1
20120115512 Grainger et al. May 2012 A1
20120157126 Rekimoto Jun 2012 A1
20120167207 Beckley et al. Jun 2012 A1
20120182147 Forster Jul 2012 A1
20120182867 Farrag Jul 2012 A1
20120311127 Kandula et al. Dec 2012 A1
20120324035 Cantu et al. Dec 2012 A1
20130029685 Moshfeghi Jan 2013 A1
20130039391 Skarp Feb 2013 A1
20130057435 Kim Mar 2013 A1
20130077612 Khorami Mar 2013 A1
20130088983 Pragada et al. Apr 2013 A1
20130107853 Pettus et al. May 2013 A1
20130108263 Srinivas et al. May 2013 A1
20130115916 Herz May 2013 A1
20130145008 Kannan et al. Jun 2013 A1
20130155906 Nachum et al. Jun 2013 A1
20130191567 Rofougaran et al. Jul 2013 A1
20130203445 Grainger et al. Aug 2013 A1
20130217332 Altman et al. Aug 2013 A1
20130232433 Krajec et al. Sep 2013 A1
20130273938 Ng et al. Oct 2013 A1
20130275206 Shekhawat Oct 2013 A1
20130317944 Huang et al. Nov 2013 A1
20130322438 Gospodarek et al. Dec 2013 A1
20130343198 Chhabra et al. Dec 2013 A1
20130347103 Veteikis et al. Dec 2013 A1
20140004865 Bhargava Jan 2014 A1
20140007089 Bosch et al. Jan 2014 A1
20140016926 Soto et al. Jan 2014 A1
20140025770 Warfield et al. Jan 2014 A1
20140052508 Pandey et al. Feb 2014 A1
20140059655 Beckley et al. Feb 2014 A1
20140087693 Walby et al. Mar 2014 A1
20140105213 A K et al. Apr 2014 A1
20140118113 Kaushik et al. May 2014 A1
20140148196 Bassan-Eskenazi et al. May 2014 A1
20140179352 V.M. et al. Jun 2014 A1
20140191868 Ortiz et al. Jul 2014 A1
20140198808 Zhou Jul 2014 A1
20140233460 Pettus et al. Aug 2014 A1
20140269321 Kamble et al. Sep 2014 A1
20140302869 Rosenbaum et al. Oct 2014 A1
20140337824 St. John et al. Nov 2014 A1
20140341568 Zhang et al. Nov 2014 A1
20150016286 Ganichev et al. Jan 2015 A1
20150016469 Ganichev et al. Jan 2015 A1
20150030024 Venkataswami et al. Jan 2015 A1
20150043581 Devireddy et al. Feb 2015 A1
20150063166 Sif et al. Mar 2015 A1
20150065161 Ganesh et al. Mar 2015 A1
20150071270 Harel Mar 2015 A1
20150087330 Prechner et al. Mar 2015 A1
20150103818 Kuhn et al. Apr 2015 A1
20150117269 Navalekar Apr 2015 A1
20150163192 Jain et al. Jun 2015 A1
20150172025 Kwon Jun 2015 A1
20150172391 Kasslin et al. Jun 2015 A1
20150223337 Steinmacher-Burow Aug 2015 A1
20150256972 Markhovsky et al. Sep 2015 A1
20150264519 Mirzaei et al. Sep 2015 A1
20150280827 Adiletta et al. Oct 2015 A1
20150288410 Adiletta et al. Oct 2015 A1
20150326704 Ko et al. Nov 2015 A1
20150358777 Gupta Dec 2015 A1
20150362581 Friedman et al. Dec 2015 A1
20160007315 Lundgreen et al. Jan 2016 A1
20160021669 Tetzlaff Jan 2016 A1
20160044627 Aggarwal et al. Feb 2016 A1
20160099847 Melander et al. Apr 2016 A1
20160105408 Cooper et al. Apr 2016 A1
20160113031 Sun Apr 2016 A1
20160127875 Zampini, II May 2016 A1
20160146495 Malve et al. May 2016 A1
20160344641 Javidi et al. Nov 2016 A1
20160352492 De Wit Dec 2016 A1
20170026974 Dey et al. Jan 2017 A1
20170214551 Chan et al. Jul 2017 A1
20180069311 Pallas et al. Mar 2018 A1
20180084389 Snyder et al. Mar 2018 A1
Foreign Referenced Citations (3)
Number Date Country
WO 2013020126 Feb 2013 WO
WO 2014098556 Jun 2014 WO
WO 2018009340 Jan 2018 WO
Non-Patent Literature Citations (21)
Entry
Afolabi, Ibrahim, et al., “Network Slicing & Softwarization: A Survey on Principles, Enabling Technologies & Solutions,” Mar. 21, 2018, pp. 1-24.
Antonioli, Roberto, et al., “Dual Connectivity for LTE-NR Cellular Networks,” Research Gate, Sep. 3-6, 2017, pp. 171-175.
Cisco ASR 5x00 Mobility Management Entity Administration Guide, Version 15.0, Last updated Jun. 13, 2014, Cisco, 1-266.
Cox, Jacob H. Jr., et al., “Advancing Software-Defined Networks: A Survey,” IEEE, Oct. 12, 2017, pp. 25487-25526.
Saraiva de Sousa, Nathan F., et al., “Network Service Orchestration: A Survey,” IEEE Communications Surveys & Tutorials, Mar. 23, 2018, pp. 1-30.
Geller, Michael, et al. , “5G Security Innovation with Cisco,” Whitepaper Cisco Public, Jun. 8, 2018, pp. 1-29.
Ventre, Pier Luigi, et al., “Performance Evaluation and Tuning of Virtual Infrastructure Managers for (Micro) Virtual Network Functions,” ieee.org, Nov. 7-10, 2016, pp. 1-7.
“I Love WiFi, The difference between L2 and L3 Roaming Events,” Apr. 1, 2010, 6 pages.
Carter, Steve Sr., “E911 VoIP Essentials for Enterprise Deployments,” XO Communications, LLC, 2012, 9 pages.
Chalise, Batu K., et al., “MIMO Relaying for Multiaccess Communication in Cellular Networks,” Sensor Array and MultiChannel Signal Processing Workshop, 2008, SAM 2008, 5th IEEE, Jul. 21, 2008, pp. 146-150.
Cisco Systems, Inc., “Wi-FI Location-Based Services 4.1 Design Guide,” May 20, 2008, 206 pages.
Cui, Wenzhi et al., “DiFS: Distributed Flow Scheduling for Data Center Networks,” Nanjing University, China, Jul. 28, 2013, 10 pages.
Galvan T., Carlos E., et al., “Wifi bluetooth based combined positioning algorithm,” International Meeting of Electrical Engineering Research ENIINVIE 2012, Procedia Engineering 35 (2012 ), pp. 101-108.
Gesbert, David, “Advances in Multiuser MIMO Systems (Tutorial Part II) Emerging Topics in Multiuser MIMO Networks,” IEEE PIMRC Conference, Sep. 2007, 107 pages.
Halperin, Daniel, et al., “Augmenting Data Center Networks with Multi-Gigabit Wireless Links,” Aug. 15-19, 2011, SIGCOMM'11, ACM 978-1-4503-0797-0/11/08, pp. 38-49.
Ji, Philip N., et al., “Demonstration of High-Speed MIMO OFDM Flexible Bandwidth Data Center Network,” Optical Society of America, 2012, 2 pages.
Kandula, Srikanth, et al., “Flyways to De-Congest Data Center Networks,” Microsoft Research, Oct. 23, 2009, 6 pages.
Katayama, Y. et al., “MIMO Link Design Strategy for Wireless Data Center Applications,” IEEE Wireless Communications and Networking Conference: Services, Applications, and Business, 2012, 5 pages.
Leary, Jonathan, et al., “Wireless LAN Fundamentals: Mobility,” Jan. 9, 2004, Cisco Press, 15 pages.
Network Heresy, “NVGRE, VXLAN and What Microsoft is Doing Right,” Oct. 3, 2011, 5 pages.
Savvides, Andreas, et al., “Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors”, Proceeding MobiCom '01 Proceedings of the 7th annual international conference on Mobile computing and networking, Jul. 2001, pp. 166-179.
Related Publications (1)
Number Date Country
20190021114 A1 Jan 2019 US