The business model of a Mobile Virtual Network Operator (“MVNO”) offering data services typically involves acquiring either data capacity or bandwidth (sometimes referred to as “throughput”) from a Mobile Network Operator (“MNO”) and selling value-added wireless data connectivity to their customers. Due to the nature of their business model, an MVNO's available bandwidth is usually much more limited than that of an MNO's because an MVNO will typically only buy enough bandwidth to serve their customers. Conventional traffic management technologies have been effective in managing network data traffic either at a macro level or region-specific level to answer needs of MNOs. MVNOs that offer services with the limited overall network bandwidth, on the other hand, needed technologies to be able to control network data traffic more responsively at a finer level based on specific services that they offer, and utilize the network resources in a cost effective manner.
A Mobile Virtual Network Operator (MVNO) may offer data services having added value that comes from a number of different services. An example of value-added services is offering a variety of wireless connectivity plans, including, but not limited to: high-speed 3G or LTE connections with limited data usage; speed limited connections without limitations on data volume; pre-paid, high-speed data connections; security-embedded data connections; as well as providing customer service. Due to the nature of their business model, an MVNO's available bandwidth is usually much more limited than that of an MNO's because an MVNO may only buy enough bandwidth to serve their customers. As such, in order for such an MVNO to maximize its profits, it is beneficial to have efficient use of total available bandwidth.
For MVNOs to offer various different wireless data connectivity plans with different connection speeds, the MVNOs may use technologies that allow an MVNO to offer different throughput for end user wireless connections either per connection or per session. For example, the MVNO may use a gateway between a General Packet Radio Service (GPRS) wireless data network and other external packet data networks using a Gateway GPRS Support Node (GGSN) for 3G. The MVNO may also use a Packet Data Network Gateway (P-GW) for Long-Term Evolution (LTE). Additionally, the MVNO may use Quality of Service (QoS) or Policy and Charging Enforcement Function (PCEF) equipment at the Internet Protocol (“IP”) layer in their network node. Any of these technologies may allow an MVNO to prioritize IP applications based on a type of application, port number, IP header, etc. For instance, Voice over IP (“VoIP”) packet traffic may be given higher priority than email traffic. In particular, VoIP may receive priority so that live voice conversations can be made naturally and in real-time without delay. Email delivery, on the other hand, may be delayed a few seconds without recipients noticing.
When sufficient backhaul (throughput or capacity) is present in the backbone network, an MVNO may work well without needing to prioritize particular services, such as prioritizing VoIP over email delivery. In the case of an MVNO business, where the total bandwidth is limited, per connection-based packet throughput control or priority control may not be sufficient. In particular, total user traffic may be greater than an MVNO's available bandwidth. Thus, preconfigured per session-based throughput may not be available to some users or the priority applied to a certain application may not be high enough to maintain sufficient quality for services such as VoIP.
One aspect of the invention provides a method for dynamically controlling per-session throughput and application priority, said method under the control of one or more computer systems configured with executable instructions. The method comprises receiving, at a mobile virtual network operator, a request to initiate a data-based application, wherein the request is received from a mobile device that is associated with a data plan that is managed by the mobile virtual network operator, and wherein the data-based application is associated with a category of data. The method also comprises evaluating the request at a feedback-based packet control system of the mobile virtual network operator, wherein the feedback-based packet control system utilizes a speed monitoring module and business rule engine in evaluating the request. Additionally, the method comprises evaluating the request at a feedback-based packet control system of the mobile virtual network operator, wherein the feedback-based packet control system utilizes a speed monitoring module and business rule engine in evaluating the request. The method also comprises providing the data-based application request to a server.
Another aspect of the invention provides a computer-implemented method for dynamically controlling per-session throughput and application priority, said method under the control of one or more computer systems configured with executable instructions. The computer-implemented method comprises receiving a predetermined amount of bandwidth at a mobile virtual network operator. The computer-implemented method also comprises monitoring real-time performance of data traffic across the mobile virtual network operator, wherein monitoring real-time performance of data traffic includes assessing actual speed performance, packet loss, and packet retransmission rate. Additionally, the computer-implemented method comprises assessing servomechanism feedback of data traffic across the mobile virtual network operator. Further, the method comprises, based on the monitored real-time performance and the assessed servomechanism feedback, determining a packet flow control configuration for one or more sessions that are managed by the mobile virtual network operator. The computer-implemented method also comprises applying the packet flow control configuration to the one or more sessions that are managed by the mobile virtual network operator.
The invention discloses methods and systems provided for controlling per session throughput and IP application priority dynamically, utilizing a servomechanism and real-time performance monitoring, and applying the most appropriate packet flow control configurations to each connected session. This way, an MVNO's total bandwidth could be allocated most efficiently, without having to sacrifice the user experience of any particular service plan or user group.
All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference.
The novel features of the invention are set forth with particularity in the appended claims. A better understanding of the features and advantages of the invention will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the invention are utilized, and the accompanying drawings of which:
The invention discloses methods and systems provided for controlling per session throughput and IP application priority dynamically, utilizing a servomechanism and real-time performance monitoring, and applying the most appropriate packet flow control configurations to each connected session. This way, an MVNO's total bandwidth may be allocated most efficiently, without having to sacrifice the user experience of any particular service plan or user group.
In examples, a feedback-based packet control system that automatically adjusts the mobile speed of different services to different consumers based on business rules is provided. In examples of the invention, a servomechanism that consists of four main components may be used to adjust the services of different customers. These four components may include a speed monitoring module, a business rule engine, a deep packet inspection unit, and a packet controller. The speed monitoring module may measure the speed of the service. The deep packet inspection unit may determine the number of packets lost and re-transmitted packets. The packet controller may adjust the speed of the service. Additionally, the business rule engine may be responsible for setting requirements based on, but not limited to, the date, type of service, and type of consumer. All four components may operate with each other based on feedback from each component.
The BRE 210 may define hierarchical user groups, such as different enterprises and consumer groups. In an example, Enterprise-A may be a company that an MVNO serves based on a contract for a group of 3G/LTE mobile users within the enterprise who use a specific Tablet PC model with connectivity speeds of up to 300 kbps and who only use email and web browsing during business hours, Monday through Friday. Another example is Consumer Group-A, which may be a group of users that uses the high-speed internet connectivity service the MVNO offers. A third example is Consumer Group-B, which may be another group of users with up to 150 kbps internet connectivity service. Consumer Group-B may also have other plans associated with it, such as a Pre-paid 200 Hour plan and a 1 GB per month plan, both still restricted to 150 kbps. The BRE 210 may also have a calendar and time table. The time table and calendar may be used in the speed adjustments of the different services of the different user groups.
The BRE 210 may also store business rules in its database system. These business rules may be customized. Additionally, these business rules may include data such as total available bandwidth, guaranteed bandwidth to be assigned to a particular enterprise based on a service contract, minimum acceptable session throughput for each different service plan at different times of day, different days of the week, or different seasons, and minimum acceptable packet loss for different IP applications, such as VoIP, Web browsing, P2P, and email. These business rules may also include bandwidth allotments and performance thresholds for different types and models of end-user devices, such as smartphones, tablet PCs, USB cellular modems, and cellular routers.
The SMM 220 may test the connectivity and transmission speeds of offered services and plans. In examples, the SMM 220 may test the connectivity and transmission speeds of all offered service plans. The SMM 220 may be a device that consists of a Central Processing Unit (CPU) and memory, multiple 3G/LTE mini-Peripheral Component Interconnect Express (PCIe) modules, multiple SIM slots for each mini-PCIe modules, and multiple RF antenna connectors. Subscriber Identity Module (SIM) cards provisioned for each offered service plan (i.e. High-Speed, 300 kbps, and Pre-paid plans, etc.), or SIM cards specifically provisioned for a particular enterprise, may be inserted in the SIM card slots and external 3G/LTE antennas may be connected through the antenna connectors. The CPU may send and receive certain sized data files in different formats using different communication ports to and from a predefined file server on the internet or in a specific network node at regular intervals. Additionally, the CPU may compute data transmission and reception throughput based on file size and actual duration of data transmission or reception. Results of these measured throughputs of different user groups, different service plans, and through different communication ports may be sent to the database portion of the BRE 210 on a real-time basis. PC 240 may adjust the speed based on the requirements set by the BRE 210. In examples, PC 240 may be responsible for reconfiguring packet delay for each user group. Additionally, PC 240 may be responsible for reconfiguring packet delay for each service plan. PC 240 may also be responsible for reconfiguring packet delay for each application on the patent controller. In alternative examples, the base stations may not be used, but a direct Ethernet connection may be utilized between the server 109 and the Feedback-Based Packet Control system 160 with the same IP address range of each user group to measure the speeds of the different services. Using a direct connection may remove external influences that may occur due to unstable wireless conditions.
DPI 230 may utilize a conventional IP packet analyzer. Additionally, DPI 230 may measure the packet loss and packet re-transmission rate of connected IP sessions from different user groups, different service plans, and different device models on a real-time basis. These statistics may be sent to the database portion of the BRE 210. Based on those statistics, the BRE 210 may adjust the requirements appropriately. In examples, the BRE 210 may increase the speed of a service if the DPI 230 detects a high packet loss and a high packet re-transmission rate, or decrease the speed of a service if the DPI 230 detects a low packet loss and a low packet re-transmission rate, depending on the business rules at that time.
Another example may include an instance when all Consumer Group services' speeds are measured slower than the threshold. In this case, provided it is specified in the business rules, particular IP applications such as P2P, Multi Media, or Android downloads may be throttled to slower throughput. As such, common IP applications, such as Web browsing, email, and VoIP, may gain faster speeds than the threshold until HTTP speeds come back to above threshold. In addition to the actual speed measured by the SMM 401, real-time DPI measurement results 301 such as packet loss value and packet retransmission rates that can also be used to determine current level of service performance and speed.
Business rules 300 may define busy traffic hours, such as morning commute time, lunch time, or afternoon commute hours, so that high-volume applications, such as media streaming or content downloading speeds are throttled during these time windows and, as a result, offer reasonably faster speeds to common IP applications, such as web browsing and smartphone applications. This way, day and night, or seasonally high traffic days, such as Christmas or New Years, can be pre-programmed to avoid traffic congestions. Those business rules reside in the BRE 403 component of the Feedback Based Packet Control system.
When performance adjustment occurs, the service, protocol, and/or application with subpar performance may be identified. This is seen at block 602. In particular, the service, protocol, and/or application with subpar performance may be identified by a deep packet inspection component, such as DPI 602. Next, at block 603, performance balancing is executed. In particular, the performance balancing may be executed by a packet controller, such as PC 404. The performance balance that is executed by PC 404 may determine whether or not the speed needs to be increased or decreased. At block 604, when the performance balance is completed, a new temporary performance criteria may be set. In particular, the new temporary criteria may be set by a business rule engine, such as BRE 403. Additionally, the cycle of assessing performance and adjusting parameters may continue after a fixed amount of time so as to continuously maintain proper performance.
In some implementations, a time interval of executing the aforementioned cycle (i.e. a time interval of a feedback cycle) may be implemented as a tunable parameter. In examples, the time interval value may depend on the shortest interval value of the maximum time allowed to recover from a state where the traffic is below a required minimum network speed (the network bandwidth threshold), as defined as an attribute of a user group. The time interval value may range from a fraction of a second (e.g. when a particular user group features a high level of service quality) to a few hours depending on a level of service quality needed, as agreed with users of the services. The minimum value of the time interval may be larger than the total time required to process one feedback cycle. This minimum value may include scanning the traffic speed of data transmission of users, comparing the scanned traffic speed against the minimum traffic threshold value, and adjusting the traffic to satisfy the traffic requirement for respective user groups. As the time interval becomes larger, users may find the time lag of network speed recovery to be the more noticeable. Typical implementations may feature some value between 3 and 5 minutes.
However, if multiple users within a user group are utilizing a high amount of bandwidth, speeds may be adjusted for the whole user group of users/subscribers that contains the multiple subscribers who are using a great amount of bandwidth. For example, if more than a threshold number of users within a user group are utilizing a high amount of bandwidth, speeds may be adjusted for the whole user group of users/subscribers that contain those users. This is illustrated at block 704, which provides for regulating an upper limit for the user group quota if needed. In examples, a threshold number of users that are using an excessive amount of bandwidth may be set at more than 10 users, 15 users, 20 users, 25 users, 30 users, 35 users, 40 users, 50 users, 60 users, 70 users, 80 users, 90 users, 100 users, 200 users, 300 users, 400 users, 500 users, 1,000 users, or more than 1,000 users. In additional examples, if most of the users within the user group are using more bandwidth than an average user of the MVNO, or if there are no particular “exceptional” users, then the entire user group may be regulated and/or penalized. Adjustments made so as to reduce the bandwidth consumption of the greatest users of bandwidth may help in balancing the quotas of the rest of the user groups, as provided at block 705.
An example of user groups is shown in
Existing technologies can offer most or all of these Packet Controllers based on static configuration. When IP traffic conditions change, or when a few heavy users are using up the traffic capacity so as to constantly cause slowness to general users, MVNOs or service providers may manually reconfigure the packet control system. In particular, MVNO's may manually reconfigure the packet control system to maintain desired service levels in accordance with users' service plans.
Methods provided herein may be used to dynamically and automatically apply suitable configurations to a Packet Controller using a servomechanism based on business rules compared against actual speed performance, packet loss, and packet retransmission rate. Additionally, one or more of the actual speed performance, packet loss, and packet retransmission rate may be measured in real-time.
Although preferred embodiments of the invention have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the invention. It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is intended that the following claims define the scope of the invention and that methods and structures within the scope of these claims and their equivalents be covered thereby.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/184,753 entitled “Feedback-Based Packet Control System,” filed Jun. 25, 2015, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62184753 | Jun 2015 | US |