Not applicable
The present invention relates to network monitoring and particularly in conjunction with video distribution in mobile networks and other networks.
Conventional cellular networks are a complex system of various network components. Each component handles a specific set of protocols and services multiple clients. Even a moderately sized cellular network will have a large number of towers distributed geographically to provide a radio link between the core network and a number of client devices. Eventually, network traffic from the client devices travels through a small number of links that connect the core network of a provider to the larger Internet.
Due to the growing demands of mobile users, modern cellular networks service an increasingly large amount of bandwidth. Video services, geared to real-time entertainment, are becoming more and more popular and contribute significantly to the amount of traffic on many networks. Every network component must be sufficiently equipped to support the bandwidth demands. Otherwise, client experience is degraded and network performance suffers. Network managers are faced with challenges in analyzing network performance under various conditions to meet the needs of consumers that grow to expect greater performance.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention.
Each of the user devices 102a-102n may present one or more data packets through one or more links 112a-112f to one or more of the access devices 104a-104n. The data packets from the user devices 102a-102f may be received as flows (or data flows) by one or more of the access devices 104a-104n. A flow may be considered a conversation between any two devices on a network such as client devices 102a-102f, media servers 126a-126n or other devices. Such a conversation may be carried out by sending packets back and forth along one or more links (e.g., 112a-112f, 114a-114n, 116, 118, 120 etc.) connecting the two devices. Packets from several flows may travel over the same links. In general, there will be several flows operating on a given link at any point in time. The devices 104a-104n may send the data packets to a core network (e.g., the SGSN 106, RNC 108 and GGSN 110) of a cell provider using one or more wired links 114a-114n. In general, everything higher than the access device 104a-104n (e.g., the wired components) may be considered the “core network”. In a particular network, there may be several more elements in between the access devices 104a-104n and the SGSN 106. Packets from one or more access devices 104a-104n eventually travel to the RNC 108, SGSN 106, GGSN 110 and packet data network 111. The data packets may be copied to the monitoring system 200 via a probe included in one or more of the links 114a-114n, 116, 118, and/or 120. While shown as link probes, packet data can also be copied to the monitoring system 200 directly from the RNC 108, SGSN 106 and GGSN 110.
The monitoring system 200 may be used by network service providers to identify analyze video traffic on the data distribution network 10 in conjunction with data supplied from databases 124 and other data optionally received via other nodes 126. In the example shown, the monitoring system 200 may observe any or all of the traffic for the links 114a-114n of the data distribution network. Monitoring system 200 will be described in greater detail in conjunction with
In an embodiment of the present invention, the monitoring devices 208 can be coupled to produce data via a passive tap that is used to split and replicate traffic directly from a network link such as link 114a-114n, 116, 118, 120, etc. This approach offers a non-intrusive method for replicating the packet data 202. The physical port on which traffic arrives can be configured as either upstream or downstream depending on the feed from the passive tap to indicate the direction of the data through the network link. In an alternative configuration, one or more of the monitoring devices 208 can be coupled to receive data via a port mirroring function of Ethernet switches or routers to replicate the packet data 202 from the network traffic. This approach has the advantage of being relatively simple to enable via configuration within existing deployed network elements within the backhaul and core network. In this approach, the subscriber and internet IP address masks can be specified in order for the network analyzer 210 to determine the direction of the traffic on each subnet.
One or more of the monitoring devices 208 can include a 1 Gb/s 1000BaseT interface module to interface with a wide range of either copper or optical links at a variety of different link data rates. Further, one or more of the monitoring devices 208 can be compatible with 802.11Q VLAN trunking. In operation, the corresponding monitoring device 208 can strip the VLAN headers access point names (APNs) and/or multiprotocol label switching (MPLS) labels from the frames to generate the packet data 202 for analysis by the video network analyzer 210. The video network analyzer 210 processes the various layers of one or more different protocol stacks to find the relevant mobile data related to media sessions, based on the particular format of the packet data 202 replicated from the network traffic. Examples of such layers and formats are provided in the table below:
It should be noted that the table above merely provides examples of the many protocols and formats that can be implemented. In addition, a greater or a fewer number of layers can be analyzed, based on the particular protocol stacks employed in conjunction with data distribution network 10. In operation, the video network analyzer 210 processes the data to determine which video application layer protocol is being used and also parses the container layer to determine which video format is being delivered during a particular media session.
The data collected from the video network analyzer 210 can be extracted as network and media session data 212, transformed to fit operational needs and loaded into an analytics database 215. This network and media session data 212 data can include per-media session and per time-interval information. The analytics reporting client 220, with additional ad hoc processing by the analytics database 215, can provide geographic, time-based, and attribute-based views of the collected data through reporting data 217.
In an embodiment of the present invention, the monitoring system 200 is capable of de-capsulating and interpreting 3rd Generation Partnership Project (3GPP) General Packet Radio Service (GPRS) Tunneling Protocol (GTP). This allows the monitoring system 200 to track session mobility as well as monitor the bearer speed and Quality of Service (QoS) the network is delivering. In particular, the video network analyzer 210 supports the 3GPP Gn and Gi interfaces as specified in 3GPP 29.060 v8.11.0. This includes both the control and user data traffic. It should be noted in this context that this version is a Rel-8 standard; however, it is backward compatible to all GPRS Tunneling Protocol versions of UMTS back to Rel-99 standards. In 3G Direct Tunnel deployments of the data distribution network 10, the SGSN 106 is removed from the data path. In this scenario the control plane traffic from user devices 102a-n are routed via the RNC 108 to the SGSN 106, while the user plane traffic is routed directly from the RNC 108 to the GGSN 110. The monitoring system 200 supports this deployment model as long as both the control and user traffic are intercepted and forwarded to the monitoring system 200 system. If the traffic is on separate physical links, two passive taps may be required. If there are multiple physical links, it is possible to use an aggregation switch and port minor the target traffic to the monitoring system 200 system.
In operation, the video network analyzer 210 receives data packets 202 from the monitoring device 208 and begins the de-capsulation process to further identify the data stream inside. In the case where monitoring system 200 is deployed within the wireless network, the first task is to identify which type of mobile network and mobility protocol is used. After packet format and structure have been identified the relevant mobility information is extracted from the protocol and stored with the detailed session information. This can include information such as the International Mobile Subscriber Identity (IMSI), Network Access Identifier (NAI), Mobile Station Integrated Services Digital Network (MSISDN) number, location information (cell sector id) and end-user IP address. If the packet needs to be reconstructed due to fragmentation, the packet is fully reassembled for further data processing. The data packet is then matched to any existing or known flows that monitoring system 200 is monitoring. If the flow is unknown, a new flow is created and managed. The flow is then subjected to deep analysis of the payload to determine if the data contains video information. The packet and flow are then associated to a new or existing media sessions. Media sessions can be made up of multiple flows depending on the type of streaming protocol or delivery method used.
Further processing is employed by video network analyzer 210 to identify the application protocol that is being used to deliver the video data. Once this is determined the protocol is parsed and the key video related information is decoded and analyzed and retrieved for processing and storage. The network and media session data 212 is updated accordingly. Once the packet has been fully processed it is dropped since forwarding the packet is not necessary in a passive monitoring deployment.
The network and media session data 212 includes at least one session metric such as a video Quality of Experience (QoE) score. There are fundamental differences between QoE and Quality of Service (QoS), which are briefly described. QoS is defined as a collection of performance characteristics (objective measures or Key Performance Indicators (KPIs)), that may or may not be related to a particular service. Specifically, QoS refers to a delivery mechanism which is usually multi-service in nature; therefore, the impact of network delivery on the actual application traffic is independent from the network transport characteristics. QoE is how a user perceives the usability of an application or service when in use. Since QoE is dependent on human perception and judgment, it can only be quantified via human measurement. Based on these measurements, models can be developed which approximate the subjective QoE score.
For video application and services, a video QoE is a measure of the subscriber's overall satisfaction when downloading and watching video content. Specific video details such as stalling during playback, the quality of each frame and the frame rate contribute to video QoE. If several packets are retransmitted (in the reliable transport case, e.g. using TCP) or lost (in the unreliable transport case, e.g. using UDP) during transfer the raw packet latency or loss rate (or absolute value) is not helpful in understanding the impact to the subscriber. What is required is knowledge of which packets were retransmitted or lost and how that affected the playback of the video.
It can be challenging to quantify a qualitative characteristic because perception is individualistic and generally conveyed only as an opinion based on shared comparisons. For voice communications, service providers try to form a consensus using a Mean Opinion Score (MOS) which offers a numerical representation of service quality. MOS scores developed for voice communications have become synonymous with QoE for voice calls. The mean scores are calculated by collecting feedback from subjects who listen to audio of varying quality and rate it. With this benchmark in place, MOS scores are commonly collected using software automation. MOS scores were originally developed to measure voice quality using a scale of 1 to 5. Life-like quality is rated as a 5, whereas service quality considered impossible to hear is rated as a 1. 3.5 (somewhere between annoying and fair quality) is considered the quality baseline, while scores below this mark are considered unacceptable. While originally designed for voice services, MOS score principles can also be used to measure service quality for new media services such as video and VoIP.
Video QoE is based on a similar principle of quantifying the QoE to produce a normalized rating for a media session. In an embodiment of the present invention, a zero-reference is employed to determine video QoE for IP-based video communications. Subjective experiments can be conducted to score a range of video streams/devices under a variety of conditions. The results can then be correlated to a model which predicts viewer satisfaction with a particular media session at every point during playback. The video network analyzer 210 quantifies video QoE in three distinct domains of (a) delivery QoE, (b) presentation QoE, and (c) overall or combined QoE. Network analyzer 210 processes packet data 202 to generate network and media session data 212 in the form delivery QoE, presentation QoE, and combined QoE corresponding to a particular media session.
Video network analyzer 210 measures the media delivery protocol directly in the network and extracts the key video information needed to understand what the application is requesting from the network. The Delivery QoE is a measure of how well the network is meeting that need. This calculation may include attributes such as resolution, bitrate, codec, frame rate as well as timing information, such as when the client is requesting the information, how the server is responding to those requests, and how fast the network transmits the media data. The Delivery QoE score expresses how the perceived quality is impacted by the network performance. For example a session that consists of a low quality video streamed over a perfect network would receive a perfect Delivery QoE score. The same low quality video streamed over a poor network would receive a poor Delivery QoE score. Further details regarding the determination of Delivery QoE are presented in conjunction with the copending U.S. patent application Ser. No. 13/053,650, entitled DELIVERY QUALITY OF EXPERIENCE (QoE) IN A COMPUTER NETWORK, having attorney docket no. AVV003US, and filed on Oct. 28, 2010, the contents of which are incorporated herein by reference thereto.
Presentation QoE is a measure of the quality of the media source with respect to the display device, combining both audio and video components, and excludes impairments due to delivery. The Presentation QoE score isolates the perceived quality of the source content and is independent of network delivery issues. As device capabilities including e.g. display size and processing performance increase so do customer expectations. The Presentation QoE algorithm produces a MOS score that gives a relative measurement of the source content quality to the device display capabilities. For example a clip that consists of a low resolution, poorly encoded video and audio would have low Presentation QoE when delivered to a smartphone. The same clip would have an even lower Presentation QoE when delivered to a laptop or PC. Another example is a clip that consists of a high resolution, well-encoded video but poorly encoded audio. In such an example the Presentation QoE would also be low.
A combined QoE score is an overall measure of the quality of experience for the media session due to the combined effects of Delivery and Presentation. It is a combination of the Delivery QoE and Presentation QoE scores.
In addition, network analyzer 210 can process packet data 202 to generate network and media session data 212 in the form of ad probability corresponding to a particular media session. Ad probability can be calculated in several different ways, based on [attributes] such as container or streaming protocol, clip duration, audio and video encoding parameters such as codecs, frame rates and resolution, as well as certain keywords within the URL, and can be represented on a numerical scale or as low, medium and high, or other indicators of ad probability. Every identified media session is inspected to determine the ad probability. Different types of ads including banners ads, pre-roll, interstitial, and post-roll ads can be detected.
In addition, network analyzer 210 can process packet data 202 to generate network and media session data 212 in the form of a network quality score corresponding to a particular media session. The network quality associated with a video session can be generated based on video bitrate and network bandwidth, packet arrival or other video and network metrics. Any of the metrics described above can be used to generate network and media session data 212 in the form of a network quality score from 0 to 100, low, medium and high, or other indicators of video and network quality.
Further, network analyzer 210 can process packet data 202 to generate network and media session data 212 to include protocol identification data, video parameter data (sampling and encoding), and/or audio parameter data (sampling and encoding). In particular, these kinds of network and media session data can identify the particular streaming protocols, transport protocols and media containers used in a particular media session, and indicators of the audio and video codecs employed, audio and video codec profiles, video resolution, video frame rate, the number of audio channels, audio sampling rate and optionally other audio and video parameters.
Also, network analyzer 210 can process packet data 202 to generate network and media session data 212 to include other data such as media site identification data that identifies a media site supplying the video content in the media session. Network and media session data 212 can include information pertaining to a user device 102a-102f that receives the video content in the media session, such as a device category and/or a device operating system of the user device, derived for example from the user agent field in the HTTP protocol, or from a subscriber data base that identifies the device and/or from a correlation of a device model with particular device characteristics from a device database. Network and media session data 212 can include other information pertaining the media session such as total clip duration as authored, and both streamed and viewed duration of the particular clip for the specific session. Network and media session data 212 can also include location information pertaining to the user device 102a-102f. Such location information can be gathered, for example, based on cell location identifiers for the particular access devices 104a-104n servicing the user device 102a-102f, or based on other information received from the data distribution network 10 or gathered from the packet data 202 originating from the user device 102a-102f itself.
The table below presents examples of network and media session data 212 in accordance with an embodiment of the present invention.
In addition to collecting and correlating network and media session data 212 for a particular media session, the analytic reporting client 220 can aggregate data over a plurality of media sessions to permit in-depth analysis of the network and media session data 212. In addition, the analytics reporting client 220 includes a graphical user interface (GUI) that allows system users such as service providers to interactively query the video session data available in the video network analyzer 210. In an embodiment of the present invention, the analytics reporting client 220 is a lightweight, browser-based client implemented using Flash technology to support the interactive, ad hoc querying of the data produced by video network analyzer 210. In addition to the ability to analyze data in real time, the client permits users to compare, print, save and export the reports they create. Reports can be exported in PDF format for inclusion into other reports or presentations. Users can automate the execution of scheduled reports, including the duration and frequency of reporting schedule. Users can create and customize templates to be used in the reporting process so that a common look and feel can be applied across all reports.
In particular, the analytics reporting client 220 allows user to generate reports based on any of the network and media session data 212 described above, either for a single media session or aggregated over multiple media sessions. In addition, filtering is available at the sub-category and attribute levels. For example, a user can generate a report examining specified media sites visited (e.g., youtube.com, googlevideo.com and hulu.com) over a given period of time (e.g., one week). Reports can be generated based on a set of configuration settings that determine the appearance and content of the report. Filters can be specified to include or exclude certain attributes from the report.
Video network analyzer 210 optionally exports some or all of the network and media session data 212 as a structured format Usage Detail Records 214 (UDRs). This allows the key mobile video data session information to be captured and exported for mediation and settlement in the mobile service provider's OSS and BSS systems. In an embodiment of the present invention, the video network analyzer 210 follows the Internet Protocol Detail Record (IPDR) standard for the production of Extensible Markup Language (XML) encoded UDRs 214. The UDRs 214 are stored locally and are collected via file transfer protocol (FTP) by a mediation system for further processing. The following table details the information available per media session via the UDRs:
Also, video network analyzer 210 optionally exports some or all of the network and media session data 212 in real-time via locally generated policy and charging server interface data 216 messages. This allows both manual and automated application-based (video) policy and charging rules and decisions to be applied in the network, e.g.
Memory 244 optionally stores an operating system such as a Linux, Mac OS, MS Windows, Solaris or other operating system and one or more software modules to be executed by the processor 240 including program files, system data, buffers, drivers, utilities and other system programs. In addition, the memory 244 provides storage for the incoming packet data and the stored network and media session data 212 and UDRs 214 and optionally other data. Memory 244 may be a single memory device or a plurality of memory devices. Such a memory device can include a storage area network, network attached storage, as well as one or more dedicated hard disk drives or other disk drives, a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
The processor 240 can be implemented using a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, co-processors, a micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions that are stored in a memory, such as memory 244. Note that when the processor 240 implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
In an embodiment of the present invention, the processor 240 executes packet processing software via application blades within a carrier grade computing platform. The platform is a rack-mountable multi-slotted chassis supporting application blades with high speed interconnect between blades and external network connectivity. Examples of packet processing sub-tasks include
The memory 244 stores a single instance of the payload of packet data 202 with no further copying. The various protocol stack layers operate on the same piece of data by pointing to the appropriate layer offset within the packet in a non-blocking manner. Data can be discarded, and memory released, when it is no longer referenced by any protocol stack layer. This improves packet processing performance. The memory also provides for persistent storage and retrieval of network and media session data 212.
Interface module 238 includes one or more interfaces to other devices that communicate with the monitoring devices 208, databases 124 and other nodes 126: such as direct connectivity to access devices 104a-104n, RNC 108, SGSN 106, GGSN 110 or other nodes of data distribution network 10, via another network connections, to an operational support system/business support system (OSS/BSS) as well as to policy and charging servers associated with the data distribution network 10 or other network node. These interfaces can include can include a universal serial bus (USB) interface, an Ethernet interface, Firewire (IEEE 1394) interface, small computer system interface (SCSI), a Fibre Channel interface, or other interface, either standard or proprietary.
While not specifically shown, the monitoring system 200 can include either an internal or external load balancer to distribute traffic flows to the video network analyzer 210. Where processor 240 includes several independent processors, such as a plurality of application delivery blades, the subscriber traffic corresponding to a particular traffic flow should be consistently forwarded to the same processor for efficient processing.
As shown processor 240 implements application plane processing 242, user plane processing 246 and control plane processing 248 to collect and analyze different levels of the data from the protocol stack of the incoming packet data 202. These three processing planes can be implemented via separate software modules via a single processor or via multiple processors. In particular user plane data can include user data that is extracted from straight IP or tunneled data formatted, for example in accordance with GRE, GTPv1/v2, or other protocols of interest depending, on the type of network, and the type of interface as set forth in the table below.
Control plane data includes in-band network signaling information and other network control data that can be analyzed by processor 240 to produce information that includes location and device type/IMSI, etc. that is formatted for example on the type of network, and the type of interface as set forth in the table below.
Application plane processing can include retrieval and analysis of subscriber and device database data 232 from one or more database in communication with video network analyzer 210 and further node data 234 received from other network nodes of the data distribution network 10. Examples include radio access network (RAN) feeds including signaling information from RAN equipment—e.g. access devices 104a-104n, RNC 108—and/or RAN probes at links 114a-114n, that can be used to generate information pertaining to user location, mobility updates, network congestion, etc. In addition, the application plane processing can be based on device database information obtained from a local copy or remote access to a device database such as Wireless Universal Resource File (WURFL), User Agent Profile (UAProf), Windows Management Instrumentation Device Driver Record (MWI DDR), or other device database. Further subscriber database information from databases such as the Home Location Register (HLR), Home Subscriber Server (HSS), Subscriber Profile Repository (SPR), Authorization and Accounting (AAA), Usage Data Collector (UDC), and UDR, can be used to access subscriber properties, client installed apps, etc.
In operation, the application plane processing 242 can generate network and media session data 212 and/or usage detail records 214 by processing the packet data 202, subscriber and device database data 232 and node data 234 in accordance with one or more models that estimate the condition of the network, the subscriber, the device and or the session itself. Such models include one or more device models, subscriber models, network models, congestion models, session models and/or other models that predict the state of the device, subscriber, the network or network congestion, and of the session based on the packet data 202, subscriber and device database data 232 and node data 234. Examples of such models include the flow models and link models used to generate congestion estimates in conjunction with the copending U.S. patent application Ser. No. 13/053,565, entitled CONGESTION ESTIMATION, having attorney docket no. AVV002US, and filed on Oct. 28, 2011, the contents of which are incorporated herein by reference thereto. A further example of such models includes the media session module, video buffer module and user module used to estimate quality of experience in the copending U.S. patent application Ser. No. 13/053,650 entitled DELIVERY QUALITY OF EXPERIENCE (QoE) IN A COMPUTER NETWORK, having attorney docket no. AVV003US, and filed on Oct. 28, 2011, the contents of which are incorporated herein by reference thereto.
The network and media session data 212 generated by processor 240 can include data that indicates static media clip properties such as content source site, ad probability, clip duration, streaming protocol/container, encryption information such as the particular container/codec, video codec/profile, video bit rate, video resolution, video frame rate, audio codec, audio bit rate, audio channels, and audio sampling rate, etc. The network and media session data 212 generated by processor 240 can also include data that indicates dynamic media session properties that are generated via application plane processing 242 based on one or more models. Examples of such dynamic media session properties include data indicating total transmitted bytes, total transmitted packets, retransmitted bytes, retransmitted packets, congestion by site and by sector, QoE by site and by sector, user location/cellId, streamed duration, played duration, media session QoE in terms of both delivery and presentation quality, maximum and average video buffer fullness, etc. The network and media session data 212 generated by processor 240 can include further data that indicates device properties such as device category, device operating system, screen size, as well subscriber properties such as subscriber tier, current usage, data plan and other subscriber and device information associated with the user device 102-102f involved with a media session.
Memory 254 optionally stores an operating system such as a Linux, Mac OS, MS Windows, Solaris or other operating system and one or more software modules to be executed by the processor 250 including program files, system data, buffers, drivers, utilities and other system programs. In addition, the memory 254 provides storage for the incoming network and media session data 212 and outgoing report data 217 and optionally other data. Memory module 254 may be a single memory device or a plurality of memory devices. Such a memory device can include a storage area network, network attached storage, as well as one or more dedicated hard disk drives or other disk drives, a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
The processor 250 can be implemented using a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, co-processors, a micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions that are stored in a memory, such as memory 254. Note that when the processor 250 implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
In an embodiment of the present invention, the processor 250 executes analytics software via Commercial Off The Shelf (COTS) servers and the memory 254 includes a centralized data storage cluster that provides long-term storage and retrieval of report data 217. It also supports the task of collating the data in accordance with requests from the analytic reporting client 220 to generate any specified preconfigured reports or report data 217. The memory 254 stores data in columns to improve query performance of analytic applications. This enables the analytics database 215 to sift through billions of media session records in seconds in response to ad hoc queries and analytic applications. To further aid with the large amount of storage the database requires, the memory 254 supports aggressive data compression allowing for more views and requiring less physical storage. This reduces the cost and complexity of the necessary storage platforms.
The memory 254 also supports an advanced clustered architecture based on segmentation of data (shared nothing architecture). This allows for the database to be scaled horizontally by adding more nodes to the overall cluster to meet the performance and storage requirements of differing service providers. The memory 254 can include a number of features to ensure against data loss, such as data redundancy. Data redundancy will distribute data to multiple nodes within the cluster to ensure there is more than a single copy, protecting against the loss of a cluster member. During an outage period, the node that stores the redundant copies (referred to as the buddy node) is used to answer the query. For additional data loss prevention, memory 254 includes a built-in buffer with a nominal six hour lifetime. Six hours is a nominal value and may vary depending on service provider traffic models.
In accordance with the present invention, the report data 217 generated based on the network and media session data 212 can be used for such diverse purposes as service assurance in reducing churn and Service Level Agreement (SLA) reporting; in network planning for capacity planning, optimization planning; in service-mix planning, upselling, service differentiation; real-time input into policy and charging control and/or traffic management systems. In addition, network and media session data 212 and/or usage detail records 214 can be generated on a per media session basis for exported into a service provider OSS/BSS system or to a customer relationship management system (CRM) system for service assurance or to a charging gateway function (CGF) for billing purposes. In a similar fashion, network and media session data 212 and/or usage detail records 214 can be exported to third party analytics frameworks that are service provider owned, CDN owned, Ad-network owned or Content-provider owned for data warehousing. Further network and media session data 212 and/or usage detail records 214 can be exported to service architectures to optimize service delivery and/or to Policy and Charging control (PCC) architectures such as policy control reference point (PCRF) or an online charging system (OCS).
The present system includes many features including allowing the computation of QoE scores for individual media sessions. The present system further allows the aggregation of multiple/separate network layer flows into a “media session” possibly from multiple locations—e.g. as seen with seeking and pre-fetching; multiple flows at overlapping locations—e.g. as seen with adaptive streaming when switching quality levels; multiple flows from multiple servers—e.g. as seen with load balancing/CDNs. The video network analyzer 210 can normalize application-level QoE scoring for media traffic across all N media characteristics (e.g. devices—smartphones, laptops, etc—and streaming technologies—Real-time Transport Protocol (RTP), Hypertext Transport Protocol—Progressive Download (HTTP-PD), adaptive streaming, Real-time Messaging Protocol (RTMP), Encrypted Real-time Messaging Protocol (RTMPE), or other media traffic, etc). In addition, the video network analyzer 210 can compute the number and duration of re-buffering events for media sessions and further determine the location and details of stream switches for adaptive streaming media session.
The analytics reporting client 220 can retrieve report data 217 to cross-correlate any number of types of network and media session data 212. For example, the analytics reporting client 220 can track and report on: the number of media sessions at each QoE level by congestion level or by location, user device, operating system, by clip length, etc; the number of media sessions for each streaming protocol or video codec by media site; the number of media sessions at QoE level for ad media session; the number of media sessions at QoE level for source site/CDN, etc.
While the data distribution network 10 has been primarily described in conjunction with a Universal Mobile Telecommunications Service (UMTS), similar deployments may be implemented for other types of cellular networks (e.g., Code Division Multiple Access (CDMA), WiMAX, etc.).
In an embodiment of the present invention, the network and media session data further includes a media site identification data that identifies a media site supplying the video content in the at least one media session. The network and media session data can further include at least one of the following information pertaining the at least one media session: a first duration of the video content; and a second duration of the at least one media session. The session metric can include an advertising probability indicator. The link can operate in accordance with an internet protocol. The packet data can be processed to de-capsulating a tunneling protocol from the link of the data distribution network. The report data can be aggregated over a plurality of media sessions.
In step 410, a plurality of usage detail records are generated, based on the packet data, wherein the usage detail records are formatted for export directly to a service provider support system.
While particular combinations of various functions and features of the present invention have been expressly described herein, other combinations of these features and functions are possible that are not limited by the particular examples disclosed herein are expressly incorporated within the scope of the present invention.
As one of ordinary skill in the art will further appreciate, the term “coupled”, as may be used herein, includes direct coupling and indirect coupling via another component, element, circuit, or module where, for indirect coupling, the intervening component, element, circuit, or module does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As one of ordinary skill in the art will also appreciate, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two elements in the same manner as “coupled”.
As the term module is used in the description of the various embodiments of the present invention, a module includes a functional block that is implemented in hardware, software, and/or firmware that performs one or more functions such as the processing of an input signal to produce an output signal. As used herein, a module may contain submodules that themselves are modules.
Thus, there has been described herein an apparatus and method, as well as several embodiments including a preferred embodiment, for implementing a data distribution network and a monitoring system for use therewith and with networks. Various embodiments of the present invention herein-described have features that distinguish the present invention from the prior art.
It will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than the preferred forms specifically set out and described above. Accordingly, it is intended by the appended claims to cover all modifications of the invention which fall within the true spirit and scope of the invention.