System and method for end-to-end quality of service control for a remote service gateway

Systems and methods of performing end-to-end QoS control during the access of Wi-Fi-enabled communications devices to remote networks. The systems and methods employ a bandwidth manager, a policy server, a near-end gateway located within a Wi-Fi network, and a far-end gateway located within a service provider network. Throughout the duration of a call placed by a wireless device user using a Wi-Fi-enabled communications device, the bandwidth manager can have access to service profiles stored in a database of the policy server for use in monitoring levels of bandwidth usage, for tunneled and/or local breakout traffic, at least at the near-end gateway to the service provider network and at the far-end gateway to a remote network, and performing end-to-end QoS control by dynamically making adjustments, as needed, to one or more service profiles at least at the near-end gateway and/or at the far-end gateway based on the monitored bandwidth usage levels.

TECHNICAL FIELD

The present application relates generally to systems and methods of controlling the access of Wireless Fidelity (Wi-Fi)-enabled communications devices to remote networks, and more specifically to systems and methods of performing end-to-end Quality of Service (QoS) control during such access of Wi-Fi-enabled communications devices to remote networks.

BACKGROUND

In recent years, Wireless Fidelity (Wi-Fi) networks have been increasingly deployed in urban areas, office buildings, and college campuses, as well as public venues such as airports, stadiums, coffee shops, and hotels. Such Wi-Fi networks can allow virtually any Wi-Fi-enabled communications device (also referred to herein as the “Wi-Fi-enabled device”), such as a Wi-Fi-enabled smartphone, tablet computer, or laptop computer, to access remote networks, such as the Internet, via wireless access points located within the Wi-Fi networks. Such wireless access points can be configured to operate with wireless access point controllers (also referred to herein as “Wi-Fi controllers”), which can be located either within the Wi-Fi networks themselves or within service provider networks communicably coupled to the Wi-Fi networks. For example, a wireless access point in combination with a Wi-Fi controller may be configured to support Hotspot 2.0, which is a technology based on the Institute of Electrical and Electronic Engineers (IEEE) 802.11u, 802.11i, and 802.1x standards and generally known as Wi-Fi-certified Passpoint™. Further, a wireless device user may employ his or her Wi-Fi-enable device to access a remote network (e.g., the Internet) via a wireless access point, which may be located within a Wi-Fi network deployed in a particular venue, but operating in conjunction with a Wi-Fi controller located within a service provider network.

In a typical scenario, a wireless device user with a Wi-Fi-enabled device (e.g., a Wi-Fi-enabled smartphone, tablet computer, laptop computer) can enter a communication range of a wireless access point located within a Wi-Fi network deployed in a particular venue, such as a hotel. For example, the hotel venue may be a subscriber or account holder of a service provider network. Having entered the communication range of the wireless access point, the Wi-Fi-enabled device can receive, from the wireless access point, a beacon message indicating that the wireless access point is configured to support Hotspot 2.0. If the Wi-Fi-enabled device is also configured to support Hotspot 2.0, then the Wi-Fi-enabled device can, using a protocol defined in one or more of the IEEE 802.11 series of standards, exchange messages with the wireless access point in order to become associated with the wireless access point, and also exchange messages with an authentication server in order to be authenticated by the authentication server. For example, such an authentication server may be located within the Wi-Fi network or communicably coupled to the service provider network, and may be configured to conform to the Remote Authentication Dial-In User Service (RADIUS) protocol.

Once the Wi-Fi-enabled device becomes associated with the wireless access point and is authenticated by the authentication server, the wireless device user can place a call, such as a voice call, a video call, or a data call, to another communications device, such as a smartphone, a tablet computer, or a laptop computer. For example, such placement of a call by the wireless device user using his or her Wi-Fi-enabled device may include accessing, over the Wi-Fi and service provider networks, a remote network (e.g., the Internet) to which the other communications device can be communicably coupled. Such call placement by the wireless device user may further include tagging, by the wireless access point, a packet flow for the call with Quality of Service (QoS) bits indicative of a QoS level appropriate for the type (voice, video, data) of call. For example, a voice call may require an enhanced QoS level, a data call may have a reduced QoS level, and a video call may require a QoS level that is intermediate to the respective QoS levels of the voice and data calls. Further, such QoS levels may be specified in a QoS policy that may be enforced by at least the wireless access point located within the Wi-Fi network deployed in the hotel venue.

Once the voice call, video call, or data call is placed by the wireless device user, the wireless access point located within the Wi-Fi network deployed in the hotel venue can operate in conjunction with a Wi-Fi controller located within the service provider network in order to complete the call. For example, the wireless access point at the hotel venue location may store a service profile for use in enforcing the QoS policy that corresponds to the QoS level for the type (voice, video, data) of call placed by the wireless device user. Such a QoS policy can include access control lists, as well as a number of rules and/or criteria associated with certain call packet flows, wireless device users, and/or wireless device user groups, etc. The wireless access point can operate to enforce the QoS policy corresponding to the QoS level for the call by tagging a packet flow for the call with QoS bits indicative of the QoS level, as well as modifying the access of certain wireless device users and/or user groups and prioritizing certain call packet flows in accordance with various rules and/or criteria, in an effort to maintain an optimal quality of service for the wireless device user at the hotel venue location.

The typical scenario described herein for accessing a remote network with a Wi-Fi-enabled device from a particular venue location has drawbacks, however, in that it can frequently be difficult to perform end-to-end QoS control throughout the duration of a call. For example, the QoS bits that are typically tagged to a packet flow for the call at the particular venue location may be stripped off the call packet flow or otherwise lost by the time the call packet flow reaches the service provider network. Further, the service provider network may have no knowledge of the QoS policy currently being enforced at that particular venue location, and may therefore be incapable of handling the call packet flow with the QoS level appropriate for the type (voice, video, data) of call. In addition, a local breakout may be allowed for some packet flows in order to allow such packet flows to be directly routed from the particular venue location to the Internet. However, it can be difficult to adapt the QoS policy being enforced at the particular venue location for call packet flows (including those that are subject to local breakout) to changes in packet flow conditions that might occur within the service provider network. Moreover, call load conditions either within the Wi-Fi network deployed in the particular venue and/or within the service provider network may vary significantly during the call, making it difficult to maintain a bandwidth commensurate with the QoS level for the call.

It would therefore be desirable to have systems and methods of performing end-to-end QoS control during the access of Wi-Fi-enabled devices to remote networks that can avoid at least some of the drawbacks of existing systems and methods of QoS policy enforcement.

SUMMARY

In accordance with the present application, systems and methods are disclosed for performing end-to-end Quality of Service (QoS) control during the access of Wireless Fidelity (Wi-Fi)-enabled communications devices to remote networks. The disclosed systems and methods can achieve such end-to-end QoS control by employing a bandwidth manager, a policy server, a near-end gateway located within a Wi-Fi network, and a far-end gateway located within a service provider network. Throughout the duration of a call placed by a wireless device user using a Wi-Fi-enabled communications device, the bandwidth manager can have access to one or more service profiles stored in a database of the policy server for use in (1) monitoring levels of bandwidth usage at least at the near-end gateway to the service provider network and at the far-end gateway to a remote network, and (2) performing end-to-end QoS control by dynamically making adjustments, as needed, to one or more service profiles stored at least at the near-end gateway and/or at the far-end gateway based on the monitored bandwidth usage levels.

In one aspect, a system for performing end-to-end Quality of Service (QoS) control during the access of a Wi-Fi-enabled communications device (also referred to herein as the “Wi-Fi-enable device”) to a remote network includes a bandwidth manager, a policy server, and a client service gateway to the remote network. The client service gateway (also referred to herein as the “far-end gateway”) is communicably coupleable to a wireless access point controller (also referred to herein as the “Wi-Fi controller”). In an exemplary aspect, the far-end gateway and the Wi-Fi controller can each be located within a service provider network. The Wi-Fi controller is communicably coupled to at least one wireless access point through a respective wireless access point gateway to the service provider network. In a further exemplary aspect, the wireless access point gateway (also referred to herein as the “near-end gateway”) and the wireless access point can each be located within a Wi-Fi network deployed in a particular venue, such as a hotel venue, which may be a subscriber or account holder of the service provider network. The policy server can include a database configured to store one or more service profiles, in which each service profile can specify one or more QoS classes for inbound and/or outbound packet flows based at least on the type (voice, video, data) of call placed using the Wi-Fi-enabled device. The bandwidth manager, the near-end gateway, the far-end gateway, and the wireless access point can each likewise be configured to store one or more service profiles. The bandwidth manager can be further configured to store one or more bandwidth profiles including one or more bandwidth thresholds for use in monitoring bandwidth usage at least at the wireless access point, the near-end gateway to the service provider network, and the far-end gateway to the remote network. The wireless access point, the near-end gateway, and the far-end gateway can each include a management interface through which the bandwidth manager can (1) monitor levels of bandwidth usage at the respective access point and gateway devices, and (2) perform end-to-end QoS control by dynamically making adjustments, as needed, to the service profile(s) stored at the respective access point and gateway devices based on the monitored bandwidth usage levels.

In one mode of operation, the wireless device user with his or her Wi-Fi-enabled device (e.g., a Wi-Fi-enabled smartphone, tablet computer, laptop computer) can enter a communication range of the wireless access point located within the Wi-Fi network deployed in the hotel venue. Having entered the communication range of the wireless access point, the Wi-Fi-enabled device can receive, from the wireless access point, a beacon message indicating that the wireless access point is configured to support Hotspot 2.0, which is a technology based on the Institute of Electrical and Electronic Engineers (IEEE) 802.11u, 802.11i, and 802.1x standards and generally known as Wi-Fi-certified Passpoint™, or any other suitable wireless technology. If the Wi-Fi-enabled device is also configured to support Hotspot 2.0, then the Wi-Fi-enabled device can, using a protocol defined in one or more of the IEEE 802.11 series of standards, exchange messages with the wireless access point in order to become associated with the wireless access point, and also exchange messages with an authentication server in order to be authenticated by the authentication server. For example, such an authentication server may be located within the Wi-Fi network deployed in the hotel venue or communicably coupled to the service provider network, and may be configured to conform to the Remote Authentication Dial-In User Service (RADIUS) protocol, or any other suitable protocol.

Once the Wi-Fi-enabled device becomes associated with the wireless access point and is authenticated by the authentication server, the wireless device user can place a call, such as a voice call, a video call, or a data call, to another communications device, such as a smartphone, a tablet computer, or a laptop computer. Such placement of a call by the wireless device user using his or her Wi-Fi-enabled device can include accessing, over the Wi-Fi and service provider networks, the remote network (e.g., the Internet) to which the other communications device is communicably coupleable. Such call placement by the wireless device user can further include tagging, by the wireless access point, a packet flow for the call with QoS bits indicative of a QoS level appropriate for the type (voice, video, data) of call. For example, a voice call may require an enhanced QoS level, a data call may have a reduced QoS level, and a video call may require a QoS level that is intermediate to the respective QoS levels of the voice and data calls. Further, the wireless access point and/or the near-end gateway located within the Wi-Fi network may each be configured to store a service profile for the hotel venue, in which the service profile includes a QoS policy that specifies one or more QoS levels for calls and can be enforced by the wireless access point and/or the near-end gateway at the hotel venue location.

The near-end gateway located within the Wi-Fi network deployed in the hotel venue can send the packet flow for the call to the Wi-Fi controller located within the service provider network, and the Wi-Fi controller can forward the call packet flow (such a forwarded call packet flow is also referred to herein as “tunneled traffic”) to the far-end gateway also located within the service provider network. In an exemplary aspect, the packet flow for the call can be identified by a network address, which the far-end gateway can use to determine that the tunneled traffic originated from the hotel venue location. Upon determining that the tunneled traffic originated from the hotel venue location, the far-end gateway can send a message to the policy server in order to request a copy of the service profile for the hotel venue. In a further exemplary aspect, the service profile for the hotel venue can include the hotel venue's identification (ID) profile, bandwidth profile, QoS profile, access profile, and/or any other suitable profile information pertaining to the hotel venue's subscription to the service provider network. In another exemplary aspect, the service profile for the hotel venue can specify one or more QoS classes for inbound and/or outbound packet flows based at least on the types (voice, video, data) of calls placed by wireless device users using their Wi-Fi-enabled devices at the hotel venue location. Each QoS class can define, for each type (voice, video, data) of call, at least a preferential bandwidth allocation for inbound and/or outbound packet flows, a preferential routing of the respective packet flows, and/or a preferential queuing of the respective packet flows, etc.

Having received the request message from the far-end gateway for a copy of the hotel venue's service profile, the policy server can access the hotel venue's service profile from its database, send a copy of the hotel venue's service profile to the far-end gateway for storage therein, and forward a copy of the same service profile for the hotel venue to the bandwidth manager for storage therein. In an exemplary aspect, a system administrator can configure the bandwidth manager to store a bandwidth profile for each of the wireless access point and/or the near-end gateway located within the Wi-Fi network, as well as for the far-end gateway located within the service provider network. Each bandwidth profile can include one or more bandwidth thresholds that the bandwidth manager can use while monitoring bandwidth usage at the wireless access point, the near-end gateway, and/or the far-end gateway.

Using his or her Wi-Fi-enabled device, the wireless device user can place a call, such as a voice call, a video call, or a data call, to another communications device (a smartphone, a tablet computer, a laptop computer). In an exemplary aspect, such placement of a call by the wireless device user using the Wi-Fi-enabled device can include accessing, over the Wi-Fi and service provider networks, the remote network (e.g., the Internet) to which the other communications device is communicably coupleable. Once the call is placed by the wireless device user using his or her Wi-Fi-enabled device, the wireless access point located within the Wi-Fi network deployed in the hotel venue can operate in conjunction with the Wi-Fi controller located within the service provider network in order to complete the call. Such call completion can involve an exchange of signaling between the wireless access point and the Wi-Fi controller via the near-end gateway, as well as a further exchange of signaling between the Wi-Fi controller and the far-end gateway.

Throughout the duration of the call, the bandwidth manager can monitor levels of bandwidth usage at least at the wireless access point and/or the near-end gateway located within the Wi-Fi network, as well as at the far-end gateway located within the service provider network. In an exemplary aspect, the bandwidth manager can monitor such bandwidth usage levels at each of the wireless access point, the near-end gateway, and/or the far-end gateway to obtain, for each respective access point and gateway device, a maximum bandwidth throughput required for each type (voice, video, data) of completed call, a current bandwidth usage for each call being handled by the respective access point or gateway device, and a total bandwidth usage for all calls being handled by the respective access point or gateway device relative to a bandwidth capacity of the respective device. Using the management interface included in each respective access point and gateway device, the bandwidth manager can (1) monitor, for one or more predetermined periods of time, a bandwidth usage level at each of the wireless access point, the near-end gateway, and/or the far-end gateway, and (2) perform end-to-end QoS control by dynamically making adjustments, as needed, to one or more of the service profile(s) stored in one or more of the respective access point and gateway devices based on the monitored bandwidth usage levels.

Having monitored the bandwidth usage levels at each of the wireless access point, the near-end gateway, and/or the far-end gateway, the bandwidth manager can obtain, for each respective access point and gateway device, the maximum bandwidth throughput required for the type (voice, video, data) of call placed by the wireless device user using his or her Wi-Fi-enabled device, the current bandwidth usage for the wireless device user's call, and the total bandwidth usage for all calls being handled by the respective access point or gateway device relative to the bandwidth capacity of the respective device. For example, the type of call placed by the wireless device user may be “voice.” In the event the bandwidth manager determines, for the wireless access point, the near-end gateway, or the far-end gateway, that the total bandwidth usage for all calls being handled by the respective access point or gateway device has reached or exceeded a first bandwidth threshold corresponding to the bandwidth capacity of the respective device, and the current bandwidth usage for the wireless device user's voice call being handled by the respective access point or gateway device is less than a second bandwidth threshold corresponding to the maximum bandwidth throughput required for the voice call, the bandwidth manager can dynamically make adjustments to the service profile(s) stored at the respective access point or gateway device in an effort to maintain an optimal quality of service for the wireless device user at the hotel venue location. For example, the bandwidth manager may send a message to the respective access point or gateway device to request a change in its bandwidth profile, decreasing bandwidth allocations for inbound and/or outbound packet flows for any video calls and/or data calls being handled by the respective device, while at the same time increasing the available bandwidth at the respective access point or gateway device for handling the wireless device user's voice call. It is noted that the bandwidth manager may send such a message to the near-end gateway, which may be handling a packet flow that is subject to local breakout (such a packet flow subject to local breakout is also referred to herein as “local breakout traffic”). The bandwidth manager can dynamically make such adjustments to one or more of the services profiles stored at the wireless access point, the near-end gateway, and/or the far-end gateway throughout the duration of the wireless device user's call, thereby assuring that a consistent QoS policy for the hotel venue is enforced during the call by the wireless access point and/or the near-end gateway located within the Wi-Fi network, as well as by the far-end gateway located within the service provider network.

By providing a system that includes a bandwidth manager, a policy server, a near-end gateway located within a Wi-Fi network, and a far-end gateway located within a service provider network, in which the bandwidth manager can have access to one or more service profiles stored in a database of the policy server for use in (1) monitoring levels of bandwidth usage at least at the near-end gateway to the service provider network and at the far-end gateway to a remote network, and (2) performing end-to-end QoS control by dynamically making adjustments, as needed, to one or more service profiles stored at least at the near-end gateway and/or the far-end gateway based on the monitored bandwidth usage levels, optimal quality of service for wireless device users can, advantageously, be achieved.

Other features, functions, and aspects of the invention will be evident from the Detailed Description that follows.

DETAILED DESCRIPTION

Systems and methods are disclosed for performing end-to-end Quality of Service (QoS) control during the access of Wireless Fidelity (Wi-Fi)-enabled communications devices to remote networks. The disclosed systems and methods can achieve such end-to-end QoS control by employing a bandwidth manager, a policy server, a near-end gateway located within a Wi-Fi network, and a far-end gateway located within a service provider network. Throughout the duration of a call placed by a wireless device user using a Wi-Fi-enabled communications device, the bandwidth manager can have access to one or more service profiles stored in a database of the policy server for use in (1) monitoring levels of bandwidth usage at least at the near-end gateway to the service provider network and at the far-end gateway to a remote network, and (2) performing end-to-end QoS control by dynamically making adjustments, as needed, to one or more service profiles stored at least at the near-end gateway and/or at the far-end gateway based on the monitored bandwidth usage levels.

FIG. 1depicts an illustrative embodiment of an exemplary system100for performing end-to-end QoS control during the access of Wi-Fi-enabled communications devices to remote networks, in accordance with the present application. As shown inFIG. 1, the system100includes a bandwidth manager106, a policy server108, and a client service gateway110to a remote network126, such as the Internet. The client service gateway110(also referred to herein as the “far-end gateway”) is communicably coupleable to a wireless access point controller112(also referred to herein as the “Wi-Fi controller”). In one embodiment, the far-end gateway110and the Wi-Fi controller112can each be located within a service provider network114. The Wi-Fi controller112is communicably coupled to at least one wireless access point through a respective wireless access point gateway to the service provider network114. For example, the Wi-Fi controller112may be communicably coupled to a wireless access point116.1through a wireless access point gateway118.1to the service provider network114, and/or communicably coupled to a wireless access point116.2through a wireless access point gateway118.2to the service provider network114. The wireless access point gateway118.1(also referred to herein as a “near-end gateway”) and the wireless access point116.1can each be located within a Wi-Fi network102.1deployed in a particular venue104.1. Likewise, the wireless access point gateway118.2(also referred to herein as a “near-end gateway”) and the wireless access point116.2can each be located within a Wi-Fi network102.2deployed in a particular venue104.2, which can be different from the particular venue104.1.

As further shown inFIG. 1, the policy server108can include a database (DB)109configured to store one or more service profiles, in which each service profile can specify one or more QoS classes for inbound and/or outbound packet flows based at least on the type (voice, video, data) of call placed by a wireless device user using a Wi-Fi-enabled communications device (also referred to herein as the “Wi-Fi-enabled device”). For example, such a Wi-Fi-enabled device may be one of a plurality of Wi-Fi-enabled devices120.1,120.2operating within the Wi-Fi network102.1deployed in the venue104.1, or one of a plurality of Wi-Fi-enabled devices120.3,120.4operating within the Wi-Fi network102.2deployed in the venue104.2. In one embodiment, the functionality of the policy server108can be incorporated into the far-end gateway110. The bandwidth manager106, the near-end gateways118.1,118.2, the far-end gateway110, as well as the wireless access points116.1,116.2, can each likewise be configured to store one or more service profiles. For example, the bandwidth manager106may be configured to store service profile(s)/bandwidth threshold(s)107, the near-end gateway118.1may be configured to store service profile(s)119, the far-end gateway110may be configured to store service profile(s)111, and the wireless access point116.1may be configured to store service profile(s)117. In one embodiment, the bandwidth manager106can be further configured to store one or more bandwidth profiles including one or more bandwidth thresholds for use in monitoring bandwidth usage at one or more of the wireless access points116.1,116.2, the near-end gateways118.1,118.2to the service provider network114, and the far-end gateway110to the remote network126. The wireless access points116.1,116.2, the near-end gateways118.1,118.2, and the far-end gateway110can each include a management interface through which the bandwidth manager106can (1) monitor levels of bandwidth usage at the respective access point and gateway devices, and (2) perform end-to-end QoS control by dynamically making adjustments, as needed, to the service profile(s) stored at one or more of the respective access point and gateway devices based on the monitored bandwidth usage levels.

In an exemplary mode of operation, the wireless device user using the Wi-Fi-enabled device120.1(e.g., a Wi-Fi-enabled smartphone, tablet computer, laptop computer) can enter a communication range of the wireless access point116.1located within the Wi-Fi network102.1deployed in the venue104.1. For example, the venue104.1may be a hotel venue (or any other suitable venue) that is a subscriber or account holder of the service provider network114. Having entered the communication range of the wireless access point116.1, the Wi-Fi-enabled device120.1can receive, from the wireless access point116.1, a beacon message indicating that the wireless access point116.1is configured to support Hotspot 2.0, which is a technology based on the Institute of Electrical and Electronic Engineers (IEEE) 802.11u, 802.11i, and 802.1x standards and generally known as Wi-Fi-certified Passpoint™, or any other suitable wireless technology. If the Wi-Fi-enabled device120.1is also configured to support Hotspot 2.0, then the Wi-Fi-enabled device120.1can, using a protocol defined in one or more of the IEEE 802.11 series of standards, exchange messages with the wireless access point116.1in order to become associated with the wireless access point116.1, and also exchange messages with an authentication server in order to be authenticated by the authentication server. For example, such an authentication server may be a local authentication server122(also referred to herein as the “local RADIUS server”) located within the Wi-Fi network102.1, or a remote authentication server124(also referred to herein as the “remote RADIUS server”) communicably coupled to the service provider network114. Further, each of the local and remote RADIUS servers122,124may be configured to conform to the Remote Authentication Dial-In User Service (RADIUS) protocol, or any other suitable protocol.

As employed herein, the term “associated with” encompasses a process by which a Wi-Fi-enabled device can establish a data link with a wireless access point within a Wi-Fi network. For example, the Wi-Fi-enabled device may become associated with the wireless access point by sending, to the wireless access point, an association request frame that includes the Wi-Fi-enabled device's service set identifier (SSID) and supported data rates. Further, once the wireless access point receives the Wi-Fi-enabled device's SSID and supported data rates, the wireless access point may send, to the Wi-Fi-enabled device, an association response frame that contains an association identifier (ID), as well as any other suitable information pertaining to the wireless access point. As further employed herein, the term “authenticated by” encompasses a process by which a Wi-Fi-enabled device can send, to a local or remote RADIUS server (or any other suitable authentication server) via a wireless access point, authentication credentials that identify the wireless device user as being authorized to access the Wi-Fi network. Such authentication credentials can include the media access control (MAC) address(es) of the Wi-Fi-enabled device and/or the wireless access point, the SSID of a service provider network, and/or any other suitable authentication information.

Once the Wi-Fi-enabled device120.1becomes associated with the wireless access point116.1and is authenticated by the local or remote RADIUS server122,124, the wireless device user can place a call, such as a voice call, a video call, or a data call, to another communications device, such as a smartphone, a tablet computer, or a laptop computer. Such placement of a call by the wireless device user using the Wi-Fi-enabled device120.1can include accessing, over the Wi-Fi network102.1and the service provider network114, the remote network126(e.g., the Internet) to which the other communications device is communicably coupleable. In one embodiment, such call placement by the wireless device user using the Wi-Fi-enabled device120.1can further include tagging, by the wireless access point116.1, a packet flow for the call with QoS bits indicative of a QoS level appropriate for the type (voice, video, data) of call. For example, a voice call may require an enhanced QoS level, a data call may have a reduced QoS level, and a video call may require a QoS level that is intermediate to the respective QoS levels of the voice and data calls. The service profile(s)117stored in the wireless access point116.1and/or the service profile(s)119stored in the near-end gateway118.1can each be configured to store a service profile for the venue104.1, in which the stored service profile(s) include a QoS policy that specifies one or more QoS levels for calls placed by wireless device users using their Wi-Fi-enabled devices at the venue location. In one embodiment, such a QoS policy is enforceable by the wireless access point116.1and/or the near-end gateway118.1located within the Wi-Fi network102.1deployed in the venue104.1.

In this exemplary mode of operation, the near-end gateway118.1located within the Wi-Fi network102.1can send the packet flow for the call placed by the wireless device user using the Wi-Fi-enabled device120.1to the Wi-Fi controller112located within the service provider network114. The Wi-Fi controller112can then forward the call packet flow (such a forwarded call packet flow is also referred to herein as “tunneled traffic”) to the far-end gateway110, which is also located within the service provider network114. In one embodiment, the call packet flow can be identified by a network address or any other suitable packet flow identifier, which the far-end gateway110can use to determine that the tunneled traffic originated from the location of the venue104.1. Upon determining that the tunneled traffic originated from the location of the venue104.1(which, in this exemplary mode of operation, is a subscriber or account holder of the service provider network114), the far-end gateway110can send, over a communications path142, a message to the policy server108in order to request a copy of the service profile for the venue104.1. In an alternative embodiment, the policy server108can push the copy of the service profile for the venue104.1to the far-end gateway110over the communications path142. It is noted that the QoS bits tagged to the packet flow for the call by the wireless access point116.1located within the Wi-Fi network102.1might have been stripped off the call packet flow or otherwise lost by the time the call packet flow reached the service provider network114. In one embodiment, the service profile for the venue104.1can include the venue's identification (ID) profile, bandwidth profile, QoS profile, access profile, and/or any other suitable profile information pertaining to the venue's subscription to the service provider network114. The service profile for the venue104.1can also specify one or more QoS classes for inbound and/or outbound packet flows based at least on the types (voice, video, data) of calls placed by wireless device users using their Wi-Fi-enabled devices at the venue location. Each QoS class can define, for each type (voice, video, data) of call, at least a preferential bandwidth allocation for inbound and/or outbound packet flows, a preferential routing of the respective packet flows, and/or a preferential queuing of the respective packet flows, etc.

Having received the request message from the far-end gateway110for a copy of the service profile for the venue104.1, the policy server108can access the venue's service profile from its service profile DB109, send a copy of the venue's service profile over the communications path142to the far-end gateway110for storage therein as part of its service profile(s)111, and forward a copy of the same service profile for the venue104.1over a communications path140to the bandwidth manager106for storage therein as part of its service profile(s)/bandwidth threshold(s)107. The policy server108can further forward, over the communications path140to the bandwidth manager106, information pertaining to any possible change(s) in a QoS policy included in the service profile for the venue104.1. In one embodiment, a system administrator can configure the bandwidth manager106to store a bandwidth profile for each of the wireless access point116.1and/or the near-end gateway118.1located within the Wi-Fi network102.1(as well as each of the wireless access point116.2and/or the near-end gateway118.2located within the Wi-Fi network102.2), and the far-end gateway110located within the service provider network114. Each bandwidth profile can include one or more bandwidth thresholds that the bandwidth manager106can use to monitor bandwidth usage at one or more of the wireless access points116.1,116.2, the near-end gateways118.1,118.2, and/or the far-end gateway110. It is noted that the bandwidth profile for the near-end gateway118.1(as well as the near-end gateway118.2) can further include one or more bandwidth thresholds that the bandwidth manager106can use to monitor bandwidth usage for a packet flow that is subject to local breakout (such a packet flow subject to local breakout is also referred to herein as “local breakout traffic”). Such bandwidth thresholds can be enforced by the near-end gateway118.1(or the near-end gateway118.2) while handling the local breakout traffic.

Using the Wi-Fi-enabled device120.1, the wireless device user can place a call, such as a voice call, a video call, or a data call, to another communications device (a smartphone, a tablet computer, a laptop computer). In one embodiment, such placement of a call by the wireless device user using the Wi-Fi-enabled device120.1can include accessing, over the Wi-Fi network102.1and service provider network114, the remote network126(e.g., the Internet) to which the other communications device is communicably coupleable. Once the call is placed by the wireless device user using the Wi-Fi-enabled device120.1, the wireless access point116.1located within the Wi-Fi network102.1can operate in conjunction with the Wi-Fi controller112located within the service provider network114in order to complete the call. Such call completion can involve an exchange of signaling between the wireless access point116.1and the Wi-Fi controller112via the near-end gateway118.1, as well as a further exchange of signaling between the Wi-Fi controller112and the far-end gateway110.

Throughout the duration of the call, the bandwidth manager106can monitor levels of bandwidth usage at the wireless access point116.1and/or the near-end gateway118.1located within the Wi-Fi network102.1, as well as at the far-end gateway110located within the service provider network114. For example, the bandwidth manager106may monitor the level of bandwidth usage at the wireless access point116.1over a communications path130, and monitor the level of bandwidth usage at the near-end gateway118.1over a communications path132. Likewise, the bandwidth manager106may monitor the level of bandwidth usage at the wireless access point116.2over a communications path134, and monitor the level of bandwidth usage at the near-end gateway118.2over a communications path136. Further, the bandwidth manager106may monitor the level of bandwidth usage at the far-end gateway110over a communications path138. In one embodiment, the bandwidth manager106can monitor such bandwidth usage levels at each of the wireless access point116.1, the near-end gateway118.1, and/or the far-end gateway110in order to obtain, for each respective access point or gateway device, a maximum bandwidth throughput required for each type (voice, video, data) of call completed using the wireless access point116.1and the Wi-Fi controller112, a current bandwidth usage for each call being handled by the respective access point or gateway device116.1,118.1,110, and a total bandwidth usage for all calls being handled by the respective access point or gateway device116.1,118.1,110relative to a bandwidth capacity of the respective device116.1,118.1,110. Using the management interface included in each respective access point or gateway device116.1,118.1,110, the bandwidth manager106can (1) monitor, for one or more predetermined periods of time, a bandwidth usage level at each of the wireless access point116.1, the near-end gateway118.1, and/or the far-end gateway110, and (2) perform end-to-end QoS control by dynamically making adjustments, as needed, to the service profile(s) stored in one or more of the respective access point or gateway devices116.1,118.1,110based on the monitored bandwidth usage levels.

Having monitored the bandwidth usage levels at each of the wireless access point116.1, the near-end gateway118.1, and/or the far-end gateway110, the bandwidth manager106can obtain, for each respective access point or gateway device116.1,118.1,110, the maximum bandwidth throughput required for the type (voice, video, data) of call placed by the wireless device user using the Wi-Fi-enabled device120.1, the current bandwidth usage for the wireless device user's call, and the total bandwidth usage for all calls being handled by the respective access point or gateway device116.1,118.1,110relative to the bandwidth capacity of the respective device116.1,118.1,110. For example, the type of call placed by the wireless device user using the Wi-Fi-enabled device120.1may be “voice.” In the event the bandwidth manager106determines, for one or more of the wireless access point116.1, the near-end gateway118.1, and the far-end gateway110, that (1) the total bandwidth usage for all calls being handled by the respective access point or gateway device116.1,118.1,110has reached or exceeded a first bandwidth threshold corresponding to the bandwidth capacity of the respective device116.1,118.1,110, and (2) the current bandwidth usage for the wireless device user's voice call being handled by the respective access point or gateway device116.1,118.1,110is less than a second bandwidth threshold corresponding to the maximum bandwidth throughput required for the voice call, the bandwidth manager106can dynamically make adjustments to the service profile(s) stored at the respective device(s)116.1,118.1, and/or110in an effort to maintain an optimal quality of service for the wireless device user at the venue location.

For example, the bandwidth manager106may send at least one message to one or more of the respective access point and gateway devices116.1,118.1,110to request a change in its bandwidth profile, at least temporarily decreasing bandwidth allocations for inbound and/or outbound packet flows for any video calls and/or data calls being handled by the respective device(s)116.1,118.1,110, while at the same time increasing the available bandwidth at the respective access point or gateway device(s)116.1,118.1,110for handling the wireless device user's voice call. It is noted that the bandwidth manager106may send such a message to the near-end gateway118.1(as well as the near-end gateway118.2), which may be handling local breakout traffic. Such local breakout traffic can be forwarded by the near-end gateway118.1(or the near-end gateway118.2) directly to the remote network126(e.g., the Internet), without first having to forward the corresponding packet flow as tunneled traffic to the far-end gateway110.

In this way, the disclosed system100can synchronize QoS control at the near-end gateway118.1and the far-end gateway110in order to avoid having to drop packets for the voice call at either one of the respective near-end and far-end gateway device(s)118.1,110. Further, as packet flow conditions change and/or allow within the Wi-Fi network102.1and/or the service provider network114, the bandwidth manager106may send at least another message to one or more of the respective access point and gateway devices116.1,118.1,110to request a further change in its bandwidth profile, at least temporarily increasing and/or decreasing bandwidth allocations for inbound and/or outbound packet flows for any voice calls, video calls, and/or data calls being handled by the respective device(s)116.1,118.1,110. The bandwidth manager106can dynamically make such adjustments to one or more of the services profile(s)117,119, and111stored at the wireless access point116.1, the near-end gateway118.1, and the far-end gateway110, respectively, throughout the duration of the wireless device user's call, thereby assuring that a consistent QoS policy for the venue104.1can be enforced during the call by the wireless access point116.1and/or the near-end gateway118.1located within the Wi-Fi network102.1, as well as by the far-end gateway110located within the service provider network114.

FIG. 2depicts an exemplary method of performing end-to-end QoS control during the access of a Wi-Fi-enabled device to a remote network, using the system100ofFIG. 1. As depicted in block202(seeFIG. 2), a Wi-Fi-enabled device (such as the Wi-Fi-enabled device120.1; seeFIG. 1) becomes associated with the wireless access point116.1located within the Wi-Fi network102.1deployed in the venue104.1(seeFIG. 1). As depicted in block204, a call is placed by a wireless device user using the Wi-Fi-enabled device120.1. As depicted in block206, a QoS policy for the venue104.1that specifies a QoS level for the call is enforced by the wireless access point116.1and/or the near-end gateway118.1located within the Wi-Fi network102.1, in which a service profile that includes the QoS policy for the venue104.1is stored in each of the wireless access point116.1and/or the near-end gateway118.1. As depicted in block208, the call is completed, over the Wi-Fi and service provider networks102.1,114, to another communications device coupled to the remote network126, in which the wireless access point116.1located within the Wi-Fi network102.1operates in conjunction with the Wi-Fi controller112located within the service provider network114to complete the call. As depicted in block210, a packet flow for the call is forwarded, by the Wi-Fi controller112, to the far-end gateway110to the remote network126, and identified, by the far-end gateway110, as originating from the venue104.1. As depicted in block212, a copy of the service profile including the QoS policy for the venue104.1is requested, by the far-end gateway110, from the policy server108. As depicted in block214, a copy of the service profile is received at the far-end gateway110for storage therein, and forwarded, by the policy server108, to the bandwidth manager106for storage therein. As depicted in block216, throughout the duration of the call, levels of bandwidth usage are monitored, by the bandwidth manager106, at one or more of the wireless access point116.1, the near-end gateway118.1, and the far-end gateway110. As depicted in block218, upon a determination that a bandwidth threshold is reached or exceeded at the wireless access point116.1, the near-end gateway118.1, and/or the far-end gateway110based on the monitored bandwidth usage levels, one or more dynamic adjustments are made, by the bandwidth manager106, to one or more of the service profiles stored in the wireless access point116.1, the near-end gateway118.1, and/or the far-end gateway110, thereby assuring that a consistent QoS policy for the venue104.1is enforced during the call by the wireless access point116.1and/or the near-end gateway118.1located within the Wi-Fi network102.1, as well as by the far-end gateway110located within the service provider network114.

A number of the exemplary systems and methods described herein can be implemented, at least in part, with any of a variety of server computers, client computers, and/or computerized devices.FIG. 3depicts an illustrative embodiment of an exemplary computerized device300, which includes a processor302coupled to a volatile memory304and a non-volatile memory306. The computerized device300can further include a network access port308for establishing a data connection with other computer(s) and/or computerized device(s) over a network, a management interface309for use in monitoring levels of bandwidth usage at the computerized device300and making dynamic adjustments to profile information stored in the computerized device300based on the monitored bandwidth usage levels, an optional input device310(a keyboard, a mouse, a track pad), and an optional display312(a liquid crystal display (LCD) display, a light emitting diode (LED) display).

FIG. 4depicts an illustrative embodiment of an exemplary computerized wireless device400, which includes a processor402coupled to a volatile memory404and a non-volatile memory406. Like the computerized device300ofFIG. 3, the wireless computerized device400ofFIG. 4can further include a network access port408for establishing a data connection with one or more computers and/or computerized devices over a network, and a management interface409for use in monitoring levels of bandwidth usage at the computerized wireless device400and making dynamic adjustments to profile information stored in the computerized wireless device400based on the monitored bandwidth usage levels. The wireless computerized device400can still further include a wireless transceiver410for establishing wireless communications with one or more wireless user devices via an antenna412. The wireless transceiver410can conform to one or more of the IEEE 802.11 series of standards, or any other suitable wireless standards.

The foregoing method descriptions and the process flow diagrams are provided herein merely as illustrative examples, and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. One of ordinary skill in the art will appreciate that the order of steps in the foregoing embodiments can be performed in any suitable order. Further, terms such as “thereafter,” “then,” “next,” etc., are not intended to limit the order of the steps. In addition, any references to claim elements in the singular, e.g., using the articles “a,” “an,” or “the,” are not to be construed as limiting the respective claim elements to the singular.

The various illustrative logical blocks, modules, circuits, and/or algorithmic steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and/or steps have been described herein generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application. The functionality of various logical blocks described herein can be performed by any other suitable logical blocks and/or circuits, and/or any other suitable additional logical blocks and/or circuits that are not separately illustrated herein.

The hardware used to implement the various illustrative logical blocks, modules, and/or circuits described in connection with the aspects disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and/or other programmable logic device, discrete gate or transistor logic, discrete hardware components, and/or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, however the processor can be any other suitable processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other suitable configuration. Alternatively, some blocks and/or methods described herein can be performed by circuitry that is specific to a given function.

In one or more exemplary aspects, the functions described herein can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can be stored as one or more instructions or code on a computer-readable medium. The blocks of a method or algorithm disclosed herein can be embodied in a processor-executable software module, which can reside on a computer-readable medium. Computer-readable media can include both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Storage media can be any available media that can be accessed by a computer. By way of example and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, and/or any other suitable medium that can be used to carry or store desired program code in the form of instructions and/or data structures and that can be accessed by a computer. Any connection can also be properly termed as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. The terms “disk” and “disc,” as employed herein, can include compact discs (CD), laser discs, optical discs, digital versatile discs (DVD), hard disks, floppy disks, and/or Blu-Ray discs. In addition, the operations of a method or algorithm can reside as one or any combination or set of codes and/or instructions on a machine readable medium and/or computer-readable medium, which can be incorporated into a computer program product.

It will be appreciated by those of ordinary skill in the art that modifications to and variations of the above-described systems and methods may be made without departing from the inventive concepts disclosed herein. Accordingly, the invention should not be viewed as limited except as by the scope and spirit of the appended claims.