US20210377808A1 - Internet of Things (IoT) Devices Wireless Communication Service Management Platform - Google Patents
Internet of Things (IoT) Devices Wireless Communication Service Management Platform Download PDFInfo
- Publication number
- US20210377808A1 US20210377808A1 US16/886,521 US202016886521A US2021377808A1 US 20210377808 A1 US20210377808 A1 US 20210377808A1 US 202016886521 A US202016886521 A US 202016886521A US 2021377808 A1 US2021377808 A1 US 2021377808A1
- Authority
- US
- United States
- Prior art keywords
- iot devices
- wireless communication
- iot
- communication service
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/24—Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H04L47/14—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0268—Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
- H04W8/205—Transfer to or from user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
- H04W12/42—Security arrangements using identity modules using virtual identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
Definitions
- Wireless communication devices may complete an authentication process with a cell site to obtain a wireless communication link from the cell site and access to the radio access network that the cell site is a part of. This may involve the wireless communication device radio transceiver obtaining network access keys or network access credentials from a subscriber identity module (SIM) and providing those network access keys or network access credentials to the cell site.
- SIM subscriber identity module
- the SIM may be a smart card that comprises memory and a processor. SIM cards may be removable in some circumstances, for example in traditional mobile phones. By removing a first SIM card and installing a second SIM card in a mobile phone, a user may change his or her service provider network.
- Removable SIM cards may not be provided in some wireless communication devices, where the role of the SIM card is instead performed by an embedded universal integrated circuit card (eUICC) that may be provisioned with network access keys and/or network access credentials, one or more access point names (APNs), a preferred roaming list (PRL), branding information, applications, and other data artifacts.
- eUICC embedded universal integrated circuit card
- the radio transceiver may then obtain the network access keys or network access credentials from the eUICC and provide those network access keys or network access credentials to the cell site to obtain a wireless communication link.
- an Internet of things (IoT) devices wireless communication service enablement platform comprises a non-transitory memory, a processor, and an IoT devices wireless communication service enablement application stored in the non-transitory memory.
- IoT devices wireless communication service enablement platform comprises a non-transitory memory, a processor, and an IoT devices wireless communication service enablement application stored in the non-transitory memory.
- the IoT devices wireless communication service enablement application receives a rule set for enabling wireless communication service for a plurality of IoT devices, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices, receives a message from one of the IoT devices, where the message comprises information about a communication context of the IoT device, and receives a message from the one of the IoT devices, where the message comprises one of the service codes.
- QoS wireless communication quality of service
- the IoT devices wireless communication service enablement application further identifies a QoS level in the rule set that matches the service code received from the one of the IoT devices, determines an eSIM profile based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices, and sends a command to activate the eSIM profile to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive wireless communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
- a method of enabling wireless communication service delivery to Internet of things (IoT) devices comprises receiving a rule set for enabling wireless communication service for a plurality of IoT devices by an IoT devices wireless communication service enablement application executing on a computer system, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices and receiving a message by the IoT devices wireless communication service enablement application from one of the IoT devices, where the message comprises one of the service codes.
- QoS wireless communication quality of service
- the method further comprises identifying by the IoT devices wireless communication service enablement application a QoS level in the rule set that matches the service code received from the one of the IoT devices, determining an eSIM profile by the IoT devices wireless communication service enablement application based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices, and sending a command to activate the eSIM profile by the IoT devices wireless communication service enablement application to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
- an Internet of things (IoT) devices wireless communication service enablement platform comprises a non-transitory memory, a processor, and an IoT devices wireless communication service enablement application stored in the non-transitory memory.
- IoT devices wireless communication service enablement platform comprises a non-transitory memory, a processor, and an IoT devices wireless communication service enablement application stored in the non-transitory memory.
- the IoT devices wireless communication service enablement application receives a rule set for enabling wireless communication service for a plurality of IoT devices, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices, receives a message from the one of the IoT devices, where the message comprises one of the service codes, and identifies a QoS level in the rule set that matches the service code received from the one of the IoT devices.
- QoS wireless communication quality of service
- the IoT devices wireless communication service enablement application further monitors the location of the one of the IoT devices, builds an eSIM profile based on the location of the one of the IoT devices and based on the QoS level that matches the service code received from the one of the IoT devices, and sends the eSIM profile to the one of the IoT devices.
- FIG. 1 is a block diagram of a communication system according to an embodiment of the disclosure.
- FIG. 2 is an illustration of a rule set according to an embodiment of the disclosure.
- FIG. 3 is a flow chart of a method according to an embodiment of the disclosure.
- FIG. 4 is a block diagram of a computer system according to an embodiment of the disclosure.
- An IoT device may be a wireless communication module that can be installed into another system or mounted to another system.
- the IoT device may communicate with the system it is installed in, for example to send commands to the system and/or to collect data from the system and send the collected data to a data store or terminal via the wireless network.
- the IoT device may not communicate with the system but simply track and report a location of the system it is attached to, for example a shipping container.
- the present disclosure teaches an Internet of things (IoT) devices wireless communication service management platform that is used to manage wireless communication service of IoT devices on behalf of an owner of the IoT devices.
- the platform may also be referred to as an IoT devices wireless communication service enabler platform.
- the owner of the IoT devices engages the service enabler to provide wireless communication service to the owner's IoT devices.
- the service enabler uses the IoT devices wireless communication service enabler platform to manage and provide appropriate wireless communication service coverage for the IoT devices as their context changes. This may involve the IoT devices moving across national boundaries and coming into and out of the service areas of different mobile network operators.
- the service enabler platform can migrate profiles (e.g., eSIM profiles) of the IoT devices transparently to the owner of the IoT devices.
- the service enabler platform automatically monitors the context of the IoT devices and commands them to activate a different eSIM profile as needed. This may involve commanding an IoT device to use a different international mobile subscriber identity (IMSI: a kind of phone number) in some cases.
- IMSI international mobile subscriber identity
- the IoT devices may transmit context data updates to the IoT devices wireless communication service enabler platform for use in deciding what eSIM profile to activate on the IoT devices.
- the service enabler platform may proactively uninstall a first plurality of eSIM profiles from an IoT device and install a second plurality of eSIM profiles into the IoT device prospectively, conjecturing that the IoT device will soon desirably be commanded to activate one of this second plurality of eSIM profiles.
- the service enabler platform may build a first eSIM profile having a first IMSI, provide the first eSIM profile to a first IoT device entering the service area of the first MNO, and make the first eSIM profile active on the first IoT device, thereby enabling the first IoT device to communicate at least in part based on the first IMSI in the service area of the first MNO.
- the service enabler platform may build a second eSIM profile having a second IMSI associated with a second MNO, provide the second eSIM profile to the first IoT device entering the service area of the second MNO, and make the second eSIM profile active on the first IoT device, thereby enabling the first IoT device to communicate at least in part based on the second IMSI in the service area of the second MNO.
- the service enabler platform may build a third eSIM profile having the first IMSI (e.g., reusing the first IMSI), provide the third eSIM profile to a second IoT device entering the service area of the first MNO, and make the third eSIM profile active on the second device, thereby enabling the second IoT device to communicate at least in part based on the first IMSI in the service area of the first MNO.
- the service enabler can maintain a pool of subscriptions in a plurality of different MNO service areas and share the wireless communication coverage among a plurality of IoT devices that may belong to a plurality of different owners. This can create efficiencies for the IoT owners who might otherwise be obliged to maintain an excess pool of subscriptions.
- IoT device owners may use an interface provided by the service enabler platform to define rule sets for providing appropriate communication services to the IoT devices.
- Each different IoT device owner may define its own rule set or even a plurality of different rule sets.
- the IoT device owner When registering IoT devices with the service enabler platform, the IoT device owner indicates what rule set pertains to each of the IoT devices.
- the service enabler platform then enables wireless communication service for the IoT devices in accordance with the rules.
- a rule in a rule set may define a correspondence between a service code and a quality of service (QoS) level.
- the IoT device may communicate with the service enabler platform and send a service code based on a current desired communication function.
- the service enabler platform may then look up the QoS level that matches to the specified service code in the rule set to which the subject IoT device is associated.
- the service enabler platform may then determine what eSIM profile would provide the designated QoS level to the IoT device, build the eSIM profile, send the eSIM profile to the IoT device, and command the IoT device to activate the eSIM profile.
- the IoT devices wireless communication service enabler may not send the eSIM profile but simply command the IoT device to make the subject eSIM profile active.
- the IoT devices may collect data on their communication environment or communication context and transmit that data to the service enabler platform.
- the communication context data may include a location of the IoT device.
- the communication context data may include identities of MNO coverages detected.
- the communication context data may include signal strength of MNO coverages detected.
- the communication context data may include weather information, for example precipitation information.
- the service enabler platform may determine the content of eSIM profiles that it builds in part based on the QoS level requested by the IoT devices as well as in part based on the reports of the communication contexts of the IoT devices.
- the IoT devices wireless communication service management platform may be used by a third party to provide a service offering to IoT devices owners, such as an enterprise that uses IoT devices in conducting its business.
- the IoT devices wireless communication service management platform may be used by a mobile network operator to manage IoT wireless communication connectivity on behalf of its subscriber customers.
- the IoT devices wireless communication service management platform may be used by an owner of IoT devices, for example an enterprise, to manage the wireless communication connectivity of its own IoT devices.
- the service enabler spoken of above may be an employee, a contractor, or team associated with a third party services company, a MNO, or an enterprise.
- the system 100 comprises an Internet of things (IoT) device wireless communication module (henceforth an IoT device) 102 that comprises a processor 104 , a memory 106 , an embedded universal integrated circuit card (eUICC) 108 , and a cellular radio transceiver 110 .
- the IoT device 102 may establish a wireless communication link with a cell site 112 according to a 5G, a long term evolution (LTE), a code division multiple access (CDMA), or a global system for mobile communications (GSM) telecommunication protocol.
- LTE long term evolution
- CDMA code division multiple access
- GSM global system for mobile communications
- the cell site 112 may communicatively link the IoT device 102 to a network 114 and via the network 114 to a monitoring system 115 .
- the system 100 may comprise any number of IoT devices 102 , any number of cell sites 112 , and any number of monitoring systems 115 .
- the network 114 comprises one or more private networks, one or more public networks, or a combination thereof.
- the IoT device 102 may be associated with another object such as an appliance, a container, a vehicle, a parcel, or other object.
- the IoT device 102 may interact with the object to which it is associated in various ways. It can provide commands or configuration data to the object, for example commands or configuration data sent to the IoT device 102 by a monitoring system 115 to which the IoT device 102 is associated.
- the monitoring systems 115 may be implemented as a computer. Computer systems are described further hereinafter.
- the IoT device 102 can provide reporting data from the object to which it is associated back to the monitoring system 115 to which it is associated. This may permit an owner of the IoT devices 102 and of the objects to which the IoT devices 102 are associated to monitor and/or control the objects. It is understood that the IoT devices 102 may be owned by a variety of different and possibly unaffiliated owners and/or businesses. Each owner of IoT devices 102 may operate their own independent monitoring system 115 whereby to monitor and control their own IoT devices 102 and the objects to which they are associated. The monitoring and controlling of the IoT devices 102 and/or the objects to which they are associated may be thought of as an application layer functionality that is carried out on top of or by virtue of the communication layers under that application layer functionality.
- the system 100 further comprises an IoT devices wireless communication service enablement platform (henceforth service enablement platform) 116 communicatively coupled to the network 114 that executes an IoT devices wireless communication service enablement application (henceforth service enablement application) 118 .
- the service enablement platform 116 may be implemented by a computer. Computer systems are described further hereinafter.
- the service enablement application 118 interworks with the IoT devices 102 to enable the IoT devices 102 to obtain wireless communication service from the cell sites 112 .
- the service enablement application 118 may accomplish this, for example, by commanding one of the IoT devices 102 to activate an eSIM profile 120 that is already stored in the eUICC 108 of the subject IoT device 102 , where the eSIM profile 120 is selected based on a current communication context of the IoT device 102 .
- the service enablement application may enable the IoT device 102 to obtain wireless communication service from the cell sites 112 by building an eSIM profile 120 , sending the eSIM profile 120 to the IoT device 102 , and commanding the IoT device 102 to store and to make the subject eSIM profile 120 active in its eUICC 108 .
- the system 100 may further comprise a plurality of workstations 126 .
- the workstations 126 may be desktop computers, laptop computers, notebook computers, tablet computers, a combination of these different kinds of computers, or another kind of computer.
- the workstations 126 are able to communicate via the network 114 to the service enablement application 118 and to present a user interface provided by the service enablement application 118 to a human user of the workstation 126 .
- the workstations 126 are able through this user interface to register IoT devices 102 with the service enablement platform 116 and to define wireless communication service enablement rules. These rules identify the wireless communication service that the owner of the IoT devices 102 want their IoT devices 102 to receive from the cell sites 112 .
- the mobile network operators (MNOs) who own the cell sites 112 providing wireless communication service coverage to the IoT device 102 may change. Said in other words, as the IoT device 102 and the object to which it is associated move about, the IoT device 102 may leave the service area of a first MNO and enter the service area of a second and different MNO. In this case, to receive service from the second MNO, the IoT device 102 may need to activate a different eSIM profile 120 stored in its eUICC 108 and/or download a different eSIM profile 120 , store it in the eUICC 108 , and make that downloaded eSIM profile 120 active.
- MNOs mobile network operators
- the service enablement application 118 may monitor the location of the IoT devices 102 , determine when an IoT device 102 is leaving a coverage area of a first MNO and entering the coverage area of a second MNO, and command the IoT device 102 to deactivate an eSIM profile 120 associated with the first MNO and activate an eSIM profile 120 associated with the second MNO.
- the eUICC 108 of the subject IoT device 102 may store a plurality of eSIM profiles 120 , and the service enablement application 118 only commands the IoT device 102 to swap the active eSIM profile 120 . In other circumstances, the eUICC 108 of the subject IoT device 102 does not store an eSIM profile 120 suitable for obtaining wireless communication service in the coverage area of the second MNO.
- the service enablement application 118 may build an eSIM profile 120 suitable for obtaining service in the coverage area of the second MNO, send the eSIM profile 120 it built to the IoT device 102 , command the IoT device 102 to store the eSIM profile 120 it built in the eUICC 108 of the IoT device 102 , and make the eSIM profile 120 it build active in the eUICC 108 .
- An eSIM profile 120 comprises one or more of radio access network access credentials, a phone number or an international mobile subscriber identity (IMSI), a preferred roaming list (PRL), one or more access point names (APNs), branding information, executable applications, and other data artifacts.
- An eSIM profile adapter application 128 of the IoT device 102 may moderate the downloading of eSIM profiles 120 into the eUICC 108 and deleting disused eSIM profiles 120 out of the eUICC 108 .
- the ESIM profile adapter application 128 may provide data from the active eSIM profile 120 to the cellular radio transceiver 110 on request, for example when the cellular radio transceiver 110 and/or a radio modem of the cellular radio transceiver 110 reboots or powers on.
- the cellular radio transceiver 110 may use the phone number/IMSI, the network access credentials, the APNs, and the PRL to obtain a wireless communication link with the cell sites 112 .
- the rule set 122 comprises a plurality of rules that define for the service enablement application 118 the wireless communication service desired by the owner of one or more IoT devices 102 .
- the rule set 122 may be associated with a defined set of IoT devices 102 , for example a list 170 of identities of IoT devices 102 .
- the list 170 may comprise a first IoT device identity 172 , a second IoT device identity 174 , and a third IoT device identity 176 . It is understood that the list 170 may comprise any number of identities of IoT devices 102 .
- the identity of IoT devices may be specified by a mobile equipment identity (MEID), by an electronic serial number (ESN), by an embedded universal integrated circuit card identity (EID), or by another identity.
- the rules may be defined in any way.
- the rules may define a communication profile or communication policy to be provided for all the IoT devices 102 associated with the subject rule set 122 .
- the rules comprise associations of service codes to quality of service (QoS) levels.
- QoS quality of service
- a first rule 140 associates a first service code 142 to a first QoS level 144
- a second rule 150 associations a second service code 152 to a second QoS level 154
- a third rule 160 associates a third service code 162 to a third QoS level 164 .
- the rule set 122 may comprise any number of different rules.
- QoS levels may define a minimum data throughput rate supported by the QoS level.
- QoS levels may define a priority of access supported by the QoS level.
- QoS levels may define a reliability supported by the QoS level.
- QoS levels may define a maximum jitter supported by the QoS level.
- QoS levels may define a maximum latency supported by the QoS level.
- QoS levels may define network services supported by the QoS level.
- QoS levels may define an asymmetrical data throughput service such as high uplink data flow rate and low downlink data flow rate or low uplink data flow rate and high downlink data flow rate.
- the IoT device 102 may collect and monitor a communication environment of the IoT device 102 .
- Information about the communication environment may comprise a location of the IoT device, identities of cell sites 112 that the cellular radio transceiver 110 detects, signal strengths of the detected cell sites, weather conditions such as precipitation.
- the IoT device 102 may send the information about the communication environment of the IoT device 102 to the service enablement application 118 .
- the service enablement application 118 can use the information about the communication environment of the IoT device 102 to determine what eSIM profile 120 the IoT device 102 ought to make active. For example, the location of the IoT device 102 may be used by the service enablement application 118 to determine that the IoT device 102 is leaving the service area of a first MNO and is entering the service area of a second MNO, and hence the service enablement application 118 may send a new eSIM profile 120 to the IoT device 102 to store in its eUICC 108 and to activate, whereby the IoT device 102 is enabled to obtain wireless communication service in the service area of the second MNO.
- the IoT device 102 may monitor its own location and determine a service code that corresponds to its current wireless communication service needs. For example, an IoT device 102 coupled to a container on a container ship in the middle of the Atlantic Ocean may not desire to communicate often or at a high data throughput rate with a monitoring station 115 associated with the IoT device 102 . This same IoT device 102 , when the container ship is 15 miles from the destination port of the container, may desire to communicate with high priority at a high data throughput rate. The IoT device 102 can transmit a service code that it has selected to the service enablement application 118 .
- the service enablement application 118 can map this service code, based on the rules set 122 applicable to that IoT device 102 based on the identity of that IoT device 102 , and select an eSIM profile 120 that can provide the QoS level to which the service code transmitted by the IoT device 102 matches. If the subject eSIM profile 120 is stored in the eUICC 108 of the IoT device 102 , the service enablement application 118 may command the IoT device 102 to activate that eSIM profile 120 .
- the service enablement application 118 may build a suitable eSIM profile 120 , based on the QoS level that matches the service code sent by the IoT device 102 , send the eSIM profile 120 it built to the IoT device 102 , and command the IoT device 102 to store the eSIM profile 120 it built in the eUICC 108 and make the eSIM profile 120 it built active.
- the service enablement application 118 may be provided a travel itinerary of the IoT device 102 , for example by the workstation 126 at the same time it provides the rule set 122 .
- the service enablement application 118 may analyze the travel itinerary of the IoT device 102 and preload a plurality of suitable eSIM profiles 120 into the eUICC 108 of the IoT device 102 .
- the preloading of eSIM profiles 120 by the service enablement application 118 to the eUICC 108 of the IoT device 102 can be done at a time when the IoT device 102 has network connectivity (cellular wireless coverage, WiFi wireless coverage, or other wireless coverage) available, thereby avoiding the eventuality that when the IoT device 102 might desirably be provided with a different eSIM profile 120 at its time of need it cannot be received due to a lack of wireless connectivity.
- network connectivity cellular wireless coverage, WiFi wireless coverage, or other wireless coverage
- the service enablement application 118 may still be able to push through a command to the IoT device 102 to switch to a different preloaded eSIM profile 120 , although wireless connectivity is poor, because the eSIM switch command message may be relatively small in comparison to the size of the eSIM profile 120 itself.
- the eSIM profile adapter 128 may itself select an eSIM profile 120 and activate it based on a service code it has generated.
- the service enablement application 118 may associate a service code with each of the different eSIM profiles 120 that it preloads in the eUICC 108 .
- the service enablement application 118 may analyze the information received from the IoT device 102 about its communication environment in order to determine the contents of the eSIM profile 120 that will provide the QoS level designated by the service code sent by the IoT device 102 . Providing the same QoS level in different communication environments may entail different eSIM profiles 120 . This may be because the different MNOs have different communication services, different reliability levels, and/or different coverages.
- the IoT device 102 may be addressed using a phone number or international mobile subscriber identity (IMSI). These numbers are a limited resource.
- the service enablement application 118 may maintain a plurality of wireless communication service subscription accounts with each of a plurality of MNOs. As one of the IoT devices 102 supported by the service enablement application 118 enters the service area of a first MNO, the service enablement application 118 may build a first eSIM profile comprising a first IMSI associated with the first MNO.
- the first IMSI may be one of 100 IMSIs associated with 100 different subscription accounts the service enablement application 118 maintains with the first MNO.
- the service enablement application 118 may send the first eSIM profile 120 comprising the first IMSI to the IoT device 102 and command it to store the first eSIM profile 120 in its eUICC 108 and to activate the first eSIM profile 120 . Later, as the IoT device 102 is leaving the service area of the first MNO, the service enablement application 118 may build a second eSIM profile comprising a second IMSI associated with the second MNO.
- the second IMSI may be one of 87 IMSIs associated with 87 different subscription accounts the service enablement application 118 maintains with the second MNO.
- the service enablement application 118 may send the second eSIM profile 120 comprising the second IMSI to the IoT device 102 and command it to store the second eSIM profile 120 in its eUICC 108 and to activate the second eSIM profile 120 .
- the service enablement application 118 can recover and reuse the first IMSI associated with the first MNO for use with a different IoT device 102 that may be entering the service area of the first MNO.
- the service enablement application 118 may maintain a set of aliases in the data store 124 that associates identities of IoT devices 102 to an IMSI currently associated to each of the IoT devices 102 .
- the service enablement application 118 destroys an entry in the aliases 130 that associates the identity of the subject IoT device 102 with another IMSI and creates an entry associating the identity of the subject IoT device 102 with the first IMSI.
- the service enablement application 118 simply updates the previous entry for the identity of the IoT device 102 to associate that identity to the first IMSI.
- the service enablement application 118 may replace or update the entry in the aliases associated with the identity of the subject IoT device 102 , to then associate the identity of the subject IoT device 102 to the second IMSI.
- the service enablement application uses the unchanging identity of the IoT device 102 to look up the IMSI temporarily assigned to the IoT device 102 , and then uses the IMSI to communicate with the IoT device 102 .
- the service enablement application 118 provides an API to the monitoring systems 115 to obtain the current IMSI of IoT devices 102 whereby the monitoring systems 115 are able to communicate with its IoT devices 102 as their IMSIs change over time.
- the method 200 is a method of enabling wireless communication service delivery to Internet of things (IoT) devices.
- the method 200 comprises receiving a rule set for enabling wireless communication service for a plurality of IoT devices by an IoT devices wireless communication service enablement application executing on a computer system, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices.
- QoS wireless communication quality of service
- the method 200 comprises receiving a message by the IoT devices wireless communication service enablement application from one of the IoT devices, where the message comprises one of the service codes.
- the method 200 comprises identifying by the IoT devices wireless communication service enablement application a QoS level in the rule set that matches the service code received from the one of the IoT devices.
- the method 200 comprises determining an eSIM profile by the IoT devices wireless communication service enablement application based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices.
- the method 200 comprises sending a command to activate the eSIM profile by the IoT devices wireless communication service enablement application to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
- FIG. 4 illustrates a computer system 380 suitable for implementing one or more embodiments disclosed herein.
- the computer system 380 includes a processor 382 (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage 384 , read only memory (ROM) 386 , random access memory (RAM) 388 , input/output (I/O) devices 390 , and network connectivity devices 392 .
- the processor 382 may be implemented as one or more CPU chips.
- a design that is still subject to frequent change may be preferred to be implemented in software, because re-spinning a hardware implementation is more expensive than re-spinning a software design.
- a design that is stable that will be produced in large volume may be preferred to be implemented in hardware, for example in an application specific integrated circuit (ASIC), because for large production runs the hardware implementation may be less expensive than the software implementation.
- ASIC application specific integrated circuit
- a design may be developed and tested in a software form and later transformed, by well-known design rules, to an equivalent hardware implementation in an application specific integrated circuit that hardwires the instructions of the software.
- a machine controlled by a new ASIC is a particular machine or apparatus, likewise a computer that has been programmed and/or loaded with executable instructions may be viewed as a particular machine or apparatus.
- the CPU 382 may execute a computer program or application.
- the CPU 382 may execute software or firmware stored in the ROM 386 or stored in the RAM 388 .
- the CPU 382 may copy the application or portions of the application from the secondary storage 384 to the RAM 388 or to memory space within the CPU 382 itself, and the CPU 382 may then execute instructions that the application is comprised of.
- the CPU 382 may copy the application or portions of the application from memory accessed via the network connectivity devices 392 or via the I/O devices 390 to the RAM 388 or to memory space within the CPU 382 , and the CPU 382 may then execute instructions that the application is comprised of.
- an application may load instructions into the CPU 382 , for example load some of the instructions of the application into a cache of the CPU 382 .
- an application that is executed may be said to configure the CPU 382 to do something, e.g., to configure the CPU 382 to perform the function or functions promoted by the subject application.
- the CPU 382 becomes a specific purpose computer or a specific purpose machine.
- the secondary storage 384 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 388 is not large enough to hold all working data. Secondary storage 384 may be used to store programs which are loaded into RAM 388 when such programs are selected for execution.
- the ROM 386 is used to store instructions and perhaps data which are read during program execution. ROM 386 is a non-volatile memory device which typically has a small memory capacity relative to the larger memory capacity of secondary storage 384 .
- the RAM 388 is used to store volatile data and perhaps to store instructions. Access to both ROM 386 and RAM 388 is typically faster than to secondary storage 384 .
- the secondary storage 384 , the RAM 388 , and/or the ROM 386 may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media.
- I/O devices 390 may include printers, video monitors, liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices.
- LCDs liquid crystal displays
- touch screen displays keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices.
- the network connectivity devices 392 may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards, and/or other well-known network devices.
- the network connectivity devices 392 may provide wired communication links and/or wireless communication links (e.g., a first network connectivity device 392 may provide a wired communication link and a second network connectivity device 392 may provide a wireless communication link). Wired communication links may be provided in accordance with Ethernet (IEEE 802.3), Internet protocol (IP), time division multiplex (TDM), data over cable service interface specification (DOCSIS), wavelength division multiplexing (WDM), and/or the like.
- Ethernet IEEE 802.3
- IP Internet protocol
- TDM time division multiplex
- DOCSIS data over cable service interface specification
- WDM wavelength division multiplexing
- the radio transceiver cards may provide wireless communication links using protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), WiFi (IEEE 802.11), Bluetooth, Zigbee, narrowband Internet of things (NB IoT), near field communications (NFC), radio frequency identity (RFID).
- CDMA code division multiple access
- GSM global system for mobile communications
- LTE long-term evolution
- WiFi IEEE 802.11
- Bluetooth Zigbee
- NB IoT narrowband Internet of things
- NFC near field communications
- RFID radio frequency identity
- the radio transceiver cards may promote radio communications using 5G, 5G New Radio, or 5G LTE radio communication protocols.
- These network connectivity devices 392 may enable the processor 382 to communicate with the Internet or one or more intranets. With such a network connection, it is contemplated that the processor 382 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented
- Such information may be received from and outputted to the network, for example, in the form of a computer data baseband signal or signal embodied in a carrier wave.
- the baseband signal or signal embedded in the carrier wave may be generated according to several methods well-known to one skilled in the art.
- the baseband signal and/or signal embedded in the carrier wave may be referred to in some contexts as a transitory signal.
- the processor 382 executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 384 ), flash drive, ROM 386 , RAM 388 , or the network connectivity devices 392 . While only one processor 382 is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors.
- Instructions, codes, computer programs, scripts, and/or data that may be accessed from the secondary storage 384 for example, hard drives, floppy disks, optical disks, and/or other device, the ROM 386 , and/or the RAM 388 may be referred to in some contexts as non-transitory instructions and/or non-transitory information.
- the computer system 380 may comprise two or more computers in communication with each other that collaborate to perform a task.
- an application may be partitioned in such a way as to permit concurrent and/or parallel processing of the instructions of the application.
- the data processed by the application may be partitioned in such a way as to permit concurrent and/or parallel processing of different portions of a data set by the two or more computers.
- virtualization software may be employed by the computer system 380 to provide the functionality of a number of servers that is not directly bound to the number of computers in the computer system 380 .
- virtualization software may provide twenty virtual servers on four physical computers.
- Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources.
- Cloud computing may be supported, at least in part, by virtualization software.
- a cloud computing environment may be established by an enterprise and/or may be hired on an as-needed basis from a third party provider.
- Some cloud computing environments may comprise cloud computing resources owned and operated by the enterprise as well as cloud computing resources hired and/or leased from a third party provider.
- the computer program product may comprise one or more computer readable storage medium having computer usable program code embodied therein to implement the functionality disclosed above.
- the computer program product may comprise data structures, executable instructions, and other computer usable program code.
- the computer program product may be embodied in removable computer storage media and/or non-removable computer storage media.
- the removable computer readable storage medium may comprise, without limitation, a paper tape, a magnetic tape, magnetic disk, an optical disk, a solid state memory chip, for example analog magnetic tape, compact disk read only memory (CD-ROM) disks, floppy disks, jump drives, digital cards, multimedia cards, and others.
- the computer program product may be suitable for loading, by the computer system 380 , at least portions of the contents of the computer program product to the secondary storage 384 , to the ROM 386 , to the RAM 388 , and/or to other non-volatile memory and volatile memory of the computer system 380 .
- the processor 382 may process the executable instructions and/or data structures in part by directly accessing the computer program product, for example by reading from a CD-ROM disk inserted into a disk drive peripheral of the computer system 380 .
- the processor 382 may process the executable instructions and/or data structures by remotely accessing the computer program product, for example by downloading the executable instructions and/or data structures from a remote server through the network connectivity devices 392 .
- the computer program product may comprise instructions that promote the loading and/or copying of data, data structures, files, and/or executable instructions to the secondary storage 384 , to the ROM 386 , to the RAM 388 , and/or to other non-volatile memory and volatile memory of the computer system 380 .
- the secondary storage 384 , the ROM 386 , and the RAM 388 may be referred to as a non-transitory computer readable medium or a computer readable storage media.
- a dynamic RAM embodiment of the RAM 388 likewise, may be referred to as a non-transitory computer readable medium in that while the dynamic RAM receives electrical power and is operated in accordance with its design, for example during a period of time during which the computer system 380 is turned on and operational, the dynamic RAM stores information that is written to it.
- the processor 382 may comprise an internal RAM, an internal ROM, a cache memory, and/or other internal non-transitory storage blocks, sections, or components that may be referred to in some contexts as non-transitory computer readable media or computer readable storage media.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
An Internet of things (IoT) devices wireless communication service enablement platform. The platform comprises a memory, a processor, and an IoT devices wireless communication service enablement application stored in the memory. When executed by the processor, the application receives a rule set for enabling wireless communication service for a plurality of IoT devices, where the rule set associates service codes to quality of service (QoS) levels to be provided to the IoT devices, receives a message comprising a service code from the one of the IoT devices, identifies a QoS level in the rule set that matches the received service code, monitors the location of the one of the IoT devices, builds an eSIM profile based on the location of the one of the IoT devices and based on the QoS level that matches the received service code, and sends the eSIM profile to the one of the IoT devices.
Description
- None.
- Not applicable.
- Not applicable.
- Wireless communication devices may complete an authentication process with a cell site to obtain a wireless communication link from the cell site and access to the radio access network that the cell site is a part of. This may involve the wireless communication device radio transceiver obtaining network access keys or network access credentials from a subscriber identity module (SIM) and providing those network access keys or network access credentials to the cell site. The SIM may be a smart card that comprises memory and a processor. SIM cards may be removable in some circumstances, for example in traditional mobile phones. By removing a first SIM card and installing a second SIM card in a mobile phone, a user may change his or her service provider network. Removable SIM cards may not be provided in some wireless communication devices, where the role of the SIM card is instead performed by an embedded universal integrated circuit card (eUICC) that may be provisioned with network access keys and/or network access credentials, one or more access point names (APNs), a preferred roaming list (PRL), branding information, applications, and other data artifacts. The radio transceiver may then obtain the network access keys or network access credentials from the eUICC and provide those network access keys or network access credentials to the cell site to obtain a wireless communication link.
- In an embodiment, an Internet of things (IoT) devices wireless communication service enablement platform is disclosed. The IoT devices wireless communication service enablement platform comprises a non-transitory memory, a processor, and an IoT devices wireless communication service enablement application stored in the non-transitory memory. When executed by the processor, the IoT devices wireless communication service enablement application receives a rule set for enabling wireless communication service for a plurality of IoT devices, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices, receives a message from one of the IoT devices, where the message comprises information about a communication context of the IoT device, and receives a message from the one of the IoT devices, where the message comprises one of the service codes. The IoT devices wireless communication service enablement application further identifies a QoS level in the rule set that matches the service code received from the one of the IoT devices, determines an eSIM profile based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices, and sends a command to activate the eSIM profile to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive wireless communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
- In another embodiment, a method of enabling wireless communication service delivery to Internet of things (IoT) devices is disclosed. The method comprises receiving a rule set for enabling wireless communication service for a plurality of IoT devices by an IoT devices wireless communication service enablement application executing on a computer system, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices and receiving a message by the IoT devices wireless communication service enablement application from one of the IoT devices, where the message comprises one of the service codes. The method further comprises identifying by the IoT devices wireless communication service enablement application a QoS level in the rule set that matches the service code received from the one of the IoT devices, determining an eSIM profile by the IoT devices wireless communication service enablement application based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices, and sending a command to activate the eSIM profile by the IoT devices wireless communication service enablement application to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
- In yet another embodiment, an Internet of things (IoT) devices wireless communication service enablement platform is disclosed. The IoT devices wireless communication service enablement platform comprises a non-transitory memory, a processor, and an IoT devices wireless communication service enablement application stored in the non-transitory memory. When executed by the processor, the IoT devices wireless communication service enablement application receives a rule set for enabling wireless communication service for a plurality of IoT devices, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices, receives a message from the one of the IoT devices, where the message comprises one of the service codes, and identifies a QoS level in the rule set that matches the service code received from the one of the IoT devices. The IoT devices wireless communication service enablement application further monitors the location of the one of the IoT devices, builds an eSIM profile based on the location of the one of the IoT devices and based on the QoS level that matches the service code received from the one of the IoT devices, and sends the eSIM profile to the one of the IoT devices.
- These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
- For a more complete understanding of the present disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
-
FIG. 1 is a block diagram of a communication system according to an embodiment of the disclosure. -
FIG. 2 is an illustration of a rule set according to an embodiment of the disclosure. -
FIG. 3 is a flow chart of a method according to an embodiment of the disclosure. -
FIG. 4 is a block diagram of a computer system according to an embodiment of the disclosure. - It should be understood at the outset that although illustrative implementations of one or more embodiments are illustrated below, the disclosed systems and methods may be implemented using any number of techniques, whether currently known or not yet in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, but may be modified within the scope of the appended claims along with their full scope of equivalents.
- Internet of things (IoT) devices are expected to find widespread application in many different industries and ultimately may count tens of billions of devices. An IoT device may be a wireless communication module that can be installed into another system or mounted to another system. In some cases, the IoT device may communicate with the system it is installed in, for example to send commands to the system and/or to collect data from the system and send the collected data to a data store or terminal via the wireless network. In other cases, however, the IoT device may not communicate with the system but simply track and report a location of the system it is attached to, for example a shipping container. It is thought that some corporations may desire to reap the benefits of IoT devices without taking on the burden of managing the complexities of the wireless communication services of those IoT devices as the communication needs (e.g., quality of service (QoS level)) of these IoT devices change and as the IoT devices transition out of a wireless communication service area of a first mobile network operator (MNO) and into the wireless communication service area of a second MNO.
- The present disclosure teaches an Internet of things (IoT) devices wireless communication service management platform that is used to manage wireless communication service of IoT devices on behalf of an owner of the IoT devices. The platform may also be referred to as an IoT devices wireless communication service enabler platform. The owner of the IoT devices engages the service enabler to provide wireless communication service to the owner's IoT devices. The service enabler uses the IoT devices wireless communication service enabler platform to manage and provide appropriate wireless communication service coverage for the IoT devices as their context changes. This may involve the IoT devices moving across national boundaries and coming into and out of the service areas of different mobile network operators.
- The service enabler platform can migrate profiles (e.g., eSIM profiles) of the IoT devices transparently to the owner of the IoT devices. The service enabler platform automatically monitors the context of the IoT devices and commands them to activate a different eSIM profile as needed. This may involve commanding an IoT device to use a different international mobile subscriber identity (IMSI: a kind of phone number) in some cases. The IoT devices may transmit context data updates to the IoT devices wireless communication service enabler platform for use in deciding what eSIM profile to activate on the IoT devices. The service enabler platform may proactively uninstall a first plurality of eSIM profiles from an IoT device and install a second plurality of eSIM profiles into the IoT device prospectively, conjecturing that the IoT device will soon desirably be commanded to activate one of this second plurality of eSIM profiles.
- Because IMSIs are limited and anchored to a specific MNO, it may be desirable that the service enabler establish wireless communication subscriptions with MNOs in a plurality of different regions, where each subscription is associated with a unique IMSI. As different IoT devices enter and leave the service area of an MNO, the service enabler platform may build a first eSIM profile having a first IMSI, provide the first eSIM profile to a first IoT device entering the service area of the first MNO, and make the first eSIM profile active on the first IoT device, thereby enabling the first IoT device to communicate at least in part based on the first IMSI in the service area of the first MNO. As the first IoT device leaves the service area, the service enabler platform may build a second eSIM profile having a second IMSI associated with a second MNO, provide the second eSIM profile to the first IoT device entering the service area of the second MNO, and make the second eSIM profile active on the first IoT device, thereby enabling the first IoT device to communicate at least in part based on the second IMSI in the service area of the second MNO. The service enabler platform may build a third eSIM profile having the first IMSI (e.g., reusing the first IMSI), provide the third eSIM profile to a second IoT device entering the service area of the first MNO, and make the third eSIM profile active on the second device, thereby enabling the second IoT device to communicate at least in part based on the first IMSI in the service area of the first MNO. In this way the service enabler can maintain a pool of subscriptions in a plurality of different MNO service areas and share the wireless communication coverage among a plurality of IoT devices that may belong to a plurality of different owners. This can create efficiencies for the IoT owners who might otherwise be obliged to maintain an excess pool of subscriptions.
- In an embodiment, IoT device owners may use an interface provided by the service enabler platform to define rule sets for providing appropriate communication services to the IoT devices. Each different IoT device owner may define its own rule set or even a plurality of different rule sets. When registering IoT devices with the service enabler platform, the IoT device owner indicates what rule set pertains to each of the IoT devices. The service enabler platform then enables wireless communication service for the IoT devices in accordance with the rules.
- A rule in a rule set may define a correspondence between a service code and a quality of service (QoS) level. The IoT device may communicate with the service enabler platform and send a service code based on a current desired communication function. The service enabler platform may then look up the QoS level that matches to the specified service code in the rule set to which the subject IoT device is associated. The service enabler platform may then determine what eSIM profile would provide the designated QoS level to the IoT device, build the eSIM profile, send the eSIM profile to the IoT device, and command the IoT device to activate the eSIM profile. Alternatively, if the IoT device is already provisioned with the subject eSIM profile, the IoT devices wireless communication service enabler may not send the eSIM profile but simply command the IoT device to make the subject eSIM profile active.
- The IoT devices may collect data on their communication environment or communication context and transmit that data to the service enabler platform. The communication context data may include a location of the IoT device. The communication context data may include identities of MNO coverages detected. The communication context data may include signal strength of MNO coverages detected. The communication context data may include weather information, for example precipitation information. The service enabler platform may determine the content of eSIM profiles that it builds in part based on the QoS level requested by the IoT devices as well as in part based on the reports of the communication contexts of the IoT devices.
- The IoT devices wireless communication service management platform may be used by a third party to provide a service offering to IoT devices owners, such as an enterprise that uses IoT devices in conducting its business. The IoT devices wireless communication service management platform may be used by a mobile network operator to manage IoT wireless communication connectivity on behalf of its subscriber customers. The IoT devices wireless communication service management platform may be used by an owner of IoT devices, for example an enterprise, to manage the wireless communication connectivity of its own IoT devices. Hence, the service enabler spoken of above may be an employee, a contractor, or team associated with a third party services company, a MNO, or an enterprise.
- Turning now to
FIG. 1 , acommunication system 100 is described. In an embodiment, thesystem 100 comprises an Internet of things (IoT) device wireless communication module (henceforth an IoT device) 102 that comprises aprocessor 104, amemory 106, an embedded universal integrated circuit card (eUICC) 108, and acellular radio transceiver 110. TheIoT device 102 may establish a wireless communication link with acell site 112 according to a 5G, a long term evolution (LTE), a code division multiple access (CDMA), or a global system for mobile communications (GSM) telecommunication protocol. Thecell site 112 may communicatively link theIoT device 102 to anetwork 114 and via thenetwork 114 to amonitoring system 115. Thesystem 100 may comprise any number ofIoT devices 102, any number ofcell sites 112, and any number ofmonitoring systems 115. Thenetwork 114 comprises one or more private networks, one or more public networks, or a combination thereof. - The
IoT device 102 may be associated with another object such as an appliance, a container, a vehicle, a parcel, or other object. TheIoT device 102 may interact with the object to which it is associated in various ways. It can provide commands or configuration data to the object, for example commands or configuration data sent to theIoT device 102 by amonitoring system 115 to which theIoT device 102 is associated. Themonitoring systems 115 may be implemented as a computer. Computer systems are described further hereinafter. - The
IoT device 102 can provide reporting data from the object to which it is associated back to themonitoring system 115 to which it is associated. This may permit an owner of theIoT devices 102 and of the objects to which theIoT devices 102 are associated to monitor and/or control the objects. It is understood that theIoT devices 102 may be owned by a variety of different and possibly unaffiliated owners and/or businesses. Each owner ofIoT devices 102 may operate their ownindependent monitoring system 115 whereby to monitor and control their ownIoT devices 102 and the objects to which they are associated. The monitoring and controlling of theIoT devices 102 and/or the objects to which they are associated may be thought of as an application layer functionality that is carried out on top of or by virtue of the communication layers under that application layer functionality. - The
system 100 further comprises an IoT devices wireless communication service enablement platform (henceforth service enablement platform) 116 communicatively coupled to thenetwork 114 that executes an IoT devices wireless communication service enablement application (henceforth service enablement application) 118. Theservice enablement platform 116 may be implemented by a computer. Computer systems are described further hereinafter. Theservice enablement application 118 interworks with theIoT devices 102 to enable theIoT devices 102 to obtain wireless communication service from thecell sites 112. In some cases, theservice enablement application 118 may accomplish this, for example, by commanding one of theIoT devices 102 to activate aneSIM profile 120 that is already stored in theeUICC 108 of thesubject IoT device 102, where theeSIM profile 120 is selected based on a current communication context of theIoT device 102. In some cases, the service enablement application may enable theIoT device 102 to obtain wireless communication service from thecell sites 112 by building aneSIM profile 120, sending theeSIM profile 120 to theIoT device 102, and commanding theIoT device 102 to store and to make the subjecteSIM profile 120 active in itseUICC 108. - The
system 100 may further comprise a plurality ofworkstations 126. Theworkstations 126 may be desktop computers, laptop computers, notebook computers, tablet computers, a combination of these different kinds of computers, or another kind of computer. Theworkstations 126 are able to communicate via thenetwork 114 to theservice enablement application 118 and to present a user interface provided by theservice enablement application 118 to a human user of theworkstation 126. Theworkstations 126 are able through this user interface to registerIoT devices 102 with theservice enablement platform 116 and to define wireless communication service enablement rules. These rules identify the wireless communication service that the owner of theIoT devices 102 want theirIoT devices 102 to receive from thecell sites 112. - As the
IoT device 102 and the object to which it is associated move about, the mobile network operators (MNOs) who own thecell sites 112 providing wireless communication service coverage to theIoT device 102 may change. Said in other words, as theIoT device 102 and the object to which it is associated move about, theIoT device 102 may leave the service area of a first MNO and enter the service area of a second and different MNO. In this case, to receive service from the second MNO, theIoT device 102 may need to activate a differenteSIM profile 120 stored in itseUICC 108 and/or download a differenteSIM profile 120, store it in theeUICC 108, and make that downloadedeSIM profile 120 active. Theservice enablement application 118 may monitor the location of theIoT devices 102, determine when anIoT device 102 is leaving a coverage area of a first MNO and entering the coverage area of a second MNO, and command theIoT device 102 to deactivate aneSIM profile 120 associated with the first MNO and activate aneSIM profile 120 associated with the second MNO. - In some circumstances, the
eUICC 108 of thesubject IoT device 102 may store a plurality of eSIM profiles 120, and theservice enablement application 118 only commands theIoT device 102 to swap theactive eSIM profile 120. In other circumstances, theeUICC 108 of thesubject IoT device 102 does not store aneSIM profile 120 suitable for obtaining wireless communication service in the coverage area of the second MNO. In this case theservice enablement application 118 may build aneSIM profile 120 suitable for obtaining service in the coverage area of the second MNO, send theeSIM profile 120 it built to theIoT device 102, command theIoT device 102 to store theeSIM profile 120 it built in theeUICC 108 of theIoT device 102, and make theeSIM profile 120 it build active in theeUICC 108. - An
eSIM profile 120 comprises one or more of radio access network access credentials, a phone number or an international mobile subscriber identity (IMSI), a preferred roaming list (PRL), one or more access point names (APNs), branding information, executable applications, and other data artifacts. An eSIMprofile adapter application 128 of theIoT device 102 may moderate the downloading of eSIM profiles 120 into theeUICC 108 and deleting disused eSIM profiles 120 out of theeUICC 108. The ESIM profile adapter application 128 (eSIM adapter 128 to be concise) may provide data from theactive eSIM profile 120 to thecellular radio transceiver 110 on request, for example when thecellular radio transceiver 110 and/or a radio modem of thecellular radio transceiver 110 reboots or powers on. Thecellular radio transceiver 110 may use the phone number/IMSI, the network access credentials, the APNs, and the PRL to obtain a wireless communication link with thecell sites 112. - Turning now to
FIG. 2 , an example rule set 122 is described. In an embodiment, the rule set 122 comprises a plurality of rules that define for theservice enablement application 118 the wireless communication service desired by the owner of one or moreIoT devices 102. The rule set 122 may be associated with a defined set ofIoT devices 102, for example alist 170 of identities ofIoT devices 102. Thelist 170 may comprise a firstIoT device identity 172, a secondIoT device identity 174, and a thirdIoT device identity 176. It is understood that thelist 170 may comprise any number of identities ofIoT devices 102. The identity of IoT devices may be specified by a mobile equipment identity (MEID), by an electronic serial number (ESN), by an embedded universal integrated circuit card identity (EID), or by another identity. The rules may be defined in any way. The rules may define a communication profile or communication policy to be provided for all theIoT devices 102 associated with thesubject rule set 122. - In an embodiment, the rules comprise associations of service codes to quality of service (QoS) levels. For example, a
first rule 140 associates afirst service code 142 to afirst QoS level 144, asecond rule 150 associations asecond service code 152 to asecond QoS level 154, and athird rule 160 associates athird service code 162 to athird QoS level 164. It is understood that the rule set 122 may comprise any number of different rules. QoS levels may define a minimum data throughput rate supported by the QoS level. QoS levels may define a priority of access supported by the QoS level. QoS levels may define a reliability supported by the QoS level. QoS levels may define a maximum jitter supported by the QoS level. QoS levels may define a maximum latency supported by the QoS level. QoS levels may define network services supported by the QoS level. QoS levels may define an asymmetrical data throughput service such as high uplink data flow rate and low downlink data flow rate or low uplink data flow rate and high downlink data flow rate. - With reference now to both
FIG. 1 andFIG. 2 , theIoT device 102, for example the ESIMprofile adapter application 128 or another application executing on theIoT device 102, may collect and monitor a communication environment of theIoT device 102. Information about the communication environment may comprise a location of the IoT device, identities ofcell sites 112 that thecellular radio transceiver 110 detects, signal strengths of the detected cell sites, weather conditions such as precipitation. TheIoT device 102 may send the information about the communication environment of theIoT device 102 to theservice enablement application 118. Theservice enablement application 118 can use the information about the communication environment of theIoT device 102 to determine whateSIM profile 120 theIoT device 102 ought to make active. For example, the location of theIoT device 102 may be used by theservice enablement application 118 to determine that theIoT device 102 is leaving the service area of a first MNO and is entering the service area of a second MNO, and hence theservice enablement application 118 may send anew eSIM profile 120 to theIoT device 102 to store in itseUICC 108 and to activate, whereby theIoT device 102 is enabled to obtain wireless communication service in the service area of the second MNO. - The
IoT device 102, for example the ESIMprofile adapter application 128 or another application executing on theIoT device 102, may monitor its own location and determine a service code that corresponds to its current wireless communication service needs. For example, anIoT device 102 coupled to a container on a container ship in the middle of the Atlantic Ocean may not desire to communicate often or at a high data throughput rate with amonitoring station 115 associated with theIoT device 102. This sameIoT device 102, when the container ship is 15 miles from the destination port of the container, may desire to communicate with high priority at a high data throughput rate. TheIoT device 102 can transmit a service code that it has selected to theservice enablement application 118. Theservice enablement application 118 can map this service code, based on the rules set 122 applicable to thatIoT device 102 based on the identity of thatIoT device 102, and select aneSIM profile 120 that can provide the QoS level to which the service code transmitted by theIoT device 102 matches. If the subjecteSIM profile 120 is stored in theeUICC 108 of theIoT device 102, theservice enablement application 118 may command theIoT device 102 to activate thateSIM profile 120. Alternatively, theservice enablement application 118 may build a suitableeSIM profile 120, based on the QoS level that matches the service code sent by theIoT device 102, send theeSIM profile 120 it built to theIoT device 102, and command theIoT device 102 to store theeSIM profile 120 it built in theeUICC 108 and make theeSIM profile 120 it built active. - In an embodiment, the
service enablement application 118 may be provided a travel itinerary of theIoT device 102, for example by theworkstation 126 at the same time it provides the rule set 122. Theservice enablement application 118 may analyze the travel itinerary of theIoT device 102 and preload a plurality of suitable eSIM profiles 120 into theeUICC 108 of theIoT device 102. The preloading of eSIM profiles 120 by theservice enablement application 118 to theeUICC 108 of theIoT device 102 can be done at a time when theIoT device 102 has network connectivity (cellular wireless coverage, WiFi wireless coverage, or other wireless coverage) available, thereby avoiding the eventuality that when theIoT device 102 might desirably be provided with a differenteSIM profile 120 at its time of need it cannot be received due to a lack of wireless connectivity. Theservice enablement application 118 may still be able to push through a command to theIoT device 102 to switch to a different preloadedeSIM profile 120, although wireless connectivity is poor, because the eSIM switch command message may be relatively small in comparison to the size of theeSIM profile 120 itself. In an embodiment, theeSIM profile adapter 128 may itself select aneSIM profile 120 and activate it based on a service code it has generated. In support of this, theservice enablement application 118 may associate a service code with each of thedifferent eSIM profiles 120 that it preloads in theeUICC 108. - The
service enablement application 118 may analyze the information received from theIoT device 102 about its communication environment in order to determine the contents of theeSIM profile 120 that will provide the QoS level designated by the service code sent by theIoT device 102. Providing the same QoS level in different communication environments may entail different eSIM profiles 120. This may be because the different MNOs have different communication services, different reliability levels, and/or different coverages. - The
IoT device 102 may be addressed using a phone number or international mobile subscriber identity (IMSI). These numbers are a limited resource. Theservice enablement application 118 may maintain a plurality of wireless communication service subscription accounts with each of a plurality of MNOs. As one of theIoT devices 102 supported by theservice enablement application 118 enters the service area of a first MNO, theservice enablement application 118 may build a first eSIM profile comprising a first IMSI associated with the first MNO. The first IMSI may be one of 100 IMSIs associated with 100 different subscription accounts theservice enablement application 118 maintains with the first MNO. Theservice enablement application 118 may send thefirst eSIM profile 120 comprising the first IMSI to theIoT device 102 and command it to store thefirst eSIM profile 120 in itseUICC 108 and to activate thefirst eSIM profile 120. Later, as theIoT device 102 is leaving the service area of the first MNO, theservice enablement application 118 may build a second eSIM profile comprising a second IMSI associated with the second MNO. The second IMSI may be one of 87 IMSIs associated with 87 different subscription accounts theservice enablement application 118 maintains with the second MNO. Theservice enablement application 118 may send thesecond eSIM profile 120 comprising the second IMSI to theIoT device 102 and command it to store thesecond eSIM profile 120 in itseUICC 108 and to activate thesecond eSIM profile 120. At the same time, theservice enablement application 118 can recover and reuse the first IMSI associated with the first MNO for use with adifferent IoT device 102 that may be entering the service area of the first MNO. - The
service enablement application 118 may maintain a set of aliases in thedata store 124 that associates identities ofIoT devices 102 to an IMSI currently associated to each of theIoT devices 102. Thus, when theeSIM profile 120 comprising the first IMSI is made active in theIoT device 102, theservice enablement application 118 destroys an entry in thealiases 130 that associates the identity of thesubject IoT device 102 with another IMSI and creates an entry associating the identity of thesubject IoT device 102 with the first IMSI. Alternatively, theservice enablement application 118 simply updates the previous entry for the identity of theIoT device 102 to associate that identity to the first IMSI. Later, when thesame IoT device 102 is activated to thesecond eSIM profile 120 comprising the second IMSI, theservice enablement application 118 may replace or update the entry in the aliases associated with the identity of thesubject IoT device 102, to then associate the identity of thesubject IoT device 102 to the second IMSI. Thus, to communicate with theIoT device 102, the service enablement application uses the unchanging identity of theIoT device 102 to look up the IMSI temporarily assigned to theIoT device 102, and then uses the IMSI to communicate with theIoT device 102. In an embodiment, theservice enablement application 118 provides an API to themonitoring systems 115 to obtain the current IMSI ofIoT devices 102 whereby themonitoring systems 115 are able to communicate with itsIoT devices 102 as their IMSIs change over time. - Turning now to
FIG. 3 , amethod 200 is described. In an embodiment, themethod 200 is a method of enabling wireless communication service delivery to Internet of things (IoT) devices. Atblock 202, themethod 200 comprises receiving a rule set for enabling wireless communication service for a plurality of IoT devices by an IoT devices wireless communication service enablement application executing on a computer system, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices. - At
block 204, themethod 200 comprises receiving a message by the IoT devices wireless communication service enablement application from one of the IoT devices, where the message comprises one of the service codes. Atblock 206, themethod 200 comprises identifying by the IoT devices wireless communication service enablement application a QoS level in the rule set that matches the service code received from the one of the IoT devices. - At
block 208, themethod 200 comprises determining an eSIM profile by the IoT devices wireless communication service enablement application based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices. Atblock 210, themethod 200 comprises sending a command to activate the eSIM profile by the IoT devices wireless communication service enablement application to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive communication service according to the QoS level that matches the service code sent by the one of the IoT devices. -
FIG. 4 illustrates acomputer system 380 suitable for implementing one or more embodiments disclosed herein. Thecomputer system 380 includes a processor 382 (which may be referred to as a central processor unit or CPU) that is in communication with memory devices includingsecondary storage 384, read only memory (ROM) 386, random access memory (RAM) 388, input/output (I/O)devices 390, andnetwork connectivity devices 392. Theprocessor 382 may be implemented as one or more CPU chips. - It is understood that by programming and/or loading executable instructions onto the
computer system 380, at least one of theCPU 382, theRAM 388, and theROM 386 are changed, transforming thecomputer system 380 in part into a particular machine or apparatus having the novel functionality taught by the present disclosure. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well-known design rules. Decisions between implementing a concept in software versus hardware typically hinge on considerations of stability of the design and numbers of units to be produced rather than any issues involved in translating from the software domain to the hardware domain. Generally, a design that is still subject to frequent change may be preferred to be implemented in software, because re-spinning a hardware implementation is more expensive than re-spinning a software design. Generally, a design that is stable that will be produced in large volume may be preferred to be implemented in hardware, for example in an application specific integrated circuit (ASIC), because for large production runs the hardware implementation may be less expensive than the software implementation. Often a design may be developed and tested in a software form and later transformed, by well-known design rules, to an equivalent hardware implementation in an application specific integrated circuit that hardwires the instructions of the software. In the same manner as a machine controlled by a new ASIC is a particular machine or apparatus, likewise a computer that has been programmed and/or loaded with executable instructions may be viewed as a particular machine or apparatus. - Additionally, after the
system 380 is turned on or booted, theCPU 382 may execute a computer program or application. For example, theCPU 382 may execute software or firmware stored in theROM 386 or stored in theRAM 388. In some cases, on boot and/or when the application is initiated, theCPU 382 may copy the application or portions of the application from thesecondary storage 384 to theRAM 388 or to memory space within theCPU 382 itself, and theCPU 382 may then execute instructions that the application is comprised of. In some cases, theCPU 382 may copy the application or portions of the application from memory accessed via thenetwork connectivity devices 392 or via the I/O devices 390 to theRAM 388 or to memory space within theCPU 382, and theCPU 382 may then execute instructions that the application is comprised of. During execution, an application may load instructions into theCPU 382, for example load some of the instructions of the application into a cache of theCPU 382. In some contexts, an application that is executed may be said to configure theCPU 382 to do something, e.g., to configure theCPU 382 to perform the function or functions promoted by the subject application. When theCPU 382 is configured in this way by the application, theCPU 382 becomes a specific purpose computer or a specific purpose machine. - The
secondary storage 384 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device ifRAM 388 is not large enough to hold all working data.Secondary storage 384 may be used to store programs which are loaded intoRAM 388 when such programs are selected for execution. TheROM 386 is used to store instructions and perhaps data which are read during program execution.ROM 386 is a non-volatile memory device which typically has a small memory capacity relative to the larger memory capacity ofsecondary storage 384. TheRAM 388 is used to store volatile data and perhaps to store instructions. Access to bothROM 386 andRAM 388 is typically faster than tosecondary storage 384. Thesecondary storage 384, theRAM 388, and/or theROM 386 may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media. - I/
O devices 390 may include printers, video monitors, liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices. - The
network connectivity devices 392 may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards, and/or other well-known network devices. Thenetwork connectivity devices 392 may provide wired communication links and/or wireless communication links (e.g., a firstnetwork connectivity device 392 may provide a wired communication link and a secondnetwork connectivity device 392 may provide a wireless communication link). Wired communication links may be provided in accordance with Ethernet (IEEE 802.3), Internet protocol (IP), time division multiplex (TDM), data over cable service interface specification (DOCSIS), wavelength division multiplexing (WDM), and/or the like. In an embodiment, the radio transceiver cards may provide wireless communication links using protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), WiFi (IEEE 802.11), Bluetooth, Zigbee, narrowband Internet of things (NB IoT), near field communications (NFC), radio frequency identity (RFID). The radio transceiver cards may promote radio communications using 5G, 5G New Radio, or 5G LTE radio communication protocols. Thesenetwork connectivity devices 392 may enable theprocessor 382 to communicate with the Internet or one or more intranets. With such a network connection, it is contemplated that theprocessor 382 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed usingprocessor 382, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave. - Such information, which may include data or instructions to be executed using
processor 382 for example, may be received from and outputted to the network, for example, in the form of a computer data baseband signal or signal embodied in a carrier wave. The baseband signal or signal embedded in the carrier wave, or other types of signals currently used or hereafter developed, may be generated according to several methods well-known to one skilled in the art. The baseband signal and/or signal embedded in the carrier wave may be referred to in some contexts as a transitory signal. - The
processor 382 executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 384), flash drive,ROM 386,RAM 388, or thenetwork connectivity devices 392. While only oneprocessor 382 is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors. Instructions, codes, computer programs, scripts, and/or data that may be accessed from thesecondary storage 384, for example, hard drives, floppy disks, optical disks, and/or other device, theROM 386, and/or theRAM 388 may be referred to in some contexts as non-transitory instructions and/or non-transitory information. - In an embodiment, the
computer system 380 may comprise two or more computers in communication with each other that collaborate to perform a task. For example, but not by way of limitation, an application may be partitioned in such a way as to permit concurrent and/or parallel processing of the instructions of the application. Alternatively, the data processed by the application may be partitioned in such a way as to permit concurrent and/or parallel processing of different portions of a data set by the two or more computers. In an embodiment, virtualization software may be employed by thecomputer system 380 to provide the functionality of a number of servers that is not directly bound to the number of computers in thecomputer system 380. For example, virtualization software may provide twenty virtual servers on four physical computers. In an embodiment, the functionality disclosed above may be provided by executing the application and/or applications in a cloud computing environment. Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources. Cloud computing may be supported, at least in part, by virtualization software. A cloud computing environment may be established by an enterprise and/or may be hired on an as-needed basis from a third party provider. Some cloud computing environments may comprise cloud computing resources owned and operated by the enterprise as well as cloud computing resources hired and/or leased from a third party provider. - In an embodiment, some or all of the functionality disclosed above may be provided as a computer program product. The computer program product may comprise one or more computer readable storage medium having computer usable program code embodied therein to implement the functionality disclosed above. The computer program product may comprise data structures, executable instructions, and other computer usable program code. The computer program product may be embodied in removable computer storage media and/or non-removable computer storage media. The removable computer readable storage medium may comprise, without limitation, a paper tape, a magnetic tape, magnetic disk, an optical disk, a solid state memory chip, for example analog magnetic tape, compact disk read only memory (CD-ROM) disks, floppy disks, jump drives, digital cards, multimedia cards, and others. The computer program product may be suitable for loading, by the
computer system 380, at least portions of the contents of the computer program product to thesecondary storage 384, to theROM 386, to theRAM 388, and/or to other non-volatile memory and volatile memory of thecomputer system 380. Theprocessor 382 may process the executable instructions and/or data structures in part by directly accessing the computer program product, for example by reading from a CD-ROM disk inserted into a disk drive peripheral of thecomputer system 380. Alternatively, theprocessor 382 may process the executable instructions and/or data structures by remotely accessing the computer program product, for example by downloading the executable instructions and/or data structures from a remote server through thenetwork connectivity devices 392. The computer program product may comprise instructions that promote the loading and/or copying of data, data structures, files, and/or executable instructions to thesecondary storage 384, to theROM 386, to theRAM 388, and/or to other non-volatile memory and volatile memory of thecomputer system 380. - In some contexts, the
secondary storage 384, theROM 386, and theRAM 388 may be referred to as a non-transitory computer readable medium or a computer readable storage media. A dynamic RAM embodiment of theRAM 388, likewise, may be referred to as a non-transitory computer readable medium in that while the dynamic RAM receives electrical power and is operated in accordance with its design, for example during a period of time during which thecomputer system 380 is turned on and operational, the dynamic RAM stores information that is written to it. Similarly, theprocessor 382 may comprise an internal RAM, an internal ROM, a cache memory, and/or other internal non-transitory storage blocks, sections, or components that may be referred to in some contexts as non-transitory computer readable media or computer readable storage media. - While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted or not implemented.
- Also, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component, whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.
Claims (20)
1. An Internet of things (IoT) devices wireless communication service enablement platform, comprising:
a non-transitory memory;
a processor; and
an IoT devices wireless communication service enablement application stored in the non-transitory memory that, when executed by the processor:
receives a rule set for enabling wireless communication service for a plurality of IoT devices, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices,
receives a message from one of the IoT devices, where the message comprises information about a communication context of the IoT device,
receives a message from the one of the IoT devices, where the message comprises one of the service codes,
identifies a QoS level in the rule set that matches the service code received from the one of the IoT devices,
determines an eSIM profile based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices, and
sends a command to activate the eSIM profile to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive wireless communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
2. The IoT devices wireless communication service enablement platform of claim 1 , wherein the rule set comprises a list of identities of IoT devices that are associated with the rule set.
3. The IoT devices wireless communication service enablement platform of claim 2 , wherein the IoT devices wireless communication service enablement application:
receives a rule set update message identifying at least one IoT device to add to the list of identities of IoT devices associated with the rule set, and
adds the at least one IoT device to the list of identities of the IoT devices associated with the rule set.
4. The IoT devices wireless communication service enablement platform of claim 1 , wherein the IoT devices wireless communication service enablement application further;
receives a second rule set for enabling communication service for a second plurality of IoT devices, where the second rule set defines communication policies for the second plurality of IoT devices,
determines a second eSIM profile based on analyzing information about the communication context of a second IoT device of the second plurality of IoT devices, and
sends a command to activate the second eSIM profile to second IoT device of the second plurality of IoT devices, whereby the second IoT device is enabled to receive wireless communication service according to the communication policy defined in the second rule set.
5. The IoT devices wireless communication service enablement platform of claim 1 , wherein the IoT devices wireless communication service enablement application further builds the eSIM profile determined based on analyzing the information about the communication context of the IoT device and sends the eSIM profile it builds to the one of the IoT devices.
6. The IoT devices wireless communication service enablement platform of claim 5 , wherein the eSIM profile comprises an international mobile subscriber identity (IMSI) and the IoT devices wireless communication service enablement application further
creates an association of an identity of the one of the IoT devices and the IMSI of the eSIM profile, and
stores the association of the identity of the one of the IoT devices and the IMSI of the eSIM profile in a data store.
7. The IoT devices wireless communication service enablement platform of claim 1 , wherein the eSIM profile comprises one or more artifacts selected from the list consisting of a network access credential, an international mobile subscriber identity (IMSI), an access point name (APN), a preferred roaming list (PRL), an application, and branding information.
8. A method of enabling wireless communication service delivery to Internet of things (IoT) devices, comprising:
receiving a rule set for enabling wireless communication service for a plurality of IoT devices by an IoT devices wireless communication service enablement application executing on a computer system, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices;
receiving a message by the IoT devices wireless communication service enablement application from one of the IoT devices, where the message comprises one of the service codes;
identifying by the IoT devices wireless communication service enablement application a QoS level in the rule set that matches the service code received from the one of the IoT devices;
determining an eSIM profile by the IoT devices wireless communication service enablement application based on analyzing the information about the communication context of the IoT device and based on the QoS level that matches the service code received from the one of the IoT devices; and
sending a command to activate the eSIM profile by the IoT devices wireless communication service enablement application to the one of the IoT devices, whereby the one of the IoT devices is enabled to receive communication service according to the QoS level that matches the service code sent by the one of the IoT devices.
9. The method of claim 8 , further comprising receiving a message by the IoT devices wireless communication service enablement application from the one of the IoT devices, where the message comprises information about a communication context of the IoT device, wherein determining the eSIM profile by the IoT devices wireless communication service enablement application is further based on analyzing the information about the communication context of the IoT device.
10. The method of claim 9 , wherein the information about the communication context of the IoT device comprises information about a location of the IoT device and identities of MNO coverages detected.
11. The method of claim 9 , wherein the information about the communication context of the IoT device comprises information about signal strength of MNO coverages detected or weather information.
12. The method of claim 8 , wherein the QoS levels associate with minimum data throughput rates, maximum jitter, maximum latency, and service priority.
13. The method of claim 8 , wherein the QoS levels associate with a sleep mode, an awake mode, and a reporting interval.
14. The method of claim 8 , wherein the eSIM profile enables the IoT device to wirelessly communicate according to one of a 5G, a long term evolution (LTE), a code division multiple access (CDMA), or a global system for mobile communications (GSM) telecommunication protocol.
15. An Internet of things (IoT) devices wireless communication service enablement platform, comprising:
a non-transitory memory;
a processor; and
an IoT devices wireless communication service enablement application stored in the non-transitory memory that, when executed by the processor:
receives a rule set for enabling communication service for a plurality of IoT devices, where the rule set associates a plurality of service codes to a matching plurality of wireless communication quality of service (QoS) levels to be provided to the IoT devices,
receives a message from the one of the IoT devices, where the message comprises one of the service codes,
identifies a QoS level in the rule set that matches the service code received from the one of the IoT devices,
monitors the location of the one of the IoT devices,
builds an eSIM profile based on the location of the one of the IoT devices and based on the QoS level that matches the service code received from the one of the IoT devices, and
sends the eSIM profile to the one of the IoT devices.
16. The IoT devices wireless communication service enablement platform of claim 15 , wherein the one of the IoT devices is associated with an appliance, a shipping container, or a vehicle.
17. The IoT devices wireless communication service enablement platform of claim 15 , wherein the eSIM profile built by the IoT devices wireless communication service application comprises a network access credential, an international mobile subscriber identity (IMSI), an access point name (APN), and a preferred roaming list (PRL).
18. The IoT devices wireless communication service enablement platform of claim 15 , wherein the eSIM profile enables the one of the IoT devices to wirelessly communicate according to a 5G, a long term evolution (LTE), a code division multiple access (CDMA), or a global system for mobile communication (GSM) telecommunication protocol.
19. The IoT devices wireless communication service enablement platform of claim 15 , wherein the eSIM profile built by the IoT devices wireless communication service application comprises an international mobile subscriber identity (IMSI) associated with a subscription account with a first MNO in a pool of IMSIs associated with subscription accounts with the first MNO maintained by an owner of the IoT devices wireless communication service enablement platform.
20. The IoT devices wireless communication service enablement platform of claim 19 , wherein the IoT devices wireless communication service application further:
builds a second eSIM profile based on the QoS level that matches the service code received from the one of the IoT devices, where the second eSIM profile comprises a second IMSI associated with a subscription account with a second MNO in a pool of IMSIs associated with subscription accounts with the second MNO maintained by the owner of the IoT devices wireless communication service enablement platform, and
sends the second eSIM profile to the one of the IoT devices, whereby the one of the IoT devices is enabled to wirelessly communicate via the second MNO.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/886,521 US11190985B1 (en) | 2020-05-28 | 2020-05-28 | Internet of things (IoT) devices wireless communication service management platform |
PCT/US2021/033922 WO2021242697A1 (en) | 2020-05-28 | 2021-05-24 | Internet of things (iot) devices wireless communication service management platform |
EP21735001.6A EP4140157A1 (en) | 2020-05-28 | 2021-05-24 | Internet of things (iot) devices wireless communication service management platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/886,521 US11190985B1 (en) | 2020-05-28 | 2020-05-28 | Internet of things (IoT) devices wireless communication service management platform |
Publications (2)
Publication Number | Publication Date |
---|---|
US11190985B1 US11190985B1 (en) | 2021-11-30 |
US20210377808A1 true US20210377808A1 (en) | 2021-12-02 |
Family
ID=76624146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/886,521 Active US11190985B1 (en) | 2020-05-28 | 2020-05-28 | Internet of things (IoT) devices wireless communication service management platform |
Country Status (3)
Country | Link |
---|---|
US (1) | US11190985B1 (en) |
EP (1) | EP4140157A1 (en) |
WO (1) | WO2021242697A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310654B1 (en) * | 2020-09-16 | 2022-04-19 | Sprint Communications Company L.P. | Electronic subscriber identity module (eSIM) profile delivery and activation system and methods |
US11477636B1 (en) | 2020-09-16 | 2022-10-18 | Sprint Communications Company L.P. | Electronic subscriber identity module (eSIM) profile provisioning |
US11477624B1 (en) | 2020-03-17 | 2022-10-18 | Sprint Communications Company L.P. | Activation communication addresses of internet of things devices |
US11716612B1 (en) | 2020-03-17 | 2023-08-01 | T-Mobile Innovations Llc | Bootstrap electronic subscriber identity module configuration |
US20230254675A1 (en) * | 2022-02-04 | 2023-08-10 | T-Mobile Innovations Llc | In-vehicle Multi-user Wireless Communication Connectivity |
US11785444B2 (en) | 2020-05-21 | 2023-10-10 | T-Mobile Innovations Llc | Embedded subscriber identity module (eSIM) profile adaptation based on context |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11843965B2 (en) * | 2020-12-08 | 2023-12-12 | Charter Communications Operating, Llc | Intelligent connectivity and data usage management for mobile devices in a converged network |
US11832346B2 (en) * | 2021-08-04 | 2023-11-28 | International Business Machines Corporation | Dynamic eSIM configuration in IoT devices based on activities context |
US11792267B2 (en) * | 2021-10-12 | 2023-10-17 | At&T Intellectual Property I, L.P. | Network-connected sensor device critical rule triggers for activating network-connected device functions |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009138848A2 (en) | 2008-05-14 | 2009-11-19 | Fundamo (Pty) Ltd | Mobile commerce payment system |
US9723481B2 (en) | 2010-10-29 | 2017-08-01 | Apple Inc. | Access data provisioning apparatus and methods |
WO2014172461A1 (en) | 2013-04-17 | 2014-10-23 | Manning Ventures Inc. | Authorizing or printing negotiable instrument |
WO2015069160A1 (en) | 2013-11-07 | 2015-05-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, network control nodes and communication devices for routing signalling requests in a communication system |
US9369863B2 (en) | 2013-11-29 | 2016-06-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and corresponding apparatus, computer program product to validate an eUICC subscription change |
US9940141B2 (en) | 2015-02-23 | 2018-04-10 | Apple Inc. | Method and apparatus for selecting bootstrap ESIMs |
EP3800909B1 (en) | 2016-04-12 | 2023-06-28 | Huawei Technologies Co., Ltd. | Remote management method, and device |
EP3603141B1 (en) * | 2017-03-30 | 2021-02-17 | iBasis, Inc. | Esim profile switching without sms |
US10524116B2 (en) * | 2017-06-27 | 2019-12-31 | Ibasis, Inc. | Internet of things services architecture |
EP3457728A1 (en) * | 2017-09-15 | 2019-03-20 | Gemalto Sa | A method for allocating temporarily a subscription to a credential container |
EP3721649B8 (en) * | 2018-01-02 | 2022-11-16 | IPLA Holdings Inc. | Managing network enrollment and redirection for internet-of-things and like devices |
GB2571294B (en) | 2018-02-22 | 2020-09-23 | Arm Cloud Services Ltd | System and method for connectivity management |
WO2019240544A1 (en) * | 2018-06-14 | 2019-12-19 | Lg Electronics Inc. | Method and apparatus for performing sidelink communication by ue in nr v2x |
KR102559471B1 (en) | 2018-06-25 | 2023-07-26 | 삼성전자주식회사 | Apparatus and method for handling multiple telecom operator information |
US11856404B2 (en) | 2018-10-15 | 2023-12-26 | Celitech Inc. | Systems and methods for enhanced remote connectivity provisioning |
US11089480B2 (en) | 2018-11-30 | 2021-08-10 | Apple Inc. | Provisioning electronic subscriber identity modules to mobile wireless devices |
US10833929B2 (en) | 2018-12-27 | 2020-11-10 | Juniper Networks, Inc. | Secure remote bootstrapping of network device |
US10938656B2 (en) | 2018-12-27 | 2021-03-02 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to coordinate a node level adaptation |
WO2020145623A1 (en) | 2019-01-08 | 2020-07-16 | Samsung Electronics Co., Ltd. | Apparatus and method for handling esim profile for issp device |
CN109819434A (en) | 2019-01-11 | 2019-05-28 | 深圳市斯凯荣科技有限公司 | A kind of card cell system and control method based on eSIM |
US11310641B2 (en) | 2019-02-10 | 2022-04-19 | Hewlett Packard Enterprise Development Lp | Entitlement server connected eSIMS |
WO2020204585A1 (en) | 2019-04-05 | 2020-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for providing network connectivity in a wireless communication system |
US20200351761A1 (en) | 2019-05-03 | 2020-11-05 | Jose Luis HORNA | System and method for monitoring mobile data configuration access point names |
EP3949355A4 (en) | 2019-05-03 | 2022-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for providing bundle information |
KR20200140555A (en) | 2019-06-07 | 2020-12-16 | 삼성전자주식회사 | Electronic device for switching between a dual standby mode and a single standby mode and method for the same |
US11265715B2 (en) | 2019-06-20 | 2022-03-01 | Samsung Electronics Co., Ltd. | Method and apparatus for providing communication service |
US11516650B2 (en) | 2019-09-09 | 2022-11-29 | Apple Inc. | Methods and apparatus for efficient transfer of multiple cellular service credentials |
US11228885B2 (en) | 2019-10-21 | 2022-01-18 | T-Mobile Usa, Inc. | Over the air provisioning of embedded subscriber identification module devices |
US10880711B1 (en) | 2020-02-25 | 2020-12-29 | Sprint Communications Company L.P. | Electronic subscriber identity module (eSIM) management platform |
US11102646B1 (en) | 2020-03-17 | 2021-08-24 | Sprint Communications Company L.P. | Triggering electronic subscriber identity module activation |
US11115810B1 (en) | 2020-03-17 | 2021-09-07 | Sprint Communications Company L.P. | Bootstrap electronic subscriber identity module configuration |
US10887741B1 (en) | 2020-03-17 | 2021-01-05 | Sprint Communications Company L.P. | Activation communication addresses of internet of things devices |
-
2020
- 2020-05-28 US US16/886,521 patent/US11190985B1/en active Active
-
2021
- 2021-05-24 WO PCT/US2021/033922 patent/WO2021242697A1/en unknown
- 2021-05-24 EP EP21735001.6A patent/EP4140157A1/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11477624B1 (en) | 2020-03-17 | 2022-10-18 | Sprint Communications Company L.P. | Activation communication addresses of internet of things devices |
US11716612B1 (en) | 2020-03-17 | 2023-08-01 | T-Mobile Innovations Llc | Bootstrap electronic subscriber identity module configuration |
US11785444B2 (en) | 2020-05-21 | 2023-10-10 | T-Mobile Innovations Llc | Embedded subscriber identity module (eSIM) profile adaptation based on context |
US11310654B1 (en) * | 2020-09-16 | 2022-04-19 | Sprint Communications Company L.P. | Electronic subscriber identity module (eSIM) profile delivery and activation system and methods |
US11477636B1 (en) | 2020-09-16 | 2022-10-18 | Sprint Communications Company L.P. | Electronic subscriber identity module (eSIM) profile provisioning |
US11722880B2 (en) | 2020-09-16 | 2023-08-08 | T-Mobile Innovations Llc | Electronic subscriber identity module (eSIM) profile delivery and activation system and methods |
US11825549B2 (en) | 2020-09-16 | 2023-11-21 | T-Mobile Innovations Llc | Electronic subscriber identity module (eSIM) profile provisioning |
US20230254675A1 (en) * | 2022-02-04 | 2023-08-10 | T-Mobile Innovations Llc | In-vehicle Multi-user Wireless Communication Connectivity |
US11844006B2 (en) * | 2022-02-04 | 2023-12-12 | T-Mobile Innovations Llc | In-vehicle multi-user wireless communication connectivity |
Also Published As
Publication number | Publication date |
---|---|
WO2021242697A1 (en) | 2021-12-02 |
US11190985B1 (en) | 2021-11-30 |
EP4140157A1 (en) | 2023-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11190985B1 (en) | Internet of things (IoT) devices wireless communication service management platform | |
CN112566051B (en) | Method and apparatus for efficiently transferring multiple cellular ticket services | |
US9351236B2 (en) | UICC carrier switching via over-the-air technology | |
US11477624B1 (en) | Activation communication addresses of internet of things devices | |
US11785444B2 (en) | Embedded subscriber identity module (eSIM) profile adaptation based on context | |
US10779201B1 (en) | Mobile phone authentication in WiFi coverage | |
US11102646B1 (en) | Triggering electronic subscriber identity module activation | |
AU2015321902B2 (en) | Method and apparatus to manage user/device profiles in public safety applications | |
US11601817B2 (en) | Postponed eSIM delivery to secondary mobile wireless device for cellular wireless service subscription | |
US10224972B2 (en) | Systems, methods, and computer-readable media for tracking updates and loading data | |
US20240007834A1 (en) | Imei binding and dynamic imei provisioning for wireless devices | |
US11632738B2 (en) | System and method of access point name (APN) dynamic mapping | |
US11758385B2 (en) | System and method for interoperability in remote provisioning architectures for embedded universal integrated circuit cards | |
US20220248207A1 (en) | Dynamically switching network cards | |
WO2022160422A1 (en) | Dynamically switching network cards | |
US11864148B2 (en) | Event triggered network migration of subscribers | |
US20230084923A1 (en) | Carrier controlled cellular telephone network migration | |
US20230171686A1 (en) | Network selection method and apparatus, device and storage medium | |
CN117793850A (en) | Network access method, terminal, system, electronic equipment and storage medium | |
CN117836761A (en) | Managing data isolation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: T-MOBILE INNOVATIONS LLC, KANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPRINT COMMUNICATIONS COMPANY L.P.;REEL/FRAME:055604/0001 Effective date: 20210303 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |