Routing method and apparatus, electronic device, storage medium, and computer program product
Patent Information
- Application Number
- CN202610988749.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-03
- Publication Date
- 2026-10-20
AI Technical Summary
[0005]本申请的目的在于至少提供一种路由方 法、装置、电子设备、存储介质及计算机程序产品,至少可以解决选择一个SIM通道作为默认数据承载而导致的灵活度低、用户满意度差、容易导致SIM通道的网络质量劣化的问题,至少可以提高SIM通道承载数据流量时的灵活性、提高用户满意度、降低SIM通道的网络质量劣化的概率
Smart Images

Figure FT_1 
Figure FT_2 
Figure SMS_1
Abstract
Description
Technical Field
[0001] This application relates to the field of mobile communication technology, and in particular to a routing method, apparatus, electronic device, storage medium, and computer program product. Background Technology
[0002] With the rapid development of mobile communication technology, the multi-SIM (Subscriber Identity Module) parallel capability of terminal devices has evolved from physical dual SIMs to the virtualization of eSIM (Embedded SIM). Whether it's physical dual SIMs or eSIMs configured with multiple operator subscription data—that is, multiple operator profiles—the common characteristic is that the device simultaneously possesses two or more independent cellular data channels (collectively referred to as SIM channels). Each channel can connect to different operator networks, each with different network quality, pricing levels, and coverage characteristics. Using different SIM channels to carry application data traffic will result in differences in network quality, cost, and user satisfaction.
[0003] In related technologies, whether it is physical dual SIM or multiple profiles, users need to enter the device's system settings page to manually specify a SIM channel as the default SIM channel for carrying data traffic.
[0004] However, selecting a SIM channel as the default data carrier, and having all application traffic uniformly transmitted through that SIM channel, results in low flexibility, poor user satisfaction, and a tendency to degrade the network quality of the SIM channel. Summary of the Invention
[0005] The purpose of this application is to provide at least one routing method, device, electronic device, storage medium, and computer program product that can at least solve the problems of low flexibility, poor user satisfaction, and easy degradation of network quality of SIM channel caused by selecting a SIM channel as the default data bearer, and can at least improve the flexibility of SIM channel when carrying data traffic, improve user satisfaction, and reduce the probability of network quality degradation of SIM channel.
[0006] To address the aforementioned technical problems, at least one embodiment of this application provides a routing method applied to a device configured with multiple SIM channels, comprising: determining at least one application to be routed in the device; generating multiple candidate routing strategies between the at least one application to be routed and the multiple SIM channels; obtaining the cumulative fit between each SIM channel and the service category to which each application to be routed belongs, wherein any cumulative fit is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission, and each feedback result includes network quality feedback and / or rollback processing triggering status; calculating the utility value of each candidate routing strategy based on the cumulative fit between each SIM channel and the service category to which each application to be routed belongs, and selecting the candidate routing strategy with the highest utility value as the target routing strategy; and executing the target routing strategy to transmit the data traffic of each application to be routed through the corresponding SIM channel.
[0007] By utilizing the cumulative compatibility between the SIM channel and the service category of the application to be routed to calculate the utility value of each candidate routing strategy, and selecting the candidate routing strategy with the highest utility value as the target routing strategy, the optimal SIM channel can be selected independently and flexibly for different applications to be routed. This avoids the continuous carrying of data traffic from different applications by a single SIM channel, as well as network degradation caused by the mismatch between the SIM channel and the service category of the application, which leads to a decrease in user experience and satisfaction. This achieves flexibility in carrying data traffic with the SIM channel, improves user satisfaction, and reduces the probability of network quality degradation of the SIM channel.
[0008] Furthermore, the cumulative adaptability is determined based on all feedback results accumulated after each historical switch of business data traffic, enabling routing decisions to learn from historical experience rather than relying solely on the current instantaneous network state, thus making the target routing strategy more reliable.
[0009] Furthermore, this method is applied to devices configured with multiple SIM channels, covering both physical dual-SIM and eUICC (Embedded Universal Integrated Circuit Card) MEP (Multiple Enabled Profiles) multi-profile scenarios.
[0010] In some optional embodiments, the method further includes: obtaining utility information corresponding to each SIM channel, the utility information including at least one of network quality information, tariff information, and coverage continuity degree, the coverage continuity degree being determined based on the handover frequency of the cell corresponding to the SIM channel within a preset time period; and calculating the utility value of each candidate routing strategy based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, including: calculating the utility value of each candidate routing strategy based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, and the utility information corresponding to each SIM channel.
[0011] Based on cumulative adaptability, a comprehensive decision is made by integrating the current network quality, pricing level, and coverage continuity of the SIM channel. This ensures that route selection considers both historical experience and current real-time conditions, preventing decision failures caused by relying solely on historical data in the event of sudden changes in scenarios. By introducing coverage continuity, SIM channels with drastic signal fluctuations can be identified and given low scores, thereby avoiding frequent route switching in scenarios with rapidly changing signal strength and improving user experience.
[0012] In some optional embodiments, the utility information includes network quality information, tariff information, and coverage continuity. The calculation of the utility value of each candidate routing strategy based on the cumulative compatibility between each SIM channel and the service category of each application to be routed, and the utility information corresponding to each SIM channel, includes: calculating the sub-utility value between a SIM channel and a corresponding application to be routed in each candidate routing strategy according to the following formula:
[0013] in, For the SIM channel in the candidate routing strategy; This refers to an application to be routed corresponding to the SIM channel. for The business category to which it belongs; for and Sub-utility values between; , , , for The corresponding weight parameters; Based on The corresponding network quality information is determined by the value; based on The corresponding pricing information determines the value; Based on The corresponding value determines the degree of coverage continuity; yes and Cumulative compatibility between them; For each candidate routing strategy, the utility value of the candidate routing strategy is obtained by summing all the sub-utility values corresponding to the candidate routing strategy.
[0014] In some optional embodiments, the method further includes: in response to detecting a user's switchback to the original SIM channel for any application to be routed within a first time threshold after the execution of the target routing policy, recording a negative feedback to the feedback record of the service category to which the application to be routed belongs; in response to not detecting a user's switchback to the original SIM channel for any application to be routed within a second time threshold after the execution of the target routing policy, recording a positive feedback to the feedback record of the service category to which the application to be routed belongs; and updating the weight parameters corresponding to the service category according to the feedback record and a preset weight parameter update rule.
[0015] By detecting whether a user manually switches back to the original channel within a certain threshold after a route change (negative feedback), the system can automatically identify the user's personal preferences and adjust the weight parameters of the utility function accordingly, which is beneficial for implementing personalized routing strategies. As usage time increases, the weight parameters continue to converge to the user's true preferences, and the system's routing decisions become increasingly aligned with user habits, thus improving user experience and satisfaction.
[0016] In some optional embodiments, generating multiple candidate routing strategies between the at least one application to be routed and the multiple SIM channels includes: generating mapping combinations that map each application to be routed to the multiple SIM channels, obtaining multiple mapping combinations, and using the multiple mapping combinations as multiple routing strategies; removing routing strategies that do not meet preset constraints from the multiple routing strategies to obtain the multiple candidate routing strategies; wherein the preset constraints include at least one of the following: hardware constraints: when the antenna architecture type of the device is a dual-SIM dual-standby DSDS architecture, removing routing strategies where at least two SIM channels have corresponding applications to be routed; and removing routing strategies where the number of applications to be routed corresponding to any SIM channel exceeds the maximum number of concurrent data sessions supported by any SIM channel; operator policy constraints: removing routing strategies that do not conform to the operator restriction policies corresponding to the SIM channel; anti-handover storm constraints: removing routing strategies that cause the frequency of switching SIM channels for any application to be routed to exceed a preset upper limit, where each time the data traffic of the application to be routed switches SIM channels is counted as one SIM channel switch.
[0017] In a DSDS (Dual SIM Dual Standby) architecture, the hardware itself does not support two SIM cards simultaneously carrying data traffic. Hardware constraint filtering removes infeasible routing strategies, ensuring the output target routing strategy is physically executable and avoiding routing failures due to hardware limitations. There is a hardware limit to the number of sessions (PDN (Packet Data Network) / PDU (Protocol Data Unit)) that can be established simultaneously per SIM channel. Constraint filtering removes routing strategies exceeding this limit, preventing routing failures due to hardware limitations. Carrier policy constraints ensure that data traffic routing complies with carrier restriction policies, avoiding carrier blocking or additional charges for users. Anti-handover storm constraints limit the frequency of route changes, preventing frequent SIM channel switching when signal quality fluctuates between the two SIM channels, improving stability and user experience.
[0018] In some optional embodiments, the method further includes: within a preset time window after the target routing policy is executed, performing at least one of the following: IMS (IP Multimedia Subsystem) registration status detection, first packet round-trip delay detection, DNS (Domain Name System) resolution reachability detection, and data connectivity detection; and triggering and executing rollback processing in response to any failure of any of the detection results within the preset time window.
[0019] IMS registration status detection, first packet round-trip latency detection, DNS resolution reachability detection, and data connectivity detection together constitute a complete network availability verification system, ensuring that any switching results that may lead to a decline in user experience will be identified and rolled back.
[0020] At least one embodiment of this application also provides a routing apparatus applied to a device configured with multiple SIM channels, comprising: a determining module for determining at least one application to be routed in the device; a generating module for generating multiple candidate routing strategies between the at least one application to be routed and the multiple SIM channels; an obtaining module for obtaining the cumulative fit between each SIM channel and the service category to which each application to be routed belongs, wherein any cumulative fit is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission, and each feedback result includes network quality feedback and / or rollback processing triggering conditions; a calculating module for calculating the utility value of each candidate routing strategy based on the cumulative fit between each SIM channel and the service category to which each application to be routed belongs, and selecting the candidate routing strategy with the highest utility value as the target routing strategy; and an execution module for executing the target routing strategy to transmit the data traffic of each application to be routed through the corresponding SIM channel.
[0021] In some optional embodiments, the acquisition module is further configured to acquire utility information corresponding to each SIM channel at present, the utility information including at least one of network quality information, tariff information and coverage continuity degree, the coverage continuity degree being determined based on the handover frequency of the cell corresponding to the SIM channel within a preset time period; the calculation module is configured to calculate the utility value of each candidate routing strategy based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, and the utility information corresponding to each SIM channel at present.
[0022] In some optional embodiments, the utility information includes network quality information, tariff information, and coverage continuity. The calculation module is used to calculate the sub-utility value between a SIM channel and a corresponding application to be routed in each candidate routing strategy according to the following formula:
[0023] in, For the SIM channel in the candidate routing strategy; This refers to an application to be routed corresponding to the SIM channel. for The business category to which it belongs; for and Sub-utility values between; , , , for The corresponding weight parameters; Based on The corresponding network quality information is determined by the value; based on The corresponding pricing information determines the value; Based on The corresponding value determines the degree of coverage continuity; yes and The cumulative fit between them; for each candidate routing strategy, sum all the sub-utility values corresponding to the candidate routing strategy to obtain the utility value of the candidate routing strategy.
[0024] In some optional embodiments, the system further includes: a weight parameter update module, configured to: in response to detecting a user's switchback operation to the original SIM channel for any application to be routed within a first time threshold after the execution of the target routing policy, record a negative feedback to the feedback record of the service category to which the application to be routed belongs; in response to not detecting a user's switchback operation to the original SIM channel for any application to be routed within a second time threshold after the execution of the target routing policy, record a positive feedback to the feedback record of the service category to which the application to be routed belongs; and update the weight parameter corresponding to the service category according to the feedback record and a preset weight parameter update rule.
[0025] In some optional embodiments, the generation module is used to generate mapping combinations that map each application to be routed to the plurality of SIM channels, resulting in a plurality of mapping combinations, and using the plurality of mapping combinations as a plurality of routing strategies; removing routing strategies that do not meet preset constraints from the plurality of routing strategies to obtain the plurality of candidate routing strategies; wherein the preset constraints include at least one of the following: hardware constraints: when the antenna architecture type of the device is a dual-SIM dual-standby DSDS architecture, removing routing strategies where at least two SIM channels have corresponding applications to be routed; and removing routing strategies where the number of applications to be routed corresponding to any SIM channel exceeds the maximum number of concurrent data sessions supported by any SIM channel; operator policy constraints: removing routing strategies that do not conform to the operator restriction policies corresponding to the SIM channel; anti-handover storm constraints: removing routing strategies that cause the frequency of switching SIM channels for any application to be routed to exceed a preset upper limit, wherein each time the data traffic of the application to be routed switches SIM channels, it is counted as one SIM channel switch.
[0026] In some optional embodiments, it further includes: a detection and rollback module, used to perform at least one of the following within a preset time window after the target routing policy is executed: IP Multimedia Subsystem (IMS) registration status detection, first packet round-trip delay detection, Domain Name System (DNS) resolution reachability detection, and data connectivity detection; and to trigger and execute rollback processing in response to any failure of any one of the detection results within the preset time window.
[0027] At least one embodiment of this application also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the routing method described above.
[0028] At least one embodiment of this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the routing method described above.
[0029] At least one embodiment of this application also provides a computer program product, including a computer program that, when executed by a processor, implements the routing method described above. Attached Figure Description
[0030] One or more embodiments are illustrated by way of example with reference to the accompanying drawings, and these illustrative descriptions do not constitute a limitation on the embodiments.
[0031] Figure 1 This is a flowchart of a routing method provided in one embodiment of this application; Figure 2 This is a schematic diagram of a routing device provided in another embodiment of this application. Detailed Implementation
[0032] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0033] Furthermore, the accompanying drawings are merely illustrative of this application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0034] To facilitate understanding of the embodiments of this application, we will first introduce the relevant content on routing application data traffic.
[0035] The multi-SIM parallel capability of devices has evolved from physical dual SIMs to eSIM virtualization. In terms of physical dual SIMs, DSDS devices are widely used, with each physical SIM card occupying an independent slot and capable of running on different operators' networks simultaneously. The recently emerging DSDA (Dual SIM Dual Active) architecture further allows two SIM cards to transmit data simultaneously, with each card having its own independent radio frequency channel and baseband resources. In physical dual-SIM scenarios, each SIM card corresponds to an independent cellular network interface within the operating system (e.g., rmnet_data0 and rmnet_data1 on the Android platform).
[0036] In terms of eSIM virtualization, an eSIM is a SIM chip soldered onto the motherboard of a terminal device. Its operator subscription data (i.e., profile) can be downloaded and managed remotely without physically replacing the SIM card. The secure chip carrying the eSIM function is called an eUICC. The SGP.22 specification developed by the GSMA (Global System for Mobile Communications Association) defines the remote profile management architecture of the eUICC. Among them, the LPA (Local Profile Assistant) is the core software component on the terminal side responsible for management operations such as profile downloading, activation, and switching. In SGP.22 v3.1 and later versions, the GSMA introduced the MEP mechanism, which allows multiple operator profiles to be enabled on a single eUICC chip at the same time. Each activated profile occupies an independent MEP Logical Port and can establish an independent radio connection with the corresponding operator's network.
[0037] Whether it's a physical dual-SIM or MEP multi-profile setup, their common characteristic is that the terminal device simultaneously possesses two or more independent cellular data channels (collectively referred to as SIM channels in this application). Each channel can connect to different operator networks, each with different network quality, tariff levels, and coverage characteristics. However, how to intelligently allocate data traffic for different applications among multiple SIM channels is a problem that the industry has not yet effectively solved. The MEP specification is designed to define capability mechanisms rather than usage policies. The specification only stipulates that multiple profiles can be in an enabled state simultaneously, but the decision of when to use which profile to carry which type of service is entirely left to the device implementation party to design. The same applies to the physical dual-SIM scenario; the operating system only provides the function of manually selecting the default data card and does not have intelligent routing capabilities based on service categories.
[0038] The solutions in the relevant technologies are as follows: Option 1: Manual selection of Android AOSP (Android Open Source Project) The current mainstream implementation in the industry is represented by AOSP in Android 13+. Whether it's a physical dual-SIM system or a MEP with multiple profiles, users need to manually specify a particular SIM channel as the default data carrier in the system settings. This solution provides device-level data routing, ensuring that all application traffic on the entire terminal device is transmitted through the selected single SIM channel.
[0039] Option 2: Automatic switching scheme based on signal strength This scheme uses RSRP (Reference Signal Received Power) as the sole handover criterion. When the RSRP of the current SIM channel falls below a preset threshold, it automatically switches to the SIM channel with the stronger signal. The decision-making dimension is a single network layer metric, without involving application service category identification, tariff factors, or application-level traffic routing.
[0040] Option 3: Location-based selection scheme This solution searches for and selects the corresponding SIM card in a predefined region-SIM mapping table based on the terminal device's geographical location information. The switching granularity remains at the device level, and it is unaware of the service category of the application being mapped, nor does it involve differentiated traffic routing at the SIM channel level.
[0041] The problem with the related technology is that: 1. Data routing granularity remains at the device level, making it impossible to achieve application-level differentiated routing.
[0042] Regardless of whether it's a physical dual-SIM or MEP multi-profile solution, existing implementations all use the terminal device as the smallest routing unit. The entire device selects one SIM channel as the default data bearer, and all application traffic is transmitted through this channel. Taking cross-border roaming scenarios as an example, when a user simultaneously holds a local low-cost SIM and a high-QoS (Quality of Service) roaming SIM, it's impossible to allocate real-time video traffic to the high-QoS channel while simultaneously allocating background data synchronization traffic to the low-cost channel. The user is forced to choose between all traffic going through the high-cost, high-quality channel and all traffic going through the low-cost, low-quality channel.
[0043] 2. Routing decisions lack business context awareness and cannot match the differentiated network requirements of different applications.
[0044] Using a single network layer metric or location information as a handover criterion fails to consider the service category of the application. However, different service categories have fundamentally different network requirements: real-time video calls are sensitive to bandwidth and jitter, mobile payments are sensitive to latency and reliability, and background data synchronization is sensitive to cost but not latency. A handover strategy lacking service context is essentially a blind handover, unable to select the most suitable SIM channel for the service category.
[0045] 3. Routing switching lacks quality verification and automatic recovery mechanisms.
[0046] Data routing changes in a multi-SIM channel environment involve PDN / PDU Session connection adjustments and IMS registration state migration. If the network quality of the target SIM channel does not meet expectations after the switch (such as IMS registration failure causing VoLTE (Voice over Long-Term Evolution) to be unavailable, or abnormal first packet delay), users will lose their voice call capability or experience data service interruption without their knowledge.
[0047] 4. Routing may interfere with ongoing voice calls.
[0048] While a SIM channel is carrying an active VoLTE / VoNR (Voice over New Radio, 5G NR-based voice call) call, if data traffic from other applications is moved into or out of the session connection on that channel, bandwidth contention may lead to a decrease in voice quality or even call interruption.
[0049] To address the aforementioned technical problems, this application proposes a routing method. The implementation details of the routing method in this embodiment are described below. The following content is only for ease of understanding and is not necessary for implementing this solution.
[0050] Example 1: The routing method in this embodiment can be applied to devices with communication, computing, and data storage capabilities. These devices are configured with multiple SIM channels, and the specific process can be as follows: Figure 1 As shown, it includes: S101-S105.
[0051] This application defines a unified SIM channel abstraction concept to shield the underlying differences between the MEP logical port and the physical SIM card slot, so that the upper-layer perception, decision-making and routing logic does not need to distinguish the underlying SIM carrier type.
[0052] In a multi-profile MEP scenario, one SIM channel corresponds to one MEP logical port and the profile activated on it. For example, if three profiles are activated simultaneously on an eUICC chip, the device identifies three SIM channels, corresponding to Profile A on Port 0, Profile B on Port 1, and Profile C on Port 2, respectively. Each SIM channel establishes an independent PDN / PDU Session connection through its own MEP logical port, which is mapped to an independent cellular network interface (such as rmnet_data0, rmnet_data1, and rmnet_data2) in the operating system.
[0053] In physical dual-SIM / multi-SIM scenarios, one SIM channel corresponds to one physical SIM card slot and the SIM card inserted in it. For example, if a terminal device has two physical card slots, the device identifies two SIM channels, corresponding to the SIM card in slot 1 and the SIM card in slot 2, respectively. Each SIM channel establishes an independent PDN connection through its own physical radio frequency channel, and is also mapped as an independent cellular network interface in the operating system.
[0054] In mixed scenarios (such as a physical SIM card slot plus an eUICC that supports MEP), the system uniformly identifies the physical SIM and each MEP Profile as multiple SIM channels, and the upper-layer logic does not make any distinction.
[0055] S101, Identify at least one application in the device to be routed.
[0056] The application to be routed refers to an application that currently has wireless data transmission requirements. This application may include a first type of application currently running in the foreground, such as a video application running in the foreground, and a second type of application currently running in the background, such as a cloud photo album data backup running in the background.
[0057] In some examples, determining at least one application to be routed in a device may include: obtaining the identifier of at least one application to be routed by calling an interface provided by the operating system installed on the device, and then determining the at least one application to be routed based on the identifier of the at least one application to be routed.
[0058] The embodiments of this application do not limit the specific number of applications to be routed, including at least one application to be routed. In some examples, at least one application to be routed includes an application without an assigned SIM channel, or at least one application to be routed includes both an application without an assigned SIM channel and an application with an assigned SIM channel.
[0059] Each time the routing method in this application is executed, routing may be performed only for applications that are currently not assigned a SIM channel, or in addition to routing applications that are currently not assigned a SIM channel, routing may also be performed for applications that have previously been assigned a SIM channel.
[0060] S102, generate multiple candidate routing policies between at least one application to be routed and multiple SIM channels.
[0061] In some examples, generating multiple candidate routing strategies between at least one application to be routed and multiple SIM channels may include: generating a combination of mappings that maps each application to be routed to the multiple SIM channels, obtaining multiple mapping combinations, and using the multiple mapping combinations as multiple candidate routing strategies.
[0062] For example, at least one application to be routed includes application 1 and application 2. Multiple SIM channels include SIM channel 1 and SIM channel 2.
[0063] The mapping combination that maps each application to be routed to these multiple SIM channels can include: Mapping combination 1: SIM channel 1 (application 1, application 2), SIM channel 2(); Mapping combination 2: SIM channel 1(), SIM channel 2(application 1, application 2); Mapping combination 3: SIM channel 1 (application 1), SIM channel 2 (application 2); Mapping combination 4: SIM channel 1 (application 2), SIM channel 2 (application 1).
[0064] In this context, mapping combination 3 means: using SIM channel 1 to carry the data traffic of application 1, and using SIM channel 2 to carry the data traffic of application 2.
[0065] In other examples, generating multiple candidate routing strategies between at least one application to be routed and multiple SIM channels may include: generating a mapping combination that maps each application to be routed to the multiple SIM channels, obtaining multiple mapping combinations, and using the multiple mapping combinations as multiple routing strategies; removing routing strategies that do not meet preset constraints from the multiple routing strategies, thereby obtaining multiple candidate routing strategies.
[0066] Preset constraints must include at least one of the following: Hardware constraints: When the device's antenna architecture is a dual-SIM dual-standby DSDS architecture, remove routing policies where at least two SIM channels have corresponding applications to be routed; and remove routing policies where the number of applications to be routed for any SIM channel exceeds the maximum number of concurrent data sessions supported by any SIM channel. Carrier policy constraints: Remove routing policies that do not conform to the carrier restriction policies corresponding to the SIM channel; Anti-handover storm constraint: Remove routing policies that cause any application to switch SIM channels more frequently than the preset limit. Each time the data traffic of the application to be routed switches SIM channels, it is counted as one SIM channel switch.
[0067] In the DSDS architecture, the hardware itself does not support two cards simultaneously carrying data traffic. Hardware constraint filtering removes such infeasible routing policies, ensuring that the output target routing policy is physically executable and avoiding routing failures due to hardware limitations. There is a hardware limit to the number of sessions (PDN (Packet Data Network) / PDU (Protocol Data Unit)) that can be established simultaneously per SIM channel. Constraint filtering removes routing policies exceeding this limit, preventing routing failures due to hardware limitations. Carrier policy constraints ensure that data traffic routing complies with carrier restriction policies, avoiding carrier blocking or additional charges for users. Anti-handover storm constraints limit the frequency of route changes, preventing frequent SIM channel switching when signal quality fluctuates between the two SIM channels, improving stability and user experience.
[0068] For 4G / 5G devices, the maximum number of concurrent data sessions can be the maximum number of PDN / PDUSession connections supported by the device.
[0069] S103, obtain the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs. Any cumulative compatibility is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission. Each feedback result includes network quality feedback and / or rollback processing triggering conditions.
[0070] In some examples, the device maintains a cumulative compatibility table between SIM channels and service categories, and a mapping table between applications and service categories. The cumulative compatibility table records the cumulative compatibility between each SIM channel and service category, while the mapping table between applications and service categories indicates the service category to which the application belongs.
[0071] In some examples, obtaining the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs may include: determining the service category to which each application to be routed belongs by querying the mapping table between applications and service categories; and querying the cumulative compatibility table based on the service category to which each application to be routed belongs to obtain the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs.
[0072] The embodiments of this application do not limit the types of business categories to which the application belongs. In some examples, the business categories may include six: REALTIME_VIDEO (real-time video) is a class of video applications, such as TikTok, YouTube, and Zoom. Its main network requirements are high bandwidth and low jitter. The MOBILE_PAYMENT class, with typical applications such as Alipay and WeChat Pay, primarily requires low latency and high reliability in terms of network performance. INSTANT_MESSAGE (instant messaging) class, typical applications such as WeChat and WhatsApp, primarily require low latency and persistent connections. NAVIGATION (navigation map) type, typical applications such as Amap and Google Maps, mainly require continuous network coverage; The BACKGROUND_SYNC class (background synchronization) is typically used for applications such as cloud backup and email synchronization. Its main characteristics are that it is sensitive to cost but not sensitive to latency. The DEFAULT (default) class covers all other applications not in the mapping table and has no special network requirements.
[0073] In some cases, the mapping table supports remote updates via OTA (Over-the-Air) to cover newly released applications.
[0074] Before using the cumulative adaptation table, it is necessary to pre-configure the cumulative adaptation table. The embodiments of this application do not limit how to configure and subsequently update the cumulative adaptation table.
[0075] In some examples, the cumulative compatibility between different SIM channels and various service categories can be configured to the same initial value. In other examples, the initial value of the cumulative compatibility between the SIM channel and various service categories can be configured based on the subscription metadata of the SIM card (physical card or virtual card) corresponding to the SIM channel.
[0076] In some cases, this metadata may include carrier identification and / or package type label. For example, the initial affinity of the SIM channel for international roaming data packages is set to 0.7 for REALTIME_VIDEO services (which typically have high QoS guarantees), and to 0.2 for BACKGROUND_SYNC services (which are too expensive for large amounts of background transmission).
[0077] In some cases, the cumulative adaptability table is updated as follows: any of the above cumulative adaptability values is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission, and each feedback result includes network quality feedback and / or rollback processing triggering conditions.
[0078] To facilitate understanding of the technical solution of this application, we will first explain the selection of the target routing strategy and the execution of the target routing strategy. The further implementation of updating the cumulative adaptation table will be explained later.
[0079] S104. Based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, calculate the utility value of each candidate routing strategy, and select the candidate routing strategy with the highest utility value as the target routing strategy.
[0080] In some examples, for each candidate routing strategy, the cumulative compatibility between the SIM channel in the candidate routing strategy and the service category to which each application to be routed belongs can be added together to obtain the utility value of the candidate routing strategy.
[0081] For example, a candidate routing policy might be SIM Channel 1 (Application 2, Application 3) and SIM Channel 2 (Application 1). The utility value of this candidate routing policy would be the sum of cumulative adaptability 1 and cumulative adaptability 2. Cumulative adaptability 1 is the sum of cumulative adaptability 11 and cumulative adaptability 12. Cumulative adaptability 11 represents the cumulative adaptability between the service categories of SIM Channel 1 and Application 2. Cumulative adaptability 12 represents the cumulative adaptability between the service categories of SIM Channel 1 and Application 3. It should be noted that Application 3 and Application 2 can be in the same or different service categories. Cumulative adaptability 2 represents the cumulative adaptability between the service categories of SIM Channel 2 and Application 1.
[0082] In other examples, it may also involve: obtaining utility information corresponding to each SIM channel, including at least one of network quality information, tariff information, and coverage continuity, wherein the coverage continuity is determined based on the handover frequency of the cell corresponding to the SIM channel within a preset time period. Based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, the utility value of each candidate routing strategy is calculated, which may include: calculating the utility value of each candidate routing strategy based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, and the utility information corresponding to each SIM channel.
[0083] The network quality information may include at least one of the following: RSRP, RTT, estimated available bandwidth, and current access network type for the SIM channel. RSRP represents the signal strength of the base station accessed by each SIM channel; RTT is measured by sending probe packets to the APN (Access Point Name) gateway of each SIM channel; the current access network type includes 5G NR, LTE and 3G, etc.
[0084] The pricing information refers to the fees stipulated in the operator's contract and the agreement corresponding to the SIM channel.
[0085] The embodiments of this application do not limit how to obtain the utility information corresponding to each SIM channel.
[0086] In some examples, utility information includes network quality information, tariff information, and coverage continuity. Obtaining the utility information corresponding to each SIM channel can include: collecting network quality information separately for different SIM channels through the network connection management interface of the operating system installed on the device; obtaining the current tariff information of each SIM channel using a three-level fallback strategy; obtaining the handover frequency of the cell corresponding to the SIM channel within a preset time period through the interface provided by the operating system installed on the device, and calculating the coverage continuity based on the handover frequency of the cell corresponding to the SIM channel within the preset time period.
[0087] The embodiments of this application do not impose limitations on how to calculate the coverage continuity based on the handover frequency of the cell corresponding to the SIM channel within a preset time period. For example, when the handover frequency of the cell corresponding to the SIM channel exceeds a first frequency value within a preset time period, the coverage continuity is taken as a preset lower limit value; when the handover frequency of the cell corresponding to the SIM channel is lower than a second frequency value, the coverage continuity is taken as a preset upper limit value.
[0088] For example, a preset time period of 5 minutes, etc.
[0089] In other examples, before calculating the coverage continuity, it is necessary to obtain the RSRP of the SIM channel within a preset time period. The coverage continuity is calculated based on the handover frequency of the cell corresponding to the SIM channel within the preset time period and the standard deviation of the RSRP.
[0090] For example, when the standard deviation of RSRP is less than 3dB, the coverage continuity is taken as the upper limit; when the standard deviation exceeds 10dB, the coverage continuity is taken as the lower limit. When the handover frequency of the cell corresponding to the SIM channel exceeds the first frequency value within a preset time period, the coverage continuity is taken as the preset lower limit; when the handover frequency of the cell corresponding to the SIM channel is lower than the second frequency value, the coverage continuity is taken as the preset upper limit. The two are weighted and synthesized with a weight of 0.5 for each.
[0091] In some examples, when employing a three-level fallback strategy to obtain current tariff information for each SIM channel, the first level involves querying the current SIM channel's tariff information in real time via the operator's open API (such as the Pricing / QoD API of GSMA Open Gateway). The second level involves extracting tariff information from the SIM channel's subscription metadata when the operator's API is unavailable. The third level, when neither of the first two levels can obtain valid information, guides the user to manually configure tariff information upon the initial activation of the SIM channel, storing the configuration in a local configuration file.
[0092] In some examples, utility information includes network quality information, tariff information, and coverage continuity. Based on the cumulative compatibility between each SIM channel and the service category of each application to be routed, and the utility information corresponding to each SIM channel, the utility value of each candidate routing strategy is calculated, which may include: The sub-utility value between a SIM channel and a corresponding application to be routed in each candidate routing policy is calculated using the following formula. Then, for each candidate routing policy, all the sub-utility values corresponding to the candidate routing policy are summed to obtain the utility value of the candidate routing policy.
[0093]
[0094] in, For the SIM channel in the candidate routing strategy; This refers to an application to be routed corresponding to the SIM channel. for The business category to which it belongs; for and Sub-utility values between; , , , for The corresponding weight parameters; Based on The corresponding network quality information is determined by the value; based on The corresponding pricing information determines the value; Based on The corresponding value determines the degree of coverage continuity; yes and The cumulative compatibility between them.
[0095] Based on cumulative adaptability, a comprehensive decision is made by integrating the current network quality, pricing level, and coverage continuity of the SIM channel. This ensures that route selection considers both historical experience and current real-time conditions, preventing decision failures caused by relying solely on historical data in the event of sudden changes in scenarios. By introducing coverage continuity, SIM channels with drastic signal fluctuations can be identified and given low scores, thereby avoiding frequent route switching in scenarios with rapidly changing signal strength and improving user experience.
[0096] Regarding how to base The corresponding network quality information is determined. The values are not limited in the embodiments of this application, and a set of network quality information is pre-configured with... The mapping relationship between values is sufficient.
[0097] For example, The value range is from 0 to 1. Taking network quality information including RSRP and RTT as an example, RSRP can be linearly mapped to this interval, where -80dBm and above is mapped to 1.0, -110dBm and below is mapped to 0, and intermediate values are linearly interpolated. RTT is linearly mapped inversely to the same interval, where 50ms and below is mapped to 1.0, and 500ms and above is mapped to 0. The two are then weighted and synthesized with a weight of 0.5 for each.
[0098] Regarding how to base The corresponding pricing information is determined. The value of this application is not limited in its embodiments; a set of tariff information is pre-configured and... This simply involves the mapping relationship between values. For example, The value ranges from 0 to 1. For local data plans, the optimal value is 0 for free data. For international roaming data, which is billed per use, the value is linearly mapped to a value between 0 and 1 based on the unit price; the higher the unit price, the higher the value. The larger.
[0099] Regarding how to base The corresponding degree of coverage continuity is determined. The values of are not limited in the embodiments of this application. A set of values covering the degree of continuity is pre-configured. The mapping relationship between values is sufficient.
[0100] It can be a function to look up the cumulative fit table, by querying... and ,get .
[0101] S105, execute the target routing policy to transmit the data traffic of each application to be routed through the corresponding SIM channel.
[0102] In some cases, the operating system running the device maintains a SIM channel binding table, recording the correspondence between each SIM channel and the operating system's network interface. This binding table is applicable to both MEP (Mobile Electronic Pre-installation) and physical dual-SIM scenarios.
[0103] In a MEP scenario, the binding table records the MEP logical port number, the corresponding Profile identifier, the operating system network interface name, and the APN configuration. For example, Profile A on Port 0 corresponds to the network interface rmnet_data0, and uses APNcmnet to establish PDN connection 1; Profile B on Port 1 corresponds to the network interface rmnet_data1, and uses APNroaming.global to establish PDN connection 2; Profile C on Port 2 corresponds to the network interface rmnet_data2, and uses APNiot.data to establish PDN connection 3.
[0104] In a physical dual-SIM scenario, the binding table records the physical SIM slot number, the corresponding SIM card operator identifier, the operating system network interface name, and the APN configuration. For example, the China Mobile SIM card in slot 1 corresponds to the network interface rmnet_data0 and uses APN cmnet to establish PDN connection 1; the China Unicom SIM card in slot 2 corresponds to the network interface rmnet_data1 and uses APN3gnet to establish PDN connection 2.
[0105] In some examples, implementing a target routing policy may include binding the data traffic of different applications to be routed to different network interfaces through the traffic marking (fwmark) and policy routing mechanism of the operating system network service module carried in the device, so as to transmit the data traffic of each application to be routed through the corresponding SIM channel.
[0106] Method 1 uses UID (User Identifier) to mark traffic and directs marked traffic to the corresponding network interface through IP rules and routing tables. Taking a payment application using SIM channel A and a video application using SIM channel B as an example, the specific steps are: set the fwmark flag to 0x100 for the payment application's UID, and establish a policy routing rule to direct traffic marked with 0x100 to the rmnet_data0 interface; set the fwmark flag to 0x200 for the video application's UID, and establish a policy routing rule to direct traffic marked with 0x200 to the rmnet_data1 interface. This method requires system-level privileges (NET_ADMIN kernel capability) and is suitable for scenarios where terminal manufacturers integrate the routing module into the system ROM.
[0107] Method 2: Establish a local loopback VPN tunnel through the VPN service interface provided by the operating system (such as Android VpnService), and distribute traffic to different physical network interfaces according to the source application UID of the data packets within the VPN tunnel.
[0108] In some cases, when executing the target routing policy, differentiated processing strategies are applied to established TCP connections (corresponding to applications configured with SIM channels) and newly established TCP connections (not yet configured with SIM channels). Since the source IP address of an established TCP connection is bound to the IP of the original network interface, directly routing data packets to the new network interface will cause the peer to send an RST (Reset) message to interrupt the connection due to the mismatch between the source IP and the egress interface. Therefore, this application retains the traffic marking rules pointing to the original network interface for existing TCP connections, allowing them to continue transmitting on the original interface. For newly established TCP connections, traffic marking rules pointing to the target network interface are applied. Specifically, this is achieved by setting different fwmark values for the ESTABLISHED (established connection) and NEW (new connection) state packets of the same application UID, directing them to the old and new interfaces respectively. After an existing connection closes naturally (TCP four-way handshake) or times out (e.g., 30 seconds of no data transmission by default), the system automatically clears the corresponding old routing rules, completing the entire routing migration process.
[0109] In some examples, within a preset time window after the target routing policy is executed, at least one of the following is performed: IMS registration status detection, first packet round-trip latency detection, Domain Name System (DNS) resolution reachability detection, and data connectivity detection; in response to any failure of any of the detection results within the preset time window, a rollback process is triggered and executed.
[0110] It should be noted that before executing the target routing policy, the operating system on the device saves a snapshot of the routing rules (routing policy) before the execution of the target routing policy. After triggering the rollback process, this routing rule snapshot is used for the rollback.
[0111] The embodiments of this application do not limit how any detection result is determined to be a failure. For example, the IMS registration status callback is used to determine whether the IMS on the target SIM channel has been successfully registered. If the detection result is registration failure or no response is received within 5 seconds, the detection result of the IMS registration status is considered to be a failure.
[0112] For example, the first packet round-trip time delay detection is performed by sending an ICMP Echo message to the target APN gateway to measure the RTT. If the detection result shows that the RTT exceeds k times the value before the handover, the first packet round-trip time delay detection result is considered to be a failure.
[0113] For example, DNS reachability testing involves sending a domain name resolution request to a public DNS server through a new network interface. If the test result is a resolution failure or a timeout of 3 seconds, the test result is considered a failure.
[0114] For example, in data connectivity testing, an HTTP HEAD request is sent to a reliable endpoint through a new network interface. If the test result is a connection failure or the HTTP status code is not in the target format, the data connectivity test result is considered to be a failure.
[0115] After completing the execution of the target rationale strategy and performing multiple checks to determine whether to roll back the operation, the following section explains how to update the cumulative fit table.
[0116] IMS registration status detection, first packet round-trip latency detection, DNS resolution reachability detection, and data connectivity detection together constitute a complete network availability verification system, ensuring that any switching results that may lead to a decline in user experience will be identified and rolled back.
[0117] Taking the feedback results in S103, which include network quality feedback and rollback triggering status, as an example.
[0118] In some examples, updates to network quality feedback are implemented as follows: After each execution of the target routing policy, actual network quality metrics (e.g., at least one of RTT (Round-Trip Time), bandwidth, packet loss rate, etc.) are collected for the SIM channel to obtain network quality feedback. This feedback is then compared with a first expected threshold for the service category. If the actual network quality feedback is better than the first expected threshold for N consecutive times (a preset value), the cumulative adaptability of the SIM channel to the service category is increased by a step size equal to the first step size (e.g., the first step size is 0.02, and the upper limit of the cumulative adaptability of a SIM channel to a service category is 1.0). If the actual network quality feedback is lower than the second expected threshold for M consecutive times (a preset value), the cumulative adaptability of the SIM channel to the service category is decreased by a step size equal to the second step size (e.g., the second step size is 0.02, and the lower limit of the cumulative adaptability of a SIM channel to a service category is 0.0). The network quality represented by the second expected threshold is worse than the network quality represented by the first threshold.
[0119] In some cases, updates are made in response to rollback triggering: after each execution of the target routing policy, if rollback is triggered, the cumulative compatibility between each SIM channel and the corresponding application's service type in the target routing policy is reduced by a preset rollback deduction value.
[0120] In some examples, the method further includes: in response to detecting a user's switchback to the original SIM channel for any application to be routed within a first time threshold after the execution of the target routing policy, recording a negative feedback in the feedback record of the service category to which the application to be routed belongs; in response to not detecting a user's switchback to the original SIM channel for any application to be routed within a second time threshold after the execution of the target routing policy, recording a positive feedback in the feedback record of the service category to which the application to be routed belongs; and updating the weight parameters corresponding to the service category according to the preset weight parameter update rules based on the feedback record.
[0121] The specific rules for updating the preset weight parameters are not limited in the embodiments of this application. For example, the preset weight parameter update rule is as follows: for each new feedback in the feedback record, the deviation contribution of each item (the items whose utility values are obtained by summing) in the utility value corresponding to that feedback is analyzed, the target item with the largest deviation contribution is determined, and when the feedback is positive, the weight parameter value corresponding to the target item is increased by a preset increase value, and all weight parameter values are normalized; when the feedback is negative, the weight parameter value corresponding to the target item is decreased by a preset decrease value, and all weight parameter values are normalized.
[0122] By detecting whether a user manually switches back to the original channel within a certain threshold after a route change (negative feedback), the system can automatically identify the user's personal preferences and adjust the weight parameters of the utility function accordingly, which is beneficial for implementing personalized routing strategies. As usage time increases, the weight parameters continue to converge to the user's true preferences, and the system's routing decisions become increasingly aligned with user habits, thus improving user experience and satisfaction.
[0123] In some cases, when updating the weight parameters corresponding to business categories, the current values in the cumulative fit table are frozen, and the parameters of both layers are not updated simultaneously, in order to eliminate the unrecognizable nature of the underdetermined system.
[0124] In some instances, when executing a target routing policy, if an active voice call (e.g., VoLTE, VoNR, emergency call) is detected on any SIM channel, at least one of the following three actions is performed.
[0125] First, lock the routing status of the SIM channel. Prohibit the migration of data traffic from other applications into this SIM channel to avoid bandwidth contention affecting voice quality. Simultaneously, prohibit the migration of existing data traffic from the SIM channel to avoid routing changes triggering PDN Session renegotiation and impacting voice transmission.
[0126] Second, emergency calls have the highest priority. When an emergency call is detected, routing of all non-emergency data traffic on that SIM channel is suspended to ensure that the SIM channel carrying the emergency call receives full available bandwidth.
[0127] Third, the utility function output is suspended. During the call, the target routing policy is selected normally, but all routing change instructions involving the locked SIM channel in the target routing policy are marked as "pending execution" and do not take effect immediately. After the call ends, a predetermined time is delayed (covering possible callback or continuous call scenarios), and then the most recent "pending execution" routing change instruction is read, compared with the current routing state, and only the routing changes of the differences are executed.
[0128] By utilizing the cumulative compatibility between the SIM channel and the service category of the application to be routed to calculate the utility value of each candidate routing strategy, and selecting the candidate routing strategy with the highest utility value as the target routing strategy, the optimal SIM channel can be selected independently and flexibly for different applications to be routed. This avoids the continuous carrying of data traffic from different applications by a single SIM channel, as well as network degradation caused by the mismatch between the SIM channel and the service category of the application, which leads to a decrease in user experience and satisfaction. This achieves flexibility in carrying data traffic with the SIM channel, improves user satisfaction, and reduces the probability of network quality degradation of the SIM channel.
[0129] Furthermore, the cumulative adaptability is determined based on all feedback results accumulated after each historical switch of business data traffic, enabling routing decisions to learn from historical experience rather than relying solely on the current instantaneous network state, thus making the target routing strategy more reliable.
[0130] Furthermore, this method is applied to devices configured with multiple SIM channels, covering both physical dual-SIM and eUICCMEP multi-profile scenarios.
[0131] Example 2: Another embodiment of this application relates to a routing device. The implementation details of the routing device in this embodiment are described below. The following details are provided for ease of understanding and are not essential for implementing this solution. A schematic diagram of the routing device in this embodiment can be seen as follows: Figure 2As shown, the method is applied to a device configured with multiple SIM channels, including: a determination module 21, used to determine at least one application to be routed in the device; a generation module 22, used to generate multiple candidate routing policies between the at least one application to be routed and the multiple SIM channels; an acquisition module 23, used to acquire the cumulative fit between each SIM channel and the service category to which each application to be routed belongs, wherein any cumulative fit is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission, and each feedback result includes network quality feedback and / or rollback processing triggering conditions; a calculation module 24, used to calculate the utility value of each candidate routing policy based on the cumulative fit between each SIM channel and the service category to which each application to be routed belongs, and select the candidate routing policy with the highest utility value as the target routing policy; and an execution module 25, used to execute the target routing policy to transmit the data traffic of each application to be routed through the corresponding SIM channel.
[0132] In some optional embodiments, the acquisition module 23 is further configured to acquire the utility information corresponding to each SIM channel at present. The utility information includes at least one of network quality information, tariff information and coverage continuity degree. The coverage continuity degree is determined based on the handover frequency of the cell corresponding to the SIM channel within a preset time period. The calculation module 24 is configured to calculate the utility value of each candidate routing strategy based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, and the utility information corresponding to each SIM channel at present.
[0133] In some optional embodiments, the utility information includes network quality information, tariff information, and coverage continuity. The calculation module 24 is used to calculate the sub-utility value between a SIM channel and a corresponding application to be routed in each candidate routing policy according to the following formula:
[0134] in, For the SIM channel in the candidate routing strategy; This refers to an application to be routed corresponding to the SIM channel. for The business category to which it belongs; for and Sub-utility values between; , , , for The corresponding weight parameters; Based on The corresponding network quality information is determined by the value; based on The corresponding pricing information determines the value; Based on The corresponding value determines the degree of coverage continuity; yes and The cumulative fit between them; for each candidate routing strategy, sum all the sub-utility values corresponding to the candidate routing strategy to obtain the utility value of the candidate routing strategy.
[0135] In some optional embodiments, the system further includes: a weight parameter update module, configured to: in response to detecting a user's switchback operation to the original SIM channel for any application to be routed within a first time threshold after the execution of the target routing policy, record a negative feedback to the feedback record of the service category to which the application to be routed belongs; in response to not detecting a user's switchback operation to the original SIM channel for any application to be routed within a second time threshold after the execution of the target routing policy, record a positive feedback to the feedback record of the service category to which the application to be routed belongs; and update the weight parameters corresponding to the service category according to the feedback record and a preset weight parameter update rule.
[0136] In some optional embodiments, the generation module 22 is used to generate a mapping combination that maps each application to be routed to multiple SIM channels, resulting in multiple mapping combinations, and using these multiple mapping combinations as multiple routing strategies; removing routing strategies that do not meet preset constraints from the multiple routing strategies to obtain multiple candidate routing strategies; wherein the preset constraints include at least one of the following: hardware constraints: when the antenna architecture type of the device is a dual-SIM dual-standby DSDS architecture, removing routing strategies where at least two SIM channels have corresponding applications to be routed; and removing routing strategies where the number of applications to be routed corresponding to any SIM channel exceeds the maximum number of concurrent data sessions supported by any SIM channel; operator policy constraints: removing routing strategies that do not conform to the operator restriction policies corresponding to the SIM channel; anti-handover storm constraints: removing routing strategies that cause the frequency of switching SIM channels for any application to be routed to exceed a preset upper limit, where each time the data traffic of the application to be routed switches SIM channels, it is counted as one SIM channel switch.
[0137] In some optional embodiments, it further includes: a detection and rollback module, used to perform at least one of the following within a preset time window after the target routing policy is executed: IP Multimedia Subsystem (IMS) registration status detection, first packet round-trip delay detection, Domain Name System (DNS) resolution reachability detection, and data connectivity detection; and to trigger and execute rollback processing in response to any failure result of any one of the detections within the preset time window.
[0138] By utilizing the cumulative compatibility between the SIM channel and the service category of the application to be routed to calculate the utility value of each candidate routing strategy, and selecting the candidate routing strategy with the highest utility value as the target routing strategy, the optimal SIM channel can be selected independently and flexibly for different applications to be routed. This avoids the continuous carrying of data traffic from different applications by a single SIM channel, as well as network degradation caused by the mismatch between the SIM channel and the application's service category, which leads to a decrease in user experience and satisfaction. This achieves flexibility in carrying data traffic with the SIM channel, improves user satisfaction, and reduces the probability of network quality degradation of the SIM channel.
[0139] Furthermore, the cumulative adaptability is determined based on all feedback results accumulated after each historical switch of business data traffic, enabling routing decisions to learn from historical experience rather than relying solely on the current instantaneous network state, thus making the target routing strategy more reliable.
[0140] Furthermore, this method is applied to devices configured with multiple SIM channels, covering both physical dual-SIM and eUICC (Embedded Universal Integrated Circuit Card) MEP (Multiple Enabled Profiles) multi-profile scenarios.
[0141] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this application, this embodiment does not introduce units that are not closely related to solving the technical problems proposed in this application; however, this does not mean that other units are absent in this embodiment.
[0142] Example 3: Another embodiment of this application relates to an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the routing methods in the above embodiments.
[0143] The memory and processor are connected via a bus, which can include any number of interconnecting buses and bridges, connecting various circuits of one or more processors and memories. The bus can also connect various other circuits, such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and will not be described further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by the processor is transmitted over the wireless medium via an antenna, which further receives data and transmits it to the processor.
[0144] The processor manages the bus and general processing, and also provides various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. Memory is used to store data used by the processor during operation.
[0145] Example 4: Another embodiment of this application relates to a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the method embodiments described above.
[0146] That is, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware. This program is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0147] Example 5: Another embodiment of this application relates to a computer program product, including a computer program. When executed by a processor, the computer program implements the method embodiments described above.
[0148] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0149] Furthermore, although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0150] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware.
[0151] Those skilled in the art will understand that the above embodiments are specific embodiments for implementing this application, and in practical applications, various changes can be made to them in form and detail without departing from the spirit and scope of this application.
Claims
1. A routing method, characterized in that, Applicable to devices configured with multiple SIM channels, including: Identify at least one application to be routed in the device; Generate multiple candidate routing strategies between the at least one application to be routed and the multiple SIM channels; Obtain the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs. Any cumulative compatibility is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission. Each feedback result includes network quality feedback and / or rollback processing triggering conditions. Based on the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs, the utility value of each candidate routing strategy is calculated, and the candidate routing strategy with the highest utility value is selected as the target routing strategy. The target routing policy is executed to transmit the data traffic of each application to be routed through the corresponding SIM channel.
2. The method according to claim 1, characterized in that, Also includes: Obtain utility information corresponding to each SIM channel at present. The utility information includes at least one of network quality information, tariff information and coverage continuity degree. The coverage continuity degree is determined based on the handover frequency of the cell corresponding to the SIM channel within a preset time period. The utility value of each candidate routing strategy is calculated based on the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs, including: Based on the cumulative compatibility between each SIM channel and the service category of each application to be routed, and the utility information corresponding to each SIM channel, the utility value of each candidate routing strategy is calculated.
3. The method according to claim 2, characterized in that, The utility information includes network quality information, tariff information, and coverage continuity. The utility value of each candidate routing strategy is calculated based on the cumulative compatibility between each SIM channel and the service category of each application to be routed, and the utility information corresponding to each SIM channel, including: The sub-utility value between a SIM channel and a corresponding application to be routed in each candidate routing policy is calculated using the following formula: in, For the SIM channel in the candidate routing strategy; This refers to an application to be routed corresponding to the SIM channel. for The business category to which it belongs; for and Sub-utility values between; , , , for The corresponding weight parameters; Based on The corresponding network quality information is determined by the value; based on The corresponding pricing information determines the value; Based on The corresponding value determines the degree of coverage continuity; yes and Cumulative compatibility between them; For each candidate routing strategy, the utility value of the candidate routing strategy is obtained by summing all the sub-utility values corresponding to the candidate routing strategy.
4. The method according to claim 3, characterized in that, Also includes: In response to detecting a user's switchback to the original SIM channel for any application to be routed within the first time threshold after the execution of the target routing policy, a negative feedback is recorded in the feedback record of the service category to which the application to be routed belongs; In response to the absence of a user switching back to the original SIM channel for any of the applications to be routed within a second time threshold after the execution of the target routing policy, a positive feedback is recorded in the feedback record of the service category to which any of the applications to be routed belongs; Based on the feedback record, the weight parameters corresponding to the business category are updated according to the preset weight parameter update rules.
5. The method according to claim 1, characterized in that, The generation of multiple candidate routing strategies between the at least one application to be routed and the multiple SIM channels includes: Generate a mapping combination that maps each application to be routed to the multiple SIM channels, resulting in multiple mapping combinations, and use the multiple mapping combinations as multiple routing strategies; The routing strategies that do not meet the preset constraints are removed from the plurality of routing strategies to obtain the plurality of candidate routing strategies; wherein the preset constraints include at least one of the following: Hardware constraints: When the antenna architecture of the device is a dual-SIM dual-standby DSDS architecture, remove routing policies where at least two SIM channels have corresponding applications to be routed; and remove routing policies where the number of applications to be routed for any SIM channel exceeds the maximum number of concurrent data sessions supported by any SIM channel. Carrier policy constraints: Remove routing policies that do not conform to the carrier restriction policies corresponding to the SIM channel; Anti-handover storm constraint: Remove routing policies that cause any application to switch SIM channels more frequently than the preset limit. Each time the data traffic of the application to be routed switches SIM channels, it is counted as one SIM channel switch.
6. The method according to claim 1, characterized in that, Also includes: Within a preset time window after the target routing policy is executed, at least one of the following is performed: IP Multimedia Subsystem (IMS) registration status detection, first packet round-trip delay detection, Domain Name System (DNS) resolution reachability detection, and data connectivity detection. In response to any failure of a test result within a preset time window, a rollback process is triggered and executed.
7. A routing device, characterized in that, Applicable to devices configured with multiple SIM channels, including: The determination module is used to determine at least one application to be routed in the device; The generation module is used to generate multiple candidate routing strategies between the at least one application to be routed and the multiple SIM channels; The acquisition module is used to acquire the cumulative compatibility between each SIM channel and the service category to which each application to be routed belongs. Any cumulative compatibility is determined based on all feedback results accumulated after each historical switch of service data traffic to SIM channel transmission. Each feedback result includes network quality feedback and / or rollback processing triggering conditions. The calculation module is used to calculate the utility value of each candidate routing strategy based on the cumulative adaptability between each SIM channel and the service category to which each application to be routed belongs, and select the candidate routing strategy with the highest utility value as the target routing strategy. The execution module is used to execute the target routing policy to transmit the data traffic of each application to be routed through the corresponding SIM channel.
8. An electronic device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the routing method as described in any one of claims 1 to 6.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the routing method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the routing method according to any one of claims 1 to 6.