ABR video white spot coverage system and method
A scheme for managing ABR streaming of content in a wireless radio network environment that may have radio white spot areas. Upon determining that the wireless UE device executing an ABR client application is in a radio white spot area, the current ABR streaming session may be suspended at a particular segment. Thereafter, playback of other content locally cached at the wireless UE device may be commenced in lieu of the ABR media segments. When the wireless UE device exits the radio white spot area, the ABR streaming session may be resumed from a point adjacent to the particular segment where the ABR streaming session was suspended.
Latest ERICSSON AB Patents:
- System and method for effectuating fast channel change in an adaptive streaming environment
- Controlling delivery of video programs using user defined identifiers for video receiver devices
- Media distribution system with manifest-based entitlement enforcement
- System and method for optimizing defragmentation of content in a content delivery network
- Wireless communications package with integrated antenna array
This application is a Continuation of U.S. patent application Ser. No. 14/200,491, filed on Mar. 7, 2014 and discloses subject matter that is related to the subject matter of the following commonly-owned U.S. patent application(s): (i) “ADAPTIVE VIDEO WHITE SPOT LEARNING AND USER BANDWIDTH DELIVERY CONTROL SYSTEM” (Ericsson Ref. No.: P40959-US1), application Ser. No. 14/036,841, filed Sep. 25, 2013, in the name(s) of Christopher Phillips et al., now issued as U.S. Pat. No. 9,444,870; (ii) “CONFLICT DETECTION AND RESOLUTION IN AN ABR NETWORK” (Ericsson Ref. No.: P42221-US1), application Ser. No. 14/194,868, filed Mar. 3, 2014, in the name(s) of Christopher Phillips et al.; (iii) “CONFLICT DETECTION AND RESOLUTION IN AN ABR NETWORK USING CLIENT INTERACTIVITY” (Ericsson Ref. No.: P42767-US1), application Ser. No. 14/194,918, filed Mar. 3, 2014, in the name(s) of Christopher Phillips et al., now issued as U.S. Pat. No. 9,455,932; and (iv) “TIME-SENSITIVE CONTENT MANIPULATION IN ADAPTIVE STREAMING BUFFER” (Ericsson Ref. No.: P39531-US1), application Ser. No. 14/179,876, filed Feb. 13, 2014, in the name(s) of Jennifer Reynolds et al., now issued as U.S. Pat. No. 9,210,207, each of which is hereby incorporated by reference in its entirety.
FIELD OF THE DISCLOSUREThe present disclosure generally relates to communication networks. More particularly, and not by way of any limitation, the present disclosure is directed to a scheme for managing coverage in a wireless network environment configured to facilitate adaptive bitrate (ABR) streaming of content.
BACKGROUNDWhile mobile radio data network coverage is widespread, there may be areas where data coverage is low or where there is enough channel noise due to various factors such as, e.g., structures, interference, weather, etc. Although phone calls can generally overcome these issues by switching to a different network protocol, video delivered over data networks generally cannot. Accordingly, when consuming video via ABR streaming while traveling though an area of low coverage or poor signal quality, it is becomes necessary to manage a user's experience in a satisfactory manner.
SUMMARYThe present patent disclosure is broadly directed to systems, methods, apparatuses, devices, and associated non-transitory computer-readable media for managing ABR streaming sessions in a wireless network environment that may have potential video outage areas (also referred to herein as “white spots”). In one embodiment, a radio white spot coverage method for a wireless user equipment (UE) device engaged in an ABR streaming session is disclosed. The claimed embodiment comprises, inter alia, determining that the wireless UE device is in a radio white spot area (i.e., an area having poor video QoS); suspending and/or redirecting the current ABR streaming session at a particular segment; commencing play back of other content (i.e., alternative content) locally cached at the wireless UE device; determining that the wireless UE device is exiting the radio white spot area; and resuming the ABR streaming session from a point adjacent to the particular segment where the ABR streaming session was suspended.
In another aspect, an embodiment of a wireless UE device is disclosed, which comprises, inter alia, a cache for storing advertisements downloaded from a network entity while the wireless UE device is in radio coverage area having sufficient signal quality for supporting an overall bandwidth rate that is greater than a bandwidth rate necessary for facilitating an ABR streaming session of content encoded at a highest bitrate (e.g., as indicated in an ABR manifest file); an ABR buffer for storing media segments encoded at different bitrates pursuant to an ABR streaming session; an ABR client player configured to play back content out of the ABR buffer; and one or more processors coupled to a persistent memory having program instructions for controlling the ABR client player to play stored advertisements instead of media segments when the wireless UE device is in a radio white spot area.
In a still further aspect, an embodiment of a mobile-optimized ABR stream delivery server for facilitating ABR streaming sessions in a wireless radio network environment is disclosed. The claimed embodiment comprises, inter alia, one or more processors; an outage area request module operating under control of the one or more processors and configured to request anticipated video outage areas with respect to a wireless UE device, the anticipated video outage areas being based on the wireless UE device's current location and estimated direction of travel in the wireless radio network environment; an advertisement request module operating under control of the one or more processors for obtaining advertisement content from an advertisement server, wherein the advertisement content is relevant with respect to the anticipated video outage areas of the wireless UE device; and a delivery module operating under control of the one or more processors and configured to: effectuate delivery of ABR media segments encoded at different bitrates and associated manifest files to the wireless UE device pursuant to an ABR streaming session when the wireless UE device is not in a video outage area; effectuate delivery of the advertisement content to the wireless UE device for local storage thereat; and provide updated manifest files to the wireless UE device containing location pointers to the locally stored advertisements for playback by the wireless UE device's ABR client when the wireless UE device is in a video outage area.
In a related aspect, an embodiment of a method for pre-populating advertisements in a wireless radio network environment is disclosed. The claimed embodiment comprises, inter alia, determining that a manifest file associated with a wireless UE device's current ABR streaming session is unencrypted, wherein the wireless UE device is operative in or otherwise associated with a vehicle (i.e., a UE-carrying vehicle) traveling in a geographical area of the wireless radio network environment; parsing the manifest file for determining ABR profile bitrates used for encoding different media segments of the current ABR streaming session; determining that the wireless UE device's overall bandwidth exceeds a highest bitrate indicated in the manifest file; determining at least one of a location and direction of travel associated with the wireless UE device; determining that the wireless UE device is headed in a direction likely to encounter a video outage area; obtaining location coordinates of the video outage area and calculating an estimated time for traversing through the video outage area; obtaining advertisements relevant to the video outage area wherein the advertisements are estimated to last for a duration required to traverse the video outage area; and controlling delivery of the advertisements to the wireless UE device at a delivery rate based on an amount by which the wireless UE device's overall bandwidth exceeds the highest bitrate indicated in the manifest file of the current ABR streaming session.
In a further related aspect, an embodiment of a method operating at an optimized ABR stream delivery server is disclosed. The claimed embodiment comprises, inter alia, determining that a wireless UE device engaged in an ABR streaming session has entered a video outage area; updating a manifest file to reference at least one of an encoded notification message that the wireless UE device is out of video coverage and one or more advertisements stored locally within the wireless UE device; and transmitting the updated manifest file to the wireless UE device, whereupon an ABR client executing on the wireless UE device is operative to play back at least one of the encoded notification message and one or more advertisements while the wireless UE device is within the video outage area.
In a still further related aspect, an embodiment of a method operating at a wireless UE device is disclosed. The claimed embodiment comprises, inter alia, receiving or otherwise obtaining a notification that the wireless UE device is in a video outage area of a wireless radio network environment; continuing to play back media segments of the streaming session from an ABR buffer associated with the ABR client; determining whether the ABR buffer is drained; if so, saving a next media segment's existing state based on the streaming session's manifest; and commencing play back of one or more advertisements stored in a local cache of the wireless UE device.
In still further aspects, one or more embodiments of a non-transitory computer-readable medium containing computer-executable program instructions or code portions stored thereon are disclosed for performing one or more embodiments of the methods set forth above when executed by a processor entity of a network node, element, UE device, and the like, mutatis mutandis. Further features of the various embodiments are as claimed in the dependent claims.
Advantages of the present invention include, but not limited to, the ability to adapt to ad hoc issues such as, e.g., inclement weather interference, variable low radio quality, noise, etc. that may be encountered in a wireless ABR streaming environment, wherein there is usually enough bandwidth in normal conditions to both pre-cache advertisement clips as well as watch a video or other requested programming simulataneously. As will be seen hereinbelow, a video outage learning process accompanying one or more implementations is operative to provide a video QoS-aware location database with respect to an wireless network environment. Accordingly, advertisement segments and other alternative information pre-cached or pre-populated for users may be tailored to user demographic information and/or outage locations, which provides for an enriched user experience that not only feels less intrusive but also more informative. Because both pre-caching and streaming of ABR media segments may be facilitated when adequate bandwidth is available in the network, only minimal or no special implementational modifications are necessary with respect to deploying certain embodiments of the present disclosure in order to receive tailored advertisements. Further, as the advertisement clips typically need less data than normal video streaming, multiple advertisement clips can be cached once and played back several times, with the ability to update the clips relevant to newer video outage areas when needed. Additional benefits and advantages of the embodiments will be apparent in view of the following description and accompanying Figures.
Embodiments of the present disclosure are illustrated by way of example, and not by way of limitation, in the Figures of the accompanying drawings in which like references indicate similar elements. It should be noted that different references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references may mean at least one. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
The accompanying drawings are incorporated into and form a part of the specification to illustrate one or more exemplary embodiments of the present disclosure. Various advantages and features of the disclosure will be understood from the following Detailed Description taken in connection with the appended claims and with reference to the attached drawing Figures in which:
In the following description, numerous specific details are set forth with respect to one or more embodiments of the present patent disclosure. However, it should be understood that one or more embodiments may be practiced without such specific details. In other instances, well-known circuits, subsystems, components, structures and techniques have not been shown in detail in order not to obscure the understanding of the example embodiments. Accordingly, it will be appreciated by one skilled in the art that the embodiments of the present disclosure may be practiced without such specific components. It should be further recognized that those of ordinary skill in the art, with the aid of the Detailed Description set forth herein and taking reference to the accompanying drawings, will be able to make and use one or more embodiments without undue experimentation.
Additionally, terms such as “coupled” and “connected,” along with their derivatives, may be used in the following description, claims, or both. It should be understood that these terms are not necessarily intended as synonyms for each other. “Coupled” may be used to indicate that two or more elements, which may or may not be in direct physical or electrical contact with each other, co-operate or interact with each other. “Connected” may be used to indicate the establishment of communication, i.e., a communicative relationship, between two or more elements that are coupled with each other. Further, in one or more example embodiments set forth herein, generally speaking, an element, component or module may be configured to perform a function if the element is capable of performing or otherwise structurally arranged to perform that function.
As used herein, a network element or node may be comprised of one or more pieces of service network equipment, including hardware and software that communicatively interconnects other equipment on a network (e.g., other network elements, end stations, etc.), and is adapted to host one or more applications or services with respect to a plurality of subscribers. As such, some network elements may be disposed in a wireless radio network environment whereas other network elements may be disposed in a public packet-switched network infrastructure, including or otherwise involving suitable content delivery network (CDN) infrastructure. Accordingly, some network elements may comprise “multiple services network elements” that provide support for multiple network-based functions (e.g., A/V media management, session control, Quality of Service (QoS) policy enforcement, bandwidth scheduling management, subscriber/device policy and profile management, content provider priority policy management, streaming policy management, advertisement push policy management, and the like), in addition to providing support for multiple application services (e.g., data and multimedia applications). Subscriber end stations or client devices may comprise any device configured to execute, inter alia, a streaming client application (e.g., an ABR streaming client application) for receiving content from one or more content providers, e.g., via mobile telephony networks. Such client devices may therefore include portable laptops, netbooks, palm tops, tablets, mobile phones, smartphones, multimedia phones, Voice Over Internet Protocol (VOIP) phones, mobile/wireless user equipment, portable media players, portable gaming systems or consoles (such as the Wii®, Play Station 3®, etc.) and the like that may access or consume content/services provided over a content delivery network via a suitable high speed wireless connection for purposes of one or more embodiments set forth herein. Further, the client devices may also access or consume content/services provided over broadcast networks (e.g., cable and satellite networks) as well as a packet-switched wide area public network such as the Internet via suitable service provider access networks. In a still further variation, the client devices or subscriber end stations may also access or consume content/services provided on virtual private networks (VPNs) overlaid on (e.g., tunneled through) the Internet.
One or more embodiments of the present patent disclosure may be implemented using different combinations of software, firmware, and/or hardware. Thus, one or more of the techniques shown in the Figures (e.g., flowcharts) may be implemented using code and data stored and executed on one or more electronic devices or nodes (e.g., a subscriber client device or end station, a network element, etc.). Such electronic devices may store and communicate (internally and/or with other electronic devices over a network) code and data using computer-readable media, such as non-transitory computer-readable storage media (e.g., magnetic disks, optical disks, random access memory, read-only memory, flash memory devices, phase-change memory, etc.), transitory computer-readable transmission media (e.g., electrical, optical, acoustical or other form of propagated signals—such as carrier waves, infrared signals, digital signals), etc. In addition, such network elements may typically include a set of one or more processors coupled to one or more other components, such as one or more storage devices (e.g., non-transitory machine-readable storage media) as well as storage database(s), user input/output devices (e.g., a keyboard, a touch screen, a pointing device, and/or a display), and network connections for effectuating signaling and/or bearer media transmission. The coupling of the set of processors and other components may be typically through one or more buses and bridges (also termed as bus controllers), arranged in any known (e.g., symmetric/shared multiprocessing) or heretofore unknown architectures. Thus, the storage device or component of a given electronic device or network element may be configured to store code and/or data for execution on one or more processors of that element, node or electronic device for purposes of implementing one or more techniques of the present disclosure.
Referring now to the drawings and more particularly to
The wireless UE devices 108-1 to 108-N are shown to be in wireless communication (via respective radio links 110-1 to 110-N) with the wireless network 102 through one or more base stations, e.g., base station (BS) 104 (also interchangeably referred to herein as a “mobile communication network node” or simply a “node”) of the network 102. The example base station 104 may provide radio interface (in the form of suitable Radio Frequency (RF) links depending on the particular mobile communications technology) to devices 108-1 to 108-N via appropriate antenna elements. By way of example, the base station 104 may comprise a base station in a Third Generation (3G) network, or an evolved Node-B (eNodeB or eNB) when the carrier network is a Third Generation Partnership Project's (3GPP) Long Term Evolution (LTE) network. In some example embodiments, the base station 104 may also include a site controller, an access point (AP), a radio tower, or any other type of radio interface device capable of operating in a wireless environment. In addition to providing air interface or wireless channel (e.g., as represented by wireless links 110-1 to 110-N) to the wireless UE devices, the communication node (or base station) 104 may also perform radio resource management (as, for example, in case of an eNodeB in an LTE system). In case of a 3G carrier network, example base station 104 may include functionalities of a 3G base station along with some or all functionalities of a 3G Radio Network Controller (RNC). Additionally, base station 104 may be part of an Access Network (AN) (not shown) portion of the carrier network 102, wherein the AN may be a 3GPP cellular AN or an International Mobile Telecommunication (IMT) Radio Access Network (RAN) such as, for example, a Universal Terrestrial Radio Access Network (UTRAN), an Evolved-UTRAN (E-UTRAN), a GSM/EDGE RAN (GERAN), a Worldwide Interoperability for Microwave Access (WiMAX) network, and the like.
Example carrier network 102 may include a network controller 106 coupled to the base station 104 for providing logical and control functions relative to, e.g., roaming support and/or terminal mobility management, subscriber account management, billing, etc., as well as accessing of external networks or communication entities and delivery of streamed A/V content from one or more content sources. By way of example, connectivity to other networks or infrastructures such as, for instance, the Internet 112, CDN 116 and a circuit-switched landline telephone network (i.e., a Public-Switched Telephone Network or PSTN) 114, is illustrated. In case of an LTE carrier network, network controller 106 may include some or all functionalities of an Access Gateway (AGW) or an Evolved Packet Core (EPC) node. In certain embodiments, such functionalities may comprise, for example, an IMT core network functionality or an ETSI TISPAN (European Telecommunications Standards Institute TIPHON (Telecommunications and Internet Protocol Harmonization over Networks) and SPAN (Services and Protocols for Advanced Networks)) core network functionality. Regardless of a particular implementation of the carrier network, base station 104 and/or network controller functionality 106 may be configured to facilitate, in conjunction with or independent of one or more external network entities and databases, a methodology for controlling delivery of ABR streaming sessions to wireless UE devices in potential video outage areas that may be encountered in the wireless network environment 100, as will be set forth in detail hereinbelow.
In general, the overlay architecture of CDN 116 may include a multi-level, hierarchically-organized interconnected assembly of network servers for providing media pathways or “pipes” from one or more central distribution nodes to one or more levels of regional distribution nodes that are connected to one or more local edge servers and/or radio network entities configured to serve a plurality of end users or subscribers in respective serving location areas. In addition to such “distribution servers”, CDN 116 may also include and/or interoperate with various network elements configured to effectuate request redirection or rerouting mechanisms as well as related back office systems or nodes such as operator/subscriber policy management systems, bandwidth scheduling systems, account/billing systems, and the like, that may be deployed as part of a streaming network back office infrastructure (not specifically shown in
Continuing to refer to
After determining that the wireless UE device is in a radio white spot area, a further determination may be made to suspend, terminate or otherwise disable or redirect the current ABR streaming session of the wireless UE device (block 304). Such deactivation or redirection may take place immediately or at some other relevant point with respect to the media segments being streamed, e.g., upon completion of a current media segment. Further, the ABR client of the wireless UE device may be instructed to commence playback of other content locally cached or otherwise buffered at the wireless UE device while the ABR streaming session is in a deactivation/redirection mode. The locally available alternative content may comprise advertisements, weather reports, news clips, etc., that may be relevant with respect to (i) the video outage area that the wireless UE device is in; (ii) demographic information of the wireless UE device user; (iii) the user's estimated travel route passing through the video outage area; and/or some other user- or network-specified information identified for preloading, etc., in any combination thereof. The amount of such alternative content available for playback or play-out may be predetermined based on the estimated time it may take for the vehicle/UE device to traverse a particular video outage area. At some future time, based on determining that the wireless UE device is exiting the video outage area or lapse of a known estimate of time required to traverse the video outage area, the ABR streaming session may be (re)commenced or resumed from the point where it was suspended (e.g., from a media segment adjacent to the particular segment that was last played), as set forth at blocks 306 and 308.
Reference numeral 300B in
Accordingly, by virtue of the manifest file information, the ABR client is made aware of the available streams at different bitrates, and segments of the streams, whereby the client can switch between streaming the different encoded segments depending on available network resources. For example, when the network throughput has deteriorated, e.g., as a wireless UE device approaches a video outage area, the ABR client may find that the download speed for a currently-downloaded segment is lower than the bit rate (or, synonymously “bitrate”) specified for that segment in the manifest file. In that event, the client may request that the next segment be at that lower bitrate. Similarly, if the client finds that the download speed of the currently-downloaded segment is greater than the manifest file-specified bitrate of the segment downloaded, then the client may request that next segments be at that higher bitrate. Therefore, it should be recognized that an ABR buffer may contain requested media segments at different video qualities (e.g., lower bitrate content having a lower quality versus higher bitrate content having a correspondingly higher quality). Accordingly, before suspending an ongoing ABR streaming session due to, for example, encountering a video outage area, a determination may be made to continue to play back the lower bitrate media segments that have been previously downloaded into the ABR buffer (block 352). Playback of such lower bitrate content may take place until the ABR buffer is completely exhausted or, if the buffer has stored progressively lower quality segments, upon reaching a certain minimum threshold quality acceptable to the user. Further, either upon exhausting the buffer or reaching the quality threshold, one or more notifications may be provided to the user that the wireless UE client device is entering an outage area and/or the quality is unacceptable. The notifications may also indicate that the current ABR streaming session is being suspended and alternative content (e.g., advertisements) may be played back instead (block 354). Similarly, when the wireless UE client device is exiting or out of a radio white spot, appropriate messages may be provided (block 356).
It should be appreciated that the foregoing blocks, steps and/or acts of
Taking reference to
To facilitate ABR streaming and alternative content pushing for local storage, a number of network nodes or elements may be configured to interface with or otherwise be included as part of the wireless network environment. A mobile-optimized ABR stream delivery server 414, which may be provided as part of a network controller node, is configured to deliver ABR content to wireless UE devices via respective sessions established through the serving base stations of the wireless network environment, wherein the content being delivered may originate from any number of content sources and/or may involve appropriate CDN infrastructure elements (not shown in
Continuing to refer to
Turning to
If there is additional bandwidth as determined at block 510, a further determination may be made to determine at least one of a location and direction of travel associated with the UE-carrying vehicle 410 (block 514). As explained previously, such a determination may be effectuated using any known or heretofore unknown location techniques available with respect to the wireless network environment 400 depending on its radio technology implementation. Thereafter, one or more determinations may be made as to whether the UE-carrying vehicle 410 is headed in a direction likely to encounter a video outage area (i.e., a radio white spot), and if so, what its coordinates are and how long it will take to traverse through it, which determinations/decisions and associated calculations may be effectuated by way of one or more request/response mechanisms with respect to the video quality location awareness server 418 and associated geo-location database 420 having relevant video outage information, as set forth at blocks 516, 518, 520 and 522. Illustratively, a request/query 430 to the video quality location awareness server 418 may comprise:
-
- Request anticipated Video Outage;
- Location: Client Location: 19.9423 Deg North; 155.9985 Deg West;
- Heading: 110 Deg East;
- Speed: 60 mph
Responsive thereto, the video quality location awareness server 418 may provide a response 432 that comprises the following with respect to the travel path 401:
-
- Response;
- Outage Begin 19.0323 Deg North; 155.0012 Deg West;
- Interval: 5 min 30 Sec
If the current heading indicates no upcoming outage, further monitoring and processing for pre-population of advertisement content may be refrained as before (block 508). Otherwise, upon obtaining location coordinates of the video outage area and estimated travel time through video outage (block 520, 522), one or more request/response mechanisms may be carried out with respect to the alternative content server/system 426 and associated media segment database 428 via network 424 for obtaining suggested advertisements that cover the outage area time (blocks 524, 526). In
-
- Calculated Outage Location;
- Location: Client Location: 19.0323 Deg North; 155.0012 Deg West;
- User Demographic Information: Age, Gender, Etc.
Responsive thereto, an example response 442 may include the following information:
-
- 6 advertisement clips/segments;
- (Location-specific and/or User-specific);
- Total time=Calculated Video Outage Interval of 5 min 30 Sec
Further, the ABR stream delivery server 414 and/or associated delivery control module 416 may effectuate additional request/response mechanisms, e.g., request 434 and response 436, with respect to the video message generation system 422 for generating/obtaining one or more custom message segments, e.g., a customer message stating: “You are inside a video outage. Your ETA to leave outage area is xx minutes. Your Video will resume in xx minutes” (block 528). Thereafter, the network entity 414/416 may commence managed bandwidth push of advertisement media segment(s) and associated manifest(s) as well as the custom message notification(s) and associated manifest(s) to the wireless UE device 410 with a throttled delivery rate based on an amount by which the device's overall bandwidth exceeds the highest bitrate indicated in the manifest file of the current ABR streaming session (block 530), which is illustratively shown in
Referring now to
Responsive to receiving the updated manifest files, the ABR client application executing on the wireless UE device is operative to play out the locally stored message segment (e.g., video-encoded still image of a text to the effect that it has entered a video outage area and playback of the video session will resume once the video outage area is exited). After the notification message playback, the ABR client application may commence playback of the locally stored advertisement content based on the sequence of associated manifest URLs as set forth at block 708.
Turning to
It will be realized that in the foregoing embodiments redirection of ABR play-back in anticipated outage areas (i.e., from ABR media segments to alternative content and back to ABR media segments) is mainly controlled by the network-based functionalities (e.g., the ABR stream delivery server 414 and/or associated delivery control module 416 in conjunction with other wireless network nodes) wherein the network-based service logic is operative to determine when an ABR client device is in the outage area and dynamically adjust the manifest URLs to the stored buffer locations within the UE device for commencing the alternative content cached thereat. As seen from the detailed description hereinabove, some of the embodiments may also provide for appropriate message notifications to the user to facilitate a richer and more helpful experience with respect to transitioning in and out of radio white spot areas.
In certain other embodiments of the present patent disclosure, a client-specific or client-controlled redirection may be implemented especially where custom ABR clients are deployed. In such implementations, when the ABR client receives or otherwise obtains a notification that it is in an area of non-sustainable video bandwidth, it automatically begins playing buffered alternative content until it is determined that the client has traversed through the video outage area.
Turning to
Taking
Based upon the foregoing Detailed Description, it should be appreciated that one or more embodiments of the present disclosure can be advantageously implemented in a number of wireless ABR streaming environments that may include legacy client applications and/or custom client applications. By detecting potential video outage areas in a wireless network environment, better network service behavior can be achieved for any location-based service involving video streaming, for example.
In the above-description of various embodiments of the present disclosure, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and may not be interpreted in an idealized or overly formal sense expressly so defined herein.
At least some example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. Such computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, so that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s). Additionally, the computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks.
As alluded to previously, tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc read-only memory (DVD/Blu-ray). The computer program instructions may also be loaded onto or otherwise downloaded to a computer and/or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process. Accordingly, embodiments of the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor or controller, which may collectively be referred to as “circuitry,” “a module” or variants thereof. Further, an example processing unit may include, by way of illustration, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine As can be appreciated, an example processor unit may employ distributed processing in certain embodiments.
Further, in at least some additional or alternative implementations, the functions/acts described in the blocks may occur out of the order shown in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. For example, at least some of the nodes shown in the wireless streaming network environments of
Although various embodiments have been shown and described in detail, the claims are not limited to any particular embodiment or example. None of the above Detailed Description should be read as implying that any particular component, element, step, act, or function is essential such that it must be included in the scope of the claims. Reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described embodiments that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Accordingly, those skilled in the art will recognize that the exemplary embodiments described herein can be practiced with various modifications and alterations within the spirit and scope of the claims appended below.
Claims
1. An adaptive bitrate (ABR) stream delivery server for facilitating ABR streaming sessions in a wireless radio network environment, comprising:
- one or more processors;
- an outage area request module operating under control of the one or more processors and configured to request anticipated video outage areas with respect to a wireless user equipment (UE) device disposed in the wireless radio network environment, the anticipated video outage areas determined responsive to issuing a query to a geo-location database having a plurality of outage locations learned from monitoring minimum bitrate conditions required for streaming adaptive bitrate media content in the wireless radio network environment, the query including the wireless UE device's current location, speed and an estimated direction of travel in the wireless radio network environment;
- an advertisement request module operating under control of the one or more processors for obtaining advertisement content from an advertisement server; and
- a delivery module operating under control of the one or more processors and configured to: effectuate delivery of ABR media segments of a media program encoded at different bitrates as multiple bitrate representations to the wireless UE device in an ABR streaming session when the wireless UE device is not in a video outage area, the ABR media segments having particular bitrate representations requested by the wireless UE device based on a manifest file identifying a plurality of bitrates used in encoding the media program into the multiple bitrate representations; effectuate delivery of the advertisement content to the wireless UE device for storing in a cache of the wireless UE device when the wireless UE device is not in a video outage area; suspend the ABR streaming session with the wireless UE device in response to determining that the wireless UE device is entering a video outage area; provide manifest files, to the wireless UE device, containing local storage file path location pointers to the advertisement content stored in the cache of the wireless UE device; and after suspending the ABR streaming session, instruct the wireless UE device to commence playback of the advertisement content stored in the cache of the wireless UE device.
2. The ABR stream delivery server as recited in claim 1, further including a notification module operating in conjunction with the delivery module for facilitating delivery of a video-encoded notification message to the wireless UE device, upon determining that the wireless UE device is in the video outage area, that the ABR streaming session to the wireless UE device is being suspended and one or more advertisements will be played back while the wireless UE device is in the video outage area.
3. The ABR stream delivery server as recited in claim 2, wherein the video-encoded notification message further includes an estimation of outage time associated with the video outage area.
4. The ABR stream delivery server as recited in claim 2, wherein the notification module is further operative for facilitating delivery of another video-encoded notification message to the wireless UE device, upon determining that the wireless UE device is exiting the video outage area, that the ABR streaming session to the wireless UE device is being resumed.
5. The ABR stream delivery server as recited in claim 1, further including an interface for communicating with one or more base stations disposed in the wireless radio network environment.
6. The ABR stream delivery server as recited in claim 1, wherein the advertisement content is relevant with respect to each of the anticipated video outage areas in the estimated direction of travel of the wireless UE device.
7. The ABR stream delivery server as recited in claim 1, wherein the delivery module is further configured to deliver the advertisement content at a delivery rate based on an amount by which an overall bandwidth of the wireless UE device exceeds a highest bitrate indicated in the manifest file associated with the ABR streaming session.
8. The ABR stream delivery server as recited in claim 2, wherein the one or more advertisements are based on demographic information of a user of the wireless UE device.
9. A method operating at an adaptive bitrate (ABR) stream delivery server for facilitating ABR streaming sessions in a wireless radio network environment, the method comprising:
- determining that a wireless user equipment (UE) device disposed in the wireless radio network environment is traversing a path likely to be encountered by one or more video outage areas;
- issuing a query to a geo-location database having a plurality of outage locations learned from monitoring minimum bitrate conditions required for streaming adaptive bitrate media content in the wireless radio network environment, the query including the wireless UE device's current location, speed and an estimated direction of travel in the wireless radio network environment;
- determining that the wireless UE device is engaged in an ABR streaming session for requesting ABR media segments of a media program encoded at different bitrates as multiple bitrate representations, wherein a manifest file associated with the ABR streaming session identifies a plurality of bitrates used in encoding the media program into multiple bitrate representations;
- obtaining advertisement content from an advertisement server;
- effectuating delivery of the advertisement content to the wireless UE device for storing in a cache of the wireless UE device when the wireless UE device is not in a video outage area;
- suspending the ABR streaming session with the wireless UE device in response to determining that the wireless UE device is entering a video outage area;
- providing manifest files, to the wireless UE device, containing local storage file path location pointers to the advertisement content stored in the cache of the wireless UE device; and
- after suspending the ABR streaming session, instructing the wireless UE device to commence playback of the advertisement content stored in the cache of the wireless UE device.
10. The method as recited in claim 9, further comprising:
- determining that the wireless UE device has entered a video outage area; and
- responsive to the determining, delivering a video-encoded notification message to the wireless UE device that the ABR streaming session is being suspended and one or more advertisements will be played back while the wireless UE device is in the video outage area.
11. The method as recited in claim 10, wherein the one or more advertisements are based on demographic information of a user of the wireless UE device.
12. The method as recited in claim 9, wherein the advertisement content is relevant with respect to each of the anticipated video outrage areas in the estimated direction of travel of the wireless UE device.
13. The method as recited in claim 9, wherein the advertisement content is delivered at a delivery rate based on an amount by which an overall bandwidth of the wireless UE device exceeds a highest bitrate indicated in the manifest file associated with the ABR streaming session.
14. The method as recited in claim 10, further comprising:
- determining that the wireless UE device is exiting the video outage area; and
- responsive to the determining, delivering another video-encoded notification message to the wireless UE device that the ABR streaming session to the wireless UE device is being resumed.
15. A non-transitory computer-readable medium containing instructions stored thereon which, when executed by one or more processors of an adaptive bitrate (ABR) stream delivery server, facilitate ABR streaming sessions in a wireless radio network environment, the non-transitory computer-readable medium comprising:
- a code portion for determining that a wireless user equipment (UE) device disposed in the wireless radio network environment is traversing a path likely to be encountered by one or more video outage areas;
- a code portion for issuing a query to a geo-location database having a plurality of outage locations learned from monitoring minimum bitrate conditions required for streaming adaptive bitrate media content in the wireless radio network environment, the query including the wireless UE device's current location, speed and an estimated direction of travel in the wireless radio network environment;
- a code portion for determining that the wireless UE device is engaged in an ABR streaming session for requesting ABR media segments of a media program encoded at different bitrates as multiple bitrate representations, wherein a manifest file associated with the ABR streaming session identifies a plurality of bitrates used in encoding the media program into multiple bitrate representations;
- a code portion for obtaining advertisement content from an advertisement server;
- a code portion for effectuating delivery of the advertisement content to the wireless UE device for storing in a cache of the wireless UE device when the wireless UE device is not in a video outage area;
- a code portion for suspending the ABR streaming session with the wireless UE device in response to determining that the wireless UE device is entering a video outage area;
- a code portion for providing manifest files, to the wireless UE device, containing local storage file path location pointers to the advertisement content stored in the cache of the wireless UE device; and
- a code portion operative, after suspending the ABR streaming session, for instructing the wireless UE device to commence playback of the advertisement content stored in the cache of the wireless UE device.
16. The non-transitory computer-readable medium as recited in claim 15, further comprising a code portion, responsive to determining that the wireless UE device has entered a video outage area, for delivering a video-encoded notification message to the wireless UE device that the ABR streaming session is being suspended and one or more advertisements will be played back while the wireless UE device is in the video outage area.
17. The non-transitory computer-readable medium as recited in claim 16, wherein the one or more advertisements are based on demographic information of a user of the wireless UE device.
18. The non-transitory computer-readable medium as recited in claim 15, wherein the advertisement content is relevant with respect to each of the anticipated video outrage areas in the estimated direction of travel of the wireless UE device.
19. The non-transitory computer-readable medium as recited in claim 15, wherein the advertisement content is delivered at a delivery rate based on an amount by which an overall bandwidth of the wireless UE device exceeds a highest bitrate indicated in the manifest file associated with the ABR streaming session.
20. The non-transitory computer-readable medium as recited in claim 16, further comprising a code portion, responsive to determining that the wireless UE device is exiting the video outage area, for delivering another video-encoded notification message to the wireless UE device that the ABR streaming session to the wireless UE device is being resumed.
8060407 | November 15, 2011 | Delker |
8495237 | July 23, 2013 | Bilinski |
8831591 | September 9, 2014 | Kotecha |
9066115 | June 23, 2015 | Cherry |
9210207 | December 8, 2015 | Reynolds et al. |
9444870 | September 13, 2016 | Phillips et al. |
9455932 | September 27, 2016 | Phillips et al. |
20070091920 | April 26, 2007 | Harris et al. |
20090070206 | March 12, 2009 | Sengamedu |
20100287580 | November 11, 2010 | Harding |
20110225417 | September 15, 2011 | Maharajh et al. |
20110238466 | September 29, 2011 | Haumont et al. |
20110296458 | December 1, 2011 | Di Mattia |
20120009890 | January 12, 2012 | Curcio |
20120172033 | July 5, 2012 | Hilton |
20130007223 | January 3, 2013 | Luby et al. |
20130166906 | June 27, 2013 | Swaminathan et al. |
20140095943 | April 3, 2014 | Kohlenberg |
20140297881 | October 2, 2014 | Shivadas |
20140365675 | December 11, 2014 | Bhardwaj et al. |
20150019968 | January 15, 2015 | Roberts et al. |
20150026289 | January 22, 2015 | Nordness |
20150026749 | January 22, 2015 | Bringuier et al. |
20150085875 | March 26, 2015 | Phillips et al. |
20150229694 | August 13, 2015 | Reynolds et al. |
20150249622 | September 3, 2015 | Phillips et al. |
2388746 | May 2010 | CA |
2 073 486 | June 2009 | EP |
2 388 746 | November 2011 | EP |
2073486 | December 2007 | FR |
WO 2013/163448 | October 2013 | WO |
Type: Grant
Filed: Sep 15, 2017
Date of Patent: Jun 1, 2021
Patent Publication Number: 20180007109
Assignee: ERICSSON AB (Stockholm)
Inventors: Johan Kölhi (Vaxholm), Michael Huber (Täby), Chris Phillips (Hartwell, GA), Diomedes Kastanis (Sunnyvale, CA)
Primary Examiner: Aaron N Strange
Assistant Examiner: Mohammad Yousuf A. Mian
Application Number: 15/706,448
International Classification: H04L 29/06 (20060101); H04L 29/08 (20060101); H04W 4/029 (20180101); H04W 24/02 (20090101); H04N 21/2662 (20110101); H04N 21/41 (20110101); H04N 21/45 (20110101); H04N 21/6373 (20110101);