Reliable delivery of digital services
By introducing context-aware sub-edge devices between the end user equipment and the cloud and selecting the appropriate network for content recovery, the problem of terminal consumer devices accessing low-bandwidth networks is solved, and network performance and reliability are improved.
Patent Information
- Application Number
- CN202180047125.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-02-17
- Filing Date
- 2021-04-20
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2041-04-20
AI Technical Summary
The prior art is difficult to effectively solve the problem of terminal consumer equipment accessing low-bandwidth network connections, resulting in deterioration of E2E network performance.
By introducing intermediate context-aware sub-edge devices between the cloud and end user devices, using local storage and computing, selecting satellite networks or non-satellite networks for content recovery, coordinate central cloud devices for reliable delivery of content.
Improves the network performance and reliability of end-user equipment, and optimizes the network utilization, cost and performance of cloud-to-end users.
Smart Images

Figure CN115804036B_ABST
Abstract
Description
Background Art
[0001] While more than half of the world’s population are Internet users, only a small percentage (14%) have access to broadband. For example, in India, access to broadband is limited to only 6% of the total population today. However, there are about 500 million smartphone users (out of 1.4 billion) with access to 2G / 3G / 4G connections (about 300 million urban users and 200 million rural users). A large portion of this population accesses online content and services indirectly and in an ad hoc manner (e.g., mobile recharges, travel bookings, insurance, etc.). Even this population has difficulty accessing Internet-enabled digital content directly from the cloud, which consumes large amounts of data and requires high network bandwidth. Today’s Content Delivery Network (CDN) and Internet Service Provider (ISP) services are unable to meet the needs of this large, underserved population around the world. Summary of the invention
[0002] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0003] A computerized method for content delivery includes determining lost portions of received content delivered to a plurality of sub-edge devices and selecting one or more of the lost portions to be restored. The computerized method also includes selecting one of a satellite network or a non-satellite network to restore the selected one or more lost portions based on at least one of content priority and weather. The computerized method also includes downloading the selected one or more lost portions from the selected one of a satellite network or a non-satellite network to restore the selected one or more lost portions, the restoration being coordinated by a central cloud device in communication with the plurality of sub-edge devices.
[0004] Many of the attendant features will be more readily appreciated as the same become better understood by reference to the following detailed description considered in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The present description will be better understood from the following detailed description read in conjunction with the accompanying drawings, in which:
[0006] Figure 1 is a block diagram illustrating a system according to an example;
[0007] Figure 2 is a block diagram of a Platform as a Service (PaaS) system according to an example;
[0008] Figure 3 is a block diagram of a hybrid intelligent network (bine) network stack according to an example;
[0009] Figure 4 is a block diagram of a content delivery network according to an example;
[0010] Figure 5 is a block diagram illustrating a workflow for intelligent content acquisition and delivery according to an example;
[0011] Figure 6 is a block diagram illustrating a process for content acquisition and delivery according to an example;
[0012] Figure 7 is a block diagram illustrating a process for content acquisition and delivery according to another example;
[0013] Figure 8 is a block diagram illustrating content recovery using a heat map according to an example;
[0014] Fig. 9 is a flowchart illustrating the operation of a computing device delivering content according to an example; and
[0015] Fig.10 A computing device according to an example is shown as a functional block diagram.
[0016] Throughout the drawings, corresponding reference characters indicate corresponding parts. In the drawings, the system is shown in schematic form. The drawings may not be drawn to scale. DETAILED DESCRIPTION
[0017] The computing devices and methods described herein are configured to provide a context-aware and content-aware digital distribution network for optimally and reliably providing Internet-enabled digital services in the last mile (e.g., the last hop before a user device), including by performing lost content recovery, particularly content transmitted from one or more satellites. Various examples include a system comprising an intermediate context-aware sub-edge device (e.g., a computing device at the last mile edge of a service) introduced between a cloud and an end-user device (e.g., a consumer device at the edge), which utilizes local storage and computing to enhance the overall end-to-end (E2E) network experience and / or performance of the end consumer. For example, by introducing a context-aware configuration in a sub-edge coupled to both the cloud and the end-consumer device, and using different recovery methods, such as non-satellite methods (e.g., peer-to-peer (P2P) recovery methods) and satellite methods, reliable content delivery from a satellite to a sub-edge device can be provided. That is, in various examples, a context-aware solution is provided at the sub-edge.
[0018] In one example, the sub-edge device has multiple network interfaces and a customized network stack to support multiple network interfaces. Using contextual information (from the user, sub-edge, network, application, etc.), the end-user's content is preloaded onto the sub-edge device. The system described herein allows the end-user device to access the preloaded content directly from the sub-edge over a high-bandwidth network, rather than accessing the content from the cloud.
[0019] Provide a platform for Internet-enabled digital service businesses that are coordinated by cloud services and enhanced by sub-edge configuration through the properties of sub-edge devices (including intelligence, storage, and computing), which optimizes the overall network utilization, cost, and performance from the cloud to the end user, as well as having high reliability. In one example, the sub-edge device hosts a third-party application (e.g., an Internet-enabled digital service business). The third-party application at the sub-edge acts as an intermediary between the corresponding end user and the cloud service.
[0020] Thus, the entire system is non-intrusive to the end user and exploits contextual information and network bandwidth diversity in content acquisition and delivery. The entire system also performs lost content recovery to enhance overall E2E network performance. For example, content recovery is supported on sub-edge devices and end-user devices. Buffered multicast of content is provided directly from the sub-edge to the end-user device. The end user can also access different segments of the same content from multiple sub-edges. In this way, when the processor is programmed to perform the operations described herein, the processor is used in an unconventional manner, which allows more efficient and reliable content delivery, which results in an improved user experience.
[0021] The present disclosure solves at least one or more of the following technical problems:
[0022] -Even if the cloud and corresponding intermediate infrastructure are fully equipped, the end consumer devices can only access low-bandwidth network connections due to high cost or insufficient last-mile infrastructure. This in turn deteriorates the E2E network performance from the end consumer's perspective.
[0023] - Although infrastructures like Content Delivery Networks (CDNs) attempt to improve this situation, these infrastructures are not fully empowered with very specific contextual information at the end-user level. Therefore, supporting bulk content on the Internet does not optimize network utilization costs.
[0024] -The infrastructure needs to be extended as close as possible to the end-users, which is currently unavailable.
[0025] - In a satellite content delivery environment, all ground sub-edge devices in a geographic area (e.g., a city) should have the same content. However, the error rates from different satellites are different, so some sub-edge devices will have different parts of missing content than other sub-edge devices.
[0026] In a satellite content delivery environment, the sub-edge device of the present disclosure in the same geographic area uses a satellite or non-satellite network (e.g., TV White Space (TVWS), Ethernet, cellular, cloud, etc.) to perform content recovery of lost parts. In some examples, the sub-edge device receives most of the content from the satellite and recovers the lost content through a non-satellite network.
[0027] According to an example architecture of the system 100 Figure 1 As shown. The system 100 in this example has an intermediate context-aware sub-edge device (between the cloud 106 and the end-user device 104) with multiple network interfaces and a customized network stack. By introducing an intelligent intermediate network device (IIND) 102 as the last hop between the end-user device 104 (e.g., a mobile phone, an Internet of Things (IoT) device) and the cloud 106, a layered architecture is provided that improves overall network performance and / or the end-user experience. The layered architecture helps ensure reliable content delivery from the satellite at least by performing "intelligent" recovery of lost content. In various examples, the IIND 102 is configured or implemented or referred to as a hub device or a sub-edge device. For example, as Figures 2 to 7 As shown, IIND 102 is a sub-edge device implemented as a bine hub 302.
[0028] With particular reference to IIND 102, the device is configured in various examples as described below. IIND 102 is a highly reliable sub-edge device with local storage and computing running PaaS software. IIND 102 hosts multiple unidirectional and bidirectional network interfaces with cloud 106, but has at least one bidirectional channel with the cloud. Possible network channels include digital subscriber line (DSL), global system for mobile communications (GSM), long term evolution (LTE), LTE-B, satellite downlink, television white space (TVWS), etc. If the device runs PaaS software, IIND 102 can establish bidirectional communication with any other IIND device via WAN / remote WiFi / local area network (LAN) / TVWS, etc.
[0029] After the content is delivered to the IIND 102, the IIND 102 performs recovery of any lost portions of the content using a satellite or non-satellite network (including the network channels described above). Recovery is performed in a variety of ways based on, for example, cost, efficiency, and time, including recovery at the IIND 102 using, for example, a low bandwidth (LBW) link, peer-to-peer recovery between other IINDs in the same geographic area (e.g., using TV White Space (TVWS)), and recovery in the end-user device 104.
[0030] Other end-user devices, such as smartphones, laptops, IoT devices, can connect to the IIND 102 and establish a two-way communication channel via 802.11a / b / g / n, Bluetooth, NFC, TV white space, etc. To communicate in this architecture, the end-user device application is configured to interact with a version of the PaaS software, which is provided in the form of a software development kit (SDK), library or service, so it can also be added to existing applications.
[0031] The end-user device 104 has a separate "private" channel with the cloud 106 for exchanging sensitive and / or private information with low data exchange requirements, such as authentication, financial information, device-specific actions, etc. The end-user device 104 establishes P2P communication and exchanges any data after obtaining consent from the IIND 102 or the cloud 106. In some examples, a "dedicated" channel is a communication channel with a low-bandwidth connection (e.g., a second generation (2G) or third generation (3G) cellular network connection). In one example, a majority or majority of "dedicated" channels (e.g., more than 90%) have a low-bandwidth connection. However, it should be understood that the number of "dedicated" channels with a low-bandwidth connection can be higher or lower.
[0032] According to an example architecture of platform 200 (as PaaS) Figure 2 The PaaS 200 configured in various examples includes a central cloud device (configured or referred to as a bine cloud 306 in some examples, such as Figure 3 ), and provides cloud service 202 (configured or referred to as bine cloud service controlling cloud operations in some examples) between edge service 204 and cloud service 206. That is, PaaS 200 is configured as a platform that includes both cloud and sub-edge. In this example, bine cloud 306 coordinates and controls operations between edge service 204 and cloud service 206, including content delivery from multiple communication devices 208, which includes performing recovery of lost content. In one example, edge service 204 in conjunction with IIND 102 is configured to control communications between cloud service 202 and end-user device 104, including recovery of lost content from different communication devices 210. For example, most of the content is received from one of the communication devices 208 (such as a satellite), while the lost content is received from the communication device 210 such as via Ethernet, DSL, GSM, etc.
[0033] In the example shown, in addition to multiple network interfaces, the IIND 102 has local storage and computing capabilities to maintain state, parameters and host other applications. The IIND 102 can have a range of storage and computing capabilities depending on various factors such as location, demographics, use case (personal vs. business), etc., but runs the bine hub application to utilize the functionality. The IIND 102 is also configured to access one or more drivers 220 and communication interfaces 222 to allow communication through different means (e.g., communication device 210). Storage and power 224 are also provided.
[0034] In one example, cloud service 206 runs in a specific cloud in conjunction with bine cloud service 202 (and access to standard services 218), manages hubs (e.g., one or more IIND 102), and orchestrates tasks and actions for the entire system. For example, IIND 102 runs a bine hub application that monitors the availability of storage and computing resources, and is also responsible for decision-making at the "last hop." The bine hub application is configured in a manner that allows other providers to run third-party (3P) applications 212 in addition to any first-party (1P) applications 214, which utilize bine hub storage, computing, and intelligence. IIND 102 downloads, maintains, and updates machine learning models for both 1P applications 214 and 3P applications 212 on the hub device, which run on IIND102 (e.g., on the bine hub). The bine edge is a service component 216 that runs on the end-user device 104 and interacts seamlessly with both the bine cloud service and the bine hub to provide improved digital service delivery, including initial delivery and recovery of lost content.
[0035] Figure 3 An example of a Bine network stack 300 is shown in FIG. The Bine network stack 300 is configured in various examples to include two different network stacks 304, one stack 304a for communicating with the Bine cloud 306 and other Bine hubs 302, and another stack 304 for communicating with the Bine edge 308 service. As described herein, in various examples, the Bine cloud 306 executes the cloud service 202, and the Bine edge 308 is a service executed on the end-user device 104. That is, the cloud server 202 operates on the cloud side of "Bine", while the end-user device 106 operates on the user device side of "Bine".
[0036] The two network stacks 304a, 304b are bridged by the bine hub service and host 310 at the application layer 312, so that all PaaS clients are hosted therein, corresponding services are provided, and local storage and calculations are performed. In some examples, the bine hub service and host 310 include the edge service 204, or are implemented as the edge service 204.
[0037] Figure 3 The cross-layer network stack shown in facilitates multiple network interfaces, where the application layer 312 determines / selects the network interface before initiating communication, and the transport layer 314 handles runtime vertical switching to ensure better network performance. It should be noted that the network stack including the network stacks 304a, 304b has other layers, including the network layer 316, the data link layer 318, and the physical layer 320. That is, the network stacks in various examples can be configured using one or more different network communication protocol designs.
[0038] Thus, in some examples, two five-layer network stacks 304 are configured in a bine hub 302, where the network stack 304a is configured to communicate with a bine cloud 306 (customized across layers to support multiple pre-selected or on-the-fly interfaces) or other bine hubs 302. The stacks 304 bridge at the application layer 312.
[0039] One or more examples include local storage, where the bine hub PaaS platform provides a feature in which the storage 108 of the bine hub 302 is utilized by other applications for a specified duration. In the example of a "leaf CDN", a media company (MC) is launching a new season of a popular TV series S_1 in a specific region. Each user opens a new unicast channel to access the content. MC can make the content available to the bine cloud 306 via an API. The bine cloud 306 delivers S_1 to a specific hub location, including content recovery as described herein. Users who use MC applications integrated with the bine edge 308 at nearby locations receive notifications prompting users to get files from the nearest hub at high speed and high quality without incurring any data costs. Users can then obtain content without accessing the MC's cloud CDN.
[0040] In the "temporary personalized secure storage" example, a typical end user who does not have access to a high bandwidth (HBW) connection and a large amount of local storage can request that any content be delivered to a specific hub. Using the bine edge 308, the user of the API can transmit the specific file, duration, and specific hub to which the content needs to be delivered. The download operation is triggered at the specified hub, and after the download (including content recovery as described herein), the content is encrypted and stored for the specified duration. The content can only be accessed by the user via the specific end user device 104 that triggered the request.
[0041] Figure 4 The architecture of a CDN 400 shown as a leaf CDN according to one example is shown in FIG. Figure 3 , various examples utilize sub-edges and CDNs. In one example, the bine cloud 306 uses control messages and telemetry from the bine hub 302 to make decisions about appropriate delivery channels. The bine hub PaaS platform has a machine learning (ML) module, which is a collection of multiple models that are downloaded and updated and can be used for different terminal application purposes. The ML model is used for both specific use cases of 3P applications 212 and facilitates the bine hub service 402. The bine hub 302 ensures that any 1P application 214 or 3P application 212 running and storing data on the platform complies with the policies deployed on the hub. These policies are application-specific and encapsulate user consent, data retention and deletion, sharing, etc. ML models can be deployed on the bine hub 302 by 1P and 3P applications together with customized policies around updates, data usage, etc. By running ML models only on the bine hub 302 without pushing user data to the cloud 106, the bine hub 302 has the ability to maintain sovereignty over data 404 (e.g., MC's data), which may be stored in the bine database 410. Anonymous and aggregated data may be shared with 3P services based on appropriate policies to improve ML models.
[0042] In some examples, metadata is used to determine the content to be downloaded to the bine hub 302. Key 406 is used to access content 408 by the end-user device 104 (to utilize the storage at the bine hub 302). It should be noted that the diversity of channels provides increased communication speed (e.g., selecting the fastest channel). In the example of using ML to enhance the video experience, MC has developed the following ML model, which can enhance the user's experience of watching videos in real time by upgrading the video. The ML model is trained a priori on the video, and different types of videos have different types of models. For example, the sports movie model is different from the talk show model. In addition, the ML model uses specific hardware to make the model run effectively. MC can attach the ML model with specific content to be delivered to the bine hub 302. Whenever a user obtains specific content, the bine hub 302 and the bine edge 308 coordinate to push the content with the ML model to the end-user device 104, or upgrade the video according to the device specifications and push the content directly to the terminal device 104.
[0043] Figure 5 A workflow 500 for intelligent content acquisition and delivery according to an example is shown. The workflow 500 in this example includes the following operations:
[0044] Operation 1: A user of the terminal user device 104 requests aggregation;
[0045] Operation 2: Network interface selection by the bine cloud service 202 that can access the standard service 502;
[0046] Operation 3: Delivery to bine hub 302 (e.g., by satellite means);
[0047] Operation 4: Retrieval and storage in bine hub 302 (eg, by non-satellite means); and
[0048] Operation 5: Delivery to end user device 104.
[0049] It should be understood that the operations may be performed in a different order, that additional or fewer operations may be provided, and that operations may be performed at the same or different times (eg, simultaneously, concurrently or sequentially).
[0050] Figure 6 A process 600 for content acquisition and delivery according to an example is shown. The process 600 performs intelligent content acquisition and delivery. A prioritized content list generator 602 in a bine cloud 306 generates content acquisition priorities (e.g., a prioritized content list 606 including a plurality of content 608) based on one or more metrics 604 provided by a PaaS client and a bine service (e.g., PaaS client metrics such as content type, end-user demand, business model / promotion, time sensitivity, storage cost, network bandwidth cost, etc.). The metrics 604 can vary from bine hub 302 to bine hub 302 according to, for example, geographic location, demographics of a user community, etc. In one example, a computational metric 610 (e.g., metrics of storage and network bandwidth, etc.) is also considered.
[0051] Content retrieval is then handled by the bine service in two high-level operations. The retrieval includes (1) the network analyzer 612 making a decision about using a specific network interface to obtain the content from the cloud 106, and (2) performing the retrieval and storing the content.
[0052] The network analyzer 612 is configured to decide to use a network interface to obtain content from the cloud 106 based on one or more network metrics 614 (e.g., network bandwidth utilization, quality, and cost). For example, if multiple bine hubs 302 request the same content, a satellite broadcast is performed considering bandwidth utilization and cost. However, depending on the weather, the satellite broadcast may be hindered. In this case, network quality is a factor that depends on network quality forecasts or runtime network analysis. Another example is the quality of the cellular network at the location of the base station hub 302 based on the distance of the cellular tower, antenna gain, signal loss (LOS), etc. In the initial stage, the network metrics 614 are determined and analyzed based on heuristics. However, in some examples, ML is utilized in determining and analyzing the optimal metrics over time.
[0053] In the illustrated example, the network analyzer 612 determines at 620 whether the target bine hub 302 is capable of operating above a threshold, e.g., based on the network metrics 614 and / or other metrics. If operation above the threshold is possible, a broadcast or multicast interface is used to broadcast or multicast content (e.g., satellite communications) at 622. If operation is below the threshold, a unicast interface is used to unicast content (e.g., LAN or cellular communications) at 624. A hub-specific interface priority list generator 626 then generates a hub-specific interface priority list 628 based on the selected communication method and the bine hub network metrics.
[0054] The content delivery coordinator 630 then uses content specific metrics 632 or "content metrics" (e.g., live streaming, offline content, online content, games, etc.) to deliver content 634 via a network interface 640 based on a hub specific interface priority list 628. For example, a network interface 636 (e.g., satellite, TVWS, cellular CTE, etc.) is used to send content 634 to a bine hub 302, where content reception and storage 638 are performed. Therefore, in some examples, the type of content is also a factor. For example, for live content, network quality is given the highest priority because the recovery range is small. On the other hand, offline content gets more acquisition and recovery time. Another consideration is the allowable delay of the content. For example, in some examples, games require as low a delay as possible. Therefore, in various examples, intelligent content acquisition and delivery is provided.
[0055] The network interface from the cloud 106 to the bine hub 302 is selected by running a network analyzer 612, which may include determining whether the transmission is multicast or broadcast. In some examples, the bine hub network metrics (e.g., quality, cost, etc.) are used to determine the list of switchable network interfaces for each bine hub 302 using the determination of the content type. The content delivery coordinator 630 then runs an algorithm to coordinate content delivery (it should be noted that fragments can be sent through different channels, which may be different for different bine hubs 302). The content is delivered to the bine hub, recovery is performed, and the content is stored in the bine hub. A notification of the content storage is then provided to the PaaS client. For example, the PaaS client notifies the terminal client when the content is stored.
[0056] Figure 7 A process 700 for content acquisition and delivery is shown. Process 700 performs intelligent content acquisition and delivery, including recovery of lost portions of content. In one example, by introducing a context-aware device (bine hub 302) coupled to both the cloud 106 and the end-user device 104 at the sub-edge, and using one or more recovery methods, process 700 provides reliable content delivery from a satellite to a sub-edge device. That is, all sub-edge devices (e.g., all bine hubs 302) in a geographic area (e.g., a city) should have the same content. However, the error rates from different satellites are different, so some sub-edge devices will have lost portions of content, and these lost portions may be different between sub-edge devices. As part of process 700, sub-edge devices in the same geographic area perform recovery of lost portions using a non-satellite network. Therefore, in this satellite example, the sub-edge device will then receive most of the content from one or more satellites and recover the lost content by non-satellite means. However, in some examples, satellite means can also be used to perform content recovery (e.g., recovery of low-priority content).
[0057] Special References Figure 7 , after performing content acquisition as described herein (see e.g. Figure 6 ), recovery can be performed, for example, when a bine hub 302 loses a certain segment or portion of the content due to various reasons. It should be noted that in some examples, recovery is coordinated by the bine cloud 306. In various examples, recovery can be performed using non-satellite means (e.g., using P2P connections between bine hubs 306, using the cloud 106, using a cellular network, etc.) or satellite means (e.g., using one or more orbiting satellites).
[0058] More specifically, after the content arrives at the bine hub 302 and it is determined that some content is lost, recovery is performed. The recovered content is then delivered to the end-user device 104 by the bine hub 302. Delivery of the content is performed using a HBW network interface (e.g., using HBW connection 704) between the end-user device 102 and the bine hub 302. The HBW network connection and intelligent delivery system improve the end-user experience by achieving high throughput.
[0059] In one example, the recovery coordinator 706 is configured to perform content recovery of the lost content segments 708 in the received content segments 710. The media recovery decision maker 712 uses content-specific metrics 632 and / or network-specific metrics 736 (or "network metrics") (e.g., content type and recovery sensitivity, time sensitivity, number of lost content segments 708, available network interface bandwidth and cost, available bine hubs 302, etc.) to coordinate or control the recovery process, for example, to select and / or download one or more lost portions of the lost content for recovery. In this way, the recovery coordinator 706 is configured to perform content recovery in a variety of ways based on cost, efficiency and time (e.g., based on available bandwidth, connection speed, etc.), with different recovery interfaces, including (i) using LBW connection 702 (with bine cloud 306) at bine hub 302, (ii) P2P recovery among bine hubs 302a, 302b (e.g., using TV white space (TVWS)), and (iii) recovery in end-user device 104. The recovery is coordinated by the BINE cloud 306 via the LBW connection 702. For example, the BINE cloud 406 receives telemetry data from the BINE hubs 302a, 302b and selects which connection to use to provide the lost content portion. After recovery, the content is stored according to the content type, storage size / cost, content demand, etc., as described herein. As described in more detail, content recovery, including coordination of content recovery, uses at least in part one or more heat maps 802 ( Figure 8 For example, the BINE cloud 306 creates or generates one or more heat maps 802 of lost content at the BINE hub level based on the information shared by the BINE hubs 302. In this way, the heat map 802 ( Figure 8 802 ). In addition, the parameters and / or methods used to perform content recovery are based at least in part on the heat map 802 .
[0060] In one example, a user may download different portions of the same content from different bin hubs 302 at different locations and at different times. The end-user device 104 may perform recovery of lost segments 708 in content received from one bin hub (e.g., bin hub 302a) via another bin hub (e.g., bin hub 302b) at different locations. In addition, the end-user device 104 connected to different bin hubs 302 may determine whether the lost segments 708 are at other bin hubs 302.
[0061] Therefore, determining whether and how to perform recovery can be based on different factors, such as time sensitivity, the number of lost segments, and available network interfaces. It should be noted that some content portions (e.g., lost content segments 708) may be lost from all sub-edge devices. In one example, confirmation 726 is sent to satellite provider 728, which then communicates with one or more satellites 730 to send the lost content to all sub-edge devices on the next orbit of one or more satellites 733. Alternatively, confirmation 726 is sent to satellite provider 728, which then packages the lost content 732 for transmission from another network (non-satellite network) (e.g., cellular network 734) (e.g., for 5G broadband transmission to sub-edge devices).
[0062] In the above configuration, a multi-homing system is defined. It should be noted that although the multi-homing system is described in conjunction with cellular and satellite content delivery, other communication and data delivery networks may also be used. Transmissions in a multi-homing system configuration may also be based on different factors, such as time and content sensitivity / priority. In some examples, weather is used as a factor, such as using predicted weather to determine time windows for content delivery, resumption, and download. For example, satellite signal strength may be estimated based on predicted weather conditions so that high priority content is scheduled for delivery during higher signal strength conditions.
[0063] Variations and modifications are contemplated. In one example, the satellite 730 is a low earth orbit (LEO) satellite, and the sub-edge device has an antenna with a controllable motor to aim the antenna toward one or more LEO satellites as the one or more LEO satellites pass overhead. In another example, as signal strength varies, and using geo-location information (e.g., cellular or GPS location information) of the sub-edge device, the type or amount of content sent can be adjusted. In another example, the location of the sub-edge device is known, and the content is prioritized such that the most important or highest priority content is sent at the location where signal strength is expected to be best at the sub-edge device.
[0064] Therefore, if Figure 7As can be seen in the illustrated process 700, the lost content segment (segment 1) is restored as content segment (segment 1) 716, which can be sent to the bine hub 302b as new content 718 from the bine hub 302a that restored the lost content during the restoration process. The new content 718 is stored in the local storage 722 of the bine hub 302b along with the old content 720 (e.g., the previously received content segment 710).
[0065] Content, including restored content, may also be accessed by the end-user device 104 from the bine hub 302a via the bine cloud 306 (eg, upon receipt of a restore completion notification, which is also transmitted to the end-user device 104) or from the bine hub 302b via the local server 724.
[0066] Alternatively or additionally, in some examples, the lost content that becomes the restored content is transmitted directly to the end-user device 104. In some examples, the lost content may be sent to the end-user device 104 via one or more satellites 730 or cellular networks 734, depending on the priority of the content, etc.
[0067] In one example, the recovery zone 714 defines a set of child edge devices (eg, bine hub 302) that participate in the recovery scheme described herein (see Figure 8 , which illustrates content discovery and recovery scheme selection performed in one example). In some examples, the recovery zone 714 is defined as a geographic area, an area defined by device latency, or an area defined by other factors to identify a set of bine hubs 302 that participate in content recovery. For example, inclusion in the recovery zone 714 is defined by latency between sub-edge devices or latency between end-user devices 104. Devices with latency less than a defined or threshold amount (e.g., a value) are part of the recovery zone 714. This allows selection of bine hubs 302 to participate in recovery. However, it should be understood that other factors or criteria may be used to define the recovery zone 714. It should also be noted that the recovery zone 714 is dynamically configurable. That is, in some examples, the size of the recovery zone 714 changes dynamically, such as based on predicted weather and / or actual weather being experienced (e.g., increasing or decreasing the composition or size of the recovery zone 714, such as the number of bine hubs 302). For example, during good weather, the number of devices in the recovery zone 714 decreases.
[0068] In some examples, the system also utilizes weather forecasts to schedule content restoration. For example, the system prioritizes lost content so that after the system knows the location of the sub-edge device (or end-user device 104), and after the expected signal strength is known (e.g., based on weather, track, etc.), the most important / highest priority content that was lost is then sent to the sub-edge device (or end-user device 104) when the signal strength is expected to be optimal.
[0069] As another example, if the content is a new popular TV series streamed by MC as a PaaS client, the MC may pre-store the TV series in the bine hub 302, depending on the user demand aggregated in the bine cloud 306. In one example, if there is high user demand for the content across multiple geographic locations, the bine cloud 306 decides to use satellite broadcasting to deliver the content to multiple bine hubs 302, which reduces bandwidth utilization and costs. After receiving the content, if there are any errors during reception, each bine hub 302 begins recovery. In one example, the first attempt is a P2P recovery between the bine hubs 302. Next, an attempt is made to recover from the cloud 106 using the LBW connection 702 or the HBW connection 704, depending on the amount of recovery required, or using other methods described herein. After the recovery is complete, the recovered content is stored in the local storage of the bine hub 302 with an expiration date that predicts a decrease in user demand over time.
[0070] After storing the content, the bine cloud notifies the corresponding MC of the content availability in the bine hub 302. The MC then notifies the end users in the corresponding region where the bine hub 302 is deployed. The end user can then obtain the content downloaded / streamed to the user's end user device 104 through the HBW connection 704 with the (multiple) bine hubs 302. Since the content is stored locally in the (multiple) bine hubs 302, it is not necessary to obtain or extract the content from the cloud 106 for the needs of different end users at different times, thereby improving throughput and end user experience. It should be noted that, unlike a router, the present disclosure stores the content in the bine hub 302.
[0071] Regarding content recovery, Figure 8 A content recovery scheme 800 is shown in one example for recovering lost content. In this example (and continuing with reference to Figure 7 ), using multiple heat maps 802 when performing content recovery, including facilitating the coordination of recovery, and defining different recovery parameters, such as the creation and adjustment of the recovery area 714, the method of recovery, etc.
[0072] In the example shown, the BINE cloud 306 creates or generates one or more heat maps 802 of lost content at the BINE hub level based on information shared by the IIND (shown as the BINE hub 302). Consider different designations or indicators of the level of lost content, such as when the heat map is redder, more segments 806 of the content 80 are lost. It can be seen that the complete content 804 is divided into multiple segments 806 (corresponding to the content fragment 710 in one example), and a heat map 802 is created for each segment 806 of the content 804. It should be noted that the smaller the size of the segment 806, the larger the overall heat map, which has more accurate information. On the other hand, larger heat maps 802 require higher bandwidth while sharing the heat map 802 with the BINE hub 302 from the cloud 106.
[0073] A segment 806 may have multiple chunks of data, and a segment 806 may have the same or different sizes (i.e., the amount of data in each segment 806 may be the same or different). It should be noted that a chunk of data "lost" from a segment 806 is considered a lost segment (e.g., lost content fragment 708). The formula or determination of content segmentation is defined in the bine hub 302 and the bine cloud 306. In some examples, a heat map 802 is created for popular content broadcast to multiple bine hubs 306 in a region, and as discussed herein, the content is selected based on aggregated user demand.
[0074] In one specific example, the BINE cloud 306 is configured to analyze one or more heat maps 802 and select a recovery method based on the analysis, for example, whether to use satellite recovery or non-satellite recovery. If a defined number of BINE hubs 302 in a region (e.g., above a threshold number) are "red" for a defined number of segments 806 (e.g., exceeding a threshold number, such as a large number of segments), then recovery is performed using satellite broadcasts given the time sensitivity of the content and the satellite cycle. For example, if a large number of BINE hubs 302 in the region have red segments 806, indicating a large amount of lost data, satellite recovery of lost data is performed as described herein. For example, this may occur when weather in a particular region is bad during a satellite broadcast. As a result, the BINE hubs 306 in the region are more likely to lose multiple content segments 806 from satellite broadcasts. However, it should be noted that other factors may be decisive, such as the size of the region and the number of BINE hubs 306 in the region. In some examples, the default selection is to perform local recovery first.
[0075] To perform content recovery in some examples, after the decision is made using a reliable non-satellite network, each bine cloud 306 shares the following information with one or more other bine hubs 302: satellite or local recovery of the bine hub 302, and if local recovery is selected and / or recommended based on the analysis, the bine cloud 306 shares the heat map catalog 808 of lost content and timeout information for local recovery. It should be noted that in some examples, the bine cloud 306 does not share any recovery method related information with the bine hub 302. Using the above information, local recovery can be performed in different ways.
[0076] In one example of local recovery, after receiving the heat map catalog 808 (identifying lost content), which may also include instructions for local recovery, each bine hub 302 prepares content to be shared with other bine hubs 302 in a local network (e.g., within the recovery zone 714). The local network may be, for example, a TVWS network, a long-range WiFi network using directional antennas, and / or a LAN over Ethernet, depending on the availability of infrastructure.
[0077] From the heat map directory 808, each bine hub 302 is able to determine the missing segments 806 of the content 804 in other bine hubs 302 in the local network. It should be noted that since each bine hub 306 already has the heat map directory 808, the bine hub 302 does not send any request to other bine hubs 302 in the local network to share the missing content. If the bine hub 302 has a segment 806 that is missing in other bine hubs 302, the bine hub 302 starts multicasting the segment 806 on the local network.
[0078] As another example of local recovery, content can flow at a multi-hop level in one or more local networks through one or more network interfaces. The bine hub 302 can be part of multiple local networks. For example, in the case of a TVWS (or long-range Wi-Fi) network, the local network of the bine hub 302 is formed to include other bine hubs 302 within the coverage of the bine hub 302 antenna. In this case, the bine hub 302 can be connected to multiple local networks that can form a mesh network. In addition, the bine hub 302 can be part of multiple different local networks on different network interfaces.
[0079] After receiving the lost segment 806 of the content 804 from one or more bine hubs 302 in the local network, the bine hub 302 checks whether there is another local network where the sending bine hub 302 does not exist, and forwards the newly received segment of the content 804 to the local network if any bine hub 302 has lost the segment according to the heat map directory 808 or as determined from the heat map directory 808. As part of recovering content from other bine hubs 302, mobile applications (e.g., applications 212 and 214) running on the "bine edge" can also assist in content recovery. For example, when the end consumer application running the "bine edge" is close to or near the bine hub 302, the end user device 104 running one or more mobile applications is connected through the local bine hub network. Then, after the initial handshake between the bine hub 302 and the end user device 104, the content availability and / or loss matrix is shared (e.g., segment 806 is still lost). If the end-user device 104 has any data chunks of the content that the bine hub 302 has lost (e.g., any still missing segments 806 of the content 804), a data transfer is initiated over a local network such as Bluetooth, Wi-Fi, or NFC while the end-user device 102 is still close to or in proximity to the bine hub 302 (such that communication is still possible). In one example, the bine hub 302 transmits these "events" to the bine cloud 306, which updates one or more corresponding heat maps 802, and the now-transmitted missing segments 806 are available for further distribution, such as to other bine hubs 302.
[0080] In some examples, local recovery is accelerated by global data injection. For example, during local recovery, the BINE cloud 306 also injects lost content to one or more selected BINE hubs 302 through a non-satellite global network. In a specific example, based on the heat map 808, the BINE cloud 306 selects one or more BINE hubs 302 for injecting lost content directly from the cloud 106 (e.g., inserting the lost segment 806 into the rest of the content 804 to make the content complete), which can then be shared with other BINE hubs 302 through the local network. This implementation makes local recovery faster, but at the cost of higher global bandwidth. Therefore, in one example, the BINE hub 302 attempts to optimize global bandwidth utilization costs by minimizing the number of BINE hubs 302 selected for injection of lost content from the cloud 106 and maximizing the local connectivity coverage of the selected bin hubs. In one example, the local connectivity coverage in the selected bine hub 302 is measured based on the number of other bine hubs 302 to which the bine hub 302 is connected and that lack one or more segments 806 of the content 804 .
[0081] It should be noted that after recovery, in some examples, after a recovery timeout period (e.g., a defined time period after the recovery operation is completed), the Bine cloud 306 prepares one or more new heat maps 802 that aggregate the latest status of the lost content from the Bine hub 302. Based on the updated heat map 802, the Bine cloud 306 then performs additional analysis or decision-making on whether to perform further recovery. If further recovery is to be performed, the recovery can be performed using the satellite or non-satellite recovery method described herein. It should be noted that in some examples, the time sensitivity of the content 804 is given the highest priority when additional recovery is performed and a number of Bine hubs 302 (e.g., above a threshold amount) are still "red". In the case of time-sensitive content, in some examples, the Bine cloud 306 directly injects the content from the cloud 106 into the "red" Bine hub 302. In other examples, the Bine cloud 306 can determine to perform another satellite or non-satellite (e.g., local or global network) recovery after analyzing the updated heat map 802 as discussed herein.
[0082] Fig. 9 is a diagram showing a computing device (e.g., Fig.10 1002) to use a context-aware device at a sub-edge coupled to both a cloud and an end-user device and to deliver content to the sub-edge device using a recovery process. For example, method 900 uses different types of communication means to control the delivery of content and the recovery of lost content.
[0083] It should be understood that computing devices can be implemented in different systems and applications. Thus, although the examples described below may be used in conjunction with satellite applications, computing devices configured according to the present disclosure may be used in many different applications, including any application that provides content delivery to end-user devices.
[0084] More specifically, and with respect to the operations performed by the method 900, at 902, a lost portion of received content delivered to a plurality of sub-edge devices (e.g., the bine hub 302) is determined. For example, a lost content segment from content transmitted by a satellite to a plurality of sub-edge devices is determined. It should be noted that, as described herein, a recovery zone defines which sub-edge devices perform recovery of the lost portion of received content, and the recovery zone is adjustable.
[0085] At 904, the lost portion to be restored is selected. For example, a specific lost segment or a segment group of lost content is selected for restoration. In some examples, the lost segment represents the content lost from all sub-edge devices. That is, in each example, all lost content is automatically selected for restoration.
[0086] At 906, based on at least one of the content priority and the weather, one of the satellite network or the non-satellite network is selected to restore the selected one or more lost portions. It should be noted that other restoration factors may be used to determine which network to select to deliver the lost content (e.g., expected signal strength).
[0087] At 908, the selected one or more lost portions are downloaded from the selected one of the satellite network or the non-satellite network to restore the selected one or more lost portions (e.g., inject or insert the one or more lost portions into the received content previously delivered to the plurality of sub-edge devices). The recovery is coordinated by a central cloud device in communication with the plurality of sub-edge devices. As described herein, many different factors may be used in various steps of the recovery process. In one specific example, weather conditions (e.g., predicted weather or actual observer weather) are used by the central cloud service as a recovery factor. The central cloud service then arranges for the lost portions to be delivered to the sub-edge devices.
[0088] Exemplary Operating Environment
[0089] The present disclosure may be used according to Fig.101000, such as a hub. In one example, the components of the computing device 1002 may be implemented as part of an electronic device according to one or more examples described in the present disclosure. The computing device 1002 includes one or more processors 904, which may be microprocessors, controllers, or any other suitable type of processors for processing computer-executable instructions to control the operation of the computing device 902. Platform software including an operating system 1006 or any other suitable platform software may be provided on the computing device 1002 to enable application software 908 to be executed on the computing device 902.
[0090] Computer executable instructions may be provided using any computer-readable medium accessible by the computing device 1002. Computer-readable media may include, for example, computer storage media, such as memory 1012 and communication media. Computer storage media such as memory 1012 include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, etc. Computer storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other storage technology, CD-ROM, digital versatile disk (DVD) or other optical storage, cassettes, tapes, disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. In contrast, communication media may implement computer-readable instructions, data structures, program modules, etc. in a modulated data signal (e.g., a carrier wave) or other transmission mechanism. As defined herein, computer storage media do not include communication media. Therefore, computer storage media should not be interpreted as propagating signals themselves. Propagating signals themselves are not examples of computer storage media. Although computer storage media (memory 1012) is shown within computing device 1002, those skilled in the art will appreciate that storage may be distributed or located remotely and may be accessed via a network or other communication link (e.g., using a communication module such as communication interface 914).
[0091] In one example, computing device 1002 includes input / output controller 1016, which is configured to output information to one or more input devices 1018 and output devices 1020, such as displays or speakers, which can be separated from or integrated into electronic devices. In some examples, input / output controller 1016 is configured to receive and process input from one or more input devices 1018 (such as control buttons or touch pads). In one example, output device 1020 acts as input device 1018. An example of such a device can be a touch-sensitive display. In one example, input / output controller 1016 also outputs data to devices other than output device 1020, such as locally connected printing devices. In some examples, a user provides input to (multiple) input devices 1018 and / or receives output from (multiple) output devices 1020.
[0092] The functions described herein may be performed at least in part by one or more hardware logic components. According to one example, when executed by processor 804, computing device 902 is configured by program code to perform examples of the described operations and functions. Alternatively or additionally, the functions described herein may be performed at least in part by one or more hardware logic components. For example, but not limited to, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), program-specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and graphics processing units (GPUs).
[0093] At least a portion of the functionality of each element in the figure may be performed by other elements in the figure or entities not shown in the figure (e.g., processors, web services, servers, applications, computing devices, etc.). In addition, in some aspects, computing device 1002 is a hub configured to perform content delivery and retrieval.
[0094] Although described in connection with an exemplary computing system environment, examples of the disclosure are implementable with numerous other general purpose or special purpose computing system environments, configurations, or devices.
[0095] Examples of known computing systems, environments, and / or configurations that may be suitable for use with aspects of the present disclosure include, but are not limited to, mobile or portable computing devices (e.g., smartphones), personal computers, server computers, handheld (e.g., tablet computers) or laptop devices, multiprocessor systems, game consoles or controllers, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, wearable or accessory mobile computing and / or communication devices (e.g., watches, glasses, headphones or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. In general, the present disclosure may operate with any device having processing capabilities so that it can execute instructions such as those described herein. Such a system or device may accept input from a user in any manner, including receiving input from an input device (e.g., a keyboard or pointing device) through gesture input, proximity input (e.g., by hovering), and / or through voice input.
[0096] Examples of the present disclosure may be described in the general context of computer executable instructions (e.g., program modules) executed by one or more computers or other devices in software, firmware, hardware, or a combination thereof. Computer executable instructions may be organized into one or more computer executable components or modules. Typically, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform specific tasks or implement specific abstract data types. Aspects of the present disclosure may be implemented with such components or modules of any number and organization. For example, aspects of the present disclosure are not limited to specific computer executable instructions or specific components or modules shown in the figures and described herein. Other examples of the present disclosure may include different computer executable instructions or components having more or less functionality than shown and described herein.
[0097] In examples involving a general-purpose computer, aspects of the disclosure convert the general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
[0098] A system includes a central cloud device and a plurality of sub-edge devices configured to receive content from one or more satellites. The plurality of sub-edge devices perform recovery of lost portions of the received content and are further configured to determine lost portions in the received content, select one or more of the lost portions to be recovered based on at least one content-specific metric or network-specific metric, select one of a satellite network or a non-satellite network for each of the selected one or more lost portions based on at least one of content priority and weather to recover each of the selected one or more lost portions, and inject the selected one or more lost portions from the selected one of the satellite network or the non-satellite network into the received content to recover the selected one or more lost portions, the recovery being coordinated by the central cloud device in communication with the plurality of sub-edge devices.
[0099] A computerized method for content delivery includes determining lost portions of received content delivered to a plurality of sub-edge devices, and selecting one or more of the lost portions to be restored based at least on one or more content-specific metrics or network-specific metrics. The computerized method also includes selecting one of a satellite network or a non-satellite network for each of the selected one or more lost portions based on at least one of content priority and weather to restore each of the selected one or more lost portions, and injecting the selected one or more lost portions from the selected one of the satellite network or the non-satellite network into the received content to restore the selected one or more lost portions, the restoration being coordinated by a central cloud device in communication with the plurality of sub-edge devices.
[0100] One or more computer storage media have computer executable instructions for content delivery, which, when executed by a processor, cause the processor to at least determine lost portions of received content delivered to a plurality of sub-edge devices, select one or more of the lost portions to be restored based at least on one or more content-specific metrics or network-specific metrics, select one of a satellite network or a non-satellite network for each of the selected one or more lost portions based on at least one of content priority and weather to restore each of the selected one or more lost portions. The computer executable instructions, when executed by the processor, also cause the processor to inject the selected one or more lost portions from the selected one of the satellite network or the non-satellite network into the received content to restore the selected one or more lost portions, the restoration being coordinated by a central cloud device in communication with the plurality of sub-edge devices.
[0101] Alternatively, or in addition to other examples described herein, examples include any combination of:
[0102] - wherein a plurality of sub-edge devices performing recovery of the lost portion are in the recovery zone,
[0103] The recovery zone is defined by the latency between multiple sub-edge devices;
[0104] - wherein a plurality of sub-edge devices performing recovery of the lost portion are in the recovery zone,
[0105] It also includes dynamically adjusting the size of the restoration zone based on weather, which is a forecast
[0106] At least one of weather and observed weather;
[0107] wherein in response to selecting the satellite network, the central cloud device sends a confirmation of the selected one or more missing portions to a satellite provider of the one or more satellites, and wherein the satellite provider communicates with the one or more satellites to send the selected one or more missing portions on a next orbit of the one or more satellites
[0108] to multiple sub-edge devices;
[0109] wherein in response to selecting a non-satellite network, the central cloud device sends a signal to one or more satellite
[0110] The satellite provider of the satellite sends an acknowledgment of the selected one or more missing parts, and wherein the satellite provider packages the one or more missing parts to be transmitted
[0111] Transmitted to multiple sub-edge devices via broadband cellular network;
[0112] - wherein using the expected signal strength based on at least predicted weather and one or more
[0113] The central cloud device prioritizes the selected lost component or components by using one of the orbits of the 10 satellites to determine where the signal strength is expected to be at its highest level.
[0114] Download of points;
[0115] - wherein the central cloud device creates a heat map of missing portions of the received content, and downloading of selected one or more missing portions is controlled based in part on the heat map, the heat map being created based on information shared by the plurality of child edge devices;
[0116] - where the central cloud device uses content-specific metrics and network-specific metrics
[0117] at least one of prioritizing downloading of the selected one or more missing parts;
[0118] - Use context from at least one of the user, sub-edge, network, or application
[0119] preload the content for the end user on the sub-edge device, and - access the preloaded content directly from the sub-edge device via a high-bandwidth network using the end-user device
[0120] content;
[0121] -wherein the preloaded content is not accessed from the cloud;
[0122] - Where the system contains an intermediate context introduced between the cloud and the end-user device
[0123] Perception sub-edge devices (last mile edge);
[0124] -Sub-edge devices that host third-party applications, including Internet-enabled digital services
[0125] service business, where the third-party device is located at the sub-edge and acts as the corresponding edge client
[0126] The middleman between the client and the cloud service;
[0127] - Leverage local storage and computing to enhance the overall E2E network environment of the end consumer
[0128] The sub-edge device has multiple network interfaces and a customized network stack to support these interfaces, and the end-user's content is preloaded onto the sub-edge device using contextual information (from the user, sub-edge, network, application, etc.), and the end-user device directly accesses the sub-edge device through a high-bandwidth network.
[0129] Ask for preloaded content instead of accessing it from the cloud;
[0130] -Internet-enabled digital service businesses are coordinated by cloud services and
[0131] The sub-edge devices are enhanced with intelligence, storage, and computing to optimize the overall network utilization, cost, and performance from the cloud to the end user, and have higher reliability. The sub-edge devices host third-party applications (digital service businesses that support the Internet), and the third-party applications at the sub-edge act as a link between their corresponding edge clients and cloud services.
[0132] the middle party between
[0133] - Use contextual information and network bandwidth diversity in content acquisition and delivery
[0134] Enhance overall E2E network performance by leveraging peer-to-peer content recovery for end-user devices at the sub-edge level and buffered multicast of content directly from the sub-edge to the end-user device. End-users can access the same content from multiple sub-edges.
[0135] Same segment;
[0136] - Receive demand aggregation from an existing cloud and select at least one network interface to connect to
[0137] A hub, selecting content to be preloaded from an existing cloud to the hub, preloading the selected content from the existing cloud to the hub via at least one selected network interface, performing a restore operation to store the selected content in the hub, and delivering the selected content restored from the hub to an end user
[0138] equipment;
[0139] - wherein the hub is configured as a sub-edge device;
[0140] - wherein the selected content is stored in the hub;
[0141] - Use contextual information to determine what is selected;
[0142] - wherein the hub is configured as an intermediate intelligent network device;
[0143] - Wherein the intermediate intelligent network device is configured as a link between the end-user device and the existing cloud
[0144] The last hop network device between
[0145] -wherein the hub is configured as a sub-edge device hosting multiple interfaces;
[0146] - wherein the end-user device is configured to communicate directly with an existing cloud;
[0147] - wherein the hub is configured as an intermediate intelligent network device, the intermediate intelligent network device
[0148] The equipment is located close to the user's hardware equipment;
[0149] - Allow cloud services to interact with standard cloud services on the cloud side;
[0150] - A platform in which the hub is configured as a client for hosting applications on the cloud;
[0151] - Wherein communication with the cloud service is available through multiple channels and
[0152] Provide thin service configuration at user equipment;
[0153] - wherein the hub operates using two five-layer network stacks, one of the five-layer network stacks communicating with: (i) an existing cloud with cross-layer customization to support multiple interfaces that are pre-selected or determined in real time, or (ii)
[0154] Other Bine Hub, another five-layer network stack in a five-layer network stack
[0155] configured to communicate with a terminal device;
[0156] - Two five-layer network stacks are bridged at the application layer;
[0157] - Use metadata to select content to preload;
[0158] - wherein the key is used to access the content by the end-user device;
[0159] -Continuously sends control and telemetry messages from the hub to cloud services, including applications
[0160] At least one of context, network interface, user information, or deployment geographic location
[0161] items and use messages to make decisions about the choice of delivery channel;
[0162] - wherein the hub is configured to run first-party applications and third-party applications and to run and store data on the hub in the form of an API;
[0163] - Where the hub is configured to use application-specific policies, including sharing and
[0164] Delete at least one of the following to maintain data sovereignty;
[0165] - Run one or more models on the hub so that data is not pushed to
[0166] There are clouds;
[0167] -wherein the one or more models include a machine learning model that is specific to the application and enables the hub to perform predictive operations;
[0168] - one or more of the models are thin models;
[0169] -selecting content to preload based on demand and using a plurality of inputs, including one or more of PaaS client metrics and Bine hub metrics, wherein a prioritized content list is determined;
[0170] - wherein the bine hub metric includes at least one of a quality and a cost for determining a list of switchable network interfaces of the hub, and further includes a determination of the type of content used;
[0171] - Use a content delivery coordinator to run an algorithm to determine what content to preload and where segments can be sent over different channels;
[0172] -Run a network analyzer to determine whether the transmission is multicast or broadcast;
[0173] - generating a notification to the client of the end-user device when content is preloaded;
[0174] - performing a restore operation on the preloaded content; and
[0175] - Uses information and predefined heuristics to determine how and when to deliver preloaded content.
[0176] It will be apparent to the skilled artisan that any range or device value given herein may be expanded or altered without losing the effect sought.
[0177] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0178] It will be understood that the above benefits and advantages may relate to one example or may relate to several examples. These examples are not limited to examples that solve any or all of the problems described, or examples that have any or all of the benefits and advantages. It should be further understood that "a" item refers to one or more of these items.
[0179] The examples shown and described herein, as well as examples not specifically described herein but within the scope of aspects of the claims, constitute exemplary means for content delivery and retrieval.
[0180] The term "comprising" as used in this specification means including the following feature(s) or action(s), but does not exclude the existence of one or more additional features or actions.
[0181] In some examples, the operations shown in the figures may be implemented as software instructions encoded on a computer-readable medium, hardware programmed or designed to perform the operations, or both. For example, aspects of the present disclosure may be implemented as a system on a chip or other circuit comprising a plurality of interconnected conductive elements.
[0182] Unless otherwise specified, the execution or order of execution of the operations in the disclosed examples shown and described herein is not required. That is, the operations can be performed in any order, unless otherwise specified, and the examples of the present disclosure may include more or less operations than the operations disclosed herein. For example, it is expected that it is within the scope of the aspects of the present disclosure to perform or execute a particular operation before, at the same time, or after another operation.
[0183] When introducing elements of aspects of the present disclosure or examples thereof, "a", "an", "the" means that there are one or more elements. The terms "comprising", "including", and "having" are intended to be inclusive and mean that there may be additional elements in addition to the listed elements. The term "exemplary" means "an example of..." The phrase "one or more of A, B, and C" means "at least one of A and / or at least one of B and / or at least one of C".
[0184] Having described aspects of the disclosure in detail, it will be apparent that modifications and variations are possible without departing from the scope of the various aspects of the disclosure as defined in the appended claims. As various changes may be made to the above-described constructions, products, and methods without departing from the scope of the various aspects of the disclosure, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not limiting.
Claims
1. A system for communication, include: Central cloud device; as well as A plurality of sub-edge devices are configured to receive content from one or more satellites, wherein a sub-edge device in the plurality of sub-edge devices performs recovery of a lost portion of the content by at least the following operations: determining said missing portion of said content, selecting one or more of the lost portions to be restored based at least on one or more content-specific metrics or network-specific metrics, receiving from the central cloud device a content priority for each of the one or more selected ones of the lost portions, the content priority being based on the received content and a heat map created based on information shared by the plurality of sub-edge devices, for each of the selected one or more lost portions, selecting one of a satellite network or a non-satellite network based on the received content priority to restore each of the selected one or more lost portions, and The selected one or more lost portions are injected into the received content from the selected one of the satellite network or the non-satellite network to restore the selected one or more lost portions, the restoration being coordinated by the central cloud device in communication with the plurality of sub-edge devices.
2. The system of claim 1, wherein the plurality of sub-edge devices that perform the recovery of the lost portion are part of a recovery zone, wherein the recovery zone is defined by a delay associated with each of the plurality of sub-edge devices.
3. The system of claim 1, wherein the plurality of sub-edge devices that perform the recovery of the lost portion are part of a recovery zone, a size of the recovery zone being dynamically adjusted based on weather, the weather being at least one of predicted weather and observed weather.
4. The system of claim 1 , wherein in response to selecting the satellite network, the central cloud device sends a confirmation of the selected one or more lost portions to a satellite provider of the one or more satellites, and wherein the satellite provider communicates with the one or more satellites to send the selected one or more lost portions on a next orbit of the one or more satellites to the plurality of sub-edge devices, and wherein the central cloud device prioritizes downloading of the selected one or more lost portions by using expected signal strength to determine where the signal strength is expected to be at a highest level based on at least one of predicted weather and the orbits of the one or more satellites.
5. The system of claim 1 , wherein in response to selecting the non-satellite network, the central cloud device sends a confirmation of the selected one or more missing portions to a satellite provider of the one or more satellites, and wherein the satellite provider packages the one or more missing portions for transmission to the plurality of sub-edge devices via a broadband cellular network.
6. The system according to claim 1, in: The central cloud device generates an individual heat map for each segment of the received content, wherein the color of the generated heat map indicates the level of the lost portion of the received content in the each segment, and Downloading of the selected one or more missing portions is controlled based in part on the generated heat map.
7. The system according to claim 1, in: The central cloud device also uses at least one of the content-specific metric and the network-specific metric to prioritize downloading of the selected one or more missing portions, and The received content includes live type content and offline type content, and the live type content is higher prioritized than the offline type content.
8. A computer-implemented method, include: determining a missing portion of received content, the received content being delivered to a plurality of sub-edge devices; selecting one or more of the lost portions to be restored based at least on one or more content-specific metrics or network-specific metrics; receiving a content priority for each of the one or more selected ones of the lost portions, the content priority being based on the received content and a heat map created based on information shared by the plurality of sub-edge devices; for each of the selected one or more lost portions, selecting one of a satellite network or a non-satellite network based on the received content priority to restore each of the selected one or more lost portions; as well as The selected one or more lost portions are injected into the received content from the selected one of the satellite network or the non-satellite network to restore the selected one or more lost portions, the restoration being coordinated by a central cloud device in communication with the plurality of sub-edge devices.
9. The computer-implemented method of claim 8, wherein the plurality of sub-edge devices that perform the recovery of the lost portion are part of a recovery zone, including within the recovery zone a definition defined by a delay associated with each of the plurality of sub-edge devices.
10. The computer-implemented method of claim 8, wherein the plurality of sub-edge devices that perform the recovery of the lost portion are part of a recovery zone, and further comprising dynamically adjusting the size of the recovery zone based on weather, the weather being at least one of predicted weather and observed weather.
11. A computer-implemented method according to claim 8, wherein in response to selecting the satellite network, the central cloud device sends a confirmation of the selected one or more lost parts to a satellite provider of the one or more satellites, and wherein the satellite provider communicates with the one or more satellites to send the selected one or more lost parts on the next orbit of the one or more satellites to the multiple sub-edge devices.
12. The computer-implemented method of claim 8, wherein in response to selecting the non-satellite network, the central cloud device sends a confirmation of the selected one or more missing portions to a satellite provider of the one or more satellites, and wherein the satellite provider packages the one or more missing portions for transmission to the plurality of sub-edge devices over a broadband cellular network.
13. A computer-implemented method according to claim 8, wherein in response to selecting the satellite network, the central cloud device prioritizes downloading of the selected one or more missing portions by using expected signal strength to determine where signal strength is expected to be at a highest level based on at least one of predicted weather and the orbits of the one or more satellites.
14. The computer-implemented method of claim 8, wherein the central cloud device uses at least one of the content-specific metric and the network-specific metric to prioritize downloading of the selected one or more missing portions.
15. One or more computer storage media having computer executable instructions for content delivery, the computer executable instructions, when executed by a processor, causing the processor to at least: determining a missing portion of received content that is delivered to a plurality of sub-edge devices; selecting one or more of the lost portions to be restored based at least on one or more content-specific metrics or network-specific metrics; receiving a content priority for each of the one or more selected ones of the lost portions, the content priority being based on the received content and a heat map created based on information shared by the plurality of sub-edge devices; for each of the selected one or more lost portions, selecting one of a satellite network or a non-satellite network based on the received content priority to restore each of the selected one or more lost portions; as well as The selected one or more lost portions are injected into the received content from the selected one of the satellite network or the non-satellite network to restore the selected one or more lost portions, the restoration being coordinated by a central cloud device in communication with the plurality of sub-edge devices.
16. One or more computer storage media according to claim 15, wherein the plurality of sub-edge devices that perform the recovery of the lost portion are part of a recovery zone, wherein the recovery zone is defined by a delay associated with each of the plurality of sub-edge devices.
17. One or more computer storage media according to claim 15, wherein the multiple sub-edge devices that perform the recovery of the lost portion are part of a recovery zone, and the size of the recovery zone is dynamically adjusted based on weather, and the weather is at least one of predicted weather and observed weather.
18. One or more computer storage media according to claim 15, wherein in response to selecting the satellite network, the central cloud device sends a confirmation of the selected one or more lost portions to a satellite provider of the one or more satellites, and wherein the satellite provider communicates with the one or more satellites to send the selected one or more lost portions on the next orbit of the one or more satellites to the multiple sub-edge devices.
19. One or more computer storage media according to claim 15, wherein in response to selecting the non-satellite network, the central cloud device sends an acknowledgment of the selected one or more missing portions to a satellite provider of the one or more satellites, and wherein the satellite provider packages the one or more missing portions for transmission to the plurality of sub-edge devices via a broadband cellular network.
20. One or more computer storage media according to claim 15, wherein in response to selecting the satellite network, the central cloud device prioritizes downloading of the selected one or more missing portions by using expected signal strength to determine where signal strength is expected to be at a highest level based on at least one of predicted weather and an orbit of the one or more satellites.
Citation Information
Patent Citations
Efficient content distributing technology of satellite network
CN101944974A
Low latency media ingestion system, devices and methods
CN110915180A