Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SERVICE MANAGEMENT PLATFORM FOR RADIO ACCESS NETWORK CELL CONGESTION DETECTION
Document Type and Number:
WIPO Patent Application WO/2012/164239
Kind Code:
A1
Abstract:
Methods and service management platforms for radio access network cell congestion detection are described. In one embodiment, a method for radio access network cell congestion detection involves identifying, aha service management platform, a radio access network cell as a congested cell candidate if a first transaction that involves the radio access network cell is slow and determining, at the service management platform, the congested cell candidate as a congested cell if more than a percentage threshold of further transactions that involve the congested cell candidate are slow. A particular transaction is slow if a data rate associated with the particular transaction is lower than a data rate threshold.

Inventors:
MCCOLLUM LIAM (GB)
Application Number:
PCT/GB2012/000475
Publication Date:
December 06, 2012
Filing Date:
May 28, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
OPENWAVE MOBILITY INC (US)
MCCOLLUM LIAM (GB)
International Classes:
H04W28/02
Foreign References:
EP2268092A12010-12-29
EP1793639A22007-06-06
Other References:
OPENWAVE SYSTEMS INC: "Media Optimization for Mobile Networks", INTERNET CITATION, 1 June 2010 (2010-06-01), pages 1 - 13, XP007921143, Retrieved from the Internet [retrieved on 20121010]
OPENWAVE SYSTEMS INC: "Traffic Mediation Solution", INTERNET CITATION, 1 February 2010 (2010-02-01), pages 1 - 4, XP007921144, Retrieved from the Internet [retrieved on 20121010]
Attorney, Agent or Firm:
CONDON, Neil (15 Fulwood PlaceLondon, Greater London WC1V 6HU, GB)
Download PDF:
Claims:
CLAIMS 1. A method for radio access network cell congestion detection, the method comprising:

identifying, at a service management platform, a radio access network cell as a congested cell candidate if a first transaction that involves the radio access network cell has a data rate that is lower than a data rate threshold; and

determining, at the service management platform, the congested cell candidate as a congested cell if more than a percentage threshold of further transactions that involve the congested cell candidate have data rates that are lower than a data rate threshold.

2. The method of claim 1, wherein the first transaction and the further transactions are Hypertext Transfer Protocol (HTTP) transactions.

3. The method of claim 1 or 2 further comprising:

measuring a first buffer write rate to a Transmission Control Protocol (TCP) socket buffer of a TCP socket connection in the first transaction; and measuring buffer write rates to TCP socket buffers of TCP socket connections in the further transactions.

4. The method of claim 3, wherein the TCP socket buffer of the TCP socket connection in the first transaction and the TCP socket buffers of the TCP socket connections in the further transactions are located in the service management platform.

5. The method of claim 3 or 4, wherein measuring the first buffer write rate comprises measuring the first buffer write rate in a socket application programming interface (API) level, and wherein measuring the buffer write rates comprises measuring the buffer write rates in the socket API level.

6. The method of any of claims 1 to 5, wherein determining, at the service management platform, the congested cell candidate as the congested cell comprises determining, at the service management platform, the congested cell candidate as the congested cell if more than the percentage threshold of the further transactions that involve the congested cell candidate have data rates that are lower than a data rate threshold and if a number of transactions in the further transactions is larger than a transaction number threshold.

7. The method of any preceding claim further comprising after the candidate congested cell is determined as the congested cell, monitoring a transaction that involves the congested cell. 8. The method of any preceding claim further comprising determining the congested cell as an uncongested cell if a data rate associated with a transaction that involves the congested cell is higher than a second data rate threshold, wherein the second data rate threshold is different from the data rate threshold.

9. The method of any of claims 1 to 8 wherein the service management platform is located in a proxy server located between a gateway device to a radio access network containing the radio access network cell and a content source that provides content for the transactions. 10. The method of any of claims 1 to 9 wherein, if it is determined that the congested cell candidate is a congested cell, compressing or transcoding data of at least one transaction that involves that cell to reduce the data rate of that transaction or handing off that transaction to an alternative wireless connection.

11. A service management platform for radio access network cell congestion detection, wherein the service management platform comprises a cell congestion detector, and wherein the cell congestion detector is configured to:

identify a radio access network cell as a congested cell candidate if a first transaction that involves the radio access network cell has a data rate that is lower than a data rate threshold; and

determine the congested cell candidate as a congested cell if more than a percentage threshold of further transactions that involve the congested cell candidate have data rates that are lower than a data rate threshold. 12. The service management platform of claim 11 , wherein the first transaction and the further transactions are Hypertext Transfer Protocol (HTTP) transactions. 13. The service management platform of claim 11 or 12, wherein the cell congestion detector is further configured to:

measure a first buffer write rate to a Transmission Control Protocol (TCP) socket buffer of a TCP socket connection in the first transaction; and

measure buffer write rates to TCP socket buffers of TCP socket connections in the further transactions. 14. The service management platform of claim 13, wherein the service management platform further comprises the TCP socket buffer of the TCP socket connection in the first transaction and the TCP socket buffers of the TCP socket connections in the further transactions. 15. The service management platform of claim 11 or 12, wherein the cell congestion detector is further configured to:

measure a first buffer write rate to a Transmission Control Protocol

(TCP) socket buffer of a TCP socket connection in the first transaction in a socket application programming interface (API) level; and

measure buffer write rates to TCP socket buffers of TCP socket connections in the further transactions in the socket API level. 16. The service management platform of any of claims 10 to 14, wherein the cell congestion detector is further configured to determine the congested cell candidate as the congested cell if more than the percentage threshold of the further transactions that involve the congested cell candidate are slow and if a number of transactions in the further transactions is larger than a transaction number threshold. 17. The service management platform of any of claims 1 1 to 16, wherein the service management platform is configured to, after the candidate congested cell is determined as the congested cell, monitor a transaction that involves the congested cell. 18. The service management platform of any of claims 11 to 17, wherein the cell congestion detector is further configured to determine the congested cell as an uncongested cell if a data rate associated with a transaction that involves the congested cell is higher than a second data rate threshold, wherein the second data rate threshold is different from the data rate threshold. 19. The service management platform of any of claims 11 to 18 wherein, wherein the service management platform is located in a proxy server located between a gateway device to a radio access network containing the radio access network cell and a content source that provides content for the transactions.

20. The service management platform of any of claims 11 to 19 wherein, if it is determined that the congested cell candidate is a congested cell, the platform is configured to cause the compressing or transcoding of data of at least one transaction that involves that cell to reduce the data rate of that transaction or cause the handing off of that transaction to an alternative wireless connection.

21. A computer program comprising instructions for implementing the method of any of claims 1 to 10 when executed by a computer system.

Description:
METHOD AND SERVICE MANAGEMENT PLATFORM FOR RADIO ACCESS NETWORK CELL CONGESTION DETECTION

BACKGROUND

Conventional mechanisms to detect radio access network cell congestion in a carrier network involve integrating dedicated network components such as congestion probes, usage analyzers, and deep packet inspectors into the carrier network. However, the dedicated network components tend to be costly, nonstandard and complex to integrate into a carrier network. For example, various "touch points" have to be created for integrating dedicated network components into a carrier network. These various "touch points" can cause complexities for the network infrastructure deployment of the carrier network.

SUMMARY

Methods and service management platforms for radio access network cell congestion detection are described.

According to the invention there is provided the method of claim 1. According to the invention there is also provided the service management platform of claim 11.

Other embodiments are also described. Other aspects and advantages of embodiments of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrated by way of example of the principles of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 depicts a schematic block diagram of one embodiment of a content delivery system. Fig. 2 depicts an embodiment of the service management platform of Fig. 1. Fig. 3 shows an exemplary cell congestion record of the cell congestion detector of Fig. 2.

Fig. 4 depicts another embodiment of the service management platform of Fig. 1.

Fig. 5 illustrates an exchange of messages that is used to implement an operation of the service management platform of Fig. 4.

Fig. 6 depicts a computer that includes a processor, memory, and a communications interface.

Fig. 7 is a process flow diagram of a method for radio access network cell congestion detection in accordance with an embodiment of the invention.

Throughout the description, similar reference numbers may be used to identify similar elements. DETAILED DESCRIPTION

It will be readily understood that the components of the embodiments as generally described herein and illustrated in the appended figures could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of various embodiments, as represented in the figures, is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by this detailed description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment. Thus, discussions of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.

Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, in light of the description herein, that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.

Reference throughout this specification to "one embodiment," "an embodiment," or similar language means that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment. Thus, the phrases "in one embodiment," "in an embodiment," and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

Fig. 1 depicts a schematic block diagram of one embodiment of a content delivery system 100. The content delivery system depicted in Fig. 1 includes wireless devices 102-1...102-N, where N is a positive integer, an access network 104, the Internet 106 and a content source 108. Although the content delivery system is depicted and described with certain components and functionality, other embodiments of the content delivery system may include fewer or more components to implement less or more functionality. For example, the content delivery system may include any number of wireless devices, access networks, and/or content sources. Each of the wireless devices 102-1...102-N of the content delivery system 100 is configured to request content, for example, from the content source 108, on behalf of at least one end-user and/or to render received content for presenting to the end- user. The end-user may be a single person, multiple persons, other entity or entities. The content may be any type of content. For example, the content may include one or more webpage files, one or more text files, one or more image files, one or more audio files, or one or more video files, or any combination thereof. In an embodiment, the content is a media stream, such as a video stream, which is time sensitive media content that is received by and presented to an end-user while being delivered by the content source. Although the content delivery system is shown in Fig. 1 as including wireless devices, in other embodiments, the content delivery system includes at least one end-user device that communicates through wires or communicates wirelessly and through wires with other entity or entities. Although the wireless devices 102-1...102-N are shown in Fig. 1 as cell phones, the wireless devices can be any type of devices that communicate using electromagnetic communications signals. Each wireless device of the content delivery system 100 can support one or more different radio frequency (RF) communications protocols, including without limitation, Global System for Mobile communications (GSM), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access (CDMA), Worldwide Interoperability for Microwave Access (WiMax) and communications protocols as defined by the 3 rd Generation Partnership Project (3 GPP) or the 3 rd Generation Partnership Project 2 (3GPP2), 4G Long Term Evolution (LTE) and Institute of Electrical and Electronics Engineers (IEEE) 802.16 standards bodies. Although some wireless communications protocols are identified herein, it should be understood that the present disclosure is not limited to the cited wireless communications protocols. In an embodiment, at least one of the wireless devices of the content delivery system is a handheld wireless device, such as a cell phone, a mobile phone, a smartphone, a pad computer, a Personal Digital Assistant (PDA), a handheld gaming device etc., which can wirelessly communicate using electromagnetic communications signals, such as RF communications signals. The access network 104 of the content delivery system 100 is configured to facilitate wireless communications between the wireless devices 102-1...102-N and the Internet 106 and/or the content source 108. In the embodiment depicted in Fig. 1, the access network includes a radio access network 110, an Internet gateway 112 and a service management platform 114. The access network may be a wireless service provider network (e.g. that offers 3G, 4G and/or WiFi access) or an Internet Service Provider (ISP) (e.g., that offer dial-up, DSL, and/or cable modem access). The access network may be a private enterprise network if client devices within the private enterprise network can access the Internet through the private enterprise network. The access network may be owned, managed, and/or administered by a single entity or different entities. For example, the access network may be owned, managed, and/or administered by an ISP, a single wireless service provider, or a private enterprise. Although the access network is depicted and described with certain components and functionality, other embodiments of the access network may include fewer or more components to implement less or more functionality. For example, the access network may include multiple radio access networks, multiple Internet gateways and/or multiple service management platforms. In another example, the access network includes a data gateway to configure outgoing data access requests for use with one or more networks and incoming data for use by or display on the wireless devices 102-1...102-N. The data gateway can provide authentication and data formatting functions and/or enable users of wireless devices to roam between radio access network cells.

The radio access network 1 10 of the access network 104 is configured to facilitate radio communications between the wireless devices 102-1...102-N within the radio access network and between wireless devices in other radio access networks and provides interfaces to facilitate communications with other entities, such as a Public Switched Telephone Network (PSTN), a Wide Area Network (WAN), the Internet 106, Internet servers, hosts, etc., which are outside of the radio access network. The radio access network offers wireless access, such as 3G, 4G and/or WiFi access, to the wireless devices. Data signals communicated between the wireless devices and the radio access network include, but are not limited to, analog and/or digital RF signals (i.e., radio waves) for any type of communications mode, including text messaging, multimedia messaging, voice calling, and Internet browsing. The radio access network can support various different RF communications protocols, including without limitation, GSM, UMTS, CDMA, WiMax and communications protocols as defined by 3GPP, 3GPP2, or IEEE 802.16. Although some wireless communications protocols are identified herein, it should be understood that the supported protocols of the radio access network are not limited to the cited wireless communications protocols. In the embodiment depicted in Fig. 1, the radio access network 110 includes radio access network cells 116-1...1 16-M, where M is a positive integer. Each of the radio access network cells includes one of base stations 1 18-1...118-M to facilitate communications involving a wireless device or wireless devices that is within a communications range of the base station. In addition, each of the base stations can provide interfaces to facilitate communications with other entities, such as a PSTN, a WAN, the Internet 106, Internet servers, hosts, etc. outside of the radio access network 110. As shown in Fig. 1, wireless devices 102-1-102-4 are located within the communications range of the base station 1 18-1 of the radio access network cell 116- 1, wireless devices 102-5-102-8 are located within the communications range of the base station 1 18-2 of the radio access network cell 116-2, and wireless devices 102-9- 102-13 are located within the communications range of the base station 1 18-3 of the radio access network cell 116-3. The base stations may be connected to each other through wires, such as fiber optic cables, and/or connected to each other wirelessly to communicate with each other. The base stations may be connected to an entity that is outside the radio access network (e.g. Internet gateway 1 12) through wires, such as fiber optic cables, and/or connected wirelessly to communicate with an entity that is outside the radio access network. In the embodiment depicted in Fig. 1, the base station 1 18-1 and the base station 118-2 are connected, through wires, to the base station 118-3, which is connected directly to the Internet gateway or connected to the Internet gateway through one or more intermediate devices (not shown). In an embodiment, each of the base stations 118-1...1 18-M includes one or more signaling tower stations. Each signaling tower station may be a base transmission station (BTS), Node B or other equivalent component and may include an antenna tower and electronic components to receive and transmit wireless signals. Each signaling tower station may include a base station controller (BSC), a radio network controller (RNC) or other equivalent component. In an embodiment, the radio access network includes one or more mobile switching devices, which may be mobile switching centers (MSCs) or other equivalent components. For example, the mobile switching devices connect the base stations 1 18-1...118-M to the Internet gateway 112.

Although the radio access network 1 10 is shown in Fig. 1 as including multiple radio access network cells 1 16-1. ,.1 16-M, in other embodiments, the radio access network may include one radio access network cell. In addition, although each radio access network cell of the radio access network is shown in Fig. 1 as including one of the base station 1 18- 1...118-M, in other embodiments, at least one of the radio access network cells may include multiple base stations. Furthermore, although the radio access network cells of the radio access network is shown in Fig. 1 as not being overlapped, in other embodiments, at least some of the radio access network cells are overlapped. Additionally, although each radio access network cell of the radio access network is shown in Fig. 1 as having a hexagonal shape, in other embodiments, at least one of the radio access network cells have a circular shape or other non-hexagon shape. The Internet gateway 1 12 of the access network 104 provides a gateway for communications between the wireless devices 102-1...102-N and Internet-connected hosts and/or servers in the Internet 106, which can also be referred to as the "cloud." The Internet gateway may include a Serving General Packet Radio Service (GPRS) Support Node (SGSN) and/or a Gateway GPRS Support Node (GGSN). For example, the Internet gateway can be a Wireless Application Protocol (WAP) gateway that converts the WAP protocol used by the radio access network to the HTTP protocol used by the Internet. In an embodiment, the Internet gateway enables wireless devices to access multimedia content, such as Hyper Text Markup Language (HTML), compact HTML (cHTML), and extensible HTML (xHTML), which is stored on Internet-connected hosts and/or servers. The Internet gateway may be directly or indirectly connected to the radio access network 110.

The service management platform 114 of the access network 104 is located in the data path between the wireless devices 102-1...102-N and the content source 108. The service management platform 114 is configured to provide services for the radio access network 1 10, which can improve user experience and/or increases network throughput of the radio access network. In an embodiment, the service management platform 1 14 is a proxy server, such as an HTTP proxy server that handles HTTP traffic. In the embodiment depicted in Fig. 1, the service management platform 114 includes a cell congestion detector 118 configured to identify the radio access network cells 1 16-1...116-M of the radio access network and detect network congestion conditions of the radio access network cells.

The detected cell congestion conditions of the radio access network 110 allow a network operator of the radio access network using, for example, the service management platform 1 14, to differentiate the radio access network cells 1 16-1...116- M to control/orchestrate various service features, such as, in order to improve user experience and/or increase network throughput. The network operator can act to relieve or solve the congestion of the radio access network cells to improve user experience and/or increase network throughput. In an embodiment, the network operator can limit bit rates of transactions involving radio access network cells that are detected as congested, for example, via the service management platform 114. As used herein, a transaction is a communications process between different entities. In an embodiment, a transaction involving a particular radio access network cell is a transaction that involves a wireless device that is located in the particular radio access network cell. In an embodiment, a transaction is an HTTP communications process between one of the wireless devices 102-1...102-N and another entity, such as the content source 108. For example, a transaction may be an HTTP transaction that includes an HTTP Request and an HTTP Response, which are associated with a specific TCP connection. One or more HTTP transactions can be associated with a single TCP connection. In addition, the network operator can possibly restrict access, completely or partially, for "lower tier" users, which are user with less privileges, priorities or subscription levels, for example, via the service management platform 1 14. In another example, the network operator can apply higher optimization/compression level to content that is being delivered to a subscriber in a congested cell in order to reduce the data size of the content. The network operator can dynamically compress content being delivered to the radio access network cells in real time to react to changes in the cell congestion condition. For example, the network operator can perform bit rate adjustment and/or format conversion to decrease the resolution and the data size of content if the content is being delivered to a congested cell In another example, the network operator can perform bit rate adjustment and/or format conversion to increase the resolution and the data size of the content or keep the resolution and the data size of the content if the content is being delivered to an uncongested cell. In addition, the network operator can collect congestion condition statistics of the radio access network cells over a time period for capacity planning. For example, the network operator can be made aware of which radio access network cells are congested over time, which allows the network operator to more effectively plan the radio access network capacity.

The service management platform 1 14 handles data traffic on the user plane, i.e., real user traffic such as browsing, video downloads and peer-to-peer traffic etc. In an embodiment, the service management platform 114 can manage a subscriber policy, such as an access control subscriber policy or a rate shaping subscriber policy, which influences traffic treatment for the subscribers. The subscriber policy can be calibrated based on aspects such as subscription level (e.g. gold/silver/platinum service), the characteristics of traffic (e.g. the destination URL or IP) and roaming behavior of a subscriber. With the availability of the cell congestion conditions of the radio access network 110, the subscriber policy can be further calibrated based on the cell congestion conditions. As a result, the traffic treatment for the subscribers can be conducted in view of the subscribers' real time network conditions, which can improve user experience and/or increase network throughput. Conventional mechanisms to detect radio access network cell congestion in a carrier network involve integrating dedicated network components such as congestion probes, usage analyzers, and deep packet inspectors into the carrier network. However, the dedicated network components tend to be costly, non-standard and complex to integrate into a carrier network. For example, various "touch points" have to be created for integrating dedicated network components into a carrier network. These various "touch points" can cause complexities for the network infrastructure deployment of the carrier network. The cell congestion detector 118 is located in the data path between the wireless devices 102-1...102-N and the content source 108. Compared to the conventional cell congestion mechanisms, using the cell congestion detector 1 18 to detect cell congestion conditions of the radio access network is done by measuring how real user data is being transmitted to a subscriber. Thus, the dedicated network components that tend to be costly, non-standard and complex to integrate into a carrier network are no longer needed. For example, the "touch points" required in the conventional cell congestion mechanisms for integrating dedicated network components into a carrier network are no longer needed. Thus, compared to the conventional cell congestion mechanisms, using the cell congestion detector 118 to detect cell congestion conditions of the radio access network is more cost effective and easier to implement.

The service management platform 1 14 and the cell congestion detector 1 18 can be deployed in various locations of the content delivery system 100. Although the service management platform 114 and the cell congestion detector 118 are shown in Fig. 1 as being a part of the access network 104, the service management platform 1 14 and or the cell congestion detector 118 may be external to the access network in other embodiments. In addition, although the service management platform 114 and the cell congestion detector 118 are shown in Fig. 1 as being located outside the radio access network 1 10, the service management platform 114 and/or the cell congestion detector 118 may be integrated into the radio access network in other embodiments. Furthermore, although the service management platform 114 and the cell congestion detector 118 is shown in Fig. 1 as being located between the Internet gateway 112 and the Internet 106, the service management platform 114 and/or the cell congestion detector 1 18 can be located anywhere within the content delivery system. In an embodiment, the service management platform 114 and/or the cell congestion detector 118 are located anywhere in the data path between the wireless devices 102-1...102-N and the content source 108. For example, the service management platform 114 and/or the cell congestion detector 118 may be located between the radio access network and the Internet gateway or between the Internet and the content source. Additionally, the service management platform 114 and/or the cell congestion detector 118 can be integrated in a single device or distributed among multiple devices. For example, the service management platform 114 and/or the cell congestion detector 118 may be integrated within the Internet gateway, and/or the content source. In an embodiment, the service management platform 1 14 and/or the cell congestion detector 118 are located in one of the base stations 118- 1...118-M or a data center in the radio access network of a wireless carrier such as a cellular communications carrier. In another embodiment, the service management platform 1 14 and/or the cell congestion detector 118 are integrated within the Internet gateway of a wireless carrier such as a cellular communications carrier. Furthermore, the service management platform 114 and/or the cell congestion detector 118 are distributed in different networks. For example, a part of the service management platform 114 and/or the cell congestion detector 118 may be located in a public network such as the Internet while the rest of the service management platform 1 14 and/or the cell congestion detector 118 is located in a private network.

The content source 108 of the content delivery system 100 is configured to store content and to process a request for content from one of the wireless devices 102-1...102-N. The content source may store video content and/or non- video content such as text files, webpage files, image files, audio files, or any combination thereof. The content stored in the content source may be encoded or not encoded and compressed or uncompressed. The content source may serve content over a single transport protocol or multiple transport protocols. Although the content delivery system is shown in Fig. 1 as including a single content source, the content delivery system may include multiple content sources in some embodiments. The multiple content sources may be distributed among different devices in a network.

Fig. 2 depicts an embodiment of the service management platform 114 of Fig. 1. In the embodiment depicted in Fig. 2, a service management platform 214 includes a cell congestion detector 218, which includes a cell identification component 230 and a congestion detection component 232. Although the cell congestion detector 218 is depicted and described with certain components and functionality, other embodiments of the cell congestion detector 218 may include fewer or more components to implement less or more functionality. In an embodiment, the cell congestion detector 218 includes multiple congestion detection components and each congestion detection component may be responsible for a percentage of the radio access network cells 116- 1...1 16-M in the radio access network 110. In another embodiment, components of the cell congestion detector 218 are distributed among different devices in a network. For example, the cell identification component and the congestion detection component can be located in separate network devices, which may be located in the same network or different networks.

The cell identification component 230 of the cell congestion detector 218 is configured to identify the radio access network cell of the radio access network to which a transaction is associated. In an embodiment, the transaction is conducted between TCP sockets of different communications devices. Each TCP socket includes an Internet Protocol (IP) address and a port number. In an embodiment, the cell identification component intercepts a message of a transaction and identifies the radio access network cell of the radio access network to which the message is associated.

In an embodiment, the cell identification component 230 is configured to obtain a location of a subscriber of the access network 104, which can be an end-user of one of the wireless device 102-1...102-N. The cell identification component can obtain a subscriber location in various methods. In an embodiment, the cell identification component obtains a subscriber location from the radio access network 110 using Remote Authentication Dial In User Service (RADIUS). A typical data element in the RADIUS stream is the cell identification (ID) of a subscriber, which can be made available as part of the RADIUS attributes, such as base station ID (BSID) attribute in CDMA/3 GPP2 networks or 3GPP-User-Location-Info in GSM networks. The cell ID of a subscriber is the ID number and/or symbol of the radio access network cell that the subscriber currently resides. In another embodiment, the cell identification component interoperates with OpenGIS Location Services (OpenLS) servers at the access network, which may be part of the access network, to obtain coordinates (e.g. Global Positioning System (GPS) coordinates) of a subscriber, which can be mapped to the cell ID of the subscriber. In another embodiment, the cell identification component obtains the cell ID of a subscriber from the radio access network from coordinates obtained using mobile location protocol (MLP). The cell identification component can rely on other sources such location streaming servers, which may be part of the access network, to obtain the cell ID of the subscriber.

The congestion detection component 232 of the cell congestion detector 218 is configured to detect network congestion conditions of the radio access network cells 1 16-1...116-M of the radio access network 1 10. In an embodiment, the congestion detection component is configured to first determine whether a radio access network cell is a congested cell candidate and then determine whether or not the congested cell candidate is a congested cell. A threshold can be set for a transaction involving a subscriber. When a data rate (e.g. data transmission rate) associated with a transaction is lower than or equal to the threshold, the transaction is determined as being slow. For example, if a data rate associated with a transaction is lower than or equal to 10 kilobytes per second, the transaction is determined as being slow. A single slow transaction or a limited number of transactions associated with a radio access network cell may not be enough to conclude that the radio access network cell is congested. Rather, the radio access network cell can be put onto a candidate list of congested cell and monitored for a time period. By first denoting a radio access network cell as a congested cell candidate and then determining whether or not the congested cell candidate is congested, cell congestion detection can be conducted more accurately.

The radio access network cells 116-1...116-M of the radio access network 110 can be dynamically put onto the congested cell list by the cell identification component 230. In an embodiment, transactions involving subscriber or subscribers in a congested cell candidate of the radio access network cells are monitored. When a certain level of slow transactions is detected during a predefined time period, which is also referred to as "a monitoring window," the congested cell candidate is determined as a congested cell. In an embodiment, the monitoring window is in the order of minutes or seconds (e.g., 60 seconds). In an embodiment, the congested cell candidate is determined as a congested cell if the percentage of slow transactions during the predefined time period is higher than a predetermined percentage threshold. For example, if the percentage threshold is set to 80%, the congested cell candidate is determined as a congested cell if more than 80% of transactions during the predefined time period are slow transactions. In another embodiment, the congested cell candidate is determined as a congested cell if the number of slow transactions during the predefined time period is higher than a predetermined volume threshold. For example, if the volume threshold is set to 800 transactions, the congested cell candidate is determined as a congested cell if there are more than 800 slow transactions during the predefinei time period. In an embodiment, the congested cell candidate may be determined as a congested cell if the percentage of slow transactions in a specific number of transactions is higher than a predetermined percentage threshold. For example, the congested cell candidate can be determined as a congested cell if at least 80% out of 1000 transactions involving the congested cell candidate are slow. The congestion detection component 232 can build up a list of congested cell candidates and determine congested cells from the congested cell candidates so that cell congestion detection can be conducted more accurately. In an embodiment, whether or not a transaction is slow is determined based on transport layer information, such as TCP information. For example, whether or not a transaction is slow can be determined by measuring a download data rate of a subscriber in the transaction. The download data rate of the subscriber is the data rate of transmitting data to a device of the subscriber. The download data rate of a subscriber can be measured using different approaches. In an embodiment, the download data rate of a subscriber can be determined by measuring the time taken writing a specific amount of data to a client side TCP socket buffer in a device of the subscriber to calculate a buffer write rate to the client side TCP socket buffer. In another embodiment, the download data rate of a subscriber can be determined by measuring the time taken writing a specific amount of data to a server side TCP socket buffer in the service management platform 114 or 214 that corresponds to a client side TCP socket buffer in a device of the subscriber to calculate a buffer write rate to the server side TCP socket buffer. Compared to calculating the buffer write rate to the client side TCP socket buffer, calculating the buffer write rate to the server side TCP socket buffer can be done more readily by the service management platform 1 14 or 214. The buffer write rate to the client/server side TCP socket buffer gives an indication on the network congestion between the service management platform 114 or 214 and the subscriber.

In the embodiment depicted in Fig. 2, the service management platform 214 includes one or more TCP socket buffers 240-1...240-K, where is an integer. Each of the TCP socket buffers 240-1...240-K in the service management platform 214 is connected to one of TCP socket buffers 140-1...140-K in one of the wireless devices 102-1...102-N via a TCP socket connection. The congestion detection component 232 is configured to measure a buffer write rate to a server side TCP socket buffer in the service management platform 214 that is associated with a transaction. The server buffer write rate can be measured in bits written per unit time such as bytes per second. The server buffer write rate may be measured at the socket application programming interface (API) level. In an embodiment, the measured server buffer write rate is compared with a configurable threshold. By measuring the server buffer write rate of a TCP socket connection in a transaction (e.g. an HTTP transaction) and comparing the measured server buffer write rate with a threshold, whether or not the transaction is a slow transaction can be determined. For example, if the measured server buffer write rate of a TCP socket connection in an HTTP transaction is lower than the configurable threshold, the HTTP transaction is determined as being slow.

The buffer write rate to the client/server side TCP socket buffer can give an indication on the network congestion between the service management platform 114 or 214 and the subscriber. However, because there are other network elements, such as the Internet gateway 112, between the service management platform 114 or 214 and a subscriber, the buffer write rate is not necessarily an accurate indicator of the cell congestion condition. In an embodiment, the congestion detection component 232 is configured to determine a radio access network cell as congested if the percentage of slow transactions with respect to total transactions involving the radio access network cell during a predefined time period is higher than a percentage threshold and/or if the number of transactions involving the radio access network cell during the predefined a time period is larger than a transaction number threshold. For example, if 80% of at least 1000 transactions of a radio access network cell during the predefined time period are slow, the radio access network cell is determined or marked as congested.

In an exemplary operation of the service management platform 214, the cell ID component 230 identifies the radio access network cells 116- 1...116-M of the radio access network 110 to which an HTTP transaction is associated. For example, the cell ID component obtains the cell ID of a subscriber that is associated with the HTTP transaction. The congestion detection component 232 determines the congestion condition of the HTTP transaction. The service management platform 214 combines the cell ID of an HTTP transaction and the congestion condition of the HTTP transaction to determine congestion conditions of radio access network cells.

Fig. 3 shows an exemplary cell congestion record of the cell congestion detector 218. In the exemplary cell congestion record, the radio access network cell 116-1 is assigned a cell ID "C-l," the radio access network cell 116-2 is assigned a cell ID "C-2" and the radio access network cell 1 16-3 is assigned a cell ID "C-3." The radio access network cells 116-1, 1 16-2, 116-3 have been identified as congested cell candidates because one or more HTTP transactions that involve the radio access network cells 116-1, 1 16-2, 116-3 are determined as being slow. In the embodiment depicted in Fig. 3, if 80% of at least 1000 HTTP transactions involving a radio access network cell are slow, the radio access network cell is determined or marked as congested. For a total number of 1000 HTTP transactions, 300 HTTP transactions involving the radio access network cell 116-1 are determined as slow transactions. Because the percentage of HTTP transactions involving the radio access network cell 1 16-1 is 30%, which is lower than the threshold percentage 80%, the radio access network cell 1 16-1 is not determined as congested. For a total number of 1000 HTTP transactions, 810 HTTP transactions involving the radio access network cell 1 16-2 are determined as slow transactions. Because the percentage of HTTP transactions involving the radio access network cell 116-2 is 81%, which is higher than the threshold percentage 80%, the radio access network cell 116-2 is determined as congested. For a total number of 1000 HTTP transactions, 900 HTTP transactions involving the radio access network cell 116-3 are determined as slow transactions. Because the percentage of HTTP transactions involving the radio access network cell 1 16-3 is 90%, which is higher than the threshold percentage 80%, the radio access network cell 116-3 is determined as congested. Although the cell IDs of the radio access network cells include one character and one number, the cell IDs of the radio access network cells can include any number of character/characters and/or any number of number/numbers.

Turning back to Fig. 2, the congestion detection component 232 can dynamically take one or more of the radio access network cells 116-1...116-M of the radio access network 110 out the congested cell list. After a radio access network cell is determined as congested, the radio access network cell may be monitored for indication of an uncongested state. In an embodiment, a transaction or transactions associated with the radio access network cell is monitored. A cell may be determined or marked as uncongested by comparing a buffer write rate to a server side TCP socket in the service management platform 214, which is associated to a transaction, with a data rate threshold. If one or more transactions' buffer write rates are higher than the data rate threshold, the radio access network cell is determined as uncongested. For example, when the percentage of transactions during a predefined time period (a "monitoring window") whose buffer write rates are higher than the data rate threshold is greater than a percentage threshold, the radio access network is determined or marked as uncongested. The data rate threshold for determining an uncongested state maybe different than the data rate threshold used for determining a congested state, In an embodiment, the data rate threshold for determining an uncongested state is higher than the data rate threshold used for determining a congested state. For example, the data rate threshold for determining an uncongested state may be 20 kilobytes per second while the data rate threshold used for determining a congested state is 10 kilobytes per second.

In an embodiment, the cell identification component 230 is not part of the cell congestion detector 218. For example, the cell identification component may be a part of a service component of the service management platform 114 or 214. Fig. 4 depicts another embodiment of the service management platform 114 that incorporates the cell identification component in a traffic controller 450. In the embodiment depicted in Fig. 4, a service management platform 414 includes the traffic controller, which includes the cell identification component 230, and a cell congestion detector 418, which includes the congestion detection component 232. The traffic controller is configured to handle communication traffic that goes through the service management platform 414. The cell congestion detector 418 performs similar functions to the cell congestion detector 218.

Fig, 5 illustrates an exchange of messages that is used to implement an operation of the service management platform 414 of Fig. 4. In the embodiment depicted in Fig. 5, the cell ID is determined via RADIUS service. Communications exchanges 501-510 take place before a particular one of the radio access network cells 1 16-1...116-M is marked as congested. In a first operation, one of the wireless devices 102-1...102-N connects to the Internet 106 through the particular radio access network cell on behalf of a subscriber and a RADIUS message 501 from the Internet gateway 1 12 is received by the traffic controller 450. The traffic controller obtains the cell ID for a transaction from the received RADIUS message 501. The obtained cell ID is passed to the congestion detection component 232 in a message 502. The congestion detection component updates statistics for transactions maintained for the radio access network cells of the radio access network 110. The wireless device sends a HTTP request 503 to the content source 108 via the Internet gateway and the Internet gateway sends the received request in a message 504 to the traffic controller. The traffic controller sends the cell ID in a message 505 to the congestion detection component to check the congestion status of the radio access network cell in which the wireless device is located. The congestion detection component checks the cell state records and notifies the traffic controller in a message 506 that the radio access network cell is not congested. After receiving the notification, the traffic controller sends the HTTP request from the wireless device to the content source in a message 507. The content source then sends a response 508 back to the traffic controller. Because the radio access network cell is not congested, the traffic controller sends the response to the wireless device in a message 509 without compression. The traffic controller writes data to at least one of the server side TCP socket buffer that is associated with a transaction involving the radio access network cell and, if appropriate, sends a command/signal/message 510 to the congestion detection component to update a cell state list if the radio access network cell is a congested cell candidate. For example, the traffic controller finds out that the buffer write rate is lower than a predefined threshold, determines that the radio access network cell is a congested cell candidate, updates the cell state list and begins to monitor transactions of the radio access network cell.

After a transaction threshold percentage in a specific number of transactions is hit, the radio access network cell is marked as congested. Communications exchanges 523-529 take place after the radio access network cell is marked as congested. The wireless device sends a HTTP request 523 to the content source 108 via the Internet gateway and the Internet gateway forwards the received request in a message 424 to the traffic controller 450. The traffic controller sends the cell ID in a message 525 to the congestion detection component to check the congestion status of the radio access network cell in which the wireless device is located, The congestion detection component checks its cell state record and notifies the traffic controller in a message 526 that the radio access network cell is congested. After receiving the notification, the traffic controller sends the HTTP request from the wireless device to the content source in a message 527. The content source then sends a response 528 back to the traffic controller. Because the radio access network cell is congested, the traffic controller compresses the response and sends the compressed response to the wireless device in a message 529. In addition to compressing the response, various actions can be taken after the radio access network cell is detected as being congested. In an embodiment, the response can be transcoded to get a lower volume or offloaded to a WiFi service/connection. In another embodiment, a subscriber notification is sent to a subscriber at the wireless device to notify the subscriber the congestion condition of the radio access network cell.

Although the operations herein are shown and described in a particular order, the order of the operations may be altered so that certain operations may be performed in an inverse order or so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub- operations of distinct operations may be implemented in an intermittent and/or alternating manner. It should also be noted that at least some of the operations may be implemented using software instructions stored on a computer useable storage medium for execution by a computer. As an example, an embodiment of a computer program product includes a computer useable storage medium to store a computer readable program that, when executed on a computer, causes the computer to perform operations, as described herein.

Furthermore, embodiments of at least portions of the invention can take the form of a computer program product accessible from a computer-usable or computer- readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer- usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.

The computer-useable or computer-readable medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device). Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Current examples of optical disks include a compact disk with read only memory (CD-ROM), a compact disk with read/write (CD-R/W), and a digital video disk (DVD).

In an embodiment, at least one of the functionalities of components of the content delivery system 100, such as the service management platform 114, 214 or 414 and the cell congestion detector 118, 218 or 418, is performed by a computer that executes computer readable instructions. Fig. 6 depicts a computer 600 that includes a processor 602, memory 604, and a communications interface 606. The processor may include a multifunction processor and/or an application-specific processor. Examples of processors include, without limitation, the PowerPC™ family of processors by IBM and the x86 family of processors by Intel. The memory within the computer may include, for example, storage medium such as read only memory (ROM), flash memory, RAM, and a large capacity permanent storage device such as a hard disk drive. The communications interface enables communications with other computers via, for example, the Internet Protocol (IP). The computer executes computer readable instructions stored in the storage medium to implement various tasks as described above.

Fig. 7 is a process flow diagram of a method for radio access network cell congestion detection in accordance with an embodiment of the invention. At block 702, a radio access network cell is identified, at a service management platform, as a congested cell candidate if a first transaction that involves the radio access network cell is slow. At block 704, the congested cell candidate is determined, at the service management platform, as a congested cell if more than a percentage threshold of further transactions that involve the congested cell candidate are slow, where a particular transaction is slow if a data rate associated with the particular transaction is lower than a data rate threshold.

In the above description, specific details of various embodiments are provided. However, some embodiments may be practiced with less than all of these specific details. In other instances, certain methods, procedures, components, structures, and/or functions are described in no more detail than to enable the various embodiments of the invention, for the sake of brevity and clarity.

Although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. The scope of the invention is to be defined by the claims appended hereto and their equivalents.