Patent Description:
MEC (Multi-access Edge Computing) is an ETSI (European Telecommunications Standards Institute) group and specifications set related to platforms that sit close to mobile network edges, typically located physically at eNodeB location or not far therefrom (typically at a central office). MEC defines conditions to trigger instantiation of applications mobile network edges, the way to steer traffic to/from the applications and how to embed, deploy and manage applications with MEC platform. Breakout functions are thus used as offloading solution of access networks to reduce load of core networks and end-to-end latency. One may for instance refer to<NPL>.

Streaming audio and/or video over a mobile network is particularly challenging. Radio networks are very sensible and Round-Trip Time (RTT), as well as bandwidth, can vary quickly. Having a connection between a mobile terminal and an audio and/or video server of a Content Delivery Network (CDN, which resides beyond the mobile core network), making abstraction of radio access variability, has been shown to be suboptimal. Moreover, it is desirable, at least for resources consumption, to limit communication distances between the audio and/or video server and the mobile terminal to be served. It implies that, ideally, audio and/or video server infrastructure should be as close as possible to radio access network borders. Thus, MEC platforms seem to be well-suited for that purpose, in particular for <NUM> (<NUM>th Generation) and <NUM> (<NUM>th Generation) mobile networks. Audio and/or video cache servers can then be deployed deeply in the mobile network up to the radio network edges, using a breakout function as overseen by the MEC group.

However, deploying cache servers deeply in the mobile network up to the radio network edges may generate service discontinuities. Such service discontinuities occur in situations where the cache server is about to be no more able to ensure the service continuity. For example, such situations are handovers of mobile terminals in the mobile network. Other situations are scheduled shutdowns of the cache server in question or reconfiguration of the cache server in question to use differently its internal resources (memory, processing. ), e.g., to free resources to handle other, more popular, audio and/or video contents.

It is then desirable to provide a CDN architecture on top of a mobile network, which ensures audio and/or video delivery service continuity to mobile terminals, to which the audio and/or video contents are delivered by a cache server, in situations where the cache server is about to be no more able to ensure the service continuity. It may also be desirable to provide such a CDN architecture that ensure service continuity in view of mobile terminals' mobility (such as handovers in the mobile network).

It can be noted that it is known from <CIT> that any and all cache servers of an audio and/or video content delivery system deployed on top of a mobile network share a same anycast addressing.

To that end, it is herein proposed a method for delivering an audio and/or video content to a mobile terminal by an audio and/or video content delivery system deployed on top of a mobile network, wherein the audio and/or video content delivery system comprises plural cache servers, the cache servers are arranged using a layer-based hierarchical tree topology, the cache servers are connected to respective aggregation nodes of the mobile network such that a configurable breakout function of the aggregation nodes enables routing to the cache servers packets addressed to an anycast addressing associated with the cache servers. Each layer of the layer-based hierarchical tree topology is associated with an anycast addressing so that each layer of the layer-based hierarchical tree topology has a dedicated anycast addressing, and the method comprises: allocating to the mobile terminal the anycast addressing corresponding to the layer of a first cache server, from which the audio and/or video content is to be delivered to the mobile terminal, among the cache servers. The method further comprises: configuring traffic steering addressed to the anycast addressing associated with a layer by configuring the configurable breakout function of the aggregation node connected to an active cache server of said layer so as to route the traffic addressed to the anycast addressing associated with said layer to the active cache server; and further configuring traffic steering addressed to the anycast addressing associated with any and all downstream layers, with respect to the layer of the active cache server, by configuring the configurable breakout function of the aggregation node connected with said active cache server so as to also route the traffic addressed to the anycast addressing associated with said any and all downstream layers to the active cache server, so that when the first cache server is not able to ensure service continuity for delivering the audio and/or video content to the mobile terminal, said service continuity is automatically ensured by a second cache server located upstream in the layer-based hierarchical tree topology with respect to the first cache server, wherein the second cache server is the active cache server. Thus, thanks to the layer-based anycast addressing applied to the cache servers and the adequate traffic steering configuration, service continuity is ensured for delivering the audio and/or video content to the mobile terminal.

In a particular embodiment, the method comprises, upon detecting a situation in which the first cache server is not able to ensure service continuity for delivering the audio and/or video content to the mobile terminal, instructing the first cache server to redirect the mobile terminal to the anycast addressing associated with the layer of the second cache server. Thus, the mobile terminal can be redirected to the second cache server without any need to move any other mobile terminal to an anchoring to the second cache server.

In a particular embodiment, the method comprises: detecting that the mobile terminal has to undergo a handover from a source cell in a first zone handled by the first cache server, to a target cell in a second zone handled by a third cache server; determining the second cache as a cache server able to provide the audio and/or video content to the mobile terminal, the second cache server being located upstream in the layer-based hierarchical tree topology with respect to the first cache server and the third cache server, and retrieving the anycast addressing associated with the layer in which the second cache server is located so as to redirect the mobile terminal to the anycast addressing associated with the second cache server. Thus, service continuity is ensured despite the handover.

In a particular embodiment, the method comprises: upon detecting that the mobile terminal has moved from the first zone to the second zone, redirecting the mobile terminal to the anycast addressing associated with the third cache server handling the second zone. Thus, latency is improved for delivering the audio and/or video content to the mobile terminal once the handover has been completed.

In a particular embodiment, wherein redirecting the mobile terminal to the anycast addressing associated with the third cache server is performed by the second cache server in response to a manifest request or playlist request received from the mobile terminal with respect to the audio and/or video content.

In a particular embodiment, redirecting the mobile terminal to the anycast addressing associated with the second cache server is performed by the first cache server in response to a manifest request or playlist request received from the mobile terminal with respect to the audio and/or video content.

In a particular embodiment, traffic steering is configured by an orchestrator of the audio and/or video content delivery system, and when the mobile terminal has to be redirected, the orchestrator further instructs the cache server, to which the mobile terminal is anchored, to redirect the mobile terminal and provides information indicating to which anycast addressing the mobile terminal has to be redirected.

In a particular embodiment, the audio and/or video content delivery system comprises cache controllers respectively managing the cache servers, the cache controllers are connected to respective aggregation nodes of the mobile network such that the configurable breakout function of the aggregation nodes enables routing to the cache controllers packets addressed to another anycast addressing associated on a per-layer basis with the cache controllers.

In a particular embodiment, the method comprises: upon receiving, for the mobile terminal, a session request requesting delivery of the audio and/or video content, a cache controller allocates to the mobile terminal the anycast addressing corresponding to the layer of the first cache server.

In a particular embodiment, the method comprises detecting that deactivation conditions are met for one said cache server, referred to as cache server to be deactivated; selecting at least one substitute cache server for continuing audio and/or video content delivery to each mobile terminal anchored to the cache server to be deactivated; determining, for each mobile terminal anchored to the cache server to be deactivated, a substitute cache server which is located upstream or downstream in the layer-based hierarchical tree topology with respect to the cache server to be deactivated, and which is able to continue delivering the audio and/or video content to the mobile terminal in question, and retrieving the anycast addressing associated with the layer in which the substitute cache server is located; redirecting, to the retrieved anycast addressing, each mobile terminal which is anchored to the cache server to be deactivated; and deactivating the cache server to be deactivated.

In a particular embodiment, the method comprises: detecting that offloading conditions are met for one said cache server, referred to as cache server to be offloaded; selecting at least one terminal, anchored to the cache server to be offloaded, which has to be served by a substitute cache server; retrieving the anycast addressing associated with the layer in which the substitute cache server is located; redirecting, to the retrieved anycast addressing, each mobile terminal which is anchored to the cache server to be offloaded; and deactivating the cache server to be offloaded.

It is further proposed herein a computer program product comprising instructions causing execution of the foregoing method, in any one of its embodiments, when said instructions are run by a processor. It is further proposed herein an information storage medium storing instructions causing execution of the foregoing method, in any one of its embodiments, when said instructions are read from the information storage medium and run by a processor.

It is further proposed herein an audio and/or video content delivery system for delivering an audio and/or video content to a mobile terminal, the audio and/or video content delivery system being intended to be deployed on top of a mobile network, wherein the audio and/or video content delivery system comprises plural cache servers, the cache servers are arranged using a layer-based hierarchical tree topology, the cache servers are connected to respective aggregation nodes of the mobile network such that a configurable breakout function of the aggregation nodes enables routing to the cache servers packets addressed to an anycast addressing associated with the cache servers. Each layer of the layer-based hierarchical tree topology is associated with an anycast addressing so that each layer of the layer-based hierarchical tree topology has a dedicated anycast addressing, and the audio and/or video content delivery system comprises electronic circuitry configured for: allocating to the mobile terminal the anycast address corresponding to the layer of a first cache server, from which the audio and/or video content is to be delivered to the mobile terminal, among the cache servers. The electronic circuitry is further configured for: configuring traffic steering addressed to the anycast addressing associated with a layer by configuring the configurable breakout function of the aggregation node connected to an active cache server of said layer so as to route the traffic addressed to the anycast addressing associated with said layer to the active cache server; and further configuring traffic steering addressed to the anycast addressing associated with any and all downstream layers, with respect to the layer of the active cache server, by configuring the configurable breakout function of the aggregation node connected with said active cache server so as to also route the traffic addressed to the anycast addressing associated with said any and all downstream layers to the active cache server, so that when the first cache server is not able to ensure service continuity for delivering the audio and/or video content to the mobile terminal, said service continuity is automatically ensured by a second cache server located upstream in the layer-based hierarchical tree topology with respect to the first cache server, wherein the second cache server is the active cache server.

The characteristics of the invention will emerge more clearly from a reading of the following description of at least one embodiment, said description being produced with reference to the accompanying drawings, among which:.

For delivering an audio and/or video content to a mobile terminal, a content delivery system is deployed on top of a mobile network. The content delivery system comprises plural cache servers arranged using a layer-based hierarchical tree topology. The cache servers are connected to respective aggregation nodes of the mobile network such that a breakout function of the aggregation nodes enables routing thereto packets addressed to a layer-based anycast addressing associated with the cache servers. The breakout function of the aggregation nodes is thus configurable to perform traffic steering. Detailed embodiments are provided hereafter.

<FIG> schematically represents an audio and/or video content delivery system <NUM> deployed on top of a mobile network. The audio and/or video content delivery system <NUM> comprises a set of plural cache servers CS <NUM>.

The cache servers CS <NUM> aim at transmitting segments of audio and/or video contents to mobile terminals T <NUM>, which are connected by radio to the mobile network and which thus may undergo handovers in the mobile network over time (and more especially during the same session of delivering an audio and/or video content thereto). The segments are transported in a form of packets over the mobile network.

For example, the audio and/or video content delivery system <NUM> implements adaptive streaming technology, such as HLS (standing for "HTTP Live Streaming", which is a live streaming communications protocol based on HTTP and developed by Apple Inc. ) or DASH (standing for "Dynamic Adaptive Streaming over HTTP", which is a multimedia streaming technology developed by the Moving Picture Experts Group (MPEG)).

For instance, the mobile network complies with LTE (Long-Term Evolution) <NUM> or <NUM>. The mobile terminals T <NUM> may thus access the mobile network via base stations, eNodeBs, but may also access the mobile network via wireless local area networks (WLAN) cells included therein, such as hotspots, for instance provided by WLAN gateways <NUM>.

The mobile network comprises aggregation nodes (each one being labelled ANODE <NUM> in <FIG>). Such aggregation nodes are, or are located close to, base stations, eNodeBs, or central offices. The aggregation nodes are typically Packet data network GateWays (P-GWs) or Serving GateWays (S-GWs), Terminating User Plane Functions (TUPFs), depending on mobile network technology in use. At least some of the aggregation nodes <NUM> of the mobile network implement a breakout function. MEC-based platforms can thus benefit from the breakout function so as to host cache instances.

The cache servers CS <NUM> may be physical appliances, or virtual instances deployed in relatively small cloud infrastructure (also referred to as cloudlet) for instance based on MEC-based platforms, preferably attached to the aggregation nodes of the mobile network.

The cache servers CS <NUM> are fed with segments of audio and/or video contents by an origin server OS <NUM>. The cache servers CS <NUM> preferably obtain such segments of audio and/or video contents by requesting them to the origin server OS <NUM>, when the cache servers CS <NUM> are permitted to do so. The origin server OS <NUM> may be part of the audio and/or video content delivery system <NUM> or external thereto (typically, when the origin server OS <NUM> is managed by a content provider and the audio and/or video content delivery system <NUM> is managed by a CDN infrastructure provider).

The origin server OS <NUM> may transmit segments of the audio and/or video contents in question to the cache servers CS <NUM> using broadcast, multicast or unicast transmissions.

Each cache server CS <NUM> is connected to the breakout function of an aggregation node <NUM> of the mobile network. Any aggregation node <NUM> to which is connected a cache server CS <NUM> implements a configurable breakout function that allows selectively routing packets, typically IP (Internet Protocol) packets, according to configurable traffic steering rules. Such traffic steering rules may define that packets with such or such destination address and/or such or such source address have to be routed to the cache server CS <NUM> in question. The breakout function further allows the cache server CS <NUM> connected thereto to transmit packets via the mobile network. The breakout function thus enables deploying an infrastructure of cache servers at locations closer to served mobile terminals T <NUM> compared with the location of the origin server OS <NUM>, which thus reduces latency and network load. Obviously, as a counterpart, deploying cache servers at locations closer to the served mobile terminals T <NUM> is more costly in terms of computing and memory resources since more cache servers are needed to cover a wide geographical zone.

As schematically shown in <FIG>, the cache servers CS <NUM> are hierarchically organized in a layer-based logical tree topology. The tree hierarchy of cache servers CS <NUM> is composed of n layers denoted herein Li, with i = <NUM>,. Cache servers CS <NUM> that are the farthest in the mobile network to the mobile terminals T <NUM> to be served compose the layer Ln. Cache servers CS <NUM> that are the closest in the mobile network to the mobile terminals T <NUM> to be served compose the layer L1 and cache servers CS <NUM> that are located immediately upstream, in the hierarchy, compose the layer L2, etc..

Each layer is associated with a dedicated anycast addressing (typically, an anycast IP address and potentially a domain name associated therewith, which enables retrieving the anycast IP address through DNS (Domain Name System) procedures) associated to the cache server(s) CS <NUM> of said layer. It is referred herein to anycast addressing when referring to the at least one anycast IP address or to the potentially at least one respective domain name associated therewith. Thus, each cache server CS <NUM> composing the layer L1 is associated with an anycast addressing @IP1, each cache server CS <NUM> composing the layer L2 is associated with an anycast addressing @IP2. and each cache server CS <NUM> composing the layer Ln is associated with an anycast addressing @IPn. Generally speaking, each cache server CS <NUM> composing the layer Li is associated with an anycast addressing @IPi, with i = <NUM>,.

Anycast addressing is a one-to-one-of-many transmission, wherein packets are routed to one receiver among plural potential receivers that are all identified by the same unicast address. Thus, when one cache server CS <NUM> of layer Li is connected to with the breakout function of an aggregation node <NUM> and when the aggregation node <NUM> in question, being appropriately configured, receives a packet having the anycast address @IPi associated with the layer Li as destination address, the breakout function routes said packet to the cache server CS <NUM> in question. It implies that any aggregation node <NUM> is, at most, connected to one cache server CS <NUM>.

When there is no cache server CS <NUM> of layer Li attached to an aggregation node <NUM> (there is indeed no guaranty that deploying a cache server is possible or the cache server can be off), then the packets having the anycast addressing @IPi associated with the layer Li as destination address are not routed by the breakout function of the aggregation node <NUM> of layer Li but by the breakout function of the next upstream aggregation node <NUM> attached to an active/available cache server CS <NUM>. This can be achieved by applying the following traffic steering configuration of the breakout function of the aggregation nodes <NUM> with respect to the cache servers CS <NUM>:.

As explained here below, the audio and/or video content delivery system <NUM> is logically composed of a plurality of zones, wherein each zone consists of geographical coverage of one or more cells. Each zone preferably consists of a plurality of cells.

In <FIG>, the audio and/or video content delivery system <NUM> is logically composed of zones Zn,<NUM>, Z2,<NUM> Z2,<NUM>, Z1,<NUM>, Z1,<NUM> and Z1,<NUM>. Each zone hosts one or no cache server CS <NUM> (in <FIG>, the zone Z1,<NUM> does not host any cache server CS <NUM>), which, in a particular embodiment, can be activated or inactivated on demand. When the cache servers CS <NUM> are deployed as virtual cache servers (virtual machines or containers) then activating means instantiating and inactivating means removing an instance.

In <FIG>, the zone Z1,<NUM> covers a first set of cells of the mobile network, in which, illustratively, three terminals T1, T2, T3 <NUM> have to be served for audio and/or video content delivery. The zone Z1,<NUM> extends from layer L1 downward to the mobile terminals T <NUM>. The zone Z1,<NUM> is handled by one cache server CS <NUM><NUM>. The zone Z1,<NUM> covers a second set of cells of the mobile network, in which, illustratively, three terminals T4, T5, T6 <NUM> have to be served for audio and/or video content delivery. The zone Z1,<NUM> extends from layer L1 downward to the mobile terminals T <NUM>. The zone Z1,<NUM> is handled by one cache server CS2 <NUM>. The zone Z1,<NUM> covers a third set of cells of the mobile network, in which, illustratively, one mobile terminal T7 <NUM> has to be served for audio and/or video content delivery. The zone Z1,<NUM> extends from layer L1 downward to the mobile terminals T <NUM>. The zone Z1,<NUM> is handled by no cache server CS <NUM>. The zones Z1,j, with j = <NUM>,. m, where m is a quantity of predefined sets of cells which jointly forms the geographical coverage of the mobile network, are zones handled by the cache servers CS <NUM> of the layer L1. In other terms, m is a predetermined quantity of zones of the layer L1, and the zone Z1,j extends from layer L1 downward to the mobile terminals T <NUM>.

Immediately upstream with respect to the cache servers CS1 and CS2 <NUM>, one cache server CS3 <NUM> is present in the tree hierarchy of the audio and/or video content delivery system <NUM> and the cache server CS3 <NUM>, which lies in the layer L2, handles the zone Z2,<NUM>. The zone Z2,<NUM> extends from layer L2 downward to the mobile terminals T <NUM> and includes the zones Z1,<NUM> and Z1,<NUM>. The cache server CS3 <NUM> is a substitute cache server for the cache servers CS <NUM> and CS2 <NUM>, when an audio and/or video content to be served to a terminal T <NUM> located in the zone Z1,<NUM> or Z1,<NUM> cannot be provided by the concerned cache server CS1 or CS2 <NUM> (typically, audio and/or video content not in cache or cache server overloaded), unless the audio and/or video content in question cannot be provided by the cache server CS3 <NUM> (typically, audio and/or video content not in cache or cache server overloaded). In this latter case, the delivery of the audio and/or video content is performed by another cache server CS <NUM> upstream with respect to the cache server CS3 <NUM>.

The zone Z1,<NUM> is included in the zone Z2,<NUM>, which is handled by one cache server CS4 <NUM>. Since there is no active cache server CS <NUM> in the zone Z1,<NUM> (tree depth for the zone Z2,<NUM> is shorter than tree depth for the zone Z2,<NUM>), the cache server CS4 <NUM> is used to perform audio and/or video content delivery to the mobile terminal T7 <NUM>, unless the audio and/or video content in question cannot be provided by the cache server CS4 <NUM> (typically, audio and/or video content not in cache or cache server overloaded). In this latter case, the delivery of the audio and/or video content is performed by another cache server CS <NUM> upstream with respect to the cache server CS4 <NUM>. The zone Z2,<NUM> extends from layer L2 downward to the mobile terminals T <NUM>.

The zone Zn,<NUM> is the top layer zone of the audio and/or video content delivery system <NUM>. The zone Zn,<NUM> is handled by one cache server CS5 <NUM> and includes the zones Z2,<NUM> and Z2,<NUM>, as well as any other zone that includes said zone Z2,<NUM> and/or Z2,<NUM>. The zone Zn,<NUM> thus extends from layer Ln downward to the mobile terminals T <NUM>. The cache server CS5 <NUM> thus performs delivery of audio and/or video content when no downstream cache server CS <NUM> is able to provide said audio and/or video content to a terminal located in a zone included in the zone Zn,<NUM>.

Illustratively in <FIG>, delivery of a first content CT1 has been requested by the mobile terminals T1, T3 and T4. Moreover, delivery of a second content CT2 has been requested by the mobile terminals T2 and T5 <NUM>. Furthermore, delivery of a third content CT3 has been requested by the mobile terminal T6 and delivery of a fourth content CT4 has been requested by the mobile terminal T7. To enable content delivery, the origin server OS <NUM> feeds the cache server CS <NUM> with audio and/or video contents in a form of segments to be provided to the mobile terminals T1, T2, T3, T4, T5, T6 and T7 <NUM>. Not all audio and/or video contents in question are provided to all cache servers CS <NUM>. This is a question of trade-off between expense of cache servers activation and of contents duplication, on one hand, and latency (Round Trip Time (RTT)) for serving the mobile terminals T <NUM>, on the other hand.

Thus, illustratively, the first content CT1 is fed by the origin server OS <NUM> to the cache servers CS1 and CS2 <NUM>. The cache server CS1 <NUM> delivers the first content CT1 to the mobile terminals T1 and T3 <NUM>. The cache server CS2 <NUM> delivers the first content CT1 to the mobile terminal T4 <NUM>. The second content CT2 is fed by the origin server OS <NUM> to the cache server CS3 <NUM>, but not to the cache servers CS1 and CS2 <NUM>. Thus, the cache server CS3 <NUM> delivers the second content CT2 to the mobile terminals T2 and T5 <NUM>, since the cache server CS3 <NUM> (zone Z2,<NUM>) is located upstream with respect to the cache servers CS1 and CS2 <NUM> (zones Z1,<NUM> and Z1,<NUM> respectively) in the tree hierarchy of the audio and/or video content delivery system <NUM>. The third content CT3 is fed by the origin server OS <NUM> to the cache server CS5 <NUM>, but not to the cache servers CS2 and CS3 <NUM>. Thus, the cache server CS5 <NUM> delivers the third content CT3 to the mobile terminal T6 <NUM>, since the cache server CS5 <NUM> (zone Zn,<NUM>) is located upstream with respect to the cache servers CS2 and CS3 <NUM> (zones Z1,<NUM> and Z2,<NUM> respectively) in the tree hierarchy of the audio and/or video content delivery system <NUM>. The fourth content CT4 is fed by the origin server OS <NUM> to the cache server CS4 <NUM> (zone Z2,<NUM>), which then delivers the fourth content CT4 to the mobile terminal T7 <NUM>, since there is no available cache server CS <NUM> in the layer L1 zone Z1,<NUM> in which the mobile terminal T7 is located.

In order to enable the appropriate audio and/or video content delivery, the mobile terminals T <NUM> shall use appropriate anycast addressing when requesting the audio and/or video content segments, and traffic steering shall be appropriately configured in the aggregation nodes <NUM> to which are connected the cache servers CS <NUM>.

In order to receive the segments of the first content CT1, the mobile terminals T1, T3 and T4 <NUM> transmit corresponding requests using the anycast addressing @IP1 as destination address. Thanks to traffic steering by the breakout function of the aggregation node <NUM> to which is connected the cache server CS1 <NUM>, the requests coming from the mobile terminals T1 and T3 <NUM> are routed to the cache server CS1 <NUM>. Identically, the requests coming from the mobile terminal T4 <NUM> are routed to the cache server CS2 <NUM>.

In order to receive the segments of the second content CT2, the mobile terminals T2 and T5 <NUM> transmit corresponding requests using the anycast addressing @IP2 as destination address. Thanks to traffic steering by the breakout function of the aggregation node <NUM> to which is connected the cache server CS3 <NUM>, the requests coming from the mobile terminals T2 and T5 <NUM> are routed to the cache server CS3 <NUM>.

In order to receive the segments of the third content CT3, the mobile terminal T6 <NUM> transmits corresponding requests using the anycast addressing @IPn as destination address. Thanks to traffic steering by the breakout function of the aggregation node <NUM> to which is connected the cache server CS5 <NUM>, the requests coming from the mobile terminal T6 <NUM> are routed to the cache server CS5 <NUM>.

In order to receive the segments of the fourth content CT4, the mobile terminal T7 <NUM> transmits corresponding requests using the anycast addressing @IP2 as destination address. Thanks to traffic steering by the breakout function of the aggregation node <NUM> to which is connected the cache server CS4 <NUM>, the requests coming from the mobile terminal T7 <NUM> are routed to the cache server CS4 <NUM>.

In a particular embodiment, the mobile terminal T7 <NUM> transmits corresponding requests using the anycast addressing @IP1 as destination address. Thanks to traffic steering by the breakout function of the aggregation node <NUM> to which is connected the cache server CS4 <NUM>, these requests coming from the mobile terminal T7 <NUM> are routed to the cache server CS4 <NUM>. Indeed, traffic steering is configured according to the aforementioned rule that defines that the breakout function of the aggregation node <NUM> of layer Li is configured for routing packets destinated to the anycast addressing @IPi associated with the layer Li but also packets destinated to the anycast addressing @IPj with j such that <NUM> < j < i.

In order to configure adequate traffic steering, the audio and/or video content delivery system <NUM> comprises an orchestrator ORCH <NUM>, in a particular embodiment. The orchestrator ORCH <NUM> manages the layer-based tree hierarchy of the audio and/or video content delivery system <NUM>. The orchestrator ORCH <NUM> configures the breakout function of the aggregation nodes <NUM> to enforce traffic steering rules.

As shown in <FIG>, the orchestrator ORCH <NUM> may be assisted by cache controllers CC <NUM>. The cache controllers CC <NUM> then act as intermediate devices between the orchestrator ORCH <NUM>, on one hand, and the cache servers CS <NUM> and the aggregation nodes <NUM>, on the other hand. Assisting the orchestrator ORCH <NUM> with the cache controllers CC <NUM> avoids that the orchestrator ORCH <NUM> has to directly control the cache servers CS <NUM> and configuration of the breakout function of the aggregation nodes <NUM>, which enables implementing a control workflow independent from the technology and supported protocols of the cache servers CS <NUM> and of the aggregation nodes <NUM>.

When the audio and/or video content delivery system <NUM> includes cache controllers CC <NUM>, addressing of said cache controllers CC <NUM> also relies on per-layer anycast addressing. Thus, each layer is further associated with another dedicated anycast addressing (typically, an anycast IP address and potentially a domain name associated therewith, which enables retrieving the anycast IP address through DNS procedures) associated to the cache controller(s) CC <NUM> of said layer.

Preferably, when there is no cache controller CC <NUM> of layer Li attached to an aggregation node <NUM> (typically because there is no cache server CS <NUM> attached thereto neither), then the packets having the cache controllers' anycast addressing associated with the layer Li as destination address are not routed by the breakout function of the aggregation node <NUM> of layer Li but by the breakout function of the next upstream aggregation node <NUM> attached to an active/available cache controller CC <NUM>. This can be achieved by applying the following traffic steering configuration of the breakout function of the aggregation nodes <NUM> with respect to the cache controllers CC <NUM>:.

Regarding the delivery of the audio and/or video data, it is assumed that the service continuity is ensured thanks to mobile network's handover and mobility procedures (e.g., <NUM>rd Generation Partnership Project (3GPP) mobility) as long as the mobile terminal remains attached to the same cache server CS <NUM> during handover. However, ensuring service continuity whenever the mobile terminal switches attachment to another cache server CS <NUM> during the content delivery session is a matter of the audio and/or video content delivery system <NUM>. In particular, the layer-based anycast addressing introduced above enables smoothly managing service continuity during a session of delivery of an audio and/or video content to a terminal T <NUM>. This aspect is further addressed in details hereinafter with respect to <FIG>, as a particular embodiment of use of the layer-based traffic steering configuration disclosed above.

<FIG> schematically represents an example of hardware architecture usable in the scope of the audio and/or video content delivery system <NUM>. The example of hardware architecture may be part of devices embedding the cache servers CS <NUM> and/or be part of a device embedding the orchestrator ORCH <NUM> and/or be part of devices embedding the cache controllers CC <NUM> and/or be part of a device embedding the origin server OS <NUM>. Let's generally consider that the example of hardware architecture is part of a communication device <NUM>.

According to the shown architecture, the communication device <NUM> comprises the following components interconnected by a communications bus <NUM>: a processor, microprocessor, microcontroller or CPU (Central Processing Unit) <NUM>; a RAM (Random-Access Memory) <NUM>; a ROM (Read-Only Memory) <NUM>, such as an EEPROM (Electrically Erasable Programmable ROM), for example a Flash memory; an HDD (Hard-Disk Drive) <NUM>, or any other device adapted to read information stored on a non-transitory storage medium, such an SD (Secure Digital) card reader; and at least one communication interface <NUM>.

CPU <NUM> is capable of executing instructions loaded into RAM <NUM> from ROM <NUM> or from an external memory, such as HDD <NUM> or an SD card. After the communication device <NUM> has been powered on, CPU <NUM> is capable of reading instructions from RAM <NUM> and executing these instructions. The instructions form one computer program that causes CPU <NUM> to perform the steps described herein with respect to the communication device in question.

Thus, the steps, behaviors and algorithms described herein may be implemented in software form by executing a set of instructions or program by a programmable computing machine, such as a PC (Personal Computer), a DSP (Digital Signal Processor) or a microcontroller; or else implemented in hardware form by a machine or a dedicated chip or chipset, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). Generally speaking, the communication device <NUM> comprises electronics circuitry adapted and configured for implementing the steps, behaviors and algorithms described herein with respect to the communication device in question.

<FIG> schematically represents an algorithm for ensuring audio and/or video content delivery service continuity when a mobile terminal T <NUM> in view of the mobility of the mobile terminal T <NUM> in the mobile network. The algorithm of <FIG> is preferably performed by the orchestrator ORCH <NUM>.

In a step <NUM>, the audio and/or video content delivery system <NUM> detects that a mobile terminal T <NUM> has to move away from one zone Zl,p to another zone Zl,q (p ≠ q). For example, the audio and/or video content delivery system <NUM> is informed by an entity of the mobile network about the location of the mobile terminal T <NUM>. The audio and/or video content delivery system <NUM> knows the list of zones (Zi,j) and their respective geographical coverage (based on predefined GPS (Global Positioning System) coordinates or a set of identifiers of cells composing the zone in question). When the mobile terminal T <NUM> moves in such a way it may leave the zone Zl,p, the audio and/or video content delivery system <NUM> triggers a server switch of cache server CS <NUM> for continuing delivering an audio and/or video content that said mobile terminal T <NUM> is currently receiving. When the audio and/or video content delivery system <NUM> detects the move from one cell to another cell, the audio and/or video content delivery system <NUM> checks whether it corresponds for the mobile terminal T <NUM> in question to a change of zone, meaning a change of cache server CS <NUM> for delivering the audio and/or video content that said mobile terminal T <NUM> is currently receiving. If there is no change of zone, the mobile terminal T <NUM> remains anchored to the same cache server CS <NUM> as previously and the algorithm of <FIG> ends; otherwise, the mobile terminal T <NUM> has to move away from the zone Zl,p to the zone Zl,q (p ≠ q) and a step <NUM> is performed. It has to be noted that the audio and/or video content delivery system <NUM> may not know what would be the effective zone Zl,q to which the mobile terminal T <NUM> in question moves away. In this case, the audio and/or video content delivery system <NUM> determines in which zones the mobile terminal T <NUM> in question is subject to move and considers said zones to select an appropriate upstream cache server CS <NUM> as detailed below.

In a particular embodiment, the audio and/or video content delivery system <NUM> obtains an identification of the cell in which the mobile terminal T <NUM> is located from the aggregation nodes <NUM> of the mobile network, e.g., relying on the MEC-based platforms. For example, the standard ETSI GS MEC <NUM> V2. <NUM> "Multi-access Edge Computing (MEC) Location API" can be used to do so. The audio and/or video content delivery system <NUM> can thus detect when the mobile terminal T <NUM> reaches a cell at the border of the zone Zl,p, which means that the mobile terminal T <NUM> is subject to move to another zone.

In another particular embodiment, the mobile terminal T <NUM> transmits its GPS coordinates in requests, such as manifest/playlist requests, transmitted to the audio and/or video content delivery system <NUM>. With the GPS coordinates of the mobile terminal T <NUM>, the audio and/or video content delivery system <NUM> determines whether the mobile terminal T <NUM> moves and reaches a distance from the border of the zone Z1,p below a predefined threshold, which means that the mobile terminal T <NUM> is subject to move to another zone.

Manifest or playlist requests are requests to receive in response a manifest, also referred to as playlist depending on the streaming technology in use, which describes how the segments of the audio and/or video content are made available, and in case of adaptive streaming, which describes which representations (qualities) of the audio and/or video content in question are made available. Manifest or playlist requests are frequently or regularly transmitted by mobile terminals during the delivery of an audio and/or video content in order to obtain updated description thereof.

In the step <NUM>, the audio and/or video content delivery system <NUM> determines an upstream cache server CS <NUM> able to continue delivering the audio and/or video content to the mobile terminal T <NUM> in question and to ensure service continuity during the move. The audio and/or video content delivery system <NUM> searches for an upstream cache server CS <NUM> that is upstream in the layer-based tree hierarchy with respect to both the cache server CS <NUM> handling the zone Zl,p (covering the cell in which the mobile terminal T <NUM> is located before the move) and any of the cache server CS <NUM> handling a zone Zl,q covering a cell in which the mobile terminal T <NUM> could likely be located after the move.

In a particular embodiment, when the audio and/or video content delivery system <NUM> finds a cache server CS <NUM> that is appropriately located upstream in the layer-based tree hierarchy but that does not currently have the audio and/or video content in cache or that does not yet have rights to cache said audio and/or video content, the audio and/or video content delivery system <NUM> instructs that the origin server OS <NUM> feeds the cache server CS <NUM> in question or that said cache server CS <NUM> retrieves the audio and/or video content from the origin server OS <NUM>, so that said audio and/or video content becomes available for delivery by the cache server CS <NUM> in question and that the cache server CS <NUM> in question has the rights (is permitted) to cache said audio and/or video content. When however the audio and/or video content delivery system <NUM> determines that the cache server CS <NUM> shall not have the rights to cache and deliver the audio and/or video content in question, the audio and/or video content delivery system <NUM> selects another cache server CS <NUM> upstream.

When selecting the upstream cache server CS <NUM>, the audio and/or video content delivery system <NUM> may take into account further considerations: server overload or predetermined delivery constraints (latency.

Once the upstream cache server CS <NUM> that fulfils the requirement above is found, the audio and/or video content delivery system <NUM> retrieves the corresponding anycast addressing @IPi associated with the layer Li in which the cache server CS <NUM> in question is located in the layer-based tree hierarchy.

In a step <NUM>, the audio and/or video content delivery system <NUM> redirects the mobile terminal T <NUM> in question to the anycast addressing @IPi retrieved in the step <NUM>. For example, the orchestrator ORCH <NUM> instructs the cache server CS <NUM> handling the zone Zl,p to redirect the mobile terminal T <NUM> in question to the anycast addressing @IPi retrieved in the step <NUM>. Consequently, when the cache server CS <NUM> handling the zone Zl,p receives a subsequent request from the mobile terminal T <NUM> in question, said cache server CS <NUM> handling the zone Zl,p responds by sending a redirection message (such as http REDIRECT) indicating a relocation of the audio and/or video content at the anycast addressing @IPi. When the mobile terminal T <NUM> in question receives the redirection message, it is supposed to reiterate the request (e.g., a manifest/playlist request) using the anycast addressing provided in the redirection message as destination address. The mobile terminal T <NUM> is then anchored to the cache server CS <NUM> determined in the step <NUM> instead of being anchored to the cache server CS <NUM> handling the zone Zl,p.

Preferably, the audio and/or video content delivery system <NUM> redirects the mobile terminal T <NUM> in question in response to a manifest/playlist request received from the mobile terminal T <NUM> in question. Indeed, in some implementations, if the audio and/or video content delivery system <NUM> redirects the mobile terminal T <NUM> in question in response to a segment request, the redirection is limited to the delivery of said segment and no anchoring change is performed, which means that said mobile terminal T <NUM> would submit a subsequent request to the original CS <NUM> handling the zone Zl,p, and so on, until the redirection is performed in response to a manifest/play list request. Therefore, if the audio and/or video content delivery system <NUM> waits for a manifest/playlist request from the mobile terminal T <NUM> in question to redirect said mobile terminal T <NUM>, then latency and network overhead is improved.

It has to be noted that some low latency technologies for live streaming, such as CTE (Chunked Transfer Encoding) with MPEG CMAF (Common Media Application Format) or LL HLS (Low Latency HLS), enable early playback of audio and/or video contents by particular chunks management that don't need availability of a full segment before starting playback. With such live streaming technologies, the manifest/playlist is requested frequently in order for the mobile terminal's player to refresh the list of available segments. Thus, waiting for a manifest/playlist request from the mobile terminal T <NUM> in question to redirect said mobile terminal T <NUM> impacts latency and network overhead in a negligible manner.

Since the upstream cache server CS <NUM>, as determined in the step <NUM>, handles a zone (Zi,j) that includes the zones Zl,p (that covers the source cell) and any potential zone Zl,q (that covers potential surrounding target cell), no service interruption is expected for delivering the audio and/or video content to the mobile terminal T <NUM> in question. Moreover, in the particular embodiment where the cache server CS <NUM> handling the zone Zl,p redirects the mobile terminal T <NUM> in question when responding to a segment request, the redirection toward the upstream cache server CS <NUM> occurs at segment boundary (no audio and/or video content data loss).

In a step <NUM>, the audio and/or video content delivery system <NUM> detects that the mobile terminal T <NUM> in question has stopped moving from the source cell (in the zone Z1,p) and is located in the target cell (in the zone Zl,q). For example, the audio and/or video content delivery system <NUM> is informed by the aforementioned entity of the mobile network that the handover has been completed.

As mentioned above, in a particular embodiment, the audio and/or video content delivery system <NUM> obtains an identification of the cell in which the mobile terminal T <NUM> is located from the aggregation nodes <NUM> of the mobile network, e.g., relying on the MEC-based platforms. For example, the standard ETSI GS MEC <NUM> V2. <NUM> "Multi-access Edge Computing (MEC) Location API" can be used to do so. The audio and/or video content delivery system <NUM> can thus detect when the mobile terminal T <NUM> reaches a cell not at the border of the zone Zl,q, which means that the mobile terminal T <NUM> is no more subject to move to another zone.

As mentioned above, in another particular embodiment, the mobile terminal T <NUM> transmits its GPS coordinates in requests, such as manifest/playlist requests, transmitted to the audio and/or video content delivery system <NUM>. With the GPS coordinates of the mobile terminal T <NUM>, the audio and/or video content delivery system <NUM> determines whether the mobile terminal T <NUM> moves and reaches a distance from the border of the zone Zl,q above a predefined threshold, which means that the mobile terminal T <NUM> is no more subject to move to another zone.

In a step <NUM>, the audio and/or video content delivery system <NUM> determines a downstream cache server CS <NUM> able to continue delivering the audio and/or video content to the mobile terminal T <NUM> in question with lower latency. The audio and/or video content delivery system <NUM> searches for a downstream cache server CS <NUM> that: (<NUM>) is downstream in the layer-based tree hierarchy with respect to the cache server CS <NUM> to which the mobile terminal T <NUM> has been redirected in the step <NUM>; (<NUM>) handles the zone Zl,q or otherwise a zone that includes the zone Zl,q; and (<NUM>) is permitted to stream/cache the related audio and/or video content.

In a particular embodiment, when the audio and/or video content delivery system <NUM> finds a cache server CS <NUM> that is appropriately located downstream in the layer-based tree hierarchy but that does not currently have the audio and/or video content in cache or that does not yet have rights to cache said audio and/or video content, the audio and/or video content delivery system <NUM> instructs that the origin server OS <NUM> feeds the cache server CS <NUM> in question, or that said cache server CS <NUM> retrieves the audio and/or video content from the origin server OS <NUM>, so that said audio and/or video content becomes available for delivery by the cache server CS <NUM> in question and that the cache server CS <NUM> in question has the rights to cache said audio and/or video content, and so that the requirement (<NUM>) above be fulfilled. This may be triggered when no other cache server CS <NUM> fulfils all requirements (<NUM>), (<NUM>) and (<NUM>) above, or when any other cache server CS <NUM> that fulfils all requirements (<NUM>), (<NUM>) and (<NUM>) above is overloaded, or when no other cache server CS <NUM> that fulfils all requirements (<NUM>), (<NUM>) and (<NUM>) above further meets some predetermined delivery constraints (latency. Other circumstances may trigger that the audio and/or video content delivery system <NUM> instructs that the origin server OS <NUM> feeds the cache server CS <NUM> in question with the audio and/or video content being delivered to the mobile terminal T <NUM> in question, or that said cache server CS <NUM> retrieves the audio and/or video content from the origin server OS <NUM>. When however the audio and/or video content delivery system <NUM> determines that the cache server CS <NUM> shall not have the rights to cache and deliver the audio and/or video content in question, the audio and/or video content delivery system <NUM> selects another cache server CS <NUM>.

Once the downstream cache server CS <NUM> that fulfils all requirements (<NUM>), (<NUM>) and (<NUM>) is found, if any, the audio and/or video content delivery system <NUM> retrieves the anycast addressing @IPk associated with the layer Lk (k < i) in which the downstream cache server CS <NUM> in question is located in the layer-based tree hierarchy.

In a step <NUM>, the audio and/or video content delivery system <NUM> redirects the mobile terminal T <NUM> in question to the anycast addressing @IPk retrieved in the step <NUM>. For example, the orchestrator ORCH <NUM> instructs the cache server CS <NUM> handling the zone Zl,q (or a zone that includes the zone Zl,q, as explained above) to redirect the mobile terminal T <NUM> in question to the anycast addressing @IPk retrieved in the step <NUM>. Consequently, when the cache server CS <NUM> to which the mobile terminal T <NUM> has been redirected in the step <NUM> receives a subsequent request from the mobile terminal T <NUM> in question, said cache server CS <NUM> responds by sending a redirection message (such as http REDIRECT) indicating a relocation of the audio and/or video content at the anycast addressing @IPk. When the mobile terminal T <NUM> in question receives the redirection message, it is supposed to reiterate the request (e.g., a manifest/playlist request) using the anycast addressing provided in the redirection message as destination address. The mobile terminal T <NUM> is then anchored to the downstream cache server CS <NUM> determined in the step <NUM> instead of being anchored to the cache server CS <NUM> determined in the step <NUM>. As explained above, the audio and/or video content delivery system <NUM> preferably redirects the mobile terminal T <NUM> in question in response to a manifest/playlist request received from the mobile terminal T <NUM> in question.

<FIG> and <FIG> illustratively show an example of ensuring service continuity when the mobile terminal T3 <NUM> of <FIG> moves from the zone Z1,<NUM> to the zone Z1,<NUM>. As disclosed above with respect to <FIG>, the mobile terminal T3 <NUM> sends segment requests using the anycast addressing @IP1 and traffic steering leads the cache server CS1 <NUM> to deliver the content CT1 to the mobile terminal T3 <NUM>. When the audio and/or video content delivery system <NUM> detects that the mobile terminal T3 <NUM> is subject to undergo a move away from the zone Z1,<NUM>, the audio and/or video content delivery system <NUM> selects the cache server CS3 <NUM> for ensuring service continuity to the mobile terminal T3 <NUM>, considering that the cache server CS3 <NUM> is permitted to cache the content CT1. Therefore, as shown in <FIG>, the mobile terminal T3 <NUM> is redirected (e.g., by the cache server CS1 <NUM> following instructions from the orchestrator ORCH <NUM>) to the anycast addressing @IP2 and traffic steering leads the mobile terminal T3 <NUM> to then request segments of the content CT1 to the cache server CS3 <NUM> instead of requesting them to the cache server CS1 <NUM>. The audio and/or video content delivery system <NUM> is then configured to enable the cache server CS3 <NUM> caching the segments of the content CT1.

Later on, when the audio and/or video content delivery system <NUM> detects that the mobile terminal T3 <NUM> is not moving anymore, the audio and/or video content delivery system <NUM> selects, in a particular embodiment, the cache server CS2 <NUM> for reducing latency to serve the mobile terminal T3 <NUM>. Therefore, as shown in <FIG>, the mobile terminal T3 <NUM> is redirected (e.g., by the cache server CS3 <NUM> following instructions from the orchestrator ORCH <NUM>) back to the anycast addressing @IP1. Traffic steering leads the mobile terminal T3 <NUM> to then request segments of the content CT1 to the cache server CS2 <NUM> instead of requesting them to the cache server CS3 <NUM>. Service continuity and minimization of service latency is thus ensured. Doing so further enables limiting memory consumption for the mobile terminal T3 <NUM>, since redirection to upstream cache servers is minimized and anchoring to cache servers the closest to radio edges is privileged. In a variant, the mobile terminal T3 <NUM> may remain anchored to the cache server CS3 <NUM> for obtaining further segments of the content CT1.

Thus, as disclosed above, layer-based anycast addressing and corresponding traffic steering rules enforced in the aggregation nodes <NUM> of the mobile network enable ensuring service continuity in a seamless manner for the mobile terminals T <NUM>.

Moreover, as disclosed hereinafter, the anycast addressing and traffic steering rules further enable ensuring service continuity while dynamically modifying deployment of the cache servers CS <NUM> in the audio and/or video content delivery system <NUM>. In a particular embodiment, the orchestrator ORCH <NUM> is thus further in charge of activating / deactivating (or instantiating / uninstantiating) cache servers CS <NUM>, and consequently modify the tree hierarchy topology of the audio and/or video content delivery system <NUM>, in order to cope with new load or deployment constraints, potentially with support of the cache controllers CC <NUM>.

In this context, the breakout function of the aggregation nodes <NUM> may be selectively reconfigured in order to enable activating or inactivating, on-demand, one or more cache servers CS <NUM> in the audio and/or video content delivery system <NUM> according to load constraints. Activating or inactivating one or more cache servers CS <NUM> therefore changes the hierarchical tree topology of the audio and/or video content delivery system <NUM>.

<FIG> schematically represents an algorithm for ensuring audio and/or video content delivery service continuity when deactivating a cache server CS <NUM> in the audio and/or video content delivery system <NUM>. The algorithm of <FIG> is preferably performed by the orchestrator ORCH <NUM>.

In a step <NUM>, the audio and/or video content delivery system <NUM> detects that cache server deactivation conditions are met for a cache server CS <NUM>. For example, a decrease in the quantity of terminals to be simultaneously served leads to a quantity of terminals to be simultaneously served by the cache server CS <NUM> in question below a predetermined threshold. According to another example, the cache server CS <NUM> in question has been identified as to be stopped for maintenance considerations.

In a step <NUM>, the audio and/or video content delivery system <NUM> selects at least one substitute cache server CS <NUM> for continuing audio and/or video content delivery to each mobile terminal T <NUM> anchored to the cache server CS <NUM> for which the deactivation conditions are met. More particularly, the audio and/or video content delivery system <NUM> may select a different substitute cache server CS <NUM> for one mobile terminal T <NUM> to another mobile terminal T <NUM> (e.g., to perform load balancing or to take into account latency considerations). To do so, for each mobile terminal T <NUM>, the audio and/or video content delivery system <NUM> determines an upstream cache server CS <NUM> able to continue delivering the audio and/or video content to the mobile terminal T <NUM> in question and to ensure service continuity.

In a particular embodiment, when the audio and/or video content delivery system <NUM> finds a substitute cache server CS <NUM> that is active in the layer-based tree hierarchy to ensure service continuity (suitable latency. ) but that does not currently have the audio and/or video content in question in cache or that does not yet have rights to cache said audio and/or video content, the audio and/or video content delivery system <NUM> instructs that the origin server OS <NUM> feeds the substitute cache server CS <NUM> in question with the audio and/or video content in question, or that said cache server CS <NUM> retrieves the audio and/or video content from the origin server OS <NUM>, so that said audio and/or video content becomes available for delivery by the cache server CS <NUM> in question and that the cache server CS <NUM> in question has the rights to cache said audio and/or video content, or that said cache server CS <NUM> retrieves the audio and/or video content from the origin server OS <NUM>. When however the audio and/or video content delivery system <NUM> determines that the cache server CS <NUM> shall not have the rights to cache and deliver the audio and/or video content in question, the audio and/or video content delivery system <NUM> selects another cache server CS <NUM> upstream.

Once a suitable substitute cache server CS <NUM> is found, the audio and/or video content delivery system <NUM> retrieves the anycast addressing @IPi associated with the layer Li in which the substitute cache server CS <NUM> is located in the layer-based tree hierarchy.

In a step <NUM>, the audio and/or video content delivery system <NUM> redirects each mobile terminal T <NUM> in question to the anycast addressing @IPi correspondingly retrieved in the step <NUM>. For example, the orchestrator ORCH <NUM> instructs the cache server CS <NUM> for which the deactivation conditions are met to redirect each mobile terminal T <NUM> in question to the anycast addressing @IPi correspondingly retrieved in the step <NUM>. Consequently, when the cache server CS <NUM> for which the deactivation conditions are met receives a subsequent request from one of said mobile terminal T <NUM> anchored thereto, said cache server CS <NUM> responds by sending a redirection message (such as http REDIRECT) indicating a relocation of the audio and/or video content at the anycast addressing @IPi correspondingly retrieved in the step <NUM>. When the mobile terminal T <NUM> in question receives the redirection message, it is supposed to reiterate the request (e.g., a manifest/playlist request) using the anycast addressing provided in the redirection message as destination address. The mobile terminal T <NUM> is then anchored to the substitute cache server CS <NUM> that has been suitably found for ensuring service continuity. As explained above, the audio and/or video content delivery system <NUM> preferably redirects the mobile terminal T <NUM> in question in response to a manifest/playlist request received from the mobile terminal T <NUM> in question.

In a step <NUM>, the audio and/or video content delivery system <NUM> deactivates the cache server CS <NUM> for which the deactivation conditions are met, and reconfigures traffic steering in the aggregation node <NUM> to which said cache server CS <NUM> was connected, in order to take into account deactivation of said cache server CS <NUM>.

It has to be noted that the algorithm of <FIG> is particularly suitable to anchor the mobile terminals T <NUM>, which were anchored to the cache server CS <NUM> which had to be deactivated, to different cache servers CS <NUM>. Another approach would be to deactivate the cache server CS <NUM>, and all the mobile terminals T <NUM> anchored thereto are automatically managed by a cache server CS <NUM> of an upstream layer thanks to the traffic steering rules already explained.

<FIG> illustratively shows an example of ensuring service continuity when the audio and/or video content delivery system <NUM> decides to deactivate the cache server CS4 <NUM> handling the zone Z2,<NUM> (as well as the zone Z1,<NUM> which is included in the zone Z2,<NUM> and which does not include any active cache server CS <NUM> at that time). Starting from the situation depicted in <FIG>, the mobile terminal T7 <NUM> obtains segments of the fourth content CT4 from the cache server CS4 <NUM> to be deactivated. To do so, the mobile terminal T7 <NUM> uses the anycast addressing @IP2 as destination address of its segment requests. Before deactivating the cache server CS4 <NUM>, the mobile terminal T7 <NUM> is redirected (e.g., by the cache server CS4 <NUM> following instructions from the orchestrator ORCH <NUM>) to the anycast addressing @IPn and traffic steering leads the mobile terminal T7 <NUM> to then request segments of the fourth content CT4 to the cache server CS5 <NUM> instead of requesting them to the cache server CS4 <NUM>. Considering that the mobile terminal T7 <NUM> was the last terminal anchored to the cache server CS4 <NUM>, the cache server CS4 <NUM> can be deactivated, as shown in <FIG>. Traffic steering of the aggregation node <NUM> to which is connected the cache server CS4 <NUM> is reconfigured so that the packets with destination address equal to @IP2 are no more captured by its breakout function.

Redirecting mobile terminals T <NUM> to a substitute cache server CS <NUM> may also be used for offloading a cache server CS <NUM> to which said mobile terminals T <NUM> are anchored.

<FIG> schematically represents an algorithm for ensuring audio and/or video content delivery service continuity when offloading a cache server CS <NUM> in the audio and/or video content delivery system <NUM>.

In a step <NUM>, the audio and/or video content delivery system <NUM> detects that cache server offloading conditions are met for a cache server CS <NUM>. For example, there is an increase in the quantity of terminals to be simultaneously served by the cache server CS <NUM> in question which leads to a quantity of terminals T <NUM> simultaneously served above a predetermined threshold. According to another example, the internal resource usage for the cache server CS <NUM> in question is above a predetermined threshold.

In a step <NUM>, the audio and/or video content delivery system <NUM> selects at least one mobile terminal T150, anchored to said cache server CS <NUM> to be offloaded, which has to be served by a substitute cache server CS <NUM>. For example, the audio and/or video content delivery system <NUM> offloads all the mobile terminals T <NUM>, which are anchored to said cache server CS <NUM> to be offloaded and which are served with the same audio and/or video content, toward a substitute cache server CS <NUM>. The audio and/or video content delivery system <NUM> selects at least one substitute cache server CS <NUM> for continuing audio and/or video content delivery to each selected mobile terminal T <NUM>. To do so, the audio and/or video content delivery system <NUM> determines an upstream cache server CS <NUM> able to continue delivering the audio and/or video content to each mobile terminal T <NUM> in question and to ensure service continuity.

Once a suitable substitute cache server CS <NUM> is found, if any, the audio and/or video content delivery system <NUM> retrieves the anycast addressing @IPi associated with the layer Li in which the substitute cache server CS <NUM> is located in the layer-based tree hierarchy.

In a step <NUM>, the audio and/or video content delivery system <NUM> redirects each mobile terminal T <NUM> in question to the anycast addressing @IPi correspondingly retrieved in the step <NUM>. For example, the orchestrator ORCH <NUM> instructs the cache server CS <NUM> for which the offloading conditions are met to redirect each selected mobile terminal T <NUM> in question to the anycast addressing @IPi correspondingly retrieved in the step <NUM>. Consequently, when the cache server CS <NUM> for which the offloading conditions are met receives a subsequent request from one of said selected mobile terminals T <NUM> anchored thereto, said cache server CS <NUM> responds by sending a redirection message (such as http REDIRECT) indicating a relocation of the audio and/or video content at the anycast addressing @IPi correspondingly retrieved in the step <NUM>. When the mobile terminal T <NUM> in question receives the redirection message, it is supposed to reiterate the request (typically, a segment request) using the anycast addressing provided in the redirection message as destination address. The mobile terminal T <NUM> is then anchored to the substitute cache server CS <NUM> that has been suitably found for ensuring service continuity and the former cache server CS <NUM> is consequently offloaded.

Moreover, in a particular embodiment, when no cache server CS <NUM> is activated in a zone Zx,y then traffic addressed to the anycast addressing @IPx is steered to the cache server CS <NUM> located in the immediately upper layer x+<NUM>, namely toward the cache server CS <NUM> handling the zone Zx+<NUM>,w in which the zone Zx,y is included, and further upper when no cache server CS <NUM> is activated in the zone Zx+<NUM>,w. The aggregation node <NUM> to which the inactive cache server CS <NUM> of the zone Zx,y is supposed to be connected, as well as the aggregation node <NUM> to which the active cache server CS <NUM> of the zone Zx+<NUM>,w is connected, are then configured to steer traffic in accordance. Considering the layer-based arrangement of <FIG>, if the mobile terminal T7 <NUM> transmits requests addressed to the anycast addressing @IP1 (which is supposed to be steered to the cache server CS <NUM> handling the zone Z1,<NUM>), said requests are routed to the cache server CS4 <NUM> which handles the zone Z2,<NUM>.

Therefore, when the audio and/or video content delivery system <NUM> deploys (namely, activates) a cache server CS <NUM> in the zone Zx,y, each mobile terminal T <NUM> that uses the anycast addressing @IPx as destination address is automatically handled by the newly deployed (activated) cache server CS <NUM> in the zone Zx,y instead of the cache server CS <NUM> in the zone Zx+<NUM>,w (or from upper layer if there is no active cache server CS <NUM> in the zone Zx+<NUM>,w). If the newly deployed cache server CS <NUM> in the zone Zx,y is not authorized to cache that particular audio and/or video content (due e.g. to a lack of popularity), the newly deployed cache server CS <NUM> may redirect the mobile terminal T <NUM> in question to the anycast addressing @IPx+<NUM> so that the mobile terminal T <NUM> be anchored as previously. Traffic steering of involved aggregation nodes <NUM> is updated in accordance.

In a particular embodiment, a default policy for each new content delivery session engagement for a mobile terminal T <NUM> is to associate with that session the anycast addressing @IP1. If there is no cache server CS <NUM> handling the zone Z1,j where the mobile terminal T <NUM> is located, requests from the mobile terminal T <NUM> in question are steered to an upper layer where a cache server CS <NUM> is active. Moreover, if the requests from the mobile terminal T <NUM> in question reach a cache server CS <NUM> that does not have the targeted audio and/or video content in cache, said reached cache server CS <NUM> redirects the mobile terminal T <NUM> in question to the anycast addressing associated with the immediately upper layer. It simplifies new content delivery session engagement.

The foregoing disclosure details various situations in which a first cache server CS <NUM>, from which the audio and/or video content is delivered to a mobile terminal T <NUM> becomes no more able to ensure service continuity. In this case, the audio and/or video content delivery system <NUM> instructs the first cache server CS <NUM> to redirect the mobile terminal to the anycast addressing associated with the layer of a second cache server CS <NUM> that is located upstream in the layer-based hierarchical tree topology with respect to the first cache server. In some situations, as disclosed above, the audio and/or video content delivery system <NUM> instructs the first cache server CS <NUM> to redirect the mobile terminal to the anycast addressing associated with the layer of a second cache server CS <NUM> that is located downstream in the layer-based hierarchical tree topology with respect to the first cache server CS <NUM>. Such situations include a mobile network handover implying a move of the mobile terminal T <NUM> in question from one zone to another zone which requires a change of cache server anchoring, but are not limited thereto. This is summarized in <FIG>.

In a step <NUM>, the audio and/or video content delivery system <NUM> receives a session request for a mobile terminal T <NUM>, wherein the session request initiates delivery of an audio and/or video content to the mobile terminal T <NUM> in question. In a particular embodiment, the session request is received from the mobile terminal T <NUM> and is the very first manifest request or playlist request from this mobile terminal T <NUM> related to said audio and/or video content.

In a step <NUM>, the audio and/or video content delivery system <NUM> allocates, to the mobile terminal T <NUM>, the anycast addressing corresponding to the layer of an initial or first cache server CS <NUM>, from which the audio and/or video content is to be delivered to the mobile terminal T <NUM>, among the cache servers CS <NUM>. It means that the mobile terminal T <NUM> is expected to use the allocated anycast addressing to further receive the audio and/or video content in question.

In a step <NUM>, the audio and/or video content delivery system <NUM> informs the mobile terminal T <NUM> about the anycast addressing allocated in the step <NUM>. Typically, the audio and/or video content delivery system <NUM> informs the mobile terminal T <NUM> about the allocated anycast addressing, in response to the session request received in the step <NUM>. Then, the mobile terminal T <NUM> in question is expected to address requests related to the audio and/or video content to the anycast addressing in question, so that the initial or first cache server CS <NUM> delivers segments of the audio and/or video content to the mobile terminal T <NUM>.

In a particular embodiment of the steps <NUM> and <NUM>, the session request is addressed to a cache controller CC <NUM> which in turn informs the mobile terminal T <NUM> about the anycast addressing of the initial or first cache server CS <NUM> (which is managed by the cache controller CC <NUM> in question), so as for the mobile terminal T <NUM> to obtain the audio and/or video content in question. For example, the cache controller CC <NUM> sends to the mobile terminal T <NUM> a redirection message.

In a step <NUM>, the audio and/or video content delivery system <NUM> detects a situation in which the first cache server CS <NUM> is not able to ensure service continuity for delivering the audio and/or video content to the mobile terminal T <NUM>. Such a situation may be a handover in the mobile network which implies a move of the mobile terminal T <NUM> from one zone to another zone. Such a situation may be an offload of the initial or first cache server CS <NUM>. Such a situation may be a deactivation of the initial or first cache server CS <NUM>.

In a step <NUM>, the audio and/or video content delivery system <NUM> selects a substitute or second cache server CS <NUM> able to ensure service continuity for delivering the audio and/or video content to the mobile terminal T <NUM> in question. The substitute or second cache server CS <NUM> is located upstream in the layer-based hierarchical tree topology with respect to the initial or first cache server CS <NUM>, so that the substitute or second cached server CS <NUM> ensures service continuity for delivering the audio and/or video content to the mobile terminal T <NUM>. In some situations, the substitute or second cache server CS <NUM> is located downstream in the layer-based hierarchical tree topology with respect to the initial or first cache server CS <NUM>, as disclosed above. The audio and/or video content delivery system <NUM> then allocates, to the mobile terminal T <NUM>, the anycast addressing corresponding to the layer of the substitute or second cache server CS <NUM>, from which the audio and/or video content is now to be delivered to the mobile terminal T <NUM>.

In a step <NUM>, the audio and/or video content delivery system <NUM> instructs the initial or first cache server CS <NUM> to redirect the mobile terminal T <NUM> to the anycast addressing associated with the layer of the substitute or second cache server CS <NUM>. Consequently, the initial or first cache server CS <NUM> redirects the mobile terminal T <NUM> to the anycast addressing associated with the layer of the substitute or second cache server CS <NUM>, preferably when responding to a manifest or playlist request. Then, the mobile terminal T <NUM> in question is expected to address further requests related to the audio and/or video content to the anycast addressing in question, so that the substitute or second cache server CS <NUM> delivers segments of the audio and/or video content to the mobile terminal T <NUM>.

Claim 1:
A method for delivering an audio and/or video content to a mobile terminal (<NUM>) by an audio and/or video content delivery system (<NUM>) deployed on top of a mobile network, wherein the audio and/or video content delivery system (<NUM>) comprises plural cache servers (<NUM>), the cache servers (<NUM>) are arranged using a layer-based hierarchical tree topology, the cache servers (<NUM>) are connected to respective aggregation nodes (<NUM>) of the mobile network such that a configurable breakout function of the aggregation nodes (<NUM>) enables routing to the cache servers (<NUM>) packets addressed to an anycast addressing associated with the cache servers (<NUM>), wherein each layer of the layer-based hierarchical tree topology is associated with an anycast addressing so that each layer of the layer-based hierarchical tree topology has a dedicated anycast addressing, and wherein the method comprises:
- Allocating (<NUM>) to the mobile terminal (<NUM>) the anycast addressing corresponding to the layer of a first cache server (<NUM>), from which the audio and/or video content is to be delivered to the mobile terminal (<NUM>), among the cache servers (<NUM>),
and wherein the method further comprises:
- Configuring traffic steering addressed to the anycast addressing associated with a layer by configuring the configurable breakout function of the aggregation node (<NUM>) connected to an active cache server (<NUM>) of said layer so as to route the traffic addressed to the anycast addressing associated with said layer to the active cache server (<NUM>); and
- Further configuring traffic steering addressed to the anycast addressing associated with any and all downstream layers, with respect to the layer of the active cache server, by configuring the configurable breakout function of the aggregation node connected with said active cache server (<NUM>) so as to also route the traffic addressed to the anycast addressing associated with said any and all downstream layers to the active cache server (<NUM>), so that when the first cache server (<NUM>) is not able to ensure service continuity for delivering the audio and/or video content to the mobile terminal (<NUM>), said service continuity is automatically ensured by a second cache server (<NUM>) located upstream in the layer-based hierarchical tree topology with respect to the first cache server (<NUM>), wherein the second cache server (<NUM>) is the active cache server (<NUM>).