System and method for determining the best date and time and the best network for over-the-air delivery and downloading of software and software updates

EP4771824A1Pending Publication Date: 2026-07-08TATA COMMUNICATIONS LTD

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
TATA COMMUNICATIONS LTD
Filing Date
2025-11-13
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

Current methods for Over-The-Air software delivery on IoT-enabled devices, such as automotive vehicles, have a low success rate due to unpredictable network connectivity and uniform scheduling assumptions, leading to increased costs, delays, and potential security risks.

Method used

A system and method that predicts the 'Best Window' for software downloads by analyzing Quality of Service (QoS) Key Performance Indicators (KPIs) to determine optimal connectivity and switches to the best available network, ensuring successful OTA software delivery.

Benefits of technology

Ensures successful software downloads by predicting optimal connectivity windows and network selection, reducing delays and costs while enhancing security and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025061612_21052026_PF_FP_ABST
    Figure IB2025061612_21052026_PF_FP_ABST
Patent Text Reader

Abstract

A method and system for OTA delivery and downloading of a software file to an IoT-enabled device of an end-point device, includes providing the IoT-enabled device with an eSIM containing a first eSIM profile of a first mobile network that provides the IoT-enabled device with a data connection. A SIM applet of the eSIM and / or a Device SDK, collects / measures QoS KPIs of the first mobile network, a first computing device analyzes the QoS KPIs to: predict a best window for downloading the software file OTA to the IoT-enabled device; and determine whether the data connection during the best window will have optimal connectivity. If the data connection is determined to not have optimal connectivity, the first computing device predicts a second eSIM profile associated with a second mobile network that will provide the IoT-enabled device with a data connection having optimal connectivity during the best window and a second computing device switches the eSIM from the first eSIM profile to the second eSIM profile. A third computing device OTA delivers the software file to the IoT-enabled device for downloading during the best window.
Need to check novelty before this filing date? Find Prior Art

Description

Atorney Docket No.2449-316WO1SYSTEM AND METHOD FOR DETERMINING THE BEST DATE AND TIME AND THE BEST NETWORK FOR O VER-TI I E-AI R DELIVERY AND DOWNLOADING OF SOFTWARE AND SOFTWARE UPDATES FIELD

[0001] The present disclosure relates to Over-the-Air software delivery and downloading and, particularly, to a system and method that determines the best date, time, geo-location and the best network for Over-the-Air delivery and downloading of software and software updates on loT-enabled devices.BACKGROUND

[0002] Current methods for providing Over- The- Air software delivery and downloads on End-Point Devices, such as automotive vehicles equipped with an loT-enabled device including without limitation Telematics Control Units (a device or system that collects, processes, and transmits data about the vehicle including the vehicle's location, speed, engine diagnostics, maintenance requirements, servicing, etc.), Engine Control Modules, Transmission Control Modules, Body Control Modules, and other loT enabled devices, containing SIM devices, generally have a low success rate, which often leads to multiple retries to achieve a successful download. This increases the time for feature rollouts (original software or firmware downloads) and software or firmware updates, increases costs, and results in customer dissatisfaction. In addition, delays in feature rollouts and software or firmware updates can be a potential security and safety risk.

[0003] These current methods do not consider any data insight into the connectivity layer (cellular, Wifi, and satellite connectivity) while scheduling software / firmware rollouts and updates. Existing methods merely assume that the quality of connectivityAtorney Docket No.2449-316WO1will be uniform and available when software / firmware rollouts and updates need to be downloaded on these loT-enabled devices.

[0004] Current methods utilize software campaign managers, which schedule software / firmware rollout and update campaign times based on, for example, a week / month, and a regular peak time interval between for example, 9:00 AM to 8:00 PM. The downside of such current scheduling methods is that the majority of loT-enabled devices will come online during these regular peak hours and all the loT-enabled devices in the same campaign will be addressed at the same time, causing congestion on the wireless network and gateways. Some software campaign managers also consider certain policies around vehicle speed, battery level, etc., which is to be checked before downloading of a campaign, however, such loT-enabled device policies cannot be device specific within the software / firmware rollout and update campaign. In other words, the policy (e.g. vehicle speed, battery level, etc.) can only be set for all the vehicles defined in the campaign. For example, if there are 10,000 vehicles in a software campaign, the vehicle speed, battery level (and more importantly time) can only have one input value for all 10,000 vehicles. Since each vehicle’s loT-enabled device has its own pattern (presence, best connectivity quality), the “best window” for executing the software campaign will typically be different for each vehicle’s loT-enabled device.

[0005] Another limitation of current methods is that they assume that the underlying connectivity layer, will always have uniform quality and shall be available. The loT-enabled device of moving End-point devices, such as but not limited to automotive vehicles, are not always connected to a data network and as they travel, have changingAtorney Docket No.2449-316WO1network quality (like, but not limited to, varying download speed) that impacts software download or leads to total failure.SUMMARY

[0006] Disclosed herein is a method and system for addressing the above-noted problems in achieving successful Over-The-Air (OTA) delivery and downloading of software and software updates on loT-enabled devices. The method and system of the present disclosure achieves successful OTA software downloads on loT-enabled devices by determining when an loT-enabled device will have an active data connection and when the data connection will be of a good quality (optimum download speed and the like) along with checking the data balance (data balance is available if the data connection is available) that is needed. Based on these parameters, the “Best Window” of opportunity (i.e., the best array of dates and the best array of times within the best range of dates relative to vehicle geo-location for a corresponding vehicle) for scheduling an Over-The-Air software download (either an original version of software to be downloaded to the loT-enabled device or an update to an existing version of software already loaded in the loT- enabled device) is predicted for the best array of days and best array of times in advance, thereby enabling the scheduling of the OTA software download at the predicted “Best Window.” The method and system of the present disclosure can also be used to predict a “Best Window” for scheduling remote diagnostics and other use cases that require other optimal conditions such as, but not limited to, low latency.Atorney Docket No.2449-316WO1

[0007] In determining the “Best Window,” the method and system collects Quality of Service (QoS) Key Performance Indicators (KPIs) of the cellular connectivity layer including, without limitation, knowing “presence” (when the vehicle’s loT-enabled device, i.e., the vehicle’s Telematics Control Unit, Engine Control Module, Transmission Control Module or Body Control Module, etc. hereinafter referred to as Vehicle Control Unit, will have an active data connection), download speed, upload speed, geo-location, latency, network congestion, peak times, etc., and any combination of these KPIs, to and predict the “Best Window” depending on the use case. In embodiments with WiFi or satellite connectivity layers, the KPIs being collected would include without limitation signal strength, upload speed, download speed, latency, etc.

[0008] The method and system of the present disclosure also determines the best cellular, WiFi, or satellite network to use for the OTA software download as determined with the network QoS KPIs. Therefore, in embodiments where cellular networks are used, if the eSIM of the Vehicle Control Unit is currently capable of accessing a first MNO’s cellular network corresponding to a first eSIM profile contained in the eSIM and this cellular network has less than optimal network connectivity (optimal QoS KPIs) for a given geolocation, the Vehicle Control Unit’s first eSIM profile is temporarily switched to another or a second eSIM profile which enables the Vehicle Control Unit to temporarily access to another cellular network corresponding to another MNO, or other connectivity technology (e.g. WiFi or satellite) when available, that has optimal connectivity KPIs for that geo-location, i.e., the “Best Network.” Thus, the method and system ensure that the Vehicle Control Unit is always connected to the best available network having optimal connectivity technology during an OTA software download.Atorney Docket No.2449-316WO1

[0009] In various embodiments the method for over-the-air (OTA) delivery and downloading of a software file to an Internet of Things-enabled device (loT-enabled device) of an end-point device (EPD), comprise providing the loT-enabled device with an embedded subscriber identity module (eSIM) containing a first eSIM profile associated with a first mobile network that provides the loT-enabled device with a data connection; collecting and / or measuring, with a SIM applet of the eSIM and / or a Device Software Development Kit (Device SDK) associated with the loT-enabled device, Quality of Service (QoS) key performance indicators (KPIs) of the first mobile network; analyzing, with a first computing device, the QoS KPIs to: 1) predict an array of dates and an array of times within the array of dates that the data connection provided to the loT-enabled device by the first mobile network will be active, the predicted arrays of times and dates comprising a best window for downloading the software file OTA to the loT-enabled device; and 2) determine whether the data connection during the best window will have optimal connectivity; if the data connection is determined to not have optimal connectivity, the first computing device predicts a second eSIM profile associated with a second mobile network that will provide the loT-enabled device with a data connection having optimal connectivity during the best window; switching, with a second computing device, the eSIM from the first eSIM profile to the second eSIM profile; and OTA delivering, with a third computing device the software file to the loT-enabled device for downloading during the best window.

[0010] In some embodiments, the method further comprises checking, with the first computing device, how much data capacity the eSIM must support the downloading of the software file.Atorney Docket No.2449-316WO1

[0011] In some embodiments of the method, the EPD comprises a motor vehicle and wherein the arrays of dates and times are relative to a geo-location of the motor vehicle.

[0012] In some embodiments of the method, the QoS KPIs include one or more of download speed, upload speed, latency, cell ID location, Reference Signal Received Power, Reference Signal Received Quality, and radio access types.

[0013] In some embodiments of the method, the loT-enabled device includes a Vehicle Control Unit.

[0014] In some embodiments of the method, the Vehicle Control Unit comprises a Telematics Control Unit, Engine Control Module, Transmission Control Module or Body Control Module.

[0015] In some embodiments of the method, the software file is generated by an Original Equipment Manufacturer (OEM).

[0016] In some embodiments of the method, the third computing device receives the software file from the OEM and wherein the downloading OTA of the software file to the loT-enabled device during the best window is performed by the third computing device.

[0017] In some embodiments of the method, the third computing device transmits the software file over a content delivery network (CDN), which in turn, transmits the software file via the data connection provided by the first mobile network, if the data connection provided by the first mobile network is determined to have optimal connectivity during the best window or via the data connection provided by the second mobile network during the best window, if the data connection provided by the first mobile network is determined to not have optimal connectivity during the best window.Atorney Docket No.2449-316WO1

[0018] In some embodiments of the method, the software file comprises an original version of software to be downloaded for the first time in the loT device or an update to existing version of software already loaded in the loT-enabled device.

[0019] In some embodiments of the method, the EPD comprises a certain plurality of EPDs each having an loT-enabled device, wherein the downloading of the software file to the loT-enabled devices of each of the EPDs is to be performed on all of the EPDs in a campaign, wherein the second computing device separates the campaign into a plurality of sub-campaigns, each of the EPDs of each of the sub-campaigns having the same predicted best window and wherein the second computing device schedules each of the sub-campaigns to be executed according to the best window predicted for the EPDs in that sub-campaign.

[0020] In some embodiments of the method, the Device SDK determines whether the software file delivered by the third computing device during the best window is to be downloaded to the loT-enabled device.

[0021] In various embodiments, the system for over-the-air (OTA) delivery and downloading of a software file to an Internet of Things-enabled device (loT-enabled device) of an end-point device (EPD), comprises an embedded subscriber identity module (eSIM) provided in the loT-enabled device, the eSIM containing a first eSIM profile associated with a first mobile network that provides the loT-enabled device with a data connection; a SIM applet of the eSIM and / or a Device Software Development Kit (Device SDK) associated with the loT-enabled device, configured to collect and / or measure Quality of Service (QoS) key performance indicators (KPIs) of the first mobile network; a first computing device configured to analyze the QoS KPIs to: 1) predict anAtorney Docket No.2449-316WO1array of dates and an array of times within the array of dates that the data connection provided to the loT-enabled device by the first mobile network will be active, the predicted arrays of times and dates comprising a best window for downloading the software file OTA to the loT-enabled device; and 2) determine whether the data connection during the best window will have optimal connectivity; wherein if the data connection is determined to not have optimal connectivity, the first computing device predicts a second eSIM profile associated with a second mobile network that will provide the loT-enabled device with a data connection having optimal connectivity during the best window; a second computing device configured to switch the eSIM from the first eSIM profile to the second eSIM profile; and a third computing device configured to deliver OTA the software file to the loT-enabled device for downloading during the best window.

[0022] In some embodiment of the system, the first computing device is further configured to check how much data capacity the eSIM must support the downloading of the software file.

[0023] In some embodiment of the system, the EPD comprises a motor vehicle and wherein the arrays of dates and times are relative to a geo-location of the motor vehicle.

[0024] In some embodiment of the system, the QoS KPIs include one or more of download speed, upload speed, latency, cell ID location, Reference Signal Received Power, Reference Signal Received Quality, and radio access types.

[0025] In some embodiment of the system, the loT-enabled device includes a Vehicle Control Unit.Atorney Docket No.2449-316WO1

[0026] In some embodiment of the system, the Vehicle Control Unit comprises a Telematics Control Unit, Engine Control Module, Transmission Control Module or Body Control Module.

[0027] In some embodiment of the system, the software file is generated by an Original Equipment Manufacturer (OEM).

[0028] In some embodiment of the system, the third computing device is configured to receive the software file from the OEM and wherein the third computing device is further configured to download OTA of the software file to the loT-enabled device during the best window.

[0029] In some embodiment of the system, the third computing device is further configured to transmit the software file over a content delivery network (CDN), which in turn, transmits the software file via the data connection provided by the first mobile network, if the data connection provided by the first mobile network is determined to have optimal connectivity during the best window or via the data connection provided by the second mobile network during the best window, if the data connection provided by the first mobile network is determined to not have optimal connectivity during the best window.

[0030] In some embodiment of the system, the software file comprises an original version of software to be downloaded for the first time in the loT device or an update to existing version of software already loaded in the loT-enabled device.

[0031] In some embodiments of the system, the EPD comprises a certain plurality of EPDs each having an loT-enabled device, wherein the software file is to be downloaded to the loT-enabled devices of each of the EPDs in a campaign, wherein the secondAtorney Docket No.2449-316WO1computing device is further configured to separate the campaign into a plurality of subcampaigns, wherein each of the EPDs of each of the sub-campaigns has the same predicted best window and wherein the second computing device schedules each of the sub-campaigns to be executed according to the best window predicted for the EPDs in that sub-campaign.

[0032] In some embodiments of the system, the Device SDK is further configured to determine whether the software file delivered by the third computing device during the best window is to be downloaded to the loT-enabled device.BRIEF DESCRIPTION OF THE DRAWING

[0033] The disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawing. It is emphasized that, according to common practice, the various features of the drawing are not necessarily to scale. On the contrary, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. Like numerals denote like features throughout the specification and the drawing.

[0034] FIG. 1 is a functional block diagram of a system for delivering and downloading software and software updates Over- The- Air to Internet of Things-enabled devices (loT-enabled devices), according to an embodiment of the present disclosure.

[0035] FIG. 2 is a block diagram of a Wireless Network Infrastructure illustrated in FIG. 1 , according to an embodiment of the present disclosure.

[0036] FIGS. 3A to 3E are schematic diagrams graphically illustrating how the Wireless Network Infrastructure of FIGS. 1 and 2 bi-directionally routes traffic / payloadsAtorney Docket No.2449-316WO1between End-Point Devices and IP / applications, according to an embodiment of the present disclosure.

[0037] FIG. 4 is a block diagram of FIG. 2 illustrating the flow of instructions, feedback, and OTA software / updates, according to an embodiment of the present disclosure.

[0038] FIG. 5A is a schematic diagram graphically illustrating the feedback collection flow described with respect to FIG. 4.

[0039] FIG. 5B is a schematic diagram graphically illustrating the instruction flows 204 and described with respect to FIG. 4.

[0040] FIG. 6 is a flow chart illustrating a method for delivering software downloads and software updates OTA to loT-enabled devices, according to an embodiment of the present disclosure.DETAILED DESCRIPTION

[0041] It should be understood that the phraseology and terminology used below for the purpose of description and should not be regarded as limiting. The use herein of the terms “comprising,” “including,” “having,” “containing,” and variations thereof are meant to encompass the structures and features recited thereafter and equivalents thereof as well as additional structures and features. Unless specified or limited otherwise, the terms “attached,” “mounted,” “affixed,” “connected,” “supported,” “coupled,” and variations thereof are used broadly and encompass both direct and indirect forms of the same.Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.Atorney Docket No.2449-316WO1

[0042] FIG. 1 is a functional block diagram of a system 100 for delivering and downloading software and software updates Over- The- Air to Internet of Things (loT) devices, according to an illustrative embodiment of the present disclosure. The system 100 comprises an End-Point Device Infrastructure 110, a Network Infrastructure 120, a Software-Over- The- Air (SOTA) system 130, a Data Enablement Engine 140, a Campaign Manager Infrastructure 150, and an Original Equipment Manufacturer Infrastructure 160.

[0043] End-Point Device Infrastructure 110

[0044] Referring still to FIG. 1 , the End-Point Device Infrastructure (EPDI) 110 comprises, in various embodiments, an End-Point Device (vehicle / asset) 112 having an loT-enabled Vehicle Control Unit (VCU) 113 containing an embedded Subscriber Identity Module (eSIM) that includes two or more eSIM profiles, wherein the term “profile” is the container holding security keys, International Mobile Subscriber Identity numbers, applets and configuration files. Together they make up the connectivity solution. In various embodiments the two or more eSIM profiles comprise, but are not limited to, MNO profiles. Furthermore, the eSIM can be managed remotely “over the air” using SMS or a data channel. Remotely a Business Rule Engine 134, described herein further-on, can delete, download and change the enabled profile through RSP (Remote SIM Provisioning). The Business Rule Engine 134 orchestrates the commands towards SM-SR (Subscription Manager - Secure Routing), which has an inventory of available profiles on the SM-DP (Subscription Manager - Data Preparation). SM-SR and SM-DP are the Profile switching capability in the Business Rule Engine 134 described below.Atorney Docket No.2449-316WO1

[0045] In any case, the two or more eSIM MNO profiles enable the VCU 113 to be connected to the Internet by selecting, from the two or more eSIM MNO profiles, the eSIM MNO profile associated with an MNO having a cellular network with optimal Quality of Service (QoS) Key Performance Indicators (KPIs) for a given geo-location. The End-Point Device 112 also comprises, in various embodiments, a Device SDK (software development kit) 116, which typically resides in the operating system of the VCU 113. The hardware of the VCU 113 is vehicle OEM dependent. In some embodiments, the End-Point Device (EPD) comprises an automotive vehicle. In some embodiments, the eSIM 114 includes an applet 114a. The eSIM applet 114a is configured to collect / measure on-network (on-net) and off-network (off-net) QoS KPIs including without limitation presence, upload / download speed, latency, cell ID location, Reference Signal Received Power (RSRP), Reference Signal Received Quality (RSRQ), etc, and radio access types including but not limited to 3G, 4G, 5G. The Device SDK 116 also collects on-net and off-net QoS KPIs (similar to the QoS KPIs collected / measured by the eSIM applet 114a, but with GPS location). The Device SDK 116 is configured to collect / measure QoS KPIs primarily for geographies where eSIM applet usage is limited due to MNO permissions. Either one of the eSIM applet 114a and Device SDK 116 can be used for QoS KPI measurement.

[0046] The Device SDK 116 is further configured with a SOTA software client 118a and a KPI software client 118b. The SOTA software client 118a is designed to receive software downloads and software updates provided by the SOTA system 130 and download same to the VCU 113. The SOTA software client 118a also cooperates with a Campaign Manager of the Campaign Manager Infrastructure 150 to facilitate theAtorney Docket No.2449-316WO1software downloads and updates. The KPI software client 118b collects and sends the QoS KPIs, and receives Best Window hexadecimal (HEX) code. In addition, the KPI software client 118b communicates with the SOTA software client 118a to orchestrate the software and update downloads based on the Best Window HEX code.

[0047] Network Infrastructure 120

[0048] Referring now to FIG. 2, the Network Infrastructure (NI) 120 comprises a cellular connectivity layer (bearer) 122, which defines a transmission channel 122a and a Content Delivery Network (CDN) 124. The transmission channel 122a is configured by one or more servers hosting Radio Access Networks (RANs) 122b-l to 122b-4, Serving Gateways (SGWs) 1221-1 to 1221-4, and local Packet Data Gateways (PGWs) 1224-1, 1224-2, provided by mobile core networks of a plurality of MNOs. The RANs 122bl to 122b4 bi-directionally communicate with their respective SGWs 1221-1 to 1221-4. The transmission channel 122a is provided via an any cast- based local routing method 1229, which enables bi-directional communication with the SGWs 1221-1 to 1221-4 and the local PGWs 1224-1 and 1224-2. The anycast-based local routing method 1229 is used to determine which one of the SGWs 1221-1 to 1221-4 and local PGWs 1224-1 and 1224-2 is nearest to the EPD of interest to service that EPD, based on the EPD’s geo location, as that EPD moves from the geo location to another. Each local PGW 1224-1 and 1224-2 bidirectionally communicates with an Analytics Engine 132 and a Business Rule Engine 134 of the SOTA system 130, the Campaign Manager Infrastructure 150, and the Original Equipment Manufacturer, via the internet 1225. The Campaign Manager Infrastructure 150 communicates with the central CDN server 1227 of CDN 124. The central CDN server 1227 bi-directionally communicates with local CDN servers 1227-1Atorney Docket No.2449-316WO1and 1227-2 of CDN 124. The local CDN servers 1227-1 and 1227-2 of CDN 124 bidirectionally communicate with respective ones of the local PGWs 1224-1 and 1224-2 of the transmission channel 122a of the bearer 122.

[0049] TheRANs 122b- 1 to 122b4, SGWs 1221-1 to 1221-4, local PGWs 1224-1 and 1224-2 route off-net KPIs from the eSIMapplet / Device SDK obtained from each of the EPDs 112-1, 112-2, 112-3, 112-4, 112-5, 112-6 and on-net KPIs obtained from the transmission channel 122a and routes them to the one or more servers of the SOTA system 130 (FIG. 1) where they are stored and processed by the Analytics Engine 132 and Business Rule Engine 134, as described further on in greater detail.

[0050] The local PGWs 1224-1 and 1224-2, SGWs 1221-1 to 1221-4, andRANs 122b- 1 to 122b4, also route “Best Window” predictions and “Best Network” predictions / changes for OTA software / updates generated by the Analytics Engine 132 and Business Rule Engine 134, to the EPDs 112-1, 112-2, 112-3, 112-4, 112-5, 112-6, as described further on in greater detail.

[0051] The CDN 124 provides CDN functionality wherein OTA software / updates generated by Original Equipment Manufacturer Infrastructure 160 are transmitted to a Campaign Manager 152 (FIG. 1) of the Campaign Manager Infrastructure 150. The Campaign Manager 152, in turn, transmits the OTA software / updates to the central CDN server 1227 of the CDN 124, which routes the OTA software / updates across the Internet 1225 to local CDN servers 1227-1 and 1227-2 of the CDN 124. The local CDN servers 1227-1 and 1227-2, in turn, transmit the OTA software / updates to the EPDs 112-1, 112-2, 112-3, 112-4, 112-5, 112-6, via the local PGWs 1224-1 and 1224-2, SGWs 1221-1 toAtorney Docket No.2449-316WO11221-4, and RANs 122b-l to 122b4 of the transmission channel 122a, as described further on in greater detail.

[0052] Referring to FIG. 3 A, access to the cellular connectivity layer or bearer 122 (FIGS. 1 and 2) is provided by the core networks of the MNOs, i.e., Visited Public Land Mobile Networks (VPLMNs) 1220-1, 1220-2, 1220-n and their Serving Gateways (SGWs) 1221-1, 1221-2, 1221-n. The VPLMNs 1220-1, 1220-2, 1220-n and SGWs 1221-1, 1221-2, 1221-n hand traffic / payload (e.g., data to and from the SIM / Device SDK of the EPD 112 and the OTA software downloads) over to an IP Exchange (IPX) / General Packet Radio Service Roaming Exchange (GRX) 1222, which routes the traffic / payload to local PGWs 1224-1, 1224-2, 1224-n. The local PGWs 1224-1, 1224-2, 1224-n are local to PoPs 1223-1, 1223-2, 1223-n on an edge between the Internet 1225 and the IPX / GRX 1222. The anycast-based local routing method (FIG. 2) described earlier determines which one of the local PGWs 1224-1, 1224-2, 1224-n is nearest to the EPD 112 to service the EPD 112, based on the EPD’s geo location, as the EPD 112 moves from the geo-location illustrated in FIG. 3B to the geo-location illustrated in FIG.3C. From the selected one of the local PGWs 1224-1, 1224-2, 1224-n, traffic / payload is routed to a destination which could be the Internet or anything else on IP / application level. Traffic / payload is bi-directional, from IP / application to the EPD 12 and vice versa.

[0053] Referring to FIG. 3D, the central CDN server 1227 in PoP 1226, proxies the new files (OTA software / update files), on first push or pull, to the decentral, local CDN servers 1227-1, 1227-2, 1227-n. As illustrated in FIG. 3E, when an OTA software / update file is offered to the Campaign Manager 152 of the Campaign Manager Infrastructure 150 by the Original Equipment Manufacturer Infrastructure, a server 1228 of the CampaignAtorney Docket No.2449-316WO1manager 152 downloads the OTA software / update file to the central CDN server 1227 and in turn, the central server 1227 distributes the OTA software / update file to each of the local CDN servers 1227-1, 1227-2, 1227-n on first push or pull.

[0054] Software Over The Air (SOTA) system 130

[0055] Referring again to FIG. 1, the SOTA system 130 comprises the Analytics Engine 132 and the Business Rule Engine 134 mentioned earlier.

[0056] Analytics Engine 132

[0057] In various embodiments, the Analytics Engine (AE) 132 can be configured as software running on one or more servers and / or other computing devices, which correlates and filters data. Specifically, the AE 132 converts data into time series data and processes EPD / asset mapping data received from the Data Enablement Engine 140 in mapping data flow 212 in FIG. 1. The AE 132 is also configured with artificial intelligence and / or machine learning algorithms, to perform model training and inference. As one of ordinary skill in the art will understand, the artificial intelligence and machine learning algorithms can comprise any suitable, commercially available, off-the-shelf artificial intelligence and machine learning algorithms, which provide a predictive analytics model that uses historical data, statistical algorithms, and machine learning techniques to predict future events and occurrences, to predict the time series for upcoming time intervals. Therefore, in operation, the AE 132 trains and predicts time series for upcoming time intervals based on previous time series patterns.

[0058] More particularly, the Analytics Engine (AE) 132, in various embodiments, comprises a Best Window module 132a for scheduling an Over- The- Air (OTA) software / update campaign, and a Best Network Profile module 132b for a given geo-Atorney Docket No.2449-316WO1location. The AE 132, which is configured with the earlier mentioned artificial intelligence (Al) and / or machine learning (ML) algorithm(s), analyzes the off-net and on-net KPIs to determine when the EPD 112 will have an active data connection that optimum connectivity (e.g., download speed, upload speed (if performing Best Window for any data uploads), latency, signal strength, signal quality, and the like at the geolocation of the EPD 112) and checks the data balance (e.g., how much data capacity the eSIM of the VCU has left to support the download. The Best Window module 132a of the AE 132 predicts the “Best Window” (i.e., the best array of dates and time for performing the OTA software update / download and the best array of times within the best array of dates for performing the OTA software / update download, relative to vehicle geo-location for a corresponding vehicle) in advance for an OTA software / update download, using the earlier mentioned Al and / or ML algorithm(s) it is configured with to analyze the off-net and on-net QoS KPIs. The Best Network Profile module 132b, using the earlier mentioned Al and / or ML algorithm(s), selects the best eSIM MNO profile available for the geo-location the EPD 112 is located at, i.e., the “Best Network.” Think about coverage, availability of 2G, 3G, 4G etc. for example. Because different roaming agreements for the same geo-location are available (which vary only in price), the Best Network Profile module 132b can predict the “Best Network” from among various MNOs at a given geo-location. From the on-net and off-net KPIs collected and analyzed, the Best Network Profile module 132b predicts the best eSIM MNO profile (the “Best Network”) based on the best QoS score of its associated cellular network, i.e., the cellular network with best coverage, download speed, upload speed, latency, signal strength, signal quality, and the like at the geo-location of the EPD 112.Atorney Docket No.2449-316WO1

[0059] The SOTA system 130 is configured to collect insight data KPIs from “sensors” on 3 different levels: the eSIM level; the Device SDK level including the battery charge level, and the core network level. If the level is available, the sensor(s) of this level is / are activated. The availability depends on having access to the respective levels.

[0060] The “sensor” on the eSIM level is the earlier described applet. In some embodiments, access to the applet may not be possible where an MNO does not allow an applet on their eSIM MNO profile.

[0061] The “sensor” on the Device SDK level is the Device SDK described earlier. The Device SDK is pre-installed in the VCU OS by the device manufacturer, which provides the “sensor” function.

[0062] The “sensor” on the core network level can include certain sensors associated with the mobile core network of the MNO, which can be activated to capture core network KPIs.

[0063] The majority of the KPI measurements on the different levels described above provide the same insights / KPIs, however, every level has some specific, additional complementary KPIs as well, as illustrated in Table 1. In some embodiments, the SOTA system 130 is configured to operate with only a single level's KPIs. In preferred embodiments, the SOTA system 130 is configured combine the KPIs from all three levels to optimize “Best Window” and / or best network predictions.Table 1Atorney Docket No.2449-316WO1

[0064] Business Rule Engine 134

[0065] Referring still to FIG. 1, in various embodiments, the Business Rule Engine (BRE) 134 can be configured as software running on one or more servers and / or other computing devices, which switches the eSIM MNO profile to the best available MNO network profile, i.e., the eSIM MNO profile having the best QoS score predicted by the Best Network Profile module 132b. The BRE comprises a Profile Switching module 134a and an Auto-Scheduling module 134b. If necessary, the Profile Switching module of the BRE 134 switches the eSIM MNO profile from the current MNO’s cellular network to an eSIM MNO profile (predicted with the Best Network Profile module 132b) associated with an MNO having a cellular network with optimal connectivity (the “Best Network”) so the VCU 113 of the EPD 112 is connected to the best cellular network at the present geo-location of the EPD 112. The Auto- Scheduling module 134b of the BRE 134 in a Push-mode campaign, separates the main software / update campaign into subcampaign and automatically schedules the sub-campaigns, which will be pushed toward the Campaign Manager 152 for execution, as per the inferred / predicted “Best Window.” For a Pull-mode campaign, the Auto-Scheduling module 134b of the BRE 134 shares the “Best Window” with the SOTA software client 118a of the Device SDK 116.

[0066] Data Enablement Engine 140

[0067] Referring still to FIG. 1 , in various embodiments, the Data Enablement Engine (DEE) 140 can be configured as software running on one or more servers and / or other computing devices, which provides information about what eSIM MNO profiles are commercially available to select from by the BRE 134 in the SOTA system 130 for relevant customer(s), i.e., customers who may wish to limit their pool of eSIM MNOAtorney Docket No.2449-316WO1profiles to a particular set of eSIM MNO profiles based for example on cost, QoS, and / or geographical coverage.

[0068] In addition, the DEE 140 includes a Device Mapping Server 142 that establishes mapping between the Asset, EPD 112, and eSIM 114, per ICCID prediction model, using asset and EPD information 210 sent by a Device Information module 152d of the Campaign Manager Infrastructure 150. However, the relationship among the asset (vehicle / EPD 112) using the vehicle’s Vehicle Identification Number (VIN), the VCU 113 using the VCU’s ID number (IMEI), and the eSIM’s 114 ID number (e.g., Embedded Identity Document (EID) ID number for eSIMs, Integrated Circuit Card Identification number (ICCID) for SIM cards) and the International Mobile Subscriber Identity (IMSI) number used by the cellular network to identify a specific line of service that the customer’s data plan is attached to. The relationships between these are l:n:n:n:n, wherein a SIM MNO profile identified by its ICCID, can contain multiple IMSIs (l:n); an eSIM, identified by its EID, can contain multiple SIM MNO profiles (1 :n); a VCU, identified by its IMEI, can contain multiple eSIMs MNO profiles (l:n); and an asset, such as a motor vehicle identified by its VIN, can contain multiple VCUs (1 :n). For example, the on-net KPIs used in the present disclosure can be tagged with an IMSI number, but not the SIM ID number and / or the VIN of the vehicle. Therefore, the Campaign Manager 152 would be only “aware” of the vehicle’s VIN. Consequently, to perform a proper data analysis against the appropriate and relevant entity (i.e., asset (Vehicle), VCU, eSIM, ICCID and IMSI), but also targeting the correct SIM ID number given the vehicle’s VIN, this relationship must to be known. The 1 :n:n:n:n function establishes that relationship.

[0069] Campaign Manager Infrastructure 150Atorney Docket No.2449-316WO1

[0070] Referring still to FIG. 1, in various embodiments, the Campaign Manager Infrastructure (CMI) 150 comprises the Campaign Manager 152 mentioned earlier, which can be configured as software running on one or more servers and / or other computing devices. In some embodiments, the Campaign Manager 152 includes a Package Manager module 152a, a Campaign Planner module 152b, an Adminstrative Toolkit module 152c, and the Device Information module 152d mentioned above. The Campaign Manager 152 performs package maintenance, campaign planning and campaign pushing. In a push campaign, the Campaign Manager 152 is in control and considers the “Best Window” predicted by the Best Window module 132a of the AE 132, wherein the Auto-Scheduling module 134b of the BRE 134 breaks a larger campaign into smaller sub campaigns taking the “Best Window” into account and sends sub campaigns 214 to the Campaign Manager. In a pull campaign the SOTA software client 118a of the Device SDK 116 is in charge wherein the SOTA software client 118a is provided with a “Best Window” matrix representing, for example, but not limitation, a full week’s prediction (in some embodiments, HEX code can be used to represent matrix with the full week’s prediction) so the SOTA software client 118a can decide locally whether to fetch a software / updates from the Campaign Manager 152.

[0071] The various modules of the Campaign Manager schedule the OTA software download and performs the OTA software / update download according to the predicted “Best Window.” In automotive and other applications, the Campaign Manager 152 manages the deployment of software / updates and is responsible for overseeing and executing the software / update process for a single EPD / vehicle 112 or a plurality of EPDs / entire fleet of vehicles 112. The Campaign Manager 152 manages the end-to-endAtorney Docket No.2449-316WO1process of deploying software / updates to the SOTA software client 118a of the Device SDK 116 efficiently and securely. From a master server 162 of the Original Equipment Manufacturer Infrastructure 160, new software / updates become available (which are developed by the Original Equipment Manufacturer 160). In some embodiments, there can be more target “areas” in a single EPD / vehicle 112. These software / updates are an input to the Campaign Manager 152 in software / update flow 208 in FIG. 1. The software / updates can be grouped by the user (the person at the Original Equipment Manufacturer (OEM) responsible for the campaign management and has permissions on the CMI 150 to determine which EPD / vehicle 112 requires the software / update) into “packages” with the Package Manager module 152a. By selecting the target EPD / vehicles 112, from the inventory (for example by using filtering / grouping based on model, make, type, etc.) a subset of the inventory is targeted with a new “package” (software / update package). The software / update campaign has a start and an end-date (e.g., one month), as determined by the Campaign Planner module 152b. During this period, an attempt will be made to send the “package” OTA to the selected EPDs / vehicles 112. The Administrative Toolkit module 152c keeps track of the success of the software / update, as some EPDs / vehicles 112 may not have a successful software / update during the time the campaign run because they were not being operated, or operated not long enough to get the software / update across. These EPDs / vehicles 112 can be selected for another attempt of a software / update in a new campaign. In various embodiments, the Campaign Manager 152 can also perform:Eligibility Checks: Verifies which EPDs / vehicles 112 are eligible for a particular software / update based on their current software versions andAtorney Docket No.2449-316WO1other criteria. The Campaign Manager 152 contains an inventory of potential target devices and their relevant details, including their current actual software version (in sync with the information contained in the Data Enablement Engine 140).Scheduling: In addition to the scheduling functions described above, the Campaign Manager 152 can determine when to deploy updates to minimize disruption, considering factors such as vehicle usage patterns and maintenance schedules.Distribution: Manages the secure and efficient distribution of software / updates to the targeted EPD / vehicles 112, which may involve OTA updates or other methods.Rollback Mechanism: Implements a mechanism to revert to the previous software version in case issues or errors are detected during or after the update.Reporting and Monitoring: Provides tools for monitoring the update progress, identifying successful and unsuccessful updates, and generating reports for analysis.Security: Ensures the security of the update process, including encryption, authentication, and protection against unauthorized access.

[0072] Original Equipment Manufacturer Infrastructure 160

[0073] In various embodiments, the Original Equipment Manufacturer (OEM) Infrastructure 160 comprises a master server 162 hosting all software versions and their sub-files that are required to be downloaded to respective OEM assets (e.g., EPDsAtorney Docket No.2449-316WO1112 / VCUs 113). The software files can be obtained by the Campaign Manager 152 for the different makes, models, and versions of models from the OEM that may require different (software / update) packages to be downloaded.

[0074] The flow of instructions, feedback, and OTA software / updates through the system 100 of FIG. 1, according to an embodiment of the present disclosure, will be described with reference to FIG. 1, the block diagram of FIG. 4, and the graphical diagrams of FIGS. 5A and 5B.

[0075] Feedback collection flow supported by the Network Infrastructure 120

[0076] Referring to FIG. 1, feedback collection flow 202 comprises input data (off-net and on-net KPIs) including VCU connectivity, VCU presence, network QoS, and geolocation of the EPD 112. The feedback collection flow 202 uses the transmission channel 122a of the NI 120 provided by a cellular data service, to transport off-net KPI measurements and on-net KPI measurements in the network, obtained with the SIM applet 114a and / or the Device SDK 116, to the AE 132 of the SOTA system 130. When the VCU 113 of the EPD 112 is switched on and has cellular connectivity (or other wireless connectivity via a WiFi network or a satellite network), continuous VCU presence and QoS off-net KPI measurements happen on the Device SDK 116 and / or the eSIM applet 114a, and / or on- net KPI measurements happen in the network 122 / transmission channel 122a. In addition, the current geo-location (e.g., geo-location A or B) of the EPD 112 is available via the KPI software client 118b of the Device SDK 116 as the EPD 112 travels along to a destination.

[0077] More specifically as illustrated in FIG. 4, RAN 122b-2 of transmission channel 122a receives the feedback collection flow 202 obtained from the eSIM applet 114aAtorney Docket No.2449-316WO1and / or the Device SDK 116 and routes it the SGW 1221-2 of the transmission channel 122a. The anycast-based local routing method 1229 routes the feedback collection flow 202 from the SGW 1221-2 to the local PGW 1224-2 of the transmission channel 122a. Finally, the local PGW 1224-2 routes the feedback collection flow 202 (which includes off-net and on-net KPI values collected from sensors provided in the transmission channel 122a) across the internet 1225 to the AE 132.

[0078] FIG. 5A graphically illustrates the feedback collection flow 202 described with respect to FIG. 4. As illustrated in FIG. 5A, the anycast-based local routing method routes the feedback collection flow 202 received by the SGW 1221-2 (of VPLMN 1220-2 which is in the same geo-location of the EPD 112-3) from the EPD 112-3, over the IPX / GRX 1222, to the local PGW 1224-2 in the local to PoP 1223-2 on the edge between the Internet 1225 and the IPX / GRX 1222. The local PGW 1224-2, in turn routes the feedback collection flow 202 to the one or more servers hosting the AE 132 of the SOTA system 130.

[0079] Every EPD 112 has its own behavior and therefore, pattern. Hexadecimal (HEX) code is generated by a ML algorithm of the AE 132 to predict a pattern for an EPD 112 (weekday and time) for the Best Window of that particular EPD 112. For example, if the EPD 112 is a motor vehicle that is driven from geo-location A to geo-location B every weekday from 8:00am until 08:30am and then from geo-location B to geo-location A at 5:00pm until 5:30pm, the HEX code will represent pattern from a presence perspective. Accordingly, the AE 132 processes the feedback collection flow 202 received from the PGW 1224-2 to predict presence and QoS for a certain period of time (e.g., a full week) represented in the HEX code for each VCU 113 of its corresponding EPD 112. InAtorney Docket No.2449-316WO1particular, the Best Window module 132a of the AE 130 can process the KPIs using any suitable ML algorithm to predict the “Best Window” for each VCU 113 of its corresponding EPD 112. The Best Network Profile module 132b of the AE 130 also processes the KPIs using any suitable Machine Learning (ML) algorithm to predict the best eSIM MNO profile available for the EPD’s 112 geo-location, i.e., the “Best Network.” In some embodiments, the ML algorithms are trained weekly based on historical data and weekly processing of the HEX code per EPD 112.

[0080] Instruction flows to change CDN and “Best Window” recommendation

[0081] Referring again to FIG. 1, instruction flow 204 comprises a change-network instruction based on the “Best Network and instruction flow 206 comprises the “Best Window” recommendation. The instruction flows 204 and 206 are respectively generated by the 134 Profile Switching module 134a of the BRE 134 and the AutoScheduling module 134b of the BRE 134. As illustrated in FIG. 1, the BRE 134 transmits the instruction flows 204 and 206 to the EPD 112 via the transmission channel 122a of the NI 120

[0082] More specifically as illustrated in FIG. 4, the BRE 134 transmits the instruction flows 204 and 206 across the internet 1225 to the local PGW 1224-2 of the transmission channel 122a. The any cast- based local routing method 1229 is used to route the instruction flows 204 and 206 from the local PGW 1224-2 to the SGW 1221-2 of the transmission channel 122a. In turn, the SGW 1221-2 routes the instruction flows 204 and 206 to the RAN 122b-2 of the transmission channel 122a, which then transmits the instruction flows 204 and 206 to the VCU 113 of the EPD 112-3.Atorney Docket No.2449-316WO1

[0083] FIG. 5B graphically illustrates the instruction flows 204 and 206 described with respect to FIG. 4. As illustrated in FIG. 5B, the BRE 134 transmits the instruction flows 204 and 206 across the internet 1225 to the local PGW 1224-2 in the PoP 1223-2 on the edge between the Internet 1225 and the IPX / GRX 1222. The anycast-based local routing method is used to route the instruction flows 204 and 206 from the local PGW 1224-2 across the IPX / GRX 1222 to the SGW 1221-2 (of VPLMN 1220-2 which is in the same geo-location of the EPD 112-3). Finally, the SGW 1221-2 routes the instruction flows 204 and 206 to the RAN 122b-2 of the transmission channel 122a, which in turn, transmits the instruction flows 204 and 206 to the VCU 113 of the EPD 112-3.

[0084] As described earlier, to optimize the QoS at a certain geo-location (one of the KPIs captured), the Profile Switching module 134a of the BRE 134 temporarily changes the eSIM MNO profile (i.e., the CDN associated therewith) prior to the OTA software / update download. This can be accomplished using OTA eSIM subscription management for eSIMs (e.g., SGP02, SGP22, SGP32) or IMSI management for conventional SIMS, to optimize the QoS towards highest download speed available for the SOTA system 130, and in addition for other measured KPIs to minimize latency in applications where low latency is required or high upload speeds are required.

[0085] It is contemplated that the “Best Window” and “Best Network” predictions can be used in many other applications that do not involve OTA software / updates. OTA software / updates rely on high download speeds, however, gaming applications, for example, require low latencies. Video upsteaming often require high upload speeds. The BRE 134, in these other applications, can be used to recommend “Best Windows” and temporarily change the eSIM MNO profile to provide a “Best Network,” if required.Atorney Docket No.2449-316WO1

[0086] Software / update flow and installations on End-Point Devices

[0087] Referring again to FIG. 1, software / update flow 216 contains a software / update package or file generated by the Package Manager module 152a of the CMI 150. The software / update flow 216 containing the software / update file originates from the Campaign Manager 152 and extends through the CDN 124 and transmission channel 122a to the EPD 112, wherein the software / update file is downloaded into the VCU 113 of the EPD 112.

[0088] More specifically as illustrated in FIG. 4, the Campaign Manager 152 of the CMI 150 transmits the flow 216 containing the software / update file to the central CDN server 1227 in the NI 120. The central CDN server 1227 passes the software / update file contained in flow 216 across the internet 1225 to nearest local CDN server 1227-2. The local CDN server 1227-2 routes the flow 216 containing software / update file to the local PGW 1224-2 of the transmission channel 122a. The anycast-based local routing method 1229 is used to route the flow 216 containing software / update file from the local PGW 1224-2 to the SGW 1221-2 of the transmission channel 122a. In turn, the SGW 1221-2 routes the flow 216 containing software / update file to the RAN 122b-2 of the transmission channel 122a, which then transmits the flow 216 software / update file to the VCU 113 of the EPD 112-3 where it is downloaded into the VCU 113 by the SOTA software client 118a.

[0089] In some embodiments, the Campaign Manager 152 of the CMI 150 triggers a push of the software / update file from the nearest local CDN server 1227-1, 1227-2 to the EPD 112 over the cellular connectivity, once that has been established by the EPD 112. In other embodiments, the SOTA software client 118a in the Device SDK 116 of theAtorney Docket No.2449-316WO1VCU 113 of the EPD 112 pulls the software / update file from the nearest local CDN server 1227-1, 1227-2.

[0090] In embodiments where a push mechanism is used, the BRE 134 interprets the “Best Window” HEX code and creates sub campaigns from a main campaign. These sub campaigns are executed by the Campaign Manager 152 of the CMI 150.

[0091] In embodiments where a pull mechanism is used, the SOTA software client 118a in the Device SDK 116 of VCU 113 of the EPD 112 checks the local HEX code and checks in at the “Best Window” times with the Campaign Manager 152 of the CMI 150 to see if there is a software / update available. If there is, the software client pulls the update from the local CDN server 1227-1, 1227-2.

[0092] In both embodiments, the transmission channel 122a of the cellular core 122 takes care of routing the traffic to the nearest local PoP (and therefor the local CDN server 1227-1, 1227-2) using the anycast-based local routing method 1229.

[0093] FIG. 6 is a flow chart of a method for delivering and downloading software updates OTA to an loT-enabled device, according to an embodiment of the present disclosure.

[0094] In box 10, off-network and on-network Key Performance Indicators (KPIs) of a connectivity layer (cellular connectivity) are collected with the applet 114a of the eSIM 114 of the EPD 112 (FIG. 1) and / or the Device SDK 116 of the EPD 112 (FIG. 1).

[0095] In box 12, the KPIs are analyzed by the AE 132 to determine when the VCU 113 of the EPD 112 (FIG. 1) will have an active data connection (presence) download speed, upload speed, geo-location, latency, network congestion, peak times, etc., and check theAtorney Docket No.2449-316WO1data balance (how much data capacity the eSIM of the VCU has left to support the download.

[0096] In box 14, the BRE 134 (FIG. 1) switches the eSIM MNO profile associated with the current cellular network to an eSIM MNO profile associated with a different cellular network having optimal connectivity, if the current cellular network does not have optimal wireless connectivity, so the VCU 113 of the EPD 112 (FIG. 1) is connected to the “best network” i.e., the network with optimal connectivity. In some embodiments, the original eSIM MNO profile is restored after the OTA software / update download, if required.

[0097] In box 16, a “Best Window” for the OTA software / update download is predicted in advance with the AE 132 (FIGI).

[0098] In box 18, the OTA software download in the predicted “Best Window” is scheduled with the BRE 134 (FIG. 1).

[0099] In box 20, the software / update file is delivered OTA and downloaded by the SOTA software client 118a running in the Device SDK 116 of the VCU 113 of the EPD 112 (FIG. 2) within the predicted “Best Window.” If the download has been interrupted earlier, the download will be restarted and continue from the interruption point.

[0100] Persons skilled in the art will appreciate after reading this specification, that the Network Infrastructure 120 can further include routers, network bridges, switches, hubs, repeaters, multilayer switches, protocol converters, bridge routers, proxy servers, firewalls, network address translators, multiplexers, network interface controllers, wireless network interface controllers, modems, ISDN terminal adapters, line drivers, networking cables, and other related hardware.Atorney Docket No.2449-316WO1

[0101] Persons skilled in the art will also appreciate that the one or more servers and / or other computing devices can be embodied as a multi-processor platform, as a subcomponent of a larger computing platform, as a virtual computing element, or in some other computing environment - all within the scope of the present disclosure. In addition, the one or more servers and / or other computing devices can be referred to by a different name such as a data-processing system, or another type of hardware platform that comprises one or more processors, one or more memories, and the like, for example and without limitation - all within the scope of the present disclosure.

[0102] Further, it should be understood that the invention is not limited to the embodiments illustrated and described herein. Rather, the appended claims should be construed broadly to include other variants and embodiments of the invention, which may be made by those skilled in the art without departing from the scope and range of equivalents of the invention. It is indeed intended that the scope of the invention should be determined by proper interpretation and construction of the appended claims and their legal equivalents, as understood by those of skill in the art relying upon the disclosure in this specification and the attached drawings.

Claims

Atorney Docket No.2449-316WO1CLAIMSWhat is claimed is:

1. A method for over-the-air (OTA) delivery and downloading of a software file to an Internet of Things-enabled device (loT-enabled device) of an end-point device (EPD), the loT-enabled device having an embedded subscriber identity module (eSIM) containing a first eSIM profile associated with a first mobile network that provides the loT-enabled device with a data connection, the method comprising:collecting and / or measuring, with a SIM applet of the eSIM and / or a Device Software Development Kit (Device SDK) associated with the loT-enabled device, Quality of Service (QoS) key performance indicators (KPIs) of the first mobile network;analyzing, with a first computing device, the QoS KPIs to:predict an array of dates and an array of times within the array of dates that the data connection provided to the loT-enabled device by the first mobile network will be active, the predicted arrays of times and dates comprising a best window for downloading the software file OTA to the loT-enabled device; anddetermine whether the data connection during the best window will have optimal connectivity;if the data connection is determined to not have optimal connectivity, the first computing device predicts a second eSIM profile associated with a second mobile network that will provide the loT-enabled device with a data connection having optimal connectivity during the best window;Atorney Docket No.2449-316WO1switching, with a second computing device, the eSIM from the first eSIM profile to the second eSIM profile; andOTA delivering, with a third computing device the software file to the loT-enabled device for downloading during the best window.

2. The method of claim 1 , further comprising checking, with the second computing device, how much data capacity the eSIM must support the downloading of the software file.

3. The method of claim 1, wherein the EPD comprises a motor vehicle and wherein the arrays of dates and times are relative to a geo-location of the motor vehicle.

4. The method of claim 1, wherein the QoS KPIs include one or more of download speed, upload speed, latency, cell ID location, Reference Signal Received Power, Reference Signal Received Quality, and radio access types.

5. The method of claim 1, wherein the loT-enabled device includes a Vehicle Control Unit.

6. The method of claim 5, wherein the Vehicle Control Unit comprises a Telematics Control Unit, Engine Control Module, Transmission Control Module or Body Control Module.

7. The method of claim 1 , wherein the software file is generated by an Original Equipment Manufacturer (OEM).Atorney Docket No.2449-316WO18. The method of claim 7, wherein the third computing device receives the software file from the OEM and wherein the downloading OTA of the software file to the loT-enabled device during the best window is performed by the third computing device.

9. The method of claim 8, wherein the third computing device transmits the software file over a content delivery network (CDN), which in turn, transmits the software file via the data connection provided by the first mobile network, if the data connection provided by the first mobile network is determined to have optimal connectivity during the best window or via the data connection provided by the second mobile network during the best window, if the data connection provided by the first mobile network is determined to not have optimal connectivity during the best window.

10. The method of claim 1 , wherein the software file comprises an original version of software to be downloaded for the first time in the loT device or an update to existing version of software already loaded in the loT-enabled device.

11. The method of claim 1 , wherein the EPD comprises a certain plurality of EPDs each having an loT-enabled device, wherein the downloading of the software file to the loT-enabled devices of each of the EPDs is to be performed on all of the EPDs in a campaign, wherein the second computing device separates the campaign into a plurality of sub-campaigns, each of the EPDs of each of the sub-campaigns having the same predicted best window and wherein the second computing device schedules each of the sub-campaigns to be executed according to the best window predicted for the EPDs in that sub-campaign.Atorney Docket No.2449-316WO112. The method of claim 1, wherein the Device SDK determines whether the software file delivered by the third computing device during the best window is to be downloaded to the loT-enabled device.

13. A system for over-the-air (OTA) delivery and downloading of a software file to an Internet of Things-enabled device (loT-enabled device) of an end-point device (EPD), the loT-enabled device having an embedded subscriber identity module (eSIM) containing a first eSIM profile associated with a first mobile network that provides the loT-enabled device with a data connection, the system comprising:a SIM applet of the eSIM and / or a Device Software Development Kit (Device SDK) associated with the loT-enabled device, configured to collect and / or measure Quality of Service (QoS) key performance indicators (KPIs) of the first mobile network;a first computing device configured to analyze the QoS KPIs to:predict an array of dates and an array of times within the array of dates that the data connection provided to the loT-enabled device by the first mobile network will be active, the predicted arrays of times and dates comprising a best window for downloading the software file OTA to the loT-enabled device; anddetermine whether the data connection during the best window will have optimal connectivity;wherein if the data connection is determined to not have optimal connectivity, the first computing device predicts a second eSIM profile associated with a second mobile network that will provide the loT-enabled device with a data connection having optimal connectivity during the best window;Atorney Docket No.2449-316WO1a second computing device configured to switch the eSIM from the first eSIM profile to the second eSIM profile; anda third computing device configured to deliver OTA the software file to the loT-enabled device for downloading during the best window.

14. The system of claim 13, wherein the second computing device is further configured to check how much data capacity the eSIM must support the downloading of the software file.

15. The system of claim 13, wherein the EPD comprises a motor vehicle and wherein the arrays of dates and times are relative to a geo-location of the motor vehicle.

16. The system of claim 13, wherein the QoS KPIs include one or more of download speed, upload speed, latency, cell ID location, Reference Signal Received Power, Reference Signal Received Quality, and radio access types.

17. The system of claim 13, wherein the loT-enabled device includes a Vehicle Control Unit.

18. The system of claim 17, wherein the Vehicle Control Unit comprises a Telematics Control Unit, Engine Control Module, Transmission Control Module or Body Control Module.

19. The system of claim 13, wherein the software file is generated by an Original Equipment Manufacturer (OEM).

20. The system of claim 19, wherein the third computing device is configured to receive the software file from the OEM and wherein the third computing device is furtherAtorney Docket No.2449-316WO1configured to download OTA of the software file to the loT-enabled device during the best window.

21. The system of claim 20, wherein the third computing device is further configured to transmit the software file over a content delivery network (CDN), which in turn, transmits the software file via the data connection provided by the first mobile network, if the data connection provided by the first mobile network is determined to have optimal connectivity during the best window or via the data connection provided by the second mobile network during the best window, if the data connection provided by the first mobile network is determined to not have optimal connectivity during the best window.

22. The system of claim 13, wherein the software file comprises an original version of software to be downloaded for the first time in the loT device or an update to existing version of software already loaded in the loT-enabled device.

23. The system of claim 13, wherein the EPD comprises a certain plurality of EPDs each having an loT-enabled device, wherein the software file is to be downloaded to the loT-enabled devices of each of the EPDs in a campaign, wherein the second computing device is further configured to separate the campaign into a plurality of subcampaigns, wherein each of the EPDs of each of the sub-campaigns has the same predicted best window and wherein the second computing device schedules each of the sub-campaigns to be executed according to the best window predicted for the EPDs in that sub-campaign.Atorney Docket No.2449-316WO124. The system of claim 13, wherein the Device SDK is further configured to determine whether the software file delivered by the third computing device during the best window is to be downloaded to the loT-enabled device.