Method and system for providing communication services using multiple remote subscriber identity modules

By selecting the initial local SIM and establishing an authentication connection with the SIM library in the wireless communication device, and then selecting a remote SIM to establish an additional connection, the communication interruption problem when the wireless communication device changes or malfunctions is solved, ensuring the stability and flexibility of the communication service.

CN115696303BActive Publication Date: 2026-03-27PISMO LABS TECH
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-18
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

When wireless communication devices are in motion, or when SIM card data quotas are exhausted or malfunctions, existing technologies struggle to effectively switch remote SIMs, leading to communication interruptions and impacting service delivery capabilities.

Method used

By selecting a local SIM in the wireless communication device to establish an initial wireless carrier connection and an authentication connection with the SIM library, and then selecting a remote SIM to establish additional wireless carrier connections, the continuity of communication services is ensured.

Benefits of technology

It enables the maintenance of stable communication services through multiple wireless operator connections when the SIM card changes or malfunctions, avoiding communication interruptions and improving the reliability and flexibility of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115696303B_ABST
    Figure CN115696303B_ABST
Patent Text Reader

Abstract

A method and wireless communication device for providing communication services to a device connected to the wireless communication device. The wireless communication device establishes one or more logical data connections with one or more SIM banks by using a primary SIM from a plurality of local SIMs to establish a primary wireless carrier connection. A remote SIM is selected from the one or more SIM banks and used to establish a secondary wireless carrier connection to allow communication services to be provided to the device over the wireless carrier connections.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application for invention with application number 202080007092.X and titled "Method and system for providing communication services using multiple remote subscriber identity modules". TECHNICAL FIELD

[0002] 1. The present invention relates generally to wireless communication devices that establish wireless carrier connections using remote SIMs, and more specifically to selecting multiple remote SIMs and establishing wireless carrier connections through multiple wireless communication modules. BACKGROUND

[0003] 2. Wireless communication devices, such as cellular routers, provide communication services to other devices. The wireless communication devices can establish a wireless carrier connection and then allow other devices to send and receive data through the wireless carrier connection. To establish the wireless carrier connection, one or more subscriber identity module (SIM) cards are used.

[0004] 3. When the wireless communication device moves to another location, a different SIM card can be needed. Also, when the data quota of a SIM card is used up or is about to be used up, another different SIM card can be swapped for the SIM card. And, when a SIM card fails, a new SIM will be needed to replace the SIM card. There are many reasons for needing to replace SIM cards at the wireless communication device.

[0005] 4. One solution is to use a remote SIM. The remote SIM is placed at a SIM bank. The wireless communication device communicates with the SIM bank through a logical data connection in order to use the remote SIM; and the logical data connection is established through an already established wireless carrier connection.

[0006] 5. In the event of an interruption, the communication with the SIM bank at the logical data connection and / or at the wireless carrier connection can be adversely affected. The remote SIM that is being used can then become unavailable. In such a situation, the wireless communication device will not be able to provide communication services to other devices. SUMMARY

[0007] 6. A method of selecting a subscriber identity module (SIM) card at a wireless communication device is disclosed. The selection includes establishing an originating wireless carrier connection using an originating local SIM. Subsequently, an originating authentication connection is established between the wireless communication device and a SIM library. When the originating authentication connection is established, a first local SIM or a first remote SIM is selected from the SIM library to establish a first wireless carrier connection. Thereafter, the originating wireless carrier connection is disconnected. A second local SIM or a second remote SIM is selected from the SIM library to establish a second wireless carrier connection. Finally, a device connected to the wireless communication device is provided with a communication service through one or both of the first wireless carrier connection and the second wireless carrier connection. BRIEF DESCRIPTION OF DRAWINGS

[0008] 7. Figure 1A A schematic block diagram of a wireless communication device according to one embodiment of the present application is shown.

[0009] 8. Figure 1B A schematic block diagram of a wireless communication device according to one embodiment of the present application is shown.

[0010] 9. Figure 1C A schematic block diagram of a SIM library according to the present application is shown.

[0011] 10. Figure 1D A schematic block diagram of a SIM library management server according to the present application is shown.

[0012] 11. Figure 2A A network diagram according to the present application is shown.

[0013] 12. Figure 2B A wireless carrier connection according to the present application is shown.

[0014] 13. Figure 3A is a process flow diagram showing a method for selecting a R-SIM according to the present application.

[0015] 14. Figure 3B is a process flow diagram showing a method for providing authentication information according to the present application.

[0016] 15. Figure 4A is a process flow diagram showing a method according to one embodiment of the present application.

[0017] 16. Figure 4B is a process flow diagram showing a method according to one example embodiment of the present application.

[0018] 17. Figure 5A is a process flow diagram showing a method according to one example embodiment of the present application.

[0019] 18. Figure 5B is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0020] 19. Figure 5C is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0021] 20. Figure 6 is a process flow diagram illustrating a method according to one embodiment of the present application.

[0022] 21. Figure 7 is a process flow diagram illustrating a method according to one embodiment of the present application.

[0023] 22. Figure 8A is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0024] 23. Figure 8B is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0025] 24. Figure 8C is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0026] 25. Figure 8D is a process flow diagram for one embodiment of the present application.

[0027] 26. Figure 9A is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0028] 27. Figure 9B is a process flow diagram illustrating a method according to one example embodiment of the present application.

[0029] 28. Figure 10 is a timing diagram of an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0030] 29. The following description of preferred, exemplary embodiments is only provided to assist in understanding the present application and is not intended to limit the scope, applicability or configuration of the present application in any way. Rather, the following description of preferred, exemplary embodiments will provide an enabling description for a skilled artisan to implement preferred, exemplary embodiments of the present application. It should be understood that various changes can be made to the function and arrangement of elements without departing from the spirit and scope of the present application as set forth in the appended claims.

[0031] 30. In the following description, specific details are given to provide thorough understanding of embodiments. However, a person skilled in the art will recognize that the embodiments can be practiced without these specific details. For example, circuits can be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques can be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0032] 31. Also, it is noted that embodiments can be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, or a block diagram. Although a flowchart can describe operations as a continuous process, many of the operations can be performed concurrently or in different orders than those described. Further, an operation is not necessarily performed in the order shown in the figures. The processes described herein terminate when their operations are completed, but can have additional steps not included in the figure that can be performed after the operations of the figure are completed. The processes can correspond to methods, functions, procedures, subroutines, subprograms, etc.

[0033] When the process corresponds to a function, its termination corresponds to the return of the function to the calling function or the main function.

[0034] 32. Embodiments, or portions thereof, can be implemented in program instructions that can operate on a processing unit to perform functions and operations as described herein. Program instructions that form various embodiments can be stored in a storage medium.

[0035] 33. Program instructions that form various embodiments can be stored in a storage medium. Also, as disclosed herein, the term "storage medium" can refer to one or more devices for storing data, including read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), random access memory (RAM), magnetic RAM, magnetic core memory, floppy disk, flexible disk, hard disk, magnetic tape, CD-ROM, flash memory devices, memory sticks, and / or other machine readable mediums for storing information. 34.

[0036] 34. The term "machine-readable medium" includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, and various other mediums capable of storing, containing, or carrying instruction and / or data. A machine-readable medium can be realized by virtualization and can be a virtual machine-readable medium, including a virtual machine-readable medium in a cloud-based instance. Further, embodiments can be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks can be stored in a machine-readable medium such as a storage medium. 35.

[0037] 35. The terms computer readable medium, main memory, secondary storage, or other storage, as used herein refers to any media that participate in providing instructions to a processing unit for execution. A processing unit reads data written to the main memory and writes such data to the secondary storage. Thus, if data written to the main memory is lost due to a power failure or the like, the data can be recovered by transferring data saved in the secondary storage to the main memory. A computer readable medium is merely one example of a machine readable medium, which can carry instructions for implementing any of the methods and / or techniques described herein. Such a medium can take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks. Volatile storage includes dynamic memory. Transmission media includes coaxial cables, copper wire, and fiber optics. Transmission media can also take the form of acoustic or light waves, such as those generated during radio or infrared data communications.

[0038] 36. Volatile memory can be used for storing temporary variables or other intermediate information during execution of instructions by the processing unit. Non-volatile storage or static storage can be used for storing static information and instructions for the processor, and various system configurations.

[0039] 37. The storage media can include a number of software modules, which can implement the software codes to be executed by the processing unit using any suitable computer instruction type. The software code can be stored as a series of instructions or commands, or as a program in the storage media.

[0040] 38. The various forms of computer readable media can be involved in carrying one or more sequences of one or more instructions to the processing unit for execution. For example, the instructions can initially be carried on a magnetic disk from a remote computer. Alternatively, remote computer can load the instructions into its dynamic memory and send the instructions to the system over a telephone line using a modem. 39. The processing unit can be a microprocessor, microcontroller, digital signal processor (DSP), any combination of those devices, or any other circuitry configured to process information.

[0041] 39. The processing unit can be a microprocessor, microcontroller, digital signal processor (DSP), any combination of those devices, or any other circuitry configured to process information.

[0042] 40. The processing unit executes program instructions or code segments for implementing embodiments of the present application. Furthermore, embodiments can be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program instructions for carrying out necessary tasks can be stored in a computer readable storage medium. The processing unit can be implemented by virtualization and can be a virtual processing unit, including a virtual processing unit in a cloud-based instance.

[0043] 41. Embodiments of the present application relate to the use of computer systems to implement the techniques described herein. In embodiments, processing units of the present application can reside on a machine such as a computer platform. In accordance with one embodiment of the present application, the techniques described herein are performed by computer system in response to processor executing one or more sequences of one or more instructions contained in volatile memory. Such instructions can be read into volatile memory from another computer-readable medium. Execution of the sequences of instructions contained in volatile memory causes processor to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions to implement the present application. Thus, embodiments of the present application are not limited to any specific combination of hardware circuitry and software.

[0044] 42. Alternatively, hard-wired circuitry can be used in place of or in combination with software instructions to implement processes consistent with the principles of the present application. Thus, embodiments consistent with the principles of the present application are not limited to any specific combination of hardware circuitry and software.

[0045] 43. Network interfaces can be implemented by standalone electronic components or can be integrated with other electronic components. Depending on the configuration, network interfaces can have no network connections or at least one network connection. Network interfaces, such as network interfaces 135 and 136 in WCD 100, can be Ethernet interfaces, frame relay interfaces, fiber optic interfaces, cable interfaces, digital subscriber line (DSL) interfaces, token ring interfaces, serial bus interfaces, universal serial bus (USB) interfaces, Firewire interfaces, peripheral component interconnect (PCI) interfaces, cellular network interfaces, etc.

[0046] 44. Network interfaces can be connected to wired or wireless access networks. Access networks can carry one or more network protocol data. Wired access networks can be implemented using Ethernet, fiber optic, cable, DSL, frame relay, token ring, serial bus, USB, Firewire, PCI, or any material that can transfer information. Wireless access networks can be implemented using infrared, high speed packet access (HSPA), HSPA+, long term evolution (LTE), WiMax, general packet radio service (GPRS), global system for mobile communications (GSM), enhanced data rates for GSM evolution (EDGE), code division multiple access (CDMA), Wi-Fi, CDMA2000, wideband CDMA (WCDMA), time division CDMA (TD-SCDMA), Bluetooth, WiBRO, evolution-data optimized (EV-DO); digital enhanced cordless telecommunications (DECT); digital AMPS (IS-136 / TDMA); integrated digital enhanced (iDEN); or any other wireless technology. For example, network interfaces can be used as local area network (LAN) interfaces or wide area network (WAN) interfaces.

[0047] 45. As disclosed herein, the term "wireless communication module" can mean a transceiver module to provide network capability to the power controller or power controller server using 3G, GPRS or GPS module over wire or over Ethernet cable. The wireless communication module reduces the processing unit to obtain user information and the communication port of the communication module can be connected to a personal computer or other power controller or power controller server (PCS) wirelessly over wire or by using serial bus or Ethernet or using 2G / 3G / 4G or LTE technology. The wireless communication module can be used as a network interface for applications that need to share data between the power controller and intelligent devices such as host computers and / or servers.

[0048] 46. Figure 1A is a schematic block diagram illustrating hardware blocks of a wireless communication device (WCD) 100. The WCD 100 includes a plurality of SIM card interfaces 117 and a plurality of embedded universal integrated circuit cards (eUICCs) 116. Each of the plurality of SIM card interfaces 117 is configured to connect one or more removable SIMs. For the purpose of illustration, one removable SIM is described herein for each of the SIM card interfaces. For example, the SIM card interface 117a is connected to a removable SIM 112a and the SIM card interface 117b is connected to a removable SIM 112b. The removable SIMs can be universal integrated circuit cards. Each of the SIM card interfaces can be connected to a SIM slot for placing the removable SIM.

[0049] 47. The eUICCs 116 can be built into the WCD and are not removable. Each of the eUICCs 116 can be configured to implement one or more electronic SIMs (eSIMs). For purposes of illustration, one eSIM is described herein for each of the eUICCs. For example, the eUICC 116a is to implement eSIM 111a and eSIM 111c; and the eUICC 116b is to implement eSIM 111b and eSIM 111d. An eSIM can represent a SIM profile. A SIM profile can be derived from a remote eSIM subscription management server based on information provided by a wireless carrier network. A SIM profile contains information that provides access to a particular wireless carrier network for wireless communication. The eSIMs 111a-d can be from the same or different wireless carrier networks. Hereinafter, the eSIMs 111 and the removable SIMs 112 are also referred to as local SIMs (L-SIMs). A local SIM (L-SIM) is a SIM placed in the WCD 100. There is no limit to the number of SIMs that can be placed in the WCD 100.

[0050] 48. The WCD 100 can also be configured to connect one or more remote SIMs (R-SIMs) over the Internet. A remote SIM (R-SIM) is a SIM placed in a SIM library. For purposes of illustration, R-SIMs 113a and 113b are shown. The R-SIMs 113a and 113b can be placed in one or more SIM libraries that can be configured to connect with the WCD 100 over one or more data connections. There is no limit to the number of SIMs that can be placed in a SIM library. There is no limit to the number of SIM libraries that can be connected to the WCD 100. For example, the R-SIMs 113a and 113b can be placed in two different SIM libraries.

[0051] 49. The WCD 100 also includes a plurality of wireless communication modules (WCMs), such as WCMs 101a-101c. Each of the plurality of WCMs 101 can be configured to connect one of the L-SIMs or R-SIMs at a time. A wireless communication module, such as the WCM 101, can be connected to an embedded / external antenna and perform wireless communication via the antenna. An example of a WCM is the Sierra Wireless EM7511.

[0052] 50. A processing unit, such as processing unit 160, executes program instructions or code segments for implementing embodiments of the present invention. Furthermore, embodiments may be implemented using hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented using software, firmware, middleware, or microcode, program instructions for performing necessary tasks may be stored in a computer-readable storage medium.

[0053] 51. Processing unit 160 may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), any combination of those devices, or any other circuitry configured to execute program instructions for implementing the embodiments disclosed herein. In one exemplary embodiment, processing unit 160 has a sufficient number of input / output pins and processing capabilities. Therefore, processing unit 160 may be directly connected to SIM card interface 117, eUICC 116, WCM 101, and other hardware components, such as main memory 132 and system bus 137.

[0054] 52. In another exemplary embodiment, such as Figure 1B As shown, processing unit 160 does not have a sufficient number of input / output pins to connect to all hardware components. Therefore, a complex programmable logic device (CPLD), such as CPLD 150, is connected to processing unit 160 to provide a sufficient number of input / output pins. Some hardware components, such as eUICC 116, SIM card interface 117, and WCM101, can be connected to the processing unit via the CPLD, while other hardware components, such as main memory 132 and system bus 137, can be connected directly, through another circuit, and / or through another CPLD. There is no restriction on using a CPLD. Any logic circuit that can be configured to implement multiplexing can be used. For example, an FPGA or a multiplexer can also be used.

[0055] 53. Network interfaces 135 and 136 can be connected to processing unit 160 via system bus 137. System bus 137 can be any of several types of bus structures using any of a variety of bus architectures, including memory bus, peripheral bus, and local bus.

[0056] 54. In one variant, the WCMs 101a-c, the eUICCs 116a-b, the SIM interfaces 117a-b, and the main memory 132 are not directly connected to the processing unit 160. Rather, they are indirectly connected to the processing unit 160 through a bus, such as the system bus 137, for example. In one variant, they are indirectly connected to the processing unit 160 through multiple buses.

[0057] 55. Figure 2A is a schematic block diagram illustrating an exemplary network environment operable to utilize multiple SIMs for data communication, in accordance with embodiments disclosed herein. Figure 2A includes three wireless carrier networks, such as wireless carrier networks 201a-201c. Each wireless carrier network can provide communication coverage for a corresponding specific geographic region using cellular technology. The wireless carrier networks 201a-201c can be operated by the same company or different companies.

[0058] 56. The WCD 100 can communicate with the network server 208, the network nodes 210, the SIM library 212, the SIM library management server 216, and the eSIM subscription management server 214 through the interconnection network 217. For ease of reading, the eSIM subscription management server is hereinafter referred to as the eSIM server. The WCD 100 can connect with the interconnection network 217 through one or more wireless carrier connections established by the wireless carrier networks 201a-201c. The WCD 100 can establish the wireless carrier connections using any of the L-SIMs and R-SIMs discussed in the Figure 1A section.

[0059] 57. Optionally, Figure 2A also includes a satellite carrier network, such as satellite carrier network 205. The satellite carrier network 205 can be implemented using geostationary satellites or low earth orbit (LEO) satellites, which provide communication coverage for a larger geographic region than wireless carrier networks. For example, the WCD 100 can be under the corresponding coverage of the satellite carrier network 205, and can optionally connect with the interconnection network 217 through one or more satellite data connections established by the satellite carrier network 205.

[0060] 58. Optionally, the WCD 100 is also capable of connecting with one or more wired communication networks. An example of a wired communication network can include the network nodes 209. The WCD 100 can optionally connect to the interconnection network 217 through one or more wired data connections established using one or more network nodes, including but not limited to 209.

[0061] 59. The WCD 100 can connect to one or more local hosts directly or through a connected local area network (LAN). For purposes of illustration, the WCD 100 is connected directly to a local host laptop computer 206 and through a LAN 202 to a local host loT 204. Each of the local hosts 204 and 206 can be connected through the WCD 100 to the inter-network 217. Thus, the WCD 100 acts as a gateway to allow routing of data packets through one or more wireless carrier connections established via the wireless carrier networks 201a-201c.

[0062] 60. According to one embodiment of the application, when a first set of data packets is received at the WCD 100 from a local host destined for a remote host reachable through any of the wireless carrier connections established, the WCD 100 first decides which wireless carrier connections should be used for sending the data packets. For purposes of illustration, the WCD 100 receives data packets from the laptop computer 206 destined for the web server 208. The decision to select a wireless carrier connection to send the data packets can be based on a policy. The policy can be based on one or more of the following criteria: network performance, network security, user access, user preference, device preference, signal strength, account period, time.

[0063] 61. Figure 1C is a schematic block diagram of an exemplary SIM bank according to one embodiment of the application. For example, the exemplary SIM bank is the SIM bank 212a. The SIM bank 212a includes at least one processing unit 153 and at least one main memory 154. The processing unit 153 can be connected directly to the main memory 154 and to hardware components, such as to at least one secondary storage device 155, one or more network interfaces 156, and a plurality of SIM interfaces 152, through a system bus, such as a system bus 157. The system bus 157 can be any of several types of bus structures using any of a variety of bus architectures, including a memory bus, a peripheral bus, or a local bus.

[0064] 62. Each of the plurality of SIM interfaces 152 can be connected with a corresponding SIM slot, such as a SIM slot 151, to place or connect to a SIM. The SIM interface, such as the SIM interface 152, is used to write information to the SIM and to access information from the SIM. There are many SIM interfaces available from different manufacturers. Some SIM interfaces provide the functionality of power, card reset signal, card clock signal, and data exchange. Data exchange can be performed between the SIM and the processing unit of the SIM bank 212a through the SIM interface. Some SIM interfaces can connect with only one SIM, while some can connect with multiple SIMs.

[0065] 63. In one variant, when the processing unit has sufficient number of I / O pins, hardware components such as the secondary storage 155, network interface 156, and SIM interface 152 can be directly connected to the processing unit 153. The system bus 157 can be omitted. Alternatively, when the processing unit 153 does not have sufficient number of I / O pins, some or all of the hardware components can be connected to the processing unit using one or more CPLDs. There is no restriction that a CPLD must be used. Multiplexers, FPGAs, or any logic circuitry for providing the function of the required number of I / O pins can also be used.

[0066] 64. One or more SIM banks can be managed by one or more SIM bank management servers. For example, Figure 2A A SIM bank management server 216 is shown in FIG. 16. The SIM bank management server 216 can be remotely or locally coupled to the SIM bank. The connection of the WCD 100 to the SIM bank 212a can be managed through the SIM bank management server, for example Figure 2A The SIM bank management server 216 is shown in FIG. 16. There is no restriction that the SIM bank and the SIM bank management server must be separate. A device can include both the SIM bank and the SIM bank management server.

[0067] 65. The SIM bank management server can perform a device authentication procedure before providing access to the WCD 100 to any SIM bank. To facilitate the device authentication information, the WCD 100 can need to register with the SIM bank management server. The registration can be performed online, for example through a user interface (e.g., a web page or a web form), or offline. The authentication information to authenticate the WCD

[0068] The authentication information of the WCD 100 can be provided to the SIM bank management server 216 by the WCD 100 or by an administrator of the WCD 100 as appropriate. The SIM bank management server 216 can store the necessary information, including but not limited to WCD information, administrator information, registration information, authentication information, the number of connected SIM banks, the location of the SIM banks, and the information of the SIMs placed in the SIM

[0069] banks.

[0070] 66. The WCD 100 can communicate with the SIM bank management server 216 for accessing the information of the SIM bank 212. Initially, the WCD 100 can not have access to the information of the SIM bank, after communicating with the SIM bank management server 216, the WCD 100 can receive the access information, such as the IP address and the host name of the SIM bank and / or the security code. After receiving the access information, the WCD 100 can become capable of accessing the corresponding SIM bank.

[0071] 67. Figure 1D isFigure 2A An exemplary block diagram of the exemplary SIM library management server 216 is shown in FIG. 2. The SIM library management server 216 includes at least one processing unit 161 and at least one main memory 162. The processing unit 161 can be directly connected to the main memory 162 and to other components, such as at least one secondary storage device 163 and one or more network interfaces 164a and 164b, through a system bus 165. The system bus 165 can be any of several types of bus structures using any of a variety of bus architectures, including a memory bus, a peripheral bus, or a local bus.

[0072] 68. Figure 2B The wireless operator connections 230 can be one of the wireless operator connections established by the WCD 100 through any of the wireless operator networks 201a-201c. The wireless operator connections 230 can be established using 2G / 3G / 4G / 5G, LTE, Wi-Fi, or any other wireless communication technology. The logical data connections 231-233 can be established using TCP / IP, UDP / IP, IP, or any logical data connection protocol. For example, the logical data connection 231 can be established between the WCD 100 and the network node 210; the logical data connection 232 can be established between the WCD 100 and the SIM library 212a; and the logical data connection 233 can be established between the WCD 100 and the SIM library 212b. There is no limitation that all the logical data connections 231-233 must be established using the same or different logical data connection protocols. There is also no limitation on the number of logical data connections that can be included in a wireless operator connection. A logical data connection can also be a tunnel for encapsulating another logical data connection. Multiple logical data connections can also be aggregated together to form an aggregated logical data connection.

[0073] 100 and the SIM library 212b. There is no limitation that all the logical data connections 231-233 must be established using the same or different logical data connection protocols. There is also no limitation on the number of logical data connections that can be included in a wireless operator connection. A logical data connection can also be a tunnel for encapsulating another logical data connection. Multiple logical data connections can also be aggregated together to form an aggregated logical data connection.

[0074] 69. Since the WCD 100 can establish multiple wireless operator connections at the same time, the WCD 100 can establish a logical data connection with a device reachable through the interconnected network 217 through any of the multiple wireless operator connections. The WCD 100 can also establish multiple logical data connections with devices reachable through the interconnected network 217 through the multiple wireless operator connections at the same time.

[0075] 70. Figure 3A is a flowchart showing the execution at the WCD 100, the SIM library 212, and / or the SIM library management server 216 to select an R-

[0076] The process flowchart for the SIM method is as follows: In process 311, the processing unit determines the identity of the wireless operator network being used by the WCD 100. The WCD 100 may not use a wireless operator network, or may use one or more wireless operator networks. In process 312, the processing unit determines the number of R-SIMs to be selected, which should be equal to or less than the number of available WCMs. The selected R-SIMs will be used by the WCM to establish a wireless operator connection.

[0077] 71. In process 313, the processing unit determines the wireless operator network to be used, based on the wireless operator network identified at the location of WCD 100. In process 314, the processing unit selects an R-SIM that satisfies the SIM selection strategy for each wireless operator network, with the aim of maximizing the number of wireless operator networks. When attempting to maximize the number of wireless operator networks, the processing unit may consider the wireless operator networks identified in process 311.

[0078] The number of R-SIMs selected can be zero, one, or more than one.

[0079] 72. In the example scenario, in Figure 2A The WCD 100 has three WCMs, namely Figure 1A WCM 101a-c. WCM

[0080] 101a has already established a wireless operator connection with wireless operator network 201a using L-SIM 112a. Therefore, the wireless network operator identified in procedure 311 is wireless operator network 201a.

[0081] 73. Therefore, there are still two available WCMs, namely WCM 101b and WCM 101c. In procedure 312, the number of R-SIMs selected will be two, that is, two R-SIMs can subsequently be selected for WCM 101b and WCM 101c.

[0082] 74. In procedure 313, it is determined that the wireless networks to be used are wireless carrier networks 201a-201c, because these three networks are identified at the location of WCD 100.

[0083] 75. In process 314, when the two R-SIMs are selected, the processing unit considers the wireless operator network A in order to maximize the number of different wireless operator networks. The selected R-SIMs should also satisfy the SIM selection policy. If the selected R-SIMs are roaming R-SIMs, the wireless operator networks available for using the roaming R-SIMs are also considered in order to maximize the number of different wireless operator networks. For example, there are multiple R-SIMs that satisfy the SIM selection policy, one R-SIM that can be used to establish a wireless operator connection with wireless operator network 201a, wireless operator network 201b, and wireless operator network 201c can be selected. However, in order to maximize the number of wireless operator networks, only one R-SIM that can be used to establish a wireless operator connection on wireless operator network 201b and one R-SIM that can be used to establish a wireless operator connection on wireless operator network 201c are selected.

[0084] 76. In addition, the International Mobile Subscriber Identity (IMSI) and the International Mobile Equipment Identity (IMEI) of the selected R-SIMs can be subsequently forwarded to the WCD 100 by the SIM library 212 or the SIM library management server 216 in process 314.

[0085] 77. There is no limitation that the number of selected R-SIMs must be two. The number of selected R-SIMs can be different depending on the number of available WCMs.

[0086] 78. When the number of wireless operator networks at the location of the WCD 100 is less than the number of R-SIMs to be selected, at least two R-SIMs can belong to the same wireless operator network. If the selected R-SIMs are roaming R-SIMs, the roaming R-SIMs can be configured to use the same wireless operator network as another R-SIM.

[0087] 79. Processes 311 to 314 can be performed by the processing unit of the WCD 100, the processing unit of the SIM library 212, or the processing unit of the WCD 100, individually or together. For example, process 311 can be performed by the processing unit 160 of the WCD 100 using one of the WCMs 101 to determine the wireless operator networks. Process 311 can also be performed by the processing unit of the SIM library 212 or the processing unit of the WCD 100. The processing unit of the SIM library 212 or the processing unit of the WCD 100 can search the database for wireless operator networks based on the location information provided by the WCD 100.

[0088] 80. In one variant, Figure 3A The processes illustrated in FIG. 18 are also applicable to L-SIMs.

[0089] 81. Figure 3B is a process flow diagram illustrating a method performed by the SIM library 212 and / or the SIM library management server 216 to provide authentication information to the WCD 100. At process 321, the SIM library 212 and / or the SIM library management server 216 receives one or more authentication requests from the WCD 100. The authentication requests are initially sent by the wireless carrier network to the WCM in the WCD 100 for the selected R-SIM. When the WCM 100 sends the IMSI or IMEI to the wireless carrier network, the wireless carrier network can send an authentication request, such as a random challenge (RAND), to the WCM.

[0090] 82. At process 321, the SIM library 212 forwards the authentication request to the selected SIM that is accessible by the SIM library 212. In the case where the authentication request is sent to the SIM management server 216, the SIM management server 216 will forward the authentication request to the corresponding SIM library, such as the SIM 212, for processing.

[0091] 83. At process 322, the selected SIM processes the authentication request and then creates authentication information, such as a signed response (SRES), in accordance with the authentication request. The SIM library 212a then forwards the authentication information received from the selected SIM to the WCD 100 at process 323.

[0092]

[0093] 84. In one variant, the WCD 100 can send multiple authentication requests together. When the SIM library 212a and / or the SIM library management server 216 receives the authentication requests at process 321, it can process processes 322 and 323 in parallel or in sequence for each authentication request.

[0094]

[0095] 85. In one variant, when multiple authentication requests are sent to the SIM library management server 216, the SIM library management server 216 can forward the authentication requests to multiple SIM libraries based on the location where the selected SIMs are located.

[0096] 86. Figure 4A is a process flow diagram illustrating a method according to one embodiment of the present application. The method can be performed at the processing unit 160 of the WCD 100. Figure 4A Figure 1A Figure 2A ​​​​In conjunction. The method starts with process 400. At process 401, processing unit 160 selects an L-SIM from the plurality of available L-SIMs as a starting SIM to establish a starting wireless carrier connection with a starting wireless carrier network, such as wireless carrier network 201c. The starting SIM is the first SIM selected and used in the sequence.

[0097] 87. The available L-SIMs are L-SIMs placed in WCD 100 and have not been assigned a WCM. The starting SIM is the SIM selected to establish a starting wireless carrier connection with a wireless carrier network. Once the connection is established, the wireless carrier network is referred to as the starting wireless carrier network and the connection is referred to as the starting wireless carrier connection. The selection of an L-SIM as the starting SIM can be based on instructions manually provided by an administrator of the WCD or can be based on a starting SIM selection policy. The starting SIM selection policy can be configured by an administrator of WCD 100 or retrieved from a remote server. The starting SIM selection policy can be based on one or more of the following criteria: the geographic location of WCD 100, the location of the SIMs placed in WCD 100, the SIM category, the network performance history of the SIMs, the identity of the wireless carrier network that issued the SIMs, the services provided by the wireless carrier network of the SIMs, the quality of service of the wireless carrier network of the SIMs, the administrator's preference, the cost, the remaining usage quota of the available L-SIMs, billing period information, and time. In one variant, where one or more L-SIMs are eSIMs from an eUICC, the wireless carrier networks configured in the eSIMs can be used for selection. When eSIMs are added, changed, or deleted as SIM profiles in the eUICC, the starting SIM selection policy will take the modifications into account.

[0098] 100. The starting SIM selection policy can be based on one or more of the following criteria: the geographic location of WCD 100, the location of the SIMs placed in WCD 100, the SIM category, the network performance history of the SIMs, the identity of the wireless carrier network that issued the SIMs, the services provided by the wireless carrier network of the SIMs, the quality of service of the wireless carrier network of the SIMs, the administrator's preference, the cost, the remaining usage quota of the available L-SIMs, billing period information, and time. In one variant, where one or more L-SIMs are eSIMs from an eUICC, the wireless carrier networks configured in the eSIMs can be used for selection. When eSIMs are added, changed, or deleted as SIM profiles in the eUICC, the starting SIM selection policy will take the modifications into account.

[0099] 88. When the geographic location of the WCD is used for the starting SIM selection policy, the longitude and latitude information based on GPS information obtained from a GPS receiver at WCD 100 can be used to find the available wireless carrier networks at the geographic location of WCD 100.

[0100] 89. When the SIMs placed in WCD 100 are selected based on their location, the first located SIM will be selected first. For example, the SIMs placed in WCD 100 can be located in a numerical or alphabetical order.

[0101] 90. For example, when selecting a SIM based on tariff price, a SIM with the lowest tariff can be selected. It is possible that the tariff of the wireless carrier network can change. The SIM with the lowest tariff can no longer be the SIM with the lowest tariff. Therefore, the processing unit of the WCD 100 can monitor the tariff price information from time to time, and whenever a tariff change is detected, the processing unit re-determines which SIM has the lowest tariff price.

[0102] 91. A SIM can also be selected based on billing period information. The billing period is the cycle of the cellular subscription for the communication service. The billing period can be weekly, monthly, or yearly. In one example scenario where it can be beneficial to use the billing period information, the data usage limit per billing period can be capped, and exceeding the allowed data usage limit incurs a high fee. Therefore, when selecting a SIM based on billing period information, a SIM whose data usage limit is about to be reached for the billing period can not be selected.

[0103] 92. A SIM can also be selected based on the time of day. There are many reasons for selecting a SIM based on time, one example can be the change of tariff price. Some wireless carrier networks can offer different tariff prices for different times of the day. It is very common for wireless carrier networks to offer lower tariff rates during off-peak periods. Therefore, a SIM from a wireless carrier network that offers the lowest tariff price for a specific time of the day can be selected when the selection occurs during the specified time period.

[0104] 93. A SIM can be selected based on the preference of the administrator. The administrator of the WCD 100 or the SIM library 212 can assign a priority to each SIM. Therefore, when selecting a SIM based on the preference of the administrator, the SIM with the assigned higher priority will be selected. The administrator can assign the priority to the SIM based on different basis including the conditions of the R-SIM selection criteria disclosed herein.

[0105] 94. A SIM can also be selected based on the quality of service of the wireless carrier network of the SIM. When selecting a SIM based on the quality of service, a SIM from a wireless carrier network that offers better quality of service will be selected. The quality of service of the wireless carrier network can be evaluated based on different criteria including but not limited to signal strength, network coverage, security, and simplicity of configuration.

[0106] 95. At process 402, the processing unit 160 assigns an available WCM from the plurality of WCMs 101 to use the starting SIM. An available WCM is a WCM that has not been assigned to any SIM and is operational. For illustration purposes, the starting SIM is the SIM

[0107] 112a and can be WCM 101a. The processing unit 160 assigns WCM 101a to SIM 112a. At process 403, the processing unit 160 initiates an action to establish a starting wireless carrier connection using WCM 101a and SIM 112a. The assigned WCM can become unassigned when it fails to establish a wireless carrier connection or its established wireless carrier connection is disconnected.

[0108] 96. At process 404, the processing unit 160 determines whether the starting wireless carrier connection has been established. If the starting wireless carrier connection has not been established, the processing unit 160 loops back to process 401 and selects another SIM from the plurality of L-SIMs as the starting SIM and performs processes 401-404. The iteration of processes 401-404 continues until the starting wireless carrier connection is successfully established. If each of the plurality of L-SIMs is attempted and the starting wireless carrier connection is not established, no further attempt will be performed. Optionally, a message is sent to its administrator informing that the establishment of the starting wireless carrier connection has failed and the method stops. In one variant, the looping between processes 401 to 404 will not be performed after a preset number of iterations has been reached or a certain period of time is reached. In another variant, the method is restarted after a predetermined time interval. The time interval can be set by the manufacturer as a default time interval or can be manually set by the administrator of the WCD. The message can be displayed on the user interface (UI) of the WCD.

[0109] 97. When the starting wireless carrier connection is established, at process 405, the WCD 100 connects to a remote SIM bank, such as SIM bank 212a, by establishing a logical data connection through the starting wireless carrier connection. The logical data connection can be established using TCP, UDP, or other communication protocols. When one or more subsequent wireless carrier connections are established, a logical data connection is established with the SIM bank 212a through the subsequent wireless carrier connection. The logical data connection is used to carry authentication requests and authentication information, and thus, the logical data connection is referred to as a starting authentication connection hereinafter.

[0110] The logical data connection with the SIM bank 212a can be used to carry authentication requests and authentication information, and thus, the logical data connection is referred to as a starting authentication connection hereinafter.

[0111] 98. At process 406, another SIM is selected from the available L-SIMs and R-SIMs. An available R-SIM is a SIM in the SIM bank that has not been assigned a WCM. The selection of the other SIM can be performed manually by the administrator of the WCD 100 or can be based on a SIM selection policy that is different from the starting SIM selection policy. The SIM selection policy is similar to the starting SIM selection policy. However, the SIM selection policy can also select a R-SIM, while the starting SIM selection policy does not select a R-SIM. The SIM selection policy can have the same or different selection criteria.

[0112] 99. In process 407, a SIM selected in process 406 is assigned to an available WCM, and a wireless operator connection is established using the SIM selected in process 406 and the assigned WCM. During the establishment of the wireless operator connection, if the SIM selected in process 406 is an R-SIM, then an initial authentication connection is used to transmit authentication requests and authentication information related to the R-SIM selected in process 406 between the WCD 100 and the SIM library 212a. On the other hand, if the SIM selected in process 406 is an L-SIM, then the initial authentication connection cannot be used because the authentication requests and authentication information regarding the L-SIM have not been authenticated through the authentication connection. The initial authentication connection can be used forward to transmit authentication requests and authentication information as needed. In a variant, the initial authentication connection is replaced by the alternative authentication connection described below.

[0113] 100. In one variant, the initial authentication connection is used only to send and receive authentication requests and authentication information. The initial authentication connection is not used to provide communication services to devices connected to the WCD 100. In another variant, the initial authentication connection is allowed to provide communication services to devices connected to the WCD 100.

[0114] 101. In process 408, the processing unit of WCD 100 determines whether a threshold has been reached. When the threshold is reached, the process ends in process 409. The threshold may be evaluated based on one or more conditions, including but not limited to the number of WCMs in use, the number of R-SIMs in use, and / or the total number of WCMs in WCD 100.

[0115] 102. In one instance, when the threshold is based on the number of WCMs in use, the processing unit of WCD 100 determines whether the number of WCMs in use is equal to the threshold number of WCMs in use. If the number of WCMs in use is equal to the threshold number of WCMs in use, then the process ends at process 409. If the number of WCMs in use is less than the threshold number of WCMs in use, then the processing unit of WCD 100 returns to process 406 and continues to establish additional wireless carrier connections using another SIM and another available WCM. The loop iterates from processes 406-408 until the threshold is reached. There is no limit to how many wireless carrier connections can be established. In a variant, the total number of wireless carrier connections to be established is the total number of WCMs placed in WCD 100.

[0116] 103.In another example, when the threshold is based on the number of SIMs being used, the method determines whether the number of SIMs being used is equal to the threshold. If the number of SIMs being used is equal to the threshold number of SIMs being used, the method ends. If the number of SIMs being used is not equal to the threshold number of SIMs being used, the method moves back to process 406 to select another SIM from the plurality of available L-SIMs and R-SIMs, and iterates through processes 406-408 until the threshold is reached.

[0117] 104.In one variant, a predetermined time is set to reach the threshold, and when the threshold is not met within the predetermined time, the method stops looping back to process 406 and ends. Setting a predetermined time to reach the threshold is advantageous in saving energy and resources. For example, in some scenarios, it can happen that the threshold cannot be met because there can not be a SIM available for selection while looping back to process 406. Thus, the looping from process 406 to process 408 can continue to run until more SIMs are inserted into the SIM bank or the WCD, and energy and resources are wasted.

[0118] 105. Figure 4B is a process flow diagram illustrating a method according to one example embodiment of the application. The method can be performed at the processing unit 160 of the WCD 100. Figure 4B should be read in conjunction with Figure 1A and Figure 2A . The method starts at process 420. In process 421, the method selects a plurality of available L-SIMs as starting SIMs. Figure 4B The method illustrated in Figure 4A is similar to the method illustrated in Figure 4A . Selecting the first plurality of available L-SIMs as starting SIMs can be performed in the same manner as discussed in process 401 in

[0119] 106.In process 422, an available WCM is assigned to each of the starting SIMs in the plurality of starting SIMs. For example, in Figure 1A , the WCMs 101a-101c are illustrated, and if the WCM 101a is already in use, the available WCMs are WCMs 101b and 101c.

[0120] 107.In process 423, the processing unit of the WCD 100 initiates actions to establish starting wireless carrier connections using the plurality of starting SIMs and their corresponding assigned WCMs.

[0121] 108. In process 424, the processing unit of WCD 100 determines whether at least one starting wireless carrier connection has been established. If at least one starting wireless carrier connection is successfully established, the processing unit of WCD 100 uses the at least one starting wireless carrier connection to connect at least one SIM bank, such as SIM bank 212a, by establishing at least one starting authentication connection in process 425.

[0122] 109. If it is determined in process 424 that a starting wireless carrier connection has not been established, the method moves from process 424 back to process 421 and selects another plurality of L-SIMs from the available L-SIMs as starting SIMs, and iterates processes 421-423 until at least one starting wireless carrier connection is established. The another plurality of L-SIMs should not include L-SIMs that have been tried and failed to establish a connection. In one variant, a tried L-SIM can be selected again after a certain period of time. In another variant, if all L-SIMs have been tried at least once but a starting wireless connection is still not established, the tried L-SIMs can be selected again.

[0123] 110. In process 425, if a plurality of starting wireless carrier connections is established, the processing unit of WCD 100 can use any one of the starting wireless carrier connections for connecting a SIM bank by establishing a starting authentication connection, and the other starting wireless carrier connections can be used for data communication. In one variant, when the use of an L-SIM can incur roaming fees and an authentication connection has already been established using a cheaper wireless carrier connection, the wireless carrier connection of the L-SIM will be disconnected to save cost. In another variant, at least two logical data connections are aggregated together to form an aggregated logical connection for connecting to a SIM bank. The aggregated logical connection can be used as an authentication connection. In one variant, if a plurality of starting wireless carrier connections is established, the processing unit of WCD 100 can use the plurality of starting wireless carrier connections for connecting to a plurality of SIM banks by establishing a plurality of starting authentication connections.

[0124] 111. After all L-SIMs are tried and a starting wireless carrier connection is not established, WCD 100 sends a message to its administrator informing that the establishment of a starting wireless carrier connection has failed and stops the process. In one variant, the message can be displayed on a user interface (UI) of the WCD. In one variant, WCD 100 stops the method without sending a message.

[0125] 112. In another variation, a predetermined wait time is set for establishing the at least one starting wireless carrier connection. If the starting wireless carrier connection is not established after the predetermined wait time, the WCD 100 sends a message to its administrator informing that the establishment of the starting wireless carrier connection has failed and stops the method. The message can be displayed on a user interface (UI) of the WCD. In another variation, the method is restarted after a predetermined time interval. The time interval can be set by the manufacturer as a default time interval or can be manually set by the administrator of the WCD 100.

[0126] 113. In process 426, the processing unit of the WCD 100 selects a further plurality of SIMs from the available L-SIMs and R-SIMs as the SIMs. However, it is preferred that when R-SIMs are selected in process 426, only R-SIMs provided by the home wireless carrier network are selected from the available R-SIMs to avoid roaming charges. The selection of the SIMs in process 426 can be performed in the same manner as discussed in process 406 of Figure 4A , however in this example embodiment, a plurality of SIMs are selected. In another variation, R-SIMs with higher priority than L-SIMs are selected in process 426.

[0127] 114. In process 427, the processing unit of the WCD 100 assigns each of the plurality of SIMs selected in process 426 with a corresponding available WCM and establishes a wireless carrier connection using the plurality of SIMs selected in process 426 and the corresponding WCMs. In the process of establishing the wireless carrier connections, the authentication requests and authentication information are transmitted in the same manner as previously described in process 407 of Figure 4A

[0128] 115. In process 428, the processing unit of the WCD 100 determines whether a threshold is reached. When the threshold is reached, the method proceeds to process 429 and ends. The threshold can be evaluated in the same manner as discussed in process 408 of Figure 4A

[0129] ​​116.In one variant, the WCD 100 can connect to multiple SIM banks at process 425. The WCD 100 can connect to each of the multiple SIM banks by establishing one or more logical data connections via one or more wireless carrier connections. When the WCD 100 connects to a SIM bank through multiple logical data connections, the multiple logical data connections can be carried by the multiple wireless carrier connections. Thus, the WCD 100 can establish multiple aggregated logical data connections for connecting to the multiple SIM banks.

[0130] 117.In one variant, a SIM bank management server is used to manage the multiple SIM banks. For example, Figure 2A The SIM bank management server 216 is shown in FIG. 2. The WCD 100 can first communicate with the SIM bank management server 216 for accessing a SIM bank. Prior to communicating with the SIM bank management server 216, the WCD 100 can not have access information for one or more SIM banks 212. After having access information for a SIM bank 212, the WCD 100 can then communicate with the SIM bank 212.

[0131] 118. Figure 4A and 4B The embodiments described in FIGS. 2-5 are applicable to establishing multiple wireless carrier connections in any geographic area where a WCD is being used, whether the WCD is being used in its home geographic area or in a visited geographic area (i.e., a foreign geographic area). A home geographic area is a geographic area where a user / subscriber has a wireless carrier account. A visited or foreign geographic area is a geographic area where a user's or subscriber's WCD would not otherwise be considered local. For illustrative purposes only, the following paragraphs demonstrate the application of the embodiments described in FIGS. 2-5 in a home location and a visited location. Figure 4A The embodiments described in FIGS. 2-5 are applicable to establishing multiple wireless carrier connections in any geographic area where a WCD is being used, whether the WCD is being used in its home geographic area or in a visited geographic area (i.e., a foreign geographic area). A home geographic area is a geographic area where a user / subscriber has a wireless carrier account. A visited or foreign geographic area is a geographic area where a user's or subscriber's WCD would not otherwise be considered local. For illustrative purposes only, the following paragraphs demonstrate the application of the embodiments described in FIGS. 2-5 in a home location and a visited location. 119.In one example scenario, the WCD 100 is using in its home geographic area. There can be multiple wireless carrier networks available in its home geographic area. For example, wireless carrier networks 201a-201c are available in the home geographic area. The WCD 100 can access the wireless carrier networks using SIMs from the respective wireless carrier networks. The SIMs can be placed in the WCD 100 or in one or more remote SIM banks. For illustration purposes, L-SIMs 111 and 112 are placed in the WCD 100, and R-SIMs 113 are placed in one or more SIM banks 212, such as SIM bank 212a. Also, for illustration purposes, eSIMs 111a and 111b, such as from eUICC 116a and eUICC 116b, respectively, are from wireless carrier networks 201a and 201b, and L-SIMs 112a and 112b are from wireless carrier network 201c. R-SIMs 113a and 113b are from wireless carrier network 201a and wireless carrier network 201b, respectively. In one variant, R-SIM 113a can be placed in SIM bank 212a and R-SIM 113b can be placed in SIM bank 212b. Alternatively, R-SIMs 113a and 113b can both be placed in SIM bank 212b. The number of SIMs placed in the SIM bank is not limited.

[0132] 120.Continuing this example scenario, eSIM 111a is selected as the starting SIM to establish a starting wireless carrier connection using a WCM, such as WCM 101a. Thus, a starting wireless carrier connection is established through wireless carrier network 201a. The WCD 100 then connects to SIM bank 212a through the starting wireless carrier connection by establishing a starting authentication connection through the starting wireless carrier connection. The starting wireless carrier connection can be reserved for carrying authentication requests and authentication information, or can also be used for data communication by establishing more logical data connections. After the starting authentication connection is established, another SIM is selected from the available L-SIMs and R-SIMs for establishing another wireless carrier connection. The selection of the other SIM

[0133] may be performed manually by an administrator of the WCD 100 or can be based on a SIM selection policy.

[0134] 121.For example, R-SIM 113b is selected from SIM bank 212a, and R-SIM 113b is assigned to WCM 101b. Another wireless carrier connection is then established through wireless carrier network 201b using R-SIM 113b and WCM 101b.

[0135] 122. Continuing with this example scenario, when a wireless carrier connection is established using R-SIM 113b, wireless carrier network 201b can send a request to WCM 101b for authentication information about R-SIM 113b. The authentication request is then forwarded by WCD 100 to SIM library 212a through the initiating authentication connection. SIM library 212a replies to the authentication request by providing authentication information about R-SIM 113b and sends the authentication information to WCD 100. WCD 100 forwards the reply to the authentication request sent by SIM library 212a to wireless carrier network 201b. Based on the authentication information provided in the reply, wireless carrier network 201b can then accept or reject the establishment of a wireless carrier connection with R-SIM 113b.

[0136] 123. If accepted, a wireless carrier connection is established using R-SIM 113b. If rejected, the establishment of a wireless carrier connection using R-SIM 113b fails, and WCD 100 can select another R-SIM, such as R-SIM 113a, and attempt to establish a wireless carrier connection through wireless carrier network 201a following the same procedure.

[0137] 124. For the purpose of illustration, a wireless carrier connection has been successfully established using R-SIM 113b. After that, the initiating wireless carrier connection can be selected to be disconnected, and a replacement authentication connection is established through the wireless carrier connection established using R-SIM 113b. When the initiating wireless carrier connection is disconnected, WCM 101a can be de-assigned from eSIM 111a and become available to be assigned another SIM to establish another wireless carrier connection. In the case that the other SIM is an R-SIM, the replacement authentication connection can be used to carry authentication information and authentication requests. In the case that the other SIM is an L-SIM, no authentication connection is needed because a local SIM is placed in the WCD and the authentication information about the local SIM can be directly accessed.

[0138] 125. After R-SIM 113b successfully establishes a wireless carrier connection, the processing unit of WCD 100 determines whether a threshold is reached. When the threshold is reached, the process ends, and the wireless carrier connection is used for data communication described later. On the other hand, if the threshold is not reached, the processing unit of WCD 100 keeps establishing another wireless carrier connection using another L-SIM or R-SIM until the threshold is reached.

[0139] 126. In another exemplary scenario, the WCD 100 is being used in an accessed geographic area. Wireless carrier networks 201a-201c may not be available in the accessed geographic area. For example, wireless carrier networks P, Q, R, and S are available in the accessed geographic area. However, the WCD 100 can still place a SIM from wireless carrier networks 201a-201c and not have any SIMs from wireless carrier networks P, Q, R, and S.

[0140] 127. For example, eSIMs 111a and 111b originate from wireless operator networks 201a and 201b, respectively, and L-SIMs 112a and 112b originate from wireless operator network 201c. R-SIM 113a originates from wireless operator network 201a, and R-SIM 113b originates from wireless operator network P. Unlike the previous exemplary scenario where the two R-SIMs 113 originate from the wireless operator network of the home geographic area, in this exemplary scenario, R-SIM 113a originates from the wireless operator network of the home geographic area, and R-SIM 113b originates from the wireless operator network of the access geographic area. Each SIM library 212 may contain SIMs from different wireless operator networks in different geographic areas. For illustrative purposes, R-SIMs 113a and 113b are placed in SIM library 212a. In a variant, the SIM library may be managed via a SIM library management server.

[0141] 128. For example, eSIM 111a is selected as the starting SIM and assigned to WCM 101a. Since eSIM 111a originates from wireless operator network 201a and WCD 100 is in the accessed geographic area, eSIM 111a is now an external SIM because it does not originate from the local wireless operator network of the accessed geographic area. WCD 100 then uses eSIM 111a and WCM 101a to initiate the establishment of the starting wireless operator connection. To establish the starting wireless operator connection, WCD 100 first uses the authentication information of eSIM 111a to generate a request for a data connection. The request for a data connection can be received by one or more local wireless operator networks in the accessed geographic area. For example, wireless operator network Q has already received the request for a data connection. In a variant, the request for a data connection can be mechanically generated by WCD 100 when it opens or enters the accessed geographic area.

[0142] 129.If the wireless operator network 201a and Q have a roaming agreement, then the wireless operator network Q can check the validity of the authentication information provided by the communication with the wireless operator network 201a and decide based on the authentication information whether to provide the WCD 100 with Internet access. If the authentication information is valid, then the originating wireless operator connection will be established.

[0143] 130.If the authentication information is not valid, then the wireless operator network Q can not provide the WCD 100 with Internet access and the establishment of the originating wireless operator connection will fail. The WCD 100 can again attempt to establish a wireless operator connection using another L-SIM from a different wireless operator network after the same procedure, for example using the L-SIM 112a from the wireless operator network 201c. For illustration purposes, the originating wireless operator connection is successfully established using the eSIM 111a.

[0144] 131.Since the originating wireless operator connection is established using the eSIM 111a and the eSIM 111a is from the wireless operator network 201a which is a non-home wireless operator network for the visited geographic area, data communication using the originating wireless operator connection will involve roaming charges.

[0145] 132.Therefore, after the originating wireless operator connection is successfully established, the WCD 100 connects with the remote SIM library, for example the SIM library 212a, by establishing an originating authentication connection via the originating wireless operator connection. A R-SIM is then selected from the SIM library 212a. It should be noted that in this exemplary scenario, after the originating authentication connection is established, the subsequent SIM (the SIM selected after the originating wireless operator connection is established) is selected from the available R-SIMs only based on the SIM selection policy, which is different from the previous exemplary scenario where the subsequent SIM is selected from the available L-SIMs and R-SIMs. This is due to the avoidance of roaming charges since in this exemplary scenario the WCD 100 is used in a visited geographic area, and therefore using an L-SIM can involve roaming charges since the L-SIM is from a wireless operator network of a home geographic area.

[0146] The selection of the R-SIM can be performed by the processing unit of the WCD 100, the SIM library 212a or the SIM library management server 216.

[0147] When the selection is performed by the processing unit of the SIM library 212a or the SIM library management server 216, after the R-SIM is selected, the selection information is sent to the WCD 100. The processing unit of the WCD 100 then assigns an available WCM for the selected R-SIM. For example, the R-SIM 113b is selected and assigned the WCM 101b.

[0148] 133. The SIM selection policy can be based on one or more of the following criteria: location of the R-SIM placed in the SIM library, R-SIM category, tariff price of the R-SIM, network performance history of the SIM, services offered by the wireless carrier network of the R-SIM, quality of service of the wireless carrier network of the R-SIM, administrator's preference, geographical location of the WCD 100, billing period information, and time. For example, when selecting the R-SIM based on the geographical location of the WCD 100, the R-SIM should be selected from the local wireless carrier network corresponding to the current location of the WCD 100 or the wireless carrier networks available at the WCD 100. In this case, the R-SIM 113b is selected because it is from the wireless carrier network P, which is the local wireless carrier network of the visited geographical area.

[0149] 134. For illustration purposes, the R-SIM 113b is from the wireless carrier network P. When establishing the wireless carrier connection using the R-SIM 113b, the wireless carrier network P can send a request for authentication information about the R-SIM 113b to the WCM 101b. The authentication request is then forwarded by the WCD 100 to the SIM library 212a through initiating an authentication connection. The SIM library 212a replies to the authentication request by providing the authentication information about the R-SIM 113b to the WCD 100. The authentication information can also contain other information as needed. The WCD 100 forwards the authentication information to the wireless carrier network P as a reply to the authentication request. Based on the authentication information provided in the reply, the wireless carrier network P can accept or reject the establishment of the wireless carrier connection using the R-SIM 113b.

[0150] 135. If accepted, the wireless carrier connection through the wireless carrier network P is successfully established. If rejected, the establishment of the wireless carrier connection using the R-SIM 113b fails. After that, another R-SIM can be selected and an attempt is made to establish a wireless carrier connection using it according to the same procedure as disclosed above.

[0151] 136. For illustration purposes, the wireless carrier connection is successfully established using the R-SIM 113b. The processing unit of the WCD 100 then determines whether the threshold is reached. When the threshold is reached, the procedure ends and the wireless carrier connection is used for data communication described later. On the other hand, if the threshold is not reached, the processing unit of the WCD 100 keeps establishing another wireless carrier connection using another R-SIM until the threshold is reached.

[0152] 137. In one variant, after a wireless carrier connection is successfully established using the R-SIM 113b, the originating wireless carrier connection remains on standby and is not used or disconnected in order to reduce roaming charges and conserve resources. In this case, the wireless carrier connection established by using the R-SIM 113b establishes a substitute authentication connection for transmitting authentication information and authentication requests.

[0153] 138. The number of SIM banks that can be utilized is not limited. When one SIM bank is used for placing all R-SIMs, the SIM bank can be placed in a centralized location, such as the home geographic region of the WCD, and can place SIMs from different wireless carrier networks from the home geographic region and foreign geographic regions. If multiple SIM banks are used, some SIM banks can be placed in the home geographic region and some can be placed in different foreign geographic regions. When SIM banks are placed in different foreign geographic regions, each SIM bank can place SIMs from the local wireless carrier networks of the corresponding geographic region. For example, the SIM bank 212a can be placed in the home geographic region of the WCD 100 and place SIMs from different local wireless carrier networks of the home geographic region. On the other hand, the SIM bank 212b can be placed in a foreign geographic region and have SIMs from different local wireless carrier networks of the foreign geographic region.

[0154] 139. In one variant, there is no limitation that the authentication connection must also be used for data communication when not used to transmit SIM authentication information with respect to the authentication connection. For example, the authentication connection can be used for data communication, such as web browsing and file transfer, when the bandwidth provided by the non-authentication connection is insufficient or below a threshold value. The authentication connection will not be used for data communication when the bandwidth provided by the non-authentication connection is sufficient or above a threshold value. In another example, the authentication connection will not be used for data communication when the WCD 100 is being used in a foreign country and can incur roaming charges, unless there are no other wireless carrier connections that can be established. This can reduce roaming charges.

[0155] 140. In one variant, the authentication connection is also used for data connection without any limitation. After the establishment of the second data connection, the first and second data connections can also be used to carry authentication information for establishing additional wireless carrier connections, such as a third data connection and so on.

[0156] 141. In one variant, any wireless carrier connection or multiple wireless carrier connections can be used for establishing one or more authentication connections. The number of connections that will be used as authentication connections is not limited, and any one or more of the established data connections can be used as authentication connections.

[0157] 142.In one variant, only the first data connection established using the starting SIM is used as the authentication connection. In another variant, the WCD 100 is being used in a foreign country, the data connection established using the starting SIM is disconnected after the second wireless carrier connection is successfully established to avoid roaming charges, and the second data connection is used as the authentication connection. In another variant, both the first and second data connections are used as the authentication connection.

[0158] 143. Figure 5A 、 5B The process flow diagrams shown in FIGS. 1C, 2C, 3C, 4C, 5C will allow the WCD 100 to provide communication services to the device and user using one or more R-SIMs through wireless carrier networks other than the starting wireless carrier network. The starting wireless carrier network can not be the most preferred wireless carrier network to use in terms of cost, network performance, time, and location. Therefore, once the starting wireless carrier connection is established, the processing unit of the WCD 100 starts to attempt to establish other wireless carrier connections to replace the starting wireless carrier connection or to reduce the use of the starting wireless carrier connection. Figure 5A FIG. 1C is a process flow diagram illustrating a method according to one example embodiment of the present application. The method can be performed at the processing unit 160 of the WCD 100.

[0159] 144. Figure 5A should be read in conjunction with Figure 1A 、 Figure 2A and Figure 4A Figure 5A should also be read in conjunction with Figure 1A 、 Figure 2A and Figure 4B After process 408 or process 427, there should be at least two wireless carrier connections established with at least two wireless carrier networks.

[0160] 145.For clarity, the authentication connection using the starting SIM on the wireless carrier network is referred to as the starting authentication connection, and the wireless carrier network is referred to as the starting wireless carrier network. For example, the processing unit establishes a wireless carrier connection with the wireless carrier network 201c using the starting SIM. The processing unit of the WCD 100 can then connect to the SIM bank 212a through a logical data connection on the wireless carrier network 201c to carry authentication requests and authentication information. Therefore, the wireless carrier network 201c is the starting wireless carrier network; the wireless carrier connection established with the wireless carrier network 201c is the starting wireless carrier connection; and the logical data connection is referred to as the starting authentication connection.

[0161] 146. Figure 5A FIG. 2C is a process flow diagram illustrating a method according to one example embodiment of the present application. Figure 5A ​The process in FIG. 6 shows how the original authentication connection is replaced by the substitute authentication connection. There can be one or more motivations for not continuing to use the original authentication connection on the original wireless carrier network. The motivations can include: the network performance of the original wireless carrier network is insufficient; the cost of using the original wireless carrier network is expensive; the availability of the original wireless carrier network is unstable. By using the substitute authentication connection established by the R-SIM with the wireless carrier network on the substitute wireless carrier connection, one can enjoy better network performance, lower cost, and / or more stable network availability.

[0162] 147. At process 501, the processing unit of the WCD 100 selects one of the wireless carrier networks that the WCD 100 has connected to using the R-SIM as the substitute wireless carrier network. For illustrative purposes, the WCD 100 has established a wireless carrier connection with wireless carrier network 201a using the R-SIM from the SIM bank 212a, and selects wireless carrier network 201a as the substitute wireless carrier network. The wireless carrier connection established with the substitute wireless carrier network becomes the substitute wireless carrier connection. For illustrative purposes, the SIM bank 212a is the SIM bank that the WCD 100 has connected to originally.

[0163] 148. At process 502, the processing unit of the WCD 100 subsequently establishes a logical data connection with the SIM bank 212a on the substitute wireless carrier connection. The logical data connection subsequently becomes the substitute authentication connection.

[0164] 149. At process 503, the processing unit of the WCD 100 subsequently starts using the substitute authentication connection to carry the SIM authentication request and the SIM authentication information that were originally carried through the original authentication connection.

[0165] 150. At process 504, the processing unit of the WCD 100 disconnects the original wireless carrier connection established with wireless carrier 201c. Preferably, the processing unit of the WCD 100 slowly disconnects the original authentication connection before disconnecting the original wireless carrier connection. When the original wireless carrier connection is disconnected, the original authentication connection will also terminate. Once the original wireless carrier connection is disconnected, there will be no connection with wireless carrier network 201c. This can save cost if the cost of using wireless carrier network 201c is higher than wireless carrier network 201a using the R-SIM.

[0166] 151.At process 505, the processing unit of the WCD 100 can begin or continue to transmit and receive data packets over the plurality of logical data connections using the remaining wireless carrier connections. The remaining wireless carrier connections are the connections that have been established with the wireless carrier networks, excluding the surrogate wireless carrier connection. For example, when there are a plurality of wireless carrier connections established prior to process 501, one of the plurality of wireless carrier connections becomes the surrogate wireless carrier connection, and the rest of the plurality of wireless carrier connections are the remaining wireless carrier connections. By transmitting data packets that are not related to authentication using only the logical data connections on the remaining wireless carrier connections, the surrogate wireless carrier connection is allowed to exclusively assume the surrogate authentication connection. This can improve the stability and speed of the surrogate authentication connection as compared to allowing other logical data connections to be established on the surrogate wireless carrier connection.

[0167] 152.In one variant, other logical data connections are allowed to be established on the surrogate wireless carrier connection. This can increase the data throughput between the WCD 100 and the inter-network 217.

[0168] 153.In one variant, process 504 is not performed. Thus, the originating wireless carrier connection is still available. The originating wireless carrier connection can still be used to assume the originating authentication connection. This can improve the network performance between the WCD 100 and the SIM bank 212a. The originating wireless carrier connection can also be used to assume other logical data connections. This can improve the network performance between the WCD 100 and the inter-network 217.

[0169] 154.In one variant, after the originating wireless carrier network is disconnected at process 504, the processing unit of the WCD 100 will establish a wireless carrier connection using the WCM that was originally used with the R-SIM for the originating wireless carrier network. Logical data connections and / or authentication connections can then be established on this newly established wireless carrier connection. Thus, the overall network performance of the WCD 100 can be improved.

[0170] 155. Figure 5B is a process flow diagram illustrating a method according to one example embodiment of the present application. The method can be performed at the processing unit 160 of the WCD 100. Figure 5B should be viewed in conjunction with Figure 1A , Figure 2A and Figure 4A . Figure 5B may also be viewed in conjunction with Figure 1A , Figure 2A and Figure 4B . After process 408 or process 427, there should be at least two wireless carrier connections established with at least two wireless carrier networks.

[0171] 156. Figure 5B the method shown in Figure 5A the method shown in Figure 5B the method shown in Figure 5A the method shown in

[0172] 157. At process 511, the processing unit of the WCD 100 selects the multiple wireless carrier networks to which the WCD 100 has connected using multiple L-SIMs and / or R-SIMs as the replacement wireless carrier networks. For illustrative purposes, the WCD 100 has established a wireless carrier connection with wireless carrier network 201a using an R-SIM from SIM bank 212a; a wireless carrier connection with wireless carrier network 201b using an R-SIM from SIM bank 212b; and a wireless carrier connection with wireless carrier network 201c using an L-SIM. Also for illustrative purposes, the processing unit of the WCD 100 selects wireless carrier networks 201a and 201b as the replacement wireless carrier networks; wireless carrier network 201c is the originating wireless carrier network; the wireless carrier connection established with wireless carrier network 201c is the originating wireless carrier connection; and SIM bank 212a is the SIM bank to which the originating authentication connection is connected. The wireless carrier connections established with the replacement wireless carrier networks, i.e., wireless carrier networks 201a and 201b, become the replacement wireless carrier connections.

[0173] 158. At process 512, the processing unit of the WCD 100 then establishes two logical data connections with SIM bank 212a through the replacement wireless carrier connections established on replacement wireless carrier networks 201a and 201b. The logical data connections then become the replacement authentication connections.

[0174] 159. At process 513, the processing unit of the WCD 100 then begins using the two replacement authentication connections to carry the SIM authentication requests and SIM authentication information that were originally carried through the originating authentication connection.

[0175] 160. At process 514, the processing unit of the WCD 100 disconnects the originating wireless carrier network established using wireless carrier network 201c. Preferably, the processing unit of the WCD 100 slowly disconnects the originating authentication connection before disconnecting the originating wireless carrier connection. When the originating wireless carrier connection is disconnected, the originating authentication connection will also terminate. Once the originating wireless carrier connection is disconnected, there will no longer be a connection with wireless carrier network 201c.

[0176] 161.At process 515, the processing unit of WCD 100 can start or continue to transmit and receive data packets through the plurality of logical data connections using the remaining wireless operator connections.

[0177] 162.In one variant, instead of aggregating the authentication connections together to form an aggregated authentication connection. The aggregated authentication connection can be an aggregated tunnel comprising a plurality of tunnels. Each tunnel of the plurality of tunnels is established over an instead wireless operator connection. There is no limit on the number of authentication connections or tunnels that can be established over an instead wireless operator connection. For example, one instead authentication tunnel with SIM bank 212a and one instead authentication tunnel with SIM bank 212b can be established over the wireless operator connection with wireless operator network 201b.

[0178] 163.In one variant, process 514 is not performed. Thus, the original wireless operator connection is still available. The original wireless operator connection can also be used to host other logical data connections. The original wireless operator connection can continue to be an authentication connection.

[0179] 164.In one variant, after the original wireless operator network is disconnected at process 514, the processing unit of WCD 100 will establish a wireless operator connection using the WCM that was originally used with the original wireless operator network with the R-SIM. Logical data connections and / or authentication connections can then be established over this newly established wireless operator connection.

[0180] 165. Figure 5C An example embodiment for managing authentication connections over wireless operator networks after at least one instead authentication connection is established over at least one instead wireless operator network is shown. At process 531, the processing unit of WCD 100 establishes an original authentication connection over an original wireless operator network. At process 532, the processing unit of WCD 100 establishes a first instead authentication connection over a first instead wireless operator network. The first instead wireless operator network is the wireless operator network that is first connected and used to connect to the SIM bank that the original authentication connection is connected to.

[0181] 166.At process 533, the processing unit of the WCD 100 disconnects the originating wireless carrier network and thus also disconnects the originating authentication connection. When the originating authentication connection is disconnected, the authentication request and authentication information are carried using the first substitute authentication connection. At process 534, the processing unit of the WCD 100 establishes a second substitute authentication connection on a second substitute wireless carrier network. The second substitute wireless carrier network is a wireless carrier network that is connected after the first substitute wireless carrier network and is used to connect to the SIM bank. The second substitute wireless carrier network can be any one of the substitute wireless carrier networks other than the first substitute wireless carrier network and the originating wireless carrier network. The processing unit of the WCD 100 uses the second substitute authentication connection to connect to the same SIM bank to which the originating authentication connection is connected and to which the first substitute authentication connection is connected.

[0182] 167.At process 535, the processing unit of the WCD 100 disconnects the first substitute wireless carrier network and thus also disconnects the first substitute authentication connection.

[0183] 168.Details of establishing the originating authentication connection and the substitute authentication connection have been disclosed in earlier embodiments of the present application. In addition, details of establishing wireless carrier connections with wireless carrier networks using L-SIMs and R-SIMs have also been disclosed in earlier embodiments of the present application. For example, an L-SIM can be used to connect to the originating wireless carrier network while R-SIMs can be used to connect to the first and second wireless carrier networks. The WCM used to connect to the originating wireless carrier network using the L-SIM can be reused with the R-SIMs to connect to the second substitute wireless carrier network.

[0184] 169.It is not a limitation that process 534 must be performed after process 533. For example, process 534 can be performed before process 533. Further, process 533 can be performed after process 535.

[0185] 170.In one variant, when there are multiple substitute wireless carrier networks, the processing unit of the WCD 100 can establish multiple substitute authentication connections in process 534.

[0186] 171.In one variant, data transmission and reception by devices such as IoT 204 and laptop 206 that are connected to WCD 100 directly or through a LAN can begin after the initial wireless carrier connection is established. This allows the devices to communicate with hosts reachable through interconnected networks 217 as soon as possible. In one variant, data transmission and reception by the devices can be limited or not allowed through the initial wireless carrier connection. Data transmission and reception by the devices can begin only after first surrogate authentication connection on first surrogate wireless carrier network is established in process 532, in order to reduce the use of the initial wireless carrier connection. This can reduce the cost and / or roaming fees imposed by the initial wireless carrier or improve network performance. The use of R-SIMs at the SIM library can reduce the cost and / or roaming fees because the selected R-SIMs do not incur roaming fees and can provide better network performance. In one variant, data transmission and reception by the devices can be limited or not allowed through the initial wireless carrier connection and / or first surrogate authentication connection. Data transmission and reception by the devices can begin only after second surrogate wireless carrier connection on second surrogate wireless carrier network is established in process 534, in order to reduce the use of the initial wireless carrier connection and / or first surrogate wireless carrier connection. In addition to possibly reducing the cost and / or roaming fees imposed by the initial wireless carrier network, performance can be improved and wireless carrier networks can be selected more flexibly.

[0187] 172. Figure 6 is a process flow diagram illustrating a method according to one embodiment of the application. The processing unit of WCD 100 is used to determine when to disconnect a logical data connection and establish a new logical data connection. Figure 6 should be read in conjunction with Figure 1A and Figure 2A In process 601, the processing unit of WCD 100 establishes multiple logical data connections through one or more wireless carrier connections. The one or more wireless carrier connections can be established on one or more wireless carrier networks according to any of the methods described in Figure 4A and 4B In one variant, one or more of the logical data connections can also be established through one or more wired network connections established through one or more wide area network (WAN) interfaces of WCD 100.

[0188] 173.In process 602, the processing unit of the WCD 100 allows data communication through the plurality of logical data connections established through the one or more wireless operator connections. For illustrative purposes, the data communication can be performed between a host connected to the WCD 100 directly or through a local area network and another host reachable via the interconnected network 217. For example, the host connected to the WCD 100 can be the laptop computer 206 or the IoT device 204 and the other host reachable via the interconnected network 217 can be the web server 208, the SIM library 212, the SIM library management server 216, the eSIM server 214, or a host connected to the network node 210. In one variant, the plurality of logical data connections can be aggregated to form an aggregated tunnel.

[0189] 174.In process 603, the processing unit of the WCD 100 monitors the one or more wireless operator connections for satisfaction criteria. The satisfaction criteria can include, but are not limited to, connection type, cost of tariff, latency, bandwidth, and network congestion. In process 604, the processing unit of the WCD 100 determines whether there is any wireless operator connection that does not satisfy the satisfaction criteria. When the result of the determination is “No”, indicating that the satisfaction criteria are satisfied, the “No” branch is followed and the processes 603-604 are iterated. In one variant, the processing unit of the WCD 100 waits for a predetermined time before each iteration of the loop 603-604, as this will help to reduce the processing workload of the processor and save energy and resources. If the result in process 604 is “Yes”, indicating that the satisfaction criteria are not satisfied, the “Yes” branch is followed and process 605 is performed.

[0190] 175.In process 605, the processing unit of the WCD 100 disconnects the wireless operator connection that does not satisfy the satisfaction criteria. However, in some example scenarios, it is possible that all wireless operator connections fail to satisfy the satisfaction criteria, in which case one wireless operator connection remains operational while the rest of the wireless operator connections are disconnected. Preferably, the wireless operator connection that performs relatively best remains operational.

[0191] 176.In one variant, each item of the satisfaction criteria can be assigned a priority configured by an administrator or user of the WCD 100. For example, when the cost of tariff is given the highest priority, the connection with high cost of tariff should be disconnected first. If all wireless operator connections fail to satisfy at least one of the satisfaction criteria, the wireless operator connection with the lowest priority should remain operational.

[0192] 177.In process 606, the processing unit of the WCD 100 establishes a substitute wireless carrier connection for each wireless carrier connection that is disconnected. After the substitute wireless carrier connection is established, the processing unit of the WCD 100 establishes another one of the plurality of logical data connections through the substitute wireless carrier connection in process 601. The additional plurality of logical data connections can then be used for data communication in process 602. In one variant, a substitute wireless carrier connection is established for each wireless carrier connection that does not meet the satisfaction criteria, even if it is not disconnected. Processes 605 and 606 can be performed interchangeably. Thus, a substitute wireless carrier connection can be established in process 606 before a wireless carrier connection is disconnected in process 605.

[0193] 178. Figure 7 is a progression flow diagram illustrating one embodiment of the present application. In process 701, a starting SIM is used with one WCM of the WCD 100 and the WCM is referred to as a first WCM because it is the first WCM used in sequence. The starting SIM can be an L-SIM, an R-SIM, or a roaming R-SIM. As mentioned in the present application, a roaming SIM is a SIM card that is capable of operating on more than one network. A roaming R-SIM, as mentioned in the present application, is an R-SIM that is placed in a SIM library and is capable of running on more than one wireless carrier network. If a logical data connection cannot be established with the SIM library or the SIM library management server, the starting SIM should be an L-SIM because the WCD 100 can not be capable of using an R-SIM. The starting SIM with the first WCM is used to establish a starting authentication connection with the SIM library. In process 702, because the authentication connection is now established, an R-SIM from the SIM library can be used to establish a wireless carrier connection using a second WCM. Because the R-SIM is the first in sequence, the R-SIM is referred to as a first R-SIM and the wireless carrier connection is referred to as a first wireless carrier connection. Authentication requests and authentication information can be sent and received through the starting authentication connection.

[0194] 179.In process 703, a next R-SIM, referred to as a second R-SIM, will be used to establish a second wireless carrier connection using a next WCM, referred to as a third WCM. Authentication requests and authentication information can be sent and received through the starting authentication connection and / or through a substitute authentication connection established through the first wireless carrier connection.

[0195] 180. In process 704, the (n-1)th R-SIM will be used to establish the nth wireless carrier connection using the (n-1)st WCM. Authentication requests and authentication information can be sent and received through one or a combination of the authentication connections established. The process can continue unless n reaches a threshold or n reaches the number of WCMs in the WCD 100. Since there are typically many R-SIMs in a SIM bank and the WCD 100 can connect to multiple SIM banks, the number of available R-SIMs should be greater than the available WCMs. The purpose of these processes is to use as many WCMs as possible.

[0196] 181. The authentication connections are not used to send and receive data to and from network devices connected to the WCD 100, such as the local area network 202, the IoT 204, and the laptop 206. One or a combination of the (n-1)st data connections are allowed to send and receive data to and from network devices connected to the WCD 100.

[0197] 182. In one variant, the first (m-1)th wireless carrier connections are not used to send and receive data to and from network devices connected to the WCD 100. One or a combination of the (m+1)st to (n-1)st data connections are allowed to send and receive data to and from network devices connected to the WCD 100. For illustrative purposes, m is five and n is ten, then one or a combination of the sixth, seventh, eighth, and ninth data connections are allowed to send and receive data to and from network devices connected to the WCD 100 instead of the first to fourth wireless carrier connections.

[0198] 183. Figure 8A is a process flow diagram illustrating an R-SIM selection and authentication process of one example embodiment. When a SIM bank or processing unit of the WCD 100 selects an R-SIM, the R-SIM can be selected using a SIM selection policy. The SIM selection policy can require information. In process 801, information for the SIM selection policy is collected by a processing unit of the WCD 100.

[0199] 184. In process 802, an R-SIM is selected based on the collected information according to an R-SIM selection process, as shown in Figure 3B . When the SIM bank performs the R-SIM selection process, the collected information will be transmitted to the SIM bank through a logical connection, a plurality of logical connections, or an aggregated logical connection. The logical connection, the plurality of logical connections, or the aggregated logical connection can or can not be originating. For example, a logical data connection to the SIM bank can be an originating authentication connection or a substitute authentication connection. Information of the selected R-SIM will then be sent to the WCD 100.

[0200] 185.When the R-SIM selection process is performed by the processing unit of the WCD 100, information of the plurality of R-SIMs in the at least one SIM bank will be sent to the WCD 100. The processing unit of the WCD 100 will then select an R-SIM according to the SIM selection policy based on the collected information.

[0201] 186.Once an R-SIM is selected, the authentication request received from the corresponding wireless carrier network and the authentication information from the R-SIM will be sent through the authentication connection established between the SIM bank and the WCD 100. It is not limited that the authentication connection must be the initiating or the alternative authentication connection.

[0202] 187. Figure 8B is a more detailed process flow diagram for another exemplary embodiment of the processes 801 and 802. At process 811, the processing unit of the WCD 100 identifies available wireless carrier networks by using at least one of the plurality of WCMs. At process 812, the processing unit of the WCD 100 determines the signal quality of each available wireless carrier network identified by the at least one WCM. The availability of the wireless carrier networks and the corresponding signal quality are then used for the SIM selection policy. In one variant, process 812 is not performed and only the availability of the wireless carrier networks is used for the SIM selection policy.

[0203] 188.At process 813, an R-SIM or a roaming R-SIM is selected based on the wireless carrier networks that meet the signal quality requirement and further based on the tariffs and / or allowed usage of the wireless carrier networks. If the signal quality of an available wireless carrier network does not meet the signal quality requirement, the available wireless carrier should not be used and R-SIMs and roaming R-SIMs that must use the available wireless carrier network will not be selected. In one example, when there are two available wireless carrier networks that meet the signal quality requirement, the R-SIM that uses the wireless carrier network with the lower tariff will be selected. For illustration purpose, the two available wireless carrier networks are 201a and 201b. When the tariff of the wireless carrier network 201a is lower than the tariff of the wireless carrier network 201b, the R-SIM or the roaming R-SIM that uses the wireless carrier network 201a will be selected.

[0204] 189.In one variant, there are three available wireless operator networks 201a-201c that meet the signal quality requirement and the WCD 100 has two available WCMs. For illustration purposes, wireless operator networks 201a and 201c have the same tariff and are cheaper than wireless operator network 201b. Therefore, only R-SIMs and roaming R-SIMs that use wireless operator networks 201a and / or 201c will be selected and R-SIMs and roaming R-SIMs that use wireless operator network 201b will not be selected. For roaming R-SIMs that can be configured to use any of the three wireless operator networks, they can still be selected but will be configured to use wireless operator networks 201a and / or 201c in process 814.190.The R-SIM selection process can be performed by the processing unit of the WCD 100, the processing unit of the SIM bank 212, or the processing unit of the SIM bank management server 216. When the R-SIM selection process is performed by the processing unit of the WCD 100, information such as the identity of the wireless operator networks, tariffs, and allowed use of R-SIMs and roaming R-SIMs will be sent by the processing unit of the SIM bank 212 or the SIM bank management server 216 to the WCD 100 for the processing unit to select. Similarly, when the R-SIM selection process is performed by the processing unit of the SIM bank management server, information will also be sent to the SIM bank management server 216. In one example, the SIM bank can first select a plurality of R-SIMs and / or roaming R-SIMs, and then the processing unit of the WCD 100 can select one or more R-SIMs and / or roaming R-SIMs from the plurality of R-SIMs and / or roaming R-SIMs selected by the SIM bank.

[0205] 191. Figure 8C is a more detailed process flow diagram for another exemplary embodiment of processes 801 and 802. In process 821, the processing unit of the WCD 100 identifies its geographic location. The geographic location can be determined by using a GPS. In process 822, an R-SIM or a roaming R-SIM is selected based on the geographic location information and also based on tariffs and / or data usage allowances. A database or a lookup table can be used to search for wireless operator networks that can be used in the geographic location. The database or the lookup table can be stored in the WCD 100, the SIM bank, the plurality of SIM banks, and / or the SIM bank management server. For example, based on longitude and latitude information obtained from a GPS receiver at the WCD 100, the information can be used to look up available wireless operator networks at the geographic location of the WCD 100.

[0206] 192.Similar to the process shown in Figure 8B one R-SIM or roaming R-SIM is selected. For example, a plurality of R-SIMs and / or roaming R-SIMs can be selected.

[0207] 193. In one example, based on the GPS location information of the WCD 100, the database is searched for available wireless carrier networks. For purposes of illustration, the records in the database indicate that there are two available wireless carrier networks at the location of the WCD 100. By way of example, the two available wireless carrier networks are 201a and 201b, and the cost of the wireless carrier network 201a is lower than the cost of the wireless carrier network 201b, and thus, the R-SIM or the roaming R-SIM will be selected to use the wireless carrier network 201a.

[0208] 194. In one variation, according to the database records, there are three available wireless carrier networks 201a-201c, and the WCD 100 has two available WCMs. For purposes of illustration, the wireless carrier networks 201a and 201c have the same cost and are cheaper than the cost of the wireless carrier network 201b. Thus, the R-SIMs and the roaming R-SIMs will only be selected to use the wireless carrier networks 201a and / or 201c, and not the wireless carrier network 201b. For the roaming R-SIMs that are configurable to use any of the three wireless carrier networks, they can still be selected, but will be configured to use the wireless carrier networks 201a and / or 201c in the process 823.

[0209] 195. Figure 8DThe method for configuring WCM when a roaming R-SIM is selected in processes 813 and 822 is shown. When a roaming R-SIM is selected, the mobile country code (MCC) and mobile network node (MNC) of the selected wireless carrier network will first be determined in process 831, and then sent from the SIM library 212 to the WCD 100 in process 832 over the authentication connection. The WCD 100 will then configure the MCC and MNC for the available WCMs in process 833 to allow the WCMs to use the selected wireless carrier network. The authentication connection can be the original authentication connection, a replacement authentication connection, or an aggregated authentication connection. For example, the wireless carrier network 201a is the selected wireless carrier network in the United States, the MCC and MNC of the wireless carrier network 201a will then be determined in process 831. The MCC and MNC will be sent in process 832 and will be used to configure the available WCMs in process 833. In one variant, the MCC and MNC information is already stored in the WCD 100, and the processing unit of the WCD 100 can determine the MCC and MNC information by itself and does not need to retrieve the MCC and MNC information from the SIM library 212. Therefore, process 832 is skipped. One of the benefits of using the MCC and MNC is to reduce the process of identifying the geographical location of the WCD 100.

[0210] 196.In another detailed example, the access point name (APN) of the R-SIM or the roaming R-SIM can be sent from the SIM library 212 to the WCD 100 to allow the available WCMs to establish the required connections with the wireless carrier network. For example, the WCD 100 can use the APN to access a private network. In one variant, the APN information is already stored in the WCD 100, and the WCD 100 can provide the APN by itself and does not need to retrieve the APN information from the SIM library 212.

[0211] 197.The R-SIM selection process can be performed by the processing unit of the WCD 100, the processing unit of the SIM library 212, or the processing unit of the SIM library management server 216.

[0212] 198.In one variant, the SIM selection strategy aims at diversifying the use of wireless operator networks that satisfy the selection criteria. For example, one R-SIM is required, three R-SIMs from wireless operator networks 201a-201c each satisfy the selection criteria, and the WCD 100 has a WCM that has established a wireless operator connection using an R-SIM from wireless operator network 201a. Thus, the SIM bank 212 will not select an R-SIM belonging to wireless operator network 201a among the three R-SIMs due to the diversification strategy. The SIM bank 212 will select an R-SIM from wireless operator network 201b or 201c.

[0213] 199. Figure 9A is a process flow diagram illustrating a method performed at the WCD 100 according to one example embodiment of the present application. Processes 901-908 can be performed individually or jointly at the WCD 100, one or more SIM banks 212, and the SIM bank management server 216. For the purpose of illustration, the processing unit of the WCD 100 performs processes 901-908. The process starts at process 901. For the purpose of illustration, the WCD 100 has three WCMs. Each WCM uses one R-SIM from the SIM bank 212a to establish a wireless operator connection with one of the wireless operator networks 201a-201c. Thus, the WCD 100 has established three wireless operator connections. The WCD 100 communicates with the SIM bank 212a using one or more logical data connections established on one or more of the three wireless operator connections. At process 902, the processing unit of the WCD 100 monitors at least one condition associated with the R-SIMs being used. For example, the at least one condition is a packet loss rate of less than 2% for the wireless operator connection. Thus, the processing unit monitors the packet loss rate for each of the three wireless operator connections.

[0214] 200.At process 903, it is determined whether the at least one condition associated with one or more R-SIMs fails. According to the example, the at least one condition is a packet loss rate of less than 2% for the wireless operator connection, thus, the at least one condition fails when the packet loss rate for the wireless operator connection is greater than 2%. For example, the packet loss rate for the wireless operator connection established with wireless operator network 201b has increased to 3%. Thus, the wireless operator connection established with wireless operator network 201b fails the at least one condition. For the purpose of illustration, the (m+2)th R-SIM is used to establish a wireless operator connection with wireless operator network 201b and thus becomes a failed R-SIM. A failed R-SIM is an R-SIM used to connect to a wireless operator network that fails to satisfy the at least one condition.

[0215] 201.At process 904, the processing unit of WCD 100 determines whether WCD 100 can still communicate with SIM bank 212a over the wireless carrier connections established with wireless carrier networks 201a and / or 201c. If WCD 100 can communicate with SIM bank 212a through one or both of the wireless carrier connections established with wireless carrier networks 201a or 201c, the processing unit of WCD 100 will stop using the failed R-SIM at process 905. The processing unit of WCD 100 will select another R-SIM, e.g., the (m+l)th R-SIM, to replace the failed R-SIM at step 906, and start using the (m+l)th R-SIM at step 907.

[0216] 202.If at process 904 it is determined that there are no other wireless carrier connections available to communicate with SIM bank 212a, the processing unit can continue using the wireless carrier connection established with wireless carrier network 201b and end the process at process 908.

[0217] 203.It is not limited that all processes in Figure 9A must be performed by the processing unit of WCD 100. Some or all of the processes can be performed by the processing unit of SIM bank 212 and / or SIM bank management server 216. In one example, the condition at step 902 can be that the amount of data usage allowed per R-SIM is approaching a limit. The process of checking the amount of data usage can be performed by the processing unit of WCD 100, the processing unit of SIM bank 212, and / or SIM bank management server 216. In another example, the selection of R-SIM at step 906 can be performed by the processing unit of SIM bank 212 and / or SIM bank management server 216.

[0218] 205.In one variant, multiple WCMs can use the same wireless carrier network. For example, WCMs 101a and 101b can be connected to wireless carrier network 201b through corresponding R-SIMs at the same time. When the performance quality of the wireless carrier network is low, both WCMs 101a and 101b can experience the same low quality performance, and the corresponding R-SIMs can also fail the condition at process 903. Therefore, at process 905, the processing unit of WCD 100 will stop using the R-SIMs corresponding to WCMs 101a and 101b. At processes 906 and 907, two R-SIMs will be selected and used.

[0219] 206.In one variant, the failed R-SIM is a roaming R-SIM. When the condition associated with the roaming R-SIM fails, the processing unit of the WCD 100 or the processing unit of the SIM bank 212 can continue to use the same roaming R-SIM to establish another wireless carrier connection with another wireless carrier network. Thus, the processes 905, 906, and 907 are replaced by the processes 915 to 917 shown in FIG. 9B. Figure 9B

[0220] 207.For example, the roaming R-SIM can use the wireless carrier network 201a or 201b, where 201b is the original wireless carrier network being used. When the WCD 100 moves to an area that does not have coverage of the wireless carrier network 201b, the condition of receiving coverage can fail in the process 903. Thus, in the process 915, the processing unit of the WCD 100 will disconnect the roaming R-SIM from the wireless carrier network 201b. In the process 916, the processing unit of the WCD 100 will select another wireless carrier network to connect with the roaming R-SIM. In the process 917, the processing unit of the WCD 100 will start using the roaming R-SIM by establishing another wireless carrier connection using the roaming R-SIM and the selected wireless carrier network. There is no limitation that all the processes in FIG. 9B must be performed by the processing unit of the WCD 100. Some or all of the processes can be performed by the processing unit of the SIM bank 212 and / or the SIM bank management server 216. There is also no limitation that the processes 915 to 917 are limited to one roaming R-SIM. The processes 915 to 917 can also be applied to multiple roaming R-SIMs. There is also no limitation that one roaming R-SIM can only use two wireless carrier networks. There can be more than two wireless carrier networks to choose from. Figure 9B

[0221] ​​208.In a detailed example, when a roaming R-SIM is selected, the mobile country code (MCC) and mobile network code (MNC) of the selected wireless carrier network can be sent from the SIM library 212 to the WCD 100 on the authentication connection. The WCD 100 will then configure the MCC and MNC for the available WCMs to allow the WCMs to use the selected wireless carrier network. The authentication connection can be the initiating authentication connection, a replacement authentication connection, or an aggregated authentication connection. For example, the wireless carrier network 201a is the selected wireless carrier network in the United States, the MCC and MNC of the wireless carrier network 201a will then be used to configure the available WCMs. In one variant, the MCC and MNC information is already stored in the WCD 100, and the WCD 100 can provide the MCC and MNC information itself and does not need to retrieve the MCC and MNC information from the SIM library 212.209.In another detailed example, the access point name (APN) of the R-SIM or the roaming R-SIM can be sent from the SIM library 212 to the WCD 100 to allow the available WCMs to establish the required connection with the wireless carrier network. For example, the WCD 100 can use the APN to access a private network. In one variant, the APN information is already stored in the WCD 100, and the WCD 100 can provide the APN itself and does not need to retrieve the APN information from the SIM library 212.

[0222] 210. Figure 10 The maintenance of the SIM library connection when multiple wireless carrier connections are established according to embodiments is shown. For illustration purposes, the WCM 1001 and the first SIM are used to establish a first wireless carrier connection on the wireless carrier network of the SIM, where the first SIM is a local SIM. At 1021, the processing unit of the WCD 100 sends an authentication request 1051 over the initiating authentication connection established with the SIM library 1010 via the first wireless carrier connection. Where the authentication request 1051 is initially received at the WCD 100 from the wireless carrier network and is then forwarded by the WCD to the SIM library 1010.

[0223] 211.At 1022, the WCD 100 receives authentication information 1052 over the initiating authentication connection in response to the authentication request 1051. Where the authentication information 1052 contains the necessary information for establishing a second wireless carrier connection corresponding to an R-SIM (second SIM). The processing unit of the WCD 100 forwards the authentication information 1052 to the wireless carrier network from which the authentication request 1051 was initially received. The second wireless carrier connection is then successfully established using a WCM from the available WCMs and the second SIM. For example, using the WCM 1002 from the available WCMs 1002-1004.

[0224] 212. After the second wireless operator connection is successfully established, the first wireless operator connection can be disconnected. Thus, the WCM 1001 can be used to establish another wireless operator connection.

[0225] 213. At 1023, the processing unit of the WCD 100 sends another authentication request, such as authentication request 1053, to the SIM bank 1010. The authentication request 1053 can be sent over the surrogate authentication connection established via the second wireless operator connection. The authentication request 1053 is initially received at the WCD 100 from the wireless operator network and is then forwarded by the WCD to the SIM bank 1010.

[0226] 214. At 1024, the WCD 100 receives authentication information 1054 in response to the authentication request 1053 over the surrogate authentication connection established via the second wireless operator connection. The authentication information 1054 contains necessary information for establishing a third wireless operator connection corresponding to an R-SIM (third SIM). The processing unit of the WCD 100 forwards the authentication information 1054 to the wireless operator network from which the authentication request 1053 was initially received. The third wireless operator connection is then successfully established using a WCM from the available WCMs and the third SIM. For example, using the WCM 1003 from the available WCMs 1001, 1003, and 1004.

[0227] 215. At 1025, the processing unit of the WCD 100 sends another authentication request, such as authentication request 1055, to the SIM bank 1010. The authentication request 1055 can be sent over the surrogate authentication connection established via the second wireless operator connection or the surrogate authentication connection established via the third wireless operator connection. For purposes of illustration, the authentication request 1055 is sent over the surrogate authentication connection established via the third wireless operator connection. The authentication request 1055 is initially received at the WCD 100 from the wireless operator network and is then forwarded by the WCD to the SIM bank 1010.

[0228] 216. At 1026, the WCD 100 receives authentication information 1056 in response to the authentication request 1055 over the surrogate authentication connection established via the third wireless operator connection. The authentication information 1056 contains necessary information for establishing a fourth wireless operator connection corresponding to an R-SIM (fourth SIM). The processing unit of the WCD 100 forwards the authentication information 1056 to the wireless operator network from which the authentication request 1055 was initially received. The fourth wireless operator connection is then successfully established using a WCM from the available WCMs and the fourth SIM. For example, using the WCM 1001 from the available WCMs 1001 and 1004.

[0229] 217.At 1027, the processing unit of the WCD 100 sends another authentication request, e.g., authentication request 1057, to the SIM bank 1010. The authentication request 1057 can be sent through the surrogate authentication connection established via the second wireless carrier connection, the surrogate authentication connection established via the third wireless carrier connection, or the surrogate authentication connection established via the fourth wireless carrier connection. For purposes of illustration, the authentication request 1057 is sent through the surrogate authentication connection established via the fourth wireless carrier connection. The authentication request 1057 is initially received at the WCD 100 from the wireless carrier network and is then forwarded by the WCD to the SIM bank 1010.

[0230] 218.At 1028, the WCD 100 receives authentication information 1058 through the surrogate authentication connection established via the fourth wireless carrier connection in response to the authentication request 1057. The authentication information 1058 contains, among other things, the necessary information for establishing a fifth wireless carrier connection corresponding to an R-SIM (fifth SIM). The processing unit of the WCD 100 forwards the authentication information 1058 to the wireless carrier network from which the authentication request 1057 was initially received. The fifth wireless carrier connection is then successfully established using an available WCM (e.g., WCM 1004) and the fifth SIM.

[0231] 219.It is not limited that the first wireless carrier connection should be disconnected after the second wireless carrier connection is established. The first wireless carrier connection can be disconnected at a later time (e.g., after the third, fourth, fifth, or subsequent wireless carrier connections are established) or can be left completely disconnected. In one variant, the authentication request and authentication information for the third, fourth, fifth, or subsequent wireless carrier connections can also be carried through the initial authentication connection established via the first wireless carrier connection when the first wireless carrier connection is not disconnected.

Claims

1. A method for replacing a wireless carrier connection, comprising: a. In the SIM library management server, monitor at least one condition of multiple wireless operator connections established by the wireless communication device; The multiple wireless operator connections are established using multiple remote subscriber identification modules (SIMs) from a SIM library; the multiple remote SIMs are selected based on a SIM selection strategy. b. When at least one of the roaming remote SIMs of the plurality of remote SIMs is connected to a first wireless operator network that does not meet the at least one condition, in the wireless communication device, it is determined whether the wireless communication device can still communicate with the SIM library through the first SIM; as well as c. When the wireless communication device can still communicate with the SIM library through the first SIM: i. In the wireless communication device, the use of the first wireless operator network is stopped; ii. In the wireless communication device, at least one second wireless operator network is selected to connect to the at least one roaming remote SIM; as well as iii. In the wireless communication device, the at least one second wireless operator network is started to be used; and The first SIM is at least one of the plurality of remote SIMs other than the at least one roaming remote SIM.

2. The method according to claim 1, wherein the SIM library is managed by a SIM library management server remotely connected to the SIM library.

3. The method according to claim 1, wherein the access point names of the plurality of remote SIMs are stored in the wireless communication device.

4. The method of claim 1, wherein the at least one roaming remote SIM is selected based on a policy to increase the number of available wireless carrier networks.

5. The method of claim 3, wherein the access point name is sent from the SIM library to the wireless communication device.

6. The method of claim 1, wherein the mobile country code and mobile network code of the at least one second wireless operator network are sent from the SIM library to the wireless communication device.

7. The method of claim 1, wherein the at least one condition is based on the increase in packet loss rate of at least one of the plurality of wireless operator connections exceeding a threshold packet loss rate.

8. A non-transitory computer-readable storage medium having instructions stored thereon, which, in response to execution by at least one processing unit of a wireless communication device, causes said at least one processing unit to: a. In a SIM library management server, monitor at least one condition of multiple wireless operator connections established by the wireless communication device; wherein the multiple wireless operator connections are established using multiple remote subscriber identification modules (SIMs) from the SIM library; wherein the multiple remote SIMs are selected based on a SIM selection strategy; b. When at least one of the roaming remote SIMs of the plurality of remote SIMs is connected to a first wireless operator network that does not meet the at least one condition, in the wireless communication device, it is determined whether the wireless communication device can still communicate with the SIM library through the first SIM; as well as c. When the wireless communication device can still communicate with the SIM library through the first SIM: i. In the wireless communication device, the use of the first wireless operator network is stopped; ii. In the wireless communication device, at least one second wireless operator network is selected to connect to the at least one roaming remote SIM; as well as iii. In the wireless communication device, the at least one second wireless operator network is started to be used; and The first SIM is at least one of the plurality of remote SIMs other than the at least one roaming remote SIM.

9. The non-transitory computer-readable storage medium of claim 8, wherein the SIM library is remotely connected to the wireless communication device; and wherein the mobile country code and mobile network code of the at least one second wireless operator network are transmitted from the SIM library to the wireless communication device.

10. The non-transitory computer-readable storage medium of claim 9, wherein the SIM library is managed by a SIM library management server remotely connected to the SIM library.

11. A system for replacing wireless carrier connections, wherein the system comprises at least: SIM library; SIM library management server; as well as Wireless communication devices; The SIM library management server includes: At least one first processing unit; and At least one first non-transitory computer-readable storage medium, the at least one first non-transitory computer-readable storage medium comprising program instructions executable by the at least one first processing unit for the following operations: a. In the SIM library management server, at least one condition of multiple wireless operator connections established by the wireless communication device is monitored; wherein the multiple wireless operator connections are established using multiple remote SIMs from the SIM library; wherein the multiple remote SIMs are selected based on a SIM selection policy; wherein the wireless communication device includes: At least one second processing unit; Multiple wireless communication modules (WCM); At least one subscriber identity module (SIM) card interface; wherein the SIM card interface is configured to accommodate at least one SIM; at least one second non-transitory computer-readable storage medium, the at least one second non-transitory computer-readable storage medium comprising program instructions executable by the at least one second processing unit for the following operations: b. When at least one roaming remote SIM of the plurality of remote SIMs is connected to a first wireless operator network that does not meet the at least one condition, in the wireless communication device, it is determined whether the wireless communication device can still communicate with the SIM library through the first SIM; and c. When the wireless communication device can still communicate with the SIM library through the first SIM: i. In the wireless communication device, the use of the first wireless operator network is stopped; ii. In the wireless communication device, at least one second wireless operator network is selected for connection with the at least one roaming remote SIM; and iii. In the wireless communication device, the at least one second wireless operator network is started to be used; and The first SIM is at least one of the plurality of remote SIMs other than the at least one roaming remote SIM.

12. The system according to claim 11, wherein the SIM library is managed by a SIM library management server remotely connected to the SIM library.

13. The system of claim 11, wherein the access point names of the plurality of remote SIMs are stored in the wireless communication device.

14. The system of claim 11, wherein the at least one roaming remote SIM is selected based on a policy to increase the number of available wireless carrier networks.

15. The system of claim 13, wherein the access point name is sent from the SIM library to the wireless communication device.

16. The system of claim 11, wherein the mobile country code and mobile network code of the at least one second wireless operator network are transmitted from the SIM library to the wireless communication device.

17. The system of claim 11, wherein the at least one condition is based on the increase in packet loss rate of at least one of the plurality of wireless operator connections exceeding a threshold packet loss rate.

Citation Information

Patent Citations

  • Methods and systems of using remote subscriber identification modules at device

    CN110809905A