System, device, and method of media delivery optimization
RE049512 · 2023-04-25
Assignee
Inventors
- Andrei Elefant (Modiin Maccabim Reut, IL)
- Amir Hochbaum (Modiin Maccabim Reut, IL)
- Israel Jay Klein (Kfar Saba, IL)
- Yaniv Sulkes (Ramat Gan, IL)
- Asaf Shahar (Kfar Saba, IL)
Cpc classification
H04W28/0284
ELECTRICITY
H04W28/02
ELECTRICITY
International classification
H04W28/02
ELECTRICITY
Abstract
A method for alleviation of congestion in a mobile communications network includes detecting congested cells in the mobile communications network, identifying subscribers with active data sessions in the congested cells; and optimizing bandwidth usage for at least one of the identified subscribers. A bandwidth optimization system includes a network sampling interface to receive at least subscriber, cell and data session identifiers from a network data packet sampler, where the sampler identifies the identifiers from internal data traffic within a mobile communications network, and a network awareness engine (NAE) to at least cross reference the identifiers with external data traffic output by the mobile communications network to at least detect congested cells and associated subscriber data sessions emanating from the mobile communications network.
Claims
.[.1. A method for alleviation of congestion in a mobile communications network which comprises a cellular core network, the method comprising: (a) detecting congested cells in said core cellular network; (b) sampling and analyzing packets, that are in internal mobile network packet format, at an internal format data packet sampler that is connected to said core cellular network at a location between a service support node of said core cellular network and a gateway support node of said core cellular network; (c) based on said sampling and analyzing of said packets that are in internal mobile network packet format, and based on analysis of other data packets that are in packet data protocol (PDP) format and are outputted by said gateway support node, identifying subscribers with active data sessions in said congested cells; and (d) optimizing bandwidth usage for a particular subscriber of said identified subscribers..].
.[.2. The method of claim 1, wherein said detecting comprises: receiving cell and data session identifiers from an internal network data packet sampler; inspecting data packets emanating from said mobile communications network to at least determine bandwidth used for each current data session; cross referencing said data session identifiers with said each concurrent data session to calculate aggregate bandwidth in use for each cell in said mobile communications network according to associated said cell identifiers; and determining that said cells with said aggregated bandwidth exceeding a predetermined threshold are congested..].
.[.3. The method of claim 2, wherein said identifying comprises: receiving subscriber identifiers from said internal network data packet sampler; for each said congested cell, cross referencing said data session identifiers with said each concurrent data session to identify subscribers with active data sessions in said congested cells; and associating their said bandwidth usage according to said bandwidth used for each data session..].
.[.4. The method of claim 1, wherein said optimizing comprises: for each said identified subscriber, determining an optimization priority as per a subscriber profile; selecting at least one said identified subscriber in each said congested cell for optimization; determining at least one appropriate media delivery optimization (MDO) function at least in accordance with said subscriber profile for each said selected identified subscriber; and transmitting a request to said mobile communications network to optimize said bandwidth usage for said selected identified subscriber in accordance with said at least one appropriate MDO function..].
.[.5. The method of claim 4, wherein said appropriate MDO function is at least one of: traffic shaping, wherein policies on user bandwidth are enforced on a per subscriber basis; transcoding, wherein media encoding used for said current data session is changed to a different encoding format to facilitate a change in bandwidth requirements; transrating, wherein a total media content bit rate is reduced without changing said media encoding; caching, wherein a copy of media content is stored internally to avoid repeated downloads from an external source..].
.[.6. The method of claim 4, wherein said appropriate MDO function is time-to-view (TTV) manipulation, wherein delivery rate of media content is regulated to generally match viewing rate on a communications device of said selected identified subscriber, said viewing rate detected during said inspecting..].
.[.7. The method of claim 4, wherein said appropriate MDO function is media link adaptation (MLA); wherein a subscriber communications device uses a transport protocol to signal a media content server regarding available bandwidth for downloading particular media content, and said media content server selects and downloads a version of said particular media content in accordance with said available bandwidth..].
.[.8. The method of claim 4, wherein said at least one appropriate MDO is a combination of at least two appropriate MDOs..].
.[.9. The method of claim 4, wherein said optimizing comprises: transmitting a request to said mobile communications network to stop said optimizing in accordance with said MDO for all associated selected identified subscribers if an associated said cell is no longer congested..].
.[.10. The method of claim 2, wherein said predetermined threshold is stored in a network topology database (NTD); wherein said NTD stores at least one said predetermined threshold for each said cell in said mobile communications network..].
.[.11. The method of claim 2, wherein said inspecting comprises: performing deep packet inspection (DPI) to detect said bandwidth used and an identifier for said current data session, wherein said identifier for said current data session is used for said cross referencing..].
.[.12. The method of claim 1, wherein identifying subscribers with active data sessions in said congested cells comprises: (A) receiving network sampling data from a network sampling interface by invoking a policy enforcement element to acquire network sampling data from an Internet Protocol network external to said cellular core network; (B) performing Deep Packet Inspection (DPI) on IP packets that are transmitted by said gateway support node; (C) based on said DPI of said IP packets, determining whether or not said IP packets belong to a particular application running on said cellular device of said particular subscriber; (D) receiving subscriber data and device data from said internal format data packet sampler; (E) generating a network congestion table by cross-referencing the results of the determining of step (C), with said subscriber data and device data obtained from said internal format data packet sampler in step (D)..].
.[.13. The method of claim 1, comprising: (A) at a Policy Enforcement (PE) element that is external to said cellular core network, monitoring data transmissions of Internet Protocol (IP) packets that are transmitted between the gateway supporting node and the Internet; (B) at said PE element that is external to said cellular core network, monitoring data transmissions of IP packets that are transmitted between the gateway supporting node and a service network that is external to the cellular core network; (C) based on the monitoring of step (A) and the monitoring of step (B), obtaining: (a) IP addresses associated with said data transmissions of IP packets, (b) bandwidth requirements of said data transmissions of said IP packets, (c) actual bandwidth usage of said data transmissions of said IP packets, (d) a type of data being transmitted in each of said data transmissions of said IP packets, and (e) a specific application that is running in each of said data transmissions of IP packets; (D) cross-referencing the obtained IP addresses received from said PE element, with IP addresses provided by the internal format data packet sampler, wherein the cross-referencing comprises mapping each sampled transmission to a specific subscriber device and a specific cell..].
.[.14. The method of claim 1, wherein optimizing bandwidth usage comprises: (A) by periodically analyzing said network congestion table, identifying subscriber connections to be optimized from among subscribers that are associated with a congested cell; (B) selecting a particular subscriber for optimization based on a subscriber profile associated with said subscriber and stored in a Subscriber Profile Database (SPD); wherein the selecting takes into account, at least, a subscriber features plan of said particular subscriber which may indicates a level of priority of said subscriber; wherein the selecting avoids optimization of mobile connections of high-priority subscribers..].
.[.15. The method of claim 1, wherein optimizing bandwidth usage comprises: (A) based on DPI analysis, determining that a first subscriber device is using a media sharing application; (B) based on DPI analysis, determining that a second subscriber device is using a Voice over Internet Protocol (VoIP) application; (C) based on said two determining steps, selectively applying a first Media Delivery Optimization (MDO) function to a communication session of the first subscriber device, and selectively applying a second, different, MDO function to a communication second of the second subscriber device..].
.[.16. The method of claim 1, wherein optimizing bandwidth usage comprises: (A) based on DPI analysis, determining that a first subscriber device is using a media sharing application; (B) based on DPI analysis, determining that a second subscriber device is using a Voice over Internet Protocol (VoIP) application; (C) based on said two determining steps, selectively applying a caching function as a first Media Delivery Optimization (MDO) function only to a communication session of the first subscriber device and not to a communication session of the second subscriber device..].
.[.17. The method of claim 1, wherein optimizing bandwidth usage comprises: for a group of three-or-more subscriber devices, that are each determined to utilize high bandwidth in a congested cell, performing: (A) determining that a first subscriber device of said group is associated with a premium subscriber account, and determining not to apply any Media Delivery Optimization (MDO) function to a communication session of said first subscriber device; (B) determining that a second subscriber device is associated with a non-discounted subscriber account, determining that the third subscriber account is associated with a discounted subscriber account, and selectively applying an MDO function only to the communication session of the third subscriber account and not to a communication session of the second subscriber account..].
.[.18. The method of claim 1, wherein optimizing bandwidth usage comprises: (A) based on DPI analysis, determining that a particular subscriber device is using a Voice over Internet Protocol (VoIP) application which does not utilize buffers; (B) based on said determining, selecting not to activate towards said particular subscriber device a time-to-view manipulation MDO function, and selecting to activate towards said particular subscriber device another MDO function..].
.[.19. The method of claim 1, wherein optimizing bandwidth usage comprises: (A) based on DPI analysis, determining that a particular subscriber device is using a particular application; (B) determining that bandwidth for said particular application is optimize-able if a transcoding MDO function is applied; (C) determining not to apply said transcoding MDO function to said particular subscriber device by taking into account a processing power restriction of the congested cell and by taking into account an overall level of congestion in said cellular core network..].
.[.20. A system comprising: (I) a Bandwidth Optimization System (BOS) for alleviation of congestion in a mobile communications network which comprises a cellular core network; wherein said BOS is to detect congested cells in said cellular core network; (II) an internal format data packet sampler that is connected to said core cellular network at a location between a service support node of said core cellular network and a gateway support node of said core cellular network; wherein said internal format data packet sampler is to sample and analyze packets that are in internal mobile network packet format; wherein, based on sampling and analyzing of said packets that are in internal mobile network packet format, and based on analysis of other data packets that are in packet data protocol (PDP) format and are outputted by said gateway support node, the BOS is to identify subscribers with active data sessions in said congested cells; (III) a Congestion Management Engine (CME) to optimize bandwidth usage for a particular subscriber of said identified subscriber, wherein at least one of: the BOS, the internal format data packet sampler, and the CME, is implemented by utilizing at least a hardware component..].
.Iadd.21. A method comprising: monitoring data transmissions between a gateway support node and an Internet Protocol (IP) network in a mobile data network, which comprises a cellular core network; receiving IP addresses of the data transmissions; receiving IP addresses from an internal format data packet sampler that is connected to the core cellular network at a location between a service support node of the core cellular network and the gateway support node of said core cellular network, the IP addresses from the internal format data packet sampler representative of subscribers with active data sessions in one of a plurality of cells in the mobile data network; comparing aggregate usage for subscribers with active sessions in a same cell with target bandwidth thresholds for each of the plurality of cells; based upon results of the comparing, updating a table representative of subscribers with active sessions in cells in the mobile data network to reflect any changes of the subscribers with active sessions in cells in the mobile data network; detecting congested cells in the mobile data network by detecting changes in the table; sampling and analyzing packets, that are in internal mobile network packet format, at the internal format data packet sampler; for each detected congested cell in the mobile data network and based on the sampling and analyzing of the packets that are in internal mobile network packet format and on analysis of other data packets that are in packet data protocol (PDP) format and are outputted by the gateway support node, identifying which subscribers with active sessions in the detected congested cell to optimize bandwidth usage; and optimizing bandwidth usage for the identified subscribers with active sessions in the detected congested cell. .Iaddend.
.Iadd.22. The method of claim 21, further comprising maintaining the table representative of subscribers with active sessions in cells in the mobile data network. .Iaddend.
.Iadd.23. The method of claim 21, further comprising cross referencing each of the IP addresses of the data transmissions with the IP addresses from the internal format data packet sampler to map each monitored data transmission to a specific subscriber of the subscribers with active sessions and with a specific cell of the plurality of cells in the mobile data network. .Iaddend.
.Iadd.24. The method of claim 21, further comprising receiving bandwidth requirements of the data transmissions. .Iaddend.
.Iadd.25. The method of claim 21, further comprising receiving, for each data transmission, a type of data being transmitted. .Iaddend.
.Iadd.26. The method of claim 21, wherein the table is representative of subscribers with active sessions only in congested cells in the mobile data network. .Iaddend.
.Iadd.27. The method of claim 21, wherein the identifying which subscribers with active sessions in the detected congested cell to optimize bandwidth usage is a function of the bandwidth in use and the subscriber's bandwidth entitlement. .Iaddend.
.Iadd.28. The method of claim 21, further comprising, for each detected congested cell in the mobile data network, identifying target applications in use by subscribers with active sessions in the detected congested cell. .Iaddend.
.Iadd.29. The method of claim 28, further comprising utilizing the identified target applications for identifying which subscribers with active sessions in the detected congested cell to optimize bandwidth usage. .Iaddend.
.Iadd.30. The method of claim 21, further comprising determining a media delivery optimization function to use for optimizing bandwidth usage for the identified subscribers with active sessions in the detected congested cell. .Iaddend.
.Iadd.31. A method comprising: monitoring data transmissions between a gateway support node and an Internet Protocol (IP) network in a mobile data network, which comprises a cellular core network; receiving IP addresses of the data transmissions; receiving IP addresses from an internal format data packet sampler, that is connected to the core cellular network at a location between a service support node of the core cellular network and the gateway support node of said core cellular network the IP addresses from the internal format data packet sampler representative of subscribers with active data sessions in one of a plurality of cells in the mobile data network; comparing aggregate usage for subscribers with active sessions in a same cell with target bandwidth thresholds for each of the plurality of cells; detecting congested cells in the mobile data network; sampling and analyzing packets, that are in internal mobile network packet format, at the internal format data packet sampler; for each detected congested cell in the mobile data network and based on the sampling and analyzing of the packets that are in internal mobile network packet format and on analysis of other data packets that are in packet data protocol (PDP) format and are outputted by the gateway support node, identifying which subscribers with active sessions in the detected congested cell to optimize bandwidth usage; and optimizing bandwidth usage for the identified subscribers with active sessions in the detected congested cell. .Iaddend.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6) It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
(7) In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
(8) The focus of prior art MDOs for the prevention/reduction of network congestion has largely focused on network-wide solutions. Unfortunately, implementing such methods on such a large scale may be impractical and/or prohibitively expensive. For example, to transcode all of the media content transmitted on a typical mobile network, thousands of digital signal processors (DSPs) would have to be installed and maintained to provide the required processing power. Wide scale transrating may have limited scope—it cannot change the video codec type in use and it may only be used as long as it doesn't significantly impact the perceived quality of media content downloads. Overuse of traffic shaping may suffer from the same issues, and may eventually lead to customer dissatisfaction. Caching and MLA are similarly limited in effective scope: caching is only relevant for frequently used media content, and MLA requires the active participation of third party content servers.
(9) Applicant has realized that MDOs may be more effective if applied on a pinpoint basis, as needed in cells that are congested at the time of application. In such a manner, instead of using the prior art approach of preventing congestion by brute force, only subscribers in cells that are already congested may be subjected to the inconvenience of bandwidth restriction by MDO application.
(10) Applicant has further realized that maximum benefit may be derived from MDOs by using the customer profile of each of the subscribers currently in the congested cell to determine which, if any, of the available MDOs may be applied to optimize the bandwidth requirements of each subscriber separately. For example, the mobile network operator may determine that a business subscriber may be entitled to view high quality videos even during congestion periods, whereas a private subscriber with a family member discount may be restricted to lower quality videos, if at all, during congestion periods.
(11) Reference is now made to
(12) Subscriber devices 10 may connect to network 100 via antennas 20. In accordance with an exemplary embodiment of the present invention, the cell served by antenna 20A may be congested. Multiple devices 10 may be connected with antenna 20A, each one of which may be in the process of downloading media content. As discussed hereinabove, four or five devices downloading media contact may be sufficient to cause congestion in the affected cell.
(13) RNCs 30 may control the connections between devices 10 and antennas 20, and send/receive data associated with the connections to/from SGSN 40. It will be appreciated that devices 10 may capable of achieving both voice and data connections with network 100. However, since the primary focus of the MDOs to be applied may be to reduce congestion caused by media content, only network elements with data connection relevance are shown in
(14) Data associated with devices 10 may be routed through core network 50 by SGSN 40 and GGSN 60. In a typical a GPRS/UMTS network, SGSN 40 and GGSN 60 together facilitate the “tunneling” of the associated data through core network 50 in order to connect devices 10 to Internet 70 and/or service network 80. It will be appreciated that the depiction of network 100 as a GPRS/UMTS network may be exemplary; the present invention may also be configured to work with other technologies, such as, for example, LTE or WIMAX.
(15) When transmitting to Internet 70 or service network 80, GGSN 60 may convert GPRS data packets received from SGSN 40 to packet data protocol (PDP) format appropriate for Internet 70 and/or service network 80. Similarly, when receiving transmissions from Internet 70 or service network 80, it may convert the packets to an internal mobile network packet format, such as, for example, 3GPP format.
(16) It will be appreciated that while in internal mobile network packet format, the packets may include information that may identify the subscriber device and its current cell location, as well details regarding any IP connectivity external to core network 50. Internal format data packet sampler 55 may inspect the data packets and forward the device/location identifiers along with the IP addresses of the associated IP sessions to BOS 200. As will be described hereinbelow, BOS 200 may use this information along with information derived from the PDP formatted packets output by GGSN 60 to determine which cells may be congested, which subscriber devices may be active in the congested cells and what applications may be running on those devices. In accordance with a preferred embodiment of the present invention, sampler 55 may be a RADIUS server. However, it will be appreciated that the present invention may include any suitable utility capable of inspecting internal mobile network data packets and/or maintaining a database of user location information in core network 50.
(17) Reference is now made to
(18) SPD 210 and NTD 220 may provide NAE 230 with generally static reference data that may be used to determine whether or not a cell is suffering from congestion and which subscribers are currently using it. Specifically, SPD 210 may store information that may be used to determine the level of service and particular MDOs to use for a given subscriber in response to a given level of congestion. For example, SPD 210 may store an identifier (i.e. phone number), device type, service plan, optimization procedure and associated network parameters for each subscriber of network 100 (
(19) NTD 220 may store reference data that may be used to determine whether or not a given cell may be congested. For example, NTD 220 may store a list of cell sites, their total bandwidth capacities, associated congestion thresholds, and/or maximum number of concurrent users. NAE 230 may compare the data in NTD 220 to actual observed network activity to determine whether or not a given cell may be congested.
(20) From time to time, NAE 230 may receive subscriber/device data from sampler 55 (
(21) PCT patent application PCT/IL08/000829, entitled “A DPI MATRIX ALLOCATOR” and filed Jun. 18, 2008, which is assigned to the common assignees of the present invention and hereby incorporated in its entirety by reference, discloses a system and method for deep packet inspection. In accordance with a preferred embodiment of the present invention, the functionality for PE element 245 may be provided by the system and method for DPI as disclosed in PCT patent application PCT/IL08/000829. However, it will be appreciated that the present invention may include any suitable functionality that may be capable of determining the required information from an IP packet.
(22) CME 260 may periodically review network congestion table to identify subscriber connections to be optimized from among those associated with congested cells. CME 260 may select subscribers for optimization based on their profiles as represented in SPD 210. In general, as described hereinbelow, a subscriber's feature plan may indicate its priority when CME 260 selects subscriber connections for optimization. The higher a subscriber's priority, the less likely it may be that its connection may be optimized by CME 260.
(23) It will be appreciated that traffic shaping, as described hereinabove, may be a built-in feature of CME 260, implemented in conjunction with the subscriber's profile in SPD 210. CME 260 may apply traffic shaping and/or associate one or more MDOs 280 with a given subscriber connection. In accordance with a preferred embodiment of the present invention, MDOs 280 may include one or more of MLA engine 280A, transcoder 280B, transrater 280C, Cacher 280D and TTV engine 280E. It will be appreciated that the present invention may include any other suitable MDO as well.
(24) PC element 275 may be a control agent that may be authorized to provide instructions to core network 50 regarding subscribers' connections. CME 260 may use PC element 275 via network MDO interface 270 to implement optimization procedures on selected subscriber connections.
(25) It will be appreciated that the depiction of BOS 200 as a single entity may be exemplary. The present invention may also include embodiments in which the functionality provided by BOS 200 may be provided by two or more servers accessing either internal or external databases.
(26) Reference is now made to
(27) NAE 230 may invoke PE element 245 to monitor (step 310) data transmissions transmitted between GGSN and Internet 70 and/or service network 80. It will be appreciated that NEA 230 may not be located within core network 50, but rather may inspect its data traffic after it has been converted to a standard IP format. PE element 245 may provide NAE 230 with details regarding the data transmissions, including, for example, relevant IP addresses, bandwidth requirements/usage, and the type of data being transmitted. In some cases, PE element 245 may even diagnose which specific application may be running.
(28) NAE 230 may cross reference the IP addresses provided by PE element 245 with those provided by data packet sampler 55 (
(29) It will be appreciated that data packet sampler 55 (
(30) NAE 230 may then compare (step 320) the aggregate usage for subscribers in the same cell with target bandwidth thresholds for each of the cells as read from NTD 220. Cells that have exceeded their targets may be congested. NAE 230 may update (330) network congestion table 250 to reflect the results of step 320. In accordance with a preferred exemplary embodiment of the present invention, each subscriber/device may be assigned a row in table 250, such that each cell may have several entries.
(31) Each of rows 251 may represent a subscriber (column 253) in a particular congested cell (column 252). For example, the first row 251 in table 250 may represent subscriber S-1 in cell 20A. The value in column 254 may represent the bandwidth used by subscriber S-1, and the entry in column 255 may represent the application in use by subscriber S-1 as per a diagnostic run by PE element 245. It will be appreciated that table 250 that rows 251 may represent data only for congested cells; non-congested cells may not be represented in table 250.
(32) In accordance with an exemplary embodiment of the present invention, table 250 may also be updated with details of each subscriber's profile that may affect their “bandwidth entitlement”, such as, for example, an indication of subscriber package as listed in column 256. Depending on its configuration, table 250 may also include other relevant information such as customer type, added features, etc. Alternatively, the profile details may be looked up as needed from SPD 210 using the subscriber identifier from column 252. It will be appreciated that the representation of subscriber identifiers in table 250 may be exemplary; in actual production subscriber telephone numbers may typically be used. After updating table 250, NAE 230 may repeat the process by returning to step 310.
(33) In parallel to the repeated updating of table 250 by NAE 230, CME may detect (step 340) changes in table 250. For example, as shown in
(34) For every cell that may be defined as congested, CME 260 may identify (step 350) which of the cell's subscriber connections should be optimized. In general, the decision whether to optimize a given connections may be a function of the bandwidth in use and the subscriber's profile. In the exemplary representation of
(35) CME 260 may also identify (step 360) the target application to be optimized. For example, S-2 may be running a media sharing application such as, for example, YouTube, while S-1 may be using a VOIP application, such as, for example, Skype. It will be appreciated that some MDOs 280 (
(36) CME 260 may also use the target application when determining which subscriber connection to optimize. For example, as shown in
(37) CME 260 may also be configured with business logic to determine (370) the appropriate MDO 280 (or combination of MDOs 280) to use for each subscriber connection to be optimized. For example, TTV engine 280E may be irrelevant for VOIP applications that may not make significant use of buffers, such applications may be optimized more efficiently using transrater 280C. Cacher 280D may only be appropriate for frequently downloaded media files. Transcoder 280B may require more processing power than other MDOs 280 and its use may accordingly be restricted as a function of how the overall level of congestion in network 50. MLA engine 280A may require previous agreement with the subscriber and/or the media provider. Once determined, CME 260 may apply (step 380) the appropriate MDO (s) 280 by invoking PC element 275 via network MDO interface 270.
(38) In accordance with a preferred embodiment of the present invention, a subscriber's profile in SPD 210 may indicate that the subscriber's data connections may be optimized using MLA engine 280A. If the subscriber has a data connection in a congested cell, CME 260 may check that the application is suitable for MLA optimization, i.e. that it is a media content application using a media content server that may be configured to support MLA optimization. Based on the specific cell's load and its capacity, PC element 275 may be invoked to provide new traffic shaping restrictions to mobile network 50, including, for example, a new maximum bit rate.
(39) The subscriber device may in time sense the change in its allotted bandwidth. In response, it may signal the MLA enabled media server to which it is connected that its bandwidth may have changed. It will be appreciated that such a signal may be included as part of a protocol for downloading media content from an MLA enabled media server. Upon receipt of such a signal, the media server may adjust its content delivery method accordingly.
(40) It will be appreciated that, as described hereinabove, MLA engine 280A may not directly contact the MLA enabled media server to trigger a change in the content delivery method. Instead, MLA engine 280A may indirectly trigger such a change by affecting the delivery environment; the subscriber device and media server may actually negotiate the required adaptation in light of currently available bandwidth.
(41) However, in accordance with another preferred embodiment of the present invention, MLA engine 280A may also be configured to directly trigger such a change in content delivery method. For example, high definition (HD) media content may generally require more bandwidth to download and view. A subscriber profile in SPD 210 may indicate that the subscriber may not be entitled to view HD media content. The subscriber may be restricted from downloading HD media content depending on current cell congestion levels, or alternatively the restriction may even apply at all levels of congestion.
(42) It will be appreciated that if the subscriber attempts to request an HD media content download, PE element 245 may detect the request while monitoring (
(43) It will be appreciated, that over time, congestion may subside in previously congested cells. In such cases, NAE 230 may update network congestion table 250 by deleting the associated cell/subscriber rows. CME 260 may detect such deletions in step 340 and remove (step 245) any MDOs assigned to the associated cells.
(44) It will also be appreciated that BOS 200 may be configured to detect/recognize multiple levels of congestion and to apply different MDOs 280 (or different combinations of MDOs 280) depending on the level of congestion. For example, for cell 20A aggregate usage of of 3.5 Mbps may be “level 1” congested; 3.75 Mbps may be “level 2”; and 4 Mbps may be “level 3”. Accordingly, in addition to factoring in cell and subscriber information, CME 260 may also consider congestion level when applying MDOs. For example, for the same cell/subscriber, CME 260 may apply transcoder 280B for congestion level 1, and transrater 280C for levels 2 and 3.
(45) In accordance with a preferred embodiment of the present invention, network congestion table 250 may be implemented with a GUI interface to provide a real time presentation of the state of congestion in mobile network 50. The rows and/or columns of table 250 may be color coded to indicate the severity, nature and/or causes of congested cells.
(46) Unless specifically stated otherwise, as apparent from the preceding discussions, it is appreciated that, throughout the specification, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer, computing system, or similar electronic computing device that manipulates and/or transforms data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
(47) Embodiments of the present invention may include apparatus for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, magnetic-optical disks, read-only memories (ROMs), compact disc read-only memories (CD-ROMs), random access memories (RAMs), electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, Flash memory, or any other type of media suitable for storing electronic instructions and capable of being coupled to a computer system bus.
(48) The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
(49) While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.