Nothing Special   »   [go: up one dir, main page]

EP2815326A1 - Mobile video delivery - Google Patents

Mobile video delivery

Info

Publication number
EP2815326A1
EP2815326A1 EP12868887.6A EP12868887A EP2815326A1 EP 2815326 A1 EP2815326 A1 EP 2815326A1 EP 12868887 A EP12868887 A EP 12868887A EP 2815326 A1 EP2815326 A1 EP 2815326A1
Authority
EP
European Patent Office
Prior art keywords
bandwidth estimation
server
tcp
self
initiating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP12868887.6A
Other languages
German (de)
French (fr)
Other versions
EP2815326A4 (en
Inventor
Srinivasan Venkatraman
Anand Krishnamurthy
Jae Chung
Paul Sherer
Deepak Garg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Affirmed Networks Inc
Original Assignee
Affirmed Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Affirmed Networks Inc filed Critical Affirmed Networks Inc
Publication of EP2815326A1 publication Critical patent/EP2815326A1/en
Publication of EP2815326A4 publication Critical patent/EP2815326A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the invention generally relates to wireless networks, and more specifically to mobile video delivery.
  • progressive download refers to video delivered by a regular Hypertext Transfer Protocol (HTTP) web server rather than a streaming server.
  • HTTP Hypertext Transfer Protocol
  • video delivered using this technique is stored on a viewer's hard drive as it's received, and then it's played from the hard drive.
  • streaming video is usually not stored (also called cached) locally, so if the viewer can't retrieve and play it in real time, he or she can't play it smoothly at all.
  • HTTP Progressive download is the most common mode of delivering video from the Internet today. Unfortunately, this delivery method does not respond to changing network conditions, which can affect the end user experience.
  • a HTTP PD video object is encoded at 720p. If the network conditions are bad, the video will take a long time to be downloaded and video player will stall waiting for additional frames. For such conditions, the object has to be encoded at a lower rate (perhaps 360p). Similarly, if the network conditions improve, the streamer has to start sending higher quality video segments.
  • the present invention provides methods and apparatus, including computer program products, for mobile video delivery.
  • the invention features a method including, in a mobile network comprising at least a core element and one or more evolved Node Bs (eNBs), receiving a request to initiate a progressive download of a video object, splitting the requested video object into self-contained independent video segments, transrating each of the self-contained independent video segments for different rates, and delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
  • eNBs evolved Node Bs
  • the invention features a server in a mobile network including one or more central processing units (CPUs), and a memory, the memory including an operating system (OS) and a mobile video delivery process, the mobile video delivery process including receiving a request to initiate a progressive download of a video object, splitting the requested video object into self-contained independent video segments, transrating each of the self-contained independent video segments for different rates, and delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
  • CPUs central processing units
  • OS operating system
  • FIG. 1 is a block diagram.
  • FIG. 2 is a block diagram.
  • FIG. 3 is a flow diagram.
  • FIG. 4 is a block diagram.
  • a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • an application running on a server and the server can be a component.
  • One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
  • these components can execute from various computer readable media having various data structures stored thereon.
  • the components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
  • terms like "user equipment,” “mobile station,” “mobile,” “subscriber station,” “communication device,” “access terminal,” “terminal,” “handset,” and similar terminology refer to a wireless device (e.g., cellular phone, smart phone, computer, personal digital assistant (PDA), set-top box, Internet Protocol Television (IPTV), electronic gaming device, printer, etc.) utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream.
  • PDA personal digital assistant
  • IPTV Internet Protocol Television
  • access point refers to a wireless network component or appliance that serves and receives data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream from a set of subscriber stations.
  • Data and signaling streams can be packetized or frame-based flows.
  • This invention described herein applies to all wireless networks regardless of access technology, including Global System for Mobile (GSM), Code Division Multiple Access (CDMA), Long Term Evolution (LTE), WiMAX and so forth.
  • GSM Global System for Mobile
  • CDMA Code Division Multiple Access
  • LTE Long Term Evolution
  • WiMAX WiMAX
  • an exemplary mobile network 10 includes user equipment (UE) 12, such as a smart phone.
  • UE user equipment
  • Other examples of US 12 include, but are not limited to, cellular phone, computer, personal digital assistant (PDA), set-top box, Internet Protocol Television (IPTV), electronic gaming device, printer, tablet, Wi-Fi Hotspot and so forth.
  • the UE 12 is wirelessly linked to an Evolved Node B (eNB) 14.
  • eNB 14 is a radio part of a cell site. A single eNB may contain several radio transmitters, receivers, control sections and power supplies.
  • the eNB 14 is backhauled to a metro ethernet ring 16, which includes a Mobility Management Entity (MME) 18 and a Serving Gateway (SGW) 20.
  • MME Mobility Management Entity
  • SGW Serving Gateway
  • Backhaul is a process of transferring packets or communication signals over relatively long distances to a separate location for processing.
  • the SGW 20 routes and forwards user data packets, while also acting as the mobility anchor for a user plane during inter-eNodeB handovers.
  • the SGW 20 is linked to an Internet Protocol (IP) backbone 22.
  • the IP backbone 22 includes links to a Online Charging System (OCS) 24, an Offline Charging Subsystem (OFCS) 26 and a Policy Control and Charging Function (PCRF) 28.
  • OCS Online Charging System
  • OFCS Offline Charging Subsystem
  • PCRF Policy Control and Charging Function
  • the OCS 24 is a set of interconnected network elements that enable the identification, rating and posting of charges in real time (or near real time).
  • the OFCS 26 receives charging data in the form of Call Detail Records (CDRs) and Diameter accounting messages from network elements after the subscriber incurs network resource usage.
  • CDRs Call Detail Records
  • Diameter accounting messages from network elements after the subscriber incurs network resource usage.
  • the IP backbone 22 includes a network server 30 that implements virtualized open wireless services software architecture for 3G and 4G mobile networks.
  • the network server 30 is linked to a web server 32 through an Internet Service Provider (ISP) 34.
  • the network server 30 includes at least a central processing unit (CPU) 50 and a memory 52.
  • Memory 52 includes at least an operating system (OS) 54, such as Linux, and mobile video delivery process 100, described below.
  • OS operating system
  • the mobile video delivery process 100 includes receiving (102) a request to initiate a progressive download of a video object.
  • the mobile video delivery process 100 splits (104) the requested video object into self-contained independent video segments.
  • the mobile video delivery process 100 transrates (106) each of the self-contained independent video segments for different rates.
  • the mobile video delivery process 100 delivers (108) a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
  • mobile video delivery process 100 splits (104) multi-media content, such as flash video (FLV video), into small chunks, where each segment is a playable unit (i.e., start from a key frame such as I- frame).
  • FLV video flash video
  • Different bit-rate versions for each segment are created and registered to the media server, so that the media server can select an appropriate version for a segment transmission as the available bandwidth changes.
  • HTTP Transmission Control Protocol
  • a FLV video header has a video file size based on the highest bit rate content. This size is also used for a Content-Size header field of a HTTP response header in case the chunked encoding is not supported by the HTTP server or client.
  • the HTTP server estimates the available bandwidth of the Transmission Control Protocol (TCP) link using a bandwidth estimation technique and chooses a version of the segment of which the bit rate best fits the estimatedTCP link bandwidth.
  • TCP Transmission Control Protocol
  • the HTTP media server acts as a HTTP media proxy server deployed within a 3G, 4G access network (AN), behind the PGW or PDSN as part of the AN infrastructure and can obtain more information about a client device or service plan, and can determine an upper limit of content for the device accordingly. For example, there is no need to stream HD quality video for a smart phone due to the limited screen size of the device. Thus, the media server will not even make an attempt to serve high definition (HD) quality media segments although available.
  • HD high definition
  • bandwidth estimation can include one of several methods.
  • bandwidth estimation can be a TCP based bandwidth estimation method that is agnostic of the wireless access protocol.
  • bandwidth estimation is performed by a media server without help of a media player on the other end by monitoring the media server's TCP socket queue length.
  • a proxy server can use any of the following data and techniques in determining the bandwidth of the TCP connection of the client. First, getting the TCP socket queue length periodically and determine the drain rate. Second, run an Active Queue Management (AQM) process, such as RED or Pi-controller, on the socket queue length to detect impending congestion on the TCP link, and estimate bandwidth.
  • AQM Active Queue Management
  • This TCP link bandwidth estimation technique is guaranteed to work for an AN's HTTP media proxy server, since the TCP connection is terminated at the mobile device, which is not the case for general HTTP media servers outside the AN.
  • FIG. 4 depicts the behavior of the server.
  • Another bandwidth estimation process that can be employed is X2 interface based bandwidth estimation for LTE networks.
  • This method may be used by core elements, such as the SGW/PGW/video optimizers, to determine cell-load on eNBs (base stations) in an LTE network.
  • eNBs base stations
  • This information reflects a relatively accurate view of the bandwidth available in an access network.
  • the LTE architecture does not specify any methods by which this information is exchanged between the access and core networks, so the present invention takes advantage of the X2 application protocol (X2AP) interface on the eNBs over which cell loading information is exchanged and can use either of two methods.
  • X2AP X2 application protocol
  • a core network element implements X2AP protocol with an eNB.
  • a core network element acts as a router and all communication between any eNBs goes through the core network element.
  • the core network element then sniffs X2 traffic between the eNBs to determine cell loading.
  • the X2AP protocol runs between any two eNBs.
  • X2AP handles global procedures and user equipment (UE) mobility procedures within E-UTRAN, and provides the following functions:
  • the core network element establishes X2AP protocol with each eNB of interest.
  • the protocol of interest is Load Management and the following messages are of interest:
  • Load Indication an eNB initiates the procedure by sending a LOAD
  • the IE of interest is "UL Interference Overload Indication IE,” which indicates the interference level experienced by the indicated cell on all resource blocks.
  • Resource Status Reporting Initiation This is a procedure used by an eNB to request the reporting of load measurements to another eNB.
  • the requesting side can request Radio Resource load, Hardware Load and SI Load Ies, which contains appropriate load information being experienced on the cell.
  • the load state is either low-load, medium-load, high-load or overload.
  • all XI AP messages are routed through the core network element, i.e., the core network element is used to provide connectivity across the eNBs.
  • the messages of interest are sniffed and the rest are passed through. Cell loading information is obtained by sniffing these messages.
  • implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
  • a programmable processor which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
  • the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • a keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • the systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or that includes a back-end component (e.g., a data server), or
  • middleware component e.g., an application server
  • front-end component e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here
  • back-end component e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here
  • back-end component e.g., middleware, or front-end components.
  • front-end component e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here
  • back-end e.g., middleware, or front-end components.
  • the components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
  • LAN local area network
  • the computing system can include clients and servers.
  • a client and server are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Methods and apparatus, including computer program products, for mobile video delivery. A method includes, in a mobile network comprising at least a core element and one or more evolved Node Bs (eNBs), receiving a request to initiate a progressive download of a video object, splitting the requested video object into self-contained independent video segments, transrating each of the self-contained independent video segments for different rates, and delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.

Description

MOBILE VIDEO DELIVERY
BACKGROUND OF THE INVENTION
[001] The invention generally relates to wireless networks, and more specifically to mobile video delivery.
[002] In general, progressive download refers to video delivered by a regular Hypertext Transfer Protocol (HTTP) web server rather than a streaming server. In most instances, video delivered using this technique is stored on a viewer's hard drive as it's received, and then it's played from the hard drive. In contrast, streaming video is usually not stored (also called cached) locally, so if the viewer can't retrieve and play it in real time, he or she can't play it smoothly at all.
[003] HTTP Progressive download is the most common mode of delivering video from the Internet today. Unfortunately, this delivery method does not respond to changing network conditions, which can affect the end user experience. Consider a case where a HTTP PD video object is encoded at 720p. If the network conditions are bad, the video will take a long time to be downloaded and video player will stall waiting for additional frames. For such conditions, the object has to be encoded at a lower rate (perhaps 360p). Similarly, if the network conditions improve, the streamer has to start sending higher quality video segments.
SUMMARY OF THE INVENTION
[004] The following presents a simplified summary of the innovation in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
[005] The present invention provides methods and apparatus, including computer program products, for mobile video delivery.
[006] In general, in one aspect, the invention features a method including, in a mobile network comprising at least a core element and one or more evolved Node Bs (eNBs), receiving a request to initiate a progressive download of a video object, splitting the requested video object into self-contained independent video segments, transrating each of the self-contained independent video segments for different rates, and delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
[007] In another aspect, the invention features a server in a mobile network including one or more central processing units (CPUs), and a memory, the memory including an operating system (OS) and a mobile video delivery process, the mobile video delivery process including receiving a request to initiate a progressive download of a video object, splitting the requested video object into self-contained independent video segments, transrating each of the self-contained independent video segments for different rates, and delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
[008] Other features and advantages of the invention are apparent from the following description, and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[009] The invention will be more fully understood by reference to the detailed description, in conjunction with the following figures, wherein:
[0010] FIG. 1 is a block diagram.
[0011] FIG. 2 is a block diagram.
[0012] FIG. 3 is a flow diagram.
[0013] FIG. 4 is a block diagram.
DETAILED DESCRIPTION
[0014] The subject innovation is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It may be evident, however, that the present invention may be practiced without these specific details. In other instances, well- known structures and devices are shown in block diagram form in order to facilitate describing the present invention.
[0015] As used in this application, the terms "component," "system," "platform," and the like can refer to a computer-related entity or an entity related to an operational machine with one or more specific functionalities. The entities disclosed herein can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
[0016] In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless specified otherwise, or clear from context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied under any of the foregoing instances. Moreover, articles "a" and "an" as used in the subject specification and annexed drawings should generally be construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form.
[0017] Moreover, terms like "user equipment," "mobile station," "mobile," "subscriber station," "communication device," "access terminal," "terminal," "handset," and similar terminology, refer to a wireless device (e.g., cellular phone, smart phone, computer, personal digital assistant (PDA), set-top box, Internet Protocol Television (IPTV), electronic gaming device, printer, etc.) utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream. The foregoing terms are utilized interchangeably in the subject specification and related drawings. Likewise, the terms "access point," "base station," "Node B," "evolved Node B," "home Node B (HNB)," and the like, are utilized interchangeably in the subject application, and refer to a wireless network component or appliance that serves and receives data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream from a set of subscriber stations. Data and signaling streams can be packetized or frame-based flows.
[0018] Furthermore, the terms "user," "subscriber," "customer," and the like are employed interchangeably throughout the subject specification, unless context warrants particular distinction(s) among the terms.
[0019] This invention described herein applies to all wireless networks regardless of access technology, including Global System for Mobile (GSM), Code Division Multiple Access (CDMA), Long Term Evolution (LTE), WiMAX and so forth. For ease of explanation, the invention will is described in a 4G network environment.
[0020] As shown in FIG. 1, an exemplary mobile network 10 includes user equipment (UE) 12, such as a smart phone. Other examples of US 12 include, but are not limited to, cellular phone, computer, personal digital assistant (PDA), set-top box, Internet Protocol Television (IPTV), electronic gaming device, printer, tablet, Wi-Fi Hotspot and so forth. The UE 12 is wirelessly linked to an Evolved Node B (eNB) 14. The eNB 14 is a radio part of a cell site. A single eNB may contain several radio transmitters, receivers, control sections and power supplies. The eNB 14 is backhauled to a metro ethernet ring 16, which includes a Mobility Management Entity (MME) 18 and a Serving Gateway (SGW) 20. Backhaul is a process of transferring packets or communication signals over relatively long distances to a separate location for processing. The SGW 20 routes and forwards user data packets, while also acting as the mobility anchor for a user plane during inter-eNodeB handovers.
[0021 ] The SGW 20 is linked to an Internet Protocol (IP) backbone 22. The IP backbone 22 includes links to a Online Charging System (OCS) 24, an Offline Charging Subsystem (OFCS) 26 and a Policy Control and Charging Function (PCRF) 28. In general, the OCS 24 is a set of interconnected network elements that enable the identification, rating and posting of charges in real time (or near real time). The OFCS 26 receives charging data in the form of Call Detail Records (CDRs) and Diameter accounting messages from network elements after the subscriber incurs network resource usage. [0022] The IP backbone 22 includes a network server 30 that implements virtualized open wireless services software architecture for 3G and 4G mobile networks. The network server 30 is linked to a web server 32 through an Internet Service Provider (ISP) 34.
[0023] As shown in FIG. 2, the network server 30 includes at least a central processing unit (CPU) 50 and a memory 52. Memory 52 includes at least an operating system (OS) 54, such as Linux, and mobile video delivery process 100, described below.
[0024] As shown in FIG. 3, the mobile video delivery process 100 includes receiving (102) a request to initiate a progressive download of a video object.
[0025] The mobile video delivery process 100 splits (104) the requested video object into self-contained independent video segments.
[0026] The mobile video delivery process 100 transrates (106) each of the self-contained independent video segments for different rates.
[0027] The mobile video delivery process 100 delivers (108) a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
[0028] As described above, mobile video delivery process 100 splits (104) multi-media content, such as flash video (FLV video), into small chunks, where each segment is a playable unit (i.e., start from a key frame such as I- frame). Different bit-rate versions for each segment are created and registered to the media server, so that the media server can select an appropriate version for a segment transmission as the available bandwidth changes.
[0029] For example, in the case of FLV video streaming over Hypertext Transfer
Protocol (HTTP), a FLV video header has a video file size based on the highest bit rate content. This size is also used for a Content-Size header field of a HTTP response header in case the chunked encoding is not supported by the HTTP server or client. At each segment transmission interval, the HTTP server estimates the available bandwidth of the Transmission Control Protocol (TCP) link using a bandwidth estimation technique and chooses a version of the segment of which the bit rate best fits the estimatedTCP link bandwidth.
[0030] The HTTP media server acts as a HTTP media proxy server deployed within a 3G, 4G access network (AN), behind the PGW or PDSN as part of the AN infrastructure and can obtain more information about a client device or service plan, and can determine an upper limit of content for the device accordingly. For example, there is no need to stream HD quality video for a smart phone due to the limited screen size of the device. Thus, the media server will not even make an attempt to serve high definition (HD) quality media segments although available.
[0031] Bandwidth estimation can include one of several methods. For example, bandwidth estimation can be a TCP based bandwidth estimation method that is agnostic of the wireless access protocol. In this example, bandwidth estimation is performed by a media server without help of a media player on the other end by monitoring the media server's TCP socket queue length. A proxy server can use any of the following data and techniques in determining the bandwidth of the TCP connection of the client. First, getting the TCP socket queue length periodically and determine the drain rate. Second, run an Active Queue Management (AQM) process, such as RED or Pi-controller, on the socket queue length to detect impending congestion on the TCP link, and estimate bandwidth.
[0032] This TCP link bandwidth estimation technique is guaranteed to work for an AN's HTTP media proxy server, since the TCP connection is terminated at the mobile device, which is not the case for general HTTP media servers outside the AN. FIG. 4 depicts the behavior of the server.
[0033] Another bandwidth estimation process that can be employed is X2 interface based bandwidth estimation for LTE networks. This method may be used by core elements, such as the SGW/PGW/video optimizers, to determine cell-load on eNBs (base stations) in an LTE network. Typically congestion occurs over an air interface and therefore this information reflects a relatively accurate view of the bandwidth available in an access network. The LTE architecture does not specify any methods by which this information is exchanged between the access and core networks, so the present invention takes advantage of the X2 application protocol (X2AP) interface on the eNBs over which cell loading information is exchanged and can use either of two methods. In a first method, a core network element implements X2AP protocol with an eNB. In a second method, a core network element acts as a router and all communication between any eNBs goes through the core network element. The core network element then sniffs X2 traffic between the eNBs to determine cell loading. [0034] In general, the X2AP protocol runs between any two eNBs. X2AP handles global procedures and user equipment (UE) mobility procedures within E-UTRAN, and provides the following functions:
[0035] Function: Mobility Management
[0036] Elementary procedures: (a) Handover Preparation; (b) SN Status Transfer; (c) UE Context Release; and (d) Handover Cancel
[0037] Function: Load Management
[0038] Elementary procedures: (a) Load Indication; (b) Resource Status Reporting
Initiation; and (c) Resource Status Reporting
[0039] Function: Reporting of General Error Situations
[0040] Elementary procedure: Error Indication
[0041] Function: Resetting the X2
[0042] Elementary procedure: Reset
[0043] Function: Setting up the X2
[0044] Elementary procedure: X2 Setup
[0045] Function: eNB Configuration Update
[0046] Elementary procedures: (a) eNB Configuration Update; and (b) Cell Activation
[0047] Function: Mobility Parameters Management
[0048] Elementary procedure: Mobility Settings Change
[0049] Function: Mobility Robustness Optimization
[0050] Elementary procedures: (a) Radio Link Failure Indication; and (b) Handover
Report
[0051] Function: Energy Saving
[0052] Elementary procedures: (a) eNB Configuration Update; and (b) Cell Activation [0053] In the first method, the core network element establishes X2AP protocol with each eNB of interest. The protocol of interest is Load Management and the following messages are of interest:
[0054] Load Indication: an eNB initiates the procedure by sending a LOAD
INFORMATION message to eNBs controlling intra- frequency neighboring cells. The IE of interest is "UL Interference Overload Indication IE," which indicates the interference level experienced by the indicated cell on all resource blocks.
[0055] Resource Status Reporting Initiation: This is a procedure used by an eNB to request the reporting of load measurements to another eNB.
[0056] In the request message, the requesting side can request Radio Resource load, Hardware Load and SI Load Ies, which contains appropriate load information being experienced on the cell. The load state is either low-load, medium-load, high-load or overload.
[0057] These responses can be periodically generated based on the registration schemes set in the request message and can be cancelled if required.
[0058] In the second method, all XI AP messages are routed through the core network element, i.e., the core network element is used to provide connectivity across the eNBs. The messages of interest are sniffed and the rest are passed through. Cell loading information is obtained by sniffing these messages.
[0059] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs
(application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0060] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level nrocedural and/or obiect-oriented programming language, and/or in assembly/machine language. As used herein, the terms "machine-readable medium" "computer-readable medium" refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
[0061] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0062] The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., a data server), or that includes a
middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.
[0063] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0064] The foregoing description does not represent an exhaustive list of all possible implementations consistent with this disclosure or of all possible variations of the
implementations described Δ ^nn ^r- i™ i ^™^n+a+i,™c v» a^e been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the systems, devices, methods and techniques described here. For example, various forms of the flows shown above may be used, with steps re-ordered, added, or removed. Accordingly, other implementations are within the scope of the following claims.
[0065] What is claimed is:

Claims

1. A method comprising:
in a mobile network comprising at least a core element and one or more evolved Node Bs (eNBs), receiving a request to initiate a progressive download of a video object; splitting the requested video object into self-contained independent video segments; transrating each of the self-contained independent video segments for different rates; and
delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
2. The method of claim 1 wherein each of the self-contained independent video segments is a playable unit.
3. The method of claim 1 wherein transrating each of the self-contained independent video segments for different rates further comprises registering each of the different bit rate versions with a media server so that the media server can select an appropriate version for a segment transmission as available bandwidth changes.
4. The method of claim 1 wherein bandwidth estimation comprises Transmission Control Protocol (TCP) based bandwidth estimation.
5. The method of claim 4 wherein TCP based bandwidth estimation comprises monitoring a media server's TCP socket queue length.
6. The method of claim 5 wherein monitoring the media server's TCP socket queue length comprises:
obtaining the TCP socket queue length periodically to determine a drain rate; and executing an Active Queue Management (AQM) process on the TCP socket length to detect impending congestion on the TCP link.
7. The method of claim 1 wherein bandwidth estimation comprises X2 interface based bandwidth estimation for Long Term Evolution (LTE) networks.
8. The method of claim 7 wherein the X2 interface based bandwidth estimation for LTE networks comprises:
establishing X2AP protocol with each eNB;
initiating a load indication;
initiating a resource status reporting; and
determining a resource status reporting.
9. The method of claim 7 wherein the X2 interface based bandwidth estimation for LTE networks comprises:
routing all XI AP messages through the core network element; and
for messages of interest, initiating a load indication, initiating a resource status reporting, and
determining a resource status reporting.
10. A server in a mobile network comprising:
one or more central processing units (CPUs); and
a memory, the memory comprising an operating system (OS) and a mobile video delivery process, the mobile video delivery process comprising:
receiving a request to initiate a progressive download of a video object;
splitting the requested video object into self-contained independent video segments; transrating each of the self-contained independent video segments for different rates; and
delivering a segment from a rate bucket that matches a current network condition determined by bandwidth estimation.
11. The server of claim 10 wherein each of the self-contained independent video segments is a playable unit.
12. The server of claim 10 wherein transrating each of the self-contained independent video segments for different rates further comprises registering each of the different bit rate versions with a media server so that the media server can select an appropriate version for a segment transmission as available bandwidth changes.
13. The server of claim 10 wherein bandwidth estimation comprises Transmission Control Protocol (TCP) based bandwidth estimation.
14. The server of claim 13 wherein TCP based bandwidth estimation comprises monitoring a media server's TCP socket queue length.
15. The server of claim 14 wherein monitoring the media server's TCP socket queue length comprises:
obtaining the TCP socket queue length periodically to determine a drain rate; and executing an Active Queue Management (AQM) process on the TCP socket length to detect impending congestion on the TCP link.
16. The server of claim 10 wherein bandwidth estimation comprises X2 interface based bandwidth estimation for Long Term Evolution (LTE) networks.
17. The server of claim 16 wherein the X2 interface based bandwidth estimation for LTE networks comprises:
establishing X2AP protocol with each eNB;
initiating a load indication;
initiating a resource status reporting; and
determining a resource status reporting.
18. The server of claim 16 wherein the X2 interface based bandwidth estimation for LTE networks comprises:
routing all XI AP messages through the core network element; and
for messages of interest, initiating a load indication, initiating a resource status reporting, and
determining a resource status reporting.
EP12868887.6A 2012-02-13 2012-02-13 Mobile video delivery Withdrawn EP2815326A4 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/024921 WO2013122569A1 (en) 2012-02-13 2012-02-13 Mobile video delivery

Publications (2)

Publication Number Publication Date
EP2815326A1 true EP2815326A1 (en) 2014-12-24
EP2815326A4 EP2815326A4 (en) 2015-10-07

Family

ID=48984553

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12868887.6A Withdrawn EP2815326A4 (en) 2012-02-13 2012-02-13 Mobile video delivery

Country Status (6)

Country Link
EP (1) EP2815326A4 (en)
JP (1) JP6045608B2 (en)
KR (1) KR101884969B1 (en)
CN (1) CN104583996B (en)
HK (1) HK1209876A1 (en)
WO (1) WO2013122569A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9622145B2 (en) 2014-12-05 2017-04-11 At&T Intellectual Property I, L.P. Wireless network architecture for providing media content
CN106303611B (en) * 2015-06-02 2020-09-08 中兴通讯股份有限公司 Method and system for realizing film source pushing
CN110290030A (en) * 2019-08-12 2019-09-27 北京字节跳动网络技术有限公司 Network state detection method, apparatus, electronic equipment and computer-readable medium
CN114363641A (en) * 2020-10-13 2022-04-15 阿里巴巴集团控股有限公司 Target video generation method and device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835437B1 (en) * 2003-03-10 2010-11-16 Ji Zhang Statistical remultiplexing of compressed video segments
US7706261B2 (en) * 2004-08-27 2010-04-27 Jinshen Sun Queue-based active queue management process
CN100531210C (en) * 2006-01-12 2009-08-19 北京邮电大学 Method of seamless switching for transmission of mobile stream media
EP2165481B1 (en) * 2007-07-09 2011-12-28 Telefonaktiebolaget L M Ericsson (publ) Adaptive rate control in a communications system
US8527647B2 (en) * 2009-10-06 2013-09-03 Unwired Planet, Inc. Managing network traffic using intermediate flow control
JP2011087103A (en) * 2009-10-15 2011-04-28 Sony Corp Provision of content reproduction system, content reproduction device, program, content reproduction method, and content server
US9124642B2 (en) * 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
JP5654769B2 (en) * 2010-04-23 2015-01-14 京セラ株式会社 Radio base station and communication control method
US8504713B2 (en) * 2010-05-28 2013-08-06 Allot Communications Ltd. Adaptive progressive download

Also Published As

Publication number Publication date
JP2015516702A (en) 2015-06-11
CN104583996B (en) 2018-01-09
HK1209876A1 (en) 2016-04-08
CN104583996A (en) 2015-04-29
KR20140126746A (en) 2014-10-31
EP2815326A4 (en) 2015-10-07
KR101884969B1 (en) 2018-08-02
WO2013122569A1 (en) 2013-08-22
JP6045608B2 (en) 2016-12-14

Similar Documents

Publication Publication Date Title
US10560877B2 (en) Method and system for managing wireless connectivity in a communication system
US9338212B2 (en) Multi-interface adaptive bit rate session management
US9159085B2 (en) Application performance improvements in radio networks
US8441955B2 (en) Determining mobile video quality of experience and impact of video transcoding
KR101750139B1 (en) Method and apparatus for synchronizing mobile station media flows during a collaborative session
US11271862B2 (en) Service delivery in a communication network
US9252916B2 (en) Mobile video delivery
US8978056B2 (en) Video loading control
KR101884969B1 (en) Mobile video delivery
CN105682014B (en) Communication method and system, access network equipment and application server
US20130324075A1 (en) Data Loading Control
JP2016086282A (en) Radio terminal, network device and method therefor
US20130095815A1 (en) Packet gateway integrated with content management for 3g and 4g mobile networks
US20150223105A1 (en) Modifying feedback information to control a source device
CN117560523A (en) Network function entity, wireless communication method thereof and storage medium
WO2013055355A2 (en) Packet gateway integrated with content management for 3g and 4g mobile networks

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20140910

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
RA4 Supplementary search report drawn up and despatched (corrected)

Effective date: 20150909

RIC1 Information provided on ipc code assigned before grant

Ipc: H04W 28/02 20090101ALI20150903BHEP

Ipc: H04L 29/06 20060101ALI20150903BHEP

Ipc: H04N 21/845 20110101ALI20150903BHEP

Ipc: H04N 21/2343 20110101ALI20150903BHEP

Ipc: G06F 15/16 20060101AFI20150903BHEP

Ipc: H04N 21/61 20110101ALI20150903BHEP

Ipc: H04N 21/24 20110101ALI20150903BHEP

Ipc: H04N 21/472 20110101ALI20150903BHEP

17Q First examination report despatched

Effective date: 20180508

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20181120