Method and system for providing communication services using multiple remote subscriber identity modules
By selecting the initial SIM and switching to the second SIM in the wireless communication device, the problem of communication interruption caused by SIM card changes or malfunctions is solved, ensuring the continuity and reliability of seamless communication services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PISMO LABS TECH
- Filing Date
- 2020-05-18
- Publication Date
- 2026-04-14
AI Technical Summary
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.
By selecting a starting local SIM in the wireless communication device to establish an initial wireless operator connection and establishing an authentication connection with the SIM library, and then switching to a second local or remote SIM to ensure the continuity of communication services, redundancy is provided by utilizing multiple wireless operator connections.
It enables seamless communication services in the event of SIM card changes or malfunctions, improving the reliability and service continuity of wireless communication devices and avoiding communication interruptions.
Smart Images

Figure CN115696301B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with application number 202080007092.X entitled "Method and System for Providing Communication Services Using Multiple Remote Subscriber Identification Modules". Technical Field
[0002] The present invention generally relates to a wireless communication device for establishing a wireless operator connection using a remote SIM, and more specifically, to selecting multiple remote SIMs and establishing a wireless operator connection through multiple wireless communication modules. Background Technology
[0003] For example, wireless communication devices such as cellular routers provide communication services to other devices. These devices can establish wireless carrier connections and then allow other devices to send and receive data through those connections. To establish a wireless carrier connection, one or more Subscriber Identity Module (SIM) cards are used.
[0004] When a wireless communication device moves to another location, a different SIM card may be required. Furthermore, when a SIM card's data allowance is exhausted or nearly exhausted, it can be replaced with a different SIM card. And, if a SIM card malfunctions, a new SIM card will be needed to replace it. There are many reasons why a SIM card needs to be replaced at a wireless communication device.
[0005] One solution is to use a remote SIM. The remote SIM is placed in a SIM bank. The wireless communication device communicates with the SIM bank via a logical data connection to use the remote SIM; and establishes the logical data connection through an existing wireless carrier connection.
[0006] In the event of an interruption, communication with the SIM library may be adversely affected at the logical data connection and / or the wireless carrier connection. The remote SIM currently in use may subsequently become unavailable. In such cases, the wireless communication device will be unable to provide communication services to other devices. Summary of the Invention
[0007] This invention discloses a method for selecting a Subscriber Identity Module (SIM) card at a wireless communication device. The selection includes: establishing an initial wireless operator connection using an initial local SIM; subsequently, establishing an initial authentication connection between the wireless communication device and a SIM library; when establishing the initial authentication connection, selecting a first local SIM or a first remote SIM from the SIM library to establish a first wireless operator connection; after that, disconnecting the initial wireless operator connection; and selecting a second local SIM or a second remote SIM from the SIM library to establish a second wireless operator connection. Finally, providing communication services to a device connected to the wireless communication device via one or both of the first and second wireless operator connections. Attached Figure Description
[0008] Figure 1A A schematic block diagram of a wireless communication device according to an embodiment of the present invention is shown.
[0009] Figure 1B A schematic block diagram of a wireless communication device according to an embodiment of the present invention is shown.
[0010] Figure 1C A schematic block diagram of the SIM library according to the present invention is shown.
[0011] Figure 1D A schematic block diagram of a SIM library management server according to the present invention is shown.
[0012] Figure 2A A network diagram according to the present invention is shown.
[0013] Figure 2B A wireless carrier connection according to the present invention is shown.
[0014] Figure 3A This is a process flowchart illustrating the method for selecting an R-SIM according to the present invention.
[0015] Figure 3B This is a flowchart illustrating a method for providing authentication information according to the present invention.
[0016] Figure 4A This is a flowchart illustrating a method according to an embodiment of the present invention.
[0017] Figure 4B This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0018] Figure 5A This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0019] Figure 5BThis is a flowchart illustrating a method according to an example embodiment of the present invention.
[0020] Figure 5C This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0021] Figure 6 This is a flowchart illustrating a method according to an embodiment of the present invention.
[0022] Figure 7 This is a flowchart illustrating a method according to an embodiment of the present invention.
[0023] Figure 8A This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0024] Figure 8B This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0025] Figure 8C This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0026] Figure 8D This is a process flow diagram for use in an embodiment of the present invention.
[0027] Figure 9A This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0028] Figure 9B This is a flowchart illustrating a method according to an example embodiment of the present invention.
[0029] Figure 10 This is a timing diagram of an exemplary embodiment of the present invention. Detailed Implementation
[0030] The following description provides only preferred exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the invention. In fact, the following description of preferred exemplary embodiments will provide those skilled in the art with an advantageous description of implementing preferred exemplary embodiments of the invention. It should be understood that various changes can be made to the function and arrangement of the elements without departing from the spirit and scope of the invention as set forth in the appended claims.
[0031] In the following description, specific details are set forth to provide a thorough understanding of the embodiments. However, those skilled in the art will understand that the embodiments can be practiced without these specific details. For example, circuits may be shown as block diagrams to avoid obscuring the embodiments with unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail to avoid obscuring the embodiments.
[0032] Furthermore, it should be noted that an embodiment may describe a process, depicted as a flowchart, task diagram, data flow diagram, or block diagram. Although a flowchart may describe operations as a continuous process, many operations may be performed in parallel or simultaneously. Additionally, the order of operations can be rearranged. A process terminates when its operations are completed, but may have additional steps not included in the diagram. A process may correspond to a method, function, program, subroutine, subroutines, etc. When a process corresponds to a function, its termination corresponds to the function returning to the calling function or the main function.
[0033] An embodiment or a portion thereof may be implemented as program instructions operable on a processing unit to perform the functions and operations described herein. The program instructions constituting the various embodiments may be stored in a storage medium.
[0034] The program instructions constituting various embodiments may be stored in a storage medium. Furthermore, as disclosed herein, the term "storage medium" can refer to one or more means 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, floppy disk drive, hard disk, magnetic tape, CD-ROM, flash memory device, memory card, and / or other machine-readable media for storing information.
[0035] The term "machine-readable medium" includes, but is not limited to, portable or fixed storage devices, optical storage devices, wireless channels, and various other media capable of storing, containing, or carrying instructions and / or data. Machine-readable media can be implemented through virtualization and can be virtual machine-readable media, including virtual machine-readable media in cloud-based instances. Furthermore, embodiments can be implemented through hardware, software, firmware, middleware, microcode, hardware descriptions, languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments that perform necessary tasks can be stored in a machine-readable medium, such as a storage medium.
[0036] As used herein, the terms computer-readable medium, main memory, secondary storage device, or other storage medium refer to any medium that participates in providing instructions to a processing unit for execution. The processing unit reads data written to the main storage medium and writes said data to the secondary storage medium. Therefore, even if data written to the main storage medium is lost due to a transient power failure, etc., the data can be recovered by transferring the data stored in the secondary storage medium to the main storage medium. A computer-readable medium is merely one example of a machine-readable medium, which can carry instructions to implement any of the methods and / or techniques described herein. This medium can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical discs or magnetic disks. Volatile storage devices include dynamic memory. Transmission media include coaxial cables, copper wires, and optical fibers. Transmission media can also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communication.
[0037] Volatile memory can be used to store temporary variables or other intermediate information during instruction execution by the processing unit. Non-volatile memory devices or static memory devices can be used to store static information and instructions of the processor, as well as various system configuration parameters.
[0038] The storage medium may contain multiple software modules, which may be implemented as software code that can be executed by a processing unit using any suitable type of computer instruction. The software code may be stored in the storage medium as a series of instructions or commands or as a program.
[0039] Various forms of computer-readable media can involve loading one or more sequences of one or more instructions onto a processor for execution. For example, the instructions may first be loaded onto a disk from a remote computer. Alternatively, the remote computer may load the instructions into its dynamic memory and send the instructions to a system that executes one or more sequences of one or more instructions.
[0040] The processing unit can be a microprocessor, a microcontroller, a digital signal processor (DSP), any combination of those devices, or any other circuit system configured to process information.
[0041] The processing unit executes program instructions or code segments for implementing embodiments of the present invention. Furthermore, embodiments can 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 can be stored in a computer-readable storage medium. The processing unit can be implemented via virtualization and can be a virtual processing unit, including virtual processing units within cloud-based instances.
[0042] Embodiments of the present invention relate to implementing the techniques described herein using a computer system. In embodiments, the processing unit of the present invention may reside on a machine such as a computer platform. According to one embodiment of the invention, the techniques described herein are executed by a computer system in response to the processing unit executing one or more sequences of one or more instructions contained in volatile memory. Such instructions may be read into the volatile memory from another computer-readable medium. Execution of the sequence of instructions contained in the volatile memory causes the processing unit to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used to place software instructions or in combination with software instructions to implement the invention. Therefore, embodiments of the present invention are not limited to any specific combination of hardware circuitry and software.
[0043] Alternatively, hardware circuitry can be used to replace or combine with software instructions to implement processes consistent with the principles of this invention. Therefore, embodiments consistent with the principles of this invention are not limited to any particular combination of hardware circuitry and software.
[0044] Network interfaces can be implemented through independent electronic components or integrated with other electronic components. Depending on the configuration, a network interface may have no network connectivity or at least one network connectivity. Network interfaces, such as network interfaces 135 and 136 in the 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.
[0045] A network interface can connect to a wired or wireless access network. The access network can carry one or more network protocol data. Wired access networks can be implemented using Ethernet, fiber optic cable, cable, DSL, Frame Relay, Token Ring, serial bus, USB, FireWire, PCI, or any material capable of transmitting information. Wireless access networks can be implemented using infrared, High-Speed Packet Access (HSPA), HSPA+, LTE, WiMax, General Packet Radio Service (GPRS), Global System for Mobile Communications (GSM), GSM Evolution Enhanced Data Rate (EDGE), Code Division Multiple Access (CDMA), Wi-Fi, CDMA2000, Wideband CDMA (WCDMA), Time Division CDMA (TD-SCDMA), Bluetooth, WiBRO, Evolved Data Optimized (EV-DO); Digital Enhanced Cordless Communication (DECT); Digital AMPS (IS-136 / TDMA); Integrated Digital Enhanced (iDEN); or any other wireless technology. For example, a network interface can be used as a Local Area Network (LAN) interface or a Wide Area Network (WAN) interface.
[0046] As disclosed herein, the term "wireless communication module" can refer to a transceiver module used to provide networking capabilities to a power controller or power controller server via wires or Ethernet cables using 3G, GPRS, or GPS modules. The wireless communication module reduces the processing unit to obtain user information, and its communication port can be wirelessly connected to a personal computer or other power controller or power controller server (PCS) via wires or by using a serial bus or Ethernet, or using 2G / 3G / 4G or LTE technologies. The wireless communication module can serve as a network interface for applications that require data sharing between the power controller and intelligent devices such as host computers and / or servers.
[0047] Figure 1A This is a schematic block diagram illustrating the hardware blocks of a Wireless Communication Device (WCD) 100. The WCD 100 includes multiple SIM card interfaces 117 and multiple embedded universal integrated circuit cards (eUICCs) 116. Each of the multiple SIM card interfaces 117 is configured to connect one or more removable SIMs. For illustrative purposes, this document describes one removable SIM with respect to each of the SIM card interfaces. For example, SIM card interface 117a is connected to removable SIM 112a, and SIM card interface 117b is connected to removable SIM 112b. The removable SIM may be a universal integrated circuit card. Each of the SIM card interfaces may be connected to a SIM slot for holding a removable SIM.
[0048] The eUICC 116 can be built into the WCD and is not removable. Each of the eUICC 116 can be configured to implement one or more electronic SIMs (eSIMs). For illustrative purposes, this document describes one eSIM for each of the eUICCs. For example, eUICC 116a is used to implement eSIM 111a and eSIM 111c; and eUICC 116b is used to implement eSIM 111b and eSIM 111d. An eSIM can represent a SIM profile. A SIM profile can be exported from a remote eSIM subscription management server based on information provided by a wireless operator network. The SIM profile contains information that provides access to a specific wireless operator network for wireless communication. eSIMs 111a-d can come from the same or different wireless operator networks. Hereinafter, eSIM 111 and removable SIM 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.
[0049] The WCD 100 can also be configured to connect to one or more remote SIMs (R-SIMs) via the Internet. A remote SIM (R-SIM) is a SIM placed in a SIM library. R-SIMs 113a and 113b are shown for illustrative purposes. R-SIMs 113a and 113b can be placed in one or more SIM libraries that can be configured to connect to the WCD 100 via 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, R-SIMs 113a and 113b can be placed in two different SIM libraries.
[0050] The WCD 100 also includes multiple wireless communication modules (WCMs), such as WCMs 101a-101c. Each of the multiple WCMs 101 can be configured to connect to either an L-SIM or an R-SIM each time. For example, wireless communication modules such as WCMs 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.
[0051] A processing unit, such as processing unit 160, executes program instructions or code segments for implementing embodiments of the present invention. Furthermore, embodiments can 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 can be stored in a computer-readable storage medium.
[0052] 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 can 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.
[0053] 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 WCM 101, 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.
[0054] 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.
[0055] In one variant, WCM 101a-c, eUICC 116a-b, SIM interface 117a-b, and main memory 132 are not directly connected to processing unit 160. Instead, they are indirectly connected to processing unit 160 via buses such as system bus 137. In another variant, they are indirectly connected to processing unit 160 via multiple buses.
[0056] Figure 2AThis is a schematic block diagram illustrating an exemplary network environment operable to utilize multiple SIMs for data communication according to embodiments disclosed herein. Figure 2A It comprises three wireless carrier networks, such as wireless carrier networks 201a-201c. Each wireless carrier network may use cellular technology to provide communication coverage for a specific geographic area. Wireless carrier networks 201a-201c may be operated by the same company or different companies.
[0057] The WCD 100 can communicate with network server 208, network node 210, SIM library 212, SIM library management server 216, and eSIM subscription management server 214 via interconnection network 217. For ease of reading, the eSIM subscription management server will be referred to as the eSIM server below. The WCD 100 can connect to interconnection network 217 via one or more wireless operator connections established by wireless operator networks 201a-201c. The WCD 100 can use the features included in... Figure 1A The L-SIM and R-SIM discussed in the text establish wireless carrier connections for any SIM.
[0058] Choose any location Figure 2A It also includes satellite operator networks, such as satellite operator network 205. Satellite operator network 205 can be implemented using geostationary satellites or low earth orbit (LEO) satellites, which provide communication coverage over a larger geographical area compared to wireless operator networks. For example, WCD 100 can be within the corresponding coverage area of satellite operator network 205, and can optionally be connected to interconnection network 217 via one or more satellite data connections established through satellite operator network 205.
[0059] Optionally, the WCD 100 can also connect to one or more wired communication networks. An example of a wired communication network may include network node 209. The WCD 100 may optionally connect to an interconnection network 217 using one or more wired data connections established by one or more network nodes including, but not limited to, 209.
[0060] The WCD 100 can connect directly or via a connected local area network (LAN) to one or more local hosts. For illustrative purposes, the WCD 100 is directly connected to local host laptop 206 and connected to local host IoT 204 via LAN 202. Each of local hosts 204 and 206 can connect to an interconnect network 217 via the WCD 100. Therefore, the WCD 100 acts as a gateway to allow data packets to be routed via one or more wireless carrier connections established through wireless carrier networks 201a-201c.
[0061] According to one embodiment of the invention, when a first set of data packets is received at WCD 100 from a local host destined for a remote host reachable via any established wireless carrier connection, WCD 100 first determines which wireless carrier connections should be used to send the data packets. For illustrative purposes, WCD 100 receives data packets destined for web server 208 from laptop computer 206. The decision for selecting 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, billing period, and time.
[0062] Figure 1C This is a schematic block diagram of an exemplary SIM library according to an embodiment of the present invention. For example, the exemplary SIM library is SIM library 212a. SIM library 212a includes at least one processing unit 153 and at least one main memory 154. The processing unit 153 may be directly connected to the main memory 154 and connected to hardware components via a system bus, such as a system bus 157, for example, to at least one auxiliary storage device 155, one or more network interfaces 156, and multiple SIM interfaces 152. The system bus 157 may 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.
[0063] Each of the plurality of SIM interfaces 152 can be connected to a corresponding SIM slot, such as SIM slot 151, for placing or connecting a SIM. For example, the SIM interface of SIM interface 152 is used to write information to and retrieve information from the SIM. Many SIM interfaces are available from different manufacturers. Some SIM interfaces provide power, card reset signals, card clock signals, and data exchange functions. Data exchange can be performed between the SIM and the processing unit of SIM library 212a via the SIM interface. Some SIM interfaces can be connected to only one SIM, while others can be connected to multiple SIMs.
[0064] In a variant, when the processing unit has a sufficient number of I / O pins, hardware components such as auxiliary storage device 155, network interface 156, and SIM interface 152 can be directly connected to the processing unit 153. System bus 157 can be omitted. Alternatively, when the processing unit 153 does not have a 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 requirement to use a CPLD. Multiplexers, FPGAs, or any logic circuitry can also be used to provide the required number of I / O pins.
[0065] One or more SIM libraries can be managed by one or more SIM library management servers. For example, Figure 2A The diagram shows a SIM library management server 216. The SIM library management server 216 can be coupled to a SIM library remotely or locally. The connection between the WCD 100 and the SIM library 212a can be managed through the SIM library management server, for example... Figure 2A The SIM library management server 216 is shown in the diagram. There is no restriction that the SIM library and the SIM library management server must be separate. The device can include both a SIM library and a SIM library management server.
[0066] The SIM library management server can perform a device authentication procedure before granting access to WCD 100 to any SIM library. For device authentication information, WCD 100 may need to register with the SIM library management server. Registration can be performed online, such as through a user interface (e.g., a webpage or web form), or offline. Authentication information used to authenticate WCD 100 can be appropriately provided to the SIM library management server 216 by WCD 100 or by WCD 100's administrator. The SIM library management server 216 can store necessary information, including but not limited to WCD information, administrator information, registration information, authentication information, the number of connected SIM libraries, the location of the SIM libraries, and information about the SIMs placed in the SIM libraries.
[0067] WCD 100 can communicate with SIM library management server 216 to access information in SIM library 212. Initially, WCD 100 may not access SIM library information. After communicating with SIM library management server 216, WCD 100 can receive access information, such as the IP address, hostname, and / or security code of the SIM library. After receiving the access information, WCD 100 can then access the corresponding SIM library.
[0068] Figure 1D yes Figure 2A The diagram shows a schematic block diagram of an exemplary SIM library management server 216. The SIM library management server 216 includes at least one processing unit 161 and at least one main memory 162. The processing unit 161 may be directly connected to the main memory 162 and connected to other components via a system bus 165, such as at least one auxiliary storage device 163 and one or more network interfaces 164a and 164b. The system bus 165 may 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.
[0069] Figure 2BThis illustrates how a wireless carrier connection carries different logical data connections. Wireless carrier connection 230 can be one of the wireless carrier connections established by WCD 100 through any of the wireless carrier networks 201a-201c. Wireless carrier connection 230 can be established using 2G / 3G / 4G / 5G, LTE, Wi-Fi, or any other wireless communication technology. Logical data connections 231-233 can be established using TCP / IP, UDP / IP, IP, or any logical data connection protocol. For example, logical data connection 231 can be established between WCD 100 and network node 210; logical data connection 232 can be established between WCD 100 and SIM library 212a; and logical data connection 233 can be established between WCD 100 and SIM library 212b. There is no restriction that all logical data connections 231-233 must be established using the same or different logical data connection protocols. There is no limit to the number of logical data connections that can be included in a wireless carrier connection. A logical data connection can also be a tunnel used to encapsulate another logical data connection. Multiple logical data connections can also be aggregated together to form an aggregate logical data connection.
[0070] Since the WCD 100 can establish multiple wireless operator connections simultaneously, it can establish a logical data connection with a device reachable through the interconnection network 217 via any of these multiple wireless operator connections. The WCD 100 can also simultaneously establish multiple logical data connections with devices reachable through the interconnection network 217 via the multiple wireless operator connections.
[0071] Figure 3A This is a flowchart illustrating the process of selecting R-SIMs executed at WCD 100, SIM library 212, and / or SIM library management server 216. In process 311, the processing unit determines the identity of the wireless operator network being used by WCD 100. 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 WCMs to establish a wireless operator connection.
[0072] 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 R-SIMs that satisfy 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. The number of R-SIMs selected can be zero, one, or more than one.
[0073] In the example scenario, Figure 2A The WCD 100 has three WCMs, namely Figure 1A The WCM 101a-c is used in this context. The WCM 101a has already established a wireless operator connection with the wireless operator network 201a using the L-SIM 112a. Therefore, the wireless network operator identified in procedure 311 is the wireless operator network 201a.
[0074] Therefore, two WCMs remain available, namely WCM 101b and WCM 101c. In procedure 312, the number of R-SIMs selected will be two, meaning that two R-SIMs can subsequently be selected for WCM 101b and WCM 101c.
[0075] In process 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.
[0076] In process 314, when selecting the two R-SIMs, the processing unit considers wireless operator network A to maximize the number of different wireless operator networks. The selected R-SIM should also satisfy the SIM selection policy. If the selected R-SIM is a roaming R-SIM, then the wireless operator networks that can be used to use the roaming R-SIM will also be considered to maximize the number of different wireless operator networks. For example, if multiple R-SIMs satisfy the SIM selection policy, an R-SIM that can be used to establish a wireless operator connection with wireless operator networks 201a, 201b, and 201c can be selected. However, 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.
[0077] In addition, the selected R-SIM's International Mobile Subscriber Identity (IMSI) and International Mobile Equipment Identity (IMEI) can subsequently be forwarded to WCD100 by SIM library 212 or SIM library management server 216 in process 314.
[0078] There is no limit to the number of R-SIMs that can be selected; there must be two. The number of R-SIMs selected can vary, depending on the number of available WCMs.
[0079] When the number of wireless operator networks at the WCD 100 location 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-SIM is a roaming R-SIM, then the roaming R-SIM can be configured to use the same wireless operator network as the other R-SIM.
[0080] Processes 311 to 314 can be executed individually or together by the processing unit of WCD 100, the processing unit of SIM library 212, or the processing unit of WCD 100. For example, process 311 can be executed by processing unit 160 of WCD 100 using one of the WCMs 101 to determine a wireless operator network. Process 311 can also be executed by the processing unit of SIM library 212 or the processing unit of WCD 100. The processing unit of SIM library 212 or the processing unit of WCD 100 can search for wireless operator networks in the database based on location information provided by WCD 100.
[0081] In one variant example Figure 3A The process shown also applies to L-SIM.
[0082] Figure 3B This is a flowchart illustrating a method by which SIM library 212 and / or SIM library management server 216 provide authentication information to WCD 100. In process 321, SIM library 212 and / or SIM library management server 216 receive one or more authentication requests from WCD 100. The authentication requests are initially sent by the wireless operator network to the WCM in WCD 100 for selection of the R-SIM. When WCM 100 sends the IMSI or IMEI to the wireless operator network, the wireless operator network may send authentication requests such as Random Interrogation (RAND) to the WCM.
[0083] In process 321, SIM library 212 forwards the authentication request to a selected SIM accessible through SIM library 212. If the authentication request is sent to SIM management server 216, SIM management server 216 will forward the authentication request to the corresponding SIM library, such as SIM 212, for processing.
[0084] In process 322, the selected SIM processes the authentication request and then creates authentication information, such as a signed response (SRES), based on the authentication request. SIM library 212a then forwards the authentication information received from the selected SIM to WCD 100 in process 323.
[0085] In one variant, WCD 100 can send multiple authentication requests together. When SIM library 212a and / or SIM library management server 216 receive authentication requests in process 321, they can process processes 322 and 323 in parallel or sequentially for each authentication request.
[0086] In a variant example, 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 of the selected SIM.
[0087] Figure 4A This is a flowchart illustrating a method according to an embodiment of the present invention. The method can be executed at the processing unit 160 of the WCD100. Figure 4A Should be with Figure 1A and Figure 2A In summary, the method begins with process 400. In process 401, processing unit 160 selects an L-SIM from multiple available L-SIMs as the starting SIM to establish an initial wireless operator connection with an initial wireless operator network (such as wireless operator network 201c). The starting SIM is the first SIM selected and used sequentially.
[0088] Available L-SIMs are L-SIMs placed in the WCD 100 that have not yet been assigned a WCM. The starting SIM is the SIM selected to establish the initial wireless operator connection with the wireless operator network. Once the connection is established, the wireless operator network is called the starting wireless operator network, and the connection is called the starting wireless operator connection. Selecting an L-SIM as the starting SIM can be based on instructions manually provided by the WCD administrator or on a starting SIM selection policy. The starting SIM selection policy can be configured by the WCD 100 administrator 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 the WCD 100, the location of the SIM placed in the WCD 100, the SIM category, the SIM's network performance history, the identity of the wireless operator network that issued the SIM, the services provided by the SIM's wireless operator network, the SIM's quality of service (QoS), the administrator's preferences, tariffs, the remaining usage quota of the available L-SIM, billing information, and time. In a variant, where one or more L-SIMs are eSIMs from the eUICC, the wireless operator network configured in the eSIM can be used for selection. When an eSIM is added, changed, or deleted as a SIM profile in eUICC, the initial SIM selection strategy will be modified accordingly.
[0089] When the geographic location of the WCD is used for the initial SIM selection strategy, the longitude and latitude information based on the GPS information obtained from the GPS receiver at the WCD 100 can be used to find available wireless carrier networks at the geographic location of the WCD 100.
[0090] When selecting a SIM based on its location within the WCD 100, the SIM that is located first will be selected first. For example, SIMs placed in the WCD 100 can be located in numerical or alphabetical order.
[0091] For example, when selecting a SIM based on tariff prices, the SIM with the lowest tariff can be chosen. Wireless carrier networks may change their tariffs. The SIM with the lowest tariff may no longer be the SIM with the lowest tariff. Therefore, the WCD100's processing unit can monitor tariff information from time to time, and whenever a tariff change is detected, the processing unit re-determines which SIM has the lowest tariff price.
[0092] You can also choose a SIM based on billing information. A billing period is the period for a cellular subscription to communication services. Billing periods can be weekly, monthly, or yearly. In one scenario where using billing information can be beneficial, data usage limits can be capped per billing period, and exceeding these limits incurs high costs. Therefore, when choosing a SIM based on billing information, you can avoid selecting a SIM whose data usage limit is about to expire.
[0093] You can also choose a SIM based on the time of day. There are many reasons for choosing a SIM based on the time of day, one example being changes in tariffs. Some wireless carrier networks offer different tariffs for different times of day. It is very common for wireless carrier networks to offer lower rates during off-peak periods. Therefore, a SIM from a wireless carrier network that offers the lowest tariff for a specific time of day can be chosen when a selection occurs during the specified time period.
[0094] SIMs can be selected based on administrator preferences. Administrators of WCD 100 or SIM library 212 can assign priorities to each SIM. Therefore, when selecting a SIM based on administrator preferences, the SIM with the higher assigned priority will be selected. Administrators can assign priorities to SIMs based on different criteria including the R-SIM selection criteria disclosed herein.
[0095] A SIM can also be selected based on the quality of service (QoS) of the wireless carrier's network. When selecting a SIM based on QoS, a SIM from a wireless carrier's network that provides good QoS will be chosen. The QoS of a wireless carrier's network can be evaluated based on various criteria, including but not limited to signal strength, network coverage, security, and ease of configuration.
[0096] In process 402, processing unit 160 assigns an available WCM from multiple WCMs 101 to use the initial SIM. An available WCM is a WCM that has not yet been assigned to any SIM and is operational. For illustrative purposes, the initial SIM is SIM 112a and the available WCM is WCM 101a. Processing unit 160 assigns WCM 101a to SIM 112a. In process 403, processing unit 160 initiates an action to establish an initial wireless operator connection using WCM 101a and SIM 112a. An assigned WCM may become unassigned if it fails to establish a wireless operator connection or if its established wireless operator connection is lost.
[0097] In process 404, processing unit 160 determines whether an initial wireless operator connection has been established. If an initial wireless operator connection has not been established, processing unit 160 loops back to process 401 and selects another SIM from the plurality of L-SIMs as the initial SIM, and executes processes 401-404. Processes 401-404 are iterated until an initial wireless operator connection is successfully established. If each of the plurality of L-SIMs is tried and an initial wireless operator connection is not established, no further attempts are made. Optionally, a message is sent to its administrator informing that establishing the initial wireless operator connection has failed and the method has stopped. In one variant, the loop between processes 401 and 404 will not be executed after a preset number of iterations or a specific time period has been reached. In another variant, the method restarts 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 WCD administrator. The message can be displayed on the WCD's user interface (UI).
[0098] When establishing the initial wireless operator connection, in process 405, WCD 100 connects to a remote SIM library, such as SIM library 212a, by establishing a logical data connection via the initial wireless operator connection. The logical data connection can be established using TCP, UDP, or other communication protocols. When establishing one or more subsequent wireless operator connections, the logical data connection to SIM library 212a can be used to carry authentication requests and authentication information; therefore, the logical data connection is hereinafter referred to as the initial authentication connection.
[0099] In process 406, another SIM is selected from the available L-SIMs and R-SIMs. Available R-SIMs are SIMs in the SIM library that have not yet been assigned a WCM. The selection of the other SIM can be performed manually by the WCD 100 administrator or can be based on a SIM selection strategy different from the initial SIM selection strategy. This SIM selection strategy is similar to the initial SIM selection strategy. However, the SIM selection strategy can also select an R-SIM that the initial SIM selection strategy does not select. The SIM selection strategies can have the same or different selection criteria.
[0100] 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. 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 later.
[0101] 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.
[0102] 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 can 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.
[0103] In one instance, when the threshold is based on the number of WCMs in use, the processing unit of the WCD 100 determines whether the number of WCMs in use equals the threshold number of WCMs in use. If the number of WCMs in use equals the threshold number of WCMs in use, the process ends at process 409. If the number of WCMs in use is less than the threshold number of WCMs in use, the processing unit of the WCD 100 returns to process 406 and continues to establish additional wireless carrier connections using another SIM and another available WCM. The loop from processes 406 to 408 iterates 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 the WCD 100.
[0104] In another instance, when the threshold is based on the number of SIMs in use, the method determines whether the number of SIMs in use is equal to the threshold. If the number of SIMs in use is equal to the threshold number of SIMs in use, then the method terminates. If the number of SIMs in use is not equal to the threshold number of SIMs in use, then the method returns to process 406 to select another SIM from multiple available L-SIMs and R-SIMs, and iterates through loops 406-408 until the threshold is reached.
[0105] In one variant, a predetermined time is set to reach a threshold. If the threshold is not met within the predetermined time, the method stops looping, returns to process 406, and terminates. Setting a predetermined time to reach the threshold helps save energy and resources. For example, in some scenarios, the threshold might not be met because there might not be any SIMs available for selection while the loop returns to process 406. Therefore, the loop from process 406 to process 408 could continue running until more SIMs are inserted into the SIM library or WCD, wasting energy and resources.
[0106] Figure 4B This is a flowchart illustrating a method according to an example embodiment of the present invention. The method can be executed at the processing unit 160 of the WCD 100. Figure 4B Should be with Figure 1A and Figure 2A In summary, the method begins at procedure 420. In procedure 421, the method selects multiple available L-SIMs as the starting SIM. Figure 4B The method shown is similar to Figure 4A The method shown in the figure. Selecting the first plurality of available L-SIMs as the starting SIM can be combined with... Figure 4A The process described in process 401 is performed in the same way, except that in this example embodiment, multiple SIMs are selected as the starting SIMs.
[0107] In process 422, an available WCM is assigned to each of the plurality of starting SIMs. For example, in Figure 1A The diagram shows WCM 101a-101c. If WCM 101a is already in use, then the available WCMs are WCM 101b and 101c.
[0108] In process 423, the processing unit of WCD 100 initiates an action to establish an initial wireless operator connection using the plurality of initial SIMs and their assigned corresponding WCMs.
[0109] In process 424, the processing unit of WCD 100 determines whether at least one initial wireless operator connection has been established. If at least one initial wireless operator connection is successfully established, then in process 425, the processing unit of WCD 100 will use the at least one initial wireless operator connection to connect to at least one SIM library, such as SIM library 212a, by establishing at least one initial authentication connection.
[0110] If it is determined in process 424 that no initial wireless operator connection has been established, the method moves back to process 421 and selects several additional L-SIMs from the available L-SIMs as the initial SIM, iterating through processes 421-423 until at least one initial wireless operator connection is established. These additional L-SIMs should not include any L-SIMs that have already been tried and failed to establish a connection. In one variant, the tried L-SIMs can be selected again after a certain time period. In another variant, if all L-SIMs have been tried at least once but no initial wireless connection has been established, the tried L-SIMs can be selected again.
[0111] In process 425, if multiple initial wireless operator connections are established, the processing unit of the WCD 100 can use any one of these initial wireless operator connections to connect to the SIM library by establishing an initial authentication connection, while the other initial wireless operator connections can be used for data communication. In a variant, when the use of an L-SIM may incur roaming charges and an authentication connection has already been established using a cheaper wireless operator connection, the L-SIM's wireless operator connection will be disconnected to save costs. In another variant, at least two logical data connections are aggregated together to form an aggregated logical connection for connecting to the SIM library. The aggregated logical connection can be used as an authentication connection. In a variant, if multiple initial wireless operator connections are established, the processing unit of the WCD 100 can use multiple initial wireless operator connections to connect to multiple SIM libraries by establishing multiple initial authentication connections.
[0112] After attempting all L-SIMs without establishing an initial wireless carrier connection, the WCD 100 sends a message to its administrator informing them that establishing the initial wireless carrier connection has failed and the process has stopped. In one variant, the message may be displayed on the WCD's user interface (UI). In another variant, the WCD 100 stops the method without sending a message.
[0113] In another variation, a predetermined waiting time is set for establishing at least one initial wireless carrier connection. If no initial wireless carrier connection is established after the predetermined waiting time, the WCD 100 sends a message to its administrator informing them that establishing the initial wireless carrier connection has failed and the method is stopped. The message can be displayed on the WCD's user interface (UI). In another variation, the method restarts after a predetermined time interval. The time interval can be set by the manufacturer as a default interval or can be manually set by the WCD 100's administrator.
[0114] In process 426, the processing unit of WCD 100 selects several additional SIMs from the available L-SIMs and R-SIMs as SIMs. However, it is preferable that when selecting an R-SIM in process 426, only R-SIMs available from the local wireless operator's network are selected to avoid roaming charges. The SIM selection in process 426 can be compared with... Figure 4A The process is performed in the same manner as described in process 406; however, in this example embodiment, multiple SIMs are selected. In another variant, an R-SIM with a higher priority than the L-SIM is selected in process 426.
[0115] In process 427, the processing unit of WCD 100 assigns each of the plurality of SIMs selected in process 426 to a corresponding available WCM, and establishes a wireless operator connection using the plurality of SIMs selected in process 426 and the corresponding WCM. During the establishment of the wireless operator connection, based on... Figure 4A The same process described earlier in process 407 transmits authentication requests and authentication information for L-SIM and R-SIM.
[0116] In process 428, the processing unit of WCD 100 determines whether a threshold has been reached. If the threshold is reached, the method proceeds to process 429 and terminates. This can be done in conjunction with... Figure 4A The threshold is evaluated in the same process described in process 408. If the threshold is not reached, the method loops back to process 426 and selects several additional SIMs from the available L-SIMs and R-SIMs, then iterates through processes 427-428. Processes 426-428 are iterated until the threshold is reached.
[0117] In one variant, WCD 100 can connect to multiple SIM libraries in process 425. WCD 100 can connect to each of the multiple SIM libraries by establishing one or more logical data connections via one or more wireless operator connections. When WCD 100 connects to the SIM libraries via multiple logical data connections, these multiple logical data connections can be carried by multiple wireless operator connections. Therefore, WCD 100 can establish multiple aggregated logical data connections for connecting to the multiple SIM libraries.
[0118] In one variant, a SIM library management server is used to manage the multiple SIM libraries. For example, Figure 2A The diagram shows a SIM library management server 216. The WCD 100 may first communicate with the SIM library management server 216 to access the SIM libraries. Before communicating with the SIM library management server 216, the WCD 100 may not have access information for one or more SIM libraries 212. After obtaining access information for the SIM libraries 212, the WCD 100 can then communicate with the SIM libraries 212.
[0119] Figure 4A and 4B The embodiments described herein are applicable to establishing multiple wireless carrier connections in any geographic area where a WCD is being used, regardless of whether the WCD is used in its home geographic area or in an access geographic area (i.e., an external geographic area). The home geographic area is the geographic area where the user / subscriber has their wireless carrier account. An access or external geographic area is a geographic area that the user's or subscriber's WCD would not otherwise be considered local. This is demonstrated in the following paragraphs for illustrative purposes only. Figure 4A The embodiments described herein apply to home location and access location.
[0120] In one example scenario, the WCD 100 is being used in its home geographic area. Multiple wireless operator networks may exist within its home geographic area. For example, wireless operator networks 201a-201c are available in the home geographic area. The WCD 100 can access the wireless operator network using a SIM from the respective wireless operator network. The SIM can be placed in the WCD 100 or in one or more remote SIM libraries. For illustrative purposes, L-SIMs 111 and 112 are placed in the WCD 100, and R-SIM 113 is placed in one or more SIM libraries 212, such as SIM library 212a. Furthermore, for illustrative purposes, eSIMs such as eSIM 111a from eUICC 116a and eSIM 111b from eUICC 116b originate from wireless operator networks 201a and 201b, respectively, and L-SIMs 112a and 112b originate from wireless operator network 201c. R-SIMs 113a and 113b originate from wireless operator networks 201a and 201b, respectively. In a variant, R-SIM 113a may be placed in SIM library 212a and R-SIM 113b may be placed in SIM library 212b. Alternatively, both R-SIMs 113a and 113b may be placed in SIM library 212b. The number of SIMs placed in the SIM library is not limited.
[0121] Continuing this exemplary scenario, eSIM 111a is selected as the starting SIM for establishing an initial wireless operator connection using WCM (such as WCM 101a). Therefore, the initial wireless operator connection is established via wireless operator network 201a. WCD 100 then connects to the SIM library 212a via the initial wireless operator connection by establishing an initial authentication connection through the initial wireless operator connection. The initial wireless operator connection can be reserved for carrying authentication requests and authentication information, or it can also be used for data communication by establishing additional logical data connections. After establishing the initial authentication connection, another SIM is selected from the available L-SIMs and R-SIMs to establish another wireless operator connection. The selection of the other SIM can be performed manually by the WCD 100 administrator or based on a SIM selection policy.
[0122] For example, R-SIM 113b is selected from SIM library 212a and assigned to WCM 101b. Then, another wireless operator connection is established using R-SIM 113b and WCM 101b through wireless operator network 201b.
[0123] Continuing this exemplary scenario, when establishing a wireless operator connection using R-SIM 113b, wireless operator network 201b can send a request for authentication information about R-SIM 113b to WCM 101b. The authentication request is then forwarded by WCD 100 to SIM library 212a via the initial authentication connection. SIM library 212a responds to the authentication request by providing authentication information about R-SIM 113b and sends the authentication information to WCD 100. WCD 100 forwards the response to the authentication request sent by SIM library 212a to wireless operator network 201b. Based on the authentication information provided in the response, wireless operator network 201b can subsequently accept or reject establishing a wireless operator connection using R-SIM 113b.
[0124] If accepted, a wireless carrier connection will be established using R-SIM 113b. If rejected, the establishment of a wireless carrier connection using R-SIM 113b will fail, 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.
[0125] For illustrative purposes, a wireless carrier connection has been successfully established using R-SIM 113b. Afterward, the initial wireless carrier connection can be disconnected, and an alternative authentication connection can be established using the wireless carrier connection established with R-SIM 113b. When the initial wireless carrier connection is disconnected, WCM 101a can be deassigned from eSIM 111a and becomes available for use with another assigned SIM to establish another wireless carrier connection. If the other SIM is an R-SIM, the alternative authentication connection can be used to carry authentication information and authentication requests. If the other SIM is an L-SIM, no authentication connection is required because the local SIM is placed in the WCD and has direct access to authentication information about the local SIM.
[0126] After the R-SIM 113b successfully establishes a wireless carrier connection, the WCD 100's processing unit determines whether a threshold has been reached. If the threshold is reached, the process ends, and the wireless carrier connection is used for data communication, as described later. Alternatively, if the threshold is not reached, the WCD 100's processing unit continues to establish another wireless carrier connection using another L-SIM or R-SIM until the threshold is reached.
[0127] 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 may be available in the accessed geographic area. However, the WCD 100 can still accommodate SIMs from wireless carrier networks 201a-201c without any SIMs from wireless carrier networks P, Q, R, and S.
[0128] 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 both R-SIMs 113 originate from the wireless operator network of their home geographic area, in this exemplary scenario, R-SIM 113a originates from the wireless operator network of their home geographic area, and R-SIM 113b originates from the wireless operator network of their access geographic area. Each SIM library 212 can hold 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 can be managed via a SIM library management server.
[0129] 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 initial wireless operator connection. To establish the initial 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.
[0130] If wireless carrier networks 201a and Q have roaming protocols, then wireless carrier network Q can check the validity of the authentication information provided through communication with wireless carrier network 201a, and decide whether to provide Internet access to WCD100 based on the authentication information. If the authentication information is valid, then an initial wireless carrier connection will be established.
[0131] If the authentication information is invalid, the wireless carrier network Q may not provide internet access to the WCD 100, and the initial wireless carrier connection establishment will fail. The WCD 100 can then attempt to establish a wireless carrier connection again using another L-SIM from a different wireless carrier network, such as L-SIM 112a from wireless carrier network 201c, after the same process. For illustrative purposes, the initial wireless carrier connection was successfully established using eSIM 111a.
[0132] Since the initial wireless carrier connection is established using eSIM 111a and eSIM 111a comes from a wireless carrier network 201a that is a non-local wireless carrier network serving as the access geographic area, data communication using the initial wireless carrier connection will involve roaming charges.
[0133] Therefore, after successfully establishing an initial wireless operator connection, the WCD 100 connects to a remote SIM library, such as SIM library 212a, by establishing an initial authentication connection via the initial wireless operator connection. An R-SIM is then selected from SIM library 212a. It should be noted that in this exemplary scenario, after establishing the initial authentication connection, a subsequent SIM (the SIM selected after establishing the initial wireless operator connection) is selected only from available R-SIMs based on the SIM selection policy, unlike the previous exemplary scenario where a subsequent SIM is selected from both available L-SIMs and R-SIMs. This is to avoid roaming charges, as the WCD 100 is used in the access geographic area in this exemplary scenario, and therefore, using an L-SIM might involve roaming charges since the L-SIM is from the wireless operator network of the home geographic area. The selection of the R-SIM can be performed by the processing unit of the WCD 100, SIM library 212a, or SIM library management server 216. When the selection is performed by the processing unit of SIM library 212a or SIM library management server 216, selection information is sent to the WCD 100 after selecting the R-SIM. The processing unit of WCD 100 then assigns an available WCM to the selected R-SIM. For example, R-SIM 113b is selected and WCM 101b is assigned to it.
[0134] SIM selection strategies can be based on one or more of the following criteria: the location of the R-SIM in the SIM library, the R-SIM category, the R-SIM's tariff, the SIM's network performance history, the service provided by the R-SIM's wireless operator network, the R-SIM's wireless operator network's quality of service, administrator preferences, the geographical location of WCD 100, billing information, and time. For example, when selecting an R-SIM based on the geographical location of WCD 100, the R-SIM should be selected from the local wireless operator network corresponding to the current location of WCD 100 or from a wireless operator network available at WCD 100. In this case, R-SIM 113b is selected because it comes from wireless operator network P, which is the local wireless operator network serving as the access geographical area.
[0135] For illustrative purposes, the R-SIM 113b originates from the wireless operator network P. When establishing a wireless operator connection using the R-SIM 113b, the wireless operator network P may 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 via the initial authentication connection. The SIM library 212a responds to the authentication request by providing the WCD 100 with the authentication information about the R-SIM 113b. Depending on requirements, the authentication information may also include other information. The WCD 100 forwards the authentication information to the wireless operator network P as a response to the authentication request. Based on the authentication information provided in the response, the wireless operator network P may accept or reject the establishment of a wireless operator connection using the R-SIM 113b.
[0136] If accepted, a wireless carrier connection is successfully established via the wireless carrier network P. If rejected, the wireless carrier connection establishment using R-SIM 113b fails. After that, another R-SIM can be selected and an attempt can be made to establish a wireless carrier connection using it according to the same procedure disclosed above.
[0137] For illustrative purposes, a wireless carrier connection was successfully established using an R-SIM 113b. The processing unit of the WCD 100 then determines whether a threshold has been reached. When the threshold is reached, the process ends, and the wireless carrier connection is used for data communication as described later. Alternatively, if the threshold is not reached, the processing unit of the WCD 100 continues to establish another wireless carrier connection using another R-SIM until the threshold is reached.
[0138] In one variant, after a successful wireless carrier connection is established using R-SIM 113b, the initial wireless carrier connection remains standby and is either not used or disconnected to reduce roaming costs and conserve resources. In this case, the wireless carrier connection established using R-SIM 113b is used instead of the authentication connection to transmit authentication information and authentication requests.
[0139] There is no limit to the number of SIM libraries that can be used. When a single SIM library is used to hold all R-SIMs, the SIM library can be placed in a centralized location, such as the home geographic area of the WCD, and can hold SIMs from different wireless operator networks from both the home and external geographic areas. If multiple SIM libraries are used, some SIM libraries can be placed in the home geographic area and some can be placed in different external geographic areas. When SIM libraries are placed in different external geographic areas, each SIM library can hold SIMs from the local wireless operator network of the corresponding geographic area. For example, SIM library 212a can be placed in the home geographic area of the WCD 100 and can hold SIMs from different local wireless operator networks of the home geographic area. On the other hand, SIM library 212b can be placed in an external geographic area and can hold SIMs from different local wireless operator networks of the external geographic area.
[0140] In one variant, there is no restriction on the authentication connection being used for data communication even when not being used to transmit SIM authentication information. For example, when the bandwidth provided by the non-authenticated connection is insufficient or below a threshold, the authentication connection can be used for data communication, such as web browsing and file transfer. When the bandwidth provided by the non-authenticated connection is sufficient or above the threshold, the authentication connection will not be used for data communication. In another instance, when the WCD 100 is being used abroad or may incur roaming charges, the authentication connection will not be used for data communication unless no other wireless carrier connection can be established. This can reduce roaming costs.
[0141] In one variant, the authentication connection can also be used for the data connection without any restrictions. After the second data connection is established, 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.
[0142] In one variant, any or multiple wireless carrier connections can be used to establish one or more authentication connections. There is no limit to the number of connections that can be used as authentication connections; any one or more established data connections can be used as authentication connections.
[0143] In one variant, only the first data connection established using the initial SIM is used as the authentication connection. In another variant, the WCD 100 is being used abroad, and after successfully establishing a second wireless carrier connection, the data connection established using the initial SIM is disconnected to avoid roaming charges, with the second data connection used as the authentication connection. In yet another variant, both the first and second data connections are used as authentication connections.
[0144] Figure 5A , 5B The process flowchart shown in Figure 5C allows the WCD 100 to provide communication services to devices and users via one or more R-SIMs through a wireless carrier network instead of the initial wireless carrier network. The initial wireless carrier network may not be the optimal wireless carrier network to use in terms of cost, network performance, time, and location. Therefore, once the initial wireless carrier connection is established, the processing unit of the WCD 100 begins attempting to establish other wireless carrier connections to replace or reduce the use of the initial wireless carrier connection. Figure 5A This is a flowchart illustrating a method according to an example embodiment of the present invention. The method can be executed at the processing unit 160 of the WCD 100.
[0145] Figure 5A Should be with Figure 1A , Figure 2A and Figure 4A Taken together. Figure 5A It can also be with Figure 1A , Figure 2A and Figure 4B In summary, following procedure 408 or 427, there should be at least two wireless operator connections established with at least two wireless operator networks.
[0146] For clarity, the authentication connection using the initial SIM on the wireless operator network is referred to as the initial authentication connection, and the wireless operator network is referred to as the initial wireless operator network. For example, the processing unit establishes a wireless operator connection with the wireless operator network 201c using the initial SIM. Subsequently, the processing unit of WCD 100 can connect to the SIM library 212a via a logical data connection on the wireless operator network 201c to carry authentication requests and authentication information. Therefore, the wireless operator network 201c is the initial wireless operator network; the wireless operator connection established with the wireless operator network 201c is the initial wireless operator connection; and the logical data connection is referred to as the initial authentication connection.
[0147] Figure 5A This is a flowchart illustrating a method according to an example embodiment of the present invention. Figure 5AThe process illustrates how the initial authentication connection can be replaced by an alternative authentication connection. In different environments, there may be one or more motivations for not continuing to use the initial authentication connection on the initial wireless carrier network. These motivations may include: insufficient network performance of the initial wireless carrier network; high cost of using the initial wireless carrier network; and unstable availability of the initial wireless carrier network. By using an alternative authentication connection established by the R-SIM with the wireless carrier network on the alternative wireless carrier connection, better network performance, lower costs, and / or more stable network availability can be enjoyed.
[0148] In process 501, the processing unit of WCD 100 selects a wireless operator network already connected to using an R-SIM as an alternative wireless operator network. For illustrative purposes, WCD 100 has already established a wireless operator connection with wireless operator network 201a using an R-SIM from SIM library 212a, and selects wireless operator network 201a as the alternative wireless operator network. The wireless operator connection established with the alternative wireless operator network becomes the alternative wireless operator connection. For illustrative purposes, SIM library 212a is the SIM library to which initial authentication was connected.
[0149] In process 502, the processing unit of WCD 100 then establishes a logical data connection with SIM library 212a in lieu of a wireless carrier connection. The logical data connection then becomes a lieu of an authentication connection.
[0150] In process 503, the processing unit of WCD 100 then begins to use the alternative authentication connection to carry the SIM authentication request and SIM authentication information that were initially carried through the initial authentication connection.
[0151] In process 504, the processing unit of WCD 100 disconnects the initial wireless carrier connection established through wireless carrier 201c. Preferably, the processing unit of WCD 100 slowly disconnects the initial authentication connection before disconnecting the initial wireless carrier connection. When the initial wireless carrier connection is disconnected, the initial authentication connection also terminates. Once the initial wireless carrier connection is disconnected, there will no longer be a connection with wireless carrier network 201c. This can save costs if wireless carrier network 201c uses R-SIM tariffs that are higher than those of wireless carrier network 201a.
[0152] In process 505, the processing unit of WCD 100 can begin or continue using the remaining wireless carrier connections to transmit and receive data packets through multiple logical data connections. The remaining wireless carrier connections are connections already established with the wireless carrier network, excluding alternative wireless carrier connections. For example, when multiple wireless carrier connections exist prior to process 501, one of these wireless carrier connections becomes the alternative wireless carrier connection, and the remaining connections are the remaining wireless carrier connections. By using only the logical data connections on the remaining wireless carrier connections to transmit authentication-independent data packets, the alternative wireless carrier connections are allowed to exclusively serve as alternative authentication connections. This improves the stability and speed of alternative authentication connections compared to allowing other logical data connections to be established on alternative wireless carrier connections.
[0153] In one variant, it is possible to establish additional logical data connections over the alternative wireless carrier connection. This can increase the data throughput between the WCD 100 and the interconnect network 217.
[0154] In a variant, procedure 504 is not executed. Therefore, the initial wireless carrier connection remains available. The initial wireless carrier connection can still be used to initiate authentication connections. This improves network performance between WCD 100 and SIM library 212a. The initial wireless carrier connection can also be used to undertake other logical data connections. This improves network performance between WCD 100 and interconnect network 217.
[0155] In a variant, after disconnecting the initial wireless carrier network in process 504, the processing unit of the WCD 100 will use the WCM initially used with the R-SIM for the initial wireless carrier network to establish a wireless carrier connection. Logical data connections and / or authentication connections can then be established on this newly established wireless carrier connection. Therefore, the overall network performance of the WCD 100 can be improved.
[0156] Figure 5B This is a flowchart illustrating a method according to an example embodiment of the present invention. The method can be executed at the processing unit 160 of the WCD100. Figure 5B Should be with Figure 1A , Figure 2A and Figure 4A Taken together. Figure 5B It can also be with Figure 1A , Figure 2A and Figure 4B In summary, following procedure 408 or 427, there should be at least two wireless operator connections established with at least two wireless operator networks.
[0157] Figure 5BThe method shown is similar to Figure 5A The method is shown in [the document]. In [the document]... Figure 5B In the method shown, multiple wireless carrier connections already established with the corresponding wireless carrier networks using multiple L-SIMs and / or R-SIMs become the alternative to wireless carrier connections. Figure 5A One of the methods shown is an alternative to a wireless carrier connection.
[0158] In process 511, the processing unit of WCD 100 selects multiple wireless operator networks that have been connected to using multiple L-SIMs and / or R-SIMs as alternative wireless operator networks. For illustrative purposes, WCD 100 has established a wireless operator connection with wireless operator network 201a using an R-SIM from SIM library 212a; established a wireless operator connection with wireless operator network 201b using an R-SIM from SIM library 212b; and established a wireless operator connection with wireless operator network 201c using an L-SIM. Also for illustrative purposes, the processing unit of WCD 100 selects wireless operator networks 201a and 201b as alternative wireless operator networks; wireless operator network 201c is the starting wireless operator network; the wireless operator connection established with wireless operator network 201c is the starting wireless operator connection; and SIM library 212a is the SIM library to which the initial authentication connection is connected. The wireless operator connections established with the alternative wireless operator networks, namely wireless operator networks 201a and 201b, become alternative wireless operator connections.
[0159] In process 512, the processing unit of WCD 100 then establishes two logical data connections with SIM library 212a through alternative wireless operator connections established on alternative wireless operator networks 201a and 201b. These logical data connections then become alternative authentication connections.
[0160] In process 513, the processing unit of WCD 100 then begins to use two alternative authentication connections to carry the SIM authentication request and SIM authentication information initially carried through the initial authentication connection.
[0161] In process 514, the processing unit of WCD 100 disconnects the initial wireless carrier network established using wireless carrier network 201c. Preferably, the processing unit of WCD 100 slowly disconnects the initial authentication connection before disconnecting the initial wireless carrier connection. When the initial wireless carrier connection is disconnected, the initial authentication connection also terminates. Once the initial wireless carrier connection is disconnected, there will no longer be a connection with wireless carrier network 201c.
[0162] In process 515, the processing unit of WCD 100 can begin or continue to use the remaining wireless carrier connections to transmit and receive data packets through multiple logical data connections.
[0163] In one variant, alternative authentication connections are aggregated together to form an aggregated authentication connection. The aggregated authentication connection can be an aggregated tunnel comprising multiple tunnels. Each of these multiple tunnels is established over an alternative wireless operator connection. There is no limit to the number of authentication connections or tunnels that can be established over the alternative wireless operator connection. For example, an alternative authentication tunnel with SIM library 212a and an alternative authentication tunnel with SIM library 212b can be established over a wireless operator connection to wireless operator network 201b.
[0164] In one variant, procedure 514 is not executed. Therefore, the initial wireless carrier connection remains available. The initial wireless carrier connection can also be used to undertake other logical data connections. The initial wireless carrier connection can continue to be an authentication connection.
[0165] In a variant, after disconnecting the initial wireless carrier network in process 514, the processing unit of the WCD 100 will use the WCM initially used with the R-SIM for the initial wireless carrier network to establish a wireless carrier connection. Logical data connections and / or authentication connections can then be established on this newly established wireless carrier connection.
[0166] Figure 5C An example embodiment is shown for managing authentication connections on a wireless operator network after establishing at least one alternative authentication connection on at least one alternative wireless operator network. In process 531, the processing unit of WCD 100 establishes an initial authentication connection on the initial wireless operator network. In process 532, the processing unit of WCD 100 establishes a first alternative authentication connection on a first alternative wireless operator network. The first alternative wireless operator network is the wireless operator network initially connected to and used to connect to a SIM library, which is the SIM library to which the initial authentication connection is connected.
[0167] In process 533, the processing unit of WCD 100 disconnects the initial wireless operator network and therefore also disconnects the initial authentication connection. When the initial authentication connection is disconnected, the authentication request and authentication information are carried using the first alternative authentication connection. In process 534, the processing unit of WCD 100 establishes a second alternative authentication connection on the second alternative wireless operator network. The second alternative wireless operator network is a wireless operator network connected after the first alternative wireless operator network and used to connect to the SIM library. The second alternative wireless operator network can be any of the alternative wireless operator networks other than the first alternative wireless operator network and the initial wireless operator network. The processing unit of WCD 100 uses the second alternative authentication connection to connect to the same SIM library to which the initial authentication connection is connected and to which the first alternative authentication connection is connected.
[0168] In process 535, the processing unit of WCD 100 disconnects the first alternative wireless carrier network and therefore also disconnects the first alternative authentication connection.
[0169] Details of establishing an initial authentication connection and an alternative authentication connection have been disclosed in earlier embodiments of the present invention. Furthermore, details of establishing a wireless operator connection with a wireless operator network using L-SIM and R-SIM have also been disclosed in earlier embodiments of the present invention. For example, an L-SIM can be used to connect to an initial wireless operator network, while an R-SIM can be used to connect to a first and a second wireless operator network. The WCM used for connecting to the initial wireless operator network using an L-SIM can be reused with an R-SIM to connect to a second alternative wireless operator network.
[0170] There is no restriction that process 534 must be executed after process 533. For example, process 534 can be executed before process 533. Further process 533 can be executed after process 535.
[0171] In a variant, when multiple alternative wireless operator networks exist, the processing unit of WCD 100 can establish multiple alternative authentication connections in process 534.
[0172] In one variant, data transmission and reception of devices such as IoT 204 and laptop 206, which are directly or via LAN connected to WCD 100, can begin after the initial wireless carrier connection is established. This allows the devices to communicate with hosts reachable via interconnect network 217 as quickly as possible. In one variant, data transmission and reception of the devices can be restricted or disallowed via the initial wireless carrier connection. Data transmission and reception of the devices can begin only after the first alternative authentication connection on the first alternative wireless carrier network is established in process 532, in order to reduce the use of the initial wireless carrier connection. This can reduce tariffs and / or roaming charges imposed by the initial wireless carrier or improve network performance. The use of an R-SIM at the SIM library can reduce tariffs and / or roaming charges because the selected R-SIM does not incur roaming charges and can provide better network performance. In one variant, data transmission and reception of the devices can be restricted or disallowed via the initial wireless carrier connection and / or the first alternative authentication connection. Data transmission and reception of the devices can begin only after the second alternative wireless carrier connection on the second alternative wireless carrier network is established in process 534, in order to reduce the use of the initial wireless carrier connection and / or the first alternative wireless carrier connection. In addition to potentially reducing the costs and / or roaming charges imposed by the initial wireless carrier network, it can also improve performance and provide greater flexibility in choosing wireless carrier networks.
[0173] Figure 6 This is a flowchart illustrating a method according to an embodiment of the present invention. The processing unit of WCD 100 is used to determine when to disconnect the logical data connection and establish a new logical data connection. Figure 6 Should be with Figure 1A and Figure 2A In combination, in process 601, the processing unit of WCD 100 establishes multiple logical data connections through one or more wireless operator connections. This can be based on... Figure 4A and 4B Any of the methods described herein may be used to establish the one or more wireless carrier connections on one or more wireless carrier networks. In a variant, one or more logical data connections may also be established via one or more wired network connections established through one or more wide area network (WAN) interfaces of the WCD 100.
[0174] In process 602, the processing unit of WCD 100 allows data communication via the plurality of logical data connections established through the one or more wireless operator connections. For illustrative purposes, data communication can be performed between a host connected directly or via a local area network to WCD 100 and another host reachable via interconnection network 217. For example, the host connected to WCD 100 may be a laptop computer 206 or an IoT device 204, and the other host reachable via interconnection network 217 may be a network server 208, a SIM library 212, a SIM library management server 216, an eSIM server 214, or a host connected to network node 210. In a variant, the plurality of logical data connections may be aggregated to form an aggregated tunnel.
[0175] In process 603, the processing unit of WCD 100 monitors the one or more wireless operator connections against satisfaction criteria. Satisfaction criteria may include, but are not limited to, connection type, cost, latency, bandwidth, and network congestion. In process 604, the processing unit of WCD 100 determines whether any wireless operator connection does not meet the satisfaction criteria. When the determination result is "No," indicating that the satisfaction criteria are met, the "No" branch is followed and processes 603-604 are iterated. In a variant, the processing unit of WCD 100 waits for a predetermined time before each iteration of 603-604, as this helps reduce the processor's processing workload and save energy and resources. If the result in process 604 is "Yes," indicating that the satisfaction criteria are not met, then the "Yes" branch is followed and process 605 is executed.
[0176] In process 605, the processing unit of WCD 100 disconnects wireless operator connections that fail to meet the satisfaction criteria. However, in some instance scenarios, it is possible that all wireless operator connections fail to meet the satisfaction criteria. In these cases, one wireless operator connection remains operational while the others are disconnected. Preferably, the relatively best-performing wireless operator connection remains operational.
[0177] In one variant, a priority configured by the WCD 100 administrator or user can be assigned to each item of the satisfaction criteria. For example, when tariff cost is given the highest priority, connections with high tariff costs should be disconnected first. If all wireless carrier connections fail to meet at least one criterion of the satisfaction criteria, then the wireless carrier connection with the lowest priority should remain operational.
[0178] In process 606, the processing unit of WCD 100 establishes an alternative wireless carrier connection for each disconnected wireless carrier connection. After establishing the alternative wireless carrier connection, the processing unit of WCD 100 establishes another logical data connection among the plurality of logical data connections in process 601 using the alternative wireless carrier connection. The other plurality of logical data connections can then be used for data communication in process 602. In a variant, an alternative 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. Therefore, an alternative wireless carrier connection can be established in process 606 before the wireless carrier connection is disconnected in process 605.
[0179] Figure 7 This is a flowchart illustrating the progress of one embodiment of the present invention. In process 701, the initial SIM is used with a WCM of the WCD 100, and the WCM is referred to as the first WCM because it is the first WCM used sequentially. The initial SIM can be an L-SIM, R-SIM, or roaming R-SIM. As is well known, a roaming SIM is a SIM card capable of operating on more than one network. The roaming R-SIM mentioned in this invention is an R-SIM placed in a SIM library and capable of operating on more than one wireless operator network. If a logical data connection cannot be established with the SIM library or the SIM library management server, then the initial SIM should be an L-SIM because the WCD 100 may not be able to use an R-SIM. An initial authentication connection is established with the SIM library using the initial SIM with the first WCM. In process 702, since the authentication connection is now established, an R-SIM from the SIM library can be used to establish a wireless operator connection using a second WCM. Since the R-SIM is the first in sequence, the R-SIM is referred to as the first R-SIM and the wireless operator connection is referred to as the first wireless operator connection. Authentication requests and authentication information can be sent and received through the initial authentication connection.
[0180] In process 703, a next R-SIM, referred to as the second R-SIM, will be used to establish a second wireless operator connection using a next WCM, referred to as the third WCM. Authentication requests and authentication information can be sent and received via an initial authentication connection and / or via an alternative authentication connection established via the first wireless operator connection.
[0181] In process 704, the (n-1)th R-SIM will be used to establish the nth wireless operator connection using the (n-1)th WCM. Authentication requests and authentication information can be sent and received through one or a combination of authentication connections established via the wireless operator connection. The process can continue unless n reaches a threshold or the number of WCMs in the WCD 100. Since there are typically many R-SIMs in the SIM library and the WCD 100 can connect to multiple SIM libraries, the number of available R-SIMs should be greater than the number of available WCMs. The purpose of these processes is to utilize as many WCMs as possible.
[0182] The authenticated connection is not used to send and receive data to network devices connected to the WCD 100, such as LAN 202, IoT 204, and laptop 206. Data to and from network devices connected to the WCD 100 is allowed to be sent and received via one or a combination of the (n-1)th data connections.
[0183] In one variant, the first m-th wireless operator connection is not used to transmit and receive data for network devices connected to WCD 100. Transmission and reception of data to and from network devices connected to WCD 100 are permitted via one or a combination of the (m+1)th to (n-1)th data connections. For illustrative purposes, if m is five and n is ten, then one or a combination of the sixth, seventh, eighth, and ninth data connections, instead of the first to fourth wireless operator connections, are permitted to transmit and receive data to and from network devices connected to WCD 100.
[0184] Figure 8A This is a flowchart illustrating an exemplary embodiment of the R-SIM selection and authentication process. When the SIM library or processing unit of WCD 100 selects an R-SIM, a SIM selection strategy can be used to select the R-SIM. The SIM selection strategy may require information. In process 801, the processing unit of WCD 100 collects information for the SIM selection strategy.
[0185] In process 802, such as Figure 3B As shown, an R-SIM is selected based on the collected information according to the R-SIM selection process. When the SIM library performs the R-SIM selection process, the collected information is transmitted to the SIM library via a logical connection, multiple logical connections, or an aggregated logical connection. The logical connection, multiple logical connections, or aggregated logical connection may or may not be the initial connection. For example, the logical data connection to the SIM library may be the initial authentication connection or a substitute authentication connection. The selected R-SIM information is then sent to the WCD 100.
[0186] When the R-SIM selection process is executed by the processing unit of WCD 100, information on multiple R-SIMs from at least one SIM library is sent to WCD 100. The processing unit of WCD 100 then selects an R-SIM based on the collected information and a SIM selection strategy.
[0187] Once R-SIM is selected, authentication requests received from the corresponding wireless operator's network and authentication information from the R-SIM will be sent through an authentication connection established between the SIM library and the WCD 100. There is no restriction that the authentication connection must be the initial or a replacement authentication connection.
[0188] Figure 8B This is a more detailed process flowchart for another exemplary embodiment of processes 801 and 802. In process 811, the processing unit of WCD 100 identifies available wireless operator networks using at least one of a plurality of WCMs. In process 812, the processing unit of WCD 100 determines the signal quality of each available wireless operator network identified by the at least one WCM. The availability of the wireless operator network and the corresponding signal quality are then used for a SIM selection policy. In a variant, process 812 is not performed, and only the availability of the wireless operator network is used for the SIM selection policy.
[0189] In process 813, an R-SIM or a roaming R-SIM is selected based on a wireless operator network that meets the signal quality requirements and further based on the tariff and / or permitted use of the wireless operator network. If the signal quality of an available wireless operator network does not meet the signal quality requirements, then the available wireless operator should not be used, and the R-SIM or roaming R-SIM that must be used with said available wireless operator network will not be selected. In one example, when two available wireless operator networks that meet the signal quality requirements exist, the R-SIM of the wireless operator network with the lower tariff will be selected. For illustrative purposes, the two available wireless operator networks are 201a and 201b. When the tariff of wireless operator network 201a is lower than that of wireless operator network 201b, the R-SIM or roaming R-SIM of wireless operator network 201a will be selected.
[0190] In one variant, three available wireless carrier networks 201a-201c meet the signal quality requirements, and WCD 100 has two available WCMs. For illustrative purposes, wireless carrier networks 201a and 201c have the same tariffs and are cheaper than wireless carrier network 201b. Therefore, only R-SIMs and roaming R-SIMs using wireless carrier networks 201a and / or 201c will be selected, and R-SIMs and roaming R-SIMs using wireless carrier network 201b will not be selected. For roaming R-SIMs that can be configured to use any of the three wireless carrier networks, they can still be selected, but will be configured to use wireless carrier networks 201a and / or 201c in process 814.
[0191] The R-SIM selection process can be performed by the processing unit of WCD 100, the processing unit of SIM library 212, or the processing unit of SIM library management server 216. When the R-SIM selection process is performed by the processing unit of WCD 100, information such as the identity of the wireless operator network, tariffs, and permitted use of R-SIMs and roaming R-SIMs will be sent to WCD 100 by the processing unit of SIM library 212 or SIM library management server 216 for selection. Similarly, when the R-SIM selection process is performed by the processing unit of SIM library management server, information will also be sent to SIM library management server 216. In one example, the SIM library can first select multiple R-SIMs and / or roaming R-SIMs, and then the processing unit of WCD 100 can select one or more R-SIMs and / or roaming R-SIMs from the multiple R-SIMs and / or roaming R-SIMs selected by the SIM library.
[0192] Figure 8C This is a more detailed process flowchart for another exemplary embodiment of processes 801 and 802. In process 821, the processing unit of WCD 100 identifies its geographic location. The geographic location can be determined using 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 limits. A database or lookup table can be used to search for available wireless operator networks at the geographic location. The database or lookup table can be stored in WCD 100, a SIM library, multiple SIM libraries, and / or a SIM library management server. For example, based on the longitude and latitude information of GPS information obtained from the GPS receiver at WCD 100, available wireless operator networks at the geographic location of WCD 100 can be used to find out.
[0193] Similar to Figure 8BThe process shown does not limit you to selecting only one R-SIM or a roaming R-SIM. For example, you can select multiple R-SIMs and / or roaming R-SIMs.
[0194] In one example, based on the GPS location information of the WCD 100, a database is searched for available wireless carrier networks. For illustrative purposes, records in the database indicate that two available wireless carrier networks exist at the location of the WCD 100. For example, the two available wireless carrier networks are 201a and 201b, and the tariffs of wireless carrier network 201a are lower than those of wireless carrier network 201b. Therefore, the choice would be to use either an R-SIM or a roaming R-SIM using wireless carrier network 201a.
[0195] In one variant, according to database records, there are three available wireless carrier networks 201a-201c, and WCD 100 has two available WCMs. For illustrative purposes, wireless carrier networks 201a and 201c have the same tariffs and are cheaper than wireless carrier network 201b. Therefore, only R-SIMs and roaming R-SIMs using wireless carrier networks 201a and / or 201c will be selected, and R-SIMs and roaming R-SIMs using wireless carrier network 201b will not be selected. For roaming R-SIMs that can be configured to use any of the three wireless carrier networks, they can still be selected, but will be configured to use wireless carrier networks 201a and / or 201c in process 823.
[0196] Figure 8DThis illustrates the method used to configure the WCM when a roaming R-SIM is selected in processes 813 and 822. When a roaming R-SIM is selected, the mobile country code (MCC) and mobile network node (MNC) of the selected radio operator network are first determined in process 831, and then sent from the SIM library 212 to the WCD 100 over an authentication connection in process 832. The WCD 100 then configures the MCC and MNC for the available WCM in process 833 to allow the WCM to use the selected radio operator network. The authentication connection can be an initial authentication connection, a substitute authentication connection, or an aggregated authentication connection. For example, if radio operator network 201a is a radio operator network selected in the United States, the MCC and MNC of radio operator network 201a will be determined in process 831. The MCC and MNC will be sent in process 832 and used to configure the available WCM in process 833. In a variant, the MCC and MNC information are already stored in the WCD 100, and the processing unit of the WCD 100 can determine the MCC and MNC information itself without retrieving it from the SIM library 212. Therefore, process 832 is skipped. One benefit of using MCC and MNC is reducing the process of identifying the geographical location of the WCD 100.
[0197] In another detailed example, the access point name (APN) of an R-SIM or roaming R-SIM can be sent from the SIM library 212 to the WCD 100 to allow the available WCM to establish the required connection with the wireless operator's network. For example, the WCD 100 can use the APN to access a private network. In a variant, the APN information is already stored in the WCD 100, and the WCD 100 can provide the APN itself without needing to retrieve the APN information from the SIM library 212.
[0198] The R-SIM selection process can be performed by the processing unit of WCD 100, the processing unit of SIM library 212, or the processing unit of SIM library management server 216.
[0199] In one variant, the SIM selection strategy aims to diversify the use of wireless operator networks that meet the selection criteria. For example, an R-SIM is required, and three R-SIMs from wireless operator networks 201a-201c each meet the selection criteria, and WCD 100 has a WCM that has already established a wireless operator connection using the R-SIM from wireless operator network 201a. Therefore, due to the diversification strategy, SIM library 212 will not select the R-SIM belonging to wireless operator network 201a from the three R-SIMs. SIM library 212 will select the R-SIM from wireless operator network 201b or 201c.
[0200] Figure 9A This is a flowchart illustrating a method performed at a WCD 100 according to an exemplary embodiment of the present invention. Processes 901 to 908 can be performed individually or jointly at the WCD 100, one or more SIM libraries 212, and a SIM library management server 216. For illustrative purposes, the processing unit of the WCD 100 executes processes 901 to 908. The process begins at process 901. For illustrative purposes, the WCD 100 has three WCMs. Each WCM uses an R-SIM from SIM library 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 library 212a using one or more logical data connections established on one or more of the three wireless operator connections. In process 902, the processing unit of the WCD 100 monitors at least one condition associated with the R-SIM being used. For example, the at least one condition is a packet loss rate of less than 2% for the wireless operator connection. Therefore, the processing unit monitors the packet loss rate of each of the three wireless carrier connections.
[0201] In process 903, it is determined whether the at least one condition associated with one or more R-SIMs has failed. According to an example, the at least one condition is a packet loss rate of less than 2% for the wireless operator connection; therefore, the at least one condition fails when the packet loss rate of the wireless operator connection is greater than 2%. For example, the packet loss rate of the wireless operator connection established with wireless operator network 201b has increased to 3%. Therefore, the wireless operator connection established with wireless operator network 201b fails to meet the at least one condition. For illustrative purposes, the (m+2)th R-SIM 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 meet at least one condition.
[0202] In process 904, the processing unit of WCD 100 determines whether WCD 100 can still communicate with SIM library 212a over a wireless operator connection established with wireless operator networks 201a and / or 201c. If WCD 100 is able to communicate with SIM library 212a through one or both of the wireless operator connections established with wireless operator networks 201a or 201c, then the processing unit of WCD 100 will stop using the failed R-SIM in process 905. The processing unit of WCD 100 will select another R-SIM, such as the (m+1)th R-SIM, to replace the failed R-SIM in step 906, and begin using the (m+1)th R-SIM in step 907.
[0203] If it is determined in process 904 that there is no other wireless operator connection available for communication with SIM library 212a, then the processing unit may continue to use the wireless operator connection established with wireless operator network 201b and end the process in process 908.
[0204] No restrictions Figure 9A All processes must be executed by the processing unit of WCD 100. Some or all of the processes may be executed by the processing units of SIM library 212 and / or SIM library management server 216. In one instance, the condition in step 902 may be that the allowable data usage per R-SIM is approaching its limit. The process of verifying data usage may be executed by the processing unit of WCD 100, the processing unit of SIM library 212, and / or SIM library management server 216.
[0205] In another instance, the selection of the R-SIM in step 906 may be performed by the processing unit of the SIM library 212 and / or the SIM library management server 216.
[0206] In one variant, multiple WCMs can use the same wireless operator network. For example, WCMs 101a and 101b can simultaneously connect to wireless operator network 201b via their corresponding R-SIMs. When the performance quality of the wireless operator network is low, both WCMs 101a and 101b may experience the same low performance, and the corresponding R-SIMs may fail under the conditions in process 903. Therefore, in process 905, the processing unit of WCD 100 will stop using the R-SIMs corresponding to WCMs 101a and 101b. In processes 906 and 907, two R-SIMs will be selected and used.
[0207] In one variant, the failed R-SIM is a roaming R-SIM. When the conditions associated with a roaming R-SIM fail, the processing unit of WCD 100 or the processing unit of SIM library 212 can continue to use the same roaming R-SIM to establish another wireless operator connection with another wireless operator network. Therefore, processes 905, 906, and 907 are... Figure 9B The processes 915 to 917 shown in the figure are replaced.
[0208] For example, a roaming R-SIM can use wireless operator networks 201a or 201b, where 201b is the initial wireless operator network being used. When the WCD 100 moves to an area without coverage of wireless operator network 201b, the coverage condition may fail in process 903. Therefore, in process 915, the processing unit of the WCD 100 disconnects the roaming R-SIM from wireless operator network 201b. In process 916, the processing unit of the WCD 100 selects another wireless operator network to connect to the roaming R-SIM. In process 917, the processing unit of the WCD 100 begins using the roaming R-SIM by establishing another wireless operator connection using the roaming R-SIM and the selected wireless operator network. No limitations. Figure 9B All processes must be executed by the processing unit of WCD 100. Some or all processes may be executed by the processing units of SIM library 212 and / or SIM library management server 216. Processes 915 to 917 are not limited to a single roaming R-SIM. Processes 915 to 917 can also be applied to multiple roaming R-SIMs. There is also no restriction that a roaming R-SIM can only use two wireless operator networks. More than two wireless operator networks may be available for selection.
[0209] In a detailed example, when a roaming R-SIM is selected, the Mobile Country Code (MCC) and Mobile Network Node (MNC) of the selected wireless operator network can be sent from the SIM library 212 to the WCD 100 over an authentication connection. The WCD 100 then configures the MCC and MNC for available WCMs to allow them to use the selected wireless operator network. The authentication connection can be an initial authentication connection, a substitute authentication connection, or an aggregated authentication connection. For example, if wireless operator network 201a is selected in the United States, the MCC and MNC of wireless operator network 201a will then be used to configure available WCMs. In a 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 without needing to retrieve it from the SIM library 212.
[0210] In another detailed example, the Access Point Name (APN) of an R-SIM or roaming R-SIM can be sent from the SIM library 212 to the WCD 100 to allow the available WCM to establish the required connection with the wireless operator's network. For example, the WCD 100 can use the APN to access a private network. In a variant, the APN information is already stored in the WCD 100, and the WCD 100 can provide the APN itself without needing to retrieve the APN information from the SIM library 212.
[0211] Figure 10 This illustrates the maintenance of the SIM library connection when multiple wireless operator connections are established according to an embodiment. For illustrative purposes, a first wireless operator connection is established on the wireless operator network of the SIM using WCM 1001 and a first SIM, where the first SIM is a local SIM. At 1021, the processing unit of WCD 100 sends an authentication request 1051 via an initial authentication connection established with the SIM library 1010 through the first wireless operator connection. The authentication request 1051 is initially received from the wireless operator network at WCD 100 and then forwarded by WCD to the SIM library 1010.
[0212] At 1022, WCD 100 receives authentication information 1052 through the initiation of authentication connection in response to authentication request 1051. Authentication information 1052 contains the necessary information corresponding to the R-SIM (second SIM) for establishing a second wireless operator connection. The processing unit of WCD 100 forwards authentication information 1052 to the wireless operator network from which it initially received authentication request 1051. Subsequently, the second wireless operator connection is successfully established using a WCM from available WCMs and a second SIM. For example, WCM 1002 from available WCMs 1002-1004 is used.
[0213] After successfully establishing a second wireless carrier connection, the first wireless carrier connection can be disconnected. Therefore, the WCM 1001 can be used to establish another wireless carrier connection.
[0214] At 1023, the processing unit of WCD 100 sends another authentication request, such as authentication request 1053, to SIM library 1010. Authentication request 1053 can be sent via an alternative authentication connection established via a second wireless operator connection. Authentication request 1053 is initially received from the wireless operator network at WCD 100 and then forwarded by WCD to SIM library 1010.
[0215] At 1024, WCD 100, in response to authentication request 1053, receives authentication information 1054 via an alternative authentication connection established through a second wireless operator connection. Authentication information 1054 contains the necessary information corresponding to the R-SIM (third SIM) for establishing a third wireless operator connection. The processing unit of WCD 100 forwards authentication information 1054 to the wireless operator network from which it initially received authentication request 1053. Subsequently, a third wireless operator connection is successfully established using a WCM from available WCMs and the third SIM. For example, WCM 1003 from available WCMs 1001, 1003, and 1004 is used.
[0216] At 1025, the processing unit of WCD 100 sends another authentication request, such as authentication request 1055, to SIM library 1010. Authentication request 1055 can be sent via an alternative authentication connection established via a second wireless operator connection or a third wireless operator connection. For illustrative purposes, authentication request 1055 is sent via an alternative authentication connection established via a third wireless operator connection. Authentication request 1055 is initially received from the wireless operator network at WCD 100 and then forwarded by WCD to SIM library 1010.
[0217] At 1026, WCD 100, in response to authentication request 1055, receives authentication information 1056 via an alternative authentication connection established through a third wireless operator connection. Authentication information 1056 contains the necessary information corresponding to the R-SIM (fourth SIM) for establishing a fourth wireless operator connection. The processing unit of WCD 100 forwards authentication information 1056 to the wireless operator network from which it initially received authentication request 1055. Subsequently, a fourth wireless operator connection is successfully established using a WCM from an available WCM and a fourth SIM. For example, WCM 1001 from available WCMs 1001 and 1004 is used.
[0218] At 1027, the processing unit of WCD 100 sends another authentication request, such as authentication request 1057, to SIM library 1010. Authentication request 1057 can be sent via an alternative authentication connection established via a second wireless operator connection, an alternative authentication connection established via a third wireless operator connection, or an alternative authentication connection established via a fourth wireless operator connection. For illustrative purposes, authentication request 1057 is sent via an alternative authentication connection established via a fourth wireless operator connection. Authentication request 1057 is initially received from the wireless operator network at WCD 100 and then forwarded by WCD to SIM library 1010.
[0219] At 1028, WCD 100, in response to authentication request 1057, receives authentication information 1058 via an alternative authentication connection established through a fourth wireless operator connection. Authentication information 1058 contains the necessary information corresponding to the R-SIM (fifth SIM) for establishing a fifth wireless operator connection. The processing unit of WCD 100 forwards authentication information 1058 to the wireless operator network from which it initially received authentication request 1057. Subsequently, a fifth wireless operator connection is successfully established using an available WCM (such as WCM 1004) and the fifth SIM.
[0220] There is no restriction that the first wireless carrier connection should be disconnected after the second wireless carrier connection is established. The first wireless carrier connection may be disconnected later (e.g., after the establishment of a third, fourth, fifth, or subsequent wireless carrier connection) or may not be disconnected at all. In a variant, authentication requests and authentication information for the third, fourth, fifth, or subsequent wireless carrier connections may be carried through the initial authentication connection established via the first wireless carrier connection, even when the first wireless carrier connection is not disconnected.
Claims
1. A method for transmitting and receiving data in a wireless communication device via multiple logical data connections, comprising: a. Establish multiple first logical data connections with at least one SIM library through multiple first wireless operator connections; b. Establish multiple second logical data connections for data communication through multiple second wireless operator connections; c. Allow SIM authentication requests and authentication information to be carried through the plurality of first logical data connections; d. Monitor the multiple second wireless operator connections based on a satisfaction criterion; e. When at least one third-party wireless operator connection fails to meet the satisfaction criterion, establish one or more alternative wireless operator connections, further establish one or more alternative logical data connections through the one or more alternative wireless operator connections, and replace the at least one third-party wireless operator connection with the one or more alternative wireless operator connections; and f. When the one or more alternative wireless operator connections and the remaining second wireless operator connections meet the first condition, data packets are transmitted and received through at least one of the plurality of first logical data connections; The at least one third wireless carrier connection is one or more of the plurality of second wireless carrier connections; the remaining second wireless carrier connections are the plurality of second wireless carrier connections other than the at least one third wireless carrier connection. The first condition includes one or more of the following: bandwidth and tariff costs; The wireless communication device includes at least one processing unit, multiple wireless communication modules (WCM), multiple subscriber identity module (SIM) card interfaces, and at least one multiplexing circuit. The at least one multiplexing circuit is connected to the at least one processing unit; The aforementioned multiple wireless carrier connections are established using multiple SIM cards; The plurality of SIMs includes one or more local SIMs and / or one or more remote SIMs; The one or more remote SIMs are placed in the at least one SIM library; The at least one SIM library is remotely connected to the wireless communication device, and the at least one SIM library and the SIM library management server are located in the same device; The one or more local SIMs mentioned above include one or more electronic SIMs (eSIMs) and one or more removable SIMs; and The at least one multiplexing circuit is used to connect the plurality of WCMs and the plurality of SIM card interfaces to the at least one processing unit; wherein the at least one processing unit does not have a sufficient number of input / output (I / O) pins directly grounded to all the plurality of SIM card interfaces and all the plurality of WCMs.
2. The method according to claim 1, further comprising: Multiple alternative logical data connections are aggregated to form an aggregate tunnel.
3. The method according to claim 1, wherein the satisfaction criteria include one or more of the following: connection type, cost, latency, bandwidth, and network congestion.
4. The method according to claim 1, wherein the at least one multiplexing circuit is implemented using a multiplexer.
5. The method of claim 1, wherein the at least one multiplexing circuit is implemented using a complex programmable logic device (CPLD).
6. The method of claim 1, wherein the at least one multiplexing circuit is implemented using a field-programmable gate array (FPGA).
7. The method of claim 1, wherein each of the plurality of SIM card interfaces is configured to connect the one or more removable SIM cards; The wireless communication device further includes a plurality of embedded universal integrated circuit cards (eUICCs); each of the plurality of eUICCs is configured to implement the one or more eSIMs.
8. The method of claim 1, wherein when none of the plurality of wireless operator connections meet the satisfaction criterion, the wireless operator connection with the lowest priority remains operational without disconnecting.
9. The method of claim 7, wherein at least a portion of the plurality of WCMs, the plurality of eUICCs, and the plurality of SIM card interfaces are directly connected to the at least one processing unit based on the number of I / O pins available on the at least one processing unit.
10. The method of claim 7, wherein the number of the plurality of WCMs placed in the wireless communication device is less than the total number of the one or more local SIMs and the one or more selectable remote SIMs; wherein The one or more local SIMs include the one or more removable SIMs connected to the plurality of SIM card interfaces, and an eSIM stored in at least one eUICC.
11. A wireless communication device, comprising: At least one processing unit; Multiple wireless communication modules (WCM); At least one multiplexing circuit; Multiple Subscriber Identity Module (SIM) card interfaces; as well as At least one storage medium includes program instructions executable by the at least one processing unit for: a. Establish multiple first logical data connections with at least one SIM library through multiple first wireless operator connections; b. Establish multiple second logical data connections for data communication through multiple second wireless operator connections; c. Allow SIM authentication requests and authentication information to be carried through the plurality of first logical data connections; d. Monitor the connections of the multiple second wireless operators based on a satisfaction criterion; e. When at least one third-party wireless operator connection fails to meet the satisfaction criterion, establish one or more alternative wireless operator connections, further establish one or more alternative logical data connections through the one or more alternative wireless operator connections, and replace the at least one third-party wireless operator connection with the one or more alternative wireless operator connections; and f. When the one or more alternative wireless carrier connections and the remaining second wireless carrier connections meet the first condition. Data packets are transmitted and received through at least one of the plurality of first logical data connections; The at least one third wireless carrier connection is one or more of the plurality of second wireless carrier connections; the remaining second wireless carrier connections are the plurality of second wireless carrier connections other than the at least one third wireless carrier connection. The first condition includes one or more of the following: bandwidth and tariff costs; The at least one multiplexing circuit is connected to the at least one processing unit; The aforementioned multiple wireless carrier connections are established using multiple SIM cards; The plurality of SIMs includes one or more local SIMs and / or one or more remote SIMs; The one or more remote SIMs are placed in the at least one SIM library; The at least one SIM library is remotely connected to the wireless communication device, and the at least one SIM library and the SIM library management server are located in the same device; The one or more local SIMs mentioned above include one or more electronic SIMs (eSIMs) and one or more removable SIMs; and The at least one multiplexing circuit is used to connect the plurality of WCMs and the plurality of SIM card interfaces to the at least one processing unit; wherein the at least one processing unit does not have a sufficient number of I / O pins to directly connect to all of the plurality of SIM card interfaces and all of the plurality of WCMs.
12. The wireless communication apparatus of claim 11, wherein the at least one storage medium further comprises the program instructions executable by the at least one processing unit for: Multiple alternative logical data connections are aggregated to form an aggregate tunnel.
13. The wireless communication device of claim 11, wherein the satisfaction criteria include one or more of the following: connection type, cost, latency, bandwidth, and network congestion.
14. The wireless communication device according to claim 11, wherein the at least one multiplexing circuit is implemented using a multiplexer.
15. The wireless communication device of claim 11, wherein the at least one multiplexing circuit is implemented using a complex programmable logic device (CPLD).
16. The wireless communication device of claim 11, wherein the at least one multiplexing circuit is implemented using a field-programmable gate array (FPGA).
17. The wireless communication device of claim 11, wherein each of the plurality of SIM card interfaces is configured to connect to the one or more removable SIM cards; The wireless communication device further includes a plurality of embedded universal integrated circuit cards (eUICCs); each of the plurality of eUICCs is configured to implement the one or more eSIMs.
18. The wireless communication apparatus of claim 11, wherein when none of the plurality of wireless operator connections meet the satisfaction criterion, the wireless operator connection with the lowest priority remains operational without disconnecting.
19. The wireless communication device of claim 17, wherein at least a portion of the plurality of WCMs, the plurality of eUICCs, and the plurality of SIM card interfaces are directly connected to the at least one processing unit based on the number of I / O pins available on the at least one processing unit.
20. The wireless communication device of claim 17, wherein the number of the plurality of WCMs placed in the wireless communication device is less than the total number of the one or more local SIMs and the number of the one or more selectable remote SIMs; wherein the one or more local SIMs include the one or more removable SIMs connected to the plurality of SIM card interfaces and the eSIM stored in at least one eUICC.
Citation Information
Patent Citations
Methods and systems of using remote subscriber identification modules at device
CN110809905A