WO2022047742A1 - Improve gaming performance for dual wi-fi device - Google Patents

Improve gaming performance for dual wi-fi device Download PDF

Info

Publication number
WO2022047742A1
WO2022047742A1 PCT/CN2020/113548 CN2020113548W WO2022047742A1 WO 2022047742 A1 WO2022047742 A1 WO 2022047742A1 CN 2020113548 W CN2020113548 W CN 2020113548W WO 2022047742 A1 WO2022047742 A1 WO 2022047742A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
client device
band
duplicate
outbound data
Prior art date
Application number
PCT/CN2020/113548
Other languages
French (fr)
Inventor
Peng Tao
Quan Chen
Feng Jiang
Haokeng YU
Original Assignee
Arris Enterprises Llc
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 Arris Enterprises Llc filed Critical Arris Enterprises Llc
Priority to PCT/CN2020/113548 priority Critical patent/WO2022047742A1/en
Publication of WO2022047742A1 publication Critical patent/WO2022047742A1/en

Links

Images

Classifications

    • 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/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/14Multichannel or multilink protocols

Definitions

  • Embodiments of the invention relate to managing data packet broadcasts to reduce bandwidth usage.
  • aspects of the present invention are drawn to a gateway device for use with an external server and a client device.
  • the external server is configured to transmit an inbound data packet to be broadcast to the client device.
  • the client device is configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server.
  • the gateway device includes a memory and a processor.
  • the processor is configured to execute instructions stored on the memory to cause the gateway device to: receive, from the external server, the inbound data packet; broadcast, to the client device, the inbound data packet on the first band; broadcast, to the client device, a duplicate of the inbound data packet on the second band; receive, from the client device, the first outbound data packet on the first band; receive, from the client device, the duplicate outbound data packet on the second band; transmit, to the external server, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
  • the processor is further configured to execute instructions stored on the memory to additionally cause the gateway device to configure the gateway device to transmit, to the external server, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet by way of a management information base or a TR-069 protocol.
  • TR-069 is an application layer for remote management of CPE (Customer Premises Equipment) , like a gateway, connected to an IP.
  • the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
  • FIG. 1 Other aspects of the present disclosure are drawn to a method of using a gateway device with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device.
  • the client device is configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server.
  • the method includes: receiving from the external server, via a processor configured to execute instructions stored on a memory, the inbound data packet; broadcasting to the client device, via the processor, the inbound data packet on the first band; broadcasting to the client device, via the processor, a duplicate of the inbound data packet on the second band; receiving from the client device, via the processor, the first outbound data packet on the first band; receiving from the client device, via the processor, the duplicate outbound data packet on the second band; transmitting to the external server, via the processor, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and dropping, via the processor, the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
  • both the transmission of the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet and the dropping of the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet are performed by way of a management information base or a TR-069 protocol.
  • the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
  • FIG. 1 Other aspects of the present disclosure are drawn to a non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by a gateway device for use with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device, the client device being configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server.
  • the computer-readable instructions are capable of instructing the gateway device to perform the method including: receiving from the external server, via a processor configured to execute instructions stored on a memory, the inbound data packet; broadcasting to the client device, via the processor, the inbound data packet on the first band; broadcasting to the client device, via the processor, a duplicate of the inbound data packet on the second band; receiving from the client device, via the processor, the first outbound data packet on the first band; receiving from the client device, via the processor, the duplicate outbound data packet on the second band; transmitting to the external server, via the processor, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and dropping, via the processor, the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
  • the computer-readable instructions are capable of instructing the gateway device to perform the method wherein both the transmission of the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet and the dropping of the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet are performed by way of a management information base or a TR-069 protocol.
  • the computer-readable instructions are capable of instructing the gateway device to perform the method wherein the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
  • FIG. 1A illustrates a conventional communication system at a time t 0 ;
  • FIG. 1B illustrates the conventional communication system of FIG. 1A at a time t 1 ;
  • FIG. 2 illustrates an algorithm to be executed by a processor to manage outbound packets for a dual Wi-Fi device
  • FIG. 3A illustrates a communication system, in accordance with aspects of the present disclosure, at a time t 2 ;
  • FIG. 3B illustrates the communication system of FIG. 3A, in accordance with aspects of the present disclosure, at a time t 3 ;
  • FIG. 4A illustrates an exploded view of a gateway device and a client device at a time t 4 ;
  • FIG. 4B illustrates an exploded view of the gateway device and the client device of FIG. 4A at a time t 5 ;
  • FIG. 4C illustrates an exploded view of the gateway device and the client device of FIG. 4A at a time t 6 ;
  • FIG. 4D illustrates an exploded view of the gateway device and the client device of FIG. 4A at a time t 7 ;
  • FIG. 5A illustrates two sets of packets broadcasted from the client device of FIG. 4C;
  • FIG. 5B illustrates two sets of packets as received by the gateway device of FIG. 4C;
  • FIG. 6 illustrates the packets that are retained by the gateway device of all the packets that are received.
  • FIG. 7 illustrates a set of packets as transmitted from the gateway device of FIG. 4D to the service provider server.
  • FIG. 1A illustrates a conventional communication system 100 at time t 0 .
  • conventional communication system 100 includes a service provider 102, physical media/wiring 114, and a residence 104.
  • Residence 104 contains a gateway device 108, a client device 112, and a user 107.
  • Gateway device 108 is configured to provide two wireless local area networks (WLANs) , WLAN 118 being broadcast over a 2.4 GHz band and indicated by the dashed line broadcast area, and WLAN 120 being broadcast over a 5 GHz band and indicated by the dashed-dotted line broadcast area.
  • WLANs wireless local area networks
  • Gateway device 108 can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE) , or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
  • BLE Bluetooth Low Energy
  • Service provider 102 is arranged to communicate with gateway device 108 by way of physical media/wiring 114.
  • Gateway device 108 is arranged to communicate with client device 112 by way of WLAN 118 and WLAN 120.
  • service provider 102 is providing service to gateway device 108.
  • the service be an online game
  • client device 112 is a gaming system configured to play the online game of the service.
  • gateway device 108 and client device 112 will continuously transmit/receive data packets to one another while user 107 is playing the online game using client device 112.
  • This figure represents a time when service provider 102 sends data 126 to gateway device 108, which will be wirelessly transmitted to client device 112 as a sets of duplicate data packets, as represented by arrows 122 and 124.
  • data packets 122 are transmitted over WLAN 120
  • data packets 124 are transmitted over WLAN 118.
  • these data packets may enable client device 112 to view and hear the game for a time period.
  • user 107 may perform some action on client device 112 in order to interact with the online game. This action on client device will be converted to data packets to be delivered to service provider 102. This will be described in greater detail with reference to FIG. 1B.
  • FIG. 1B illustrates a conventional communication system 100 at time t 1 .
  • gateway device 108 has received a set of duplicate data packets 128 and 130 from client device 112.
  • data packets 128 are transmitted over WLAN 120
  • data packets 130 are transmitted over WLAN 118.
  • Gateway device 108 then sends both received data packets back to service provider 102, as represented by arrow 132.
  • Transmitting multiple packets of data at the same time to service provider 102 increases bandwidth usage, which can in turn make the latency of a game much lower. This impacts the overall game performance and can be frustrating to many users.
  • a system and method in accordance with the present disclosure solves the problem of bandwidth clogging and latency issues that occur when using dual-band Wi-Fi devices.
  • traffic is replicated on both the 2.4 GHz and 5 GHz band for a dual-band Wi-Fi device.
  • the client device When a game application is started on a dual-band Wi-Fi client device, the client device will transmit two copies of gaming data, one copy on the 2.4 GHz band and one copy on the 5 GHz band, to the remote game server by way of the gateway device.
  • the gateway device receives a copy of the data from the dual-band Wi-Fi device, regardless of whether that copy is from the 2.4 GHz band or the 5 GHz band, it will transmit the data to the remote game server immediately. The second copy of the data will be dropped when it is received.
  • the gateway When the gateway receives the response from the remote game server, it will transmit two copies of data to the dual-band Wi-Fi device, one copy on the 2.4 GHz band and one copy on the 5 GHz band.
  • the dual-band Wi-Fi device receives the first copy of data, regardless of whether that copy is from the 2.4 GHz band or the 5 GHz band, and drops the second copy of data.
  • This method ensures that the dual-band Wi-Fi client device will always communicate with the remote game server with lowest latency. Using this method, low latency in online games is guaranteed on a dual-band Wi-Fi device, especially for cloud-based games.
  • FIGs. 2-4D An example system and method for improving gaming performance for a dual-band Wi-Fi device in accordance with aspects of the present disclosure will now be described in greater detail with reference to FIGs. 2-4D.
  • FIG. 2 illustrates an algorithm 200 to be executed by a processor to manage outbound packets for a dual-band Wi-Fi device.
  • method 200 starts (S202) , and inbound packets are received (S204) . This will now be described in more detail with reference to FIG. 3A.
  • FIG. 3A illustrates a communication system 300, in accordance with aspects of the present disclosure, at a time t 3 .
  • communication system 300 includes service provider 102, physical media/wiring 114, and a residence 304.
  • Residence 304 contains a gateway device 308, a client device 312, and a user 307.
  • Service provider 302 provides service to gateway device 308 as represented by arrow 126.
  • Gateway device 308 is configured to provide WLAN 118 and WLAN 120. This will be described in greater detail with reference to FIGs 4A-D.
  • FIGs. 4A-D illustrate service provider 106 and an exploded view of gateway device 308 and client device 312, at times t 4 -t 7 , respectively.
  • gateway device 308 includes: a controller 402; a main memory 404, which has stored therein a communication program 406; a radio 408, a radio 410, and an interface circuit 412.
  • Service provider server 106 includes head-end equipment such as server computers (e.g., automatic configuration server ACS, cable modem termination system CMTS) that enable a content provider, such as a cable television provider, a satellite television provider, an internet service provider, or multiple-systems operator (MSO) , to provide content (such as audio/video content and/or internet service) either through physical media/wiring, such as a coaxial network, an optical fiber network, and/or DSL, or wireless network, such as a satellite or terrestrial antenna implemented network or a combination of any of these examples or their equivalents.
  • server computers e.g., automatic configuration server ACS, cable modem termination system CMTS
  • CMTS cable modem termination system
  • MSO multiple-systems operator
  • the data communicated on such network can be implemented using a variety of protocols on a network such as a wide area network (WAN) , a virtual private network (VPN) , metropolitan area networks (MANs) , system area networks (SANs) , a DOCSIS network, a fiber optics network (e.g, FTTH (fiber to the home) , FTTX (fiber to the X) , or hybrid fiber-coaxial (HFC) ) , a digital subscriber line (DSL) , a public switched data network (PSDN) , a global Telex network, or a 2G, 3G, 4G or 5G, for example
  • WAN wide area network
  • VPN virtual private network
  • MANs metropolitan area networks
  • SANs system area networks
  • DOCSIS DOCSIS network
  • a fiber optics network e.g, FTTH (fiber to the home) , FTTX (fiber to the X) , or hybrid fiber-coaxial (HFC)
  • DSL digital subscribe
  • Gateway device 308 includes a controller 402, a memory 404 having a communication program 406 stored therein, a radio 408, a radio 410, and an interface circuit 412.
  • controller 402, memory 404, radio 408, radio 410, and interface circuit 412 are illustrated as individual devices. However, in some embodiments, at least two of controller 402, memory 404, radio 408, radio 410, and interface circuit 412 may be combined as a unitary device. Whether as individual devices or as combined devices, controller 402, memory 404, radio 408, radio 410, and interface circuit 412 may be implemented as any combination of an apparatus, a system and an integrated circuit.
  • controller 402, memory 404 and interface circuit 412 may be implemented as a computer having non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • non-transitory computer-readable recording medium refers to any computer program product, apparatus or device, such as a magnetic disk, optical disk, solid-state storage device, memory, programmable logic devices (PLDs) , DRAM, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired computer-readable program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor.
  • PLDs programmable logic devices
  • Disk or disc includes compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc. Combinations of the above are also included within the scope of computer-readable media.
  • CD compact disc
  • DVD digital versatile disc
  • floppy disk floppy disk
  • Blu-ray disc floppy disk
  • Combinations of the above are also included within the scope of computer-readable media.
  • the computer may properly view the connection as a computer-readable medium.
  • any such connection may be properly termed a computer-readable medium.
  • Combinations of the above should also be included within the scope of computer-readable media.
  • Example tangible computer-readable media may be coupled to a processor such that the processor may read information from, and write information to the tangible computer-readable media.
  • the tangible computer-readable media may be integral to the processor.
  • the processor and the tangible computer-readable media may reside in an integrated circuit (IC) , an application specific integrated circuit (ASIC) , or large scale integrated circuit (LSI) , system LSI, super LSI, or ultra LSI components that perform a part or all of the functions described herein.
  • the processor and the tangible computer-readable media may reside as discrete components.
  • Example tangible computer-readable media may be also be coupled to systems, non-limiting examples of which include a computer system/server, which is operational with numerous other general purpose or special purpose computing system environments or configurations.
  • Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.
  • Such a computer system/server may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system.
  • program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
  • program modules may be located in both local and remote computer system storage media including memory storage devices.
  • Components of an example computer system/server may include, but are not limited to, one or more processors or processing units, a system memory, and a bus that couples various system components including the system memory to the processor.
  • the bus represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
  • bus architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.
  • a program/utility having a set (at least one) of program modules, may be stored in the memory by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment.
  • the program modules generally carry out the functions and/or methodologies of various embodiments of the application as described herein.
  • Controller 402 is a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA) , a microcontroller, an application specific integrated circuit (ASIC) , a digital signal processor (DSP) , or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of the gateway device 308 in accordance with the embodiments described in the present disclosure.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • Memory 404 can store various programming, and user content, and data. Including communication program 406.
  • communication program 406 includes instructions that when executed by controller 402 enable gateway device 308 to: receive, from service provider server 302, the inbound data packet; broadcast, to client device 312, the inbound data packet on the first band; broadcast, to client device 312, a duplicate of the inbound data packet on the second band; receive, from client device 312, the first outbound data packet on the first band; receive, from client device 312, the duplicate outbound data packet on the second band; transmit, to service provider server 302, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from client device 312 of the first outbound data packet and the duplicate outbound data packet.
  • communication program 406 is further configured to include instructions that when executed by controller 402 enable gateway device 308 to transmit, to service provider server 302, the first received data packet from client device 312 of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from client device 312 of the first outbound data packet and the duplicate outbound data packet by way of a management information base or a TR-069 protocol.
  • radio 408 communicates over the first band as a 2.4 GHz Wi-Fi band and radio 410 communicates over the second band as a 5 GHz Wi-Fi band.
  • Interface circuit 412 can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as 5G circuitry and one or more antennas.
  • Interface circuit 412 receives content from service provider 302 (as shown in FIG. 3A) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or 5G as discussed above.
  • gateway device 308 receives an input signal, including data and/or audio/video content, and can send data to service provider server 302.
  • Radio 408 and radio 410 may also be referred to as a wireless communication circuit, such as a Wi-Fi WLAN interface radio transceiver and is operable to communicate with gateway device 308 and with client device 312.
  • Radio 408 and radio 410 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz bands, the 5 GHz bands, the 6 GHz bands, and the 60 GHz bands or at the appropriate band and bandwidth to implement any IEEE 802.11 Wi-Fi protocols, such as the Wi-Fi 4, 5, 6, or 6E protocols.
  • Gateway device 308 can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE) , or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
  • BLE Bluetooth Low Energy
  • Client device 312 includes: a controller 414; a display 416; a main memory 418, which has stored therein a communication program 420; at least one radio, a sample of which are illustrated as a radio 422 and a radio 424; and an interface circuit 426.
  • controller 414, display 416, main memory 418, radio 422, and radio 424 are illustrated as individual devices. However, in some embodiments, at least two of controller 414, display 416, main memory 418, radio 422, and radio 424 may be combined as a unitary device. Further, in some embodiments, at least one of controller 414 and main memory 418 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Controller 414 can include a dedicated control circuit, CPU, a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA) , a microcontroller, an application specific integrated circuit (ASIC) , a digital signal processor (DSP) , or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of client device 312 in accordance with the embodiments described in the present disclosure.
  • a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA) , a microcontroller, an application specific integrated circuit (ASIC) , a digital signal processor (DSP) , or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of client device 312 in accordance with the embodiments described in the present disclosure.
  • Memory 418 can store various programming, and user content, and data including communication program 420.
  • communication program 420 includes instructions that when executed by controller 414 enable client device 312 to receive and transmit dual band packets.
  • Radio 422 and radio 424 are operable to communicate with gateway device 308 and client device 312, as shown in FIG. 3A.
  • Radio 422 and radio 424 include one or more antennas and communicate wirelessly via one or more of the 2.4 GHz bands, the 5 GHz bands, the 6 GHz bands, and the 60 GHz bands, or at the appropriate band and bandwidth to implement any IEEE 802.11 Wi-Fi protocols, such as the Wi-Fi 4, 5, 6, or 6E protocols.
  • any IEEE 802.11 Wi-Fi protocols such as the Wi-Fi 4, 5, 6, or 6E protocols.
  • let radio 408 and radio 422 communicate on a 2.4 GHz band and let radio 410 and radio 424 communicate on a 5 GHz band.
  • interface circuit 426 receives content from gateway device 308 and provides content to gateway device by known wireless methods discussed above.
  • Client device 312 can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE) , or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, of 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
  • BLE Bluetooth Low Energy
  • service provider 302 provides data packets to interface circuit 412 of gateway device 308.
  • inbound packets are broadcasted (S206) . This will be described in greater detail with reference to FIG. 4B.
  • gateway device 308 receives the data packets 126 from service provider server 106 in a different protocol, such as DOCSIS, Ethernet, or IP protocol.
  • DOCSIS is a telecommunication standard that allows service providers to send data over existing cable networks.
  • the data packets transmitted over WLAN 122 and WLAN 124 are transmitted with a wireless protocol, such as Wi-Fi.
  • controller 402 will execute instructions from communication program 406 to decode the data packets received from service provider server 102, and generate a first set of data packets to be wirelessly transmitted to client device 312 from radio 408 and to generate a duplicate set of data packets to be wirelessly transmitted to client device 312 from radio 410. Controller 402 will then instruct radio 408 to send out a set of packets, and radio 410 to send out a duplicate set of packets. Both sets of packets will be transmitted to client device 312. Radio 408 will broadcast over channel 122 to radio 422, whereas radio 410 will broadcast over channel 124 a duplicate set of packets to radio 424. Controller 414 of client device 312 will receive one set of packets from radio 422 and the other set of packets from radio 424.
  • outbound packets are received (S208) .
  • outbound packets For example, consider the situation wherein user 307 is playing an online game. Any actions performed by user 307 on client device 312 will be converted into data packets that will be returned to service provider server 102. This will be described in greater detail with reference to FIGs. 3B, 4C, and 5A-B.
  • FIG. 3B illustrates a communication system 300, in accordance with aspects of the present disclosure, at a time t 3 .
  • client device 312 sends a first set of data packets 328 to gateway device 308 via WLAN 320 and sends a duplicate set of data packets 330 to gateway device 308 via WLAN 318. This will be described in greater detail with reference to FIGs. 4C and 5A-B.
  • controller 414 executes instructions in communication program 420 to instruct radio 422 to broadcast a set of data packets 328 on WLAN 318 to radio 410 of gateway device 308 and to instruct radio 424 to broadcast a duplicate set of data packets 330 on WLAN 320 to radio 408 of gateway device 308. This will be described in greater detail with reference to FIGs. 5A-B.
  • FIG. 5A illustrates a set of transmitted packets 500 and a set of transmitted packets 502 broadcasted from client device 312 to gateway device 308.
  • Set of transmitted packets 500 includes packet 508, packet 510, packet 512, packet 514, packet 516, and packet 518, and each packet has a respective payload represented by a1-a6. These payloads may be audio or video data.
  • Set of transmitted packets 502 has duplicate data in its packet 520, packet 522, packet 524, packet 526, packet 528, and packet 530, and its payloads are represented by A1-A6. The differences in the representations of the payloads, e.g., a1 vs A1, reflect that the payload data is the same, but the packets are transmitted on different bands.
  • While set of transmitted packets 500 and set of transmitted packets 502 are transmitted with specific timing, as represented by the straight orderly lines in FIG. 5A, the received packets may have uneven spacing. In fact gateway device 308 might not receive every packet, as some packets are delayed or even dropped during transmission. This will be described in greater detail with reference to FIG. 5B.
  • FIG. 5B illustrates a set of received packets 504 and a set of received packets 506 as received by gateway device 308.
  • Set of received packets 504 includes packet 508, packet 512, packet 514, packet 516, and packet 518.
  • Set of received packets 506 includes packet 520, packet 522, packet 524, packet 528, and packet 530.
  • packet 518 is a duplicate of packet 530.
  • packet 530 arrives at gateway device 308 prior to packet 518.
  • packet 530 is circled to represent that it is the first packet, of the duplicate pair, to arrive.
  • packets 528, 512, and 520 are each a first packet, of a respective duplicate pair, to arrive at gateway device 308.
  • packet 510 and packet 526 failed to be received by gateway device 308 at all. Accordingly, packets 514 and 522 are also the first packet, of a respective duplicate pair, to arrive by default.
  • each set of packets includes a plurality of individual audio and video packets, each of which has a particular time stamp for playback. Accordingly, for every audio packet, which is defined by a particular time stamp, within data packets 328, there is a duplicate audio packet, having a corresponding time stamp, within data packets 330.
  • Radio 408 will forward the received data packets 330 to controller 402, whereas radio 410 will forward the received data packets 328 to controller 402.
  • Controller 402 executes instructions stored in communication program 406 to drop the latest received of each respective duplicate packet. This will be described in greater detail with reference to FIG. 6.
  • FIG. 6 illustrates a set of packets 600 that are retained by gateway device 308 of all the packets that are received.
  • packets 512 and 514 of set of transmitted packets 504 and packets 520, 522, 524, 528, and 530 set of transmitted packets 506 are retained to create set of packets 600.
  • Packet 508, packet 516, packet 518, and packet 524 were all dropped by gateway device 308 as they were the latest received of the duplicate packets.
  • the concept of dropping a packet includes, e.g., not transmitting the packet, or deleting the packet.
  • gateway device 308 only sends the earliest received packets back to service provider 302, as represented by arrow 136.
  • FIG. 7 illustrates a set of packets 700 as transmitted from gateway device 308 to service provider server 102.
  • set of packets 700 includes the payloads of the first received of each packet as shown by packet 702, packet 704, packet 706, packet 708, packet 710, and packet 712.
  • packets 520, 522, 512, 514, 528 and 530 in set of packets 600 have been encoded in accordance with a wireless communication protocol, e.g., Wi-Fi.
  • Wi-Fi wireless communication protocol
  • the data within these packets must be re-encoded in accordance with a protocol for transport over communication line 114.
  • controller 402 executes instructions within communication program 406 to instruct interface circuit 412 to decode packets 520, 522, 512, 514, 528 and 530 in set of packets 600 to obtain the respective payloads.
  • Interface circuit 412 then encodes the payloads for each of these packets into new packets for transport over communication line 114, as shown by arrow 332.
  • method 200 stops (S214) .
  • the method outlined in the present disclosure guarantees that the gateway device only sends one set of data packets back to the service provider. This ensures that there is less bandwidth usage within the network, and thus improves game performance when playing online.
  • the operations disclosed herein may constitute algorithms that can be effected by software, applications (apps, or mobile apps) , or computer programs.
  • the software, applications, computer programs can be stored on a non-transitory computer-readable medium for causing a computer, such as the one or more processors, to execute the operations described herein and shown in the drawing figures.

Abstract

A gateway device for use with an external server and a client device, the external server being configured to send data packets to the client device, the client device being configured to duplicate data packets to be transmitted to the external server. The gateway device includes a memory and a processor. The processor is configured to execute instructions stored on the memory to cause the gateway device to: receive, from the external server, the inbound data packet, broadcast, to the client device, the inbound data packet on the first band and a duplicate packet on the second band; receive, from the client device, the first outbound data packet on the first band and the duplicate packet on the second band; transmit, to the external server, the first received data packet from the client device of the duplicate data packet, and drop the second received data packet from the client device of the duplicate data packet.

Description

IMPROVE GAMING PERFORMANCE FOR DUAL WI-FI DEVICE BACKGROUND
Embodiments of the invention relate to managing data packet broadcasts to reduce bandwidth usage.
SUMMARY
Aspects of the present invention are drawn to a gateway device for use with an external server and a client device. The external server is configured to transmit an inbound data packet to be broadcast to the client device. The client device is configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server. The gateway device includes a memory and a processor. The processor is configured to execute instructions stored on the memory to cause the gateway device to: receive, from the external server, the inbound data packet; broadcast, to the client device, the inbound data packet on the first band; broadcast, to the client device, a duplicate of the inbound data packet on the second band; receive, from the client device, the first outbound data packet on the first band; receive, from the client device, the duplicate outbound data packet on the second band; transmit, to the external server, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
In some embodiments, the processor is further configured to execute instructions stored on the memory to additionally cause the gateway device to configure the gateway device to transmit, to the external server, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet by way of a management information base or a TR-069 protocol. TR-069 is an application layer for remote management of CPE (Customer Premises Equipment) , like a gateway, connected to an IP.
In some embodiments, the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
Other aspects of the present disclosure are drawn to a method of using a gateway device with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device. The client device is configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server. The method includes: receiving from the external server, via a processor configured to execute instructions stored on a memory, the inbound data packet; broadcasting to the client device, via the processor, the inbound data packet on the first band; broadcasting to the client device, via the processor, a duplicate of the inbound data packet on the second band; receiving from the client device, via the processor, the first outbound data packet on the first band; receiving from the client device, via the processor, the duplicate outbound data packet on the second band; transmitting to the external server, via the processor, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and dropping, via the processor, the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
In some embodiments, both the transmission of the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet and the dropping of the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet are performed by way of a management information base or a TR-069 protocol.
In some embodiments, the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
Other aspects of the present disclosure are drawn to a non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by a gateway device for use with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device, the client device being configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server. The computer-readable instructions are capable of instructing the gateway device to perform the method including: receiving from the external server, via a processor  configured to execute instructions stored on a memory, the inbound data packet; broadcasting to the client device, via the processor, the inbound data packet on the first band; broadcasting to the client device, via the processor, a duplicate of the inbound data packet on the second band; receiving from the client device, via the processor, the first outbound data packet on the first band; receiving from the client device, via the processor, the duplicate outbound data packet on the second band; transmitting to the external server, via the processor, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and dropping, via the processor, the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
In some embodiments, the computer-readable instructions are capable of instructing the gateway device to perform the method wherein both the transmission of the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet and the dropping of the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet are performed by way of a management information base or a TR-069 protocol.
In some embodiments, the computer-readable instructions are capable of instructing the gateway device to perform the method wherein the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
BRIEF SUMMARY OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of the specification, illustrate example embodiments and, together with the description, serve to explain the principles of the invention. In the drawings:
FIG. 1A illustrates a conventional communication system at a time t 0;
FIG. 1B illustrates the conventional communication system of FIG. 1A at a time t 1;
FIG. 2 illustrates an algorithm to be executed by a processor to manage outbound packets for a dual Wi-Fi device;
FIG. 3A illustrates a communication system, in accordance with aspects of the present disclosure, at a time t 2;
FIG. 3B illustrates the communication system of FIG. 3A, in accordance with aspects of the present disclosure, at a time t 3;
FIG. 4A illustrates an exploded view of a gateway device and a client device at a time t 4;
FIG. 4B illustrates an exploded view of the gateway device and the client device of FIG. 4A at a time t 5;
FIG. 4C illustrates an exploded view of the gateway device and the client device of FIG. 4A at a time t 6;
FIG. 4D illustrates an exploded view of the gateway device and the client device of FIG. 4A at a time t 7;
FIG. 5A illustrates two sets of packets broadcasted from the client device of FIG. 4C;
FIG. 5B illustrates two sets of packets as received by the gateway device of FIG. 4C;
FIG. 6 illustrates the packets that are retained by the gateway device of all the packets that are received; and
FIG. 7 illustrates a set of packets as transmitted from the gateway device of FIG. 4D to the service provider server.
DETAILED DESCRIPTION
Recently some companies have revealed a new dual-band Wi-Fi feature on their dual-band Wi-Fi devices: connecting to 2.4 GHz and 5 GHz frequencies at the same time to get better bandwidth and stability in case one of them fails. When a person is playing online games, low latency is very important. Low latency, or ping, is desirable to achieve smoother gameplay and a lag-free user experience. If the ping is around 1000ms or higher, it is definitely going to result in players suddenly appearing or disappearing and overall gameplay running incredibly slow. In addition, high latency greatly diminishes the user experience when playing games where timing is crucial, such as with FPS (First-person shooter) games or racing games. In short, time lags from high latency make gaming far less enjoyable. The disadvantage of current dual-band Wi-Fi feature implementation is that it needs to send two copies of data to a remote game server, which results in double the internet bandwidth being used. This will be described in greater detail with reference to FIGs. 1A-B.
FIG. 1A illustrates a conventional communication system 100 at time t 0.
As shown in the figure, conventional communication system 100 includes a service provider 102, physical media/wiring 114, and a residence 104. Residence 104 contains a gateway device 108, a client device 112, and a user 107.
Gateway device 108 is configured to provide two wireless local area networks (WLANs) , WLAN 118 being broadcast over a 2.4 GHz band and indicated by the dashed line broadcast area, and WLAN 120 being broadcast over a 5 GHz band and indicated by the dashed-dotted line broadcast area.
Gateway device 108 can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE) , or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
Service provider 102 is arranged to communicate with gateway device 108 by way of physical media/wiring 114. Gateway device 108 is arranged to communicate with client device 112 by way of WLAN 118 and WLAN 120.
Current dual Wi-Fi devices have a system that allows a client device to connect to both a 2.4 GHz band and a 5 GHz band at the same time. The purpose of this is to make sure that the client device stays connected to the Internet if one of the frequencies fail. For example, if a problem causes the communication channel on WLAN 120 having the 5 GHz band to fail, client device 112 will nevertheless be able to communicate with gateway device 108 via WLAN 118 through a channel on the 2.4 GHz band.
As shown in the figure, at this point service provider 102 is providing service to gateway device 108. For purposes of discussion, let the service be an online game, wherein client device 112 is a gaming system configured to play the online game of the service. In operation, gateway device 108 and client device 112 will continuously transmit/receive data packets to one another while user 107 is playing the online game using client device 112. This figure represents a time when service provider 102 sends data 126 to gateway device 108, which will be wirelessly transmitted to client device 112 as a sets of duplicate data packets, as represented by  arrows  122 and 124. In this example, data packets 122 are  transmitted over WLAN 120, whereas data packets 124 are transmitted over WLAN 118. For purposes of discussion, these data packets may enable client device 112 to view and hear the game for a time period.
Then, for purposes of discussion, user 107 may perform some action on client device 112 in order to interact with the online game. This action on client device will be converted to data packets to be delivered to service provider 102. This will be described in greater detail with reference to FIG. 1B.
FIG. 1B illustrates a conventional communication system 100 at time t 1.
At time t 1gateway device 108 has received a set of  duplicate data packets  128 and 130 from client device 112. In this example, data packets 128 are transmitted over WLAN 120, whereas data packets 130 are transmitted over WLAN 118. Gateway device 108 then sends both received data packets back to service provider 102, as represented by arrow 132.
Transmitting multiple packets of data at the same time to service provider 102 increases bandwidth usage, which can in turn make the latency of a game much lower. This impacts the overall game performance and can be frustrating to many users.
What is needed is a system and method for solving the problem of bandwidth clogging and latency issues that occur when using dual-band Wi-Fi devices.
A system and method in accordance with the present disclosure solves the problem of bandwidth clogging and latency issues that occur when using dual-band Wi-Fi devices.
In accordance with the present disclosure, traffic is replicated on both the 2.4 GHz and 5 GHz band for a dual-band Wi-Fi device.
When a game application is started on a dual-band Wi-Fi client device, the client device will transmit two copies of gaming data, one copy on the 2.4 GHz band and one copy on the 5 GHz band, to the remote game server by way of the gateway device. When the gateway device receives a copy of the data from the dual-band Wi-Fi device, regardless of whether that copy is from the 2.4 GHz band or the 5 GHz band, it will transmit the data to the remote game server immediately. The second copy of the data will be dropped when it is received.
When the gateway receives the response from the remote game server, it will transmit two copies of data to the dual-band Wi-Fi device, one copy on the 2.4 GHz band and one  copy on the 5 GHz band. The dual-band Wi-Fi device receives the first copy of data, regardless of whether that copy is from the 2.4 GHz band or the 5 GHz band, and drops the second copy of data.
This method ensures that the dual-band Wi-Fi client device will always communicate with the remote game server with lowest latency. Using this method, low latency in online games is guaranteed on a dual-band Wi-Fi device, especially for cloud-based games.
An example system and method for improving gaming performance for a dual-band Wi-Fi device in accordance with aspects of the present disclosure will now be described in greater detail with reference to FIGs. 2-4D.
FIG. 2 illustrates an algorithm 200 to be executed by a processor to manage outbound packets for a dual-band Wi-Fi device.
As shown in the figure, method 200 starts (S202) , and inbound packets are received (S204) . This will now be described in more detail with reference to FIG. 3A.
FIG. 3A illustrates a communication system 300, in accordance with aspects of the present disclosure, at a time t 3.
As shown in the figure, communication system 300 includes service provider 102, physical media/wiring 114, and a residence 304. Residence 304 contains a gateway device 308, a client device 312, and a user 307. Service provider 302 provides service to gateway device 308 as represented by arrow 126. Gateway device 308 is configured to provide WLAN 118 and WLAN 120. This will be described in greater detail with reference to FIGs 4A-D.
FIGs. 4A-D illustrate service provider 106 and an exploded view of gateway device 308 and client device 312, at times t 4-t 7, respectively.
As shown in FIGs. 4A-D, gateway device 308 includes: a controller 402; a main memory 404, which has stored therein a communication program 406; a radio 408, a radio 410, and an interface circuit 412.
Service provider server 106 includes head-end equipment such as server computers (e.g., automatic configuration server ACS, cable modem termination system CMTS) that enable a content provider, such as a cable television provider, a satellite television provider, an internet service provider, or multiple-systems operator (MSO) , to provide content (such as  audio/video content and/or internet service) either through physical media/wiring, such as a coaxial network, an optical fiber network, and/or DSL, or wireless network, such as a satellite or terrestrial antenna implemented network or a combination of any of these examples or their equivalents. The data communicated on such network can be implemented using a variety of protocols on a network such as a wide area network (WAN) , a virtual private network (VPN) , metropolitan area networks (MANs) , system area networks (SANs) , a DOCSIS network, a fiber optics network (e.g, FTTH (fiber to the home) , FTTX (fiber to the X) , or hybrid fiber-coaxial (HFC) ) , a digital subscriber line (DSL) , a public switched data network (PSDN) , a global Telex network, or a 2G, 3G, 4G or 5G, for example
Gateway device 308 includes a controller 402, a memory 404 having a communication program 406 stored therein, a radio 408, a radio 410, and an interface circuit 412. In this example, controller 402, memory 404, radio 408, radio 410, and interface circuit 412 are illustrated as individual devices. However, in some embodiments, at least two of controller 402, memory 404, radio 408, radio 410, and interface circuit 412 may be combined as a unitary device. Whether as individual devices or as combined devices, controller 402, memory 404, radio 408, radio 410, and interface circuit 412 may be implemented as any combination of an apparatus, a system and an integrated circuit. Further, in some embodiments, at least one of controller 402, memory 404 and interface circuit 412 may be implemented as a computer having non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable recording medium refers to any computer program product, apparatus or device, such as a magnetic disk, optical disk, solid-state storage device, memory, programmable logic devices (PLDs) , DRAM, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired computer-readable program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Disk or disc, as used herein, includes compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc. Combinations of the above are also included within the scope of computer-readable media. For information transferred or provided over a network or another communication connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer may properly view the connection as a  computer-readable medium. Thus, any such connection may be properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media.
Example tangible computer-readable media may be coupled to a processor such that the processor may read information from, and write information to the tangible computer-readable media. In the alternative, the tangible computer-readable media may be integral to the processor. The processor and the tangible computer-readable media may reside in an integrated circuit (IC) , an application specific integrated circuit (ASIC) , or large scale integrated circuit (LSI) , system LSI, super LSI, or ultra LSI components that perform a part or all of the functions described herein. In the alternative, the processor and the tangible computer-readable media may reside as discrete components.
Example tangible computer-readable media may be also be coupled to systems, non-limiting examples of which include a computer system/server, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.
Such a computer system/server may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Further, such a computer system/server may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communication network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
Components of an example computer system/server may include, but are not limited to, one or more processors or processing units, a system memory, and a bus that couples various system components including the system memory to the processor.
The bus represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.
A program/utility, having a set (at least one) of program modules, may be stored in the memory by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. The program modules generally carry out the functions and/or methodologies of various embodiments of the application as described herein.
Controller 402 is a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA) , a microcontroller, an application specific integrated circuit (ASIC) , a digital signal processor (DSP) , or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of the gateway device 308 in accordance with the embodiments described in the present disclosure.
Memory 404 can store various programming, and user content, and data. Including communication program 406. In some embodiments, as will be described in greater detail below, communication program 406 includes instructions that when executed by controller 402 enable gateway device 308 to: receive, from service provider server 302, the inbound data packet; broadcast, to client device 312, the inbound data packet on the first band; broadcast, to client device 312, a duplicate of the inbound data packet on the second band; receive, from client device 312, the first outbound data packet on the first band; receive, from client device 312, the duplicate outbound data packet on the second band; transmit, to service provider server 302, the first received data packet from the client device of the first outbound  data packet and the duplicate outbound data packet; and drop the second received data packet from client device 312 of the first outbound data packet and the duplicate outbound data packet.
In some embodiments, as will be described in greater detail below, communication program 406 is further configured to include instructions that when executed by controller 402 enable gateway device 308 to transmit, to service provider server 302, the first received data packet from client device 312 of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from client device 312 of the first outbound data packet and the duplicate outbound data packet by way of a management information base or a TR-069 protocol.
In some embodiments, as will be described in greater detail below, in gateway device 308, radio 408 communicates over the first band as a 2.4 GHz Wi-Fi band and radio 410 communicates over the second band as a 5 GHz Wi-Fi band.
Interface circuit 412 can include one or more connectors, such as RF connectors, or Ethernet connectors, and/or wireless communication circuitry, such as 5G circuitry and one or more antennas. Interface circuit 412 receives content from service provider 302 (as shown in FIG. 3A) by known methods, non-limiting examples of which include terrestrial antenna, satellite dish, wired cable, DSL, optical fibers, or 5G as discussed above. Through interface circuit 412, gateway device 308 receives an input signal, including data and/or audio/video content, and can send data to service provider server 302.
Radio 408 and radio 410 may also be referred to as a wireless communication circuit, such as a Wi-Fi WLAN interface radio transceiver and is operable to communicate with gateway device 308 and with client device 312. Radio 408 and radio 410 includes one or more antennas and communicates wirelessly via one or more of the 2.4 GHz bands, the 5 GHz bands, the 6 GHz bands, and the 60 GHz bands or at the appropriate band and bandwidth to implement any IEEE 802.11 Wi-Fi protocols, such as the Wi-Fi 4, 5, 6, or 6E protocols. Gateway device 308 can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE) , or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands,  6 GHz bands, or 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
Client device 312 includes: a controller 414; a display 416; a main memory 418, which has stored therein a communication program 420; at least one radio, a sample of which are illustrated as a radio 422 and a radio 424; and an interface circuit 426.
In this example, controller 414, display 416, main memory 418, radio 422, and radio 424 are illustrated as individual devices. However, in some embodiments, at least two of controller 414, display 416, main memory 418, radio 422, and radio 424 may be combined as a unitary device. Further, in some embodiments, at least one of controller 414 and main memory 418 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 414 can include a dedicated control circuit, CPU, a hardware processor such as a microprocessor, a multi-core processor, a single core processor, a field programmable gate array (FPGA) , a microcontroller, an application specific integrated circuit (ASIC) , a digital signal processor (DSP) , or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functions of client device 312 in accordance with the embodiments described in the present disclosure.
Memory 418 can store various programming, and user content, and data including communication program 420. In some embodiments, as will be described in greater detail below, communication program 420 includes instructions that when executed by controller 414 enable client device 312 to receive and transmit dual band packets.
Radio 422 and radio 424, such as a Wi-Fi WLAN interface radio transceiver, are operable to communicate with gateway device 308 and client device 312, as shown in FIG. 3A. Radio 422 and radio 424 include one or more antennas and communicate wirelessly via one or more of the 2.4 GHz bands, the 5 GHz bands, the 6 GHz bands, and the 60 GHz bands, or at the appropriate band and bandwidth to implement any IEEE 802.11 Wi-Fi protocols, such as the Wi-Fi 4, 5, 6, or 6E protocols. For purposes of discussion, let radio 408 and radio 422 communicate on a 2.4 GHz band and let radio 410 and radio 424 communicate on a 5 GHz band.
Returning to FIG. 3A, interface circuit 426 receives content from gateway device 308 and provides content to gateway device by known wireless methods discussed above.
Client device 312 can also be equipped with a radio transceiver/wireless communication circuit to implement a wireless connection in accordance with any Bluetooth protocols, Bluetooth Low Energy (BLE) , or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, of 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
Returning to FIG. 4A, in operation, at time t 4, service provider 302 provides data packets to interface circuit 412 of gateway device 308.
Returning to FIG. 2, after inbound packets have been received (S204) , inbound packets are broadcasted (S206) . This will be described in greater detail with reference to FIG. 4B.
As shown in FIG. 4B, radio 408 of gateway device 308 sends one set of data packets to radio 422 of client device 312 via WLAN 122, whereas radio 410 of gateway device 308 sends a duplicate set of data packets to radio 424 of client device 312 via WLAN 124. Returning to FIG. 4A, gateway device 308 receives the data packets 126 from service provider server 106 in a different protocol, such as DOCSIS, Ethernet, or IP protocol. DOCSIS is a telecommunication standard that allows service providers to send data over existing cable networks. On the other hand, the data packets transmitted over WLAN 122 and WLAN 124 are transmitted with a wireless protocol, such as Wi-Fi.
Returning to FIG. 4B, in operation, at time t 5controller 402 will execute instructions from communication program 406 to decode the data packets received from service provider server 102, and generate a first set of data packets to be wirelessly transmitted to client device 312 from radio 408 and to generate a duplicate set of data packets to be wirelessly transmitted to client device 312 from radio 410. Controller 402 will then instruct radio 408 to send out a set of packets, and radio 410 to send out a duplicate set of packets. Both sets of packets will be transmitted to client device 312. Radio 408 will broadcast over channel 122 to radio 422, whereas radio 410 will broadcast over channel 124 a duplicate set of packets to radio 424.  Controller 414 of client device 312 will receive one set of packets from radio 422 and the other set of packets from radio 424.
Returning to FIG. 2, after inbound packets have been broadcasted (S206) , outbound packets are received (S208) . For example, consider the situation wherein user 307 is playing an online game. Any actions performed by user 307 on client device 312 will be converted into data packets that will be returned to service provider server 102. This will be described in greater detail with reference to FIGs. 3B, 4C, and 5A-B.
FIG. 3B illustrates a communication system 300, in accordance with aspects of the present disclosure, at a time t 3.
As shown in the figure, client device 312 sends a first set of data packets 328 to gateway device 308 via WLAN 320 and sends a duplicate set of data packets 330 to gateway device 308 via WLAN 318. This will be described in greater detail with reference to FIGs. 4C and 5A-B.
As shown in FIG. 4C, controller 414 executes instructions in communication program 420 to instruct radio 422 to broadcast a set of data packets 328 on WLAN 318 to radio 410 of gateway device 308 and to instruct radio 424 to broadcast a duplicate set of data packets 330 on WLAN 320 to radio 408 of gateway device 308. This will be described in greater detail with reference to FIGs. 5A-B.
FIG. 5A illustrates a set of transmitted packets 500 and a set of transmitted packets 502 broadcasted from client device 312 to gateway device 308.
In this example, for purposes of discussion let set of transmitted packets 500 be broadcasted by radio 408, and let set of transmitted packets 502 be broadcasted by radio 410. Set of transmitted packets 500 includes packet 508, packet 510, packet 512, packet 514, packet 516, and packet 518, and each packet has a respective payload represented by a1-a6. These payloads may be audio or video data. Set of transmitted packets 502 has duplicate data in its packet 520, packet 522, packet 524, packet 526, packet 528, and packet 530, and its payloads are represented by A1-A6. The differences in the representations of the payloads, e.g., a1 vs A1, reflect that the payload data is the same, but the packets are transmitted on different bands.
While set of transmitted packets 500 and set of transmitted packets 502 are transmitted with specific timing, as represented by the straight orderly lines in FIG. 5A, the  received packets may have uneven spacing. In fact gateway device 308 might not receive every packet, as some packets are delayed or even dropped during transmission. This will be described in greater detail with reference to FIG. 5B.
FIG. 5B illustrates a set of received packets 504 and a set of received packets 506 as received by gateway device 308.
Set of received packets 504 includes packet 508, packet 512, packet 514, packet 516, and packet 518. Set of received packets 506 includes packet 520, packet 522, packet 524, packet 528, and packet 530.
Only one of each pair of duplicate payload packets will be the first of the pair to arrive at gateway device 308. For example, packet 518 is a duplicate of packet 530. However, as shown in the figure, packet 530 arrives at gateway device 308 prior to packet 518. For this reason, packet 530 is circled to represent that it is the first packet, of the duplicate pair, to arrive. With this representation in mind, it is clear to see that in this example,  packets  528, 512, and 520 are each a first packet, of a respective duplicate pair, to arrive at gateway device 308. Further it should be noted that packet 510 and packet 526 failed to be received by gateway device 308 at all. Accordingly,  packets  514 and 522 are also the first packet, of a respective duplicate pair, to arrive by default.
Returning to FIG. 2, after outbound packets have been received (S208) , the latest outbound packets are dropped (S210) . For example, returning to FIG. 4D, radio 408 and radio 410 of gateway device 308 have both received data packets from client device 312. It should be noted that each set of packets includes a plurality of individual audio and video packets, each of which has a particular time stamp for playback. Accordingly, for every audio packet, which is defined by a particular time stamp, within data packets 328, there is a duplicate audio packet, having a corresponding time stamp, within data packets 330. Similarly, for every video packet, which is defined by a particular time stamp, within data packets 328, there is a duplicate video packet, having a corresponding time stamp, within data packets 330. Radio 408 will forward the received data packets 330 to controller 402, whereas radio 410 will forward the received data packets 328 to controller 402.
Controller 402 executes instructions stored in communication program 406 to drop the latest received of each respective duplicate packet. This will be described in greater detail with reference to FIG. 6.
FIG. 6 illustrates a set of packets 600 that are retained by gateway device 308 of all the packets that are received.
As shown in the figure,  packets  512 and 514 of set of transmitted packets 504 and  packets  520, 522, 524, 528, and 530 set of transmitted packets 506 are retained to create set of packets 600. Packet 508, packet 516, packet 518, and packet 524 were all dropped by gateway device 308 as they were the latest received of the duplicate packets. The concept of dropping a packet includes, e.g., not transmitting the packet, or deleting the packet.
Returning to FIG. 2, after the latest outbound packets have been dropped (S210) , the earliest outbound packets are transmitted (S212) . For example, returning to FIG. 4D, gateway device 308 only sends the earliest received packets back to service provider 302, as represented by arrow 136.
FIG. 7 illustrates a set of packets 700 as transmitted from gateway device 308 to service provider server 102.
As shown in the figure, set of packets 700 includes the payloads of the first received of each packet as shown by packet 702, packet 704, packet 706, packet 708, packet 710, and packet 712. In this example embodiment,  packets  520, 522, 512, 514, 528 and 530 in set of packets 600 have been encoded in accordance with a wireless communication protocol, e.g., Wi-Fi. In order to transmit the data from these packets over a wired communication line, the data within these packets must be re-encoded in accordance with a protocol for transport over communication line 114.
As shown in FIG. 4D, controller 402 executes instructions within communication program 406 to instruct interface circuit 412 to decode  packets  520, 522, 512, 514, 528 and 530 in set of packets 600 to obtain the respective payloads. Interface circuit 412 then encodes the payloads for each of these packets into new packets for transport over communication line 114, as shown by arrow 332.
By not including the duplicate packets when generating set of packets 700, a smaller amount of data is transmitted to service provider server 102.
Returning to FIG. 2, after the earliest outbound packets are transmitted (S212) , method 200 stops (S214) .
The method outlined in the present disclosure guarantees that the gateway device only sends one set of data packets back to the service provider. This ensures that there is less bandwidth usage within the network, and thus improves game performance when playing online.
The operations disclosed herein may constitute algorithms that can be effected by software, applications (apps, or mobile apps) , or computer programs. The software, applications, computer programs can be stored on a non-transitory computer-readable medium for causing a computer, such as the one or more processors, to execute the operations described herein and shown in the drawing figures.
The foregoing description of various preferred embodiments have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The example embodiments, as described above, were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.

Claims (9)

  1. A gateway device for use with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device, the client device being configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server, said gateway device comprising:
    a memory; and
    a processor configured to execute instructions stored on said memory to cause said gateway device to:
    receive, from the external server, the inbound data packet;
    broadcast, to the client device, the inbound data packet on the first band;
    broadcast, to the client device, a duplicate of the inbound data packet on the second band;
    receive, from the client device, the first outbound data packet on the first band;
    receive, from the client device, the duplicate outbound data packet on the second band;
    transmit, to the external server, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and
    drop the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
  2. The gateway device of claim 1, wherein the processor is further configured to execute instructions stored on said memory to additionally cause said gateway device to configure said gateway device to transmit, to the external server, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and drop the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet by way of a management information base or a TR-069 protocol.
  3. The gateway device of claim 1, wherein the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
  4. A method of using a gateway device with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device, the client device being configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server, said method comprising:
    receiving from the external server, via a processor configured to execute instructions stored on a memory, the inbound data packet;
    broadcasting to the client device, via the processor, the inbound data packet on the first band;
    broadcasting to the client device, via the processor, a duplicate of the inbound data packet on the second band;
    receiving from the client device, via the processor, the first outbound data packet on the first band;
    receiving from the client device, via the processor, the duplicate outbound data packet on the second band;
    transmitting to the external server, via the processor, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and
    dropping, via the processor, the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
  5. The method of claim 4, wherein each of said transmitting the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and said dropping the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet are performed by way of a management information base or a TR-069 protocol.
  6. The method of claim 4, wherein the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
  7. A non-transitory, computer-readable media having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by a gateway device for use with an external server and a client device, the external server being configured to transmit an inbound data packet to be broadcast to the client device, the client device being configured to broadcast a first outbound data packet on the first band to be transmitted to the external server and to broadcast a duplicate outbound data packet on the second band to be transmitted to the external server, wherein the computer-readable instructions are capable of instructing the gateway device to perform the method comprising:
    receiving from the external server, via a processor configured to execute instructions stored on a memory, the inbound data packet;
    broadcasting to the client device, via the processor, the inbound data packet on the first band;
    broadcasting to the client device, via the processor, a duplicate of the inbound data packet on the second band;
    receiving from the client device, via the processor, the first outbound data packet on the first band;
    receiving from the client device, via the processor, the duplicate outbound data packet on the second band;
    transmitting to the external server, via the processor, the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and
    dropping, via the processor, the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet.
  8. The non-transitory, computer-readable media of claim 7, wherein the computer-readable instructions are capable of instructing the gateway device to perform the method wherein each of said transmitting the first received data packet from the client device of the first outbound data packet and the duplicate outbound data packet; and said dropping the second received data packet from the client device of the first outbound data packet and the duplicate outbound data packet are performed by way of a management information base or a TR-069 protocol.
  9. The non-transitory, computer-readable media of claim 7, wherein the computer-readable instructions are capable of instructing the gateway device to perform the method wherein the first band is a 2.4 GHz Wi-Fi band and the second band is a 5 GHz Wi-Fi band.
PCT/CN2020/113548 2020-09-04 2020-09-04 Improve gaming performance for dual wi-fi device WO2022047742A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/113548 WO2022047742A1 (en) 2020-09-04 2020-09-04 Improve gaming performance for dual wi-fi device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/113548 WO2022047742A1 (en) 2020-09-04 2020-09-04 Improve gaming performance for dual wi-fi device

Publications (1)

Publication Number Publication Date
WO2022047742A1 true WO2022047742A1 (en) 2022-03-10

Family

ID=80492441

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/113548 WO2022047742A1 (en) 2020-09-04 2020-09-04 Improve gaming performance for dual wi-fi device

Country Status (1)

Country Link
WO (1) WO2022047742A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430674A (en) * 2015-11-03 2016-03-23 上海斐讯数据通信技术有限公司 Wireless network communication method and system
CN110896567A (en) * 2018-09-12 2020-03-20 广州优视网络科技有限公司 Data transmission method and device based on WIFI
CN110943935A (en) * 2018-09-25 2020-03-31 华为技术有限公司 Method, device and system for realizing data transmission
WO2020063340A1 (en) * 2018-09-25 2020-04-02 华为技术有限公司 Data transmission method and device
CN111149383A (en) * 2017-09-27 2020-05-12 三星电子株式会社 Method and apparatus for transmitting packet in wireless communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430674A (en) * 2015-11-03 2016-03-23 上海斐讯数据通信技术有限公司 Wireless network communication method and system
CN111149383A (en) * 2017-09-27 2020-05-12 三星电子株式会社 Method and apparatus for transmitting packet in wireless communication system
CN110896567A (en) * 2018-09-12 2020-03-20 广州优视网络科技有限公司 Data transmission method and device based on WIFI
CN110943935A (en) * 2018-09-25 2020-03-31 华为技术有限公司 Method, device and system for realizing data transmission
WO2020063340A1 (en) * 2018-09-25 2020-04-02 华为技术有限公司 Data transmission method and device

Similar Documents

Publication Publication Date Title
TWI580237B (en) Unicast abr streaming
US20170272792A1 (en) Distributed content popularity determination in a streaming environment with interconnected set-top boxes
US9615113B2 (en) Video content delivery over wireless access networks with quality of service (QOS) guarantees
US20170272783A1 (en) Architecture for interconnected set-top boxes
JP5369104B2 (en) Packet level prioritization in interconnected networks
US20180309694A1 (en) Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device
JP2017518660A (en) Distribution method and distribution apparatus
US10924425B2 (en) Virtual element management system
EP3298747B1 (en) Iptv in managed networks
CN104283694A (en) Streaming media transmission method based on IP multicast and P2P compensation
CN107547517B (en) Audio and video program recording method, network equipment and computer device
WO2022047742A1 (en) Improve gaming performance for dual wi-fi device
US20160073173A1 (en) Video stream providing method and system and relay apparatus
CN114007087B (en) Media stream switching method and device
US11855899B2 (en) System to dynamically detect and enhance classifiers for low latency traffic
US9402106B1 (en) Split signal bands in a multi-directional repeater device
US20180316953A1 (en) Integrating media content for local channels and subscription channels
US11706469B2 (en) Systems and methods for streaming media content during unavailability of content server
US10750246B2 (en) Distributed architecture for mobile streaming content delivery
US11593840B2 (en) Client driven client steering
WO2014199323A2 (en) Method of ultra fast wireless communication
CN109862331B (en) PON network system and server thereof
Sassatelli et al. Technologies and architectures for future IP television services
US11696171B2 (en) Mitigation of excessive client steering attempts in multiple access point networks
US20230068269A1 (en) Proactive engagement of customers for lld through automated trial ll services

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20951986

Country of ref document: EP

Kind code of ref document: A1