Wireless communication utilizing bonding with adaptive-selective multiple virtual identities
The system addresses inefficiencies in managing multiple cellular modems and virtual SIMs by dynamically switching and optimizing network diversity, ensuring reliable high-bandwidth data transmission for applications like live video streaming and sensor data transfer.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-10
- Publication Date
- 2026-03-19
AI Technical Summary
Existing systems face challenges in maintaining high-performance and reliable cellular communication by efficiently managing multiple cellular modems and virtual SIMs to handle high-bandwidth and high-reliability data transmission, particularly for applications like live video streaming and sensor data transfer.
A system that dynamically and adaptively manages multiple virtual SIMs and cellular modems by utilizing a Dynamic Switcher Unit to assess performance characteristics and make switching decisions based on application-level parameters, ensuring optimal network diversity and redundancy.
Enhances cellular communication by maintaining desired performance levels through adaptive switching among virtual SIMs and networks, reducing the risk of communication failures, and optimizing bandwidth, latency, and reliability for continuous data transmission.
Smart Images

Figure IL2025050780_19032026_PF_FP_ABST
Abstract
Description
Wireless Communication Utilizing Bonding with Adaptive-Selective Multiple Virtual IdentitiesCross-Reference to Related Applications
[0001] This patent application claims priority and benefit from US 63 / 694,077, filed on September 12, 2024, which is hereby incorporated by reference in its entirety.Field
[0002] Some embodiments are related to the field of electronic devices and systems.Background
[0003] A virtual broadband cellular communications apparatus can transport live media, such as live video captured by a video camera, from a remote location to a recipient device. For example, the apparatus includes a plurality of cellular modems, and each such cellular modem utilizes a distinct communication link towards the recipient device. It can also transfer large files, real time streaming of LIDAR data, RADAR data, and similar sensor data, transmission of data from many sensors simultaneously, and any other application requiring high bandwidth and / or high reliability. The plurality of distinct cellular communication links forms an aggregated or bonded virtual broadband communication channel, that can efficiently transmit to the recipient device packets of high definition video.
[0004] A virtual broadband cellular receiver apparatus is configured to receive the video packets from those plurality of cellular communication links, and to re-assemble them into a video stream or a video file that can be displayed or that can be broadcast via a television broadcasting system.Summary
[0005] Some embodiments include systems, devices, and methods for cellular communication that utilize bonding or aggregation of a plurality of cellular communications links; and particular in a dynamically-modified, adaptive and / or selective manner that dynamically switches among (or removes, or adds) virtual SIMs or embedded SIMs or other virtual / embedded identity modules or network subscriber profiles, and the assessment and selection of relevant qualities as leading, invoking and making the switching decisions.
[0006] Some embodiments provide systems and methods for enhanced cellular communication in application-level transmission of video and other types of payload. For example, a Dynamic Switcher Unit analyzes application-level performance characteristics of relevant cellular modems, of relevant cellular networks, and also takes into account cellular network diversity goals, uplink transmission bandwidth goals, and other relevant parameters. The switching decision is based on dynamic scoring of performance characteristics of cellular modems and cellular networks and application-level performance indicators, as well as cellular network diversity goals and other parameters or conditions. The Dynamic Switcher Unit thus considers whether or not to switch a particular cellular modem from a first cellular network to a second cellular network; and decides whether or not to switch, when to switch, which cellular modem to switch, and which target cellular network to use.
[0007] Some embodiments may provide other and / or additional benefits and advantages.Brief Description of the Drawings
[0008] Fig. 1 is a schematic illustration of a system, in accordance with some demonstrative embodiments.
[0009] Fig. 2 is a sequencing diagram demonstrating operations and their sequence, in accordance with some demonstrative embodiments.
[0010] Fig. 3 is a schematic block diagram illustration of a system, in accordance with some demonstrative embodiments.Detailed Description of Some Demonstrative Embodiments
[0011] Some embodiments perform, use and / or provide bonding or aggregation or accumulation of communication links or connections or of a plurality of wireless communication channels, or of a plurality of point-to-point wireless communication links or connections, or a plurality of one-to-one wireless communication links or connections, or of a plurality of cellular communication links or connections, while utilizing multiple or a plurality of the following: virtual identities, virtual cellular identities, virtual cellular subscriber identities, virtual cellular subscriber identifiers, Virtual and / or downloadable “subscriber identity module” units or SIMs, Virtual SIMs and / or VSIMs, Downloadable SIMs, electronic SIMs or Embedded SIMs or eSIMs, cellular subscriber profiles and / or cellular subscriber identities, and / or cellular subscriber credential(s), and / or universal integrated circuit card (UICC) units or identifiers, international mobile subscriber identity (IMSI) numbers or identifiers, Temporary Mobile Subscriber Identity (TMSI), Universal SIMs or USIMs or R-USIMs, eUICC, R-SIM, I-SIM, and any equivalent-functioning cellular identity and / or other such cellular subscriber or registration or service-receiving identity, of wireless communication networks in general and cellular communication network(s) in particular.
[0012] The identities may be associated with a physical subscriber identity module (SIM), also referred to as a “subscriber integrated module” or a virtual SIM (VSIM), and / or specific hardware or burnt-in identities, such as IMEI (“International Mobile Subscriber Identity”, which is usually unique for a device or subscriber) and / or ICCID (“Integrated Circuit Card Identifier”, which is usually unique for a SIM hardware) and / or MSISDN (“Mobile Station International Subscriber Directory Number”, which is usually unique for a device or subscriber) and / or IMSI (“International Mobile Subscriber Identity”, which is usually unique for the SIM) and / or Temporary Mobile Subscriber Identity (TMSI), or modems or other such unique identifiers that identifies the profile or user or subscriber to the cellular network and enables its authentication, authorization and registration with it, and / or that further enables the ongoing cellular communications, cellular transmission and / or cellular reception by a cellular transceiver or a cellular modem that is operatively associated with such SIM or V-SIM or E- SIM or other subscriber module.
[0013] The E-SIM or V-SIM may store, when initially configured or later in real time, or may download into it or may otherwise acquire, one or more of the identities or profiles or ICCIDs. These are sometimes referred to as a “multi-profile” SIM or E-SIM or V-SIM.
[0014] In order to address the problem of insufficient performance by a single modem and / or SIM (or V-SIM), some systems may perform bonding of communication links; such as the bonding described in patent number US 7,948,933, which is hereby incorporated by reference in its entirety; and / or bonding that takes advantage of VSIMs as described in patent number US 9,379,756, which is hereby incorporated by reference in its entirety. Some embodiments of the present invention may include methods and algorithms that further address by ways of detection, prevention, avoidance, mitigation, recovery, and / or by incorporating external or peripheral devices and actions for problems, such as risks of adverse occurrences and / or losing communications completely or sufficiently; such that in accordance with some embodiments, when using V-SIMs or Virtual SIMs or eSIMs or other virtual cellular subscriber identifiers, even when bonding of communication links / connections is utilized, the system can achieve and maintain a desired or pre-defined or minimum or target or required level of multi-operator or network diversity or diversification or non-uniformity or heterogeneity in correlation to desired performance of a single link or total links for single device.
[0015] A modem or a wireless modem or a cellular modem or a UE (User Equipment) is also referred to herein as a transceiver, or vice versa, such that a transceiver may include a cellular modem or a wireless modem; or, if the unit only transmits then it may be referred to as a transmitter; or if the unit only receives signals then it may be referred to as a receiver. Communication is usually referred to as including transmission / reception / transport / delivery of Internet Protocol (IP) packets, having a source and a destination IP address and / or port, such as in V4 or V6 or any other type of IP version and any type of IP protocols.
[0016] Embodiments of the invention may provide devices, systems and methods for multilink wireless communications that use virtual and / or other cellular identities as listed above (referred to herein as VSIMs or V-SIMs or Virtual SIMs) instead of or in conjunction or in association to physical cellular identities (e.g. physical SIMs or physical SIM cards or circuitries or processors).
[0017] In some embodiments, a VSIM Mobile Virtual Network Operator (MVNO) or another service provider may provision or install or configure a software application to the physical SIM or circuitry or processor or data storage, or on the modem circuitry or in the apparatus processor, that can then handle the VSIM-related communication with the Mobile Network Operator (MNO) VSIM management servers or services or with a manager that handles multiple profiles from one or more MNOs or VMNOs, and with the said modem that is associated with it. Hereafter, the VSIM MVNO application is referred to in short as VSIMApp or VSIM-App. The networks that the MNOs and / or VMNOs operate can also be referred to as PLMN (Public Network Mobile Network). Hence, MNO / VMNO, cellular operator, cellular network and PLMN are used interchangeably in this text, though formally they are not exactly the same as the first refer to the “operators” of the cellular network and the PLMN. Also, since this invention also refer to other communication methods, such as Wi-Fi, satellite-based communication (SATCOM) or large area network (LAN), with or without VSIM or SIM- equivalent profiles / credentials, the terminology for these cases may be different, yet the operation of some embodiments may be generally similar when utilizing such other equipment and / or the associated terminology.
[0018] There is therefore provided, in accordance with some embodiments of the present invention, a communication apparatus, which includes an interface to a plurality of wireless modems. One or more circuitries or controllers or logic gates or processors, with or without software modules, implemented using hardware components and / or software components, is constructed and placed and configured to receive one or multiple virtual identities or a plurality of different Virtual Cellular Identity identifiers or profiles or credentials or similar - as listedabove, and to adaptively and / or dynamically and / or selectively associate them (or some of them, or one of them, or all of them) with one or more modems or transceivers or the SIM cards or SIM circuitries or handling processors that are associated with the apparatus / device and / or that are included within the apparatus and / or that are operably connected to the apparatus.
[0019] It is noted that for demonstrative purposes, some portions of the discussion herein may relate to transmission and / or reception of video data or video packets, or video streams or audio streams, or live video streams or live video streams, or a combination thereof; however, these are non-limiting examples, and some embodiments may be similarly utilized for transmission, uploading, reception and / or downloading of sensor data or sensed data, LIDAR data, RADAR data, data captured by one or more distance sensors or image sensors or proximity sensors, data generated by one or more encoders or compressors or data-generating units, data that is outputted by other type of data-acquisition unit or data-sensing unit, files or data-streams and particularly those having large size (e.g., measured as one or more gigabytes, or one or more terabytes), and / or other situations in which reliable and / or high-bandwidth transmission and / or reception of data is important or useful or required or advantageous.
[0020] For example, one or more such circuitries or controllers or processors or logic gates, with or without software modules, may be configured to selectively and / or adaptively and / or dynamically load or assign or provision or allocate or configure respective ones of the received / the available virtual identities (VSIMs) into one or more of the wireless modems / transceivers associated with the apparatus or of the apparatus or of the SIM cards or circuitry associated with the modems and / or with the apparatus; and to selectively and / or adaptively and / or dynamically associate the modems / transceivers or the SIM cards or circuitries with their respective VSIMs in the apparatus database or repository and / or in a one or more remote servers; and / or to selectively and / or adaptively and / or dynamically assign or provision a particular Virtual SIM or Virtual Cellular Identifier to a particular modem or transceiver or a SIM card or circuitry of the apparatus; and / or to communicate over the air / wirelessly by simultaneously or concurrently transmitting and / or receiving a data stream over at least the two or more of the associated wireless modems / transceivers using said VSIMs, such as by unevenly or unequally or inequitably distributing or assigning outgoing packets for transmission via one or more of particular said modem / transceiver that have or loaded with or provisioned with or associated with a SIM card or circuitry that was loaded with or downloaded with or provisioned with of otherwise uses a particular said VSIM.
[0021] In a further example, P#1 is a first cellular profile, credentials, IMSI, IMEI or other subscriber ID enabling authentication, authorization, registration and receiving service from aPLMN or an MNO (cellular operator) C#l. The cellular profile P#1 is loaded into a SIM or SIM-performing hardware or software component S#l, which is associated with one of the modems, M#l, in the transceiver. This cellular profile P#1 may then be used immediately for performing or going through the relevant process or set of operations to become operable and communicative (such as, being “dialed”, registering with the PLMN, etc.) in order to receive service from the cellular network C#l. If another cellular profile of set of credentials or other cellular subscriber identifier, denoted, P#2, was already used for connecting / registration / subscribing / receiving cellular service for this hardware of software component S#1 or for that cellular modem M#1 in a second cellular PLMN / MNO denoted C#2 (which may be the same or different than C#l), then this process of getting or obtaining or initiating cellular service on cellular network C#1 may sometimes require or may include disengaging, disconnecting, and / or even de -registration from the already-connected cellular network C#2 and only then using the cellular profile P#1 in accordance with the relevant cellular engagement or initialization protocols for registering and getting cellular service from the cellular service C#l. This situation, realized the Applicant, is a limitation of traditional systems in which credentials or profiles (or user identity modules) need to register and get service when loaded into SIMs or modems or VSIMs standard components. In accordance with some embodiments of the current invention, this process and any variation of it may be referred to as “registration”, “switching SIM”, “switching profile”, “switching cellular profile”, “switching cellular subscriber”, “switching MNO”, “switching PLMN”, “switching network”, or the like. In some embodiments, the current invention uses these mechanisms in a multi-modem, multi-profile bonding devices with a switching logic that dynamically determines when to switch (or when not to switch), which of the modems to switch to or to switch from (or, which modem / s to maintain and not to switch from; or which modem / s to avoid and not to switch to), to which MNO or which particular cellular network / s to switch (or not to switch, or to maintain), to which 3G / 4G / 4G-LTE / 5G / 6G / other cellular technology to switch (or not to switch), to which spectrum bands or frequency or frequency bins to switch (or not to switch), and / or similar switching decisions. Such decisions can be performed dynamically, for the benefit of the aggregated bonded transmission (and / or reception) in accordance with various optimization or strategy alternatives and their weights-based or otherwise combinations, such as “best” or better transmission performance (e.g. in terms of overall upload bandwidth and / or throughput and / or latency and / or loss rate), better or best diversity and / or redundancy of MNOs and / or transmission fault or problem risk reduction or mitigation or transmitted video impairments reduction or file transfer failures or “hick-ups” or LIDAR or RADAR or other sensorstransmission / reception impairments or failures, best cost or lower cost or for other cost reduction goals, best or lower potential reliability, better or best RF or radio or cellular network parameters (e.g., to maximize or to optimize or to improve Reference Signal Received Power (RSRP) and / or Reference Signal Received Quality (RSRQ) and / or Received Signal Strength Indicator (RSSI), and / or transmission power related (Tx power) parameter, modulation type, and / or one or more parameters that measure or indicate or estimate Quality of Service (QoS) or Quality of Experience (QoE) or other performance indicators), considering other modems and profiles that are already being used in the bonding device and / or that are available and / or potentially can be used and / or were used in the past by the device or in that geo-location or around it by any device (or by a co-located device, or by a device that is operably associated with the current device in which the decision is being made), and / or by taking into account the date and / or time and / or related parameters (e.g., is the current time within local business hours or not; is the local date within local business workdays or not), and / or the movement and / or expected movement of the transceiver device (such as during driving or flying or sailing or walking or running or otherwise transporting the device), and / or by taking into account power consumption reduction goal / s or power conservation goals or one or more power-consumption constraints or goals, or by taking into account “good enough” or “sufficiently good” or “sufficiently acceptable” performance goals for any of these strategies or parameters, and / or by taking into account other context and / or optimization goals and / or strategies, and / or by basing such decision / s on known / estimated / measured / determined / current / predicted / historic values of one or more parameters or indicators.
[0022] For clarification, the Switching of modem or network in accordance with some embodiments is decided upon, and triggered by and at, the user application level (e.g., the multi-link bonding video transmission management application, or bonding device or application management at large). It is not triggered or decided at or by the cellular network functions, nor at the SIM level or modem level. Hence, the decision at the IP application level can consider application level performance parameters, such as measured or estimated or provided UL transmission bitrate or bandwidth, RTT, uplink latency, loss rates, jittery behavior, application transmission or reception (at the other side) impairment, application limitations, failures, or the like. In this case of multi-link communications, additional “layers” and wealth of parameters are available to the application in its switching assessment and decision making, as it gets the performance over multiple modems associated and used for the transmission of the packets by this device. Similarly, several degrees of freedom in how to switch an insufficiently performing modem are available, as well as which target resources toswitch to, and what optimization scheme or strategy or goals for the switching are used; since the communication is continuous and simultaneous over the multiplicity of links, each of which has its own momentary performance and characteristics. Embodiments of the present invention can handle all these.
[0023] In some embodiments, a situation may arise in which a planned VSIM / eSIM switch might fail, or might not be completed as planned or as desired. For example, a switched VSIM / modem / profile might not be getting service from its newly associated PLMN, or its “dialing” process or its initial network registration process may fail. Timeouts and thresholds and re-tries or retry attempts may be put in place and may be used in order to handle such cases. At the end, the device or entity that handles such switching may optionally be notified about such failure / s, and one or more alternate switching schemes may optionally be generated and executed. In some embodiments, the switching process may involve orderly de -registering the cellular modem from the first PLMN. In some embodiments the cellular modem may be dropped or de -registered by the PLMN, and / or may move or switch to the new PLMN without completing de -registration process from the first PLMN. Other mechanisms may be use to facilitate or to enable such dynamic switching.
[0024] During a switching process, in accordance with some embodiments, no transmission (e.g., of pay load data) is attempted or is performed over that modem / connection that is not yet fully communicative, because such modem is not yet being serviced and hence the packets being sent to such modem may not be received, or may otherwise be lost and may not reach the intended recipient. During this period of being under or within the switching process, the periodic modem score (e.g., a score that indicates the current or the periodic performance characteristics of the modem) may be temporarily nullified, or “frozen”, or reduced, per a decision by the switch handling entity. When the switching succeeds, the periodic or current modem score may be nullified, or reduced, or may be given a periodic score of another modem that is already operating on that same PLMN or that previously / recently operated on it (or on that frequency band, or technology, or other resource - respectively), or a statistically computed periodic score or an average score or a median score of several modems that already operated using that PLMN at that time period or earlier may be temporarily assigned to that modem, or a derivative of such a periodic score of such other modem or modems may be used or assigned, for at least an initial time -period in which such modem is newly communicating.
[0025] In some embodiments, the switching decision may take into account one or more parameters related to the assessment / predicting of the risk in switching PLMN / MNO or other resources, of the loss of performance during such switching and / or of the expected / estimatedI predicted performance gains after the switching. These risks (that the device may take into account when deciding whether or not to switch, and which particular switching scheme to define and to execute) may include any combination of, for example: average or specific per MNO / PLMN or resource average or other statistical analysis of a switching failure (where s specific modem may be switching into a specific MNO / PLMN / resource), and / or similarly but for pairs of from-and-to LPMNs / MNOs / resources, and / or similarly but for the time period of being in the “within switching” time -period and therefore not having service, and / or with regard to specific modems in the transceiver, specific geolocations and / or time -points or time-slots, and / or by taking into account whether the device or the transceiver are on the move and / or are static and / or by taking into account various or average speeds of motion (e.g., the device moves one meter per second such as due to walking, or the device moves 20 meters per second such as due to driving), and / or by taking into account momentary and / or current and / or statistical and / or historic and / or predicted performance indicators of the involved (to, from) PLMNs / MNOs or the transmission over them or their PLMN-score or modem-score, and / or any other parameter or correlation to risk or performance loss versus gain.
[0026] In such cases, the decision-making entity or unit may decide to not switch to another PLMN / MNO / network resource, or may decide to not switch to a particular resource and to instead switch to another resource or an alternate resource, or may decide to maintain unchanged at least one already-operating modem or transceiver or VSIM or eSIM or profile, or may decide to wait more time before deciding to switch or before re-evaluating whether or not to switch or before re-generated a new or an alternate switching scheme, or may decide to use a different or higher threshold (e.g., low-performing modem score threshold, or one or more threshold values related to the PLMN / MNO performance) in making the switching decision, or to first try to mitigate the risk by switching to one or more lower-risk resources (such as, staying on the same MNO, but switching from the MNO 5G technology network to its 4G technology network or from cell PID X to cell PID Y, or from band X to band Y). Then, the modem performance scores may be nullified and re-measured, and may be monitored and accumulated over time and then analyzed again later, since in some situations staying on the same MNO may remove or reduce the risk of encountering failures to “dial” the modem to the new PLMN / MNO and / or may reduce the risk of not being able to successfully completing its registration on the new PLMN / MNO, while also reducing the time -period of no service. Other types of risks and / or constraints and / or conditions and / or rules and / or criteria may be used.
[0027] In some embodiments, a multi-profile SIM / E-SIM / V-SIM is switchable and therefore can be switched between the profiles or ICCIDs or IMSIs or other identities that it holds (or that it can be associated with). In some embodiments, a profile or identity or ICCID or IMSI is used as a roaming SIM, and the switching can be done by instructing the modem to roam, or move, to another network that the roaming SIM and roaming service support. In some embodiments, all these cases may be included and referred to interchangeably without necessarily re-listing them every time.
[0028] In some embodiments, a modem / transceiver may contain or may include, or may be associated with, a circuitry and / or processor and / or controller that is also associated or holds or connected to a SIM or similar-handling processor or circuitry or SIM card, and which is then loaded or provisioned or downloaded into with the VS IM and / or previously or separately or together with VSIMApp and then handles the over-the-air communication with the wireless network and / or with the Mobile Virtual Network Operator (MVNO), that provides the VSIMs and their management, and that can optionally assist in completing or facilitating or performing steps to enable the method of some embodiments of the present invention. This communication may be related to the identity and / or virtual identity inquiry, downloading, provisioning, requesting, reporting, keep alive, changing, replacing, switching, removing, adding, defining, configuring, authorization, authentication, enabling, disabling and any other operations and / or a needed handshake. Such circuitry or processor or controller, or a second one which is communicating with the first one, may communicate with the apparatus bonding manager and / or the remote server bonding manager. Such communication may include reporting VSIM, radio, RF, air-interface, network, system and status data and metadata as obtained by the modem / transceiver using the VSIM or as the VSIM or VSIMApp or SIM processor obtains from the MVNO that manages the VSIMs. The communication may also include commands from the bonding manager(s) to the processor or to the remote VSIM management or servers. Such commands may include inquiry of status or of other parameters, commands to switch to another VSIM, commands to scan the air-interface for any or for specific MNOs or networks, commands to switch to another type of technology or network such as from 5G to 4G, commands to switch to other or specific spectrum bands, commands to change any of the usage parameters or configuration parameters, commands to limit, enable, disable the usage, activate or deactivate the circuitry, “release” a VSIM back to the VSIM management or servers, and any other command or inquiry or configuration or provisioning as related to performing VSIM, technology, network, system, circuitry or software algorithms by the first or second associated circuitry / processor / controller, or the modem / transceiver circuitry itself.
[0029] There is also provided, in accordance with embodiments of the present invention, one or more first type of servers that provide VSIM provisioning, VSIM creation / definition / configuration, VSIM allocation or assigning, VSIM downloading or transporting into the apparatus and / or modems and / or transceivers and / or SIMs circuitries; and / or servers that also provide for the apparatus and / or modem / transceiver and / or subscriber and / or physical SIM and / or VSIM identification and / or authorization and / or association and / or provisioning; and / or severs that can perform one or more other operations, on a network provider or service provider side (and not at the client-side / apparatus side), in order to enable or facilitate one or more features of some embodiments of the present invention.
[0030] There is also provided, in accordance with embodiments of the present invention, one or more second type of servers that provide communication with the apparatus or a software associated with it, data collection of or about the current / past / historic / momentary / predicted / actual / measured / estimated performance or performance characteristic(s) of the available / operational modems / transceivers and / or the communication links as well as the video encoding performance and / or dynamic configurations and / or problems and events, and / or transceivers failures, problems, dynamic configurations, that are served or utilized by the one or more modems / transceivers and / or the one or more VSIMs associated with at least one of said modems / transceivers, and / or the one or more SIM cards or circuitry associated with one of said modems and / or one of said VSIMs and / or of one more of the networks / PLMNs or MNOs associated or subscribed or servicing one or more of said VSIMs at any selected point in time and / or periodically and / or continuously, or at particular time-intervals or time slots or period (e.g., every 1 or 5 or 10 seconds, or at non-constant time intervals as it sees appropriate according to the transmission or other performance or conditions), which may be configured separately or uniquely per entity or for all of them, and / or in real time and / or semi-real time and / or in near real time or not in real time. Such servers may be configured for storing said data, sorting and analyzing said data in real time and / or offline, providing recommendations and / or generating proposals and / or generating and sending out commands to the apparatus bonding software or bonding controller or bonding management unit, and / or to one or more of said VSIM Apps, and / or to one or more of said first type of servers or another server, or to one or more of said SIM circuitries or to one or more of said software applications of the VSIM MVNO that that may run on the SIM card or circuitry (VSIM App), including indications of which VSIMs or MNO or service to use or not to use (in general, or in conjunction with a particular modem / transceiver of the apparatus), and / or when to use or to stop using such VSIM(s) or MNOs or services or to switch them or to re-assign or re-allocate or rotate themamong modems / transceivers, and / or or otherwise parameter-dependent messages or indications or proposals or commands that are intended for at least one or more of said modems / transceivers and / or communication links or VSIMs associated with the apparatus. Recommendations or proposals or commands or similar messages from one or more of said servers, may optionally include thresholds, threshold values, limitations, constraints, enable / disable commands or indications or flags, messages commanding or proposing a switch of a particular modem / transceiver from its current VSIM to another VSIM, with or without recommendation to which particular VSIM or MNO or operator or service to switch, when to switch (e.g., immediately upon receipt of the message / command; or T milliseconds afterwards; or at a particular time-point; or at a particular measured performance or alert such as low RSRQ or RSRP or packet loss or bandwidth drop) or when not to switch or for how long to maintain current VSIM assignments un-changed, conditional switching parameters (e.g., switch VSIM-1 of Modem-2 to be the new / replacement VSIM of Modem-3, if or when Condition C holds true), indications or commands to perform a scan of the cellular spectrum looking for MNOs or cellular operators or networks / PLMNs or services and their radio and network level parameters or resources (such as bands, technologies 3G / 4G / LTE / 5G / 6G, cellular communication slices etc.), messages proposing or commanding a change on any of the link or modem / transceiver or VSIM communication provisioning or allocation or assignment or configuration parameters or operational parameters, or a change in the output or configuration or way of work that impacts the output of one or more video encoders (or RADAR sensor / s, or LIDAR sensor / s, or other sensors) or video sources or feeds (or sources or feeds of other data, such as sensors or data-acquisition units) associated with said apparatus or of other packet generating or feeding sources (such as files and huge files being transferred / transmitted), or a change in hysteresis parameters, or a change in algorithmic parameters (e.g., video encoding parameters or coefficients; transmission-related parameters) that affect or that may affect the data communication per one or more of said modems / transceivers and / or VSIMs and / or MNOs or operators or services, such as in case of multiple VSIMs associated with the same network or operator or service in said apparatus controlled by said bonding circuitry or a bonding processor or a bonding management unit.
[0031] There is also provided, in accordance with the embodiments of the present invention, a bonding circuitry or other controller or processor in the apparatus that may perform any subset of said functionalities that are listed for said VSIMApp and / or for second type of servers, separately or in conjunction with said second type of servers; to communicated with SIMs and / or VSIMApp and / or modems with inquiries, commands, provisioning, configuration,polling, activation / deactivation, and any other command, to request, or to cause initiation of a request, to selectively / adaptively / dynamically download or to obtain one or more VSIMs from first type of servers directly or by instructing said modems / transceivers and / or SIMs and / or VSIMs and / or VSIMApp to request, to monitor and manage the download process or the VSIM obtaining process, to selectively / adaptively / dynamically communicate with said VSIMs or SIMs circuitry or VSIMApp for data such as its observed or scanned or active or servicing or available MNOs or networks or radio parameters or service related parameters, to selectively / adaptively / dynamically provision or allocate or re-allocate or assign or re-assign these, to selectively / adaptively / dynamically scan or switch or disable or activate a modem / transceiver or a VSIM or a VSIMApp or a SIM, to cause a profile or SIM or indirectly via a modem to register for a service or to de -register or un-register from an MNO, to store data, analyze it in real time or offline and to change bonding behavior or parameters dynamically per the results of such analysis or command, or to recommend to the packet feeding sources (such as cameras or other packet generators, or a video encoder) to change its behavior or its operational parameters or its encoding parameters in accordance with this analysis. A modem that uses a VSIM / SIM / profile / credentials in a network may need to be “dialed” or otherwise instructed to start and attempt to register with the PLMN, or it may be configured to try that automatically, for example after being reset or periodically (if not registered), or several times. Some embodiments may use the relevant methods of having a modem registering with a PLMN or network, identifying a successful versus a failed subscription, performing retry attempts, and / or performing related operations.
[0032] There is also provided, in accordance with embodiments of the present invention, a method that automatically and / or autonomously and / or selectively performs some or all of said activities; the method may be implemented using a hardware processor or a hardware controller or a hardware circuitry, optionally utilizing software modules.
[0033] Communication is carried out over the air by simultaneously or concurrently by two or more modems / transceivers, or nearly simultaneously and transparently to the user, transmitting or receiving a data stream over at least the two or more of the said wireless modems / transceivers.
[0034] For example, some embodiments utilize multiple modems / transceivers by way of associating and communicating between the apparatus and modems / transceivers. Modems / transceivers may be inside the apparatus and / or may be external to the apparatus (e.g., may be co-located near or in the vicinity of the apparatus, such as connected with a wire or cable or Bluetooth). Each modem / transceiver may contain or may be associated with a physicalcircuitry or controller, than can run software or firmware or code that is relevant to a VSIM and VSIM operation. VSIM and / or VSIMApp may be associated with the particular modem / transceiver in (or of) the apparatus / device and / or in remote server (or more), including for recording over time, along or without additional data such as geo-location of said modem or apparatus, of the operational MNO / operator or network or service, of other operators or networks identified by air-scanning by any modem according to standard cellular protocols (such as 3G, 4G, LTE, 5G, 6G or others), performance parameters of the communication link (such as the UpLink - UL and / or the DownLink - DL, and / or the bandwidth - BW, and / or latency or packet loss or error rate or jittery data of any of these), or of the radio or air interface (such as RSSI or RSRQ or RSRP or Tx power, modulation type, or similar - for one or more of the scanned operators or MNOs or networks or services), of the source or feed output parameters such as output bandwidth, video encoder quantization, frames per second, resolution, color depth or color schema, or per other criteria or parameters.
[0035] For example, in some embodiments, said remote server of first or second type may identify that the performance of a specific communication link, or modem / transceiver, or VSIM or network or MNO or service, is lost, or is sufficiently degrading, or is expected to be degraded such as per past experiences stored in its databases or per an Artificial Intelligence (Al) or Generative Al analysis that takes into account the stored and / or real time data of the performance of the communication link or of the air or radio interfaces. It may then decide to “call” or to contact or to alert or to command a smartphone (or other mobile device) that was associated with the unit and / or its registered human operator(s), for example in advance and / or during apparatus operation or when the human operator or a manager configured the relevant association in the system management portal or otherwise. This associated smartphone (or other mobile device) may have sufficient service, for example by using an MNO or operator or network different than that used by the VSIMs associated the smartphone-associated apparatus, or in case of failure in the apparatus or VSIM or VSIMApp management or operation. The server may then “instruct” the smartphone to automatically, or user-dependent, to create a Wi-Fi or Bluetooth or similar hotspot so that the apparatus or its bonding circuitry or bonding management unit may access it (automatically or in a user-dependent way). Once such connection is made, the bonding manager unit or the bonding circuitry may use the new link to access the VSIM repository or the management operator server, and to request or obtain or ask for new VSIMs to be downloaded, via this link. It can then load or place or assign these VSIMs into or to the physical SIMs in one or more of the associated modems / transceivers of the apparatus. It can also use this link as part of its bonding scheme, under a policy such as“use first the associated cellular modems; and only for missing bandwidth, at a maximal capacity of X kbps or a maximal total of Y bytes, use the smartphone link”, or similar or a subset or derivative of such policies. In some embodiments, said server may communicate with the human operator in one or more machine -human methods such as via a phone call (audio and / or video), chat, Instant Messaging (IM), email, WhatsApp, or other messenger tools to open mobile router or other, such as to alert the human operator that a problem occurs or is about to occur, so that the human operator may take a mitigating action such as moving the device to a location with a potentially better cellular operators’ coverage, or less congested location, or served by another cell or antenna; and / or also including in such message a servergenerated proposal or recommendation of changes that can be attempted in order to improve connectivity and / or bandwidth and / or through-put and / or good-put.
[0036] For example, in some embodiments, maintaining a sufficient diversity or nonuniformity or heterogeneity or multiplicity of servicing or potentially servicing different MNOs or PLMNs or networks or operators or services is desired and prioritized by the bonding mechanism or the user preference or bonding management or Al-generated or ML-based priority recommendations. This allows to reduce the risk of total or partial communication failure, which might happen, for example, when using a single operator or network or service with all modems and their associated VSIMs, or two operators where there are 3 or 4 relatively big servicing operators, or when the transceiver is moving / in motion (for example, when being in a vehicle and the rate of change of service quality by operators along the route may be relatively high). In such cases, the algorithm of some embodiments may prefer to maintain or keep a particular modem (equivalent to VSIM / SIM / profile) registered and operated with the lower performing MNO / PLMN, or sometimes and counter-intuitively even if it is currently or temporarily or recently an almost zero performing MNO (for example providing only 50 kbps of uplink), such that when the transceiver or modems being in motion (such as in a driving vehicle) thus get into an area where this MNO performs much better, it will automatically and rapidly pick up or increase the transmission bandwidth without the need to switch the modem back to the first PLMN / MNOs, nor keep changing PLMNs / MNOs back and forth thus losing transmission / reception capacity during the connection period and risking prolonged periods of no service hence no transmission, or even failed connections or registration. Some embodiments may further optimize for multi-MNOs diversity (or redundancy) in the binding transceiver, while still providing sufficient bandwidth or throughput even if sometimes it is less optimal or it is less than the maximal bandwidth, or even while having less stable or temporarily higher upload latency or temporarily higher RTT or temporarily higher data loss rate; as thismay be a strategy that can optionally be employed by the switching decision-making entity or unit in the transceiver or in the remote server according to various parameters, such as those listed above and / or others, e.g. moving and / or speed and rate and route of moving, reliability and heuristics of the MNOs at that geo-location and / or at that times of day, desired parameters of the transmission and / or the video quality (e.g., resolution, frames per second, bandwidth, color levels or color depth, dynamicity of the input video feed, and / or other parameters that may be related to the payload itself or its characteristics).
[0037] Alternatively, in some embodiments, a preferred, prioritized, highest-weighted or only strategy may be to always keep at least N (for example, at least 3) different PLMNs / MNOs / operators (i.e., SIMs and modems that work / are registered / are serviced by 3 different operators), while also reducing the number of modems that are registered and operating on the worst performing PLMN / MNO, or on the sufficiently very low performing MNO even to one single modem if needed, but not to zero. Alternatively still, in some embodiments, this strategy of having a PLMN / MNO diversity (and / or redundancy) may be optimized for two different MNOs, or four or any other number. Such optimization strategy may be further optimized or be per particular geo-locations or regions, time of day (e.g., business hours, night hours), days of the week (e.g., business workday or not) countries, mixture or combination of MNOs, specific MNOs, model or type or technology of transceiver, the number of associated modems, the number of modems that are being serviced, the cost of SIMs and / or data transport, and / or any other context or relevant parameters.
[0038] In some embodiments, switching decision strategies and optimization functions may be dynamically changed or replaced, as needed, during an active transmission session. For example, from performance-optimized strategy (e.g. maximum or good enough uplink bandwidth for that transmission, or low enough uplink RTT or stable enough performance) when the transceiver is static to a diversity and performance optimized strategy when detecting that the transceiver is sufficiently moving (and back to a previous or other scheme if the transceiver stops moving), for example when in a vehicle, drone, airplane, aircraft, motorcycle, train, on a walking person, ship, boat, marine vessel, or the like. This may include, for example, disabling or canceling or preventing the switching between PLMNs / MNOs in certain context / cases or situations based on one or more rules or conditions, such as when all MNOs are not performing well enough, or when there are not enough modems operating or not enough modems altogether (e.g., if there are only two modems or VSIMs in total associated with the device). Some embodiments may define that even a sufficiently partial communication failure may be greatly undesired and should be prevented, such as, a significant loss of uplinkbandwidth or increased uplink latency, or a relative or absolute high jittery behavior of any of these, in one of the communication links that is used by one of the modems and its associated VSIM, or in more than one. Such insufficient data-delivery level performance might mean that a certain type of communication is significantly and / or undesirably affected, such as inability to transmit 4K resolution video by this device. Using VSIMs allows such diversity to be maintained, by downloading and / or loading or provisioning or activating or configuring an already downloaded VSIM or profile that works with a different, second MNO or operator or network and having the modem switch to that VSIM instead of continuing using its first, now- undesired, VSIM associated with the first MNO or network.
[0039] Multi-networks diversity may be configured or defined or hard-coded into the device or the bonding or controller circuitry or software, or dynamically and adaptively be configured also by user preferences, bonding mechanism operation and / or Al-generated recommendations, and maintained by one or more of the following actions.
[0040] In some embodiments, the apparatus may be configured to ensure that there are always at least two connected different operators or networks, if there are two or more such different operators servicing that device at that time. This policy can be achieved by, for example, using a “sufficiently least effective” profile / modem, if it is not the only one of the second / penultimate / different network, for scanning for new / better performing MNOs or networks. Such potentially better performance may be deduced from the scanned RF or radio or air interface or network broadcasted parameters, such as RSSI or RSRP or RSRQ or Tx power, or modulation type, or Ec / Io or the type of network (e.g. 4G or 5G) or radio channel breadth (e.g., 5 MHz or 20 MHz) or type of services available (such as the availability of cellular slices and / or guaranteed bandwidth).
[0041] Such better performance may also be deduced by having the modem and VSIM associate with such a different MNO or network, get service, start using it, and have the bonding mechanism in the device or in the server evaluate the performance of that newly established communication link in terms of the application performance (e.g., UL and / or DL bandwidth being transmitted / received respectively, UL or DL latencies, UL or DL error rates, their jittery behaviors, video issues associated or caused by the performance, or the like) and / or by performance of the cellular / wireless link itself (e.g., radio parameters or information from the network or modem).
[0042] Performance characteristics can also be obtained or estimated by analyzing, averaging or otherwise statistically analyzing or Al-based analyzing the performance over or across or at other modems on that MNO that may be associated with or connected to that transceiver, suchas in the past T seconds (e.g., 5 or 50), or minutes (e.g., 2 or 10), or earlier in the same session (e.g., a previous or last time when a modem / SIM / connection transmitted over that MNO, even if this occurred 20 minutes ago), or in one or more previous sessions. Hence each MNO may be given a single current score, or several scores (e.g., pertaining to different time-slots or time -periods), such that the score / s reflect its performance in general and / or in specific perspectives or strategies, such as the associated UL bandwidth performance, latency, error rate, stability, reliability, and / or other performance indicators. Then, the MNOs may be ranked, so the decision- making entity will decide to which better MNO the modem should switch (with a respective relevant SIM, VSIM, credentials, or profile), if a decision to switch is taken according to the diversity-maintain / maximize and / or performance-maintain / maximize strategies being relevant at that time for that transmission session.
[0043] If such potential or actual better performance is detected, then the relevant unit may proceed to download or load or instruct to use a previously downloaded or provisioned VSIM that is associated with one such better performing MNOs or networks into more of the modems / transceivers, replacing previous VSIMs with these new ones. In other embodiments, the number of different PLMNs / MNOs being maintained may be 3 or 4, depending, for example, on the overall number of available PLMNs / MNOs, the performance of each of the PLMNs / MNOs in that location or area or time, the strategy or policy directive, the mobility or stationary status of the transceiver, time-related / day-related / date -related information (e.g., business hours, non-business hours, business workday, night time), and / or other parameters.
[0044] Multi-network / operator diversity or non-uniformity or heterogeneity may be further maintained by said entities in cases such as when there are “enough” (a sufficient number of) modems / transceivers on a sufficiently good first MNO or network or service and “not enough” modems on a second MNO or network or service, then instead of switching a modem from the second MNO or network or service to do the cellular scanning or to try and associate and get service by a new other MNO or network or service, but instead use one from the first MNO or network or service so to keep the MNOs or network or service redundancy.
[0045] For example, if out of 4 modems associated with the device where 3 are running with a VSIM of first operator / network / service A and the fourth runs with a VSIM of operator / network / service B, and this fourth modem has the “sufficiently undesired performance” (such as UL BW lower than X kbps on average or otherwise statistically performing for T seconds and without hysteresis), then instead of instructing this modem to perform cellular scanning for new MNOs / networks / services, or instead of downloading or instructing to download or to load and use a previously downloaded VSIM for another, third, MNO / network / service, thebonding or controlling manager will instruct one of the three modems serviced by the first MNO / network / service to execute one of these actions. Only after that modem achieving good enough performance with said third operator (or maybe fourth or other), thus having now VSIMs for three MNOs / networks / services associated with that apparatus via the modems, then the bonding mechanism may instruct the least performing modem, that can still be the “fourth one”, to switch to one of the two better performing MNOs / networks / services.
[0046] Selecting to which of the two better performing ones to switch to may be decided when taking into account the number of modems or VSIMs currently serviced by each (so to achieve potentially better MNO redundancy chose to have two modems or VSIMs or links with each MNO / network / service), and the performance of each of the links and the total needed. So for example, having a diversity of 3 VSIMs and modems on one MNO / network / service and just one VSIM and modem on another second MNO may be selected so to enable the transmission of total needed bandwidth. In some cases, if for example the previously insufficiently performing modem / VSIM / MNO / network / link has sufficiently changed so it works with sufficient performance, and also the new MNO / network / service / link that one of the three modems (in this example) was switched to via the other VSIM also provides sufficient performance (e.g. stable BW and latency, each above relevant thresholds), and also the two other modems remaining to work with the first MNO / network / service also work sufficiently ok, then no further switching will be executed at that point in time and a three - MNOs / networks / services diversity will be this achieved.
[0047] In some embodiments, when the total performance achieved by all communication links / modems / transceivers / VSIMs decreases below a threshold value (absolute, or relative to before), or the number of MNOs / networks / services drop to two or less, or the performance of at least one MNO / network / service or at least one modem / transceivers drops in a certain ratio or drops to a particular level, then switch one modem to a stored or downloaded a roaming profile or a MVNO (mobile virtual network operator that does not have its own network but has agreements with one and many times more than one cellular operators or MNOs in each country). If the roaming profile will not get sufficient service (or service at all), it will scan for other networks that it is allowed to roam into. If it finds a network that will service it, then even if the bandwidth will be low, it might not be used for the bonding but it may be used to communicate with the remote VSIM server and / or to download or provisioned via it the information of some new VSIMs. If the performance is good, still a policy may be employed by the bonding manager unit that will limit the bandwidth used by this link, in the uplink and / or downlink direction(s), so to reduce cost and increase performance, because many timesroaming costs are higher than local service and / or might suffer from traffic performance limitations or deficiencies. Once “enough” or a sufficient number of modems / transceivers are working or operating or transmitting “sufficiently well”, and / or once enough MNO / network / service redundancy is used (e.g., at least two MNOs that provide adequate performance), the apparatus may determine to stop using the roaming profile and instead to load another profile into it. Further, once a roaming VSIM finds and is being serviced by such new MNO / network / service, this information may be used by the bonding mechanism in the apparatus and / or in the relevant server to switch one of the other modems / transceivers into that MNO / network / service, by using a VSIM which is allowed to work on it, mainly not a roaming VSIM but the VSIM for the local MNO / network / service.
[0048] In some embodiments, a policy or rule or constraint of “never use more than N modems / transceivers, or more than P percentage of all the modems / transceivers or VSIMs on any single MNO / network / service” may be configured and used / enforced by the bonding mechanism, so the dynamic selection of which operators’ or MNOs’ or networks VSIMs to use takes this rule or constraint into consideration. For example, the rule may be to never use more than 3 VSIMs out of 4 or more (or another ratio for bigger numbers such as 5 of 8, etc.) from the same MNO or network or service, unless there is no other properly working / adequately operating MNO / network / service, and if so preferred that the overall performance is desired to remain above a certain threshold and overruling this VSIMs-per-network limit policy. If it is not so desired, then it is also possible to reduce the transmitted data in order to accommodate the bandwidth or the performance characteristics that are available from the 3 modems (assuming, in this example, that the fourth modem / VSIM / communication link is not performing adequately or sufficiently).
[0049] In some embodiments, if there are no “sufficiently servicing” two or more VSIMs with different MNOs / networks / services, then the apparatus may be configured to periodically use one (or more) of the worst performing modems / transceivers to actively scan for better performing MNOs / networks / services using a roaming SIM and / or using the scan function. For example, the SIM circuitry or processor or the VSIM processor or controller may be commanded using one of the standard “AT commands” or another protocol. Responses to such commands may contain the RF related parameters such as 5G RSRQ or RSRP or Tx power related or modulation type. If it is desired to shorten the decision time, then once a sufficiently good MNO is detected, the apparatus would automatically switch one or more of the other bad / low performing modems to that operator. Otherwise, the apparatus may perform traffictransmission or receiving emulation in order to test the actual data transfer performance of that MNO and decide then whether to switch any of the modems / transceivers to it.
[0050] In some embodiments, instead of commanding the modem / transceiver or SIM or VSIM to scan or to roam freely according to their own algorithms or process, then the apparatus may be configured to instruct at least one of these modems / transceivers to try and either scan for or lock into and get service from a specific network / MNO / service out of the list of possible networks / MNOs / services that the bonding mechanism configuration has for this country / location / geographic region, or a list of MNOs or networks or services or profiles that was already used by the modem / transceiver or apparatus in that area or obtained from one of a previous radio or network scans performed by one or more of the modems associated with the apparatus, and which the VSIM operator (MVNO) is known to support and have profiles or VSIMs for. If previous performance on the same or sufficiently close location from the same working session of the apparatus or from previous ones of same apparatus or of other devices or apparatuses (as known to the remote server) are recorded, then may use this to prioritize the scanning / locking attempts to that better performing MNO first. Directing the modem / transceiver that is using a roaming VSIM or another VSIM to try and scan for or get service from a specific network from a given potential list may shorten the time of identifying the new network and service and getting that service versus free running modem scanning or roaming VSIM service-getting attempt. This mechanism may be important in order to maintain proper service for the apparatus and its applications in all cases, and even more so in cases where the current total performance of all the modems is deteriorating or even almost nonexistent, or in cases where the current multi-network diversity is insufficient.
[0051] In some embodiments, the apparatus may be configured to try to reduce the VSIM switching duration and / or mitigate its impact by performing one or more operations, for example: (a) keep on the same modem or physical SIM or storage two or more VSIMs or profiles of two or more different networks and when possible and desired such as when having minimal cost impact of this have the modem register both VSIMs to their respective different networks and maintain that (e.g. as a dual-sim phone does, such as with Dual-Sim Dual Standby (DSDS) or Dual Sim Dual Active (DSD A) or otherwise, or multi-IMSI or multi-profile SIMs or VSIMs); and / or (b) informing the relevant users (so that they can perhaps not experience complete failure and plan / react accordingly).
[0052] In some embodiments, the apparatus may hold two or more SIM slots or SIM holders for one or more of the modems and two physical SIM circuitry from two or more operators (MNOs) or MVNOs being switchable for each of the modems, via a command controlled bythe bonding mechanism. For example, a first VSIM MVNO operator and a second VSIM operator may be switched for at least one of the modems, and the bonding manager may command the switching between them. In such a case, for example when the bonding management unit or the SIM circuitry or user preferences or Al-generated recommendation identifies the need to use a different VSIM, for example in order to maintain VSIM diversity or when the performance of the link of that modem or VSIM is degrading enough or no service being received, then it may command the switching hardware or software to switch the modem to work with the second VSIM that can be associated with it. For example, in such cases the bonding manager may register both VSIMs to their respective MNOs or networks or MVNOs and switch between them periodically in order to maintain both registered, so that when switching is needed for said reasons, the switching duration is minimized and service is achieved as quickly as possible, perhaps in seconds or less instead of several minutes.
[0053] In some embodiments, the decision to switch or exchange or replace or modify the assignment / association / allocation of a particular SIM / VSIM / MNO / MVNO to a particular model / transceiver, or to switch or exchange SIM / VSIM / MNO / MVNO, may further take into account and / or may also be based on, for example: current and / or historic and / or most- recently-measure and / or estimated and / or predicted and / or known performance characteristics and / or operational characteristics of each actually-utilized / actually-transmitting / available modem or transceiver, such as, latency, jittery behavior, error rate, packet error rate, bit error rate, reliability score, Quality of Service (QoS) score, Quality of Experience (QoE) score, bandwidth, throughput, goodput, time-period / s of availability or non-availability, score of the associated cellular / wireless network performance / parameters (e.g. RSRP, RSRQ, Tx power, modulation type, spectrum band, 5QI, etc.), and / or other relevant parameters. Similarly, the decision may be based on statistically aggregative scores of any subset of the modems / links associated with any subset of the MNOs / VMNOs in that transceivers. Scores may be recalculated every time interval, for example, every T milliseconds or seconds. Scores may also be re-calculated per events, for example when a modem connects, disconnects, is switched to a second or different or same MNO or band or technology or other resource, when the session starts or ends or its parameters (such as end-to-end latency) are changed, or otherwise. The time interval may change dynamically; for example, while on-the-move it may be shorter so more calculations are done in order to accommodate more frequent potential changes in the networks service / availability; whereas when static or when the performance of the modems is sufficiently high and stable over time, the re-calculating or re-evaluation interval may be increased so to perform less calculations as such are less needed and changes are less expected,thus reducing data delivery, processing and memory requirements. Re-calculation may also include nullifying, or disregard / discard all or a subset of previous performance data or scores of that modem or MNO so that the accumulating statistics and / or scores are thus restarted from zero or from another value.
[0054] In some embodiments, a configurable minimal time interval threshold is maintained between subsequent switching of modems / VSIMs / connections to other bands or to other technologies (e.g. 3G / 4G / 5G / 6G) or to another MNO or other resource. This is done so as to be able to collect enough performance statistics after a first switch so to enable a better evaluation of the change and the new performance of the switched entity and / or of the rest and / or of the total, and / or in order to reduce or mitigate or prevent hysteresis effects, to reduce sharp changes which may lead to instability or too hasty decisions etc. This configurable minimal time interval may also depend on the time it takes the modem / VSIM / SIM to connect to the new resource and to start receive reliable, relatively consistent service level from it.
[0055] The time interval, or time period between re-evaluations, may be changed during a session due to other parameters, such as reliability of the transmission or of the network parameters of one or more of the links or PLMNs, the strategy of switching for example more weight to PLMN diversity (more PLMNs being used or connected with by the various modems) versus more weight to UL bandwidth or lower RTT (the total being transmitted, or of that specific modem, or for the PLMN statistical accumulation from all modems associated with it at that period) etc.
[0056] Changes in strategies within the session may occur, for example, when the transceiver or the decision-making entity identifies that the transceiver changes from being more or less stationary to moving such as when being carried or embedded in a vehicle, a motorcycle, a bicycle, a train, drone, airplane, aircraft, ship, boat, marine vessel, or otherwise, and vice versa, when the transceiver being on the move is identified to stop being on the move, hence the strategy may be to look for more uplink bandwidth or lower uplink RTT or latency even if reducing the number of PLMNs being used at that period because, for example, the worst and below-the-switching threshold periodic modem score is of the last modem connected to a certain PLMN at that time point, hence by switching this last modem the transceiver will stop using or trying to use this PLMN for that time period, hence reducing its PLMN diversity for that time period.
[0057] The switching-threshold may also change during the session for the same or similar reasons and logic. Other thresholds and parameters may also change during the session, for all or for each strategy or case or event or performance level or network parameters or otherconditions. Such thresholds and parameters that can change may be, for example the desired number of different PLMNs, the desired number of modems for each PLMN, the time interval between allowing a next switch after a first switch was ordered or after a first switch was identified to be successful or failed, the number of simultaneous switches, specific PLMNs, specific PLMNs to keep or to not use, specific cellular or wireless technologies for that modem or overall (e.g. 3G / 4G / 5G / 6G, Wi-Fi, SATCOM, LAN).
[0058] In some embodiments, modem scores, similarly to the PLMNS / MNO scores, may be combined of, or contain, more than a single score. For example, a score reflecting the UL BW, the transmission reliability, the transmission resiliency, the transmission latency, the transmission stability, the link performance (network performance), PLMN diversity-related score, the transmission cost, or others. The scores may be split further, for example per resource such as band, cell PID or CID, technology (e.g. 3G / 4G / 5G / 6G) or other. The decisionmaking entity may use a combined score of modem or of PLMN / network or any subset of any implemented scores, as well as other data such as the apparatus one or more video session parameters (e.g. the single or multiple camera / source video input feed(s) resolution(s) or frames per second / fps value(s) or other parameters, the desired transmission resolution(s), one or more encoding type(s), encoder(s) bit rate(s) etc.), the apparatus model, the apparatus status (e.g., failures, events, thresholds etc.), the apparatus transmission video impacts (e.g., video gaps), also depending on the variety of parameters and thresholds that may affect its decision making, as listed elsewhere; and / or any other relevant parameter of other types of sensors or compression or of applications such as file transfer.
[0059] In some embodiments, one or more of the PLMN / MNO or other resource scores are calculated periodically though not necessarily at the same period or interval as the modems scores are calculated; also not necessarily at a constant interval throughout the session, but a dynamically changing interval as needed. In some embodiments one or more of the scores of PLMN / MNO or other resources are calculated “when needed”. For example, only when a modem score is such that the switching decision entity decides it better be switched. This second case allows less calculations, hence potentially lower cost, processing power, memory power, power consumption and may be enabling more transceivers to be supported by a single, or fewer, or weaker, or less costly switching decision entity processors, while still maintaining the required functionality of deciding on which PLMN / MNO / other resource to switch to, in time.
[0060] In some embodiments, switching a specific modem to a specific PLMN / MNO may (in some situations) consistently fail, because of mismatches, no authorization, authenticationfailures, or other reasons. For example, an MNO might require the modem to run only specific firmware or other configuration parameters which it will inform the network when it tries to register or authenticate itself in the network. Other cases, such as in situations where “exclusion policies” or a “black list” are applied, other modem or SIM related capabilities will not be allowed, such as a particular modem vendor, a particular modem model, specific IMSIs or IMEIs will not be allowed by a specific MNO or PLMN, or other MNO-imposed constraints or PLMN-imposed constraints. Or, in some situations in which a “positive policy” or an “inclusion policy” or a “white list” is applied, the MNO / PLMN may allow registration or service only to specific modems or modem types or modem vendors, or only to specific firmware versions, or only to particular UE vendors, or only to particular configurations, IMSIs, IMEIs, etc. It may be that some of the modems / VSIMs associated with the transceiver will be allowed to register and get service from such an excluding MNO / PLMN, whereas others are not (e.g., not running the “right” or the required modem firmware). In such cases, the switching decision-making entity may decide to avoid switching a particular modem to a specific PLMN / MNO if the decision-making entity understands or knows or estimates or predicts that the modem or VSIM will not be able to successfully register or get appropriate service from that PLMN / MNO. It may decide to avoid this switching even it that MNO / PLMN or other resource has the relevant best PLMN / MNO / resource score or scores. Such estimate or prediction may be based, for example, on pre-defined knowledge about “white list” or “black list” constraints that a particular PLMN / MNO may impose or may enforce, or about a particular “exclusion policy” or “inclusion policy” that a particular PLMN / MNO may impose or may enforce; or based on past experience that shows to the switching decisionmaking unit (on the device, and / or at a remote server or a management server) that a particular type of modems or that a class of modems having a particular characteristic have failed to register or to initiate service with a particular MNO / PLMN in the past T days; or based on other information or rules. Instead, it may decide to avoid switching that modem altogether, or may decide instead to switch that modem to a second best scored PLMN / MNO / other resource if that second best is still “good enough” and the relevant switching strategy is maintained (e.g., that 2nd best PLMN / MNO does not already have the threshold or the maximum number of modems / VSIMs associated with it in a diversity-optimized strategy, or the same or other threshold or parameter when operating in accordance with a bandwidth- optimized strategy); or may decide to switch that modem to another PLMN / MNO such as the 3rd best if such is available, or to another resource other than the one that is estimated to fail or that is predicted to fail (e.g., to another frequency band instead of to the prohibiting PLMNI MNO, or to another PLMN / MNO if wanting to first switch it to 5G on the same PLMN / MNO yet that modem supports only 4G and does not support 5G or does not support the “correct” version or the required version of 5G for that particular MNO / PLMN).
[0061] Another type of options that the switching decision-making entity or unit may take is to “cross modems” in a double switch, simultaneously or in parallel, or concurrently, or one after the other or in series or in a particular order. For example, if another, second, modem is supposed to be allowed and get service from this first “prohibiting” PLMN / MNO but is on another, second, PLMN / MNO at that point in time, and if the first modem is supposed to be allowed on this second MNO / PLMN (or, is not identified a modem that would not be allowed), then the switching decision-making entity may decide to “cross” switch between these two modems such that the first modem will switch, or stay if already on it, to the PLMN / MNO that the second modem is on at that time, and that second modem will be switched to the first, “prohibitive” or “more restrictive” PLMN / MNO which is supposed to allow it and is predicted to successfully provide service to it. Such cross-switching scheme may be done via using the right, relevant VSIMs / SIMs / profiles / credentials / IMEIs / IDs as explained earlier.
[0062] In some embodiments, the switching decision-making entity may decide to switch the modems in various patterns such as “round-robin” pattern or circular pattern between any subset of the PLMNs or MNOs that are available to that apparatus in that location / time, such that, for example: the first switch (of a specific modem or non-specific one) will use VSIM / SIM / profile / credentials to try and register and get service from a first PLMN / MNO; the second time that a switch is needed, whether for the same modem or for another, then a second PLMN / MNO will be attempted; etc. Such a round-robin switching scheme, a full one or a partial one (e.g., using only some and not all of the available PLMNs / MNOs) may be done for a particular modem that fails to register with the switching-instructed PLMN / MNO, and / or may be attempted as an alternate switching scheme.
[0063] In some embodiments, a “fail” of a switch process might not be a full binary fail (e.g., the opposite of a complete success); but also, “degraded service” (such as lower bandwidth than the maximum possible for other UEs / registered devices) might be considered as failed by the switching decision-making entity. Hence a modem hardware, modem firmware, modem parameters, or other modem characteristics, or VSIM / profile, capabilities or IDs or characteristics may be marked as irrelevant for one or more PLMN / MNO or other resources, for that session or in general, such that the switching decision-making entity will not consider this duo or tuple as a candidate for switching.
[0064] In some embodiments, a package containing or including or referring to several VSIMs may be requested or downloaded or otherwise obtained from the VSIM management unit or servers into one or more of the SIM circuitry or VSIMApp that is associated with one or more of the modems / transceivers of the apparatus or that is associated with the apparatus. The VSIMs package may be downloaded gradually or in bulk to one or more of the SIMs or VSIMApps associated with one or more of the modems, or it may be downloaded “at once” or as one package, or as discrete or separate VSIM information units or VSIM information containers or VSIM information items. For example, a single request may include the relevant details of several modems or SIMs or VSIMs for which a VSIM replacement is requested. Such a single package request or download may reduce the time it takes to switch VSIMs because it eliminates the need to request separately for each modem or SIM or VSIM and the process of the switching of more than a single modem / transceiver may be thus done in parallel by several modems / transceivers or SIM circuitries.
[0065] In some embodiments, the bonding circuitry or controller or manager unit may command one or more of the modems / transceivers to switch to another cellular network of the same operator, such as from 5G technology network to a 4G / LTE network (or vice versa). This may be used as another means to overcome congestion experienced in a specific type of network, to overcome reduction in a link performance, to overcome spectrum issues, to spread the bandwidth load and achieve a desired or a target or a pre-defined level of diversification in utilized network resources, and / or to overcome cases where the switching is not done automatically by the network or operator in case of poor performance of one of the networks. This may be commanded to the relevant one or more of the modems / transceivers, each of which is associated with either or both physical SIMs and VSIMs. In some embodiments, this switching may be attempted before commanding to download or load into the SIM another VSIM and switching to it, because in some cases this may be a shorter process. In other cases, the bonding manager may not attempt to switch to a different technology network and go directly to switching VSIM / network / operator; such as, per prior data that enables it to predict or to estimate that switching technology will provide little or no performance benefit or insufficient level of diversification, or based on a response from other modems / transceivers and / or VSIMApps that are associated with the apparatus and that are scanning or had been scanning for that technology, or based on historical data in the servers or the apparatus, or based on user preference, or based on a combination of criteria or conditions.
[0066] Similarly, to achieve similar goals and / or in similar cases, in some embodiments, the bonding circuitry or controller or manager unit may command one or more of the modems orVSIMApps to switch to a specific spectrum band, especially when working on 4G / LTE. Switching to another spectrum band may be commanded if the bonding manager inquires the modem and it informs it of the possibilities according to network metadata broadcasted by the operator or according to pre -known information that is configured into the bonding mechanism either in the apparatus or in the servers and communicated to the apparatus.
[0067] In some embodiments, the bonding manager unit may be centrally implemented in the apparatus alone, or may be implemented in one or more remote servers related to the bonding traffic or to the VSIM management, or in the circuitry in the SIM that uses a VSIM, or in the VSIMApps or it may be distributed between any combination of these devices, processors, servers and / or hardware components and / or software modules. Similarly, the VSIMApps may be similarly centralized and reside in the associated SIM card or circuitry or modem, or in the apparatus, or in the bonding mechanism SW, or in any combination of these hardware and / or software modules.
[0068] Some embodiments of the present invention may utilize, or may comprise, or may operate in conjunction with, one or more devices or systems or methods that are described in patent number US 7,948,933, which is hereby incorporated by reference in its entirety; and / or in patent number 9,369,921, which is hereby incorporated by reference in its entirety; and / or in patent number US 10,206,143, which is hereby incorporated by reference; and / or in patent number 9,712,267, which is hereby incorporated by reference; and / or in patent number US 9,154,247, which is hereby incorporated by reference; and / or in patent number US 9,379,756 , which is hereby incorporated by reference; and / or in patent number US 10,194,034, which is hereby incorporated by reference; and / or with other suitable mechanisms or components for network assisted bonding, remote management of Quality of Service (QoS) between or among multiple bonding transmission devices, or other methods or units.
[0069] Reference is made to Fig. 3, which is a schematic block diagram illustration of a system 300, in accordance with some demonstrative embodiments. The components of system 300 may be distributed across two or more devices, or may reside in a single device (e.g., a transmitting device), or may be divided between a transmitting device and an assistive bonding / switching unit or device, and / or may optionally reside on a co-located apparatus (relative to the transmitting device) and / or on a remote server or an external server or a cloud-computing server (whereas “server” can be implemented by hardware components and / or software components, including physical server and / or virtualized server) that may assist in making or deploying one or more switching-related operations. Some embodiments may provide a communication apparatus or a communication system, which may include the followingcomponents or some of them, and / or other components, separately and / or combined and / or assimilated and / or integrated; for example, in an apparatus or device, and / or across two or more devices or units, and / or across a client-server system having a client-side device and a serverside device, and / or using a combination of units and / or devices and / or servers, and / or in an apparatus that is operably connected to or operably associated with a video camera and / or a video encoder and / or a live video feed and / or a pre-recorded / non-live video and / or a set of modems / transceivers.
[0070] It is noted that some of the following components may be optional, and may not necessarily be included in some devices / server of some embodiments.
[0071] It is also noted that in some embodiments, the features or functionalities that are detailed below as belonging to two or more components, may actually be implemented by using a single component, or by using a different number of components.
[0072] Bonding Manager 301 (module or unit or component), or a Dynamic Switcher Unit 302, or a Bonding and Switching Management Module 303, may be interchangeable units or modules and may be responsible for managing and / or coordinating multiple communication links, as well as making switching decisions and / or performing (or commanding, or initiating, or triggering) one or more switching-related operations. Such units may dynamically assign traffic loads, monitors performance of modems / SIM units / cellular network, and decide and / or perform switching operations to ensure that the system maintains or achieves high bandwidth and / or increased connectivity / diversity / resilience, by controlling and / or by being associated with and / or by interacting with relevant and efficiently-operating modems and virtual identities and / or VSIM-Apps.
[0073] Modem Controller 304 manages each modem’s operation, including allowing it to switch between different SIMs, VSIMs, technologies, MNOS, services or networks based on commands from the bonding manager.
[0074] The V-SIM Repository and Provisioning Unit 305 is a secure storage system that holds one or more virtual SIM profiles, enabling one or more of the dynamic provisioning, downloading and allocation of VSIMs to different modems.
[0075] The V-SIM Management Server 306 is a remote server that provides one or more of VSIM monitoring, provisioning, configuration, and management. It communicates with the bonding manager and / or VSIM-Apps and / or VSIM SIM cards or circuitries to offer performance recommendations and supply new virtual identities when needed.
[0076] A Performance Monitoring Module 307 continuously or periodically collects data on link quality, bandwidth, latency, and error rates. It provides real-time or near real-time feedbackto the bonding manager for optimal, and / or desired and / or prioritized and / or managed traffic distribution.
[0077] Multi-Technology / Multi-Network Modem Array 308 is a set of modems capable of connecting to various network technologies (e.g., 3G, 4G, 5G, LTE, 6G), ensuring that the system can access the best-performing network technology at any time. Some embodiments of the present invention may also relate to a single-technology modem array / transceiver array.
[0078] Packets Distribution / Allocation Unit 309 performs allocating of packets of a data stream for transmission across the different modems and / or VSIMs and / or MNOs and / or networks and / or services, ensuring that traffic is sent through the relevant links according to mode of operation; such as the most efficient links to maintain high-speed and low-latency communication and / or diversified links or networks and / or most reliable combination of and / or lowest-cost ones and / or user selected or de-selected ones, or any other selection and decision and priority parameters. In some embodiments, the Packets Distribution / Allocation Unit 309 distributes or allocates packets for upload / uplink transmission across a plurality of modems / V-SIMs in accordance with an inequitable allocation scheme or an inequitable distribution scheme; such that a first modem / V-SIM is allocated N packets to transmit upstream, whereas a second modem / V-SIM is allocated M packets (from the same common data-stream or data item that is intended to be uploaded, such as from the same single video or audio-and-video data-stream) to transmit upstream in parallel or in concert or in a time-slot that is at least partially concurrent or overlapping; such that M is different than N; and such that the values of M and N are determined by the Packets Distribution / Allocation Unit 309 by taking into account the current / recent / predicted / estimated / momentary / historical performance characteristics of the relevant modem / V-SIM and / or the relevant PLMN / MNO / cellular network that serves such modem / V-SIM.
[0079] External Device Interface 310 allows the system to connect with external devices, such as smartphones, to use them as alternative communication links when primary networks fail, adding resilience to the overall system, and optionally harnessing such external smartphones or other Internet-connected devices to participate in the task of uploading some packets of the same data-stream that should be uploaded.
[0080] Spectrum Band Controller 311 manages the selection of different spectrum bands for each modem, including for example optimizing frequency usage between multiple modems and / or VSIMs and / or SIMs to avoid or mitigate networks congestion and / or maximize and / or manage data transfer rates and / or latencies and / or reliability across one or more of active connections / modems / transceivers.
[0081] Network Technology Switcher Unit 312 enables modems to specifically switch between different network technologies of the same cellular network (e.g., switching from 5G to 4G), in order to achieve on or more goals (e.g., network diversity, resilience) and / or in order to deploy a particular switching strategy.
[0082] Modems Redundancy Manager Unit 313 attempts to ensure that two different network operators or networks or services are always subscribed to and / or connected, according to desired and / or actual number of such, and / or desired and / or actual performance of such, and / or traffic to be transmitted or received, and / or overall conditions and / or costs, thus attempting to reduce the risk of total or significant communication failure and maintaining a diversity of network paths.
[0083] Adaptive Link Selector / Switcher 314 intelligently selects the right-performing links for current data transmission, dynamically adjusting which modems are active and to what extent being used, based on real-time network performance and desired performance, cost, geolocation, date & time, the performance of any subset of the other modems or connections in that bonding unit, and any other decision parameter and priority ordering.
[0084] Server Communication Link 315 is a secure communication link between the system and remote management servers, allowing the exchange of performance data, commands, and new VSIM profiles, provisioning, activation and deactivation, releasing of, configuration, monitoring and control, to maintain relevant operation levels.
[0085] The V-SIM Download Handler 316 manages the process of downloading and / or provisioning of VSIMs from the management server, ensuring secure and reliable delivery of the virtual identities needed to keep modems connected.
[0086] Latency Reducer & Performance Optimizer 317 attempts to minimize uplink and / or downlink data transfer latency by prioritizing low-latency links and redistributing traffic in real time or near real-time. Latency of a packet or several packets or averaged transmission of packets may be measured by Uplink (UL) latency from the transceiver or the associated modems to a SW or HW receiver, or through the Round-Trip-Time (RTT) of both Uplink and Downlink transport of any packet transmitted up and down on that link, or modem or connection.
[0087] Congestion Prediction Module 318 uses historical data and / or real-time analytics and / or user preferences to predict network or service congestion and / or significant deterioration in link performance, proactively asking the bonding management and / or the VSIMApp to scan for and / or switch one or more of the modems to a less congested link or network if available before performance deteriorates; optionally utilizing a Machine Learning (ML) or Al-basedrecommendations model that was trained to predict network congestion based on particular parameters.
[0088] Video Encoder 319 compresses and / or encodes outgoing data streams to reduce bandwidth usage, or feeds the Apparatus with such. It may be associated with an Encoding Processor, that can dynamically modify encoding parameters / encoding coefficients in order to command the video encoder to generate video at a quality that accommodates the current / available / predicted bandwidth or throughput.
[0089] Connection Health Checker 320 regularly checks the performance health of each active link, including one or more of radio parameters, air interface parameters, system or network parameters, link and link performance (such as UL and / or DL bandwidths and latencies) stability, and error rates, to ensure at least enough or desired number of connections are performing according to desired level and / or to trigger corrective actions when necessary.
[0090] Dynamic Failover Unit 321 may be configured to automatically perform switches to backup modems or external hotspots or secondary, switchable SIMs or VSIMs, when primary connections fail, or under control of bonding mechanism and / or VSIMApp, trying to ensure continuous connectivity even in adverse network conditions.
[0091] Device Location Detector 322 monitors the location of the device, using GPS or other technologies (e.g., cell proximity to a cellular tower; cellular triangulation; Wi-Fi connectivity to known Wi-Fi networks), to enhance current or future connectivity and / or predictions based also on geographical network availability and performance trends.
[0092] Communication Link Quality Analyzer 323 analyzes the quality of each communication link, providing detailed metrics that guide the bonding manager’s decisions on traffic distribution and / or modem selection and / or VS IM switching and / or inquiry and / or scanning and / or downloading and / or provisioning and / or technology switching and / or spectrum band switching and / or any other controlling function.
[0093] User Interface Module 324 provides a user interface for system monitoring and manual adjustments, allowing operators to view real-time network performance, manage VSIMs, and manually override settings or recommends user preferences if desired.
[0094] Diversity-Based Modem Selector 325 attempts to ensure that modems are selected from diverse network operators, prioritizing the use of distinct service providers and / or networks and / or services to maintain reliability and / or redundancy and / or diversity and / or to reduce the risk of simultaneous networks failure and / or significant overall bonded performance reduction.
[0095] The V-SIM Diversity Enforcer 326 tries to enforce policies that prevent over-reliance on a single network operator and / or network and / or service and / or technology and / or spectrumband by recommending to the bonding mechanism and / or the VSIMApp of dynamical allocations and reallocations of one or more VSIM to one or more different modems, and / or technology and / or spectrum band, thus trying to ensure a reliable, resilient and / or balanced connectivity across multiple network resources, fully available or potentially available, according to preferences, current and / or predicted conditions, costs, historical data, data to be transmitted or received, links performances and / or any other decision parameters and / or priorities and / or Al -recommended decisions or priorities .
[0096] The V-SIM Rotation Manager 327 may regularly or periodically (or, if a pre-defined condition holds true) or upon command rotate VSIMs between modems based on performance data, maintaining diversity in network usage and preventing prolonged dependence on any single network, which could lead to performance degradation. It may operate in conjunction with a Modem Allocation Optimizer 328, that continuously assesses which modems should be active or on standby, trying to ensure that active modems represent a diverse set of network operators and / or networks and / or services and / or technologies and / or spectrum bands for desired reliability and / or diversity.
[0097] The V-SIM Acquisition Unit 329 handles the process of acquiring and / or downloading and / or loading and / or provisioning one or more new VSIM profile from remote servers or management systems.
[0098] Selective V-SIM Downloader 330 selectively downloads or obtains one or more specific VSIM and / or VSIM for specific MNO and / or VSIM for specific network and / or VSIM for specific service, based on pre-set criteria such as network performance, operator coverage, and / or cost, and / or reliability level and / or diversity level and / or user preferences and / or desired and / or actual link or network performance, ensuring that only the most beneficial identities are obtained.
[0099] The SIM / V-SIM / E-SIM Switching and Re- Assignment Unit 331 manages the switching process or re-assignment process among or between SIM / VSIMs respectively associated with one or more modems / transceivers.
[0100] The V-SIM Prioritizing Unit 332 identifies and prioritizes VSIMs that provide access to less congested or higher-performing networks, promoting connectivity diversity and enhancing overall system resilience and reliability of the communication performances.
[0101] The V-SIM Preloading Unit 333 preloads one or more VSIM profiles onto modems or the SIM cards or circuitry or VSIMApp in advance or during operation, reducing the time required to switch between networks and maintaining diverse connectivity options at all times.
[0102] The Redundant V-SIM Manager 334 manages (in conjunction with the bonding unit) one or more redundant VSIMs across different modems and / or VSIMApps, allowing for instant failover to alternative identities in case of network performance issues, ensuring continuous diverse network access.
[0103] Network Scanning Module 335 periodically or continuously recommends to scan available networks and to assess their performance, thus attempting to guide the selection of modems and / or VSIMs and / or networks and / or technologies and / or spectrum bands that represent the desired level of diversity and / or reliability and / or performance and / or cost.
[0104] Modem Score Generator 336 computes one or more scores for one or more subsets of the modems, or for a single / particular modem; reflecting an estimate or a measurement of one or more fixed characteristics and / or changing performance characteristics of such modem / s. These may be based on, for example: the modem hardware, firmware, capabilities (e.g., whether or not it supports or can be configured to support 5G or conversely only 4G; or, whether or not it supports or can be configured to support upload MIMO), whether or not it functions as expected or fails, and / or other parameters. Note that at least the last parameter, of whether or not the modem functions properly, might change between PLMNs; such that some firmware versions of the modem are not allowed by a particular, PLMN, or such that a PLMN may mandate a specific firmware version and / or hardware configuration such as using four antennas. The one or more scores and / or related metadata can enable the switching decision-making logic to identify relevant / irrelevant modems for a potential switch, or modems that are suitable or non-suitable for such potential switch, or sub-optimal modems or less preferred modems (e.g., a modem that does not support 5G) or more preferred modems (e.g., a modem that supports 5G), in absolute terms and / or in relation to other modems, and may prioritize its switching to an alternative PLMN or band or technology or cellular cell / gNB or other resource. Each of these scores may be recalculated periodically and / or based on a triggering event or other conditions.
[0105] The V-SIM Score Generator 337 dynamically determines and updates one or more performance scores for each relevant virtual SIM (V-SIM) identity. Scoring may be based on real-time application level parameters or estimations or measurements such as uplink bandwidth, latency, jitter, error rate; and / or link and / or network related parameters, measurements, estimations, calculation or information such as RSRP, RSRQ, Tx power related, modulation type, RSSI, CID, PID, band, technology (3G / 4G / 5G / LTE / 6G, or the like), uplink network capacity, uplink network utilization, available QoS, handover status; capabilities and preferences such as cost parameters or associated QoS capabilities or otherpreferences; geolocation and / or time related; movement prediction or estimation or information; transmission session related such as the number of video feeds to transmit and the bitrate or quality for each, or the latency desired for that session or others and historical information or trends. Each of these scores may be recalculated periodically and / or event- triggered, and may be used by the switching engine to assess modem quality. Scores may be aggregated, normalized, and / or tagged with metadata including timestamp, PLMN ID, and / or other metadata
[0106] In some embodiments, the modem connection / modem scores and / or the network scores are “meta-parameters” as they may be calculated from weighted combination of the any subset basic parameters that are actually measured or estimated or predicted. For example, the network diversity score may be calculated or determined or set according to the number of modem connections operated or associated with that network at the calculation window, and / or take into account as part of the score also the upload bandwidth performance of each of these modem connections (as being measured or estimated in the calculation window), and / or an estimation or knowledge or estimation of the probable modem connections upload performance if another modem will be switched onto this network, and / or whether the apparatus is static or in relatively fast motion.
[0107] Accordingly, in some embodiments, cellular networks diversity may, in part or in its entirety, be calculated or determined not only by the number of cellular modems that are associated or that used to transmit on that cellular network, but also, or additionally or cumulatively, by taking into account the aggregated uplink transmission bandwidth or bitrate of these cellular modems in relation to (or their ratio to) the total aggregated bandwidth or bitrate from all the cellular modems that are used to transmit in that cellular communication apparatus at that time. For example: a first modem (Ml) on a first cellular network (Nl) transmits 40% of the total aggregated bitrate of the total of all the cellular modems in that communication apparatus; a second cellular modem (M2) is associated with a second cellular network (N2), and its transmission characteristics or score trigger the Switching Decision Unit to switch it to another cellular network, while the first cellular (Nl) is ranked as the topperforming cellular network at that time, and while a third cellular network (N3) is a cellular network on which a third cellular modem (M3) transmits and is ranked as second-best in cellular network performance; and based on the Cellular Network Diversity goal, the Switching Decision Unit may decide to switch the second cellular modem (M2) not to the second cellular network (N2) but rather to the third cellular network (N3), or to a fourth cellular network (N4), because the Switching Decision Unit estimates that the total aggregated bitratethat is expected to be transmitted by the two cellular modems Ml and M2 may amount to 80% of the total aggregated bitrate of all the cellular modems of this communication apparatus. Alternatively, the Switching Decision Unit may decide to switch the first cellular modem (Ml) to the third cellular network (N3) which is the second-best in cellular network performance, as that second cellular network is estimated by the Switching Decision Unit to have sufficiently satisfactory performance by itself while also providing a sufficiently satisfactory overall aggregated bitrate yet with a cellular modems distribution scheme that better distributes bitrate transmission across different cellular networks; such that if the performance of the first cellular network (Nl) suddenly degrades, only 40% of the transmission bitrate would be impacted, rather than 50 or 80 percent. The above is only a non-limiting example of how bitrate or bandwidth distribution across multiple cellular networks may be factored into the network diversity score and may dynamically impact the decision about switching cellular modem / s and / or about which target cellular network would be used for such switching.
[0108] It is noted that terms such as “good enough” or “sufficiently good”, or “satisfactory” or “sufficiently satisfactory”, or similar terms that are mentioned above and / or herein, are terms that indicate that a level of sufficiency of one or more performance parameters is achieve or is met, based on a comparison to one or more pre-defined threshold value or range-of-values, and / or based on a weighted formula that takes into account one or more parameters in order to output a value that indicates whether or not a particular parameter (e.g., uplink transmission bandwidth, uplink transmission throughput, latency, round trip time (RTT), error rate, cellular network diversity, statistical analysis of any one or more of these, or the like) is “sufficiently satisfactory” or “good enough. For example, some embodiments may be configured such that an overall cellular uplink transmission rate R1 (statistically over a configured time interval) is “sufficiently satisfactory” or is “good enough” if it is greater that pre-defined threshold Hl; and / or, that a transmission latency of T1 (statistically over a configured time interval) is “sufficiently satisfactory” or is “good enough” if it is smaller than a pre-defined threshold H2; and / or, that a cellular network diversity (statistically over a configured time interval, or at any point in time that such as time interval ends) is “sufficiently satisfactory” if the communication apparatus is utilizing between H3 and H4 cellular networks for transmitting 90 percent of the uplink bitrate (e.g., utilizing between 2 to 4 cellular networks, including those two numbers); and / or that a cellular network diversity (statistically over a configured time interval) is “sufficiently satisfactory” if any single cellular modem transmits not more than P percent (e.g., not more than 50 percent) of the overall uplink bitrate via a single cellular network; or the like. Other types of conditions or rules or thresholds values or thresholdranges-of-values may be defined, and / or may be dynamically set or modified, in order to enable the communication apparatus and / or the Switching Decision Unit and / or other components to determine whether or not a particular parameter or characteristic is (or is not) deemed to be “sufficient” or “sufficiently satisfactory” or “good enough” or “sufficiently good”.
[0109] In another example, the cellular modem connection performance score may be a meta-parameter calculated by taking into account the weighted measured or estimated upload bandwidth statistics and the upload latency or RTT and / or the packet loss rate and / or video artifacts and / or other video qualities (such as: the dynamically changing transmission resolution or dynamically changing video encoder output bitrate, during the calculation interval). In another example, the expected or estimated or future performance resulting from the switch of cellular modem Ml to cellular network N2 may be factored into the cellular modem score or cellular network score, or may be used otherwise in order to prevent a switch of cellular modem Ml (or M3) to cellular modem N2, altogether and / or in other ways. For example, the Switching Decision Unit may estimate that even if cellular network N2 was ranked as the best for switching according to current application transmission over the current cellular modems being used on this cellular network N2, then still, the total aggregated bitrate for cellular network N2 or for all the cellular modems of the apparatus might be smaller than if the switch will be done to another cellular network, such as to cellular network N3 that is currently ranked as the second-best (and not the first-best) candidate cellular network according to its modems performance.
[0110] In another example, the network scores of two cellular networks, such as Nl and N2, may be identical or sufficiently close (e.g., within 5 or 10 or other percent value of difference), according to a configurable threshold. Therefore, in some cases, the switching will be done to cellular network N2 rather than to cellular network Nl, for example, in order to increase network diversity even if the policy or scheme is to firstly increase the total uplink transmission bitrate. For example, if there are already three cellular modems of this communication apparatus that are already transmitting on the cellular network Nl, and there is only one cellular modem of this communication apparatus that are transmitting on the cellular network N2, then the cellular network diversity goal may support such decision to switch a particular cellular modem to cellular network N2 and not to Nl. Similarly, the cost of transmitting on cellular network N2 may be sufficiently lower than the cost of transmitting over cellular network Nl, thereby supporting such decision to switch a particular cellular modem to cellular network N2 and not to Nl. In some embodiments, if the scores of two or more cellular networks are sufficiently close to each other (e.g., within P percent of each other,such as plus or minus 10 or percent), then they can be considered as “equally eligible” to be switched into, and one or more secondary decision parameters may be used to reach the final decision about which of them would be the target cellular network.
[0111] This component may construct one or more statistical models for one or more of the PLMNs being used, have been used or had been used in this session and at that period are not used by any of the V-SIMs. This model may be based on the performances of any subset of the modems or V-SIMs which are using or associated with it at that point in time. For example, if three V-SIMs transmit using PLMN A, and the averaged (over configurable interval) upload bitrates are B 1, B2 and B3, then the V-SIM Score Generator may calculate the average upload bitrate of that PLMN as the average of these three values, and may also calculate the standard deviation, distribution, and / or other statistical parameters. It may also average the V-SIM bandwidth scores, their V-SIM resiliency scores, and / or any other score being calculated. It may also calculate its own score, such as based or normalized to reflect how many modems (or V-SIMs) are currently transmitting on it, what is expected / estimated to be the impact of adding another V-SIM (and modem) to use it based on marginal benefits and / or impacts on existing transmissions and / or known statistics or predictions including AI- based; It may also examine other parameters, such as video related artifacts, audio-video frame drops or others, PLMN-wide statistical trends and operator-specific constraints, such as authentication success rate and registration delay. The V-SIM score may also factor in failed versus successful attachment attempts, average throughput per PLMN, and reliability under mobility, informing V-SIM selection and rotation strategies across the modem pool and the possible V-SIM and / or PLMNs options.
[0112] The Cellular Network Score Generator 338 compiles aggregate performance metrics for each cellular network (PLMN), based on consolidated modem and V-SIM data across the apparatus or across multiple devices. It enables strategic decisions at the network level, such as preferring Operator A for high-throughput links and Operator B for redundancy. The generator may utilize Al-based models trained on historical telemetry data to predict future degradation and anticipate blacklisting risks or service instability across technologies and bands.
[0113] Ranking / Ordering Unit 339 receives input from various score generators and produces prioritized lists of modems, V-SIMs, or PLMNs according to one or more configurable strategies. These may include throughput optimization, network diversity maximization, latency minimization, or resilience under failure conditions. The unit may implement both static ranking policies and dynamic heuristics that adjust in real-time. Outputsfrom this unit directly inform switching decisions and allocation of scarce VSIM resources to the highest- value targets.
[0114] Modem / V-SIM Performance Analyzer 340 performs deep telemetry analysis of each modem-VSIM pair to characterize its historical behavior, failure patterns, and performance under specific geolocation and time conditions. It identifies statistically significant degradations or anomalies, such as performance cliffs during network handover or congestion-induced variability. This analyzer may issue warnings or mark specific modem- VSIM pairs as high-risk or deprecated for future use. Data generated feeds into long-term reliability scoring and switching delay predictions.
[0115] Cellular Network Performance Analyzer 341 is a higher-order analytics module that correlates PLMN-level behavior with environmental and contextual data, including regional usage density, time-of-day patterns, and spectrum congestion metrics. It may determine, for example, that Operator X consistently underperforms in suburban locations during peak hours, and flag such findings to the decision engine. The analyzer also identifies transient issues like tower outages or backhaul congestion using aggregated link failure data, enhancing switching resilience.
[0116] Switching Decision- Making Unit 342 synthesizes data from the Modem ScoreGenerator, V-SIM Score Generator, Network Score Generator, and associated analyzers to execute switching actions. It applies weighted utility functions that balance competing goals (such as latency versus operator diversity) using a set of rules or policy-driven logic or AI- optimized logic. The unit may enforce cooldown windows, anti-hysteresis filters, or predictive reservation of resources. Its output drives the active configuration of the modem array, influencing live transmission behaviors across multiple channels.
[0117] Switching Strategy Manager Unit 343 oversees the high-level configuration of switching policies and adapts these strategies based on session type, mobility state, or operator feedback. It may enable strategy transitions (e.g., from redundancy-maximizing mode to costsaving mode or to bandwidth-maximizing) based on real-time context. This unit may manage multiple strategy profiles, such as those optimized for fixed-location devices, vehicular modems, or drone-based transmissions, applying thresholds, weighting schemes, and control constraints specific to each operational context.
[0118] Cyclical / Round-Robin Switching Controller 344 implements time-based or event-driven rotation schemes for V-SIMs, PLMNs, or modem assignments. This unit ensures that stale or underutilized network identities are periodically reassessed and reactivated, thereby improving statistical fairness and revalidating network assumptions. Such rotation mayuncover degraded links earlier and distribute load across network resources more equitably. The controller can operate in full or partial cycles and supports time-gated or scoring-triggered entry conditions for each round.
[0119] Predictive Failure Detector 345 analyzes trends in modem telemetry, link quality, V-SIM behavior, and network anomalies to anticipate failures before they occur. Using models trained on historical outage signatures and transition states, the unit flags modems or links likely to experience imminent loss of service. It can trigger proactive switching or pre- loading of alternative V-SIMs. The unit supports confidence-based alerting, thereby integrating predictive intelligence into the apparatus’s real-time continuity planning framework.
[0120] The PLMN Eligibility Filter 346 acts as a gatekeeper to determine which public land mobile networks (PLMNs) are considered viable candidates for service. It cross- references modem hardware characteristics, V-SIM entitlements, historical registration outcomes, and operator-specific constraints such as IMSI or IMEI whitelisting policies. By filtering out incompatible or high-failure -probability networks before the switching logic engages, this component minimizes futile switching attempts and contributes to a more efficient and targeted modem reassignment process under variable network environments.
[0121] Connection Recovery Engine 347 is responsible for diagnosing and rectifying incomplete or failed network switching events. When a modem becomes deregistered or fails to establish service post-switch, this engine executes a structured recovery workflow, which may include retrying the same PLMN, reverting to a previously successful configuration, or escalating to a full V-SIM reallocation. It can also utilize auxiliary connections (e.g., purely wireless Wi-Fi, and / or Wi-Fi tethering) to temporarily restore connectivity, allowing remote VSIM provisioning even when cellular links are disrupted.
[0122] The QoE Impact Scoring Module 348 estimates how link performance fluctuations affect end-user experience metrics such as video smoothness, resolution stability, or interaction latency. This module integrates real-time data from video encoders, transportlayer telemetry, and modem link quality to produce a Quality-of-Experience (QoE) degradation index. These scores are supplied to the Switching Decision-Making Unit to prioritize switches that yield measurable improvements in user-perceived service. The module supports adaptive weighting for applications sensitive to jitter or delay.
[0123] Geo-Adaptive Scanning Controller 349 orchestrates scanning and reregistration logic based on geographic context. It references GPS coordinates, cell tower identifiers, and historical PLMN performance maps to selectively trigger spectrum scans or V- SIM rotations in regions known for network instability or operator transition zones. Thiscontroller helps reduce scanning overhead by avoiding unnecessary scans in high-certainty zones, while expanding coverage exploration in regions with volatile performance. It may collaborate with Predictive Failure Detection Unit 345 for preemptive action.
[0124] Congestion-Aware Link Scheduler 350 adjusts packet distribution across active modems based on detected or inferred backhaul and RAN-level congestion. It leverages modem feedback on buffer delays, packet retransmissions, and TCP / QUIC congestion windows to identify bottlenecks. Once congestion is inferred, the scheduler throttles affected links and redistributes traffic toward underutilized modems. It may apply weighted round-robin logic with dynamic back-off, preserving transmission continuity even during partial link degradation, while avoiding futile overloading of constrained paths.
[0125] Operator Preference Policy Enforcer 351 implements administrative constraints and user-configured rules regarding allowed or prioritized mobile operators, networks, or virtual identity groupings. It may enforce blacklists, whitelists, contractual roaming exclusions, or cost-based caps for specific MNOs. During V-SIM allocation or switching decisions, this component ensures that no modem is associated with disallowed profiles or networks, even if temporarily optimal. It supports both static configuration and dynamic updates via over-the-air policy injection, maintaining compliance with user, enterprise, or regulatory directives.
[0126] Multi-Session Load Balancer 352 distributes communication resources across multiple concurrent data sessions or applications running on the device. It classifies traffic flows (such as video streaming, telemetry, or command- and-control) and assigns them to modem / V-SIM pairs based on performance requirements, link capacity, and switching risk. This component ensures that latency-sensitive or high-throughput sessions are prioritized on the most stable links. It may also isolate critical sessions from switching disruptions by temporarily pinning them to fixed resources.
[0127] In some embodiments, optionally, system 300 may include an Artificial Intelligence (Al) unit or a Machine Learning (ML) unit or a Deep Learning (DL) unit or a Neural Network (NN) unit; which may be referred to herein as Al / ML Unit 360. Such unit, or a plurality of such units, may be part of the transmitting device, or may be co-located with the transmitting device, or may be part of a bonding unit of the transmitting device, or may be part of an intelligent bonding engine of a server or a remote server or a cloud-computing server or a cloud-based server.
[0128] In some embodiments, the Al / ML Unit may be operatively associated with system 300 and / or one or more of its components, and may be configured to perform automated, adaptive, and dynamically-evolving analysis and decision-making tasks that relateto switching logic, switching prioritization, and switching strategy management. The Al / ML Unit may be implemented within the apparatus hosting the bonding management functions, or in a distributed architecture across the local device and one or more remote servers or cloud infrastructures, or as a federated model capable of updating and synchronizing learned parameters while maintaining partial local autonomy and responsiveness.
[0129] In some embodiments, the Al / ML Unit may ingest, process, analyze, and model a plurality of heterogeneous inputs derived from real-time, historical, predictive, and contextual sources to improve or optimize the selection of whether to switch, when to switch, which modem or virtual subscriber identity (V-SIM) to switch, what target to switch to (e.g., MNO, PLMN, band, LTE-band, technology), and which switching strategy or optimization function to employ under current and projected operational constraints.
[0130] The Al / ML Unit may receive as input any subset or combination of the following: real-time modem performance scores, radio-frequency metrics (e.g., RSRP, RSRQ, Tx power, modulation type, SINR), link-level or application transmission characteristics (e.g., bandwidth, throughput, goodput, RTT, uplink latency, jitter level, packet error rate, bit error rate), modem-level status and capabilities, V-SIM provisioning data, application-layer requirements (e.g., uplink video bandwidth, latency sensitivity, video feed resolution, video feed frames per second (FPS), color scheme), video encoder parameters (e.g. encoder ID, type, quantization), application-level information or feedback (e.g., number or rate of video-frames dropped or being erroneous or missing or late or artifacts, loss of other packets), geolocation data, time-of-day, historical success / failure rates of past switching attempts and their relevant data, motion or non-motion state and / or moving velocity of the apparatus, power consumption profiles, cost models for data transport under different PLMNs, and / or constraints or preferences associated with network diversity, reliability, or service quality, cellular modem scores, cellular network scores, switching decisions and their logic, no-switching decisions and their logic, switching execution parameters (e.g., actual time duration that it took to switch cellular modem Ml from cellular network N1 to cellular network N2), SIM or V-SIM or E- SIM type, communication apparatus parameters (e.g., model, version, serial number, Part Number). These and / or other inputs may be processed using supervised, unsupervised, and / or reinforcement learning techniques, optionally supported by engineered features, embeddings, or other model-specific representations that enable the Al / ML Unit to construct parametric or non-parametric mappings from input feature vectors to switching action spaces.
[0131] In some embodiments, the processing of these and / or other parameters may be done offline, such as, unrelated to (or, not necessarily related to) any specific switchingdecision request, in order to improve the switching process or to be prepared for a switching decision request. The processing may also be done in real time or in near real time, when a switching decision request arrives or is initiated, in order to provide estimations and / or predictions that are useful for (or, that can affect) that switching decision inquiry. In some embodiments, such parameters or data may be sensed or collected as telemetry or other method and stored in database for such Al / ML training and analysis, and / or for other types of analysis that are useful for the switching decision making, e.g. statistical-based analysis and / or heuristic-based and / or rules-based analysis for switching decision making or for related decisions. The data may be collected from the Switching Decision Unit, from the communication apparatus, from cellular modems, from remote servers, and / or any other entity that has such data or that can provide such data, continuously as they are being measured or estimated or decided, and / or in batches or data-sets that can be aggregated or accumulated and then provided for further processing.
[0132] In some embodiments, the Al / ML Unit may utilize a model or an ensemble of models trained to predict the success probability of a potential switching event, the expected performance gain or degradation associated with a target PLMN / network / resource, the expected transient loss during a switching transition, and the long-term impact on system-wide performance metrics such as bandwidth stability, redundancy levels, PLMN diversity, cost efficiency, or quality of experience (QoE). The model / s may be updated over time via continuous learning or online learning mechanisms, with periodic retraining or fine-tuning based on labeled outcomes from executed switching actions or from telemetry ingested from deployed devices. In some embodiments, inference latency and model size may be minimized by distillation or model compression techniques to enable on-device deployment.
[0133] The Al / ML Unit may communicate its inferences or decisions to the Bonding Manager 301 or to the Dynamic Switcher Unit 302 or to other relevant components or units. Such communication may occur via structured control messages that encapsulate a recommended switching action (e.g., switch Modem M3 from PLMN P2 to PLMN P4), a confidence level or certainty score of confidence associated with the recommendation, and optional auxiliary metadata such as time-to-execute, preferred retry logic, fallback schemes, and / or risk mitigation constraints. In some embodiments, the Al / ML Unit may also recommend that no switching action be performed if the inferred benefit does not exceed a defined threshold, and / or if the uncertainty in the outcome prediction is deemed too high, thus providing an additional layer of probabilistic decision gating to avoid unnecessary or counterproductive transitions.
[0134] In some configurations, the Al / ML Unit may operate under a constrained optimization framework in which the switching decisions should simultaneously satisfy multiple criteria. For example, the Al / ML Unit may determine a Pareto-optimal switching action that jointly maximizes aggregate uplink throughput while minimizing latency variability and preserving multi-operator diversity. In more complex scenarios, such multi-objective optimization may be formulated as a weighted linear combination or as a constrained integer program, with parameters dynamically learned or adapted by the Al / ML Unit based on operational feedback and system-level goals.
[0135] Optionally, the Al / ML Unit may further serve as a context-awareness enhancer by maintaining internal models of geographic PLMN performance heatmaps, temporal bandwidth congestion patterns, or environmental factors (e.g., indoor vs outdoor signal quality trends) and correlating these with apparatus telemetry. This capability enables the Al / ML Unit to proactively recommend preemptive switching strategies based on anticipated degradation or network transitions, thereby improving system resilience and responsiveness in highly dynamic environments such as vehicular or aerial deployments.
[0136] In some embodiments, the Al / ML Unit may optionally execute anomaly detection algorithms to flag inconsistencies or deviations in modem behavior, switching performance, or VSIM lifecycle operations that deviate from learned normal patterns. These anomalies may be used to prevent further switching actions that are likely to fail, to update internal reliability scores for modems or PLMNs, or to raise alerts to supervisory systems. The detection algorithms may include statistical, rule-based, or ML-driven classifiers that can differentiate between benign transients and critical faults.
[0137] The Al / ML Unit may also support policy override or augmentation modes, in which user-defined preferences, administrator policies, or contractual rules are blended with or supersede Al-generated recommendations. For instance, an enterprise policy may dictate that roaming profiles may only be activated under critical performance degradation, even if the Al / ML Unit identifies a roaming PLMN with superior expected throughput. The Al / ML Unit may therefore incorporate constraint satisfaction logic to respect such operational boundaries.
[0138] The Al / ML Unit may optionally be implemented as a modular pipeline that comprises, for example: (i) a feature extraction and normalization stage; (ii) a prediction or inference stage based on deep neural networks, decision trees, support vector machines, or probabilistic graphical models; (iii) an action selection or ranking stage that incorporates utility functions or switching priorities; and (iv) a post-decision feedback handler that processes execution outcomes for model updating and self-correction. All components may besynchronized with the apparatus clock or with external timing sources to ensure temporal coherence of input-output mappings.
[0139] In further embodiments, the Al / ML Unit may be configured to coordinate switching decisions across multiple apparatuses in a shared physical vicinity or logical group (e.g., devices in a broadcast van, or cellular modems in a drone swarm), using collaborative or federated learning paradigms to share model parameters or switching outcome statistics while maintaining local autonomy. This enables group-aware switching strategies that avoid interdevice contention or overload of shared PLMN resources.
[0140] The Al / ML Unit may maintain a continuously evolving repository of performance logs, switching action outcomes, and context metadata, optionally anonymized and stored locally or centrally for retrospective analysis, compliance validation, or supervised model refinement. Such records may also be used to generate periodic or event-driven diagnostics reports to external monitoring systems, further enhancing system transparency and auditability.
[0141] In some embodiments, the Al / ML Unit may additionally expose a set of tunable hyperparameters, including switching aggressiveness thresholds, confidence bounds, exploration / exploitation ratios, and strategy selection functions, which may be configured at runtime or reprogrammed via over-the-air updates or remote management interfaces. These parameters allow for fine-grained calibration of the Al / ML Unit’s behavior to suit evolving application needs or deployment contexts.
[0142] In some embodiments, the Al / ML Unit of system 300 may be trained using a variety of machine learning methodologies, including but not limited to supervised learning, reinforcement learning, semi-supervised learning, and continual learning. The training process may be performed offline (e.g., based on stored historical data collected from previously deployed systems) or online, in near real-time, while the apparatus is actually operating in the field. Training may be performed locally on the apparatus, or remotely in a centralized data processing facility or cloud platform, or using federated learning frameworks that preserve data locality while updating shared model parameters across multiple edge devices.
[0143] The training inputs for the Al / ML Unit may comprise structured time-series data and multi-dimensional feature vectors that represent the system state at each sampling interval. Such inputs may include, for example, modem-level parameters such as signal strength indicators (RSRP - Reference Signal Received Power, RSRQ - Reference Signal Received Quality, SINR - Signal-to-Interference-plus-Noise Ratio, Tx power, modulation type,), packet error rates, uplink and downlink throughput, modem registration states, andswitching success or failure flags; PLMN-level parameters such as average latency, jitter variability, connection drop rates, and diversity scores; context parameters such as geographic location, speed and direction of motion, time of day, and environmental classification (e.g., indoor, rural, urban, subterranean); and application-layer metrics such as encoder bitrate, video resolution, color depth, codec used, frame delivery statistics, and associated transmission impairments. Labels or target outputs in supervised learning scenarios may include binary or multi-class indicators of switching success, continuous-valued post-switch performance improvements, or categorical strategy outcomes.
[0144] The outputs of the trained Al / ML Unit may be switching policy decisions, such as whether to switch a particular modem to another PLMN or VSIM; which alternative PLMN / MNO or technology (e.g., LTE versus 5G) to target; what switching strategy to employ (e.g., diversity preservation versus throughput maximization); and with what priority and confidence the switching should be executed. In reinforcement learning embodiments, outputs may include action-value estimates or policy distributions over discrete or continuous switching actions, derived from learned reward functions that encode long-term transmission efficiency, stability, and cost-effectiveness.
[0145] The training processes may optionally include supervised model fitting using datasets labeled with observed outcomes from actual switching events, where model architectures may comprise gradient-boosted decision trees, recurrent neural networks (RNNs), attention-based transformers, or ensemble classifiers. Alternatively, reinforcement learning agents may be trained using reward signals derived from observed system behavior, such as transmission stability or latency improvement following switching actions. The environment may be simulated using synthetic traces or partial emulation of network behaviors, or real deployment traces may be used in conjunction with off-policy or model-based reinforcement learning methods.
[0146] In some embodiments, the ML-generated insights may include identification of high-failure switching configurations (e.g., modem A with PLMN X in urban zones); prediction of congestion zones or degradation periods for specific networks based on historical and spatial patterns; automatic derivation of optimal switching intervals under varying mobility regimes; and detection of underutilized or unstable PLMN resources. These insights may be used to preemptively modify switching logic, to avoid costly or unreliable transitions, or to improve PLMN diversity maintenance strategies. The Al / ML Unit may further output explainability data such as feature attributions or saliency maps that quantify the influence ofdifferent input parameters on switching recommendations, thereby supporting validation and operational transparency.
[0147] In some embodiments, the Al / ML Unit is configured to dynamically determine, based on one or more real-time and historical input parameters, whether to perform a switching operation, and if so, to which modem, VSIM, PLMN, technology, or spectrum band to switch, and when to execute said switching; wherein said Al / ML Unit employs machine learning models trained on prior transmission data and switching outcomes to optimize for performance, diversity, reliability, or cost objectives.
[0148] In some embodiments, the Al / ML Unit is configured to select, from among a plurality of switching strategies, an optimal or preferred strategy for a given transmission context by analyzing multi-dimensional input vectors comprising modem performance data, PLMN scores, geographic and temporal data, and network availability, and wherein said Al / ML Unit generates a predicted performance delta and switching risk score to guide or constrain execution of said switching operation by the bonding or switching logic.
[0149] In some embodiments, the Al / ML Unit is configured to compute predicted performance scores for multiple candidate switching targets, including different PLMNs, frequency bands, and technologies, and to rank said targets based on a learned utility function that incorporates uplink bandwidth, latency, error rates, and expected registration success; wherein said rankings are used by the switching decision logic to select the most favorable switching target under dynamically changing network and application conditions.
[0150] In some embodiments, the Al / ML Unit is configured to detect patterns of modem under-performance or switching failure by analyzing temporal sequences of network events, modem states, and radio metrics, and wherein the Al / ML Unit adaptively excludes, deprioritizes, or penalizes specific switching targets or strategies determined to have high historical failure rates or risk indicators, thereby reducing switching-related downtime and optimizing continuity of communication services.
[0151] In some embodiments, the Al / ML Unit is configured to execute a predictive switching model that anticipates future degradation of currently active communication links based on statistical and machine-learned correlations between past radio conditions, modem behavior, and mobility vectors, and wherein said model enables the switching logic to initiate preemptive switching operations before measured performance drops below predefined thresholds.
[0152] In some embodiments, the Al / ML Unit is trained using supervised learning on historical datasets comprising modem telemetry, switching outcomes, performance metrics,and contextual metadata, and wherein the Al / ML Unit outputs control signals or switching recommendations with associated confidence scores, enabling the switching manager to act conditionally in accordance with threshold-based confidence levels or to invoke fallback procedures in low-certainty scenarios.
[0153] In some embodiments, the Al / ML Unit includes a reinforcement learning agent that is configured to optimize switching decisions based on a reward function reflecting transmission performance, PLMN diversity, and service continuity, and wherein said agent learns through interaction with the live network environment or with a simulated environment to improve long-term switching policies under constraints of mobility, power consumption, and data cost.
[0154] In some embodiments, the Al / ML Unit further maintains and updates a plurality of geo-temporal performance maps correlating PLMN behavior with location and time, and wherein said maps are queried by the switching logic to improve prediction accuracy for location-dependent switching decisions, including PLMN selection during mobile operations such as vehicular, aerial, or maritime movement.
[0155] In some embodiments, the Al / ML Unit is configured to produce interpretable insights regarding switching behavior, including saliency indicators or feature attributions for each switching recommendation, and wherein such insights are logged or communicated to a supervisory interface or remote server to enable human operators to audit, override, or validate machine-generated switching decisions based on technical, regulatory, or operational considerations.
[0156] Some embodiments may provide a Method for Adaptive Wireless Communication Bonding. The method comprises: bonding a plurality of wireless communication links using multiple virtual subscriber identities (VSIMs); dynamically selecting and associating each VSIM with respective modems based on real-time performance data; and redistributing traffic across the bonded links to maintain optimal network diversity and communication performance.
[0157] Some embodiments may provide a method for multi-operator connectivity management, by: obtaining multiple VSIM profiles from remote servers; selectively assigning VSIMs to modems to ensure connectivity with distinct network operators; and dynamically rotating VSIMs between modems to prevent prolonged dependency on any single operator.
[0158] Some embodiments may provide a method for real-time traffic redistribution, by: continuously monitoring the quality of each active communication link; dynamicallyredistributing data traffic across available modems based on real-time bandwidth, latency, and error rate metrics; and adapting traffic flow to optimize overall system performance.
[0159] Some embodiments may provide a method for proactive congestion avoidance, by: predicting (e.g., based on Machine Learning analysis) network congestion based on historical and real-time performance data; preemptively switching active modems to less congested networks; and automatically adjusting VSIM assignments to maintain optimal communication throughput and reduce latency.
[0160] Some embodiments may provide a method for VSIM preloading and switching, by: preloading multiple VSIM profiles onto modems; monitoring active network performance; selectively switching between preloaded VSIMs to maintain connectivity with the best available network operators; and minimizing service disruption during the VSIM transition process.
[0161] Some embodiments provide a system for multi-link communication, comprising: a plurality of modems; a bonding manager configured to aggregate communication links using multiple virtual subscriber identities (VSIMs); and a controller that dynamically assigns VSIMs to modems based on real-time performance data to optimize communication across diverse networks.
[0162] Some embodiments provide a system for dynamic VSIM management, comprising: modems capable of handling multiple VSIMs; a VSIM management server that provides provisioning and configuration of virtual identities; and a control module that automatically switches VSIMs between modems based on current network conditions and performance needs.
[0163] Some embodiments provide a system for adaptive traffic redistribution, comprising: a performance monitoring module that collects real-time data on bandwidth, latency, and error rates of each active link; a traffic redistribution processor that dynamically reallocates data streams across modems; and a bonding manager that optimizes link usage for enhanced communication stability.
[0164] Some embodiments provide a system for proactive network switching, comprising: a congestion prediction module that forecasts potential network congestion; a network technology switcher that directs modems to switch between different network operators or technologies; and a VSIM rotation manager that maintains diverse connectivity by adjusting VSIM assignments.
[0165] Some embodiments provide a system for automated VSIM acquisition and assignment, comprising: a VSIM acquisition module that downloads new VSIM profiles froma remote server; a compatibility checker that ensures the selected VSIMs are suitable for current modems and network conditions; and a VSIM assignment controller that allocates profiles to optimize multi-operator connectivity.
[0166] Some embodiments provide a system for resilient multi-operator communication, comprising: a modem redundancy manager that ensures a minimum number of distinct network operators are always connected; a failover system that switches to backup connections when primary links fail; and a link quality analyzer that guides modem and VSIM selection to enhance overall system resilience.
[0167] Some embodiments may provide a method for dynamic VSIM switching / exchange / replacement / removal / addition; by continuously monitoring performance metrics of active modems; identifying suboptimal communication conditions; automatically switching VSIMs between modems to maintain a minimum level of network operator diversity; and enhancing communication stability without user disruption.
[0168] Some embodiments may provide human-machine interface by which the user, or apparatus operator or another authorized user, may review cellular modems performances, scores, network scores, switching decisions, switching results, and / or any other part of the switching process; optionally enabling such reviewing user to intervene (e.g., remotely) in this switching process, to initiate it or parts of it (for example, only the assessments, scoring and ranking while avoiding actual switching), to put it on hold or to pause it, to terminate or to stop it, to change its configuration or conditions, to change or overrule or override or preempt a switching decision, to be prompted for approval or disapproval or changing a part of the switching process (e.g., to approve all or specific switching decisions), to change switching schemes or strategy or priorities, to change the decision weights for all or specific switch decisions or parameters, to force a switch, and / or to take any other action.
[0169] In some embodiments the “user” (e.g., that reviews such switching-related data and / or decisions, and / or that intervenes as described with regard to such switching decisions or switching operations), may be: a human user operating a computerized device or an electronic device (e.g., a desktop computer, a laptop computer, a tablet, a smartphone), or may be an Al-based Agentic Unit, or may be a humanoid robot or other robot or other machine or a software module or a hardware module or a hybrid hardware-and-software module that is programmed or configured or prompted to review such data and / or to make such decisions and / or to perform intervening operations or other actions as described.
[0170] In some embodiments, the monitoring of performance metrics includes measuring bandwidth, latency, error rates, and signal strength of each active modem. In someembodiments, identifying suboptimal communication conditions comprises detecting increased latency or packet loss that exceeds predefined thresholds. In some embodiments, the automatic switching of VSIMs is performed without interrupting ongoing data sessions by preloading alternative VSIMs on standby modems. In some embodiments, the method further comprises: prioritizing VSIMs that connect to underutilized network operators to ensure balanced usage of available networks. In some embodiments, switching VSIMs includes dynamically reallocating data traffic to the newly assigned modems to optimize link performance. In some embodiments, the method comprises: logging historical performance data of VSIMs and modems to refine future switching decisions.
[0171] In some embodiments, the switching process is initiated based on real-time alerts from a remote server that detects degraded network conditions. In some embodiments, the method comprises: evaluating the cost of switching VSIMs and selecting profiles that minimize operational expenses while maintaining performance. In some embodiments, the switching of VSIMs is optimized by using Machine Learning algorithms that predict the most suitable profiles based on past performance. In some embodiments, suboptimal communication conditions are mitigated by immediately switching to a VSIM associated with a network operator that offers better signal quality. In some embodiments, the method comprises: notifying the user or system operator of VSIM switching events and their impact on network performance. In some embodiments, the switching of VSIMs includes synchronizing modem states to ensure seamless data transmission across all active communication links.
[0172] In some embodiments, the method comprises: automatically scanning for available networks before initiating a VSIM switch, ensuring the new profile connects to the most optimal network. In some embodiments, the method further includes monitoring energy consumption and selecting VSIMs that optimize power efficiency for battery-powered devices.
[0173] In some embodiments, the switching process involves a step of temporarily buffering outgoing data to prevent packet loss during the transition between VSIMs. In some embodiments, the method further comprises: dynamically adjusting transmission power of the modem to align with the newly assigned VSIM’s network requirements. In some embodiments, the method includes verifying the security credentials of new VSIM profiles to prevent unauthorized network access. In some embodiments, the VSIM switching is conducted based on predefined policies that prioritize connectivity with preferred network operators.
[0174] In some embodiments, the method further comprises re-assigning inactive VSIMs to modems with the lowest current load, to maintain a balanced distribution of network resources. In some embodiments, the switching of VSIMs includes optimizing modemconfiguration settings to match the technical requirements of the new network operator. In some embodiments, the method comprises: detecting and correcting any synchronization mismatches between modems and VSIM profiles during the switching process. In some embodiments, the automatic switching of VSIMs is performed with a failover mechanism to revert to a previous configuration if the new network fails to perform adequately. In some embodiments, the method further comprises: negotiating network parameters with the new operator to optimize connection quality during the VSIM switch.
[0175] In some embodiments, suboptimal conditions are identified through real-time feedback loops that continuously assess link performance metrics. In some embodiments, the method comprises: dynamically modifying data encryption settings based on the security protocols required by the new VSIM’s network. In some embodiments, the switching process includes a predictive component that anticipates or predicts or estimates future network performance trends to preemptively switch VSIMs before degradation occurs.
[0176] The following is a demonstrative method or process for scoring of cellular modem performance and dynamic switching decision-making.
[0177] Step 1: Periodically, all or a subset of the associated modems or VSIMs are scored, by generating a performance score for each of them; such as, every T seconds (e.g., every 5 or 10 or 30 seconds). For example, scoring may be based on (or may reflect) their statistical uplink performance in the previous one or more periods, such reflecting uplink bandwidth, and / or uplink latency, round trip time (RTT), loss rate (e.g., data loss rate, packet loss rate, bit loss rate); and / or their video-related performance characteristics (e.g., video frame loss rate or video frame skip rate, or other); and / or on their respective statistical or aggregated over time network performance in one or more of the periods, such as RSRP or RSRQ or RSSI or Tx power or modulation type; and / or by generating a statistical performance parameter by itself (e.g., uplink bandwidth, or video frame skipped or skip rate). In some embodiment, the score per cellular modem, or the score per V-SIM / E-SIM / other cellular profile identifier or cellular subscriber identifier, may correspond to (or may reflect) a single parameter or a single performance characteristic; whereas, in other embodiments, such score may indicate a weighted value that is based on a formula that takes into account two or more of those and / or other performance parameters. (2
[0178] Step 2: Optionally, the cellular modems are periodically ranked (or ordered) according to their performance scores.
[0179] Step 3: The one or more PLMN / MNO networks are periodically, or when needed, scored or evaluated or statistically scored, based on the performance and / or the scoresof the relevant cellular modems and / or the relevant V-SIMs / E-SIMs / SIMs / cellular subscriber profiles / credentials / subscriber IDs that are used to transmit in the respective period over each such PLMN / MNO. In some embodiments, there may be more than a single score for a PLMN / MNO, for example, “performance score” and “diversity / risk / resiliency / redundancy score”, according to same or different parameters.
[0180] Step 4: The switching decision-making entity or unit periodically evaluates the modems scores, and decides that one or more of the modems should be switched.
[0181] Step 5: The switching decision-making entity or unit evaluates the one or more scores of one or more PLMN / MNOs, as well as other parameters such as the relevancy / restrictive / prohibitive constraint of such candidate (or target) PLMN / MNO in relation to that particular modem; and decides to which of these candidate PLMNs / MNOs to switch the particular modem, using relevant V-SIM / E-SIM / SIM / profile / credentials / subscriber IDs.
[0182] Step 6: The transceiver (or a controller or transmission manager associated therewith or controlling it) is instructed to perform the switch of that particular modem to that particular target PLMN / MNO.
[0183] Additionally or alternatively, some embodiments may perform the following operations as described herein:
[0184] Step A: The process identifies accredited or pre-defined reason or trigger or triggering event or triggering condition, to change a switching strategy for a particular modem and / or for that PLMN / MNO / resource and / or for that geo-location and / or for that time and / or for that transceiver and / or for any other relevant parameter. The triggering event may be, for example, detecting a transition from consistently being static (non-moving) to consistent being moving / on-the move, or vice versa; or detecting that the change in moving speed of the transmitting device has increased (or, has decreased) by at least P percent (e.g., by at least 25 or 40 percent) in the most-recent T seconds (e.g., in the most-recent 30 seconds) relative to a previously-established moving speed; or detecting that a particular cellular network that used to provide 5G communication is now providing only 4G or only 3G communication; and / or other triggering events or conditions.
[0185] Step B: The device may change the switching strategy of the Switching Decision-Making Entity (or unit) to from a current / most-recent / first strategy to a new / different / updated / modified / target / second strategy; for example, from an uplink performance oriented / optimized strategy, to a strategy that seeks to ensure or to achieve or to attempt maximal / optimal / sufficient PLMN / MNO diversity.
[0186] Step C: The device may assess relevant modem score(s), and / or PLMN / MNO / resource score(s), according to the relevant parameter configurations for that second switching strategy at that point.
[0187] Step D: If and when a switching decision is made, in accordance with the second switching strategy that is now enforced or employed, then the device instructs to switch the particular modem / s to another PLMN / MNO or other resource.
[0188] Reference is made to Fig. 1, which is a schematic illustration of a system 100, in accordance with some demonstrative embodiments. It shows a transmitting / bonding device 130, equipped (or associated) with a plurality of modems 141. Each modem is associated with, or can be associated with, a SIM unit 151 (e.g., V-SIM, E-SIM, physical SIM); and a Configuration 149 provides initial and / or updated association and definitions to enable cellular communications.
[0189] A Bonding Engine 110, which may also be referred to as a “smart” or “intelligent” Bonding Engine, is operably in communication with the Transmitting / Bonding Device 130. The Bonding Engine receives telemetry data from the Transmitting / Bonding Device 130, and sends actions or commands to the Transmitting / Bonding Device 130. The Bonding Engine 110 is in communication with one or more units or databases, from which the Bonding Engine can obtain consultation data, advice data, raw data, processed data, insights, and / or other data that such units or databases can store or prepare or provide, and that the Bonding Engine can obtain and take into account. For example, the Bonding Engine 110 may obtain information from a Provisioning Unit / Database 161, from a Geo-Based (geographical) database 162, from a History Database 163 that can provide historical data or previous sessions data, from a Short-Term Session Database 164 that can provide data obtained from a current / ongoing communication session, from a SIM capabilities database 165, and / or from other databases or units.
[0190] The Bonding Engine 110 is further in communication with a remote or cloudbased SIM Provider 120, which can be commanded to load / save / activate a cellular subscriber profile or a V-SIM or E-SIM or other cellular identity unit, based on decisions made by the Bonding Engine 110 and / or by the Transmitting / Bonding Device 130. Such operations may further include switching operations, in which a particular modem is switched from utilizing (or being operably associated with) a first SIM / V-SIM / E-SIM, to utilizing (or being operably associated with) a second SIM / V-SIM / E-SIM; as well as operations to switch cellular network / s that are used, such as to switch or modify a network, a technology used (e.g., 3G or 4G or 5G or 6G), a particular frequency band or LTE band, or other modifications.
[0191] In some embodiments, switching decisions are made exclusively at (or by) the Bonding Engine 110, which is external and / or remote relative to the Transmitting / Bonding Device 130; and can be a cloud-based server. In other embodiments, switching decisions are made exclusively at (or by) the Transmitting / Bonding Device 130, optionally by taking into account one or more data-items or recommendations or insights or analysis results or evaluation results or proposals that originate from the remote / external Bonding Engine 110. In still other embodiments, one or more types of switching decisions or switching-related decisions are made locally within or by the Transmitting / Bonding Device 130, whereas one or more other types of switching decisions or switching-related decisions are made remotely at or by the Bonding Engine 110. In yet other embodiments, both the Bonding Engine 110 and the Transmitting / Bonding Device 130 may initiate or trigger switching operations. In some embodiments, optionally, one or more rules may dictate which of these two units (the Transmitting / Bonding Device 130, or the Bonding Engine 110) prevails or governs (or yields, or holds back) in case of contradicting or non-matching decisions by these two units. Other suitable architectures may be used.
[0192] Reference is made to Fig. 2, which is a sequencing diagram 200 demonstrating operations and their sequence in accordance with some demonstrative embodiments. It is noted that the Bonding Unit in this diagram refers to the Transmitting Device (e.g., the device that uploads video); whereas the Bonding Engine in this diagram refers to a remote / external / cloud-based engine that performs the relevant decisions.
[0193] For example, the Bonding Unit activates SIMs based on a default configuration, and configures the default profile of each modem / SIM. The modems are initially used in scanning mode, to detect available networks. Upon network detection, the transmitting device sends telemetry information to the Bonding Engine, including modem telemetry (per each modem) and device telemetry. The Bonding Engine stores telemetry data and geographical information in the relevant databases, and calculates modem scores. The Bonding Engine consults with the databases (or the relevant units) to obtain historical data, short-term session data, geo-based data, modem capabilities, SIM capabilities, and other relevant information (e.g., “white list” or “black list” information for a particular cellular network). The Bonding Engine, in this example, decides on the relevant actions (e.g., decides to switch a modem), and sends to the Bonding Unit (of the Transmitting Device) the relevant command (e.g., command to switch operator / technology / band / LTE-band), and such commands are executed by the Bonding Unit of the Transmitting Device; some of those commands may require to load / save / activate / otherwise modify the operational status of a SIM / V-SIM / E-SIM, and this can beaccomplished with the SIM provider that can be commanded by the Bonding Engine (and / or, in some implementations, by the Bonding Unit of the Transmitting Device) to authorize and to perform such load / save / activation operations.
[0194] In some embodiments, the apparatus comprises at least one processor or controller, a dedicated memory subsystem for credential storage, and two or more cellular modems connected through high-speed communication links or buses or interfaces, each of the modems being uniquely associated with one or more virtual or physical SIMs, subscriber profiles, credentials, or cellular subscriber identities stored in volatile or non-volatile memory. The multi-link bonding apparatus may further integrate antennas, RF front-end modules, and transceivers configured to operate on multiple cellular bands and / or technologies, including but not limited to 3G, 4G, 5G, 6G, LTE, NR, UMTS, and any future -generation network standards. These modems, SIMs, and associated connections of the apparatus are continuously or periodically evaluated using a plurality of application-level and network-level performance metrics, derived from live traffic transmission or synthetic probing. Such metrics can include instantaneous and statistical uplink and downlink bandwidth, latency, round-trip time, error rates, packet loss ratios, jitter, and radio parameters such as RSRP, RSRQ, Tx power related, modulation type, RSSI, SNR, 5QI, or equivalent parameters.
[0195] Based on these measurements or estimates or predictions, each modem or connection can be dynamically switched between different PLMNs or cellular network operators, using distinct credentials, profiles, or VSIMs, enabling simultaneous or sequential operation across differing cellular technologies, frequency bands, geographic coverage areas, or serving cells. The cellular networks themselves may be ranked or ordered according to their aggregated statistical performance derived from all modems and connections currently or previously associated with them; when the periodic score of a first modem or PLMN is the lowest among the set and / or falls below a configurable performance threshold, a decisionmaking entity resident in the apparatus, or externally located, may direct the first modem to switch from the underperforming PLMN to a second PLMN selected as the highest-ranked network, the next best available network, or a network for which insufficient historical data exists, thereby increasing overall quality of service, throughput consistency, and service continuity.
[0196] Following such a switching decision, the apparatus generates secure control messages that are sent to the VSIM or profile management subsystem associated with the affected modem, instructing it to download, decrypt, load, or otherwise activate a second profile, credential set, or virtual SIM unit associated with the selected target PLMN. In somecases, this may involve remote retrieval of updated profile packages from an operator credential repository using secure OTA provisioning protocols such as GSMA SGP.22 or proprietary equivalents. The modem then begins, resumes, or completes registration with the second PLMN if it is not already registered, performing any necessary authentication and authorization procedures such as AKA, EAP, or GBA protocols, ensuring that connectivity is restored or maintained with minimal disruption. In other embodiments, the modem may already be concurrently registered with the second PLMN using capabilities such as dual SIM dual active (DSDA), dual SIM dual standby (DSDS), or dual connectivity mechanisms, enabling the switchover to occur in a near-seamless manner without the latency of a new registration cycle, thereby reducing packet loss and maintaining high application-layer quality.
[0197] Performance metrics, telemetry streams, and statistical data, including modem scores, connection performance parameters, error logs, and application-level measurements, may be transmitted from the multi-link apparatus to a remote network analytics server or cloud orchestration platform using secure communication channels, such as TLS-encrypted TCP tunnels or lightweight M2M protocols. The remote server may mirror the PLMN and modem scoring algorithms, aggregating data from numerous apparatuses, and perform high-level analytics such as anomaly detection, congestion prediction, or geospatial performance mapping. This centralized entity can execute or refine switching decisions through its own decision engine and then propagate control instructions back to the multi-link apparatus using secure APIs or messaging channels. Upon receiving such a directive, the apparatus performs the required profile reassignment, drawing on locally stored credential caches or remotely retrieved profiles, SIM credentials, or VSIM units from a credential bank, identity management service, or carrier provisioning server, thereby ensuring that orchestration of switching events remains consistent and optimized across devices in a fleet or deployment.
[0198] In some implementations, the switching decision entity may introduce a dwell time or hysteresis mechanism, requiring the modem’s score to remain statistically below a secondary, independently configurable threshold for a predefined time interval before initiating the switch. This interval can be adjusted based on environmental factors, PLMN diversity goals, or the historical stability of the candidate networks, and is intended to avoid unnecessary or oscillatory transitions caused by transient performance fluctuations, such as short-lived interference, temporary congestion, or handover events. The dwell logic can further leverage weighted moving averages or exponential decay functions when evaluating score history, and may dynamically elongate or shorten the time window based on the number of modemsconcurrently connected, the diversity of PLMNs currently in use, or user- specific quality-of- service policies encoded in the apparatus.
[0199] If the first modem is the last remaining connection active on a particular PLMN, the decision entity may elect to defer switching, even when its performance score falls below predefined thresholds, in order to preserve critical operator diversity or maintain essential service continuity for at least one connection per operator. This decision may be further conditioned on whether other modems in the system are already distributed across one, two, or three different PLMNs, and whether those other PLMNs are exhibiting statistically higher scores. The apparatus may balance these competing objectives by using hierarchical decision trees, probabilistic models, or user-configurable weighting schemes that prioritize network redundancy, regulatory constraints, or contractual roaming obligations over marginal improvements in throughput or latency for the remaining link.
[0200] The system may maintain rolling historical performance databases for each modem and PLMN across sliding or overlapping time windows, which may be independently defined for modems and for network operators, and whose lengths may be adaptively adjusted based on observed variance or environmental change. These data sets may be periodically reset, reweighted, or subjected to outlier rejection procedures when significant network events occur, such as tower outages, PLMN-level maintenance, or catastrophic coverage loss, in order to prevent stale or misleading data from biasing present-time decisions. This flexible scoring framework allows the system to adapt to evolving network conditions, environmental mobility, and application usage patterns while preserving the statistical accuracy and relevance of its evaluations.
[0201] Each modem and each PLMN may maintain multiple concurrent scoring vectors that capture different attributes or dimensions, such as sustained throughput, instantaneous latency, packet retransmission rates, reliability, diversity contribution, monetary cost per megabyte, and radio signal quality. The decision logic can weight or prioritize these vectors differently based on user-specified policies, service-level agreements, or detected changes in the external network environment. For instance, in a mission-critical application the logic may weight latency and packet loss more heavily than cost, whereas in a consumer scenario cost or data cap considerations may take precedence. These scoring vectors may be further fused with contextual inputs such as device battery state, geographic mobility forecasts, or predicted operator congestion levels derived from big-data analytics.
[0202] In order to reduce the risk of oscillatory behavior or network instability, the system enforces a configurable minimum interval between successive switching eventsinvolving the same modem or distinct modems within the apparatus. This interval can be adjusted based on factors such as the severity of performance degradation, the diversity of PLMNs currently in use, or the availability of backup connections. Once a switch has been executed, the apparatus resumes packet forwarding over the newly established path, reconstructs bonded sessions, and recomputes performance statistics in the context of the updated configuration, ensuring that the bonded multi-link connection remains stable and that session continuity is preserved across all active applications.
[0203] In some embodiments, the system deliberately suppresses or vetoes or prevents or avoids switching events that are predicted to fail or to result in degraded service, such as attempts involving blacklisted operators, profiles known to be incompatible with the current hardware platform, coverage areas with insufficient signal strength, or subscriber identities that have been revoked or suspended by the network. This predictive logic may be implemented using historical failure databases, machine learning classifiers, or real-time signal quality forecasts, and serves to minimize service interruptions, conserve bandwidth, and avoid unnecessary credential provisioning cycles by preventing futile transitions from being attempted.
[0204] When the top-ranked PLMN is unavailable, fails authentication, or cannot successfully complete registration, the apparatus may immediately attempt to switch the modem to the next best candidate that satisfies the reliability, diversity, and performance criteria. This fallback mechanism is designed to ensure continuity of service under adverse conditions, such as widespread operator outages, coverage blackouts, or unexpected roaming restrictions. The fallback logic can further prequalify alternate PLMNs by initiating background attachment procedures using spare modems or secondary profiles, so that at least one alternate path is likely to be immediately usable when required.
[0205] The periodic ranking and scoring of PLMNs may be executed according to a fixed schedule, an adaptive schedule that lengthens when the system detects stable conditions, or exclusively on demand when a candidate for switching emerges based on threshold crossings. This scheduling flexibility balances computational and energy overhead with responsiveness to changing network environments. In some implementations, the system may also differentiate between background ranking cycles and expedited ranking cycles triggered by specific performance alarms, enabling proactive network selection without excessive processing.
[0206] In deployments where multiple networks simultaneously meet or exceed performance criteria, the system may adopt a rotation-based or round-robin allocation strategy,cycling modems through different PLMNs over time according to a defined policy. This approach distributes network exposure evenly across operators, refreshes dormant links periodically to ensure that their credentials remain valid and that profiles remain synchronized, and prevents overreliance on any single PLMN, thereby improving long-term resilience and ensuring balanced utilization of all available network resources.
[0207] In some embodiments, an apparatus comprises: a hardware processor; a plurality of cellular modems operably coupled to said hardware processor, each modem being configured for wireless communication with a plurality of different Public Land Mobile Networks (PLMNs) and being associated with one or more subscriber identities comprising one or more of virtual subscriber identity modules (VSIMs), physical subscriber identity modules (SIMs), downloadable or embedded subscriber profiles, cellular credentials, and cellular subscriber identifiers; a memory or secure repository accessible by said hardware processor and configured to store at least one of said VSIMs, SIMs, profiles, credentials, or cellular subscriber identifiers; and a bonding and switching management module implemented using said hardware processor and executable instructions stored in said memory.
[0208] In some embodiments, the bonding and switching management module is configured to dynamically associate at least one of said VSIMs, SIMs, profiles, or credentials with at least one of said cellular modems, and to periodically score each cellular modem and its associated connection or link based at least in part on application-level performance parameters experienced during transmission or reception of data over that connection or link, said parameters comprising one or more of: instantaneous or statistical uplink bandwidth, instantaneous or statistical uplink latency, round-trip time (RTT), error rate, packet loss rate, jitter, or cellular network performance indicators including one or more of Reference Signal Received Power (RSRP), Reference Signal Received Quality (RSRQ), Transmission power related (Tx power), modulation type, Received Signal Strength Indicator (RSSI), quality of service index (5QI), or other radio-frequency and quality-of-service parameters.
[0209] In some embodiments, the bonding and switching management module is further configured to: (i) compute, for each PLMN currently being used by at least one cellular modem of the apparatus, a PLMN score that statistically aggregates the performance scores of all cellular modems and links associated with said PLMN; (ii) rank said PLMNs according to said PLMN scores; (iii) compare, for each cellular modem, its current or periodic performance score against a threshold, and upon determining that a cellular modem is operating on a first PLMN having the lowest ranked PLMN score and that said modem's periodic score is below a threshold, execute a switching decision to disassociate said cellular modem from said firstPLMN and to associate it with a second PLMN selected from (a) the PLMN having the best ranked PLMN score, (b) a PLMN having a next-best ranked PLMN score that differs from said first PLMN, or (c) a PLMN not previously scored for the current time period.
[0210] In some embodiments, the bonding and switching management module is further configured to instruct a VSIM handler associated with said cellular modem to download, load, or activate a VSIM, profile, or credentials corresponding to said second PLMN, and to cause said cellular modem to register with said second PLMN and resume service thereon, thereby maintaining or improving overall communication performance and multi-PLMN diversity of the apparatus.
[0211] In some embodiments, after the switching of the first modem to the second PLMN, said first modem is either already registered to said second PLMN using the second credentials through a mechanism such as dual SIM dual standby or dual SIM dual active, or is actively dialing, initiating, or completing registration with the second PLMN to establish service continuity with said second PLMN.
[0212] In some embodiments, the bonding and switching management module transmits performance metrics, alerts, statistics, or other parameters of any subset or all of the modems or the apparatus applications to a remote server, said remote server performing any subset of PLMN scoring, modem scoring, and switching decision functions, and sending switching instructions back to the apparatus, wherein the second profile or credentials is preloaded or downloaded from a remote SIM or credential repository.
[0213] In some embodiments, the switching decision-making entity initiates a switching instruction for the first modem only after a first period in which the performance of said first modem, link, or VSIM is statistically determined to be below a configurable second threshold, thereby reducing unnecessary or premature switching operations during transient performance fluctuations.
[0214] In some embodiments, the switching decision-making entity refrains from switching the first modem when said modem is the last modem operating on a first PLMN, even if its score is statistically below a third threshold, thereby preserving PLMN diversity within the apparatus by avoiding a complete loss of connectivity to said first PLMN.
[0215] In some embodiments, the remaining modems of the apparatus are simultaneously transmitting on one, two, or three other different PLMNs, and said condition influences whether the first modem is switched to preserve overall network diversity across the bonded apparatus.
[0216] In some embodiments, the switching decision-making entity determines whether to switch the first modem based on the number of active PLMNs, whether the apparatus is in motion, estimated mobility speed, predicted cellular performance of MNOs along a current or expected route, and a switching strategy prioritizing PLMN diversity over immediate uplink transmission optimization.
[0217] In some embodiments, the periodic scoring of the modems and PLMNs considers their respective performance over any subset of previous time intervals, said intervals being the same or different for modem scoring and PLMN scoring, thereby allowing the system to factor in both short-term and long-term performance history.
[0218] In some embodiments, the scoring decision entity recalculates or nullifies prior statistics or scores upon detecting a triggering event, including changes in PLMN connectivity, switching events, significant performance shifts, or failures, thereby ensuring that outdated statistics do not improperly influence subsequent switching decisions.
[0219] In some embodiments, each modem and PLMN maintains multiple scores that include at least one of the following: uplink bandwidth, uplink latency, round-trip time, error rate, reliability score, diversity score (for PLMNs), wireless network parameters score, and cost score, thereby enabling multi-dimensional assessment of network quality.
[0220] In some embodiments, switching strategies and decisions for the first modem may consider any combination of the modem’s own scores, scores of the associated first PLMN, scores of the second PLMN, scores of other PLMNs, and scores of other modems to holistically determine the best switching outcome.
[0221] In some embodiments, the scoring or switching decision entity dynamically selects and applies a second combination of scores during an active transmission session based on strategy, modem performance, PLMN performance, or other network parameters, thereby adapting to changing conditions in real time.
[0222] In some embodiments, configurable time intervals are enforced between a first switching of a first modem, VSIM, SIM, or profile to a second resource and a subsequent switching of the same or a different modem, VSIM, SIM, or profile to a third resource, said third resource being identical or different, thereby mitigating hysteresis effects and improving stability.
[0223] In some embodiments, the apparatus resumes transmitting data packets over the first modem immediately after said modem is switched to the second PLMN, thereby reducing downtime and maintaining bonded traffic continuity.
[0224] In some embodiments, the switching entity is configured to avoid attempting to switch a modem or user equipment to a PLMN or MNO if the entity has determined that the switch will likely fail, be rejected, result in no service, or result in severely degraded service for the modem.
[0225] In some embodiments, the switching decision-making entity switches the first modem to a second-best scored PLMN or MNO if the entity determines that a switch to the highest scored PLMN or MNO is likely to fail, thereby maintaining connectivity while mitigating the risk of failed switching attempts.
[0226] In some embodiments, the scoring and / or ranking of any subset of the PLMNs is performed periodically at intervals identical or different from the intervals used for modem scoring, at dynamically changing intervals, or on an as-needed basis when a modem candidate for switching is identified with high probability.
[0227] In some embodiments, the switching decision-making entity executes modem switching using a round-robin scheme from among the subset of allowed VSIMs, SIMs, profiles, or credentials, each associated with the same or different PLMNs or MNOs, thereby evenly distributing switching opportunities and preventing overuse of any single PLMN.
[0228] In some embodiments, the bonding and switching management module is further configured to enforce a multi-PLMN diversity policy by maintaining at least two different PLMNs simultaneously connected through different cellular modems whenever such diversity is available, thereby reducing the probability of total communication failure, even if one or more PLMNs temporarily degrade in performance or completely lose connectivity.
[0229] In some embodiments, the bonding and switching management module dynamically adjusts the periodic scoring interval based on context, wherein the scoring interval is reduced during motion of the apparatus or upon detection of frequent performance fluctuations and increased during periods of stable connectivity, thereby optimizing responsiveness without unnecessarily consuming processing and battery resources.
[0230] In some embodiments, the bonding and switching management module determines whether to switch a cellular modem based on a weighted score that combines performance indicators including uplink bandwidth, latency, error rate, jitter, and PLMN diversity, each weighted according to a configurable optimization strategy that prioritizes at least one of throughput, latency minimization, cost reduction, or operator heterogeneity.
[0231] In some embodiments, the bonding and switching management module maintains a minimal time interval threshold between successive switching events for a cellular modem, said threshold being dynamically adjustable based on observed network stability andused to mitigate excessive switching (hysteresis) and to allow adequate accumulation of performance statistics before re-evaluating switching decisions.
[0232] In some embodiments, wherein the bonding and switching management module is further configured to initiate a dual or cross-switching operation in which two modems exchange PLMNs simultaneously or sequentially, such that a first modem switches from a prohibitive PLMN to a second PLMN predicted to accept it, while a second modem simultaneously switches to said prohibitive PLMN predicted to accept the second modem.
[0233] In some embodiments, wherein the bonding and switching management module is further configured to pre-download or maintain in memory multiple VSIM profiles from different PLMNs and to activate a preloaded VSIM profile when a modem must be switched, thereby reducing downtime associated with network registration and accelerating switching completion relative to downloading a VSIM profile at the time of switching.
[0234] In some embodiments, the bonding and switching management module can command a modem to switch between different cellular technologies (3G, 4G, 5G, or later) within the same PLMN before initiating a PLMN switch, based on observed congestion or performance deterioration in one technology, thereby reducing switching time and minimizing interruptions to data transmission.
[0235] In some embodiments, the bonding and switching management module can command a modem to switch between different cellular spectrum bands within the same PLMN as a mitigation step before performing a PLMN switch, said band selection being based on band-specific performance statistics, observed congestion levels, and predicted availability.
[0236] In some embodiments, the bonding and switching management module further computes and maintains a historical failure probability metric for each modem-PLMN combination, based on previous failed registration attempts, exclusion policies, or observed degraded service, and wherein the module avoids switching to PLMNs predicted to reject the modem even if those PLMNs have the highest periodic PLMN score.
[0237] In some embodiments, the bonding and switching management module is configured to temporarily suppress scoring for a modem during a switching operation, to prevent skewed low scores from influencing PLMN rankings while the modem is disconnected and registering with a different PLMN.
[0238] In some embodiments, the bonding and switching management module is configured to prioritize the selection of PLMNs with which the apparatus or other devices in its geo-location have recently observed successful registrations and strong performancemetrics, thereby leveraging historic and contextual data to reduce switching failures and accelerate service restoration.
[0239] In some embodiments, the bonding and switching management module selectively allocates traffic packets across cellular modems based on their periodic scores and the scoring of associated PLMNs, such that higher scoring modems carry a proportionally greater share of the uplink and / or downlink traffic, while lower scoring modems are allocated only minimal or redundant data packets.
[0240] In some embodiments, the bonding and switching management module can command at least one modem to temporarily scan for available PLMNs or spectrum bands using a roaming VSIM when no local PLMN provides sufficient service, said roaming VSIM being configured to register with multiple operators and thereby assist in acquiring replacement VSIM profiles.
[0241] In some embodiments, the bonding and switching management module implements a configurable policy to limit the number or percentage of cellular modems simultaneously associated with a single PLMN, said limit being overridden only when no other adequately performing PLMNs are available, thereby preserving PLMN diversity and reducing correlated network failures.
[0242] In some embodiments, the bonding and switching management module is further configured to establish a fallback connection through an external device interface, the external device being a smartphone or tablet providing a Wi-Fi, Bluetooth, or similar hotspot, said fallback connection being used to maintain access to a virtual SIM repository and / or to sustain data transmission when all cellular modems simultaneously experience degraded or lost connectivity.
[0243] In some embodiments, the bonding and switching management module is configured to periodically exchange performance data with a remote virtual SIM management server that analyzes said data in real-time or near real-time and transmits recommendations or commands to the apparatus regarding PLMN switching, diversity enforcement, and virtual SIM provisioning, thereby enabling hybrid device-side and server-side optimization.
[0244] In some embodiments, the bonding and switching management module is further configured to receive artificial intelligence or machine learning-based predictions from a remote server, said predictions estimating future network performance degradation or improvement for specific PLMNs or cellular modems, and wherein said predictions are incorporated into the decision-making process for selecting whether and when to switch a modem to another PLMN.
[0245] In some embodiments, the bonding and switching management module is configured to transmit anonymized geo-location and modem performance metrics to a remote optimization server, and to receive updated priority lists or weighted scores for PLMNs specific to that geographic region and time, thereby improving the likelihood of successful modem registration and maintaining robust connectivity across varying locations.
[0246] In some embodiments, wherein the bonding and switching management module is configured to automatically revert to a previously connected PLMN and VS IM profile when a switching attempt to a second PLMN fails or results in unsatisfactory performance, said reversion being executed within a predetermined time window to reduce the probability of prolonged connectivity loss.
[0247] In some embodiments, the bonding and switching management module is further configured to queue switching commands for multiple modems and execute said commands in a staggered fashion, thereby avoiding simultaneous switching events that may reduce total bonded bandwidth or cause packet delivery gaps during active transmission sessions.
[0248] In some embodiments, the bonding and switching management module is configured to perform adaptive learning using historical data of switching outcomes, modem failures, and PLMN performance, thereby dynamically updating internal policies such as threshold levels, diversity goals, and candidate PLMN exclusion lists to optimize future switching decisions.
[0249] In some embodiments, the bonding and switching management module is configured to initiate partial traffic rerouting to higher-performing modems prior to switching a poorly performing modem, thereby preserving active data sessions during switching operations and minimizing the perceived interruption by connected user devices or data sources.
[0250] In some embodiments, the bonding and switching management module is further configured to selectively reduce traffic load on a modem exhibiting marginal performance degradation, rather than immediately switching said modem, when doing so preserves PLMN diversity or avoids entering a predicted congestion state on alternative PLMNs.
[0251] In some embodiments, the bonding and switching management module is configured to maintain multiple PLMN-specific modem score histories and to compute weighted averages incorporating both short-term and long-term performance data, thereby smoothing transient fluctuations while remaining sensitive to abrupt network failures.
[0252] In some embodiments, the bonding and switching management module is further configured to receive explicit operator or user input defining switching priorities or constraints, said input including maximum allowable switching frequency, minimum required PLMN diversity, maximum percentage of modems on a single PLMN, or explicit inclusion or exclusion of specified networks.
[0253] In some embodiments, the bonding and switching management module is configured to autonomously download new virtual SIM profiles from the remote virtual SIM management server when the total number of available PLMNs in a region drops below a threshold, thereby pre-emptively mitigating the risk of complete service loss due to insufficient network options.
[0254] In some embodiments, the bonding and switching management module is further configured to trigger scanning of available networks or spectrum bands by at least one modem dedicated to exploratory scanning, said modem being selected based on lowest current utilization, to identify additional PLMNs capable of improving diversity or throughput without disrupting active bonded connections.
[0255] In some embodiments, the bonding and switching management module is configured to dynamically adjust switching thresholds based on power availability, said thresholds becoming more aggressive in low battery scenarios to prioritize reliable connectivity while reducing energy expenditure associated with frequent scanning or switching operations.
[0256] In some embodiments, the bonding and switching management module is further configured to selectively switch VSIM profiles across modems to optimize licensing cost structures or data usage policies associated with specific PLMNs, in addition to performance and diversity considerations, thereby integrating cost-aware decision-making into the switching process.
[0257] In some embodiments, the bonding and switching management module is configured to command one or more cellular modems to switch between different cellular technologies (3G, 4G, 5G, 6G, or later) within the same PLMN based on observed performance metrics, congestion, or coverage availability, and wherein said technology switching is prioritized as a mitigation step before initiating a full PLMN switch to reduce service interruption and maintain bonded traffic continuity.
[0258] In some embodiments, the bonding and switching management module maintains a preference hierarchy of cellular technologies for each modem, said hierarchy being dynamically updated based on real-time performance data and historical success rates, suchthat the module selectively prioritizes the highest performing available technology to maintain optimized uplink bandwidth and latency across bonded links.
[0259] In some embodiments, the bonding and switching management module is further configured to command a modem to simultaneously register with two or more different cellular technologies of the same PLMN using multi-profile or multi-IMSI capabilities, thereby minimizing latency when switching from one technology to another during periods of fluctuating network conditions or device mobility.
[0260] In some embodiments, the bonding and switching management module is configured to use external device interfaces to selectively offload traffic to a Wi-Fi, satellite, or wired backhaul connection provided by a companion device, and wherein said offload is automatically activated when bonded cellular links fail to meet minimum throughput or latency thresholds.
[0261] In some embodiments, the bonding and switching management module is further configured to establish prioritized communication channels over the fallback connection to external devices, such that critical control signaling and virtual SIM provisioning are maintained even when full bonded traffic cannot be sustained through the fallback interface.
[0262] In some embodiments, the bonding and switching management module is configured to predict the unavailability of all active PLMNs based on geo-location and historic failure patterns and, prior to loss of service, to preemptively establish a standby link through an external device hotspot, thereby reducing downtime during complete cellular outages.
[0263] In some embodiments, the bonding and switching management module is further configured to coordinate PLMN diversity management across multiple apparatuses within a networked group by exchanging PLMN performance data and diversity states, thereby enabling collaborative optimization of bonded connectivity when multiple apparatuses are colocated or operating in similar network conditions.
[0264] In some embodiments, the bonding and switching management module implements a distributed coordination protocol with other bonded apparatuses to avoid saturating a single PLMN when alternative PLMNs are available, said protocol being executed through secure inter-apparatus signaling channels over bonded links or auxiliary communication paths.
[0265] In some embodiments, the bonding and switching management module is configured to dynamically reassign VSIM profiles among bonded apparatuses in a coordinated group, such that underutilized PLMN profiles in one apparatus are provisioned to anotherapparatus experiencing degraded connectivity, thereby improving total group throughput and PLMN diversity.
[0266] In some embodiments, the bonding and switching management module is further configured to share historical modem scoring data with one or more remote servers that aggregate performance statistics across multiple apparatuses and provide optimized PLMN preference tables specific to each geographic region and time window.
[0267] In some embodiments, the bonding and switching management module is configured to selectively switch a modem to a roaming-capable PLMN when all locally available PLMNs fall below a defined performance threshold, and wherein the module enforces cost controls by limiting the bandwidth allocated to roaming links based on preconfigured data usage policies.
[0268] In some embodiments, the bonding and switching management module is further configured to temporarily suspend non-critical data traffic when bonded bandwidth drops below a threshold, while continuing to prioritize control signaling, VSIM provisioning, and other mission-critical traffic across available links, thereby maintaining operational continuity even during severe network degradation.
[0269] In some embodiments, the bonding and switching management module can automatically invoke predictive Al models to estimate the likelihood of successful registration with candidate PLMNs, said estimates being based on real-time measurements, historic outcomes, and crowd-sourced performance data from other apparatuses, thereby increasing switching success rates and reducing wasted attempts.
[0270] In some embodiments, the bonding and switching management module is configured to enforce group-wide PLMN diversity constraints across multiple apparatuses by ensuring that no more than a predetermined percentage of apparatuses are simultaneously associated with the same PLMN when sufficient alternative PLMNs are available.
[0271] In some embodiments, the bonding and switching management module is further configured to execute conditional switching logic that combines PLMN scores, diversity goals, modem-specific performance histories, and user-defined policies, said logic selectively delaying switching events when doing so increases the likelihood of achieving sustained performance improvements without reducing PLMN diversity.
[0272] In some embodiments, the bonding and switching management module is configured to implement secure VSIM provisioning by using encrypted communication channels and multi-factor authentication with a remote VSIM management server, therebyensuring that VSIM downloads, activations, and revocations are protected against interception or unauthorized modification during modem switching and profile assignments.
[0273] In some embodiments, the bonding and switching management module is further configured to evaluate the licensing cost or data pricing policies associated with each PLMN and to factor said costs into the switching decision, such that the apparatus may prefer lower-cost PLMNs when performance differences are within a configurable margin of acceptability.
[0274] In some embodiments, the bonding and switching management module is configured to dynamically enforce cost caps by throttling or terminating data sessions on PLMNs whose cumulative usage charges exceed predetermined thresholds, while maintaining sufficient PLMN diversity by allocating traffic to alternative PLMNs within acceptable performance limits.
[0275] In some embodiments, the bonding and switching management module is further configured to simultaneously manage bonded and non-bonded traffic streams, selectively routing latency-sensitive or high-priority packets through the highest performing bonded links while directing background or non-critical traffic through less optimal links or cost-preferred PLMNs. In some embodiments, the bonding and switching management module is configured to isolate anomalous traffic patterns by continuously analyzing packet-level metrics, detecting potential modem or network malfunctions, and dynamically re-routing or suppressing traffic from suspected malfunctioning links without requiring full PLMN switching, thereby preserving bonded performance stability.
[0276] In some embodiments, the bonding and switching management module is further configured to implement Al-based anomaly detection algorithms trained on historical performance and network data, said algorithms identifying deviations such as sudden jitter spikes, unusual error rates, or packet loss patterns that trigger proactive PLMN or modem switching before complete service failure occurs. In some embodiments, the bonding and switching management module is configured to implement predictive caching of VSIM profiles for PLMNs likely to become active, based on Al-derived predictions of future geolocations, thereby enabling immediate PLMN switching without incurring download delays.
[0277] In some embodiments, the bonding and switching management module is further configured to enforce user-defined data usage policies, including maximum allowed usage per PLMN or modem and preferential routing of bonded traffic through unmetered or discounted links, to balance connectivity performance with overall cost efficiency.
[0278] In some embodiments, the bonding and switching management module is configured to prioritize traffic based on application type, such that real-time applications (e.g., video conferencing or live video feeds) are bonded across the highest-performing links while bulk data transfers are deferred or routed through lower-performing PLMNs.
[0279] In some embodiments, the bonding and switching management module is further configured to execute group-level cost optimization when multiple apparatuses operate together, dynamically redistributing bonded traffic among apparatuses in order to maximize total throughput while ensuring that collective PLMN data usage remains within predetermined cost budgets. In some embodiments, the bonding and switching management module is configured to selectively disable PLMNs identified as exhibiting fraudulent or unauthorized billing behaviors based on shared crowd-sourced reports from other apparatuses, thereby protecting against network-based cost anomalies or security threats.
[0280] In some embodiments, the bonding and switching management module is further configured to maintain redundant control paths for virtual SIM provisioning using separate secure channels from bonded data traffic, thereby ensuring that provisioning or switching commands are deliverable even during partial bonded traffic outages. In some embodiments, the bonding and switching management module is configured to leverage AI- based scoring to predict PLMN instability events based on real-time performance metrics and environmental context such as time of day, apparatus mobility patterns, and local network congestion levels, thereby triggering pre-emptive switching before degradation occurs.
[0281] In some embodiments, the bonding and switching management module is further configured to selectively reassign bonded traffic among active PLMNs in response to predictive cost models, said models estimating future costs based on historical usage, network tariffs, and upcoming data consumption trends. In some embodiments, the bonding and switching management module is configured to automatically synchronize its cost control, performance optimization, and diversity management policies with those of remote management servers, thereby enabling consistent multi-device behavior and centralized control for fleet-level deployments of apparatuses in distributed environments.
[0282] In some embodiments, the bonding and switching management module is configured to intentionally maintain at least one modem connected to a PLMN exhibiting temporarily poor performance, even when alternative PLMNs offer better current scores, to preserve PLMN diversity and ensure rapid recovery if the degraded PLMN later improves without incurring registration delays. In some embodiments, the bonding and switching management module is further configured to preferentially maintain connections to PLMNswith slightly lower immediate scores when predictive analytics indicate that said PLMNs will outperform currently higher-scoring PLMNs within a future time window, thereby optimizing long-term connectivity rather than short-term metrics.
[0283] In some embodiments, the bonding and switching management module is configured to randomly delay switching actions by a small, configurable time interval to reduce the likelihood of multiple apparatuses in the same geographic region simultaneously switching to the same PLMN, which could otherwise cause sudden network congestion.
[0284] In some embodiments, the bonding and switching management module is further configured to select a “good enough” or a sufficiently satisfactory PLMN rather than the highest-ranked PLMN when switching a modem, in order to preserve diversity by preventing over-concentration of modems on a single network, even if said decision temporarily sacrifices peak throughput. In some embodiments, the bonding and switching management module is configured to deliberately rotate modems among different PLMNs in a round-robin or staggered sequence, even when no performance issues are detected, to maintain valid network registrations and reduce switching time when future PLMN changes become necessary. In some embodiments, the bonding and switching management module is further configured to maintain a modem associated with a roaming-capable VSIM profile exclusively for emergency or recovery purposes, even if said modem could otherwise be allocated to higher-performing local PLMNs, thereby ensuring rapid fallback during catastrophic connectivity loss.
[0285] In some embodiments, the bonding and switching management module is configured to periodically re-test previously blacklisted PLMNs that had failed prior registration attempts, to detect and exploit any changes in network conditions or policies that may now allow successful registration, rather than permanently excluding such PLMNs.
[0286] In some embodiments, the bonding and switching management module is further configured to maintain redundant connections on two different PLMNs using the same VSIM profile in parallel when such duplication is temporarily permissible, thereby increasing reliability and reducing failover time when one of the PLMNs unexpectedly fails.
[0287] In some embodiments, the bonding and switching management module is configured to reduce traffic load on the best-performing PLMN link when its utilization approaches a predefined congestion threshold, even if alternate PLMNs are less performant, to prevent sudden degradation caused by oversaturation of the strongest link.
[0288] In some embodiments, the bonding and switching management module is further configured to purposely avoid immediate switching from a marginally performingPLMN during periods of rapid apparatus mobility, such as high-speed vehicular travel, thereby minimizing repeated switching events caused by transitory coverage fluctuations.
[0289] In some embodiments, the bonding and switching management module is configured to selectively delay traffic transmission over a marginally performing PLMN until performance stabilizes, while temporarily duplicating essential packets on alternative PLMNs, thereby avoiding complete disconnection without prematurely discarding the potentially recoverable PLMN link.
[0290] In some embodiments, the bonding and switching management module is further configured to intentionally assign a small proportion of bonded traffic to a low- performing PLMN link to maintain “keep-alive” activity, ensuring that the PLMN does not deregister the modem while monitoring for any improvement in link performance.
[0291] In some embodiments, the bonding and switching management module is configured to preferentially select PLMNs that historically degrade more gracefully under congestion, even when another PLMN currently provides higher throughput, thereby reducing the risk of sudden catastrophic failures during large-scale network disruptions.
[0292] In some embodiments, the improvement and / or deterioration in the specific or overall performance, after switching one or more of the modems, may be measured / estimated / scored. It may also be graphically or otherwise manifested to the user or to a machine, used may be used in subsequent calculations / assessments / decisions by the same device and / or by the decision-making entity and / or by other devices. Improvements over intervals of the session, or over complete communication sessions, may thus executed or achieved. Improvements or deteriorations may be in either one or more of the measured or assessed parameters, and / or in the video or application related parameters (such as: frames dropped or skipped or missed or pixelized, or occurrence of artifacts or voice impairments), and / or in the diversity level or the “risk” parameters (network diversity, provider diversity, and related resilience factors), or in any other direct or indirect impact parameters or meta-parameters.
[0293] Some embodiments provide a system comprising: a Dynamic Switcher Unit that is implemented at an application level, that is configured to analyze application packets transmission performance and to initiate a cellular network switching process for a cellular communication apparatus by communicating with it. The cellular communication apparatus comprises, or is operably associated with, at least: (a) a video encoder unit, that encodes video into an outgoing stream of packets that are intended for simultaneous transmission to a remote recipient device; wherein the video encoder unit is one of: (i) comprised in said cellular communication apparatus, (ii) connected to the cellular communication apparatus via a wiredcommunication link, (iii) connected to the cellular communication apparatus via a wireless communication link; (b) a first cellular modem, configured to transmit and receive packets via cellular communications; (c) a second cellular modem, configured to transmit and receive packets via cellular communications; (d) a communications bonding unit, configured to perform adaptive distribution of packets of said outgoing stream of packets, that are intended for simultaneous outgoing transmission from said cellular communication apparatus to a remote receiver, to the first cellular modem and the second cellular modem. The adaptive distribution of packets of the outgoing stream of packets, by the communications bonding unit, is performed by taking into account at least: application performance characteristics of the transmission over the first cellular modem, and application performance characteristics of the transmission over the second cellular modem. The first cellular modem is associated with a first cellular communications network via a first Cellular Subscriber Identifier that is selected from the group consisting of: an International Mobile Subscriber Identity (IMSI) number, a Temporary Mobile Subscriber Identity (TMSI) number, an Integrated Circuit Card Identifier (ICCID) number, an International Mobile Equipment Identity (IMEI) number. The second cellular modem is associated with a second cellular communications network via a second Cellular Subscriber Identifier that is selected from the group consisting of: an International Mobile Subscriber Identity (IMSI) number, a Temporary Mobile Subscriber Identity (TMSI) number, an Integrated Circuit Card Identifier (ICCID) number, an International Mobile Equipment Identity (IMEI) number.
[0294] In some embodiments, the Dynamic Switcher Unit is configured: (el) to obtain a measured or estimated said performance characteristic of application transmission over the first cellular modem, by performing at least one of: (i) measuring or estimating said performance characteristic, (ii) receiving from another unit a measurement or an estimation of said performance characteristic; (e2) to obtain a measured or estimated said performance characteristic of application transmission over the second cellular modem, by performing at least one of: (i) measuring or estimating said performance characteristic, (ii) receiving from another unit a measurement or an estimation of said performance characteristic; (e3) to perform an analysis of one or more performance characteristics that were measured or estimated in steps (el) to (e2); then, (e4) based on the analysis of step (e3), to reach a determination that a cellular connection of the first cellular modem is performing non-satisfactorily based on at least one of: (i) comparison to one or more threshold values indicating satisfactory application transmission performance levels, (ii) comparison to application transmission performance characteristics of one or more other cellular connections used by said cellular communicationapparatus; (e5) based on the determination in step (e4), to initiate a switching process that causes the first cellular modem to switch from the first cellular network to a target cellular network that is one of: (i) said second cellular network, (ii) a third cellular network; by commanding the cellular communication apparatus to switch the first cellular modem from using the first Cellular Subscriber Identifier to one of: (i) using a third Cellular Subscriber Identifier that is associated with said second cellular network, (ii) using a third Identity Module that is associated with said third cellular network; (iii) using said first Cellular Subscriber Identifier but also using a Temporary Mobile Subscriber Identity (TMSI) number that enables the first Cellular Subscriber Identifier to transmit packets via said third cellular network.
[0295] In some embodiments, the one or more application performance transmission characteristics, that are measured or estimated and analyzed in steps (el) to (e2), comprise at least one of: uplink bandwidth, uplink throughput, uplink latency, round-trip time (RTT), packet error rate, packet loss rate, communication jitter value.
[0296] In some embodiments, in addition to the application transmission performance characteristics, that are measured or estimated and analyzed in steps (el) to (e2), the analysis of step (e3) further takes into account at least one of: Reference Signal Received Power (RSRP) value, Reference Signal Received Quality (RSRQ) value, Received Signal Strength Indicator (RSSI) value, Signal-to-Interference-plus-Noise Ratio (SINR) value, a value indicative of Transmission Power, a value indicative of Modulation Type, quality of service index (5QI) value, Quality of Service (QoS) indicator value, Quality of Experience (QoE) indicator value; that is obtained from reports or measurements made by at least one of: the first cellular modem, the second cellular modem.
[0297] In some embodiments, the Dynamic Switcher Unit is operably associated with: a Cellular Modem Connection Performance Scoring unit, configured to generate a Cellular Modem Connection Performance Score for each cellular modem connection of at least said first cellular modem and said second cellular modem of the cellular communication apparatus. If the Cellular Modem Connection Performance Score of a particular cellular modem connection of the cellular communication apparatus is one or more of: (i) lower than a minimum threshold value, (ii) the lowest of scores of all the cellular modems that are associated with a same scoring time-interval by said cellular communication apparatus, (iii) sufficiently lower than said modem scores, then: the Dynamic Switcher Unit triggers a switch of said particular cellular modem, (I) from being associated with a current cellular network, (II) to being associated with a target cellular network.
[0298] In some embodiments, the Dynamic Switcher Unit is operably associated with: a Cellular Network Performance Scoring and Ranking unit, that is configured to generate:
[0299] a Cellular Network Performance Score, for at least two cellular networks being used for transmission during any part of a Cellular Network Performance Scoring interval, by analyzing separately for each of said cellular networks, one or more of: (I) application transmission characteristics, (II) cellular modem performance score, for one or more of the cellular modems that were used to transmit over said cellular network during said interval; wherein the Cellular Network Performance Score is generated via an analysis that is based on at least one of: (i) statistical analysis, (ii) Al-based analysis, (iii) Machine Learning based analysis (iv) historical analysis; and configured to rank said cellular networks based on respective values of the Cellular Network Performance Score.
[0300] In some embodiments, the target cellular network, to which said particular cellular modem is switched, is selected based on a ranked order of said cellular networks as estimated by the Cellular Network Performance Scoring and Ranking unit.
[0301] In some embodiments, the target cellular network is selected such that it has the best performance value of Cellular Network Performance Score among said analyzed cellular networks, and wherein the target cellular network is not the current cellular network that said particular cellular modem transmits over.
[0302] In some embodiments, the target cellular network, to which said particular cellular modem is switched, is selected such that the target cellular network is a cellular network that was not yet scored by the Cellular Network Performance Scoring and Ranking unit associated with said apparatus in this transmission session.
[0303] In some embodiments, the target cellular network, to which said particular cellular modem is switched, is selected such that the target cellular network is a cellular network that was not yet scored by the Cellular Network Performance Scoring and Ranking unit associated with said apparatus in this transmission session; and wherein said particular cellular modem is switched to said target cellular network to increase cellular network diversity.
[0304] In some embodiments, the Dynamic Switcher Unit is configured to estimate whether or not the target cellular network would be usable for transmission for said particular cellular modem, by performing at least one of: (I) estimating that the target cellular network is usable by a current modem firmware version of said particular cellular modem without requiring cellular modem firmware modification; (II) estimating that the target cellular network would be usable upon re-configuration or re-loading or updating the said particular cellularmodem with a relevant cellular modem firmware version or portion thereof or parameters thereof.
[0305] In some embodiments, the switching process is performed such that upon a trigger to switch the first cellular modem to the target cellular network, the first cellular modem is already registered on the target cellular network via one of: a dual SIM dual standby mechanism, a dual SIM dual active mechanism.
[0306] In some embodiments, a decision to switch a particular cellular modem of the cellular communication apparatus, is reached at the Dynamic Switcher Unit which is one of: (i) a local unit that is comprised in the cellular communication apparatus, (ii) a local unit that is operably connected via a hardware connection to the cellular communication apparatus; wherein the decision to switch the particular cellular modem of the cellular communication apparatus is reached at the Dynamic Switcher Unit based on at least one of: (i) estimated or measured application transmission performance characteristics, (ii) cellular modem performance score, of one or more cellular modems of the cellular communication apparatus.
[0307] In some embodiments, a decision to switch a particular cellular modem of the cellular communication apparatus, is reached at the Dynamic Switcher Unit which is an external and remote unit, that is not comprised in the cellular communication apparatus, and that is not connected via a hardware connection to the cellular communication apparatus, and that is part of a remote server or cloud that is external to the cellular communication apparatus and that is remote from the cellular communication apparatus; wherein the remote Dynamic Switcher Unit reaches the decision to switch the particular cellular modem of the cellular communication apparatus; and wherein the remote Dynamic Switcher Unit sends, to the cellular communication apparatus, a directive indicating (i) which particular cellular modem to switch, and (ii) to which target cellular network to switch said particular cellular modem.
[0308] In some embodiments, the Dynamic Switcher Unit is configured: to initiate a switching instruction for a particular cellular modem of the cellular communication apparatus, only after a holding period in which application transmission performance of said cellular modem is measured or estimated, to prevent premature or unnecessary or excessive number of switching operations.
[0309] In some embodiments, the Dynamic Switcher Unit is configured: to refrain from switching a particular cellular modem of the cellular communication apparatus away from a particular cellular network, if said particular cellular modem is the only cellular modem of the cellular communication apparatus that is currently operating on said particular cellular network; in order to attempt achieving at least one of (i) maintain cellular network diversitywithin the cellular communication apparatus, (ii) to avoid loss of connectivity of the cellular communication apparatus over said particular cellular network; even if application transmission performance characteristics or modem score, of said particular cellular modem or of said particular cellular network, otherwise prioritize switching of said particular cellular modem away from said particular cellular network.
[0310] In some embodiments, the Dynamic Switcher Unit is configured: to perform or to initiate one or more cellular modem switching operations, that increase diversity of cellular networks that will be in use by cellular modems of the cellular communication apparatus.
[0311] In some embodiments, the Dynamic Switcher Unit is configured: to perform or to initiate one or more cellular modem switching operations, that statistically increase a total application transmission uplink bandwidth aggregated from all cellular modems of the cellular communication apparatus.
[0312] In some embodiments, the Dynamic Switcher Unit is configured: to determine whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, by taking into account at least: data indicating whether the cellular communication apparatus is in sufficient motion or is not in sufficient motion based on a comparison to one or more motion sufficiency threshold values; wherein the comparison to the one or more motion sufficiency threshold values indicates that a cellular modem switching decision is estimated to generate a benefit in at least one of: (i) aggregated transmission bandwidth of the cellular communication apparatus, (ii) reduced risk of losing one or more cellular communication links of the cellular communication apparatus, (iii) statistically reduced round-trip-time (RTT) value of the application, (iv) reduced latency of the application transmission, (v) reduced application transmission error rate (vi) reduced number of additional switches of said modem or other modems associated with the cellular communication apparatus.
[0313] In some embodiments, the Dynamic Switcher Unit is configured to determine at least one of: (I) whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, (b) one or more weights of one or more parameters that are utilized in selecting the target cellular network to switch to, by taking into account at least one of: a geo-spatial location of the cellular communication apparatus, a local time of the cellular communication apparatus, a local date of the cellular communication apparatus.
[0314] In some embodiments, the Dynamic Switcher Unit is configured to determine whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, by further taking into account at least one of: (i) current applicationtransmission performance characteristics of each cellular modem of the cellular communication apparatus, (ii) historic application transmission performance characteristics of at least one of the cellular networks that are available to the cellular communication apparatus.
[0315] In some embodiments, the Dynamic Switcher Unit is configured to determine whether or not to switch a particular cellular modem from a current cellular network to a target cellular network; by further taking into account at least one of: (I) aggregated application transmission performance characteristics of each cellular network that any of the apparatus modems has attempted to use for transmission in this session, (II) historic aggregated application transmission performance characteristics of any of the cellular network any of the apparatus modems has attempted to use for transmission in this session.
[0316] In some embodiments, the Cellular Modem Performance Scoring unit is configured to periodically nullify or re-calculate or change the weight of prior scores or prior application transmission characteristics, to prevent outdated statistics from improperly influencing fresh switching decisions.
[0317] In some embodiments, the Dynamic Switcher Unit is configured to reduce or prevent hysteresis effects, by performing at least one of: (I) enforcing a Same Modem switch holding period between (i) performing a switch process of the first cellular modem, and (ii) subsequently initiating another switch process of the first cellular modem; (II) enforcing a Different Modems switch holding period between (i) performing a switch process of the first cellular modem, and (ii) subsequently initiating a switch process of the second cellular modem.
[0318] In some embodiments, the Dynamic Switcher Unit is configured: (A) to perform an estimation process in order to estimate whether a planned switching process, in which a particular cellular modem would be switched from a current cellular network to a target cellular network, is estimated to fail or to be rejected or to result in degraded application transmission performance of said particular cellular modem; and (B) if the estimation process indicates that the planned switching process is estimated to fail or to be rejected or to result in degraded application transmission performance of said particular cellular modem, then: the Dynamic Switcher Unit avoids initiating or discards or prevents the planned switching process.
[0319] In some embodiments, the Dynamic Switcher Unit is configured: (A) to identify that a particular cellular modem of the apparatus, can be switched to a first target cellular network having best network performance score but also having a particular threshold risk of switch failure or particular threshold risk of application transmission performance degradation to below a certain threshold, and can also be switched to a second target cellular network having a non-best performance score but also having a lower threshold risk of switch failure or lowerthreshold risk of application transmission performance degradation which is below a particular threshold; (B) to determine to switch the particular cellular modem to the second target cellular network, and not to the first target cellular network, in order to maintain or increase cellular connectivity of the apparatus and to mitigate risks of failed switching attempts.
[0320] In some embodiments, the Dynamic Switcher Unit is configured: to perform or to initiate a cross switching process, by initiating a switching of the first cellular modem from the first cellular network to the second cellular network, and by initiating a switching of the second cellular modem from the second cellular network to the first cellular network.
[0321] In some embodiments, the Dynamic Switcher Unit is configured: to implement or to initiate a round robin cyclical switching process, of the first cellular modem of the cellular communication apparatus in relation to all cellular networks that are estimated to be available to the first cellular modem. The round robin cyclical switching process of the first cellular modem is stopped if modem application transmission performance of the first cellular modem is measured or estimated to be sufficiently satisfactory relative to a threshold value or to application transmission performance of other cellular modems used by the cellular communication apparatus for the application transmission at that time.
[0322] In some embodiments, the Dynamic Switcher Unit is configured: to implement or to initiate a round robin cyclical switching process, of the first cellular modem of the cellular communication apparatus in relation to all cellular networks that are estimated to be available to the first cellular modem. The round robin cyclical switching process of the first cellular modem is stopped if cellular network diversity of the cellular communication apparatus is considered to be sufficiently satisfactory based on one or more pre-defined network diversity rules.
[0323] In some embodiments, the Dynamic Switcher Unit is configured: to implement or to initiate a round robin cyclical switching process, of the first cellular modem of the cellular communication apparatus in relation to all cellular networks that are estimated to be available to the first cellular modem; in accordance with a weighted optimization function that is configured to adaptively optimize at least one of: (i) uplink application transmission bandwidth of the first cellular modem by itself, (ii) aggregate uplink transmission bandwidth of all cellular modems that are operative in the cellular communication apparatus, (iii) diversity of cellular networks that are available for cellular transmission by the cellular communication apparatus (iv) minimizing a round-trip time (RTT) or uplink latency of the application transmission using the first cellular modem by itself.
[0324] In some embodiments, the Dynamic Switcher Unit is configured: to perform, periodically or in response to a triggering event, an evaluation of (i) a cellular modem performance score that indicates performance characteristics of application transmission of cellular modems of the cellular communication apparatus, and (ii) a cellular network performance score that indicates application transmission performance characteristics of all the cellular modems using a cellular network respectively, that are available to the cellular communication apparatus; and then, based on said evaluation, to modify a switching scheme that is enforced by said Dynamic Switcher Unit from one of the following two switching schemes to the other one of the following two switching schemes: (i) a switching scheme having a goal of increased application uplink transmission bandwidth, (ii) a switching scheme having a goal of increased cellular network diversity while also providing at least a minimum of usable application uplink bandwidth, of at least one of: the cellular modem on the target network, the aggregated bandwidth of the cellular communication apparatus.
[0325] In some embodiments, the Dynamic Switcher Unit is configured: to initiate switching of the first cellular modem, from (I) being operatively associated with, and being connected to cellular communications, via a particular Virtual Identity, to (II) being operatively associated with, and being connected to cellular communications, via a particular physical SIM card of said cellular communication apparatus.
[0326] In some embodiments, the Dynamic Switcher Unit utilizes a Machine Learning Unit that is configured to dynamically determine, based on a Machine Learning Model that receives an input one or more real-time and historical parameter values, whether or not to initiate a switching operation, and if so, then which cellular modem and to what target V-SIM, PLMN, technology, or spectrum band to switch. The Machine Learning Model is pre-trained on prior application transmission data and cellular modem switching outcomes to optimize for at least one of: aggregated apparatus uplink transmission, throughput, bandwidth, apparatus network diversity, apparatus network resilience, link reliability, cost objectives.
[0327] In some embodiments, the Dynamic Switcher Unit utilizes a Machine Learning Unit that is configured to select, from among a plurality of switching schemes, an optimal or preferred switching scheme for a given transmission context, by analyzing multi-dimensional input vectors comprising at least application uplink transmission performance data, cellular network performance scores, geographic data, temporal data, and network availability data. The Machine Learning Unit generates at least (i) a Machine Learning predicted application transmission performance delta, and (ii) a Machine Learning predicted switching risk score, to guide or constrain execution of switching operations by the Dynamic Switcher Unit.
[0328] In some embodiments, the Dynamic Switcher Unit is configured: to initiate a switching process of the first cellular modem, based cumulatively on: (I) a first score that indicates cellular connection uplink application transmission bandwidth, and (II) a second score that indicates cellular connection stability.
[0329] In some embodiments, the Dynamic Switcher Unit is configured: to initiate a switching process of the first cellular modem, based on weighted combination of at least two of the following: (I) a first score that is in relation to an aggregated application transmission bandwidth of all the cellular modems that have transmitted at some portion of a time interval on each cellular network, respectively; (II) a second score that is in relation to stability of each of the respective cellular networks; (III) a third score that is in relation to a number of cellular modems of the cellular communication apparatus on each cellular network respectively; (IV) a fourth score that is in relation to application video transmission impairments; (V) a rule that defines a goal for cellular network diversity of the cellular communication apparatus.
[0330] In some embodiments, the Cellular Network Performance Scoring and Ranking unit is configured to generate Cellular Network Performance Scores for assessment timeintervals. In at least one assessment time-interval, the Cellular Network Performance Scoring and Ranking unit is configured to generate at least: (I) a Bandwidth Score that reflects an aggregated bandwidth of all the cellular modems that transmitted packets within said assessment time-interval; and (II) a Cellular Network Modem-Diversity Score that reflects the number of cellular modems that transmitted packets during said assessment time-interval.
[0331] In some embodiments, the Dynamic Switcher Unit is configured to select the target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, based on a list of cellular networks that are currently available to said cellular modem, wherein said list is ranked based on potential or estimated application uplink transmission performance values.
[0332] In some embodiments, the Dynamic Switcher Unit is configured to select the target cellular network from said list, by selecting the top-ranked cellular network on that list that complies with the following pre-defined conditions: (i) if the selected cellular network is estimated, by the Dynamic Switcher Unit, to be compatible with the type and the firmware version of said particular cellular modem of the cellular communication apparatus or that can be loaded or configured for said particular cellular modem as part of the switching process; (ii) if switching said particular cellular modem to said selected cellular network, is estimated by the Dynamic Switcher Unit to maintain and to not reduce a cellular network diversity of thecellular communication apparatus to below a pre-defined threshold value of cellular network diversity.
[0333] In some embodiments, the Dynamic Switcher Unit is configured to select the target cellular network from said list, by: firstly, considering as candidates any cellular networks that are already associated with an already-calculated network performance score; secondly, considering as candidates one or more cellular network having network performance that was not yet evaluated by the system.
[0334] In some embodiments, the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: (I) application transmission performance scores that were generated, in a most-recent assessment time-interval, for cellular networks that are available to the cellular communication apparatus; (II) application transmission performance scores that were generated, in a most-recent assessment timeinterval, for cellular modems of the cellular communication apparatus.
[0335] In some embodiments, the Dynamic Switcher Unit is configured to evaluate application level cellular modem performance in an assessment time-period that includes: (i) a first time-segment in which a particular cellular modem of the cellular communication apparatus was transmitting over the first cellular network; and (ii) a second time-segment in which said particular cellular modem of the cellular communication apparatus was transmitting over the second cellular network; by taking into account, via a weighted formula, (I) one or more values indicating application level transmission performance of said particular cellular modem during the first time-segment in which said particular cellular modem was transmitting over the first cellular network, and (II) one or more values indicating application level transmission performance of said particular cellular modem during the second time-segment in which said particular cellular modem was transmitting over the second cellular network.
[0336] In some embodiments, the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: a monetary cost that is estimated to be associated with performing a switching of a particular cellular modem to said target cellular network; wherein said monetary cost comprises at least one of: (i) a monetary cost of the switching process itself, (ii) a monetary cost of subsequent transmission over said target cellular network.
[0337] In some embodiments, the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellularcommunication apparatus, by taking into account at least: an estimated time -period, that is estimated to be required for performing a switching of a particular cellular modem to said target cellular network.
[0338] In some embodiments, the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: an impact of a candidate switching process on an overall cellular network diversity of the cellular communication apparatus, reflected by a total number of cellular networks that are in use for uplink transmission by cellular modems of the cellular communication apparatus.
[0339] In some embodiments, the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: an impact of a candidate switching process on a per-cellular-network modem diversity of the cellular communication apparatus, reflected by a total number of cellular modems of the cellular communication apparatus that perform uplink transmission over the same cellular network.
[0340] In some embodiments, the cellular communication apparatus comprises, in addition to said first cellular modem and said second cellular modem, also at least a third cellular modem; wherein the communications bonding unit is configured to perform adaptive distribution of packets of said outgoing stream of packets, that are intended for simultaneous outgoing transmission from said cellular communication apparatus to said remote receiver, to the first cellular modem and the second cellular modem and the third cellular modem.
[0341] In some embodiments, the cellular communication apparatus is configured to transmit, simultaneously by splitting over said first and second modems the packets of at least one of: (i) via two or more cellular modems, said stream of packets from said video encoder; and (ii) via two or more cellular modems, at least one of: data sensed by a LIDAR sensor, data sensed by a RADAR sensor, data sensed by an audio microphone, data corresponding to Internet usage by an electronic device, data corresponding to one or more files.
[0342] The system(s) of some embodiments may optionally comprise, or may be implemented by utilizing suitable hardware components and / or software components; for example, processors, processor cores, Central Processing Units (CPUs), Digital Signal Processors (DSPs), circuits, Integrated Circuits (ICs), controllers, memory units, registers, accumulators, storage units, input units (e.g., touch-screen, keyboard, keypad, stylus, mouse, touchpad, joystick, trackball, microphones), output units (e.g., screen, touch-screen, monitor, display unit, audio speakers), acoustic sensor(s), optical sensor(s), wired or wireless modemsor transceivers or transmitters or receivers, GPS receiver or GPS element or other locationbased or location-determining unit or system, network elements (e.g., routers, switches, hubs, antennas), and / or other suitable components and / or modules. The system(s) of the present invention may optionally be implemented by utilizing co-located components, remote components or modules, “cloud computing” servers or devices or storage, client / server architecture, peer-to-peer architecture, distributed architecture, and / or other suitable architectures or system topologies or network topologies.
[0343] In accordance with embodiments, calculations, operations and / or determinations may be performed locally within a single device, or may be performed by or across multiple devices, or may be performed partially locally and partially remotely (e.g., at a remote server) by optionally utilizing a communication channel to exchange raw data and / or processed data and / or processing results.
[0344] Although portions of the discussion herein relate, for demonstrative purposes, to wired links and / or wired communications, some embodiments are not limited in this regard, but rather, may utilize wired communication and / or wireless communication; may include one or more wired and / or wireless links; may utilize one or more components of wired communication and / or wireless communication; and / or may utilize one or more methods or protocols or standards of wireless communication.
[0345] Some embodiments may be implemented by using a special-purpose machine or a specific -purpose device that is not a generic computer, or by using a non-generic computer or a non-general computer or machine. Such system or device may utilize or may comprise one or more components or units or modules that are not part of a “generic computer” and that are not part of a “general purpose computer”, for example, cellular transceivers, cellular transmitter, cellular receiver, GPS unit, location-determining unit, accelerometer(s), gyroscope(s), device-orientation detectors or sensors, device -positioning detectors or sensors, or the like. Some embodiments may be implemented as, or by utilizing, an automated method or automated process, or a machine-implemented method or process, or as a semi-automated or partially-automated method or process, or as a set of steps or operations which may be executed or performed by a computer or machine or system or other device.
[0346] Some embodiments may be implemented by using code or program code or machine -readable instructions or machine -readable code, which may be stored on a non- transitory storage medium or non-transitory storage article (e.g., a CD-ROM, a DVD-ROM, a physical memory unit, a physical storage unit), such that the program or code or instructions, when executed by a processor or a machine or a computer, cause such processor or machine orcomputer to perform a method or process as described herein. Such code or instructions may be or may comprise, for example, one or more of: software, a software module, an application, a program, a subroutine, instructions, an instruction set, computing code, words, values, symbols, strings, variables, source code, compiled code, interpreted code, executable code, static code, dynamic code; including (but not limited to) code or instructions in high-level programming language, low-level programming language, object-oriented programming language, visual programming language, compiled programming language, interpreted programming language, C, C++, C#, Java, JavaScript, SQL, Ruby on Rails, Go, Rust, Cobol, Fortran, ActionScript, AJAX, XML, JSON, Lisp, Eiffel, Verilog, Hardware Description Language (HDL), BASIC, Visual BASIC, MATLAB, Pascal, HTML, HTML5, CSS, Perl, Python, PHP, machine language, machine code, assembly language, or the like.
[0347] Discussions herein utilizing terms such as, for example, “processing”, “computing”, “calculating”, “determining”, “establishing”, “analyzing”, “checking”, “detecting”, “measuring”, or the like, may refer to operation(s) and / or process(es) of a processor, a computer, a computing platform, a computing system, or other electronic device or computing device, that may automatically and / or autonomously manipulate and / or transform data represented as physical (e.g., electronic) quantities within registers and / or accumulators and / or memory units and / or storage units into other data or that may perform other suitable operations.
[0348] Some embodiments may perform steps or operations such as, for example, “determining”, “identifying”, “comparing”, “checking”, “querying”, “searching”, “matching”, “estimating”, and / or “analyzing”, by utilizing, for example: a pre-defined threshold value to which one or more parameter values may be compared; a comparison between (i) sensed or measured or calculated value(s), and (ii) pre-defined or dynamically-generated threshold value(s) and / or range values and / or upper limit value and / or lower limit value and / or maximum value and / or minimum value; a comparison or matching between sensed or measured or calculated or collected data, and one or more values as stored in a look-up table or a legend table or a list of reference value(s) or a database of reference values or a ranges of referencevalues; a comparison or matching or searching process which searches for matches and / or identical results and / or similar results and / or sufficiently-similar results (e.g., within a predefined threshold level of similarity; such as, within 5 percent above or below a pre-defined threshold value), among multiple values or limits that are stored in a database or look-up table or that are defined by comparison rules or matching rules; utilization of one or more equations, formula, weighted formula, and / or other calculation in order to determine similarity or a matchbetween or among parameters or values; utilization of comparator units, lookup tables, threshold values, conditions, conditioning logic, Boolean operator(s) and / or other suitable components and / or operations.
[0349] The terms “plurality” and “a plurality”, as used herein, include, for example, “multiple” or “two or more”. For example, “a plurality of items” includes two or more items.
[0350] References to “one embodiment”, “an embodiment”, “demonstrative embodiment”, “various embodiments”, “some embodiments”, and / or similar terms, may indicate that the embodiment(s) so described may optionally include a particular feature, structure, or characteristic, but not every embodiment necessarily includes the particular feature, structure, or characteristic. Furthermore, repeated use of the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may. Similarly, repeated use of the phrase “in some embodiments” does not necessarily refer to the same set or group of embodiments, although it may.
[0351] As used herein, and unless otherwise specified, the utilization of ordinal adjectives such as “first”, “second”, “third”, “fourth”, and so forth, to describe an item or an object, merely indicates that different instances of such like items or objects are being referred to; and does not intend to imply as if the items or objects so described must be in a particular given sequence, either temporally, spatially, in ranking, or in any other ordering manner
[0352] Some embodiments may be used in conjunction with one way and / or two-way radio communication systems, cellular radio-telephone communication systems, a mobile phone, a cellular telephone, a wireless telephone, a Personal Communication Systems (PCS) device, a PDA or handheld device which incorporates wireless communication capabilities, a mobile or portable Global Positioning System (GPS) device, a device which incorporates a GPS receiver or transceiver or chip, a device which incorporates an RFID element or chip, a Multiple Input Multiple Output (MIMO) transceiver or device, a Single Input Multiple Output (SIMO) transceiver or device, a Multiple Input Single Output (MISO) transceiver or device, a device having one or more internal antennas and / or external antennas, Digital Video Broadcast (DVB) devices or systems, multi-standard radio devices or systems, a wired or wireless handheld device, e.g., a Smartphone, a Wireless Application Protocol (WAP) device, or the like.
[0353] Some embodiments may comprise, or may be implemented by using, an “app” or application which may be downloaded or obtained from an “app store” or “applications store”, for free or for a fee, or which may be pre-installed on a computing device or electronicdevice, or which may be otherwise transported to and / or installed on such computing device or electronic device.
[0354] Functions, operations, components and / or features described herein with reference to one or more embodiments of the present invention, may be combined with, or may be utilized in combination with, one or more other functions, operations, components and / or features described herein with reference to one or more other embodiments of the present invention. The present invention may thus comprise any possible or suitable combinations, rearrangements, assembly, re-assembly, or other utilization of some or all of the modules or functions or components that are described herein, even if they are discussed in different locations or different chapters of the above discussion, or even if they are shown across different drawings or multiple drawings.
[0355] While certain features of some demonstrative embodiments of the present invention have been illustrated and described herein, various modifications, substitutions, changes, and equivalents may occur to those skilled in the art. Accordingly, the claims are intended to cover all such modifications, substitutions, changes, and equivalents.
Claims
CLAIMS1. A system comprising: a Dynamic Switcher Unit that is implemented at an application level, that is configured to analyze application packets transmission performance and to initiate a cellular network switching process for a cellular communication apparatus by communicating with it; wherein the cellular communication apparatus comprises, or is operably associated with, at least:(a) a video encoder unit, that encodes video into an outgoing stream of packets that are intended for simultaneous transmission to a remote recipient device; wherein the video encoder unit is one of: (i) comprised in said cellular communication apparatus, (ii) connected to the cellular communication apparatus via a wired communication link, (iii) connected to the cellular communication apparatus via a wireless communication link;(b) a first cellular modem, configured to transmit and receive packets via cellular communications;(c) a second cellular modem, configured to transmit and receive packets via cellular communications;(d) a communications bonding unit, configured to perform adaptive distribution of packets of said outgoing stream of packets, that are intended for simultaneous outgoing transmission from said cellular communication apparatus to a remote receiver, to the first cellular modem and the second cellular modem; wherein said adaptive distribution of packets of the outgoing stream of packets, by the communications bonding unit, is performed by taking into account at least: application performance characteristics of the transmission over the first cellular modem, and application performance characteristics of the transmission over the second cellular modem; wherein the first cellular modem is associated with a first cellular communications network via a first Cellular Subscriber Identifier that is selected from the group consisting of: an International Mobile Subscriber Identity (IMSI) number, a Temporary Mobile Subscriber Identity (TMSI) number, an Integrated Circuit Card Identifier (ICCID) number, an International Mobile Equipment Identity (IMEI) number; wherein the second cellular modem is associated with a second cellular communications network via a second Cellular Subscriber Identifier that is selected from the group consisting of: an International Mobile Subscriber Identity (IMSI) number, a TemporaryMobile Subscriber Identity (TMSI) number, an Integrated Circuit Card Identifier (ICCID) number, an International Mobile Equipment Identity (IMEI) number; wherein the Dynamic Switcher Unit is configured:(el) to obtain a measured or estimated said performance characteristic of application transmission over the first cellular modem, by performing at least one of: (i) measuring or estimating said performance characteristic, (ii) receiving from another unit a measurement or an estimation of said performance characteristic;(e2) to obtain a measured or estimated said performance characteristic of application transmission over the second cellular modem, by performing at least one of: (i) measuring or estimating said performance characteristic, (ii) receiving from another unit a measurement or an estimation of said performance characteristic;(e3) to perform an analysis of one or more performance characteristics that were measured or estimated in steps (el) to (e2);(e4) based on the analysis of step (e3), to reach a determination that a cellular connection of the first cellular modem is performing non-satisfactorily based on at least one of: (i) comparison to one or more threshold values indicating satisfactory application transmission performance levels, (ii) comparison to application transmission performance characteristics of one or more other cellular connections used by said cellular communication apparatus;(e5) based on the determination in step (e4), to initiate a switching process that causes the first cellular modem to switch from the first cellular network to a target cellular network that is one of: (i) said second cellular network, (ii) a third cellular network, by commanding the cellular communication apparatus to switch the first cellular modem from using the first Cellular Subscriber Identifier to one of: (i) using a third Cellular Subscriber Identifier that is associated with said second cellular network, (ii) using a third Identity Module that is associated with said third cellular network; (iii) using said first Cellular Subscriber Identifier but also using a Temporary Mobile Subscriber Identity (TMSI) number that enables the first Cellular Subscriber Identifier to transmit packets via said third cellular network.
2. The system of claim 1, wherein the one or more application performance transmission characteristics, that are measured or estimated and analyzed in steps (el) to (e2), comprise at least one of: uplink bandwidth, uplink throughput,uplink latency, round- trip time (RTT), packet error rate, packet loss rate, communication jitter value.
3. The system of claim 1, wherein, in addition to the application transmission performance characteristics, that are measured or estimated and analyzed in steps (el) to (e2), the analysis of step (e3) further takes into account at least one of:Reference Signal Received Power (RSRP) value, Reference Signal Received Quality (RSRQ) value, Received Signal Strength Indicator (RS SI) value, Signal-to-Interference-plus-Noise Ratio (SINR) value, a value indicative of Transmission Power, a value indicative of Modulation Type, quality of service index (5QI) value,Quality of Service (QoS) indicator value, Quality of Experience (QoE) indicator value, that is obtained from reports or measurements made by at least one of: the first cellular modem, the second cellular modem.
4. The system of claim 1 , wherein the Dynamic Switcher Unit is operably associated with: a Cellular Modem Connection Performance Scoring unit, configured to generate a Cellular Modem Connection Performance Score for each cellular modem connection of at least said first cellular modem and said second cellular modem of the cellular communication apparatus; wherein, if the Cellular Modem Connection Performance Score of a particular cellular modem connection of the cellular communication apparatus is one or more of: (i) lower than a minimum threshold value, (ii) the lowest of scores of all the cellular modems that are associated with a same scoring time-interval by said cellular communication apparatus, (iii) sufficiently lower than said modem scores, then: the Dynamic Switcher Unit triggers a switch of saidparticular cellular modem, (I) from being associated with a current cellular network, (II) to being associated with a target cellular network.
5. The system of claim 4, wherein the Dynamic Switcher Unit is operably associated with: a Cellular Network Performance Scoring and Ranking unit, that is configured to generate a Cellular Network Performance Score, for at least two cellular networks being used for transmission during any part of a Cellular Network Performance Scoring interval, by analyzing separately for each of said cellular networks, one or more of: (I) application transmission characteristics, (II) cellular modem performance score, for one or more of the cellular modems that were used to transmit over said cellular network during said interval; wherein the Cellular Network Performance Score is generated via an analysis that is based on at least one of: (i) statistical analysis, (ii) Al-based analysis, (iii) Machine Learning based analysis (iv) historical analysis; and configured to rank said cellular networks based on respective values of the Cellular Network Performance Score.
6. The system of claim 5, wherein the target cellular network, to which said particular cellular modem is switched, is selected based on a ranked order of said cellular networks as estimated by the Cellular Network Performance Scoring and Ranking unit.
7. The system of claim 6, wherein the target cellular network has the best performance value of Cellular Network Performance Score among said analyzed cellular networks, and wherein the target cellular network is not the current cellular network that said particular cellular modem transmits over.
8. The system of claim 6, wherein the target cellular network, to which said particular cellular modem is switched, is a cellular network that was not yet scored by the Cellular Network Performance Scoring and Ranking unit associated with said apparatus in this transmission session.
9. The system of claim 6, wherein the target cellular network, to which said particular cellular modem is switched, is a cellular network that was not yet scored by the Cellular Network Performance Scoring and Ranking unit associated with said apparatus in this transmission session; and wherein said particular cellular modem is switched to said target cellular network to increase cellular network diversity.
10. The system of claim 1, wherein the Dynamic Switcher Unit is configured to estimate whether or not the target cellular network would be usable for transmission for said particular cellular modem, by performing at least one of: (I) estimating that the target cellular network is usable by a current modem firmware version of said particular cellular modem without requiring cellular modem firmware modification; (II) estimating that the target cellular network would be usable upon re-configuration or re-loading or updating the said particular cellular modem with a relevant cellular modem firmware version or portion thereof or parameters thereof.
11. The system of claim 1 , wherein upon a trigger to switch the first cellular modem to the target cellular network, the first cellular modem is already registered on the target cellular network via one of: a dual SIM dual standby mechanism, a dual SIM dual active mechanism.
12. The system of claim 1, wherein a decision to switch a particular cellular modem of the cellular communication apparatus, is reached at the Dynamic Switcher Unit which is one of: (i) a local unit that is comprised in the cellular communication apparatus, (ii) a local unit that is operably connected via a hardware connection to the cellular communication apparatus; wherein the decision to switch the particular cellular modem of the cellular communication apparatus is reached at the Dynamic Switcher Unit based on at least one of: (i) estimated or measured application transmission performance characteristics, (ii) cellular modem performance score, of one or more cellular modems of the cellular communication apparatus.
13. The system of claim 1, wherein a decision to switch a particular cellular modem of the cellular communication apparatus, is reached at the Dynamic Switcher Unit which is an external and remote unit, that is not comprised in the cellular communication apparatus, and that is not connected via a hardware connection to the cellular communication apparatus, and that is part of a remote server or cloud that is external to the cellular communication apparatus and that is remote from the cellular communication apparatus; wherein the remote Dynamic Switcher Unit reaches the decision to switch the particular cellular modem of the cellular communication apparatus; and wherein the remote Dynamic Switcher Unit sends, to the cellular communication apparatus, a directive indicating (i) which particular cellular modem to switch, and (ii) to which target cellular network to switch said particular cellular modem.
14. The system of claim 1, wherein the Dynamic Switcher Unit is configured to initiate a switching instruction for a particular cellular modem of the cellular communication apparatus only after a holding period in which application transmission performance of said cellular modem is measured or estimated, to prevent premature or unnecessary or excessive number of switching operations.
15. The system of claim 1, wherein the Dynamic Switcher Unit is configured to refrain from switching a particular cellular modem of the cellular communication apparatus away from a particular cellular network, if said particular cellular modem is the only cellular modem of the cellular communication apparatus that is currently operating on said particular cellular network, in order to attempt achieving at least one of (i) maintain cellular network diversity within the cellular communication apparatus, (ii) to avoid loss of connectivity of the cellular communication apparatus over said particular cellular network, even if application transmission performance characteristics or modem score, of said particular cellular modem or of said particular cellular network, otherwise prioritize switching of said particular cellular modem away from said particular cellular network.
16. The system of claim 1, wherein the Dynamic Switcher Unit is configured to perform or to initiate one or more cellular modem switching operations that increase diversity of cellular networks that will be in use by cellular modems of the cellular communication apparatus.
17. The system of claim 1, wherein the Dynamic Switcher Unit is configured to perform or to initiate one or more cellular modem switching operations that statistically increase a total application transmission uplink bandwidth aggregated from all cellular modems of the cellular communication apparatus.
18. The system of claim 1, wherein the Dynamic Switcher Unit is configured to determine whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, by taking into account at least: data indicating whether the cellular communication apparatus is in sufficient motion or is not in sufficient motion based on a comparison to one or more motion sufficiency threshold values; wherein the comparison to the one or more motion sufficiency threshold values indicates that a cellular modem switching decision is estimated to generate a benefit in at least one of: (i) aggregated transmission bandwidth of the cellular communication apparatus, (ii) reduced risk of losing one or more cellular communication links of the cellular communication apparatus, (iii) statistically reduced round-trip-time (RTT) value of the application, (iv) reduced latency of the application transmission, (v) reduced application transmission error rate (vi) reduced number of additional switches of said modem or other modems associated with the cellular communication apparatus.
19. The system of claim 1, wherein the Dynamic Switcher Unit is configured to determine at least one of: (I) whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, (b) one or more weights of one or more parameters that are utilized in selecting the target cellular network to switch to,by taking into account at least one of: a geo-spatial location of the cellular communication apparatus, a local time of the cellular communication apparatus, a local date of the cellular communication apparatus.
20. The system of claim 1 , wherein the Dynamic Switcher Unit is configured to determine whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, by further taking into account at least one of:(i) current application transmission performance characteristics of each cellular modem of the cellular communication apparatus,(ii) historic application transmission performance characteristics of at least one of the cellular networks that are available to the cellular communication apparatus.
21. The system of claim 20, wherein the Dynamic Switcher Unit is configured to determine whether or not to switch a particular cellular modem from a current cellular network to a target cellular network, by further taking into account at least one of:(I) aggregated application transmission performance characteristics of each cellular network that any of the cellular modems of the cellular communication apparatus has attempted to use for transmission in this session,(II) historic aggregated application transmission performance characteristics of any of the cellular networks that any cellular modems of the cellular communication apparatus has attempted to use for transmission in this session.
22. The system of claim 5, wherein the Cellular Modem Performance Scoring unit is configured to periodically nullify or re-calculate or change the weight of prior scores or prior application transmission characteristics, to prevent outdated statistics from improperly influencing fresh switching decisions.
23. The system of claim 1, wherein the Dynamic Switcher Unit is configured to reduce or prevent hysteresis effects, by performing at least one of:(I) enforcing a Same Modem switch holding period between (i) performing a switch process of the first cellular modem, and (ii) subsequently initiating another switch process of the first cellular modem;(II) enforcing a Different Modems switch holding period between (i) performing a switch process of the first cellular modem, and (ii) subsequently initiating a switch process of the second cellular modem.
24. The system of claim 1 , wherein the Dynamic Switcher Unit is configured:(A) to perform an estimation process in order to estimate whether a planned switching process, in which a particular cellular modem would be switched from a current cellular network to a target cellular network, is estimated to fail or to be rejected or to result in degraded application transmission performance of said particular cellular modem; and(B) if the estimation process indicates that the planned switching process is estimated to fail or to be rejected or to result in degraded application transmission performance of said particular cellular modem, then: the Dynamic Switcher Unit avoids initiating or discards or prevents the planned switching process.
25. The system of claim 1, wherein the Dynamic Switcher Unit is configured:(A) to identify that a particular cellular modem of the apparatus, can be switched to a first target cellular network having best network performance score but also having a particular threshold risk of switch failure or particular threshold risk of application transmission performance degradation to below a certain threshold, and can also be switched to a second target cellular network having a non-best performance score but also having a lower threshold risk of switch failure or lower threshold risk of application transmission performance degradation which is below a particular threshold;(B) to determine to switch the particular cellular modem to the second target cellular network, and not to the first target cellular network, in order to maintain or increase cellular connectivity of the apparatus and to mitigate risks of failed switching attempts.
26. The system of claim 1, wherein the Dynamic Switcher Unit is configured: to perform or to initiate a cross switching process, by initiating a switching of the first cellular modem from the first cellular network to the second cellular network, and by initiating a switching of the second cellular modem from the second cellular network to the first cellular network.
27. The system of claim 1, wherein the Dynamic Switcher Unit is configured: to implement or to initiate a round robin cyclical switching process, of the first cellular modem of the cellular communication apparatus in relation to all cellular networks that are estimated to be available to the first cellular modem, wherein the round robin cyclical switching process of the first cellular modem is stopped if modem application transmission performance of the first cellular modem is measured or estimated to be sufficiently satisfactory relative to a threshold value or to application transmission performance of other cellular modems used by the cellular communication apparatus for the application transmission at that time.
28. The system of claim 1, wherein the Dynamic Switcher Unit is configured: to implement or to initiate a round robin cyclical switching process, of the first cellular modem of the cellular communication apparatus in relation to all cellular networks that are estimated to be available to the first cellular modem, wherein the round robin cyclical switching process of the first cellular modem is stopped if cellular network diversity of the cellular communication apparatus is considered to be sufficiently satisfactory based on one or more pre-defined network diversity rules.
29. The system of claim 1, wherein the Dynamic Switcher Unit is configured: to implement or to initiate a round robin cyclical switching process, of the first cellular modem of the cellular communication apparatus in relation to all cellular networks that are estimated to be available to the first cellular modem, in accordance with a weighted optimization function that is configured to adaptively optimize at least one of: (i) uplink application transmission bandwidth of the first cellularmodem by itself, (ii) aggregate uplink transmission bandwidth of all cellular modems that are operative in the cellular communication apparatus, (iii) diversity of cellular networks that are available for cellular transmission by the cellular communication apparatus (iv) minimizing a round-trip time (RTT) or uplink latency of the application transmission using the first cellular modem by itself.
30. The system of claim 1 , wherein the Dynamic Switcher Unit is configured: to perform, periodically or in response to a triggering event, an evaluation of (i) a cellular modem performance score that indicates performance characteristics of application transmission of cellular modems of the cellular communication apparatus, and (ii) a cellular network performance score that indicates application transmission performance characteristics of all the cellular modems using a cellular network respectively, that are available to the cellular communication apparatus; based on said evaluation, to modify a switching scheme that is enforced by said Dynamic Switcher Unit from one of the following two switching schemes to the other one of the following two switching schemes: (i) a switching scheme having a goal of increased application uplink transmission bandwidth, (ii) a switching scheme having a goal of increased cellular network diversity while also providing at least a minimum of usable application uplink bandwidth, of at least one of: the cellular modem on the target network, the aggregated bandwidth of the cellular communication apparatus.
31. The system of claim 1 , wherein the Dynamic Switcher Unit is configured: to initiate switching of the first cellular modem, from(I) being operatively associated with, and being connected to cellular communications, via a particular Virtual Identity, to(II) being operatively associated with, and being connected to cellular communications, via a particular physical SIM card of said cellular communication apparatus.
32. The system of claim 1 , wherein the Dynamic Switcher Unit utilizes a Machine Learning Unit that is configured to dynamically determine, based on a Machine Learning Model that receives an input one or more real-time and historical parameter values, whether or not to initiate a switching operation, and if so, then which cellular modem to switch and to which target V-SIM, PLMN, technology, or spectrum band to switch; wherein said Machine Learning Model is pre-trained on prior application transmission data and cellular modem switching outcomes to optimize for at least one of: aggregated apparatus uplink transmission, throughput, bandwidth, apparatus network diversity, apparatus network resilience, link reliability, cost objectives.
33. The system of claim 1, wherein the Dynamic Switcher Unit utilizes a Machine Learning Unit that is configured to select, from among a plurality of switching schemes, an optimal or preferred switching scheme for a given transmission context, by analyzing multi-dimensional input vectors comprising at least application uplink transmission performance data, cellular network performance scores, geographic data, temporal data, and network availability data; wherein said Machine Learning Unit generates at least (i) a Machine Learning predicted application transmission performance delta, and (ii) a Machine Learning predicted switching risk score, to guide or constrain execution of switching operations by the Dynamic Switcher Unit.
34. The system of claim 1 , wherein the Dynamic Switcher Unit is configured: to initiate a switching process of the first cellular modem based cumulatively on: (I) a first score that indicates cellular connection uplink application transmission bandwidth, and (II) a second score that indicates cellular connection stability.
35. The system of claim 1, wherein the Dynamic Switcher Unit is configured: to initiate a switching process of the first cellular modembased on weighted combination of at least two of the following: (I) a first score that is in relation to an aggregated application transmission bandwidth of all the cellular modems that have transmitted at some portion of a time interval on each cellular network, respectively; (II) a second score that is in relation to stability of each of the respective cellular networks; (III) a third score that is in relation to a number of cellular modems of the cellular communication apparatus on each cellular network respectively; (IV) a fourth score that is in relation to application video transmission impairments; (V) a rule that defines a goal for cellular network diversity of the cellular communication apparatus.
36. The system of claim 5, wherein the Cellular Network Performance Scoring and Ranking unit is configured to generate Cellular Network Performance Scores for assessment timeintervals; wherein, in at least one assessment time-interval, the Cellular Network Performance Scoring and Ranking unit is configured to generate at least:(I) a Bandwidth Score that reflects an aggregated bandwidth of all the cellular modems that transmitted packets within said assessment time-interval; and(II) a Cellular Network Modem-Diversity Score that reflects the number of cellular modems that transmitted packets during said assessment time-interval.
37. The system of claim 5, wherein the Dynamic Switcher Unit is configured to select the target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, based on a list of cellular networks that are currently available to said cellular modem, wherein said list is ranked based on potential or estimated application uplink transmission performance values.
38. The system of claim 37, wherein the Dynamic Switcher Unit is configured to select the target cellular network from said list, by selecting the top-ranked cellular network on that list that complies with the following pre-defined conditions:(i) if the selected cellular network is estimated, by the Dynamic Switcher Unit, to be compatible with the type and the firmware version of said particular cellular modem of thecellular communication apparatus or that can be loaded or configured for said particular cellular modem as part of the switching process;(ii) if switching said particular cellular modem to said selected cellular network, is estimated by the Dynamic Switcher Unit to maintain and to not reduce a cellular network diversity of the cellular communication apparatus to below a pre-defined threshold value of cellular network diversity.
39. The system of claim 38, wherein the Dynamic Switcher Unit is configured to select the target cellular network from said list, by: firstly, considering as candidates any cellular networks that are already associated with an already-calculated network performance score; secondly, considering as candidates one or more cellular network having network performance that was not yet evaluated by the system.
40. The system of claim 1 , wherein the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least:(I) application transmission performance scores that were generated, in a most-recent assessment time-interval, for cellular networks that are available to the cellular communication apparatus;(II) application transmission performance scores that were generated, in a most-recent assessment time-interval, for cellular modems of the cellular communication apparatus.
41. The system of claim 1, wherein the Dynamic Switcher Unit is configured to evaluate application level cellular modem performance in an assessment time-period that includes: (i) a first time-segment in which a particular cellular modem of the cellular communication apparatus was transmitting over the first cellular network; and (ii) a second time-segment in which said particular cellular modem of the cellular communication apparatus was transmitting over the second cellular network, by taking into account, via a weighted formula, (I) one or more values indicating application level transmission performance of said particular cellular modem during the firsttime-segment in which said particular cellular modem was transmitting over the first cellular network, and (II) one or more values indicating application level transmission performance of said particular cellular modem during the second time-segment in which said particular cellular modem was transmitting over the second cellular network.
42. The system of claim 1, wherein the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: a monetary cost that is estimated to be associated with performing a switching of a particular cellular modem to said target cellular network; wherein said monetary cost comprises at least one of: (i) a monetary cost of the switching process itself, (ii) a monetary cost of subsequent transmission over said target cellular network.
43. The system of claim 1, wherein the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: an estimated time -period, that is estimated to be required for performing a switching of a particular cellular modem to said target cellular network.
44. The system of claim 1 , wherein the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least: an impact of a candidate switching process on an overall cellular network diversity of the cellular communication apparatus, reflected by a total number of cellular networks that are in use for uplink transmission by cellular modems of the cellular communication apparatus.
45. The system of claim 1, wherein the Dynamic Switcher Unit is configured to select a target cellular network for a switching process of a particular cellular modem of the cellular communication apparatus, by taking into account at least:an impact of a candidate switching process on a per-cellular-network modem diversity of the cellular communication apparatus, reflected by a total number of cellular modems of the cellular communication apparatus that perform uplink transmission over the same cellular network.
46. The system of claim 1, wherein the cellular communication apparatus comprises, in addition to said first cellular modem and said second cellular modem, also at least a third cellular modem; wherein the communications bonding unit is configured to perform adaptive distribution of packets of said outgoing stream of packets, that are intended for simultaneous outgoing transmission from said cellular communication apparatus to said remote receiver, to the first cellular modem and the second cellular modem and the third cellular modem.
47. The system of claim 1, wherein the cellular communication apparatus is configured to transmit, simultaneously by splitting over said first and second modems the packets of at least one of:(i) via two or more cellular modems, said stream of packets from said video encoder; and(ii) via two or more cellular modems, at least one of: data sensed by a LIDAR sensor, data sensed by a RADAR sensor, data sensed by an audio microphone, data corresponding to Internet usage by an electronic device, data corresponding to one or more files.
48. A method comprising: at a Dynamic Switcher Unit that is implemented at an application level, analyzing application packets transmission performance and initiating a cellular network switching process for a cellular communication apparatus by communicating with it; wherein the cellular communication apparatus comprises, or is operably associated with, at least:(a) a video encoder unit, that encodes video into an outgoing stream of packets that are intended for simultaneous transmission to a remote recipient device; wherein the video encoder unit is one of: (i) comprised in said cellular communication apparatus, (ii) connected to thecellular communication apparatus via a wired communication link, (iii) connected to the cellular communication apparatus via a wireless communication link;(b) a first cellular modem, configured to transmit and receive packets via cellular communications;(c) a second cellular modem, configured to transmit and receive packets via cellular communications;(d) a communications bonding unit, configured to perform adaptive distribution of packets of said outgoing stream of packets, that are intended for simultaneous outgoing transmission from said cellular communication apparatus to a remote receiver, to the first cellular modem and the second cellular modem; wherein said adaptive distribution of packets of the outgoing stream of packets, by the communications bonding unit, is performed by taking into account at least: application performance characteristics of the transmission over the first cellular modem, and application performance characteristics of the transmission over the second cellular modem; wherein the first cellular modem is associated with a first cellular communications network via a first Cellular Subscriber Identifier that is selected from the group consisting of: an International Mobile Subscriber Identity (IMSI) number, a Temporary Mobile Subscriber Identity (TMSI) number, an Integrated Circuit Card Identifier (ICCID) number, an International Mobile Equipment Identity (IMEI) number; wherein the second cellular modem is associated with a second cellular communications network via a second Cellular Subscriber Identifier that is selected from the group consisting of: an International Mobile Subscriber Identity (IMSI) number, a Temporary Mobile Subscriber Identity (TMSI) number, an Integrated Circuit Card Identifier (ICCID) number, an International Mobile Equipment Identity (IMEI) number; wherein the method comprises, performing at the Dynamic Switcher Unit:(el) obtaining a measured or estimated said performance characteristic of application transmission over the first cellular modem, by performing at least one of: (i) measuring or estimating said performance characteristic, (ii) receiving from another unit a measurement or an estimation of said performance characteristic;(e2) obtaining a measured or estimated said performance characteristic of application transmission over the second cellular modem, by performing at least one of: (i) measuring or estimating said performance characteristic, (ii) receiving from another unit a measurement or an estimation of said performance characteristic;(e3) performing an analysis of one or more performance characteristics that were measured or estimated in steps (el) to (e2);(e4) based on the analysis of step (e3), reaching a determination that a cellular connection of the first cellular modem is performing non-satisfactorily based on at least one of: (i) comparison to one or more threshold values indicating satisfactory application transmission performance levels, (ii) comparison to application transmission performance characteristics of one or more other cellular connections used by said cellular communication apparatus;(e5) based on the determination in step (e4), initiating a switching process that causes the first cellular modem to switch from the first cellular network to a target cellular network that is one of: (i) said second cellular network, (ii) a third cellular network, by commanding the cellular communication apparatus to switch the first cellular modem from using the first Cellular Subscriber Identifier to one of: (i) using a third Cellular Subscriber Identifier that is associated with said second cellular network, (ii) using a third Identity Module that is associated with said third cellular network; (iii) using said first Cellular Subscriber Identifier but also using a Temporary Mobile Subscriber Identity (TMSI) number that enables the first Cellular Subscriber Identifier to transmit packets via said third cellular network.
Citation Information
Patent Citations
Systems and methods for splitting and recombining communications in multi-network environments
EP2934045A1
Multi-modem communication using virtual identity modules
US20150057044A1
Network assisted bonding
US20160255541A1
Methods and systems for selecting SIM card
US20180352496A1