Embodiments of the invention relate to low latency communication systems.
Aspects of the present invention are drawn to a server device for use with a service provider device, a service receiving device, a provisioning system, a client device, and a user. The service provider device is configured to provide a service flow to the service receiving device and is configured to provide a low latency service flow to the service receiving device. The low latency service flow has a latency that is lower than that of the service flow. The provisioning system is configured to provision the service receiving device to receive the service flow or the low latency service flow. The client device is configured to operate an application for use by the user and to provide upstream application data based on the application to the service provider device via the service receiving device and to receive downstream application data based on the application from the service provider device via the service receiving device. The server device includes: a memory having instructions stored therein; and a processor configured to execute the instructions stored on the memory to cause the server device to: obtain monitored data based on at least one of the upstream application data and the downstream application data; obtain a comparison of the monitored data to a low latency data threshold; automatically transmit a reconfigure instruction to the service provider device to instruct the service provider device to provide the low latency service flow to the service receiving device for a predetermined period of time and based on the comparison or to the provisioning system to instruct the provisioning system to cause the service provider device to provide the low latency service flow to the service receiving device for a predetermined period of time and based on the comparison; and automatically transmit a message instruction to instruct the user of the low latency service flow and based on the predetermined period of time.
In some embodiments, a cable modem termination system (CMTS) is the service provider device, and a cable modem is the service receiving device. The CMTS is configured to provide the service flow as a data-over-cable service interface specifications (DOCSIS) service flow to the cable modem and is configured to provide the low latency service flow as a low latency DOCSIS (LLD) service flow to the cable modem. The processor is further configured to execute the instructions stored on the memory to further cause the server device to: obtain the comparison as a second comparison of the at least one of the upstream application data and the downstream application data to the low latency data threshold; automatically transmit the reconfigure instruction by automatically transmitting the reconfigure instruction to the CMTS to instruct the CMTS to provide the LLD service flow to the cable modem for a predetermined period of time and based on the second comparison or automatically transmitting the reconfigure instruction to the provisioning system to instruct the provisioning system to cause the CMTS to provide the LLD service flow to the cable modem for a predetermined period of time and based on the second comparison; and automatically transmit the message instruction by automatically transmitting the message instruction to instruct the user of the LLD service flow and based on the predetermined period of time.
In some further embodiments, the processor is further configured to execute the instructions stored on the memory to additionally cause the server device to: store, into the memory, an association between the cable modem and the user; and store, into the memory, contact information of the user. In some of these embodiments, the processor is further configured to execute the instructions stored on the memory to additionally cause the server device to store the contact information of the user as one of a telephone number and an email address. In some further embodiments, the server device is for further use with a wireless network, wherein the client device is configured to communicate with the wireless network based on the telephone number, and wherein the processor is further configured to execute the instructions stored on the memory to additionally cause the server device to: store the contact information of the user as the telephone number; and automatically transmit the message instruction to the client device by way of the wireless network. In some further embodiments, the client device being configured to receive the message instruction based on the email address, the processor is further configured to execute the instructions stored on the memory to additionally cause the server device to: store the contact information of the user as an email address; and automatically transmit the message instruction to the client device using the email address.
In some further embodiments, the processor is further configured to execute the instructions stored on the memory to additionally cause the server device to: automatically transmit a second reconfigure instruction to the CMTS to instruct the CMTS to cease providing the LLD service flow to the cable modem after expiration of the predetermined period of time.
Other aspects of the present disclosure are drawn to a method of using server device with a service provider device, a service receiving device, a provisioning system, a client device, and a user. The service provider device is configured to provide a service flow to the service receiving device and is configured to provide a low latency service flow to the service receiving device. The low latency service flow has a latency that is lower than that of the service flow. The provisioning system is configured to provision the service receiving device to receive the service flow or the low latency service flow. The client device is configured to operate an application for use by the user and to provide upstream application data based on the application to the service provider device via the service receiving device and to receive downstream application data based on the application from the service provider device via the service receiving device. The method includes: obtaining, via a processor, monitored data based on at least one of the upstream application data and the downstream application data; obtaining, via the processor, a comparison of the monitored data to a low latency data threshold; automatically transmitting, via the processor, a reconfigure instruction to the service provider device to instruct the service provider device to provide the low latency service flow to the service receiving device for a predetermined period of time and based on the comparison or to the provisioning system to instruct the provisioning system to cause the service provider device to provide the low latency service flow to the service receiving device for a predetermined period of time and based on the comparison; and automatically transmitting, via the processor, a message instruction to instruct the user of the low latency service flow and based on the predetermined period of time.
In some embodiments, a cable modem termination system (CMTS) is the service provider device, and a cable modem is the service receiving device, the CMTS being configured to provide the service flow as a data over cable service interface specifications (DOCSIS) service flow to the cable modem and being configured to provide the low latency service flow as a low latency DOCSIS (LLD) service flow to the cable modem, wherein the obtaining the comparison includes obtaining the comparison as a second comparison of the at least one of the upstream application data and the downstream application data to the low latency data threshold, wherein the automatically transmitting the reconfigure instruction includes automatically transmitting the reconfigure instruction to the CMTS to instruct the CMTS to provide the LLD service flow to the cable modem for a predetermined period of time and based on the second comparison or automatically transmitting the reconfigure instructions to the provisioning system to instruct the provisioning system to cause the CMTS to provide the LLD service flow to the cable modem for a predetermined period of time and based on the second comparison, and wherein the automatically transmitting the message instruction includes automatically transmitting the message instruction to instruct the user of the LLD service flow and based on the predetermined period of time. In some of these embodiments, the method further includes storing, via the processor and into a memory, an association between the cable modem and the user; and storing, via the processor and into the memory, contact information of the user. In some of these embodiments, storing the contact information of the user includes storing, via the processor, the contact information of the user as one of a telephone number and an email address. In some of these embodiments, the method of using a server device is additionally for use with a wireless network, wherein the client device is configured to communicate with the wireless network based on the telephone number, wherein storing the contact information includes storing, via the processor, the contact information of the user as the telephone number, and wherein the automatically transmitting the message instruction includes automatically transmitting, via the processor, the message instruction to the client device by way of the wireless network. In some further embodiments, the client device is configured to receive the message instruction based on the email address, wherein the storing the contact information includes storing, via the processor, the contact information of the user as an email address, and wherein the automatically transmitting the message instruction includes automatically transmitting, via the processor, the message instruction to the client device using the email address.
In some further embodiments, the method of using a server device further including automatically transmitting, via the processor, a second reconfigure instruction to the CMTS to instruct the CMTS to cease providing the LLD service flow to the cable modem after expiration of the predetermined period of time.
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 server device for use with a service provider device, a service receiving device, a provisioning system, a client device, and a user. The service provider device is configured to provide a service flow to the service receiving device and is configured to provide a low latency service flow to the service receiving device. The low latency service flow has a latency that is lower than that of the service flow. The provisioning system is configured to provision the service receiving device to receive the service flow or the low latency service flow. The client device is configured to operate an application for use by the user and to provide upstream application data based on the application to the service provider device via the service receiving device and to receive downstream application data based on the application from the service provider device via the service receiving device. The computer-readable instructions are capable of instructing the server device to perform the method including: obtaining, via a processor, monitored data based on at least one of the upstream application data and the downstream application data; obtaining, via the processor, a comparison of the monitored data to a low latency data threshold; automatically transmitting, via the processor, a reconfigure instruction to the service provider device to instruct the service provider device to provide the low latency service flow to the service receiving device for a predetermined period of time and based on the comparison or to the provisioning system to instruct the provisioning system to cause the service provider device to provide the low latency service flow to the service receiving device for a predetermined period of time and based on the comparison; and automatically transmitting, via the processor, a message instruction to instruct the user of the low latency service flow and based on the predetermined period of time.
In some embodiments, the non-transitory, computer-readable media, is for use with a cable modem termination system (CMTS) as the service provider device, and a cable modem as the service receiving device. The CMTS is configured to provide the service flow as a data over cable service interface specifications (DOCSIS) service flow to the cable modem and is configured to provide the low latency service flow as a low latency DOCSIS (LLD) service flow to the cable modem. The computer-readable instructions are capable of instructing the server device to perform the method, wherein the obtaining the comparison includes obtaining the comparison as a second comparison of the at least one of the upstream application data and the downstream application data to the low latency data threshold; wherein the automatically transmitting the reconfigure instruction includes automatically transmitting the reconfigure instruction to the CMTS to instruct the CMTS to provide the LLD service flow to the cable modem for a predetermined period of time and based on the second comparison or automatically transmitting the reconfigure instructions to the provisioning system to instruct the provisioning system to cause the CMTS to provide the LLD service flow to the cable modem for a predetermined period of time and based on the second comparison, and wherein the automatically transmitting the message instruction includes automatically transmitting the message instruction to instruct the user of the LLD service flow and based on the predetermined period of time.
In some further embodiments, the computer-readable instructions are capable of instructing the server device to perform the method further including: storing, via the processor and into a memory, an association between the cable modem and the user; and storing, via the processor and into the memory, contact information of the user. In some of these embodiments, the computer-readable instructions are capable of instructing the server device to perform the method wherein the storing the contact information of the user includes storing, via the processor, the contact information of the user as one of a telephone number and an email address. In some of these embodiments, the server device is additionally for use with a wireless network and the client device is configured to communicate with the wireless network based on the telephone number, wherein the computer-readable instructions are capable of instructing the server device to perform the method wherein the storing the contact information includes storing, via the processor, the contact information of the user as the telephone number, and wherein the automatically transmitting the message instruction includes automatically transmitting, via the processor, the message instruction to the client device by way of the wireless network. In some further embodiments, the client device is configured to receive the message instruction based on the email address, wherein the computer-readable instructions are capable of instructing the server device to perform the method wherein the storing the contact information includes storing, via the processor, the contact information of the user as an email address, and wherein the automatically transmitting the message instruction includes automatically transmitting, via the processor, the message instruction to the client device using the email address.
In some further embodiments, the computer-readable instructions are capable of instructing the server device to perform the method further including automatically transmitting, via the processor, a second reconfigure instruction to the CMTS to instruct the CMTS to cease providing the LLD service flow to the cable modem after expiration of the predetermined period of time.
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:
Many internet users lack extensive knowledge about the internet for which they have access. Therefore, it can be difficult to convince these users to upgrade their internet services using specific terminology, such as lowering latency. Low latency describes a computer network that is optimized to process a very high volume of data messages with minimal delay (latency). These networks are designed to support operations that require near real-time access to rapidly changing data. Low latency is desirable in a wide range of use cases. In a general sense, lower latency is nearly always an improvement over slower packet transport. Low latency is desirable in online gaming as it contributes to a more realistic gaming environment. However, the term low latency is most often used to describe specific business use cases, in particular high-frequency trading in capital markets.
For some applications that require internet, a non-limiting example of which is online gaming, having low latency will drastically improve user experience. As such, an efficient way to convince these users of the benefits of upgrading their internet by lowering their latency is providing them with a free trial. After users experience the difference of having low latency services, they will be more likely to upgrade.
What is needed is a system and method for providing a low latency service trial with intent to have users upgrade permanently.
A system and method in accordance with the present disclosure provides a low latency service trial with a mechanism to automatically contact an end user regarding permanently upgrading the low latency service.
In accordance with the present disclosure, data associated with internet applications being used by users in a household are monitored. In some cases, this data may be monitored by a cable modem within a household. In some cases, this data may be monitored by a cable modem termination system (CMTS) that provides the service flow to the cable modem. In some cases, this data may be monitored by a low latency controller that may be separate from both the cable modem and the CMTS.
The user may have a user account stored in a database that associates the user with the cable modem and with user identifying information, such as a phone number or email address.
The monitored data, or more specifically headers of the packets of the data, are then analyzed to determine if they meet a predetermined a low latency data threshold. In a non-limiting example embodiment, the CMTS provides a Data Over Cable Service Interface Specification (DOCSIS) service flow to the cable modem. A client device, such as a computer or smart phone, may access the internet via the cable modem using the DOSCIS service flow.
A data structure, such as a low latency look-up table (LUT), may have a priori data stored therein, wherein the a priori data identifies server addresses that are associated with applications that may run on a client device that may benefit from low latency. Non-limiting examples of such servers include online video game servers or stock trading servers. In some embodiments, this low latency LUT may reside in a low latency DOCSIS (LLD) controller. In some embodiments, this low latency LUT may reside in the CMTS. In some embodiments, this low latency LUT may reside in the cable modem.
Each packet to/from the cable modem will have data within its packet header to identify the address of the external server from which the packet originated, when traveling in a downstream service flow to the cable modem (and ultimately to the client device) or to which the packet is destined, when traveling in an upstream service flow from the cable modem (and originally from the client device).
In embodiments wherein the low latency LUT resides in the LLD controller, the LLD controller may analyze packets and compare the address of the external server with the a priori data within the low latency LUT. In embodiments wherein the low latency LUT resides in the CMTS, the CMTS may analyze packets and compare the address of the external server with the a priori data within the low latency LUT. In embodiments wherein the low latency LUT resides in the cable modem, the cable modem may analyze packets and compare the address of the external server with the a priori data within the low latency LUT.
If the identified packets match any addresses in the low latency LUT, then the packets correspond to an application that may benefit from a low latency service flow, which in this case would be a low latency DOCSIS (LLD) service flow.
In some embodiments, the mere existence of a single data packet that would qualify for a LLD service flow may meet the predetermined threshold. In some embodiments, a predetermined number of packets to/from the cable modem that would qualify for a LLD service flow may meet the predetermined threshold. In some embodiments, a predetermined number of packets to/from the cable modem, from a predetermined number of difference client devices that would qualify for a LLD service flow may meet the predetermined threshold.
In embodiments wherein the low latency LUT resides in the cable modem, and if an application's monitored data meets the predetermined threshold, the cable modem will instruct the LLD controller to automatically instruct the CMTS to enable a low latency service flow to the cable modem for a predetermined trial period.
In embodiments wherein the low latency LUT resides in the CMTS, and if an application's monitored data meets the predetermined threshold, the CMTS will instruct the LLD controller to automatically instruct the CMTS to enable a low latency service flow to the cable modem for a predetermined trial period.
In embodiments wherein the low latency LUT resides in the LLD controller, and if an application's monitored data meets the predetermined threshold, the LLD controller will automatically instruct the CMTS to enable a low latency service flow to the cable modem for a predetermined trial period.
The affected users will be notified of the low latency service flow upgrade. In some embodiments, the LLD controller automatically transmits a notification to the user via the CMTS to the cable modem, which then contacts the client device of the user. In some embodiments, the LLD controller automatically transmits the notification to the user via a cellular network by way of the user's client device. The user will have an opportunity to upgrade to the low latency service flow permanently after the predetermined trial period has ended.
An example system and method for automatically providing a low latency service flow trial in accordance with aspects of the present disclosure will now be described in greater detail with reference to
As shown in
As shown in
Cable modem 210, or CM, is an electronic device that is to be located so as to establish a local area network (LAN) at a consumer premises. The consumer premises can include a residential dwelling, office, or any other business space of a user, such as residence 206. The terms home, office, and premises may be used synonymously herein.
Cable modem 210 may perform such functions as web acceleration and HTTP compression, flow control, encryption, redundancy switchovers, traffic restriction policy enforcement, data compression, TCP performance enhancements (e.g., TCP performance enhancing proxies, such as TCP spoofing), quality of service functions (e.g., classification, prioritization, differentiation, random early detection (RED), TCP/UDP flow control), bandwidth usage policing, dynamic load balancing, and routing.
Further, it should be noted that cable modem 210 is able to communicate with CMTS 202 via communication channels 216 and 218, which may optionally be a wireless communication system, such as 4G, or 5G, and further is able to connect to internet 228.
Gateway device 210 serves as a gateway or access point to internet 228 for one or more electronic devices, referred to generally herein as client device 208 that wirelessly communicates with gateway device 210 via, e.g., Wi-Fi. Client device 208 can be a desktop computer, laptop computer, electronic tablet device, smart phone, appliance, or any other so called internet of things equipped devices that are equipped to communicate information.
A wireless access point (WAP), or more generally just access point (AP), is a networking hardware device that allows other Wi-Fi devices to connect to a Wi-Fi network. A service set ID (SSID) is an identification (in IEEE 802.11) that is broadcast by access points in beacon packets to announce the presence of a network access point for the SSID. SSIDs are customizable IDs that can be zero to 32 bytes, and can be in a natural language, such as English. In residence 206, cable modem 210 and router 212 are access points.
CMTS 202 is used to provide high speed data services, e.g., cable internet.
CMTS 202 is configured to provide service flow 224 to cable modem 210 as a data over cable service interface specifications (DOCSIS) service flow. DOCSIS is a globally recognized telecommunications standard that enables high-bandwidth data transfer via existing coaxial cable systems that were originally user in the transmission of cable television program signals.
In some embodiments, as opposed to a DOCSIS environment, a passive optical network (PON) may be similarly implemented in accordance with aspects of the present disclosure, wherein the PON service provider would provide a regular latency service flow and a low latency service flow. A PON is a fiber-optic telecommunications technology for delivering broadband network access.
As shown in
In this example, controller 300, memory 302, radio 304, interface 306 and GUI 308 are illustrated as individual devices. However, in some embodiments, at least two of controller 300, memory 302, radio 304, interface 306 and GUI 308 may be combined as a unitary device. Further, in some embodiments, at least one of controller 300 and memory 302 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 300 may be implemented as 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 208 in accordance with the embodiments described in the present disclosure.
Memory 302 can store various programming, and user content, and data.
Radio 304, may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with router 212, as shown in
Interface 306 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.
GUI 308 may be any known device or system to display an interactive image to enable a user to interact with client device 208.
As shown in
In this example, controller 310, memory 312, radio 314, and interface 316 are illustrated as individual devices. However, in some embodiments, at least two of controller 310, memory 312, radio 314, and interface 316 may be combined as a unitary device. Further, in some embodiments, at least one of controller 310 and memory 312 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 310 may be implemented as 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 cable modem 210 in accordance with the embodiments described in the present disclosure.
HNC 311 controls cable modem 210 within the wireless network. HNC 311 may perform tasks such as steering connected devices, a non-limiting example of which is a cell phone, from one access point to another.
Memory 312 can store various programming, and user content, and data, including LLD program 313.
LLD program 313 includes instructions to be executed by controller 310 to cause cable modem 210 to divert regular latency traffic to service flow 224 and divert low latency traffic to LLD service flow 234, as shown in
In some embodiments, LLD program 313 additionally includes instructions to be executed by controller 310 to cause cable modem 210 to provision service flow 224 and LLD service flow 234 with CMTS 202. In this sense, in some embodiments, cable modem 210 acts as provisioning system.
Radio 314, may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with router 212 and CMTS 202, as shown in
Interface 316 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 316 receives data from CMTS 202 (as shown in
In some embodiments CMTS 202 may optionally include a low latency LUT 319.
LLD controller 204 includes a controller 320; a memory 322, which has stored therein an LLD program 323 and a user database 325, and in some embodiments may optionally include a low latency LUT 327; and at least one radio, a sample of which is illustrated as a radio 324; and an interface 326.
In this example, controller 320, memory 322, radio 324, and interface 326 are illustrated as individual devices. However, in some embodiments, at least two of controller 320, memory 322, radio 324, and interface 326 may be combined as a unitary device. Further, in some embodiments, at least one of controller 320 and memory 322 may be implemented as a computer having tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
Controller 320 may be implemented as 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 LLD controller 204 in accordance with the embodiments described in the present disclosure.
Memory 322, as will be described in greater detail below, has instructions, including LLD program 323, stored therein to be executed by controller 320 to allow LLD controller 204 to: obtain monitored data based on at least one of the upstream application data and the downstream application data; obtain a comparison of the monitored data to a low latency data threshold; automatically transmit a reconfigure instruction to CMTS 202 to instruct the CMTS 202 to provide the low latency service flow to cable modem 210 for a predetermined period of time and based on the comparison or to the provisioning system to instruct the provisioning system to cause CMTS 202 to provide the low latency service flow to cable modem 210 for a predetermined period of time and based on the comparison; and automatically transmit a message instruction to instruct user 205 of the low latency service flow and based on the predetermined period of time.
In some embodiments, memory 322, as will be described in greater detail below, has additional instructions within LLD program 323 to be executed by controller 320 to allow LLD controller 204 to: obtain the comparison as a second comparison of the at least one of the upstream application data and the downstream application data to the low latency data threshold; automatically transmit the reconfigure instruction by automatically transmitting the reconfigure instruction to CMTS 202 to instruct CMTS 202 to provide the LLD service flow to cable modem 210 for a predetermined period of time and based on the second comparison or automatically transmitting the reconfigure instruction to the provisioning system to instruct the provisioning system to cause CMTS 202 to provide the LLD service flow to cable modem 210 for a predetermined period of time and based on the second comparison; and automatically transmit the message instruction by automatically transmitting the message instruction to instruct user 205 of the LLD service flow and based on the predetermined period of time.
In some embodiments, memory 322, as will be described in greater detail below, has additional instructions within LLD program 323 to be executed by controller 320 to allow LLD controller 204 to: store, into memory 322, an association between cable modem 210 and user 205; and store, into memory 322, contact information of user 205.
In some embodiments, memory 322, as will be described in greater detail below, has additional instructions within LLD program 323 to be executed by controller 320 to allow LLD controller 204 to: store the contact information of user 205 as one of a telephone number and an email address.
In some embodiments, memory 322, as will be described in greater detail below, has additional instructions within LLD program 323 to be executed by controller 320 to allow LLD controller 204 to: store the contact information of user 205 as the telephone number; and automatically transmit the message instruction to client device 208 by way of cellular network 230.
In some embodiments, memory 322, as will be described in greater detail below, has additional instructions within LLD program 323 to be executed by controller 320 to allow LLD controller 204 to: store the contact information of user 205 as an email address; and automatically transmit the message instruction to client device 208 using the email address.
In some embodiments, memory 322, as will be described in greater detail below, has additional instructions within LLD program 323 to be executed by controller 320 to allow LLD controller 204 to: automatically transmit a second reconfigure instruction to CMTS 202 to instruct CMTS 202 to cease providing the LLD service flow to cable modem 210 after expiration of the predetermined period of time.
Database 325 includes registered user data associated with a registered user. For example, a person may register with CMTS 202 to receive cable service. Once registered, contact information of that person, such as the physical address, a phone number or email address, may be added to database 325. Further, each network device associated with either the person or the physical address may also be included in database 325. For example, as shown in
Radio 324, may include a Wi-Fi WLAN interface radio transceiver that is operable to communicate with CMTS 204 and also may include a cellular transceiver operable to communicate with cellular network 230, as shown in
Interface 326 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 326 receives data from cable modem 210 (as shown in
As will be described in more detail below, in some embodiments, in some embodiments, cable modem 210 obtains the monitored data, wherein cable modem 210 monitors the data packets to/from cable modem 210 to determine the address of the server to which cable modem 210 is communicating.
As will be described in more detail below, alternatively in some embodiments, in some embodiments, CMTS 202 obtains the monitored data, wherein CMTS 202 monitors the data packets to/from cable modem 210 to determine the address of the server to which cable modem 210 is communicating.
As will be described in more detail below, alternatively in some embodiments, in some embodiments, LLD controller 204 obtains the monitored data, wherein LLD controller 204 monitors the data packets to/from cable modem 210 to determine the address of the server to which cable modem 210 is communicating.
In operation, with reference to
There are multiple events which may occur to determine if an application is eligible for a LLD service flow, non-limiting examples of which include: the presence of a single data packet associated with an eligible application of the low latency LUT; the accumulation of multiple data packets associated with an eligible application of the low latency LUT exceeding a predetermined threshold, e.g., a single client device using an application for a predetermined period of time; and the accumulation of multiple packets from multiple different applications associated with an eligible application of the low latency LUT, e.g., a predetermined number of different client devices using respective applications.
It should be noted, as mentioned above, that in some embodiments, CMTS 202 may alternatively monitor the upstream data packets being sent from client device 208 to CMTS 202, and the downstream data packets being sent from CMTS 202 to client device 208 to determine whether such packets may benefit from a low latency service flow. In those embodiments, CMTS 202 may then compared this address of the external server with a priori data contained within low latency LUT 319 to determine that the multiplayer video game is eligible to receive a LLD service flow in a manner similar to the embodiment discussed above wherein cable modem 210 is making such a determination.
It should be further noted, as mentioned above, that in some embodiments, LLD controller 204 may alternatively monitor the upstream data packets being sent from client device 208 to CMTS 202, and the downstream data packets being sent from CMTS 202 to client device 208 to determine whether such packets may benefit from a low latency service flow. In those embodiments, LLD controller 204 may then compared this address of the external server with a priori data contained within low latency LUT 327 to determine that the multiplayer video game is eligible to receive a LLD service flow in a manner similar to the embodiment discussed above wherein cable modem 210 is making such a determination.
For purposes of discussion, consider the embodiment wherein cable modem 210 is monitoring the data to determine whether there may be a benefit from a low latency service flow. In such a situation, radio 304 of client device 208 will upload multiplayer video game data packets through router 212 to radio 314 of cable modem 210. Similarly, CMTS 202 will download multiplayer video game data packets to interface 316 of cable modem 210. Controller 310 will execute instructions stored on memory 312 to cause cable modem 210 to monitor the multiplayer video game data packets and find that the multiplayer video game data packets are associated with a priori data within low latency LUT of memory 312.
In some embodiments, CMTS 202 and LLD controller 204 will be a unitary device, depicted as CMTS/LLD controller 232. As such, cable modem 210 would upload data packets from client device 208 to CMTS/LLD controller 232, and download data packets from CMTS/LLD controller 232 to client device 208.
Returning to
For example, presume that cable modem 210 will observe the upstream and downstream data packets of the multiplayer video game application associated with client device 208, and compare the packets to a previously determined threshold. In this instance, presume that the threshold is the existence of at least one data packet associated with an eligible application of the low latency LUT. Controller 310 will execute instructions stored on memory 312 to cause cable modem 210 to compare the data packets of the multiplayer video game application to the single data packet threshold.
In some embodiments, CMTS 202 will observe the upstream and downstream data packets of the multiplayer video game application associated with client device 208, and compare the packets to a previously determined threshold. CMTS 202 will operate in a similar manner to cable modem 210, and compare the data packets of the multiplayer video game application to the single data packet threshold.
In some embodiments, LLD controller 204 will observe the upstream and downstream data packets of the multiplayer video game application associated with client device 208, and compare the packets to a previously determined threshold. Controller 320 will execute instructions stored on memory 322 to cause cable modem LLD controller 204 to compare the data packets of the multiplayer video game application to the single data packet threshold.
Returning to
Accordingly, there are multiple possible embodiments in accordance with aspects of the present disclosure, non-limiting examples of which include: embodiments wherein cable modem 210 monitors the upstream and downstream data packets, and cable modem 210 determines whether the comparison meets a threshold; embodiments wherein CMTS 202 monitors the upstream and downstream data packets, and cable modem 210 determines whether the comparison meets a threshold; embodiments wherein LLD controller 204 monitors the upstream and downstream data packets, and cable modem 210 determines whether the comparison meets a threshold; embodiments wherein cable modem 210 monitors the upstream and downstream data packets, and CMTS 202 determines whether the comparison meets a threshold; embodiments wherein CMTS 202 monitors the upstream and downstream data packets, and CMTS 202 determines whether the comparison meets a threshold; embodiments wherein LLD controller 204 monitors the upstream and downstream data packets, and CMTS 202 determines whether the comparison meets a threshold; embodiments wherein cable modem 210 monitors the upstream and downstream data packets, and LLD controller 204 determines whether the comparison meets a threshold; embodiments wherein CMTS 202 monitors the upstream and downstream data packets, and LLD controller 204 determines whether the comparison meets a threshold; and embodiments wherein LLD controller 204 monitors the upstream and downstream data packets, and LLD controller determines whether the comparison meets a threshold.
For purposes of discussion only, consider the embodiment wherein data packets of the multiplayer video game application associated with client device 208 are monitored. As mentioned above, this process may be performed, based on the embodiment, by either cable modem 210, CMTS 202, or LLD controller 204. Further, and for purposes of discussion only, consider the example situation wherein the threshold is the presence of a single data packet associated with an eligible application of low latency LUT. In this case, it may be determined whether the multiplayer video game application has met the data threshold is there is a presence of a single packet. In some embodiments, this determination may be performed by cable modem 210. In some embodiments, this determination may be performed by CMTS 202. In some embodiments, this determination may be performed by LLD controller 204.
As cable modem 210 has found at least one data packet associated with the multiplayer video game application, cable modem 210 will determine that the application associated with client device 208 is an application that is eligible for low latency service. Once the determination is made (YES at S108), LLD controller 204 will instruct CMTS 202 to provide a low latency service flow to cable modem 210.
Returning to
Returning to
As shown in
CMTS 202 is configured to provide LLD service flow to cable modem 210 as a low latency DOCSIS service flow.
For example, with reference to
In some embodiments, where cable modem 210 monitors the data packets, cable modem 210 will also determine if the predetermined data threshold has been met by the data packets. In some further embodiments, where cable modem 210 monitors the data packets, CMTS 202 will determine if the predetermined data threshold has been met by the data packets. LLD controller 204 will be notified to instruct CMTS 202 to provide LLD service flow 234 to cable modem 210 when the data threshold is met. In some further embodiments, where cable modem 210 monitors the data packets, LLD controller 204 will determine if the predetermined data threshold has been met by the data packets. LLD controller 204 will directly instruct CMTS 202 to provide LLD service flow 234 to cable modem 210 when the data threshold is met.
In some embodiments, where CMTS 202 monitors the data packets, CMTS 202 will also determine if the predetermined data threshold has been met by the data packets. In some further embodiments, where CMTS 202 monitors the data packets, cable modem 210 will determine if the predetermined data threshold has been met by the data packets. LLD controller 204 will be notified to instruct CMTS 202 to provide LLD service flow 234 to cable modem 210 when the data threshold is met. In some further embodiments, where CMTS 202 monitors the data packets, LLD controller 204 will determine if the predetermined data threshold has been met by the data packets. LLD controller 204 will directly instruct CMTS 202 to provide LLD service flow 234 to cable modem 210 when the data threshold is met.
In some embodiments, where LLD controller 204 monitors the data packets, LLD controller 204 will also determine if the predetermined data threshold has been met by the data packets. In some further embodiments, where LLD controller 204 monitors the data packets, cable modem 210 will determine if the predetermined data threshold has been met by the data packets. LLD controller 204 will be notified to instruct CMTS 202 to provide LLD service flow 234 to cable modem 210 when the data threshold is met. In some further embodiments, where LLD controller 204 monitors the data packets, CMTS 202 will determine if the predetermined data threshold has been met by the data packets. LLD controller 204 will be notified to instruct CMTS 202 to provide LLD service flow 234 to cable modem 210 when the data threshold is met.
In some embodiments, only one of the upstream data or the downstream data will be greater than the data threshold. So long as at least one of the upstream data or the downstream data are greater than the data threshold, CMTS 202 will provide LLD service flow 234 to cable modem 210.
In some embodiments, at least one of the upstream data or the downstream data will be greater than the data threshold. However, the application may not have a priori data in low latency LUT, meaning that the application is not an application eligible for LLD service. In such a case, a low latency service flow will not be provided to cable modem 210.
Returning to
As shown in
For example, with reference to
In some embodiments, client device 208 may receive message instruction 238 from LLD controller 204 through cellular network 230. Client device 208 may provide a notification to user 205 in a similar manner to that described above.
Returning to
In some embodiments, if user 205 has not purchased a subscription after the predetermined temporary trial period is over, LLD service flow 234 may be terminated. User 205 will be notified of the termination of the temporary trial period.
In some embodiments, user 205 may receive a notification before the temporary trial period is over.
In some embodiments, user 205 may be charged and their trial period may become permanent until user 205 cancels the subscription.
It can be difficult to convince non-tech savvy users to upgrade their internet services using specific terminology, such as lowering latency. For some applications that require internet, a non-limiting example of which is online gaming, having low latency will drastically improve user experience. The best way to convince these users of the benefits of lower their latency is providing them with a free low latency service trial. After users experience the difference of having low latency services, they will be more likely to subscribe permanently.
A user will be using an application on a client device connected to a cable modem. Upstream and downstream data of internet applications will be monitored, and eventually transferred to a LLD controller. The LLD controller will compare the upstream and downstream data to a low latency data threshold. If the upstream and downstream data meet the low latency data threshold, a temporary low latency service flow will be automatically provided by the cable modem's respective CMTS to the cable modem. The user will be notified of the change, and they will have a chance to subscribe once the temporary low latency service flow expires.
Thus, the present disclosure as disclosed automatically provides users with a low latency service flow trial to persuade users to upgrade permanently.
The operations disclosed herein may constitute algorithms that can be affected 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.
Number | Date | Country | |
---|---|---|---|
63239536 | Sep 2021 | US |