Cellular network connection procedure

The method and system for managing IMSIs in cellular network authentication address service interruptions by dynamically selecting and testing IMSIs, ensuring continuous connectivity and optimizing IMSI allocation.

JP2025529862APending Publication Date: 2025-09-09TRUPHONE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025511434
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-22
Filing Date
2023-08-21
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

The use of shared International Mobile Subscriber Identities (IMSIs) in cellular network authentication can lead to collisions, resulting in service interruptions for subscribing devices, particularly when multiple devices share the same IMSI, causing degradation of cellular network service.

Method used

Implementing a method and system that allows subscribing devices to manage and select IMSIs dynamically, including connectivity tests and secondary registration requests to mitigate collisions, and using registration request tracking data to optimize IMSI allocation.

Benefits of technology

Reduces service disruptions by enabling quick recovery from collisions and optimizing IMSI usage, ensuring continuous cellular network connectivity for subscribing devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025529862000001_ABST
    Figure 2025529862000001_ABST
Patent Text Reader

Abstract

A computer-implemented method is provided for managing requests to register subscribing devices for service with one or more cellular networks. The method includes storing data representing a plurality of registration records, each registration record indicating a respective subscribing device that is service-registered with a respective cellular network using a respective IMSI. A request to register the subscribing device for service is received, the request including at least the IMSI and associated with one or more requested characteristics. A result of the request is generated based on whether the plurality of registration records indicates another subscribing device registered for service, and, if so, at least one of the one or more requested characteristics. Also provided are a computer system and a non-transitory computer-readable storage medium for performing the method.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to telecommunications, and more particularly to a cellular network authentication method for obtaining and / or managing a cellular network connection. [Background technology]

[0002] Internet of Things (IoT), machine-to-machine (M2M), and consumer devices are commonly designed to use universal integrated circuit cards (UICCs). A UICC is typically a hardware device that implements a subscriber identity module (SIM). A UICC can also implement applications other than SIMs, such as applications for managing contact lists or for accessing multiple network types, including GSM and UMTS. Recent implementations may provide an embedded universal integrated circuit card (eUICC), also known as an embedded subscriber identity module (eSIM), an integrated universal integrated circuit card (iUICC), or a software-based SIM (soft SIM) within the host device.

[0003] These UICCs, together with a SIM application, are used to provide authentication to a Mobile Network Operator (MNO) or Mobile Virtual Network Operator (MVNO) and allow the host device to access services offered by said network. UICCs are implemented in the form of small cards that can be inserted and removed from a device. An eUICC is typically implemented as a small chip that is non-removably installed in the device. An iUICC is typically implemented in the form of a system-on-chip solution, where the UICC functions run on the device's native chipset. A soft SIM typically contains a set of software applications and data that perform all the functions of a SIM card, but does not reside on any type of secure data storage device or use a secure processor; instead, it is stored in the host device's own memory and processor (i.e., there is no specific SIM hardware).

[0004] Within this specification, a secure module may be any of a UICC, eUICC, iUICC, or soft SIM that may be included within an IoT device, an M2M device, or other device.

[0005] In the case of UICC, eUICC, iUICC and soft SIM, authentication and access to services offered by the mobile network can be performed through the use of profiles that contain information used to authenticate the subscriber to the cellular network. These profiles can be obtained through Remote SIM Provisioning (RSP), i.e., over-the-air (OTA) downloading, installation and activation of operational profiles, also called SIM profiles.

[0006] Secure modules such as UICC, eUICCS, iUICC and soft SIM are increasingly being embedded within IoT, M2M and other devices, potentially providing instant connectivity to the devices.

[0007] A multi-IMSI SIM is typically a SIM that allows for profiles containing multiple International Mobile Subscriber Identities (IMSIs). Summary of the Invention

[0008] According to a first aspect of the present disclosure, there is provided a computer-implemented method for managing requests to register subscribing devices for service with one or more cellular networks, the computer-implemented method including: storing data representing a plurality of registration records for subscribing devices, each of the plurality of registration records indicating that a respective subscribing device is registered for service with a respective one of the one or more cellular networks using a respective International Mobile Subscriber Identity (IMSI); receiving a request to register the subscribing device for service with a cellular network, the request including at least a predetermined IMSI and associated with one or more request characteristics; generating a result for the request, the result being generated depending on whether the plurality of registration records indicate another subscribing device registered for service with one of the one or more cellular networks using the predetermined IMSI, and if the plurality of registration records indicate another subscribing device using the predetermined IMSI, at least one of the one or more request characteristics associated with the request; and transmitting a response to the request, the response indicating the result.

[0009] According to a second aspect of the present disclosure, there is provided a computer system for managing cellular network registration of subscribing devices, the computer system comprising: one or more processors; and a storage device, the storage device storing: a database including a plurality of registration records for subscribing devices, each of the plurality of registration records indicating that a respective subscribing device is registered for service with a respective one of the one or more cellular networks using a respective International Mobile Subscriber Identity (IMSI); and computer-executable instructions, when executed by the one or more processors, causing the computer system to receive a request to register a subscribing device for service with a cellular network, the request including at least a predetermined IMSI and associated with one or more requested characteristics; and generate a result in response to the request, the result being generated depending on whether the plurality of registration records indicate another subscribing device registered for service with one of the one or more cellular networks using the predetermined IMSI and, if the plurality of registration records indicate another subscribing device using the predetermined IMSI, at least one of the one or more requested characteristics associated with the request; and transmit a response to the request, the response indicating the result.

[0010] According to a third aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium including computer-executable instructions that, when executed by one or more processors, cause the processor to: store data representing a plurality of registration records for subscribing devices, wherein the plurality of registration records each indicate a respective one of the one or more cellular networks being registered for service with a cellular network using a respective International Mobile Subscriber Identity (IMSI); receive a request to register the one of the subscribing devices for service with a cellular network, the request including at least a predetermined IMSI and associated with one or more request characteristics; and generate a result to the request, the result being generated dependent on whether the plurality of registration records indicate another subscribing device being registered for service with the one of the one or more cellular networks using the predetermined IMSI and, if the plurality of registration records indicate another subscribing device using the predetermined IMSI, at least one of the one or more request characteristics; and transmit a response to the request, the response indicating the result. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of two cellular networks and a subscribing device. [Figure 2] FIG. 10 is a sequence diagram illustrating an example of a procedure for requesting attachment of a device. [Figure 3] 3 is a schematic diagram illustrating a joining device 300 according to an embodiment. [Figure 4] 1 is a flowchart illustrating a method for registration request of a subscribing device according to an embodiment. [Figure 5] 10 is a flowchart illustrating a registration request procedure according to an embodiment. [Figure 6] 10 is a flowchart illustrating a connection test procedure according to an embodiment. [Figure 7]FIG. 1 is a schematic diagram illustrating a cellular network, a subscribing device, and a test server according to an embodiment. [Figure 8] 10A and 10B are sequence diagrams illustrating a registration request procedure and a connection test procedure according to an embodiment. [Figure 9] FIG. 10 is a schematic diagram illustrating a test message according to an embodiment. [Figure 10] FIG. 2 is a schematic diagram illustrating a test server according to an embodiment. [Figure 11] 10 is a flowchart illustrating a method performed by a test server according to an embodiment. [Figure 12] 7 is a schematic diagram illustrating a non-transitory computer-readable storage medium containing instructions for performing the method according to the embodiment shown in FIGS. 4-6. FIG. [Figure 13] 12 is a schematic diagram illustrating a non-transitory computer-readable storage medium containing instructions for performing the method according to the embodiment shown in FIG. 11. [Figure 14] 1 is a schematic diagram outlining a registration request procedure and method for managing registration requests from subscribing devices, according to an embodiment; [Figure 15] 1 is a schematic diagram illustrating a computer system configured to perform a method for managing registration requests according to an embodiment. [Figure 16] 16 is a flowchart illustrating a computer-implemented method performed by the computer system according to the embodiment shown in FIG. 15. [Figure 17] FIG. 17 is a schematic diagram illustrating the method of FIG. 16 according to an embodiment. [Figure 18] FIG. 18 is a schematic diagram illustrating a non-transitory computer-readable storage medium containing instructions for performing the method according to the embodiment shown in FIGS. 15 to 17. DETAILED DESCRIPTION OF THE INVENTION

[0012] A computing device with cellular network connectivity, referred to herein as a subscribing device, can generally obtain a cellular network connection through a procedure in which it requests to attach to a cellular network using authentication information. If the authentication information is authenticated by the cellular network, the subscribing device is registered for the service and can initiate a communication session. This process may also be referred to as requesting registration for the service to the cellular network.

[0013] A subscription device, such as a mobile smartphone, typically includes a SIM application associated with a mobile network operator (MNO) or a mobile virtual network operator (MVNO). The SIM application is typically implemented on at least one of a UICC, eUICC, iUICC, or soft SIMS included in the subscription device. An MNO or MVNO may also be known as a carrier service provider, mobile phone operator, or mobile network carrier. MNOs and MVNOs are organizations that provide wireless voice and data communications to their subscriber users. An MNO typically owns and / or operates the cellular network's wireless network infrastructure, backhaul infrastructure, billing, customer care, provisioning computer systems, and other services used to provide wireless network connectivity to subscribers. An MVNO typically leases access to the cellular network from an MNO. In the following description, when a mobile network operator is mentioned, it should be understood that the related description also relates to a virtual network operator, unless explicitly stated otherwise.

[0014] The authentication information a subscribing device uses to attach to a cellular network includes the International Mobile Subscriber Identity (IMSI) and one or more authentication keys (K iThe IMSI includes associated authentication data such as the IMSI number, the IMSI address, and associated authentication data. These authentication information may be stored in a profile data structure (SIM profile) on a secure module of the subscribing device. The IMSI has been widely used by MNOs or MVNOs to identify individual subscribers and, together with associated authentication data, determine whether to accept or reject an attach request from a subscribing device. Typically, a network node processes the IMSI and associated authentication data included in the attachment request to determine whether a given subscribing device is authorized to attach to the network for service. If the subscribing device is roaming on a cellular network that is not the home network or a carrier core network (e.g., operated by a carrier service provider), the authentication request may be forwarded from the cellular network on which the subscribing device is roaming to the carrier core network.

[0015] An IMSI typically includes three parts, each represented by a portion of the total number of digits contained within the IMSI. These parts include a Mobile Country Code (MCC), a Mobile Network Code (MNC), and a Mobile Subscriber Identification Number (MSIN). In some cases, a subscribing device may include a multi-IMSI SIM or a multi-IMSI SIM profile containing multiple IMSIs. Multiple IMSIs may include IMSIs with different MCCs and / or MNCs. With a multi-IMSI SIM, a subscriber can have and use an IMSI associated with the country in which the subscribing device is currently located. For example, a mobile network operator with which a user subscribes for cellular service may have agreements with mobile network operators in other countries or regions to provide specific services, billing features, and customer services to the user when the user travels internationally. Service, price, and quality of service can be optimized depending on the location of the subscribing device 200 and the multiple IMSIs available to the device 300.

[0016] The range of available IMSIs is finite due to the fixed length of the IMSI and the possible permutations, taking into account limitations based on MCC and other criteria. Therefore, exhaustion of the total number of available IMSIs is a potential problem for mobile network operators. When used in conjunction with shared IMSIs, multi-IMSI SIMs can be used to provide a solution to the reduced number of available IMSIs. A multi-IMSI SIM can have a profile data structure that includes one or more shared IMSIs and one or more private IMSIs. A private IMSI is an IMSI that is available only to a specific subscriber or subscribed device at a given time. That is, a private IMSI may be included in only one profile data structure provided to a subscribed device. In some cases, a private IMSI may be redistributed if it is determined that the subscribed device to which it was assigned no longer needs the private IMSI.

[0017] A shared IMSI may include an IMSI that multiple subscribing devices can use simultaneously. For example, a given shared IMSI may be included in a profile data structure that is provided to two or more subscribing devices simultaneously. That is, two subscribing devices may be provided with overlapping sets of shared IMSIs, or in some cases, the same set of shared IMSIs. In another example, each subscribing device may be provided with a unique profile data structure that is built based on a pool of available IMSIs from which other profile data structures are also built. This may result in multiple profile data structures that differ from each other based on at least one IMSI.

[0018] In this case, the IMSIs selected for inclusion in the profile data structures may be selected at least in part randomly. For example, each profile data structure may include a set of private IMSIs and one or more subsets of shared IMSIs, where at least one subset of the shared IMSIs includes IMSIs randomly selected from the pool of IMSIs.

[0019] Shared IMSIs allow mobile network operators to reuse IMSIs for multiple subscribed devices, thereby allowing more subscribed devices to obtain cellular network connectivity while mitigating the increase in the total number of IMSIs that would otherwise be used. For example, a particular subscribed device may use a particular IMSI for only a limited period of time, such as when the subscribed device is roaming in a visited network. In this case, the subscribed device may be provided with a private IMSI associated with its home network or country where it most frequently connects and uses cellular network connectivity, and may be provided with a shared IMSI associated with other countries or other regions where these subscribed devices travel less frequently.

[0020] It has been found that the use of shared IMSIs can lead to situations where the cellular network service provided to certain subscribing devices is interrupted, potentially resulting in degradation of service. Certain embodiments described herein provide methods and apparatus for processing attach requests from subscribing devices in a manner that is less disruptive and disruptive to the cellular network service provided to those subscribing devices. Other certain embodiments described herein enable subscribing devices to recover quickly and autonomously from events in which cellular network service is interrupted, with minimal impact on device 300.

[0021] FIG. 1 illustrates an example of a network environment in which the methods and devices of the present disclosure may be implemented. Two subscribing devices 100A and 100B, each equipped with a multi-IMSI SIM 102A and 102B, or SIM profile, communicate with a cellular network 104 upon service registration with the cellular network 104. In the illustrated example, the cellular network 104 is implemented within a visited public land mobile network (VPLMN). A public land mobile network (PLMN) is a geographic area that a mobile network operator covers for voice and data services to the subscribing devices 100A and 100B. A VPLMN is a PLMN that is not the home PLMN of the subscribing devices 100A and 100B. For example, the subscribing devices may initially register in the UK and purchase cellular network subscriptions from an MNO operating in the UK. When traveling to a different country, the local PLMN of the destination country may be operated by a different MNO and is considered a VPLMN for the UK-based subscribing devices 100A and 100B. In the illustrated example, joining devices 100A and 100B are both attempting to attach to or communicating with the same network 104. However, it should be understood that devices 100A and 100B may be communicating with different networks, different regions, or different countries.

[0022] The cellular network 104 includes a Home Location Register (HLR) 106 for home subscribers of the cellular network 104, which stores subscriber subscription information, including that related to SMS, data, and voice services. The HLR may be updated with the location of subscribed devices during roaming. A Short Message Service Center (SMSC) 108 is a network element that stores, forwards, and delivers Short Message Service (SMS) messages. A Gateway GPRS Support Node (GGSN) 110 is provided that connects the GSM-based 3G network to the Internet. The GGSN works in conjunction with a Serving GPRS Support Node (SGSN) 112 to maintain connectivity of subscribed devices to the Internet and IP-based applications. A Mobile Switching Center (MSC) and Visitor Location Register (VLR) function 114 provides telephone switching that establishes connections between subscribed devices within the network 104, to the public switched telephone network, and to subscribed devices in other networks. In particular, the VLR contains a database containing information about subscribed devices roaming within the VPLMN. The nodes of the cellular network 104 may be configured to communicate via standards-based communications such as SS7 / GTP / Sigtran or other protocols defined by mobile communications standards bodies.

[0023] The cellular network 104 also includes an access network 116 that connects the subscribing devices 100A and 100B to the core networks 106-114. The subscribing devices 100A and 100B may generally be configured to communicate with the access network 116 over an air radio interface. The access network 116 may be a common access network 116 that connects to multiple cellular networks serving a given geographic area.

[0024] Also shown is an additional cellular network 118, which is the home network of subscribing devices 100A and 100B. This additional cellular network 118 includes corresponding components, including an HLR (120), an SMSC (122), a GGRS (124), an SGSN (126), an MSC / VLR (128), and an access network (130). The home cellular network 118 and the visited cellular network 104 communicate with each other via a communication interface, which may include wired and / or wireless communication devices or technologies.

[0025] Turning to FIG. 2, a sequence diagram illustrates the sequence of attach requests from subscribing devices 100A and 100B, in which a first device attaches to a cellular network and then loses connectivity when a second device attaches to the network. In a first step, the first subscribing device 100A selects an IMSI from the multi-IMSI SIM 102A and sends an attach request to attach to the cellular network 104 (202). The attach request includes the selected IMSI and authentication data used to determine whether the subscribing device is entitled to service. The attach request is received by the access network 116 and forwarded to the VLR 114 (204). The VLR 114 consults a database containing cached authentication vectors (206) to determine whether the selected IMSI has already been authenticated and registered for service with the cellular network 104. If no such record indicating registration of the selected IMSI is found, the VLR communicates (208) with the HLR 120, which can authenticate the request and determine whether the subscribing device 100A is authorized and / or eligible for the service. The HLR 120 responds (210) to the request (208) from the VLR 114, verifying that the subscribing device 100A can register for the service using the selected IMSI. The VLR 114 accepts the attach request and then responds (212 and 214) to the subscribing device 100A. A session (216) then begins, and the subscribing device 100A is able to use the service provided via the cellular network 104.

[0026] As described above, subscribing devices 100A and 100B may include multi-IMSI SIMs 102A and 102B, and in the illustrated example, the two devices 100A and 100B include at least one matching shared IMSI, IMSI_1. After a first subscribing device 100A registers for service with the cellular network 104, but before 100A's session ends, a second subscribing device 100B selects the same IMSI, IMSI_1, and sends 218 an attach request to the cellular network 104 that is relayed 220 by the access network 116 to the VLR 114. The VLR 114 then checks 222 to see if registration with IMSI_1 has already occurred. In this example, the VLR 114 determines that IMSI_1 is registered for service based on records created during the registration of the first subscribing device 100A. The VLR 114 accepts (224, 226) the attach request from the second subscribing device 100B and a session is initiated (228), which may be as described in ETSI TS 129 118. In this situation, the session of the first subscribing device 100A is lost (230) and the first subscribing device 100A loses service.

[0027] An event in which a subscribing device 100B registers for service with the cellular network 104 using an IMSI that is already being used for a valid registration of another subscribing device 100A may be referred to as a collision. When a collision occurs, the cellular network 104's response may be determined based on its network capabilities, which are not the same across all networks. Generally, a cellular network 104 that is unaware of these collision events and / or that determines how to respond without communicating with the HLR 120 of the subscribing device's 100A (100B) home network may accept the new attach request, causing the first subscribing device 100A to lose service. A cellular network 104 that is unaware of such collision events may instead treat them as reattach requests, assuming they are from the same device. As the use of shared IMSIs between subscribing devices increases, the likelihood of collisions may also increase. As will now be described with respect to Figures 3 and 13, particular embodiments aim to provide systems and methods for subscribing devices 100A and 100B to handle these collision events in a manner that aims to reduce the period of time during which the subscribing devices are not provided with service. In some examples, the described methods may also enable a service provider to provision and manage profile data structures in subscribing devices 100A and 100B in a manner that can reduce the likelihood of a collision event occurring, and / or to collect data that enables the service provider to manage attach requests based on the current situation of the network with respect to the number of shared IMSIs in use.

[0028] Device-side steps FIG. 3 illustrates an example of a subscribing device 300 in which the computer-implemented method 400 illustrated using a flowchart in FIG. 4 may be implemented. FIGS. 5 and 6 illustrate example subprocedures performed by the method 400, as described below. The subscribing device 300 includes a secure module 302, which may be a UICC, eUICC, iUICC, soft SIM, etc., as described above. The secure module 302 includes a storage device 304 that stores a profile data structure 306, also referred to as a SIM profile 306 or simply profile 306, including a collection of IMSIs 308, and authentication data 310. The storage device 304 may also store a set of executable instructions 312 to perform one or more procedures of the method 400. The instructions 312 may also include one or more additional programs or applets. The secure module 302 includes one or more processors 314 that can execute the instructions 312 to run one or more procedures, programs, or applets.

[0029] Now, with respect to a method 400 for registering a subscribing device 300 for service with one or more cellular networks 104, the subscribing device 300 may be configured to provide 402 a profile 306 including multiple IMSIs 308 for registering the subscribing device 300 for service with one or more cellular networks.

[0030] The profile 306 may be initialized when the subscribing device is powered up. In some cases, the profile 306 of the subscribing device 300 may be reset or reinitialized after certain events of the subscribing device 300, such as when exiting limited connectivity mode or "airplane mode," when the device 300 is powered up, when the device 300 moves to a new region or shortly thereafter, or at the direction of the user. The subscribing device 300 may be pre-provisioned with the profile 306, i.e., the profile 306 may be stored in the device 300 at the time of manufacture and thereby included in the device 300 when provided to the user. In other cases, the profile 306 may be downloaded by subscription using, for example, remote SIM provisioning (RSP) techniques such as those specified in accordance with GSMA specifications and certifications.

[0031] The subscribing device 300 is configured to perform a first registration request procedure 500 to request registration 404 of the subscribing device 300 for service with the cellular network 104 .

[0032] 5 includes selecting 502 an IMSI, in this case a first IMSI, from among the plurality of IMSIs 308. An attach request procedure is then performed 404 to attach to the cellular network 104 using the first IMSI. This attach request procedure may include sending a request to a cellular network node requesting service registration of the subscribing device 300 with the cellular network 104 using the first IMSI and associated authentication data 310. The first registration request 500 has two possible outcomes: a first outcome is that the subscribing device 300 is successfully registered for service with the cellular network 104; or a second outcome is that the subscribing device 300 is not successfully registered for service with the cellular network 104 using the first IMSI.

[0033] If the attach request procedure 504 is successful, the subscribing device 300 is successfully registered with the service and can use the services provided over the cellular network 104. If the attach request is not successful, the subscribing device 300 typically will not be provided with cellular network connectivity and the subscribing device 300 may not be able to use services such as voice, data, SMS, etc.

[0034] In some examples, a specific algorithm may be provided for selecting 502 an IMSI. This algorithm may include a selection procedure that prioritizes an IMSI associated with the current location of the subscribing device 300, including, for example, the corresponding MCC or MNC associated with the VPLMN in which the subscribing device 300 is located or with which the subscribing device 300 communicates. In other examples, a random or semi-random process may be used to select 502 an IMSI.

[0035] The subscribing device 300 performs 406 a connectivity test procedure 600, which is shown in more detail in Figure 6. This connectivity test procedure 600 includes sending 602 a connectivity test message to a test server. Turning briefly to Figure 7, an example of a test server 702 to which this test message is sent is shown in relation to a cellular network 104. As shown, the test server 702 may communicate with the cellular network 104 via the Internet 704 or alternative network communication network hardware. This test message is sent to the cellular network 104 to which the device is attempting to connect and may be forwarded or transmitted to the test server 702.

[0036] 7, in some examples, the test server 702 may be included in the cellular network 104 or may be part of the home cellular network 118, also referred to as the carrier network or carrier core network, of the subscribing device 300 and 706. The connectivity test procedure 600 may be used to determine whether the subscribing device 300 is able to access and / or operate with the services provided by the cellular network 104. The functionality of the test server 702 is described below with reference to FIG.

[0037] Based on the results of the connectivity test procedure 600, the subscribing device 300 may perform (408) a second registration request procedure 500 to request that the subscribing device 300 be registered for service with the cellular network 104. The second registration request procedure 500 includes selecting (502) a second IMSI from the plurality of IMSIs 308. The device 300 then performs an attach request procedure to attach to the cellular network 104 using the second IMSI. The second registration request procedure 500 is triggered dependent on receiving a response to the connectivity test message. In a preferred embodiment, the subscribing device 300 performs the second registration request procedure 500 if no response to the test message is received from the test server 702. In another example, the second registration request procedure 500 is performed if a response to the test message is received after a threshold time has elapsed since the test message was sent (602).

[0038] The connectivity test procedure 600 can be used in combination with the first and second registration request procedures 500 in several ways. In a first example, the connectivity test procedure 600 is performed substantially simultaneously or at least partially simultaneously with the first registration request procedure 500, such as at the start of the initial registration request procedure 500 or shortly thereafter. Alternatively, the connectivity test procedure 600 may be performed 404 a predetermined period of time after the first registration request procedure 500 is performed, such that if the first registration request procedure 500 is successfully performed, the device 300 is expected to be registered for service with the cellular network 104. If the attach request procedure performed in the first registration request procedure 500 is not successful, the connectivity test procedure 600 can determine that the subscribing device 300 is not registered for service with the cellular network based on a lack of a response to the test message, triggering the second registration request procedure 500.

[0039] The second IMSI selected during the second registration request procedure 500 may be a different IMSI relative to the first IMSI. For example, when selecting the second IMSI, the first IMSI may be excluded from the pool of potential IMSIs selected from multiple IMSIs. If the first registration request procedure 500 is not performed successfully, the likelihood of successfully attaching to the network 104 using the first IMSI may be reduced; therefore, selecting a second, different IMSI when performing (408) the second registration attach procedure 500 may increase the likelihood of successful attach.

[0040] In some examples, the connectivity test procedure 600 includes determining whether a response to the test message is received within a predetermined period of time. In this case, a response period within which the response to the test message must be received can be defined. This response period can be based on a maximum expected response period or on the average time it takes for a response to be generated and transmitted by the test server 702 and travel through the network to the subscribing device 300. Alternatively, the response period can be based on an expected period for a successful attach request procedure. This period can be device type-dependent, as described below. If the subscribing device 300 does not receive a response to the test message within the response period, it can be determined that a response to the test message was not received. While 30 seconds is used as an example above, it should be understood that different periods can be determined based on different use cases. For example, when implementing the method in a battery-constrained device, a longer response period can be used to conserve battery life. In devices where active cellular network connectivity is important, a shorter response period can be used to reduce network connection time.

[0041] When performing an attach request as in the first registration request procedure 500, the subscribing device may not be easily notified that the attach request was unsuccessful. Using the connectivity test procedure 600 to trigger the execution of the second registration request procedure 500 allows the subscribing device 300 to reduce the idle time before it is determined that the first attach request was unsuccessful. This, in turn, allows the subscribing device 300 to quickly select and use a second IMSI to attach to the network 104, thereby reducing the total time the subscribing device 300 does not have a valid cellular network connection.

[0042] In a second example, the first registration request procedure 500 is successfully executed, and the subscribing device 300 is attached to the network 104 and registered in association with the first selected IMSI. In this case, the connectivity test procedure 600 can additionally or alternatively be executed after the first registration request procedure 500 is successfully executed (404) to verify whether the subscribing device 300 continues to have cellular network service. To this end, the connectivity test procedure 600 can be repeatedly executed. After sending each test message, the subscribing device 300 can be configured to determine (604) whether a response to the test message is received by the subscribing device 300. If a response is received, then the subscribing device 300 can further execute the connectivity test procedure 600. If a response to the test message is not received, then a second registration request procedure 500 is triggered in an attempt to re-establish cellular network connectivity so that the subscribing device 300 can access cellular services such as voice, data, SMS, etc.

[0043] The connectivity test procedure 600 can be used to repeatedly, and possibly periodically, test whether the device 300 can access cellular network service, thereby enabling the subscribing device 300 to identify if it will lose service from the cellular network 104 sooner, thereby mitigating the amount of downtime experienced when another subscribing device 706 registers on the cellular network 104 using the same IMSI (first IMSI) as the subscribing device 300. The connectivity test procedure 600 operates to test connectivity and trigger the second registration request procedure 500 while the user is not actively using the device 300 or while the device is not actively using the cellular connection, and can be run as a background process on the subscribing device 300 to avoid perceiving a degradation in service provided by the cellular network 104.

[0044] The connection test procedure 600 may similarly be performed substantially simultaneously or partially simultaneously with performing 408 the second registration request procedure 500 to determine whether the registration request procedure 500 was performed successfully or whether to perform additional registration request procedures 500.

[0045] The connectivity test procedure 600 may be performed periodically with a predetermined interval between executions of the connectivity test procedure 600. In one example, each connectivity test procedure 600 may be performed immediately after the completion of the previous connectivity test procedure 600. This may be implemented when the connectivity test procedure 600 is used to test the ongoing connection between the subscribing device 300 and the cellular network 104.

[0046] In some cases, the predetermined interval may depend on the type of device corresponding to the joining device 300. For example, if the joining device 300 is a mobile device including a battery, the predetermined interval may be longer. Periodically executing the connection test procedure 600 may increase the computing load on the joining device 300. If the joining device 300 is a mobile device such as a smartphone, or a device with a much more limited battery capacity, the device may have a limited amount of power available before needing to be recharged. Therefore, the frequency at which the connection test procedure 600 is executed may be reduced to conserve battery life or free up processing resources for other functions. This is achieved by setting a longer predetermined interval. In contrast, IoT devices or smart appliances that are typically connected to a mains power source or have large-capacity batteries may have fewer or no constraints on power consumption and therefore may execute the connection test procedure 600 more frequently. In another example, IoT devices have a lower priority compared to portable mobile devices, and therefore the predetermined interval may be longer to reduce the traffic received by the test server 702 and free up the test server 702 to respond to requests from portable mobile devices.

[0047] Another consideration is how frequently the subscribing device 300 is used. For example, a smartphone may be used very frequently, so the connection test procedure 600 may be set to occur at short intervals, increasing the likelihood that the device will have an active cellular network connection when needed, thereby providing better service to the user. Other types of subscribing devices 300, such as smart appliances, may use a cellular network connection less frequently and may be able to tolerate longer periods without an active cellular network connection.

[0048] In some cases, the predetermined interval may be variable to balance power consumption and network load. To this end, the method 400 may include determining one or more characteristics associated with the subscribing device 300 and varying the predetermined interval depending on the one or more characteristics. These characteristics may include the available energy level remaining in the battery of the subscribing device 300, the power supply to the subscribing device, an indication of the device type, usage statistics associated with the subscribing device 300 such as how often the cellular network connection is used, the current processor load, etc.

[0049] In examples where the connectivity test procedure 600 is performed under multiple conditions, such as when performing 404 the first registration request procedure 500 and after the first registration request procedure has been successfully performed, the response period may be variable. For example, a shorter response period may be used if the connectivity test procedure 600 is performed simultaneously with the first registration request procedure, and a longer response period may be used if the connectivity test procedure 600 is performed after successfully registering for cellular network service by performing 404 the first registration request procedure 500.

[0050] 8 shows a sequence diagram of an example implementation in which the connectivity test procedure 600 is performed substantially simultaneously with the execution (404) of the first registration request procedure 500 and the execution of the second registration request procedure 500. The first registration request procedure 500 is performed by performing an attach request procedure, which includes selecting a first IMSI and sending (802) a request to the network node 116. This causes a significant delay in processing the request in the network 104 and therefore a significant delay in receiving a response to the request. The joining device 300 sends (808) a test message to the test server 702. After a response period has elapsed since the test message was sent, no response 810 has been received by the joining device 300, so the joining device 300 triggers the second registration request procedure 500. Following the selection and signaling of the second IMSI (812-826), the subscribing device is successfully registered for service with the cellular network 104, after which the connectivity test procedure 600 is performed (828, 830) to determine that cellular network connectivity has been successfully provided to the subscribing device 300.

[0051] In some examples, the or each connectivity test message includes registration request tracking data. FIG. 9 shows an example connectivity test message 900, which includes registration request tracking data 902 and, in some cases, data 904 that can be used to identify the device 300 and ensure that the test server 702 responds to legitimate test messages 900 from the appropriate subscribing device 300. The request tracking data 902 can be used to keep a record of registration request statistics indicative of the behavior of the subscribing device 300. By tracking statistics related to the registration request procedures 500 performed by the device 300, it is possible to identify when the quality of service for that device 300 is degrading. In particular, an increase in the frequency of registration requests 500 performed by the device 300 can be easily identified. An increase in the frequency of registration requests 500 is generally undesirable because it may be associated with longer or more frequent periods when the device 300 is not receiving service from the cellular network 104. Another example is being able to identify the frequency with which attach request procedures performed with a particular IMSI failed. If the frequency with which attach request procedures using a given IMSI fail increases, this may indicate that that IMSI is being selected and used too frequently and offered to a certain number of subscribed devices, causing degradation of the service offered to certain subscribed devices. This may indicate that the IMSI should be avoided in new profiles.

[0052] Sending this requested tracking data 902 in the test message 900 provides a channel for this data to be signaled to the cellular network 104 and / or the MNO or other service provider that manages the subscribing device 300 and the profile 306 provided thereto. The MNO or other type of service provider can then use this tracking data 902 to modify or coordinate the generation of the profile data structure 306 that is provided to other devices 706. The service provider can also modify the profile 306 stored in the subscribing device 300 to, for example, update the IMSI provided therein, to reduce the frequency with which the device 300 loses service from the cellular network 104, and / or to improve the speed with which the device 300 can reconnect to the cellular network 104 after a service loss. This can be done by using RSP techniques to send updated profile 306 data to the subscribing device 300 that includes fewer IMSIs provided in the profile than were previously included in the profile 306. If the tracking data 902 indicates that attach requests using a particular IMSI fail more frequently compared to attach requests using other IMSIs, the MNO or other type of service provider may deprioritize the particular IMSI when creating profiles for other devices 706 so that it is less likely to be provided to the other devices 706.

[0053] Sending registration request tracking data 902 to test server 702 allows for improving the service provided to subscribing devices 300 and 706 by adjusting the variation in IMSIs provided to particular subscribing devices, with the goal of keeping the total number of IMSIs used low.

[0054] The registration request tracking data 902 may include a number of data elements in the form of a byte string configured to represent specific information used to track a registration request procedure. The tracking data 902 may include an indication of the number of failed attach request procedures that occurred in a first registration request procedure. The indication may be included in the form of a one-byte long counter. In some examples, the first registration request procedure may include retrying an attach request procedure using a first IMSI after an initial unsuccessful attach request procedure.

[0055] The tracking data 902 may include an indication of the number of failed attach request procedures that have occurred since the last reset of the profile and / or the number of failed attach request procedures since the device 300 last successfully registered for service with the cellular network 104. As mentioned above, the profile 306 may be reset after certain events, such as when the device is rebooted or when the geographic location of the device 300 changes. In this case, the method 400 may be performed repeatedly while attempting to connect to the cellular network 104. The registration request tracking data 902 may include a counter that counts the total number of failed attach request procedures since the profile 306 was last reset.

[0056] The tracking data 902 may additionally or alternatively include an indication of the number of IMSIs selected since the last reset of the profile 306. For example, if the method 400 is repeatedly performed, the total number of IMSIs selected may be counted and included in the tracking data 902. If a large number of IMSIs have been selected since the last reset of the profile 306, this may indicate that the IMSIs included in the profile 306 are being used simultaneously by a large number of other subscribed devices 706, resulting in an increase in collision events leading to a degradation in the service provided to the subscribed device 300.

[0057] The tracking data 902 may also include an indication of IMSIs selected since the last reset of the profile 306. These IMSIs may include the first IMSI selected in the first registration request procedure 500. Furthermore, this may include IMSIs selected in previous registration request procedures 500 performed since the last reset of the profile 306. In this way, it is possible to track which specific IMSIs are being used, along with statistics on the frequency with which they were used in successful or unsuccessful attach requests to the network 104. The indication of the IMSIs used may include a set of one or more index references that refer to record numbers in a database where IMSI values ​​are stored. Sending an index reference associated with each IMSI rather than the actual IMSI value may mitigate the increase in size of the test message 900 compared to an implementation in which the IMSI value itself is included in the test message 900; for example, each IMSI value typically includes 14 to 15 digits, but the IMSI index reference may be represented using one byte in the test message 900. If there are N IMSIs used since the last reset of the profile, there may be N bytes used to indicate the IMSI values ​​selected since the last reset of the profile.

[0058] The tracking data 902 may also include a region-specific date and time of the connectivity test procedure associated with the region or country in which the subscribing device 300 is located. This date and time may be encoded into the tracking data 902 in accordance with ETSI TS 102 223. Including date and time information in the tracking data 902 may allow for the identification of trends in the behavior of the registration request procedure 500 that vary over time. For example, trends in the frequency and / or success and failure rates of the registration request procedure 500 may be correlated over time, such that the frequency of the registration request procedure 500 changes over certain times of the day. These frequencies may correlate with trends over time periods other than a day, such as a week, a month, or an irregular period.

[0059] Receiving tracking data 902 that can be used to identify time-varying trends in collision events between devices can be used to tailor the provisioning and management of profiles 306 on subscribing devices 300 to reduce the frequency of collision events while ameliorating a potential increase in the total number 706 of IMSIs provided to subscribing devices 300. One such example can be that during IMSI selection in the registration request procedure 500, data is provided in the profile data structure 306 that indicates time-dependent characteristics of IMSIs, such that certain IMSIs are preferred over other IMSIs at different times.

[0060] The tracking data 902 may also be used for purposes other than adjusting the provisioning and management of the profile 306. Alternatively, or additionally, the tracking data 902 may be used to provide insight into the home core network of the subscribing device 300, enabling it to make decisions regarding the acceptance or rejection of an attach request that may benefit the overall performance of the network. This is discussed in more detail in the section relating to "Network-Side Procedures" below, but in summary, there are some situations in which the home network 118 of the subscribing device 300 is referenced when processing an attach request even if the VLR 114 determines that a registration request using the same IMSI as the attach request has previously been accepted. In such situations, the tracking data 902 may be used to modify and otherwise adjust the algorithm that governs whether the attach request is accepted.

[0061] The data 904 used to identify the device 300 when sending a test message and / or authenticate the device to the test server can include many different data values ​​that can be used alone or in combination to ensure that the test message 900 is received from an authenticated device 300 and to prevent overloading the test server 702 from replay attacks. For example, the data 904 can include a magic number that is improvised and shared between the device 300 and the test server. The magic number can be two bytes in length. The data 904 can include a hash-based message authentication code (HMAC), a cryptographic tool that combines a public key, a private key, and a hash into a mixed value that is resistant to reverse engineering and deciphering by unauthorized actors.

[0062] Data 904 may include an ICCID counter associated with a particular Integrated Circuit Card ID (ICCID), in this case secure module 302, to avoid replay attacks. For example, a test server may determine whether the same device is sending requests very frequently, which may indicate they are not legitimate. Data 904 may include the ICCID of secure module 302 encoded according to ETSI TS 102 221.

[0063] 4-9 has been described as a method for the joining device 300, it should be understood that a secure module 302 included within the joining device 300 may be configured to perform the method 400. For example, the secure module 302 may include instructions for performing the method 400 in instructions 312 executed by one or more processors 314. The secure module 302 may be included within the joining device 300 and configured to perform the method 400 when the joining device 300 is in a powered-on state.

[0064] Figure 10 illustrates an example of a test server 702 performing a method 1100 illustrated in flowchart form in Figure 11. The test server 702 comprises a processor 1002 and a storage device 1004 having stored thereon a set of computer-executable instructions 1006 that, when executed by the processor 1002, cause the test server 702 to perform the method 1100 for operating the connectivity test server 702. The test server 702 may further include one or more communication interfaces 1008 for communicating with wired and / or wireless networks, such as the Internet. The components of the test server 702 are communicatively coupled via a bus 1010.

[0065] The method 1100 includes obtaining (1102) a test message 900 from the joining device 300, where the test message 900 includes an indication of the joining device 300. For example, the test message 900 may include an indication of an ICCID corresponding to the secure module 302 included in the joining device 300. The test server 702 responds (1104) to the test message 900, acknowledging receipt of the test message 900. In some examples, the test server 702 processes (1106) the test message 900 to identify registration request tracking data 902 associated with the registration request procedure performed by the joining device 300. The test server 702 may store (1108) the registration request tracking data 902. Storing this tracking data 902 may be used to coordinate the processing of attach requests and / or the provisioning of profiles 306 in the network. The identification (1106) and storage (1108) of the tracking data 902 is shown in the flowchart of FIG. 11 as occurring after the response (1104) to the test message 900. However, it should be understood that these steps (1106) and (1108) may alternatively be performed prior to and / or substantially simultaneously with the response (1104) to the test message 900.

[0066] The test server 702 may be configured to respond 1104 to the test message 900 before a predetermined time has elapsed since obtaining the test message. For example, if the subscribing device 300 expects a response to the test message 900 within a first period of time to determine whether the device 300 has service provided by the cellular network 104, the period in which the test server 902 is configured to respond may be correlated to this first period of time.

[0067] This predetermined period may be selectable so that the test server 902 can respond to the test message 900 at different speeds depending on criteria such as the type of device 300, the date and / or time, specific instructions, and / or user input.

[0068] In some examples, the test server 702 may implement or include a Transfer Control Protocol echo client or other suitable echo server application. The test server 702 may be a dedicated test server 702 where the addresses or URLs to which the test messages 900 are sent may be whitelisted to prevent subscribing devices 300 from being charged based on their communications with the test server 702.

[0069] 12 illustrates a non-transitory computer-readable storage medium 1200 having stored thereon a set of computer-executable instructions 1202-1208 that, when executed by a processor 1210, causes the processor 1210 to perform a method 400 for requesting registration of a subscribing device for service with one or more cellular networks. The storage medium 1200 may be included within a secure module 302, such as a SIM card, UICC, eUICC, iUICC, or soft SIM. The processor 1220 may be included within the secure module 302. The various examples of the method 400 discussed above with respect to FIGS. 3-9 are also applicable to the sets of instructions 1202-1208 included within the storage medium 1200.

[0070] 13 illustrates a non-transitory computer-readable storage medium 1300 having stored thereon a set of computer-executable instructions 1302-1308 that, when executed by a processor 1310, cause the processor 1310 to perform the method 1100 for operating the connectivity test server 1100. The various examples of the method 400 discussed above with respect to FIGS. 10 and 11 are also applicable to the set of instructions 1302-1308 contained on the storage medium 1300. The storage medium 1300 may be integrated within the test server 702 or may be a removable and / or portable medium that can be inserted into and communicatively coupled to the test server 702 and instruct the server 702 to perform the method 1100.

[0071] Network-side procedures In the embodiments described above in connection with Figures 2-13, device-side procedures are configured to mitigate a period of time during which the device 300 loses service when a new device 706 registers with the cellular network 104 using the same IMSI as the first device 300. This typically occurs when the VLR 114 caches an authentication vector associated with the IMSI that the subscribing device 300 used to connect to the network 104. However, in some examples, the VLR may be configured to pass the attach request to the carrier core network, which in this case is the home network 118 of the subscribing devices 300 and 706. The carrier may also be referred to as the owner of the multiple IMSIs because it manages the use of these IMSIs and provides them to these subscribing devices 300 and 706.

[0072] FIG. 14 illustrates an example in which a subscribing device 300 uses the IMSI selected (502) in a connection request procedure 504 to request attachment to the network 104. The VLR 114 receives the request and determines (1402) whether the selected IMSI is authenticated by the carrier or whether the VLR can authenticate the request. The VLR 114 can check a stored cache 1404 of authentication vectors to determine whether the IMSI in question is already authenticated for service on the network 104. If an appropriate record or authentication vector is found, the attach request may be authenticated. If another subscribing device 706 was using the IMSI in question, i.e., if another subscribing device 706 used the IMSI to register for service on the network 104, the subscribing device 706 can perform the method 400 described above to reattach to the network. In general, the VLR 114 may be configured to automatically authenticate the attach request if it has a stored authentication vector, because in most current cases where shared IMSIs are not used, the attach request will be received from the same device that originally registered for the service.

[0073] If no cached authentication vector associated with the selected IMSI is found, the VLR 114 may send an authentication request to the HLR 120 of the carrier core network 118, also referred to as the IMSI owner. Currently, the behavior of the VLR 114 is not uniform across all regions and the VLR 114 may implement a policy that causes the VLR 114 to pass the authentication request to the carrier core network 118 even if the VLR 114 has cached an authentication vector corresponding to the selected IMSI. This policy may be valid for all IMSIs or for a specific subset or range of IMSIs.

[0074] In situations where the VLR 114 transmits an authentication request to the core network 118, the core network 118 can execute a method for managing requests to register subscribing devices 300 and 706 for service with one or more cellular networks 104. Particular examples described herein provide methods and systems for processing registration requests relying on policies or rules that may vary based on the characteristics of the request. In this manner, the core network can proactively determine whether a given subscribing device should lose service in favor of another device, whether a newly received attach request is likely to be received from the same device that previously registered for service, and / or whether the likelihood of service interruption can be reduced.

[0075] FIG. 15 illustrates an example of a computer system 1500 configured to implement a method 1600 for managing requests to register subscribing devices for service with one or more cellular networks, as illustrated by the flowchart in FIG. 16. The computer system 1500 includes one or more processors 1502 and a storage device 1504. While the components of the computer system 1500 are depicted in FIG. 1500 as being contained within a single computing device, it should be understood that the computer system 1500 may include multiple distributed computing devices, each including the processor(s) 1502 and the storage device 1500. For example, the computing system 1500 may include typical core network components, such as the HLR 120, and one or more computing devices, or servers, configured to communicate with these network components to perform the method 1600. Alternatively, the computing system may be integrated with other network components; for example, a server implementing the HLR 120 may be adapted to perform the method 1600.

[0076] The storage device 1504, or a storage device when the computing system 1500 is a distributed computing system, stores a database 1508 including multiple registration records 1508A and 1508B for the subscribing devices 300, 706. Each of the multiple registration records 1508A and 1508B indicates that the respective subscribing device is registered for service with a respective cellular network 104 of one or more cellular networks using a respective IMSI. The database 1508 may be implemented, for example, as part of the HLR 120, which includes the database 1508. Alternatively, the database 1508 may be a copy of the database 1508 included in the HLR 120 of the core network 118. While a home location register is described herein, it should be understood that other types of home servers or registers for storing the registration records 1508A and 1508B may be used, such as a home subscriber server (HSS), an authentication center (AuC), etc.

[0077] The storage device 1504 stores 1602 a set of computer-executable instructions 1510 that, when executed by the at least one processor 1502, cause the computer system 1500 to perform the method 1600. The computer system 1500 may further include one or more communication modules 1512 that enable the computer system 1500 to communicate with subscribing devices, servers, and / or network elements within or outside the core network 118.

[0078] The method 1600 includes receiving 1604 a request 1404, shown in Figure 14, to register the subscribing device 300 for service with the cellular network 104. The request 1404 includes at least a predetermined IMSI and is associated with one or more request characteristics. The request 1404 may be, for example, an authentication request received from the VLR 114 and includes the selected IMSI and associated authentication data.

[0079] A result for the request is generated (1606) and a response to the request 1404 is sent (1608), indicating the result. The result of the request 1404 can either be to accept the registration request 1404, i.e., to authenticate the subscribing device 300 based on the predetermined IMSI in the request 1404, or to reject the registration request 1404, i.e., to not authenticate the subscribing device 300 based on the predetermined IMSI.

[0080] A result may be generated depending on criteria including whether the plurality of registration records 1508A and 1508B indicate (1610) that another subscribed device 706 is registered for service with the cellular network 104 of the one or more cellular networks using a predetermined IMSI. If the plurality of registration records 1508A and 1508B indicate another subscribed device 706 using a predetermined IMSI, the result may be based on at least one of one or more request characteristics associated with the request. That is, the computer system 1500 may determine whether the IMSI in the request is already in use. If the IMSI is not in use by another subscribed device 706, the registration request may be processed normally, that is, standards-based procedures for GSMA authentication may be performed.

[0081] 1 and 7 as communicating with the same cellular network 104 as the subscribing device 300, it should be understood that the subscribing device 706 may be attached to or requesting to be attached to a different cellular network than that shown, for example, a further visited cellular network in the same country as the cellular network 104 or in a different country.

[0082] If a given IMSI in the request is in use by another subscribing device 706, the decision to accept or reject the registration request may depend on one or more characteristics associated with the request.

[0083] One or more of these request characteristics may be inherent to the request, i.e., they are indicated in or can be derived directly from the request 1404. Other request characteristics may not be inherent to the request, i.e., they are not included in the request but can be derived from information within the request, and possibly by reference to external information such as multiple records 1508A and 1508B, or another set of information.

[0084] 17 illustrates generally an example of a computer-implemented method 1600 for managing registration requests. A request 1404 containing a predetermined IMSI 1700 is received within the core network 118. Optionally, an initial check (1702) is performed to determine whether the IMSI 1702 is a shared IMSI or a private IMSI. Private IMSIs are not configured for reuse or provided to multiple subscribed devices 300 simultaneously. Thus, if the IMSI 1702 in the request 1404 is a private IMSI, it is known that another subscribed device 706 is not currently registered with the same IMSI 1702, and therefore, the standard authentication and approval process, as specified by the GSMA, can be followed and the request can be accepted.

[0085] If the IMSI 1702 is a shared IMSI, the determination of whether to accept the request is based on whether the IMSI 1702 is currently being used to register a device for service and one or more of the request characteristics. It should be appreciated that one or more of the request characteristics may be determined before it is determined whether the plurality of records 1508A and 1508B indicates that another subscribing device 706 is registered for service with the cellular network using the given IMSI.

[0086] One or more of the request characteristics can include characteristics of the predetermined IMSI 1700 used in the request. The decision to accept or reject a given request can depend, at least in part, on the IMSI 1700 used in the request. The characteristics of the predetermined IMSI 1700 can include whether the IMSI 1700 is one of a set of IMSIs associated with a particular outcome when multiple subscription records 1508A and 1508B indicate that another subscribed device 706 is registered for service with the cellular network using the predetermined IMSI 1700. The particular outcome in this case is accepting or rejecting the request 1404. To this end, the method 1600 can compare the predetermined IMSI 1700 to policy data 1704, which can represent a set of rules to be applied to the request 1404 to determine the outcome.

[0087] This policy data 1704 may associate an IMSI with a particular outcome and / or one or more rules, or policies, by which this outcome may be determined. The policy data 1704 may indicate whether a registration request using a particular IMSI should be processed according to standard GSMA authentication procedures, which may include rejecting the request if the IMSI has already been used for registration. Alternatively, or additionally, the policy data 1704 may indicate whether a request including a particular IMSI should be accepted if the registration record indicates another subscribed device registered for the service with that particular IMSI. The policy data 1704 may also specify policies or rules that apply to a registration request 1404 including a particular IMSI if another subscribed device registers for the service using that IMSI. These rules may include processing other request characteristics of the request 1404 to determine the outcome. The policy data 1704 may include a list of IMSIs associated with descriptors, flags, labels, or any other suitable method for indicating how a request including the IMSI should be processed.

[0088] In some cases, different IMSI sets may be assigned to devices of different device types or with different usage scenarios. If the IMSI set is assigned to a SIM profile of an IoT device, such as a smart appliance, a specific result specified in policy data 1702 may be to deny the request. Smart appliances may generally use cellular network service sporadically and / or for limited periods of time. In particular, IoT devices, such as smart appliances, may request to attach to a network even when not actively used by the user, so denying the request may not result in a noticeable degradation in service from the perspective of the user of device 300. A portable mobile device may be assigned a different IMSI. In this case, a specific result may be to accept a registration request from a subscribing device using the IMSI associated with or assigned to the portable mobile device, since delays in the mobile device obtaining service with the cellular network may be more noticeable to the user.

[0089] In other cases, characteristics of the given IMSI used in the request may determine whether one or more further characteristics of the request can be used to determine whether to accept or reject the request. As noted above, it may be the case that the policy data 1704 specifies that a policy should apply to registration requests that include the given IMSI 1700.

[0090] Each of the plurality of registration records 1508A and 1508B can indicate a respective subscribed device associated with a respective one or more requested characteristics. For example, an indication of the requested characteristics for each request from a subscribed device may be stored in the storage device 104 when the device registers with the service, and an association to these requested characteristics may be included in each record 1508A and 1508B. If the plurality of registration records 1508A and 1508B indicate another subscribed device 706 using the given IMSI 1700, generating a result for the request 1404 can include processing the one or more requested characteristics associated with the request 1404 and each one or more requested characteristics associated with the other subscribed device 706.

[0091] For example, the request characteristics may include the date and / or time of the request 1404. In this case, processing the request characteristics may include determining how long ago another subscribed device 706 requested to register for service on the cellular network. If the other subscribed device 706 registered a long time ago, the result may be to accept the new request 1404 from the subscribed device 300 because the likelihood that the other subscribed device 706 is currently using the service on the cellular network may be reduced. If the other subscribed device 706 registered very recently, the request 1404 may be rejected. The threshold period for this determination is defined in or generated based on the policy data 1704 for a given IMSI 1700. For example, the policy data 1704 may specify different thresholds for different sets of IMSIs or different device types.

[0092] Other examples of request characteristics that may be used include an indication of the VLR 114 from which the request was received, an indication of the geographic location of the subscribing device 300 requesting service registration with the cellular network 104, the International Mobile Equipment Identity (IMEI) associated with the device 300, or an indication of the characteristics of the cellular network 104 to which the subscribing device 300 is requesting registration. Characteristics of the cellular network 104 may include characteristics of the network element, such as the type or generation of the network (e.g., 3G, 4G, or 5G) and / or whether the VLR is configured to signal the authentication request to the core network 118. These characteristics may be considered inherent characteristics of the request 1404. For example, these characteristics may be explicitly specified in the request or may be derivable from the routing of the request 1404, or the data included in the header of the request 1404, or the packet containing the request 1404.

[0093] In some examples, one or more request characteristics associated with the request 1404 from the subscribing device 300 can be compared with request characteristics associated with the other device 706 to identify one or more differences. A result for the request 1404 can be generated depending on the identified one or more differences. By comparing the request characteristics of the current request 1404 with the request characteristics associated with the other subscribing device 706, the method 1600 can enable a result to be determined that is sensitive to the likelihood that the two subscribing devices 300 and 706 are the same device. For example, if the subscribing device 300 and the other subscribing device 706 are both associated with the same IMEI, they are likely the same device, and accepting the request 1404 is unlikely to result in the other device losing service. The respective location, VLR, and network characteristics, in combination or alone, can indicate the likelihood that the subscribing devices 300 and 706 are the same device and therefore can be used to determine whether to accept the request 1404.

[0094] The policy data 1704 may represent a set of rules for requests that include a given IMSI 1700 that determine the weighting to apply to each of the request characteristics when determining whether to accept the request. For example, the policy data 1704 may specify that an IMEI comparison should be weighted more heavily than a geographic location comparison. In some cases, some of these request characteristics may not be available for comparison, in which case they will receive a weighting of zero.

[0095] In the above example, generating 1606 a result for the request is based on the likelihood that the two subscribing devices 300 and 706 are the same device, which may be determined from the characteristics of their respective requests. However, in other examples, generating 1606 a result may be based on the likelihood that two devices registered for service using the same IMSI will cause a collision. For example, if the two subscribing devices are in different geographic locations, communicate with different VLRs, and are located on different network types (e.g., one in a 3G network and the other in a 4G network), and one of the VLRs is not configured to signal an authentication request to the core network 118 when it has a cached authentication vector, it may be possible for the other subscribing device 1704 to accept the request 1404 without losing service. For example, if the device 300 and the other device 706 are both stationary appliances with cellular capabilities, they may be unlikely to move between networks or to move to the same network. Also, if the respective VLRs are not configured to signal the carrier core network 118 when they have the same cached authentication vector, the likelihood of a collision is reduced.

[0096] If the result of the request includes accepting the request 1404, the method 1600 may include storing a new registration record in the database 1506 indicating that the registered subscribing device 300 is registered for service with the cellular network using the predetermined IMSI 1700.

[0097] When this new registration record is stored in database 1506, it may be associated with one or more request characteristics of request 1404. This may include storing the request characteristics in database 1506, storing a portion of the request characteristics in database 1506, or storing an index in database 1506 by which the request characteristics can be identified or searched for. If joining device 300 and the other joining devices 706 are different joining devices, the one or more request characteristics associated with the new registration record may indicate that joining device 300 is different from the other joining devices 706.

[0098] If the two devices cannot register for service using the same IMSI, the method 1600 may include modifying the plurality of registration records 1508A and 1508B to remove indication that the other subscribing device 706 is registered for service with the cellular network 706 using the given IMSI 1700. In some cases, the method 1600 may include sending a message to the other subscribing device 706 indicating that the other subscribing device 706 has been deregistered.

[0099] Generating 1606 a result for the request 1404 may also be based on IMSI usage statistics 1706. For example, the IMSI usage statistics 1706 may be obtained from the connectivity test server 702 based on the registration request tracking data 902 from one or more devices. These IMSI usage statistics 1706 may include an indication of how frequently an IMSI is selected, the failure or success rate of attach requests including a particular IMSI, and / or the frequency of loss of service for subscribed devices 300. Generating 1606 a result may include modifying the result of the comparison between the request characteristics based on the IMSI usage statistics 1706. If a given IMSI 1700 is used very frequently in registration request procedures, an accept result for the request 1404 may be deprioritized in an attempt to reduce the frequency with which subscribed devices using the given IMSI 1700 lose service. Conversely, if a given IMSI is rarely used in registration request procedures 500, a reject request result may be deprioritized.

[0100] The IMSI usage statistics 1706 may be time-dependent, such that they change over time, and may affect the generation of the result 1606 in different ways at different times. In this manner, the core network 118 and the decision to accept or reject the request 1404 may be dynamic and may change over time based on the conditions of the cellular network 114. This allows the method 1600 to coordinate the services provided to multiple subscribed devices 300 and 706, thereby managing trade-offs and balancing network performance. This allows the method 1600 to mitigate the frequency with which a subscribed device 706 loses service when another device 300 attempts to register for service with the same IMSI, while simultaneously increasing the average rate at which the device 300 can register for service. While the IMSI usage statistics 1706 may be taken into account when generating the result request 1606, they may alternatively or additionally be used to directly modify the policy data 1704, for example, by modifying weightings associated with different request characteristics, defining specific results for some IMSIs based on their usage in the network, etc.

[0101] The policy data 1704 may also define cleanup rules, or policies, for the database 1506. For example, the policy data 1704 may specify the rate at which registration records 1508A and 1508B should be scrubbed, or deleted, from the database 1506. In some cases, the registration records 1508A and 1508B may be deleted from the database 1506 after a predetermined period of time. This allows a device 706 using the IMSI to potentially re-register with the service, but also frees up the IMSI for use by another device 300. Different predetermined periods may be defined for different IMSIs, and these periods may be configurable based, for example, on IMSI usage statistics 1706.

[0102] 18 illustrates a non-transitory computer-readable storage medium 1800 including a set of computer-executable instructions 1802-1812 that, when executed by a processor 1814, causes the processor to perform a method 1600 for managing requests to register subscribing devices for service with one or more cellular networks, as described with respect to FIGS. 14-17. Various examples and modifications of the method 1600 described above may also be applied to the instructions 1802-1812 when executed by the processor 1814. The storage medium 1800 in this case may include multiple separate storage media communicatively coupled to or included in different computing devices within the core network 118 configured to perform the method 1600, for example.

[0103] The above-described embodiments should be understood as illustrative examples of the present invention. Further embodiments of the present invention are contemplated. For example, while subscribing devices 300 and 706 have been shown as being within visited network 104, they may also be located within carrier core network 118. In this case, certain required characteristics may not be available or relevant. It should be understood that any feature described in connection with any one embodiment may be used alone or in combination with other described features, and may also be used in combination with any other one or more features of the embodiment, or any other combination of the embodiments. Furthermore, equivalents and modifications not described above may also be used without departing from the scope of the present invention, as defined in the appended claims.

Claims

1. 1. A computer-implemented method for managing requests to register subscribing devices for service with one or more cellular networks, the computer-implemented method comprising: storing data representing a plurality of registration records of subscribing devices, each of the plurality of registration records indicating a respective subscribing device registered for service with a respective one of the one or more cellular networks using a respective International Mobile Subscriber Identity (IMSI); receiving a request to register a subscribing device for service with a cellular network, the request including at least a predetermined IMSI and associated with one or more request characteristics; generating a result for said request, said result comprising: whether the plurality of registration records indicate another subscribing device registered for service with a cellular network of the one or more cellular networks using the given IMSI; and if the plurality of registration records indicate another subscribed device using the given IMSI, then generating a registration record based on at least one of the one or more request characteristics associated with the request; sending a response to the request, the response indicating the result.

2. The computer-implemented method of claim 1 , wherein one or more of the request characteristics are specific to the request.

3. The computer-implemented method of claim 1 or claim 2, wherein one or more of the request characteristics are not inherent to the request.

4. The outcome is derived from a plurality of possible outcomes, the plurality of possible outcomes comprising at least: accepting said request; and and denying the request.

5. 10. The computer-implemented method of any preceding claim, wherein if the outcome of the request includes accepting the request, the computer-implemented method includes storing a new registration record indicating that the registered subscribing device is registered for service with the cellular network using the predetermined IMSI.

6. 6. The computer-implemented method of claim 5, wherein the new registration record is associated with the one or more required characteristics, and the one or more required characteristics indicate that the subscribed device is different from the other subscribed devices that use the given IMSI.

7. 7. The computer-implemented method of claim 5 or claim 6, wherein the computer-implemented method includes modifying the plurality of registration records to remove indications that the other subscribing device is registered for service with a cellular network of the one or more cellular networks using the predetermined IMSI.

8. The computer-implemented method of claim 7 , wherein the computer-implemented method includes sending a message to the other subscribing device, the message indicating that the other subscribing device has been unregistered.

9. 10. The computer-implemented method of claim 9, wherein the one or more requested characteristics associated with the request include characteristics of the predetermined IMSI.

10. 10. The computer-implemented method of claim 9, wherein the characteristics of the given IMSI include whether the IMSI is one of a set of IMSIs associated with a particular outcome when the plurality of subscription records indicate that another subscribed device is registered for service with a cellular network of the one or more cellular networks using the given IMSI.

11. 11. The computer-implemented method of claim 9 or 10, wherein if the plurality of registration records each indicate a respective subscribed device associated with a respective one or more desired characteristics, and the plurality of registration records indicate the other subscribed devices using the given IMSI, generating the result for the request includes processing the one or more desired characteristics associated with the request and each one or more desired characteristics associated with the other subscribed devices.

12. processing the request characteristics associated with the request and the respective request characteristics associated with the other subscribing devices; comparing the request characteristics associated with the request with the request characteristics associated with the other subscribed devices to identify one or more differences; and generating the result for the request dependent on the identified one or more differences.

13. The required characteristics are: indicating the visitor location register (VLR) that received the request; indicating a geographic location of the subscribing device requesting service registration with a cellular network; and displaying characteristics of the cellular network to which the subscribing device is requesting registration.

14. 1. A computer system for managing cellular network registration of a subscribing device, the computer system comprising: one or more processors; a storage device, the storage device comprising: a database including a plurality of registration records for subscribed devices, each of the plurality of registration records indicating a respective subscribed device that is registered for service with a respective cellular network of the one or more cellular networks using a respective International Mobile Subscriber Identity (IMSI); and computer-executable instructions that, when executed by the one or more processors, cause the computer system to: receiving a request to register a subscribing device for service with a cellular network, the request including at least a predetermined IMSI and associated with one or more request characteristics; generating a result for said request, said result comprising: whether the plurality of registration records indicate another subscribing device registered for service with a cellular network of the one or more cellular networks using the given IMSI; and if the plurality of registration records indicate another subscribed device using the given IMSI, based on at least one of the one or more requested characteristics associated with the request; A computer system causing a response to said request to be sent, said response indicating said result.

15. The database comprises: a home subscriber server; Home Location Register, 15. The computer system of claim 14, implemented using any one or more of:

16. 16. The computer system of claim 14 or claim 15, wherein one or more of the request characteristics are specific to the request.

17. The computer system of any one of claims 14 to 16, wherein one or more of the request characteristics are not inherent to the request.

18. The computer system of any one of claims 14 to 17, wherein the cellular network to which the subscribing device is requesting service registration is the home network of the subscribing device.

19. 19. The computer system of claim 14, wherein the cellular network to which the subscribing device is requesting registration is a visited cellular network, and obtaining the request comprises receiving the request from a visitor location register in the visited cellular network.

20. 20. The computer system of any one of claims 14 to 19, wherein the database includes data associating each of the plurality of enrollment records with one or more respective desired characteristics.

21. The one or more desired characteristics are: displaying a respective visitor location register in which said respective subscribing device is registered or requesting registration; displaying a geographic location in which each of said participating devices is located; and and displaying characteristics of the cellular network to which the respective subscribing device is registered or seeking registration.

22. A non-transitory computer-readable storage medium containing computer-executable instructions that, when executed by one or more processors, cause the processors to: storing data representing a plurality of registration records for subscribing devices, each of the plurality of registration records indicating that a respective subscribing device is registered for service with a respective one of the one or more cellular networks using an International Mobile Subscriber Identity (IMSI); receiving a request to register a subscribing device for service with a cellular network, the request including at least a predetermined IMSI and associated with one or more requested characteristics; generating a result for said request, said result comprising: whether the plurality of registration records indicate another subscribing device registered for service with a cellular network of the one or more cellular networks using the given IMSI; and if the plurality of registration records indicate another subscribed device using the given IMSI, then the plurality of registration records are generated dependent on at least one of the one or more required characteristics; A non-transitory computer-readable storage medium that causes a response to the request to be sent, the response indicating the result.