Customized and extremely low latency streaming from the network edge
Abstract
Streaming improvements are provided by using computing, caching, and/or other resources that are provided at different network edges in a Multi-access Edge Computing (“MEC”) enhanced network. A MEC device, at a network edge, may customize a stream passing to a client device via the network edge by identifying a break in an original stream manifest passing to the client device, and by inserting a link for the client device to request and play content that is selected by the MEC device during the break. The MEC device then passes the modified stream manifest, instead of the original stream manifest, to the client device. The MEC device may also be triggered, via a prioritization message from a host in the network, to prefetch, cache, and serve a stream from the network edge to a client device accessing the network via that network edge.
Claims
exact text as granted — not AI-modifiedWe claim:
1. A method comprising:
receiving a particular stream from a host in a data network at a caching device located by a particular network edge of the data network, wherein one or more client devices access the data network via the particular network edge;
caching the particular stream in local cache of the caching device prior to receiving a client device request for the particular stream at the caching device;
establishing a network connection between the caching device and a particular client device of the one or more client devices prior to receiving the client device request, wherein the network connection between the caching device and the particular client device is different than another network connection established between the host and the particular client device;
receiving at the caching device, a request for the particular stream originally issued by the particular client device to the host; and
providing the particular stream from the local cache of the caching device to the particular client device in response to receiving the request.
2. The method of claim 1 , wherein receiving the request comprises:
shifting, from the host to the caching device, the request for the particular stream issued by the particular client device.
3. The method of claim 2 , wherein said shifting comprises:
receiving the request at the host prior to receiving the request at the caching device;
determining that the request is directed to the particular stream based on an identifier of the request;
determining that the particular stream is designated for delivery from the particular network edge; and
providing an identification of the caching device to the particular client device.
4. The method of claim 1 , wherein receiving the request comprises:
redirecting the particular client device from the host to the caching device; and
receiving the request from the particular client device at the caching device in response to said redirecting.
5. The method of claim 1 further comprising:
determining that the particular client device accesses the data network via the particular network edge; and
wherein receiving the request comprises shifting the request from the host to the caching device in response to determining that the particular client device accesses the data network via the particular network edge.
6. The method of claim 5 , wherein said determining comprises:
mapping a network address of the particular client device to the particular network edge.
7. The method of claim 5 , wherein said determining comprises:
performing a traceroute from the host to the particular client device; and
identifying a network path of the traceroute as being geographically proximate to the particular network edge.
8. The method of claim 1 ,
wherein caching the particular stream comprises caching one or more of a manifest and a first segment of the particular stream at the caching device prior to receiving the request;
wherein providing the particular stream comprises:
distributing one or more of the manifest and the first segment from the caching device to the particular client device in response to the request; and
prefetching, by the caching device, a next manifest or a next segment of the particular stream from the host.
9. The method of claim 1 further comprising:
receiving, at the caching device from the host, a prioritization message that identifies the particular stream; and
requesting the particular stream from the host in response to receiving the prioritization message from the host.
10. The method of claim 9 , wherein the prioritization message comprises an identifier designating the particular stream for distribution from the particular network edge.
11. The method of claim 9 further comprising:
joining a multicast group with the caching device; and
wherein receiving the prioritization message comprises detecting the prioritization message being sent from the host to the multicast group.
12. The method of claim 1 , wherein receiving the request comprises:
transferring a network connection that the particular client device establishes with the host to the caching device.
13. The method of claim 1 , wherein the particular network edge corresponds to a Radio Access Network (“RAN”) of a telecommunications wireless network, and wherein the caching device is located near a base station of the RAN.
14. A device that is located by a particular network edge of a data network, wherein one or more client devices access the data network via the particular network edge, the device comprising:
a local cache; and
one or more processors configured to:
receive a particular stream from a host in the data network;
cache the particular stream in the local cache prior to receiving a client device request for the particular stream;
establish a network connection with a particular client device of the one or more client devices prior to receiving the client device request, wherein the network connection with the particular client device is different than another network connection established between the host and the particular client device;
receive a request for the particular stream originally issued by the particular client device to the host; and
provide the particular stream from the local cache to the particular client device in response to receiving the request.
15. The device of claim 14 ,
wherein caching the particular stream comprises caching one or more of a manifest and a first segment of the particular stream prior to receiving the request;
wherein providing the particular stream comprises:
distributing one or more of the manifest and the first segment to the particular client device in response to the request; and
prefetching a next manifest or a next segment of the particular stream from the host.
16. The device of claim 14 , wherein the one or more processors are further configured to:
receive from the host, a prioritization message that identifies the particular stream; and
request the particular stream from the host in response to receiving the prioritization message from the host.
17. A non-transitory computer-readable medium, storing a set of processor-executable instructions, which, when executed by one or more processors, cause the one or more processors to:
receive a particular stream from a host in a data network;
cache the particular stream in a local cache prior to receiving a client device request for the particular stream;
establishing a network connection with a particular client device of the one or more client devices prior to receiving the client device request, wherein the network connection with the particular client device is different than another network connection established between the host and the particular client device;
receive a request for the particular stream originally issued by the particular client device to the host; and
provide the particular stream from the local cache to the particular client device in response to receiving the request.Join the waitlist — get patent alerts
Track US11431776B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.