US20120302224A1 - Mobile network operator identification - Google Patents
Mobile network operator identification Download PDFInfo
- Publication number
- US20120302224A1 US20120302224A1 US13/308,392 US201113308392A US2012302224A1 US 20120302224 A1 US20120302224 A1 US 20120302224A1 US 201113308392 A US201113308392 A US 201113308392A US 2012302224 A1 US2012302224 A1 US 2012302224A1
- Authority
- US
- United States
- Prior art keywords
- mobile
- mobile operator
- data
- computing device
- operator
- 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
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- 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
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/83—Notification aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/24—Accounting or billing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/04—Recording calls, or communications in printed, perforated or other permanent form
- H04M15/06—Recording class or number of calling, i.e. A-party or called party, i.e. B-party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
Definitions
- Network services utilized by mobile computing devices are provided by various mobile network operators and mobile virtual network operators.
- a mobile computing device can be tethered to a single mobile network operator.
- the mobile network operator currently providing network services for a mobile computing device can be based on various factors, such as information stored on a Subscriber Identity Module (SIM) card inserted in the mobile device and the mobile device's location (for example, which country the device is located in or whether the device is located out of its “home” network (i.e., the device is “roaming”)).
- SIM Subscriber Identity Module
- a mobile computing device requests identification of the mobile network operator that the device is using to access a mobile network.
- the request is sent to a remote mobile operator identification server and comprises information pulled from the mobile device and any smart card, such as a SIM card, inserted in the device.
- the server can determine the mobile operator based on the supplied data, the mobile device receives information identifying the mobile operator, along with associated configuration information.
- Configuration information can include information that can be used by the mobile device or an online marketplace to allow a mobile device user to take advantage of business relationships, such as offering special discounts on goods and services, between the mobile device provider and the identified mobile operator.
- An identification request can be made when a new SIM card (or any other type of smart card, such as an R-UIM or UICC card) is inserted into the mobile device or when a device switches subscriber identities.
- a mobile operator identification server receives a mobile operator identification request from a mobile device.
- the request comprises data pulled from the mobile device.
- the service compares the received data against a set of mobile operator rules in an attempt to determine the identity of the mobile operator. If at least one of the rules is satisfied, and the satisfied rules unambiguously identify the mobile operator, information identifying the mobile operator and associated configuration data is sent to the mobile device.
- a mobile device can supply information identifying a mobile operator to an online marketplace operated by the mobile device provider. If the mobile operator is one with which the mobile device provider has a business or commercial relationship, the mobile device user is presented with special discounts, product or service offerings or other deals according to the business relationship. Identification of the mobile operator also provides for branding information specific to the identified mobile operator to be presented at the mobile device, as well as billing settings (e.g., bill messages, billing delivery format) to be appropriately set.
- billing settings e.g., bill messages, billing delivery format
- FIG. 1 is a system diagram depicting an exemplary mobile computing device.
- FIG. 2 illustrates a generalized example of a suitable implementation environment in which described embodiments, techniques, and technologies may be implemented.
- FIG. 3 is a block diagram of an exemplary system for identifying a mobile operator of a mobile computing device.
- FIG. 4 is a flowchart of a first exemplary mobile operator identification method.
- FIG. 5 is a flowchart of a second exemplary mobile operator identification method.
- FIG. 6 is a flowchart of an exemplary method of a mobile computing device communicating with a commerce process to allow a user to take advantage of a commercial relationship between a mobile computing device provider and a mobile operator.
- FIG. 1 is a system diagram depicting an exemplary mobile computing device 100 that can be used to perform methods described herein.
- the mobile computing device 100 can include a variety of optional hardware and software components 105 .
- components 105 can communicate with other components, although not all connections are shown, for ease of illustration.
- the mobile computing device 100 can be any of a variety of mobile computing devices (e.g., cell phone, smartphone, handheld computer, laptop computer, notebook computer, tablet device, slate device, media player, Personal Digital Assistant (PDA), camera, video camera) and can allow wired or wireless communication with one or more networks 104 , such as a Wi-Fi, terrestrial cellular or satellite network.
- networks 104 such as a Wi-Fi, terrestrial cellular or satellite network.
- the mobile computing device 100 can include a controller or processor 110 (e.g., signal processor, graphics processing unit (GPU), microprocessor, ASIC, or other control and processing logic circuitry or software) for performing such tasks as signal coding, graphics processing, data processing, input/output processing, power control, and/or other functions.
- a controller or processor 110 e.g., signal processor, graphics processing unit (GPU), microprocessor, ASIC, or other control and processing logic circuitry or software
- An operating system 112 can control the allocation and usage of the components 105 and support for one or more application programs 114 .
- the application programs 114 can include common mobile computing applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications) as well as other computing applications, such as a mobile operator identification application 115 that retrieves data from a smart card(s) 124 and/or non-removable memory 122 for inclusion in a mobile operator identification request, and sends mobile operator identification requests.
- the smart card 124 is typically any removable card that comprises circuitry (e.g., memory, microprocessor) that is used for identification purposes.
- the smart card can also be used for authentication, data storage, application processing, etc. Particular smart cards are described herein, but other cards can be used.
- the mobile computing device 100 can include memory 120 .
- Memory 120 can include non-removable memory 122 and removable memory 123 .
- the non-removable, or embedded memory, 122 can include RAM, ROM, flash memory, a hard drive, or other well-known memory storage technologies.
- the removable memory 123 can include flash memory cards (e.g., SD (Secure Digital) cards), memory sticks, or other well-known memory storage technologies, such as “smart cards.”
- the removable memory 123 comprises one or more smart cards 124 .
- the smart cards 124 can be a SIM card, a Removable User Identity Module (R-UIM) card, a Universal Integrated Circuit Cards (UICC) card or any other type of smart card.
- R-UIM Removable User Identity Module
- UICC Universal Integrated Circuit Cards
- the memory 120 can be used for storing data and/or computer-executable instructions for running the operating system (OS) 112 and the application programs 114 on the device 100 .
- Example data can include web pages, text, images, sound files, video data or other data sets to be sent to and/or received from one or more network servers or other devices by the mobile computing device 100 via one or more wired or wireless networks.
- the computing device 100 can also have access to external memory (not shown) such as external hard drives.
- the mobile computing device 100 can support one or more input devices 130 , such as a touch screen 132 , microphone(s) 134 , camera(s) 136 , physical keyboard 138 and/or trackball 139 and one or more output devices 140 , such as speaker(s) 142 and a display 144 .
- Other possible output devices can include piezoelectric or other haptic output devices.
- Any of the input devices 130 and output devices 140 can be internal to (as shown), external to, or removably attachable with the computing device 100 .
- External input and output devices 130 and 140 can communicate with the computing device 100 via a wired or wireless connection. Some devices can serve more than one input/output function. For example, touchscreen 132 and display 144 can be combined in a single input/output device.
- a wireless modem 160 can be coupled to a wireless modem antenna 162 and can support two-way communications between the mobile computing device 100 and external devices, as is well understood in the art.
- the modem 160 and the antenna 162 are shown generically and can be a wireless cellular modem for communicating with a mobile cellular communication network.
- the wireless modem 160 can comprise other radio-based modems such as a Wi-Fi modem 163 or a Bluetooth modem 164 , each of which can be coupled to its own antenna (e.g., Wi-Fi antenna 168 , Bluetooth antenna 169 ).
- the wireless modem 160 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile computing device and a public switched telephone network (PSTN).
- PSTN public switched telephone network
- the mobile computing device 100 can further include at least one input/output port 170 (which can be, for example, a USB port, IEEE 1394 (FireWire) port, and/or RS-232 port) comprising physical connectors 172 and a power supply 174 , a satellite navigation system receiver such as a GPS receiver 175 .
- the GPS receiver 175 can be coupled to a GPS antenna 179 .
- the mobile computing device 100 can be a GSM device (i.e., the device conforms to the GSM (Global System for Mobile Communication) standard), a CDMA device (i.e. the device employs Code Division Multiplexing Access (CDMA) or conforms to a CDMA-based standard such as CDMA2000), a dual mode device (i.e., a device that is compatible with both GSM and CDMA networks), or a device that conforms to any other mobile communication standard such as LTE (3GPP (3rd Generation Partnership Project) Long Term Evolution) and SVLTE (Simultaneous Voice and Long Term Evolution data), or employs any other channel access method (e.g., Time Division Multiplexing Access (TDMA)).
- GSM Global System for Mobile Communication
- CDMA Code Division Multiplexing Access
- CDMA2000 Code Division Multiplexing Access 2000
- CDMA2000 Code Division Multiplexing Access 2000
- dual mode device i.e., a device that is compatible with both GSM and CDMA networks
- the mobile computing device 100 can comprise one or more smart card slots for receiving one or more smart cards (e.g., SIM, R-UIM, UICC cards) that store network subscriber identification data and smart card identification data.
- a GSM device comprises one or more slots that accept Subscriber Identity Module (SIM) smart cards (SIM cards).
- SIM Subscriber Identity Module
- SIM cards stores an International Mobile Subscriber Identity (IMSI) that uniquely defines a mobile operator subscriber.
- IMSI International Mobile Subscriber Identity
- MCC Mobile Country Code
- MNC Mobile Network Code
- MSIN Mobile Subscription Identification Number
- the MSIN identifies a subscriber for a given mobile operator.
- SIM cards also store an Integrated Circuit Card Identifier (ICCID), which is the serial number of the SIM card.
- SIM cards store additional data in elementary files (EFs) such as an operator name string (EF_ONS), service provider name (EF_SPN), group identifier level (EF_GID1 and EF_GID2) values, PLMN (Public Land Mobile Network) network name (EF_PNN), and an operator PLMN list (EF_OPL, a prioritized list of Location Area Information (LAI) identities used to associated a specific operator name in EF_PNN with a LAI).
- EFs elementary files
- ELMN Public Land Mobile Network
- EF_OPL Operator PLMN list
- LAI Location Area Information
- the functionality of or the information stored on the smart cards is integrated into the mobile computing device 100 .
- the memory 120 can store identifiers for the mobile computing device 100 such as an International Mobile Equipment Identifier (IMEI), which uniquely identifies a GSM mobile device, or an Electronic Serial Number (ESN) or a Mobile Equipment Identifier (MEID) that uniquely identifies a CDMA phone.
- IMEI International Mobile Equipment Identifier
- ESN Electronic Serial Number
- MEID Mobile Equipment Identifier
- R-UIM Removable User Identity Module
- R-UIMs store an IMSI and additional data such as a Temporary Mobile Subscriber Identifier (TMSI); a Network Access Identifier (NAI), a User Identity Module Identifier (UIMID), an Expanded UIMID (EUIMID) or ICCID hardware identifiers, as well as additional information for CDMA operation.
- IMSIs that can be stored on an R-UIM include an IMSI-M and an IMSI_T.
- IMSI_M is an MIN-based (Mobile Identification Number, a unique number that a wireless carrier uses to identify a mobile phone) IMSI that uses the lower 10-digits of the IMSI to store the MIN, and IMSI_T is a “true” IMSI that is not associated with an MIN.
- a third example of a mobile computing device smart card is the Universal Integrated Circuit Cards (UICC) that can be used with either GSM or CDMA devices.
- the mobile computing device 100 can accept additional smart cards that enable the mobile computing device to access a mobile network via the services of a mobile operator.
- UICC Universal Integrated Circuit Cards
- the mobile computing device 100 can have access to more than one subscriber identity (e.g., due to two SIM cards being inserted into the device, each card storing one subscriber identity, or one SIM card being inserted into the device storing more than one subscriber identity) and can switch between identities.
- Mobile devices containing two smart cards can switch between smart cards 124 or operate both cards simultaneously.
- Subscriber and equipment identifiers stored on the smart cards 124 can be transmitted to a mobile operator identification server as part of a mobile operator identification request to identify a mobile operator of the mobile computing device 100 .
- the illustrated components 105 are not required or all-inclusive, as any components can be deleted and other components can be added.
- FIG. 2 illustrates a generalized example of a suitable implementation environment 200 in which described embodiments, techniques, and technologies may be implemented.
- various types of services e.g., computing services
- the cloud 210 can comprise a collection of computing devices, which may be located centrally or distributed, that provide cloud-based services to various types of users and devices connected via a network such as the Internet.
- the implementation environment 200 can be used in different ways to accomplish computing tasks, For example, some tasks (e.g., processing user input and presenting a user interface) can be performed on local computing devices (e.g., connected devices 230 , 240 , 250 ) while other tasks (e.g., mobile operator identification) can be performed in the cloud 210 .
- some tasks e.g., processing user input and presenting a user interface
- other tasks e.g., mobile operator identification
- the cloud 210 provides services for connected devices 230 , 240 , 250 with a variety of screen capabilities.
- Connected device 230 represents a device with a computer screen (e.g., a mid-size screen 235 ).
- connected device 230 could be a desktop, laptop, notebook, netbook or tablet computer or the like.
- Connected device 240 represents a mobile computing device with a mobile computing device screen 245 (e.g., a small-size screen).
- connected device 240 could be a mobile phone, smartphone, personal digital assistant or the like.
- Connected device 250 represents a device with a large screen 255 .
- connected device 250 could be a television with Internet connectivity, or a television connected to another device capable of connecting to the cloud such as a set-top box, gaming console or the like.
- Devices without screen capabilities also can be used in example environment 200 .
- the cloud 210 can provide services for one or more computers (e.g., server computers) without displays.
- Services can be provided by the cloud 210 through service providers 220 , or through other providers of online services (not depicted).
- cloud services can be customized to the screen size, display capability, and/or touch screen capability of a particular connected device (e.g., connected devices 230 , 240 , 250 ).
- Services that can be provided by the service providers 220 include, for example, email, Short Message Service (SMS), Multimedia Message Service (MMS), mobile operator identification, social networking and website hosting.
- SMS Short Message Service
- MMS Multimedia Message Service
- the service providers can host online marketplaces offering wide varieties of goods and services such as software applications and upgrades and media content which can be obtained by users with or without purchase and for download from the cloud or delivery through postal mail.
- the cloud 210 provides the technologies and solutions described herein to the various connected devices 230 , 240 , 250 using, at least in part, the service providers 220 .
- the service providers 220 can provide a centralized solution for various cloud-based services.
- the service providers 220 can manage service subscriptions for users and devices (e.g., for the connected devices 230 , 240 , 250 and their respective users).
- the technologies and tools described herein allow for the identification of the mobile operator of a mobile computing device.
- the mobile operator of a mobile computing device is an entity that provides mobile network services to a mobile computing device.
- the mobile operator can be a Mobile Network Operator (MNO) that possesses the infrastructure and frequency allocation to operate as an independent mobile network, such as Verizon Wireless®, T-Mobile®, Vodaphone®, or a Mobile Virtual Network Operator (MVNO) that leases usage of a MNO's network.
- MNO Mobile Network Operator
- MVNO Mobile Virtual Network Operator
- Mobile operator identification allows a mobile device user to take advantage of commercial relationships between the mobile device manufacturer or provider (mobile device provider) and a mobile operator, ensures that messages and branding information specific to the mobile operator is displayed at the mobile device when appropriate, and that billing information is provided in a manner and format specific to the mobile operator.
- a GSM device with two SIM cards can have access to a first subscriber identity associated with a first mobile operator providing network services over a first geographical coverage area, and a second subscriber identity associated with a second mobile operator providing network services in a second geographical coverage area.
- the second subscriber identity may provide the mobile device user with lower service charges compared to those charged by the first mobile operator when the device is operated outside of the first geographical coverage area. That is, the second mobile operator may charge fees that are lower than the first mobile operator's roaming charges.
- the device can send a mobile operator identification request to a mobile operator identification server or service to correctly identify the mobile operator associated with the active subscriber identity.
- a mobile virtual network operator provides access to mobile network resources leased from a parent mobile network operator.
- MVNO smart cards can store data similar to that stored in a parent mobile operator smart card.
- the MCC/MNC values in an MVNO SIM card can be the same as those stored on parent MNO SIM cards.
- the mobile identification server (or service) can look to additional data provided by the mobile computing device as part of the mobile operator identification request to identify the mobile operator.
- the mobile device can be an open market phone that is not branded or customized for a particular mobile operator, and the mobile device user can select the mobile operator of his or her choosing by swapping smart cards (e.g., SIM, R-UIM, UICC cards).
- An open market mobile device can be configured to send a mobile operator identification request when the device detects the insertion of a smart card.
- a GSM mobile phone can send a mobile operator identification request when it detects that the user has swapped SIM cards
- a CDMA mobile phone can send a mobile operator identification request when it detects that a user has swapped R-UIM cards.
- the mobile device can be a dual mode device that operates as a CDMA phone that is tied to mobile operator A in the United States, and is capable of accessing GSM networks located elsewhere.
- the device user while traveling in Europe, for example, inserts a SIM card associated with mobile operator B into the device, the mobile operator can still be identified as mobile operator A if the mobile operators A and B have a business arrangement to that effect. That is, such an arrangement can stipulate that if mobile operator B supplies GSM network access to the dual mode device, the user still sees bills from mobile operator A, and mobile operator A messages and branding information are still presented at the mobile device.
- the mobile operator is identified as mobile operator B while the device is accessing the GSM network, even though the device is a CDMA phone tied to mobile operator A.
- FIG. 3 is a block diagram of an exemplary system 300 for identifying a mobile operator of a mobile computing device 310 .
- the mobile computing device 310 collects mobile operator identifier data (identifier data) 320 stored in one or more smart cards 360 and memory 370 and sends the data to a mobile operator identification server 330 .
- the identification server 330 comprises an identification engine 340 that determines the mobile operator based on the mobile operator identifier data 320 and returns mobile operator identification data 350 and configuration data 355 to the mobile computing device 310 .
- the mobile computing device 310 can be a GSM device, a CDMA device, a dual-mode GSM/CDMA phone or any other mobile computing device described herein.
- the mobile device 310 comprises one or more smart cards 360 and memory 370 storing mobile operator identifier data 320 .
- the smart cards 360 can be any of the smart cards described herein and any data stored in the smart cards (e.g., IMSI, ICCID) can be in the mobile operator identifier data.
- the memory 370 comprises mobile computing device data 375 and operating system (OS) configuration data 380 .
- Mobile computing device data 375 can comprise one or more of the following: CDMA and GSM radio serial numbers; IMEI, ESN, UIMID, EUIMID or MEID data; and NAI data.
- Operating system configuration data 380 can comprise mobile operator identifier data such as mobile operator ID data. Any portion of the mobile computing device data 375 and the operating system configuration data 380 can be sent to a mobile operator identification server 330 as part of a mobile operator identification request.
- the mobile operator identifier data 320 can comprise any data that can be used by the mobile operator identification server 330 in identifying a mobile operator. For example, as MNOs or MVNOs appear, dissolve, merge or expand into new geographic regions, data other than the identifiers and other data previously discussed may be needed to uniquely identify a mobile operator. Alternatively, a mobile operator can modify or add data stored in a smart card, or a mobile computing device provider can add additional equipment identifier data that can be used in identifying a mobile provider. In addition, mobile communication and smart card standards and protocols can evolve or new standards and protocols can appear that define additional data that can be useful to the identification server 330 in identifying a mobile operator. Thus, the mobile identifier data 320 is an expandable and dynamic collection of data.
- the mobile computing device 310 sends the mobile operator identifier data 320 to the mobile operator identification server 330 as part of a mobile operator identification request.
- the device can use pre-coded APIs to pull or “scrape” the mobile operator identifier data 320 from the smart cards 360 and the memory 370 .
- the mobile computing device 310 can be configured to contain a list (mobile operator identifier list) that comprises a plurality of mobile operator identifier fields or parameters (e.g., MCC, MNC, MSIN) that can be used by the identification server 330 , and collect as much of that information identified in the list that is available on the particular mobile computing device 310 .
- the mobile operator identifier data 320 can include values for the fields in the list.
- the particular contents of the identifier data 320 sent to the server 330 can be based on the type of mobile computing device 310 .
- CDMA-related data such as MIED and NAI data may not be included in the mobile operator identifier data 320 .
- the identifier data 320 may not contain data stored on GSM SIM cards such as elementary files (e.g., EF_ONS, EF_SPN, EF_GID1).
- the mobile operator identifier data 320 can include information associated with the identity that is currently active or information associated with more than one stored identities.
- the identifier data 320 can be sent over a secure connection to the server 330 to ensure the security of the subscriber identifying information included in the identification request.
- the mobile computing device 310 can submit a mobile operator identification request to the mobile operator identification server 330 when the device is first turned on, when the device detects insertion of a smart card, when the device detects the user has switched subscriber identities, when the device switches to or from roaming mode, or in response to various other events. Identification requests can be made at periodic intervals or at any other time.
- the mobile computing device can make an identification request in response to receiving a command from the identification server 330 for the mobile device to make such a request.
- the identification server 330 can make such a request, for example, after mobile operator rules (discussed below) have been updated.
- the mobile operator identification server 330 can be a remote (cloud-based) server operated by a mobile computing device provider or any other party.
- the server 330 comprises an identification engine 340 that attempts to identify a mobile operator (identified mobile operator) based on the mobile operator identifier data 320 sent to the server 330 from the mobile computing device 310 .
- the identification engine 340 attempts to identify the mobile operator by comparing the received mobile operator identifier data 320 against a plurality of mobile operator rules.
- the mobile operator rules are associated with one or more mobile operators.
- each mobile operator rule is associated with a mobile operator, and each rule specifies a set of conditions that are to be satisfied in order for the mobile operator associated with the rule to be identified as the mobile operator for the mobile computing device.
- the identification server 330 receives identifier data 320 comprising values for 17 parameters, and individual mobile operator rules specify conditions for 1 to 6 parameters.
- identifier data 320 comprising values for 17 parameters
- individual mobile operator rules specify conditions for 1 to 6 parameters.
- each mobile operator rule is associated with an individual mobile operator, no individual mobile operator requires more than six parameters to be examined in order to identify that particular operator as the mobile operator.
- Different rules can look at different sets of parameters to identify different mobile operators.
- the identification engine 340 identifies a mobile operator by examining the rules one at a time until a match is found. For example, for a current mobile operator rule being examined, the identification engine 340 applies the conditions specified in the rule one at a time to the mobile operator identifier data 320 until either all of the conditions are found to be satisfied, or one of the conditions is not satisfied. If at least one of the conditions is not satisfied by the identifier data, the identification engine 340 moves on to the next mobile operator rule. If all conditions of a rule are satisfied, the identification engine 340 can identify the mobile operator associated with the matched rule as the identified mobile operator, and rule checking is ceased. Alternatively, the identification engine 340 can check the remaining mobile operator rules to see if any other rules are satisfied.
- the identification engine 340 can determine that the mobile operator cannot be unambiguously resolved and does not identify a mobile operator. If there are no matches, or if the matches give an ambiguous result, the server cannot reply to the mobile operator identification request from the mobile computing device 310 or it can send an indication to the mobile computing device 310 that the mobile operator could not be identified.
- mobile operators A and B operating in the same country are not distinguishable by their MCC (mobile country code) and MNC (mobile network code) values alone, but are distinguishable based on MSIN (Mobile Subscription Identifier Number) values.
- MCC mobile country code
- MNC mobile network code
- MSIN Mobile Subscription Identifier Number
- Other mobile operator rules for other mobile operators may be distinguishable based on MCC/MNC values.
- mobile operator rules need only specify two conditions (that the MCC and MNC values match certain values) in order for the mobile operator to be identified.
- Still other mobile operator rules can include conditions that specify elementary file values.
- mobile operator rules can include a condition that EF_SPN, EF_ONS, EF_GID1, EF_GID2, EF_PNN or EF_OPL data match certain values.
- mobile operator rules for identifying a mobile operator associated with an R-UIM can include conditions that EF_PNN and/or EF_OPN data match certain values.
- the mobile operator rules are collectively embodied by a decision tree that the engine 340 traverses depending on the values of the received identifier data.
- Paths in the decision tree from the root node to a leaf node can be associated with a mobile operator rule.
- the identification engine 340 can start at the root of the decision tree and follow the appropriate branch of decision nodes depending on the outcome of each decision.
- the engine can traverse the decision tree until it reaches a leaf node.
- a condition at a leaf node being satisfied can indicate satisfaction of a mobile operator rule.
- an identification engine 340 can contain a large number of mobile operator rules. These rules can be updated to reflect the emergence of new MNOs or MVNOs, the acquisition and merger of MOs with other MOs or MVNOs, the dissolution of MNOs and MVNOs, the expansion of mobile operators into new geographic areas and the like. Given the rate at which the mobile operator business landscape changes, updating the identification engine 340 of a centralized identification server or service can avoid frequently pushing software updates to mobile computing devices worldwide (of which there are a multitude) if the identification engine 340 were implemented locally at the mobile device 310 . Rules associated with a mobile operator can be updated to specify conditions for more or fewer parameters. Mobile operator rules can also be modified in response to changes in mobile communication or smart card protocols or standards.
- the engine 340 if the identification engine 340 indicates that a mobile operator cannot be identified, the engine 340 notifies personnel responsible for managing the identification server 330 .
- the notification includes the identifier data resulting in failure of the engine to identify the mobile operator. If the personnel determine that the reported identifier data uniquely identifies a mobile operator, the personnel can add new mobile operator rules to the set of mobile operator rules or modify existing ones. If the identification engine 340 utilizes a decision tree to resolve mobile operator identity, the decision tree can be updated. An updated mobile operator identifier list can be received by the mobile computing device 310 in response to a change in mobile operator rules, mobile communication or smart card protocols or standards, or the like.
- the identification engine 340 can reside at a computing device (mobile or non-mobile) located locally to the computing device such as a personal computer connected to the mobile device 310 via a wired or wireless connection, or available over a local network, such as a Wi-Fi network. In such embodiments, the mobile operator identification function remains offloaded from the mobile device. In other embodiments, the identification engine 340 is located in the mobile computing device. In embodiments where an identification engine 340 is located external to an identification server 330 , the identification engine 340 can be updated remotely to reflect changes in the mobile operator identification rules.
- the identification server 330 sends mobile operator identification data 350 and configuration data 355 associated with the mobile operator to the mobile computing device 310 .
- the mobile operator identification data 350 can comprise any information, such as a text string or numeric code that identifies a mobile operator.
- the configuration data 355 can comprise any information that can be utilized by either the mobile device 310 or a commerce process 390 to take advantage of a commercial relationship between the mobile device provider and a mobile operator.
- Configuration data 355 can further comprise the Access Point Name (APN) of a mobile operator; image files containing logos, trademarks or other branding graphic elements as well as audio files associated with the identified mobile operator for presentation at the mobile device.
- API Access Point Name
- the configuration data can also comprise the web address of one or more websites where a mobile device user can take advantage of commercial relationships between the mobile device provider and the identified mobile operator.
- the configuration data 355 can also comprise bookmarks to be added to the device web browser that directs the user to web sites of the identified mobile operator or mobile device provider, and mobile operator contact information to be added to the device's contact database.
- the mobile operator identification data 350 and the configuration data 355 can be stored as mobile operator data 385 in the memory 370 of the mobile device 310 , and the device can configure itself according to the received configuration data 355 .
- a commerce process 390 is a set of computer-executable instructions that can determine whether the configuration data 355 stored in a mobile computing device 310 identifies a mobile provider for which the commerce process 390 allows a mobile device user to take advantage of a commercial relationship between the mobile device provider and a mobile operator.
- the commerce process 390 can be part of an online marketplace system operated by a mobile device provider or other vendor. That is, a commerce process 390 can be software executing on a server that hosts an online marketplace for a mobile device provider.
- the commerce process 390 can be a set of computer-executable instructions that execute on the mobile computing device 310 .
- the commerce process 390 can receive mobile operator identification data 350 and/or configuration data 355 from the mobile computing device.
- a mobile device user accessing an online marketplace operated by the mobile device provider may be presented with unique product or service offerings, discounts or other deals if the marketplace determines that the mobile device accessing the store was provided by the mobile device provider and the device's mobile operator is one with which the mobile device provider has a commercial relationship.
- a mobile device provider can offer special discounts on software applications, peripherals, accessories or other mobile computing devices to users who access mobile networks via one of the mobile device provider's business partners.
- the unique product or service offerings, discounts or other deals can be presented at a display of the mobile computing device as part of an online marketplace user interface presented at the display of the mobile device 310 .
- Correct mobile operator identification is also useful in ensuring that the logos, trademarks or other branding information, which can include audio, text, image or video data, of the proper mobile operator is displayed at the mobile device. For example, if a mobile device is using a certain MVNO as its mobile operator, when the user goes to view their monthly bill online, the bill should be indicated as coming from the MVNO, and not the parent MNO. That is, any information in the bill that is specific to a mobile operator (e.g., logos, trademarks, contact information, etc.) should be that of the MVNO and not of the parent MNO (unless the parties have an agreement stating otherwise). Other billing options such as manner of delivery (e.g., email, SMS, MMS, print) should be consistent with that of the mobile operator.
- manner of delivery e.g., email, SMS, MMS, print
- the mobile computing device 310 can take certain actions to tailor the device configuration to the current mobile operator. For example, the device can access the mobile device provider's online store, determine that there is an application associated with to the device's current mobile operator that can be downloaded and installed on the mobile device 310 that allows a user to manage his subscription, view and pay bills, monitor usage and the like, and present the user with the option to download the application. The device 310 can similarly query the user whether he or she would like to add a bookmark to the mobile device provider's website to the mobile device web browser application.
- the mobile device 310 can store the mobile operator for more than one of the subscriptions, not just the mobile operator that is currently providing mobile network services.
- the mobile device user can take advantage of any commercial relationships between the mobile device provider and the mobile operators associated with the multiple subscriber identities.
- usage frequency information can be stored at the mobile device 310 indicating, for example, when the subscriber identities associated with a particular mobile operator was last used. This usage information can be utilized by a mobile device provider's online marketplaces to determine whether the mobile device user should be presented with special pricings and offerings. For example, a store may offer special deals if the user is currently using the mobile operator, or if the device 310 has used the mobile operator within the past day, week, month or other period.
- FIG. 4 is a flowchart of a first exemplary mobile operator identification method 400 .
- the method 400 can be performed by mobile operator identification server operated by a smartphone provider.
- a mobile operator identification request is received from a mobile computing device.
- the mobile operator identification request comprises mobile operator identifier data.
- the identification server receives a mobile operator identification request from a GSM smartphone.
- the request comprises mobile operator identifier data stored on the smart card inserted in the smartphone.
- the mobile operator rules are associated with a plurality of mobile operators.
- the server determines that the identifier data matches a mobile operator rule associated with mobile operator A.
- mobile operator identification data identifying the identified mobile operator and configuration data associated with the identified mobile operator is sent to the mobile computing device.
- the configuration data comprises information that can be utilized by the mobile computing device or a commerce process to take advantage of a commercial relationship between a mobile device provider and the identified mobile operator.
- first mobile operator identification data is sent to the mobile computing device.
- only one mobile operator rule matches the mobile operator identifier data and mobile operator A identification data is sent to the GSM smartphone.
- Configuration data associated with mobile operator A is also sent to the GSM smartphone comprising information that can be utilized by a commerce process that is part of an online marketplace hosted by the smartphone provider to provide certain goods and services on the online marketplace for a 10% discount.
- the method can further comprise adding at least one mobile operator rule to the plurality of mobile operator rules or modifying at least one of the mobile operator rules. In additional embodiments of method 400 , the method can further comprise sending a request to the mobile computing device to send a second mobile operator identification request.
- FIG. 5 is a flowchart of a second exemplary mobile operator identification method 500 .
- the method 500 can be performed by, for example, a GSM smartphone holding two SIM cards, a first SIM card storing information representing a subscriber identity associated with T-Mobile® and a second SIM card storing information representing a subscriber identity associated with AT&T® Mobility.
- a mobile operator identification request is sent from a mobile computing device to a mobile operator identification server.
- the mobile operator identification request comprises mobile operator identifier data.
- the smartphone sends a mobile operator identification request to an identification server operated by the smartphone provider.
- the request comprises data stored on the first SIM card.
- mobile operator identification data identifying a mobile operator is received and configuration data associated with the mobile operator from the mobile operator identifier server.
- the smartphone receives mobile operator identification data identifying T-Mobile® as the mobile operator, and configuration associated with T-Mobile® comprising information that can be utilized by a commerce process executing as part of an online marketplace hosted by T-Mobile® to take advantage of a relationship between the mobile device provider and T-Mobile®.
- the computing device comprises one or more smart card slots and the method 500 further comprises detecting insertion of a smart card into one of the one or more smart card slots, and sending a second mobile operator identification request to the mobile operator identification server, the second mobile operator identification request comprising mobile operator identifier data stored in the smart card.
- the GSM smartphone can detect insertion of a new SIM card in one of the SIM card slots and send a second mobile operator identification request to the identification server containing information pulled from the new SIM card.
- the mobile operator identification data and the configuration data can be stored at the mobile computing device.
- FIG. 6 is a flowchart of an exemplary method 600 of a mobile computing device communicating with a commerce process to allow a mobile computing device user to take advantage of a commercial relationship between a mobile computing device provider and a mobile operator.
- the method 600 can be performed by, for example, a smartphone provided by mobile computing device provider A that has received mobile identification data identifying mobile operator B as the mobile operator for the smartphone, and configuration data associated with mobile operator B comprising information that can be utilized by mobile operator B's online marketplace to offer special deals to the smartphone user.
- mobile operator identification data and/or configuration data is sent to a commerce process.
- the smartphone sends configuration data indicating that there is a commercial relationship between mobile operator B and mobile computing device provider A.
- method 500 can include 610 and 620 of method 600 .
- Any of the disclosed methods can be implemented as computer-executable instructions or a computer program product stored on one or more computer-readable storage media (e.g., non-transitory computer-readable media, such as one or more optical media discs such as DVD or CD, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g., any commercially available computer, including smartphones or other mobile devices that include computing hardware).
- Computer-readable storage media does not include propagated signals.
- Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable storage media (e.g., non-transitory computer-readable media).
- the computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application).
- Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
- any of the software-based embodiments can be uploaded, downloaded, or remotely accessed through a suitable communication means.
- suitable communication means include, for example, the Internet, the World Wide Web, an intranet, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
Abstract
Description
- This application claims priority to and the benefit of U.S. Patent Application No. 61/489,207, filed on May 23, 2011, which is incorporated herein by reference.
- Network services utilized by mobile computing devices are provided by various mobile network operators and mobile virtual network operators. In some cases, a mobile computing device can be tethered to a single mobile network operator. In other cases, the mobile network operator currently providing network services for a mobile computing device can be based on various factors, such as information stored on a Subscriber Identity Module (SIM) card inserted in the mobile device and the mobile device's location (for example, which country the device is located in or whether the device is located out of its “home” network (i.e., the device is “roaming”)).
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- In one embodiment, a mobile computing device requests identification of the mobile network operator that the device is using to access a mobile network. The request is sent to a remote mobile operator identification server and comprises information pulled from the mobile device and any smart card, such as a SIM card, inserted in the device. If the server can determine the mobile operator based on the supplied data, the mobile device receives information identifying the mobile operator, along with associated configuration information. Configuration information can include information that can be used by the mobile device or an online marketplace to allow a mobile device user to take advantage of business relationships, such as offering special discounts on goods and services, between the mobile device provider and the identified mobile operator. An identification request can be made when a new SIM card (or any other type of smart card, such as an R-UIM or UICC card) is inserted into the mobile device or when a device switches subscriber identities.
- In another embodiment, a mobile operator identification server receives a mobile operator identification request from a mobile device. The request comprises data pulled from the mobile device. The service compares the received data against a set of mobile operator rules in an attempt to determine the identity of the mobile operator. If at least one of the rules is satisfied, and the satisfied rules unambiguously identify the mobile operator, information identifying the mobile operator and associated configuration data is sent to the mobile device.
- In another embodiment, a mobile device can supply information identifying a mobile operator to an online marketplace operated by the mobile device provider. If the mobile operator is one with which the mobile device provider has a business or commercial relationship, the mobile device user is presented with special discounts, product or service offerings or other deals according to the business relationship. Identification of the mobile operator also provides for branding information specific to the identified mobile operator to be presented at the mobile device, as well as billing settings (e.g., bill messages, billing delivery format) to be appropriately set.
- The foregoing and other objects, features and advantages of the invention will become more apparent from the following detailed description, which proceeds with reference to the accompanying figures.
-
FIG. 1 is a system diagram depicting an exemplary mobile computing device. -
FIG. 2 illustrates a generalized example of a suitable implementation environment in which described embodiments, techniques, and technologies may be implemented. -
FIG. 3 is a block diagram of an exemplary system for identifying a mobile operator of a mobile computing device. -
FIG. 4 is a flowchart of a first exemplary mobile operator identification method. -
FIG. 5 is a flowchart of a second exemplary mobile operator identification method. -
FIG. 6 is a flowchart of an exemplary method of a mobile computing device communicating with a commerce process to allow a user to take advantage of a commercial relationship between a mobile computing device provider and a mobile operator. - As used in this application and in the claims, the singular forms “a,” “an,” and “the” include the plural forms unless the context clearly dictates otherwise. Similarly, the word “or” is intended to include “and” unless the context clearly indicates otherwise. The term “comprising” means “including;” hence, “comprising A or B” means including A or B, as well as A and B together. Additionally, the term “includes” means “comprises.”
-
FIG. 1 is a system diagram depicting an exemplarymobile computing device 100 that can be used to perform methods described herein. Themobile computing device 100 can include a variety of optional hardware andsoftware components 105. Generally,components 105 can communicate with other components, although not all connections are shown, for ease of illustration. Themobile computing device 100 can be any of a variety of mobile computing devices (e.g., cell phone, smartphone, handheld computer, laptop computer, notebook computer, tablet device, slate device, media player, Personal Digital Assistant (PDA), camera, video camera) and can allow wired or wireless communication with one ormore networks 104, such as a Wi-Fi, terrestrial cellular or satellite network. - The
mobile computing device 100 can include a controller or processor 110 (e.g., signal processor, graphics processing unit (GPU), microprocessor, ASIC, or other control and processing logic circuitry or software) for performing such tasks as signal coding, graphics processing, data processing, input/output processing, power control, and/or other functions. Anoperating system 112 can control the allocation and usage of thecomponents 105 and support for one ormore application programs 114. Theapplication programs 114 can include common mobile computing applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications) as well as other computing applications, such as a mobileoperator identification application 115 that retrieves data from a smart card(s) 124 and/or non-removablememory 122 for inclusion in a mobile operator identification request, and sends mobile operator identification requests. Thesmart card 124 is typically any removable card that comprises circuitry (e.g., memory, microprocessor) that is used for identification purposes. The smart card can also be used for authentication, data storage, application processing, etc. Particular smart cards are described herein, but other cards can be used. - The
mobile computing device 100 can includememory 120.Memory 120 can includenon-removable memory 122 and removable memory 123. The non-removable, or embedded memory, 122 can include RAM, ROM, flash memory, a hard drive, or other well-known memory storage technologies. The removable memory 123 can include flash memory cards (e.g., SD (Secure Digital) cards), memory sticks, or other well-known memory storage technologies, such as “smart cards.” InFIG. 1 , the removable memory 123 comprises one or moresmart cards 124. Thesmart cards 124 can be a SIM card, a Removable User Identity Module (R-UIM) card, a Universal Integrated Circuit Cards (UICC) card or any other type of smart card. Thememory 120 can be used for storing data and/or computer-executable instructions for running the operating system (OS) 112 and theapplication programs 114 on thedevice 100. Example data can include web pages, text, images, sound files, video data or other data sets to be sent to and/or received from one or more network servers or other devices by themobile computing device 100 via one or more wired or wireless networks. Thecomputing device 100 can also have access to external memory (not shown) such as external hard drives. - The mobile computing device 100 (mobile device) can support one or
more input devices 130, such as atouch screen 132, microphone(s) 134, camera(s) 136,physical keyboard 138 and/ortrackball 139 and one ormore output devices 140, such as speaker(s) 142 and adisplay 144. Other possible output devices (not shown) can include piezoelectric or other haptic output devices. Any of theinput devices 130 andoutput devices 140 can be internal to (as shown), external to, or removably attachable with thecomputing device 100. External input andoutput devices computing device 100 via a wired or wireless connection. Some devices can serve more than one input/output function. For example,touchscreen 132 anddisplay 144 can be combined in a single input/output device. - A
wireless modem 160 can be coupled to awireless modem antenna 162 and can support two-way communications between themobile computing device 100 and external devices, as is well understood in the art. Themodem 160 and theantenna 162 are shown generically and can be a wireless cellular modem for communicating with a mobile cellular communication network. Thewireless modem 160 can comprise other radio-based modems such as a Wi-Fi modem 163 or a Bluetoothmodem 164, each of which can be coupled to its own antenna (e.g., Wi-Fi antenna 168, Bluetooth antenna 169). Thewireless modem 160 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile computing device and a public switched telephone network (PSTN). - The
mobile computing device 100 can further include at least one input/output port 170 (which can be, for example, a USB port, IEEE 1394 (FireWire) port, and/or RS-232 port) comprising physical connectors 172 and apower supply 174, a satellite navigation system receiver such as aGPS receiver 175. TheGPS receiver 175 can be coupled to a GPS antenna 179. - The
mobile computing device 100 can be a GSM device (i.e., the device conforms to the GSM (Global System for Mobile Communication) standard), a CDMA device (i.e. the device employs Code Division Multiplexing Access (CDMA) or conforms to a CDMA-based standard such as CDMA2000), a dual mode device (i.e., a device that is compatible with both GSM and CDMA networks), or a device that conforms to any other mobile communication standard such as LTE (3GPP (3rd Generation Partnership Project) Long Term Evolution) and SVLTE (Simultaneous Voice and Long Term Evolution data), or employs any other channel access method (e.g., Time Division Multiplexing Access (TDMA)). - The
mobile computing device 100 can comprise one or more smart card slots for receiving one or more smart cards (e.g., SIM, R-UIM, UICC cards) that store network subscriber identification data and smart card identification data. For example, a GSM device comprises one or more slots that accept Subscriber Identity Module (SIM) smart cards (SIM cards). A SIM card stores an International Mobile Subscriber Identity (IMSI) that uniquely defines a mobile operator subscriber. Typically, the first three digits of an IMSI are the Mobile Country Code (MCC), the next 2 or 3 digits are the Mobile Network Code (MNC) and the remaining digits are the Mobile Subscription Identification Number (MSIN). The MSIN identifies a subscriber for a given mobile operator. SIM cards also store an Integrated Circuit Card Identifier (ICCID), which is the serial number of the SIM card. SIM cards store additional data in elementary files (EFs) such as an operator name string (EF_ONS), service provider name (EF_SPN), group identifier level (EF_GID1 and EF_GID2) values, PLMN (Public Land Mobile Network) network name (EF_PNN), and an operator PLMN list (EF_OPL, a prioritized list of Location Area Information (LAI) identities used to associated a specific operator name in EF_PNN with a LAI). In some embodiments, the functionality of or the information stored on the smart cards is integrated into themobile computing device 100. - The
memory 120 can store identifiers for themobile computing device 100 such as an International Mobile Equipment Identifier (IMEI), which uniquely identifies a GSM mobile device, or an Electronic Serial Number (ESN) or a Mobile Equipment Identifier (MEID) that uniquely identifies a CDMA phone. - Another example of a mobile computing device smart card is the Removable User Identity Module (R-UIM) that can be used in CDMA devices. R-UIMs store an IMSI and additional data such as a Temporary Mobile Subscriber Identifier (TMSI); a Network Access Identifier (NAI), a User Identity Module Identifier (UIMID), an Expanded UIMID (EUIMID) or ICCID hardware identifiers, as well as additional information for CDMA operation. IMSIs that can be stored on an R-UIM include an IMSI-M and an IMSI_T. IMSI_M is an MIN-based (Mobile Identification Number, a unique number that a wireless carrier uses to identify a mobile phone) IMSI that uses the lower 10-digits of the IMSI to store the MIN, and IMSI_T is a “true” IMSI that is not associated with an MIN. A third example of a mobile computing device smart card is the Universal Integrated Circuit Cards (UICC) that can be used with either GSM or CDMA devices. The
mobile computing device 100 can accept additional smart cards that enable the mobile computing device to access a mobile network via the services of a mobile operator. - The
mobile computing device 100 can have access to more than one subscriber identity (e.g., due to two SIM cards being inserted into the device, each card storing one subscriber identity, or one SIM card being inserted into the device storing more than one subscriber identity) and can switch between identities. Mobile devices containing two smart cards can switch betweensmart cards 124 or operate both cards simultaneously. - Subscriber and equipment identifiers stored on the
smart cards 124, such as IMSI and ICCID values, as well as any other data stored on thesmart cards 124 or in mobilecomputing device memory 120 can be transmitted to a mobile operator identification server as part of a mobile operator identification request to identify a mobile operator of themobile computing device 100. - The illustrated
components 105 are not required or all-inclusive, as any components can be deleted and other components can be added. -
FIG. 2 illustrates a generalized example of asuitable implementation environment 200 in which described embodiments, techniques, and technologies may be implemented. Inexample environment 200, various types of services (e.g., computing services) are provided by acloud 210. For example, thecloud 210 can comprise a collection of computing devices, which may be located centrally or distributed, that provide cloud-based services to various types of users and devices connected via a network such as the Internet. Theimplementation environment 200 can be used in different ways to accomplish computing tasks, For example, some tasks (e.g., processing user input and presenting a user interface) can be performed on local computing devices (e.g., connecteddevices cloud 210. - In
example environment 200, thecloud 210 provides services forconnected devices Connected device 230 represents a device with a computer screen (e.g., a mid-size screen 235). For example, connecteddevice 230 could be a desktop, laptop, notebook, netbook or tablet computer or the like.Connected device 240 represents a mobile computing device with a mobile computing device screen 245 (e.g., a small-size screen). For example, connecteddevice 240 could be a mobile phone, smartphone, personal digital assistant or the like.Connected device 250 represents a device with alarge screen 255. For example, connecteddevice 250 could be a television with Internet connectivity, or a television connected to another device capable of connecting to the cloud such as a set-top box, gaming console or the like. Devices without screen capabilities also can be used inexample environment 200. For example, thecloud 210 can provide services for one or more computers (e.g., server computers) without displays. - Services can be provided by the
cloud 210 throughservice providers 220, or through other providers of online services (not depicted). For example, cloud services can be customized to the screen size, display capability, and/or touch screen capability of a particular connected device (e.g., connecteddevices service providers 220 include, for example, email, Short Message Service (SMS), Multimedia Message Service (MMS), mobile operator identification, social networking and website hosting. The service providers can host online marketplaces offering wide varieties of goods and services such as software applications and upgrades and media content which can be obtained by users with or without purchase and for download from the cloud or delivery through postal mail. - In
example environment 200, thecloud 210 provides the technologies and solutions described herein to the various connecteddevices service providers 220. For example, theservice providers 220 can provide a centralized solution for various cloud-based services. Theservice providers 220 can manage service subscriptions for users and devices (e.g., for theconnected devices - The technologies and tools described herein allow for the identification of the mobile operator of a mobile computing device. The mobile operator of a mobile computing device (mobile operator) is an entity that provides mobile network services to a mobile computing device. The mobile operator can be a Mobile Network Operator (MNO) that possesses the infrastructure and frequency allocation to operate as an independent mobile network, such as Verizon Wireless®, T-Mobile®, Vodaphone®, or a Mobile Virtual Network Operator (MVNO) that leases usage of a MNO's network. Mobile operator identification allows a mobile device user to take advantage of commercial relationships between the mobile device manufacturer or provider (mobile device provider) and a mobile operator, ensures that messages and branding information specific to the mobile operator is displayed at the mobile device when appropriate, and that billing information is provided in a manner and format specific to the mobile operator.
- In a first exemplary mobile operator identification scenario, mobile devices capable of accepting multiple smart cards or individual smart cards storing multiple subscriber identities switch between identities. In one example, a GSM device with two SIM cards can have access to a first subscriber identity associated with a first mobile operator providing network services over a first geographical coverage area, and a second subscriber identity associated with a second mobile operator providing network services in a second geographical coverage area. The second subscriber identity may provide the mobile device user with lower service charges compared to those charged by the first mobile operator when the device is operated outside of the first geographical coverage area. That is, the second mobile operator may charge fees that are lower than the first mobile operator's roaming charges. When the device switches from one subscriber identity to another, the device can send a mobile operator identification request to a mobile operator identification server or service to correctly identify the mobile operator associated with the active subscriber identity.
- In a second exemplary mobile operator identification scenario, a mobile virtual network operator (MVNO) provides access to mobile network resources leased from a parent mobile network operator. MVNO smart cards can store data similar to that stored in a parent mobile operator smart card. For example, the MCC/MNC values in an MVNO SIM card can be the same as those stored on parent MNO SIM cards. In this case, the mobile identification server (or service) can look to additional data provided by the mobile computing device as part of the mobile operator identification request to identify the mobile operator.
- In a third exemplary mobile operator identification scenario, the mobile device can be an open market phone that is not branded or customized for a particular mobile operator, and the mobile device user can select the mobile operator of his or her choosing by swapping smart cards (e.g., SIM, R-UIM, UICC cards). An open market mobile device can be configured to send a mobile operator identification request when the device detects the insertion of a smart card. For example, a GSM mobile phone can send a mobile operator identification request when it detects that the user has swapped SIM cards, and a CDMA mobile phone can send a mobile operator identification request when it detects that a user has swapped R-UIM cards.
- In a fourth scenario, the mobile device can be a dual mode device that operates as a CDMA phone that is tied to mobile operator A in the United States, and is capable of accessing GSM networks located elsewhere. If the device user, while traveling in Europe, for example, inserts a SIM card associated with mobile operator B into the device, the mobile operator can still be identified as mobile operator A if the mobile operators A and B have a business arrangement to that effect. That is, such an arrangement can stipulate that if mobile operator B supplies GSM network access to the dual mode device, the user still sees bills from mobile operator A, and mobile operator A messages and branding information are still presented at the mobile device. Alternatively, if there is no business arrangement between mobile operators A and B, the mobile operator is identified as mobile operator B while the device is accessing the GSM network, even though the device is a CDMA phone tied to mobile operator A.
-
FIG. 3 is a block diagram of anexemplary system 300 for identifying a mobile operator of amobile computing device 310. Themobile computing device 310 collects mobile operator identifier data (identifier data) 320 stored in one or moresmart cards 360 andmemory 370 and sends the data to a mobileoperator identification server 330. Theidentification server 330 comprises anidentification engine 340 that determines the mobile operator based on the mobileoperator identifier data 320 and returns mobileoperator identification data 350 and configuration data 355 to themobile computing device 310. - The
mobile computing device 310 can be a GSM device, a CDMA device, a dual-mode GSM/CDMA phone or any other mobile computing device described herein. Themobile device 310 comprises one or moresmart cards 360 andmemory 370 storing mobileoperator identifier data 320. - The
smart cards 360 can be any of the smart cards described herein and any data stored in the smart cards (e.g., IMSI, ICCID) can be in the mobile operator identifier data. Thememory 370 comprises mobilecomputing device data 375 and operating system (OS)configuration data 380. Mobilecomputing device data 375 can comprise one or more of the following: CDMA and GSM radio serial numbers; IMEI, ESN, UIMID, EUIMID or MEID data; and NAI data. Operatingsystem configuration data 380 can comprise mobile operator identifier data such as mobile operator ID data. Any portion of the mobilecomputing device data 375 and the operatingsystem configuration data 380 can be sent to a mobileoperator identification server 330 as part of a mobile operator identification request. - The mobile
operator identifier data 320 can comprise any data that can be used by the mobileoperator identification server 330 in identifying a mobile operator. For example, as MNOs or MVNOs appear, dissolve, merge or expand into new geographic regions, data other than the identifiers and other data previously discussed may be needed to uniquely identify a mobile operator. Alternatively, a mobile operator can modify or add data stored in a smart card, or a mobile computing device provider can add additional equipment identifier data that can be used in identifying a mobile provider. In addition, mobile communication and smart card standards and protocols can evolve or new standards and protocols can appear that define additional data that can be useful to theidentification server 330 in identifying a mobile operator. Thus, themobile identifier data 320 is an expandable and dynamic collection of data. - The
mobile computing device 310 sends the mobileoperator identifier data 320 to the mobileoperator identification server 330 as part of a mobile operator identification request. The device can use pre-coded APIs to pull or “scrape” the mobileoperator identifier data 320 from thesmart cards 360 and thememory 370. Themobile computing device 310 can be configured to contain a list (mobile operator identifier list) that comprises a plurality of mobile operator identifier fields or parameters (e.g., MCC, MNC, MSIN) that can be used by theidentification server 330, and collect as much of that information identified in the list that is available on the particularmobile computing device 310. The mobileoperator identifier data 320 can include values for the fields in the list. The particular contents of theidentifier data 320 sent to theserver 330 can be based on the type ofmobile computing device 310. For example, if themobile device 310 is a single-mode GSM device, CDMA-related data such as MIED and NAI data may not be included in the mobileoperator identifier data 320. Similarly, if thedevice 310 is a single-mode CDMA phone, theidentifier data 320 may not contain data stored on GSM SIM cards such as elementary files (e.g., EF_ONS, EF_SPN, EF_GID1). If the data stored in thesmart cards 360 comprises more than one subscriber identities, the mobileoperator identifier data 320 can include information associated with the identity that is currently active or information associated with more than one stored identities. Theidentifier data 320 can be sent over a secure connection to theserver 330 to ensure the security of the subscriber identifying information included in the identification request. - The
mobile computing device 310 can submit a mobile operator identification request to the mobileoperator identification server 330 when the device is first turned on, when the device detects insertion of a smart card, when the device detects the user has switched subscriber identities, when the device switches to or from roaming mode, or in response to various other events. Identification requests can be made at periodic intervals or at any other time. The mobile computing device can make an identification request in response to receiving a command from theidentification server 330 for the mobile device to make such a request. Theidentification server 330 can make such a request, for example, after mobile operator rules (discussed below) have been updated. - The mobile
operator identification server 330 can be a remote (cloud-based) server operated by a mobile computing device provider or any other party. Theserver 330 comprises anidentification engine 340 that attempts to identify a mobile operator (identified mobile operator) based on the mobileoperator identifier data 320 sent to theserver 330 from themobile computing device 310. - The
identification engine 340 attempts to identify the mobile operator by comparing the received mobileoperator identifier data 320 against a plurality of mobile operator rules. The mobile operator rules are associated with one or more mobile operators. Typically, each mobile operator rule is associated with a mobile operator, and each rule specifies a set of conditions that are to be satisfied in order for the mobile operator associated with the rule to be identified as the mobile operator for the mobile computing device. Mobile operator rules specify conditions for any number of parameters in the identifier data, and generally specify conditions for less than all of the parameters received in a set of identifier data. For example, a first condition in a mobile operator rule can specify that MCC=X, a second condition can specify that MNC=Y, and third condition can specify that MSIN is within a range of values. In one embodiment, theidentification server 330 receivesidentifier data 320 comprising values for 17 parameters, and individual mobile operator rules specify conditions for 1 to 6 parameters. Thus, in this particular embodiment, if each mobile operator rule is associated with an individual mobile operator, no individual mobile operator requires more than six parameters to be examined in order to identify that particular operator as the mobile operator. Different rules can look at different sets of parameters to identify different mobile operators. - In some embodiments, the
identification engine 340 identifies a mobile operator by examining the rules one at a time until a match is found. For example, for a current mobile operator rule being examined, theidentification engine 340 applies the conditions specified in the rule one at a time to the mobileoperator identifier data 320 until either all of the conditions are found to be satisfied, or one of the conditions is not satisfied. If at least one of the conditions is not satisfied by the identifier data, theidentification engine 340 moves on to the next mobile operator rule. If all conditions of a rule are satisfied, theidentification engine 340 can identify the mobile operator associated with the matched rule as the identified mobile operator, and rule checking is ceased. Alternatively, theidentification engine 340 can check the remaining mobile operator rules to see if any other rules are satisfied. If more than one rule is satisfied and the matched rules are associated with the same mobile operator, that mobile operator is the identified mobile operator for the mobile device supplying the identifier data. If the matched rules are associated with different mobile operators, theidentification engine 340 can determine that the mobile operator cannot be unambiguously resolved and does not identify a mobile operator. If there are no matches, or if the matches give an ambiguous result, the server cannot reply to the mobile operator identification request from themobile computing device 310 or it can send an indication to themobile computing device 310 that the mobile operator could not be identified. - In one example of mobile operator rules, mobile operators A and B operating in the same country are not distinguishable by their MCC (mobile country code) and MNC (mobile network code) values alone, but are distinguishable based on MSIN (Mobile Subscription Identifier Number) values. Thus, a mobile operator rule for mobile operator A can specify the conditions that MCC=X, MNC=Y and that MSIN falls within a first range, and a mobile operator rule for mobile operator B can specify the conditions MCC=X, MNC=Y and that MSIN falls within a second range. Other mobile operator rules for other mobile operators (or for mobile operators A and B operating in another country) may be distinguishable based on MCC/MNC values. Accordingly, such mobile operator rules need only specify two conditions (that the MCC and MNC values match certain values) in order for the mobile operator to be identified. Still other mobile operator rules can include conditions that specify elementary file values. For example, mobile operator rules can include a condition that EF_SPN, EF_ONS, EF_GID1, EF_GID2, EF_PNN or EF_OPL data match certain values. For instance, mobile operator rules for identifying a mobile operator associated with an R-UIM can include conditions that EF_PNN and/or EF_OPN data match certain values.
- In some embodiments, the mobile operator rules are collectively embodied by a decision tree that the
engine 340 traverses depending on the values of the received identifier data. Nodes in the decision tree can be associated with mobile operator identification fields (e.g., MCC) and branches of a node can indicate a condition associated with the field (e.g., MCC=X, MCC=Y, MCC=Z). Paths in the decision tree from the root node to a leaf node can be associated with a mobile operator rule. Theidentification engine 340 can start at the root of the decision tree and follow the appropriate branch of decision nodes depending on the outcome of each decision. The engine can traverse the decision tree until it reaches a leaf node. A condition at a leaf node being satisfied can indicate satisfaction of a mobile operator rule. - Given the large number of mobile operators, mobile virtual network operators and the business relationships between them, an
identification engine 340 can contain a large number of mobile operator rules. These rules can be updated to reflect the emergence of new MNOs or MVNOs, the acquisition and merger of MOs with other MOs or MVNOs, the dissolution of MNOs and MVNOs, the expansion of mobile operators into new geographic areas and the like. Given the rate at which the mobile operator business landscape changes, updating theidentification engine 340 of a centralized identification server or service can avoid frequently pushing software updates to mobile computing devices worldwide (of which there are a multitude) if theidentification engine 340 were implemented locally at themobile device 310. Rules associated with a mobile operator can be updated to specify conditions for more or fewer parameters. Mobile operator rules can also be modified in response to changes in mobile communication or smart card protocols or standards. - In some embodiments, if the
identification engine 340 indicates that a mobile operator cannot be identified, theengine 340 notifies personnel responsible for managing theidentification server 330. The notification includes the identifier data resulting in failure of the engine to identify the mobile operator. If the personnel determine that the reported identifier data uniquely identifies a mobile operator, the personnel can add new mobile operator rules to the set of mobile operator rules or modify existing ones. If theidentification engine 340 utilizes a decision tree to resolve mobile operator identity, the decision tree can be updated. An updated mobile operator identifier list can be received by themobile computing device 310 in response to a change in mobile operator rules, mobile communication or smart card protocols or standards, or the like. - In some embodiments, the
identification engine 340 can reside at a computing device (mobile or non-mobile) located locally to the computing device such as a personal computer connected to themobile device 310 via a wired or wireless connection, or available over a local network, such as a Wi-Fi network. In such embodiments, the mobile operator identification function remains offloaded from the mobile device. In other embodiments, theidentification engine 340 is located in the mobile computing device. In embodiments where anidentification engine 340 is located external to anidentification server 330, theidentification engine 340 can be updated remotely to reflect changes in the mobile operator identification rules. - If a mobile operator has been identified, the
identification server 330 sends mobileoperator identification data 350 and configuration data 355 associated with the mobile operator to themobile computing device 310. The mobileoperator identification data 350 can comprise any information, such as a text string or numeric code that identifies a mobile operator. The configuration data 355 can comprise any information that can be utilized by either themobile device 310 or acommerce process 390 to take advantage of a commercial relationship between the mobile device provider and a mobile operator. Configuration data 355 can further comprise the Access Point Name (APN) of a mobile operator; image files containing logos, trademarks or other branding graphic elements as well as audio files associated with the identified mobile operator for presentation at the mobile device. The configuration data can also comprise the web address of one or more websites where a mobile device user can take advantage of commercial relationships between the mobile device provider and the identified mobile operator. The configuration data 355 can also comprise bookmarks to be added to the device web browser that directs the user to web sites of the identified mobile operator or mobile device provider, and mobile operator contact information to be added to the device's contact database. The mobileoperator identification data 350 and the configuration data 355 can be stored asmobile operator data 385 in thememory 370 of themobile device 310, and the device can configure itself according to the received configuration data 355. - In one embodiment, a
commerce process 390 is a set of computer-executable instructions that can determine whether the configuration data 355 stored in amobile computing device 310 identifies a mobile provider for which thecommerce process 390 allows a mobile device user to take advantage of a commercial relationship between the mobile device provider and a mobile operator. Thecommerce process 390 can be part of an online marketplace system operated by a mobile device provider or other vendor. That is, acommerce process 390 can be software executing on a server that hosts an online marketplace for a mobile device provider. In some embodiments, thecommerce process 390 can be a set of computer-executable instructions that execute on themobile computing device 310. Thecommerce process 390 can receive mobileoperator identification data 350 and/or configuration data 355 from the mobile computing device. - Proper identification of a mobile operator allows a mobile device user to take advantage of commerce relationships between the mobile device manufacturer and the mobile operator. For example, a mobile device user accessing an online marketplace operated by the mobile device provider may be presented with unique product or service offerings, discounts or other deals if the marketplace determines that the mobile device accessing the store was provided by the mobile device provider and the device's mobile operator is one with which the mobile device provider has a commercial relationship. For example, a mobile device provider can offer special discounts on software applications, peripherals, accessories or other mobile computing devices to users who access mobile networks via one of the mobile device provider's business partners. The unique product or service offerings, discounts or other deals can be presented at a display of the mobile computing device as part of an online marketplace user interface presented at the display of the
mobile device 310. - Correct mobile operator identification is also useful in ensuring that the logos, trademarks or other branding information, which can include audio, text, image or video data, of the proper mobile operator is displayed at the mobile device. For example, if a mobile device is using a certain MVNO as its mobile operator, when the user goes to view their monthly bill online, the bill should be indicated as coming from the MVNO, and not the parent MNO. That is, any information in the bill that is specific to a mobile operator (e.g., logos, trademarks, contact information, etc.) should be that of the MVNO and not of the parent MNO (unless the parties have an agreement stating otherwise). Other billing options such as manner of delivery (e.g., email, SMS, MMS, print) should be consistent with that of the mobile operator.
- Upon receiving the identity of the mobile operator from the identification server, the
mobile computing device 310 can take certain actions to tailor the device configuration to the current mobile operator. For example, the device can access the mobile device provider's online store, determine that there is an application associated with to the device's current mobile operator that can be downloaded and installed on themobile device 310 that allows a user to manage his subscription, view and pay bills, monitor usage and the like, and present the user with the option to download the application. Thedevice 310 can similarly query the user whether he or she would like to add a bookmark to the mobile device provider's website to the mobile device web browser application. - If the
mobile computing device 310 is capable of storing multiple subscriber identities, themobile device 310 can store the mobile operator for more than one of the subscriptions, not just the mobile operator that is currently providing mobile network services. Thus, the mobile device user can take advantage of any commercial relationships between the mobile device provider and the mobile operators associated with the multiple subscriber identities. In some embodiments, usage frequency information can be stored at themobile device 310 indicating, for example, when the subscriber identities associated with a particular mobile operator was last used. This usage information can be utilized by a mobile device provider's online marketplaces to determine whether the mobile device user should be presented with special pricings and offerings. For example, a store may offer special deals if the user is currently using the mobile operator, or if thedevice 310 has used the mobile operator within the past day, week, month or other period. -
FIG. 4 is a flowchart of a first exemplary mobileoperator identification method 400. Themethod 400 can be performed by mobile operator identification server operated by a smartphone provider. At 410, a mobile operator identification request is received from a mobile computing device. The mobile operator identification request comprises mobile operator identifier data. In the example, the identification server receives a mobile operator identification request from a GSM smartphone. The request comprises mobile operator identifier data stored on the smart card inserted in the smartphone. At 420, it is determined whether the mobile operator identifier data satisfies at least one of a plurality of mobile operator rules. The mobile operator rules are associated with a plurality of mobile operators. In the example, the server determines that the identifier data matches a mobile operator rule associated with mobile operator A. - At 430, if the at least one of a plurality of mobile operator rules are associated with an identified mobile operator, mobile operator identification data identifying the identified mobile operator and configuration data associated with the identified mobile operator is sent to the mobile computing device. The configuration data comprises information that can be utilized by the mobile computing device or a commerce process to take advantage of a commercial relationship between a mobile device provider and the identified mobile operator. In the example, first mobile operator identification data is sent to the mobile computing device. In the example, only one mobile operator rule matches the mobile operator identifier data and mobile operator A identification data is sent to the GSM smartphone. Configuration data associated with mobile operator A is also sent to the GSM smartphone comprising information that can be utilized by a commerce process that is part of an online marketplace hosted by the smartphone provider to provide certain goods and services on the online marketplace for a 10% discount.
- In some embodiments of
method 400, the method can further comprise adding at least one mobile operator rule to the plurality of mobile operator rules or modifying at least one of the mobile operator rules. In additional embodiments ofmethod 400, the method can further comprise sending a request to the mobile computing device to send a second mobile operator identification request. -
FIG. 5 is a flowchart of a second exemplary mobileoperator identification method 500. Themethod 500 can be performed by, for example, a GSM smartphone holding two SIM cards, a first SIM card storing information representing a subscriber identity associated with T-Mobile® and a second SIM card storing information representing a subscriber identity associated with AT&T® Mobility. At 510, a mobile operator identification request is sent from a mobile computing device to a mobile operator identification server. The mobile operator identification request comprises mobile operator identifier data. In the example, the smartphone sends a mobile operator identification request to an identification server operated by the smartphone provider. The request comprises data stored on the first SIM card. At 520, mobile operator identification data identifying a mobile operator is received and configuration data associated with the mobile operator from the mobile operator identifier server. In the example, the smartphone receives mobile operator identification data identifying T-Mobile® as the mobile operator, and configuration associated with T-Mobile® comprising information that can be utilized by a commerce process executing as part of an online marketplace hosted by T-Mobile® to take advantage of a relationship between the mobile device provider and T-Mobile®. - In some embodiments, the computing device comprises one or more smart card slots and the
method 500 further comprises detecting insertion of a smart card into one of the one or more smart card slots, and sending a second mobile operator identification request to the mobile operator identification server, the second mobile operator identification request comprising mobile operator identifier data stored in the smart card. Continuing with the example, the GSM smartphone can detect insertion of a new SIM card in one of the SIM card slots and send a second mobile operator identification request to the identification server containing information pulled from the new SIM card. In some embodiments, the mobile operator identification data and the configuration data can be stored at the mobile computing device. -
FIG. 6 is a flowchart of anexemplary method 600 of a mobile computing device communicating with a commerce process to allow a mobile computing device user to take advantage of a commercial relationship between a mobile computing device provider and a mobile operator. Themethod 600 can be performed by, for example, a smartphone provided by mobile computing device provider A that has received mobile identification data identifying mobile operator B as the mobile operator for the smartphone, and configuration data associated with mobile operator B comprising information that can be utilized by mobile operator B's online marketplace to offer special deals to the smartphone user. At 610, mobile operator identification data and/or configuration data is sent to a commerce process. In the example, the smartphone sends configuration data indicating that there is a commercial relationship between mobile operator B and mobile computing device provider A. At 620, information from the commerce process is received at the mobile computing device indicating a benefit arising from the commercial relationship. In the example, the smartphone receives from mobile operator B's online marketplace reduced pricings for certain products offered at operator B's marketplace. In some embodiments,method 500 can include 610 and 620 ofmethod 600. - Although the operations of some of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed methods can be used in conjunction with other methods.
- Any of the disclosed methods can be implemented as computer-executable instructions or a computer program product stored on one or more computer-readable storage media (e.g., non-transitory computer-readable media, such as one or more optical media discs such as DVD or CD, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g., any commercially available computer, including smartphones or other mobile devices that include computing hardware). Computer-readable storage media does not include propagated signals. Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable storage media (e.g., non-transitory computer-readable media). The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
- For clarity, only certain selected aspects of the software-based implementations are described. Other details that are well known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any specific computer language or program. For instance, the disclosed technology can be implemented by software written in C++, Java, Perl, JavaScript, Adobe Flash, or any other suitable programming language. Likewise, the disclosed technology is not limited to any particular computer or type of hardware. Certain details of suitable computers and hardware are well known and need not be set forth in detail in this disclosure.
- Furthermore, any of the software-based embodiments (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
- The disclosed methods, apparatuses, and systems should not be construed as limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and subcombinations with one another. The disclosed methods, apparatuses, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved. Theories of operation, scientific principles or other theoretical descriptions presented herein in reference to the apparatuses or methods of this disclosure have been provided for the purposes of better understanding and are not intended to be limiting in scope. The apparatuses and methods in the appended claims are not limited to those apparatuses and methods that function in the manner described by such theories of operation. In view of the many possible embodiments to which the principles of the disclosed invention may be applied, it should be recognized that the illustrated embodiments are only examples of the invention and should not be taken as limiting the scope of the invention. Rather, the scope of the invention is defined by the following claims. We therefore claim as our invention all that comes within the scope of these claims.
Claims (20)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/308,392 US8880040B2 (en) | 2011-05-23 | 2011-11-30 | Mobile network operator identification |
TW101110413A TWI559787B (en) | 2011-05-23 | 2012-03-26 | Mobile network operator identification |
JP2014512914A JP6033852B2 (en) | 2011-05-23 | 2012-05-21 | Mobile operator identification method, mobile computer device and storage medium |
KR1020137031057A KR101822605B1 (en) | 2011-05-23 | 2012-05-21 | Mobile network operator identification |
EP20120789551 EP2716087A4 (en) | 2011-05-23 | 2012-05-21 | Mobile network operator identification |
PCT/US2012/038793 WO2012162224A1 (en) | 2011-05-23 | 2012-05-21 | Mobile network operator identification |
CN201280025066.5A CN103563414B (en) | 2011-05-23 | 2012-05-21 | Mobile network operator identifies |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161489207P | 2011-05-23 | 2011-05-23 | |
US13/308,392 US8880040B2 (en) | 2011-05-23 | 2011-11-30 | Mobile network operator identification |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120302224A1 true US20120302224A1 (en) | 2012-11-29 |
US8880040B2 US8880040B2 (en) | 2014-11-04 |
Family
ID=47217663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/308,392 Active 2033-01-10 US8880040B2 (en) | 2011-05-23 | 2011-11-30 | Mobile network operator identification |
Country Status (7)
Country | Link |
---|---|
US (1) | US8880040B2 (en) |
EP (1) | EP2716087A4 (en) |
JP (1) | JP6033852B2 (en) |
KR (1) | KR101822605B1 (en) |
CN (1) | CN103563414B (en) |
TW (1) | TWI559787B (en) |
WO (1) | WO2012162224A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238532A1 (en) * | 2010-03-23 | 2011-09-29 | Microsoft Corporation | Determining mobile operators for mobile devices |
US20140038533A1 (en) * | 2012-03-31 | 2014-02-06 | Xianming Zhuang | Intelligent terminal that allows for replacement of a wireless communication device by a user |
US20150099485A1 (en) * | 2013-10-09 | 2015-04-09 | Acer Incorporated | Method of performing network personalization on mobile devices |
CN104581688A (en) * | 2013-10-09 | 2015-04-29 | 宏碁股份有限公司 | Method of performing network personalization on mobile devices |
TWI566573B (en) * | 2015-04-01 | 2017-01-11 | 宏碁股份有限公司 | Method of performing network personalization on mobile devices |
TWI566571B (en) * | 2013-10-15 | 2017-01-11 | 宏碁股份有限公司 | Method of performing sim/usim personalization on mobile devices |
US20170156051A1 (en) * | 2014-06-30 | 2017-06-01 | Samsung Electronics Co., Ltd | Method and device for transmitting and receiving profile for providing communication service in wireless communication system |
US20170347220A1 (en) * | 2016-05-24 | 2017-11-30 | Blackberry Limited | Customization of device configuration settings |
US20180242184A1 (en) * | 2017-02-17 | 2018-08-23 | Qualcomm Incorporated | Measurement and reporting enhancements for shared spectrum |
US10728911B2 (en) * | 2015-06-26 | 2020-07-28 | At&T Intellectual Property I, L.P. | Wireless communication device |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102630081B (en) * | 2012-03-22 | 2015-03-11 | 华为终端有限公司 | Operator configuration information loading method and terminal |
US20150105058A1 (en) * | 2013-10-15 | 2015-04-16 | Acer Incorporated | Method of sim/usim personalizing user equipment |
CN105916131B (en) * | 2016-03-30 | 2020-09-25 | 联想(北京)有限公司 | Access control method and device |
CN106211130A (en) * | 2016-07-01 | 2016-12-07 | 惠州Tcl移动通信有限公司 | The access point filter method of a kind of operator and system |
CN107566366B (en) * | 2017-08-31 | 2019-02-05 | Oppo广东移动通信有限公司 | Selection obtains method, terminal and the system of configuration information |
JP6541816B1 (en) | 2018-02-23 | 2019-07-10 | Kddi株式会社 | Communication control apparatus, communication setting method, communication setting program and communication system |
US10813037B2 (en) * | 2019-02-20 | 2020-10-20 | T-Mobile Usa, Inc. | Operator-ID based restriction for a cellular network |
US11258600B2 (en) * | 2019-03-25 | 2022-02-22 | Micron Technology, Inc. | Secure communication in accessing a network |
JP6871975B2 (en) * | 2019-06-11 | 2021-05-19 | Kddi株式会社 | Communication control device and communication setting method |
CN111800781A (en) * | 2020-06-18 | 2020-10-20 | 联想(北京)有限公司 | Data processing method and terminal |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039107A1 (en) * | 2003-08-12 | 2005-02-17 | Hander William B. | Text generator with an automated decision tree for creating text based on changing input data |
US20060149671A1 (en) * | 2004-06-25 | 2006-07-06 | Robert Nix | Payment processing method and system |
US20060229071A1 (en) * | 2001-10-26 | 2006-10-12 | Nokia Corporation | Roaming arrangement |
US7152230B2 (en) * | 2000-11-09 | 2006-12-19 | Hitachi, Ltd. | Storage media storing data related to smart card, smart card system and smart card application loading method |
US7542451B2 (en) * | 2003-05-19 | 2009-06-02 | Qualcomm Incorporated | Network operator identification for CDMA communication networks |
US20090204997A1 (en) * | 2008-01-09 | 2009-08-13 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting mobility in a mobile broadcasting system |
US7738891B2 (en) * | 2005-12-02 | 2010-06-15 | Nokia Corporation | System, apparatus, and method for dynamically configuring application access point settings |
US20100262506A1 (en) * | 2009-04-08 | 2010-10-14 | Microsoft Corporation | Mobile content delivery on a mobile network |
US20100262619A1 (en) * | 2009-04-13 | 2010-10-14 | Microsoft Corporation | Provision of applications to mobile devices |
US20100330986A1 (en) * | 2009-06-26 | 2010-12-30 | Cellco Partnership D/B/A Verizon Wireless | System and method for using multiple subscriber identities to provide differentiated services to subscribers |
US20110007726A1 (en) * | 2008-03-11 | 2011-01-13 | China Mobile Communications Corporation | Method, roaming processing device and communication system for implementing international roaming |
US20120042076A1 (en) * | 2010-08-16 | 2012-02-16 | Nokia Corporation | Method and apparatus for managing application resources via policy rules |
US8228861B1 (en) * | 2008-09-12 | 2012-07-24 | Nix John A | Efficient handover of media communications in heterogeneous IP networks using handover procedure rules and media handover relays |
US20120230587A1 (en) * | 2011-03-09 | 2012-09-13 | Asset Science Llc | Systems and methods for testing content of mobile communication devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE9101105L (en) * | 1991-04-12 | 1992-08-03 | Comvik Gsm Ab | PHONE SYSTEM PROCEDURES |
JP2004297187A (en) * | 2003-03-25 | 2004-10-21 | Matsushita Electric Ind Co Ltd | Mobile unit and service information providing apparatus |
KR20070120125A (en) | 2005-04-19 | 2007-12-21 | 마이크로소프트 코포레이션 | Network commercial transactions |
US8155092B2 (en) * | 2005-06-11 | 2012-04-10 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and method for selecting a visited network |
US20090030757A1 (en) | 2005-12-19 | 2009-01-29 | Uri Admon | Content Distribution for Mobile Phones |
JP2007281861A (en) * | 2006-04-06 | 2007-10-25 | Nec Corp | Terminal authentication method and mobile terminal device |
EP2008235A2 (en) | 2006-04-07 | 2008-12-31 | McGregor, Gregory M. | Sim-centric mobile commerce system for deployment in a legacy network infrastructure |
CN101637037B (en) * | 2007-03-30 | 2012-09-19 | 株式会社爱可信 | Portable communication terminal |
EP2165505B1 (en) | 2007-07-10 | 2016-06-01 | Telefonaktiebolaget LM Ericsson (publ) | A method of discovering operator-provided network-services using ims. |
JPWO2009022568A1 (en) * | 2007-08-16 | 2010-11-11 | 日本電気株式会社 | Information distribution system, distribution destination control method, and distribution destination control program |
US7920899B2 (en) * | 2008-01-17 | 2011-04-05 | Hewlett-Packard Development Company, L.P. | Electronic device with wireless card to communicate with a plurality of network service providers |
US20090281947A1 (en) | 2008-05-06 | 2009-11-12 | Comverse Ltd. | Method and system for mobile commerce |
US20100153227A1 (en) | 2008-12-12 | 2010-06-17 | Microsoft Corporation | Mobile phone billing for content payment |
US8577345B2 (en) | 2009-03-02 | 2013-11-05 | First Data Corporation | Systems, methods, and apparatus for providing promotion information to a mobile device |
KR101783699B1 (en) | 2009-11-09 | 2017-10-10 | 삼성전자 주식회사 | Method and system to support single radio video call continuity during handover |
-
2011
- 2011-11-30 US US13/308,392 patent/US8880040B2/en active Active
-
2012
- 2012-03-26 TW TW101110413A patent/TWI559787B/en not_active IP Right Cessation
- 2012-05-21 EP EP20120789551 patent/EP2716087A4/en not_active Withdrawn
- 2012-05-21 JP JP2014512914A patent/JP6033852B2/en active Active
- 2012-05-21 CN CN201280025066.5A patent/CN103563414B/en active Active
- 2012-05-21 KR KR1020137031057A patent/KR101822605B1/en active IP Right Grant
- 2012-05-21 WO PCT/US2012/038793 patent/WO2012162224A1/en active Application Filing
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152230B2 (en) * | 2000-11-09 | 2006-12-19 | Hitachi, Ltd. | Storage media storing data related to smart card, smart card system and smart card application loading method |
US20060229071A1 (en) * | 2001-10-26 | 2006-10-12 | Nokia Corporation | Roaming arrangement |
US7542451B2 (en) * | 2003-05-19 | 2009-06-02 | Qualcomm Incorporated | Network operator identification for CDMA communication networks |
US20050039107A1 (en) * | 2003-08-12 | 2005-02-17 | Hander William B. | Text generator with an automated decision tree for creating text based on changing input data |
US20060149671A1 (en) * | 2004-06-25 | 2006-07-06 | Robert Nix | Payment processing method and system |
US7738891B2 (en) * | 2005-12-02 | 2010-06-15 | Nokia Corporation | System, apparatus, and method for dynamically configuring application access point settings |
US20090204997A1 (en) * | 2008-01-09 | 2009-08-13 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting mobility in a mobile broadcasting system |
US20110007726A1 (en) * | 2008-03-11 | 2011-01-13 | China Mobile Communications Corporation | Method, roaming processing device and communication system for implementing international roaming |
US8228861B1 (en) * | 2008-09-12 | 2012-07-24 | Nix John A | Efficient handover of media communications in heterogeneous IP networks using handover procedure rules and media handover relays |
US20100262506A1 (en) * | 2009-04-08 | 2010-10-14 | Microsoft Corporation | Mobile content delivery on a mobile network |
US20100262619A1 (en) * | 2009-04-13 | 2010-10-14 | Microsoft Corporation | Provision of applications to mobile devices |
US20100330986A1 (en) * | 2009-06-26 | 2010-12-30 | Cellco Partnership D/B/A Verizon Wireless | System and method for using multiple subscriber identities to provide differentiated services to subscribers |
US20120042076A1 (en) * | 2010-08-16 | 2012-02-16 | Nokia Corporation | Method and apparatus for managing application resources via policy rules |
US20120230587A1 (en) * | 2011-03-09 | 2012-09-13 | Asset Science Llc | Systems and methods for testing content of mobile communication devices |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238532A1 (en) * | 2010-03-23 | 2011-09-29 | Microsoft Corporation | Determining mobile operators for mobile devices |
US9721279B2 (en) * | 2010-03-23 | 2017-08-01 | Microsoft Technology Licensing, Llc | Determining mobile operators for mobile devices |
US20140038533A1 (en) * | 2012-03-31 | 2014-02-06 | Xianming Zhuang | Intelligent terminal that allows for replacement of a wireless communication device by a user |
US9014756B2 (en) * | 2012-03-31 | 2015-04-21 | Huizhou Tcl Mobile Communication Co., Ltd. | Intelligent terminal that allows for replacement of a wireless communication device by a user |
US20150099485A1 (en) * | 2013-10-09 | 2015-04-09 | Acer Incorporated | Method of performing network personalization on mobile devices |
CN104581688A (en) * | 2013-10-09 | 2015-04-29 | 宏碁股份有限公司 | Method of performing network personalization on mobile devices |
US9363362B2 (en) * | 2013-10-09 | 2016-06-07 | Acer Incorporated | Method of performing network personalization on mobile devices |
TWI566571B (en) * | 2013-10-15 | 2017-01-11 | 宏碁股份有限公司 | Method of performing sim/usim personalization on mobile devices |
US20170156051A1 (en) * | 2014-06-30 | 2017-06-01 | Samsung Electronics Co., Ltd | Method and device for transmitting and receiving profile for providing communication service in wireless communication system |
US10484865B2 (en) * | 2014-06-30 | 2019-11-19 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving profile for providing communication service in wireless communication system |
TWI566573B (en) * | 2015-04-01 | 2017-01-11 | 宏碁股份有限公司 | Method of performing network personalization on mobile devices |
US10728911B2 (en) * | 2015-06-26 | 2020-07-28 | At&T Intellectual Property I, L.P. | Wireless communication device |
US20170347220A1 (en) * | 2016-05-24 | 2017-11-30 | Blackberry Limited | Customization of device configuration settings |
CN109314856A (en) * | 2016-05-24 | 2019-02-05 | 黑莓有限公司 | The customization of device configuration setting |
US10834554B2 (en) * | 2016-05-24 | 2020-11-10 | Blackberry Limited | Customization of device configuration settings |
US20180242184A1 (en) * | 2017-02-17 | 2018-08-23 | Qualcomm Incorporated | Measurement and reporting enhancements for shared spectrum |
US10743202B2 (en) * | 2017-02-17 | 2020-08-11 | Qualcomm Incorporated | Measurement and reporting enhancements for shared spectrum |
Also Published As
Publication number | Publication date |
---|---|
WO2012162224A1 (en) | 2012-11-29 |
EP2716087A1 (en) | 2014-04-09 |
TW201249227A (en) | 2012-12-01 |
US8880040B2 (en) | 2014-11-04 |
EP2716087A4 (en) | 2015-05-20 |
KR101822605B1 (en) | 2018-01-29 |
TWI559787B (en) | 2016-11-21 |
KR20140037095A (en) | 2014-03-26 |
CN103563414A (en) | 2014-02-05 |
JP2014523662A (en) | 2014-09-11 |
JP6033852B2 (en) | 2016-11-30 |
CN103563414B (en) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8880040B2 (en) | Mobile network operator identification | |
KR102144430B1 (en) | Method for selecting mobile network operator using provisioning profile and apparatus using the method | |
KR102093524B1 (en) | Extensible framework for wireless network connectivity | |
CN107079286B (en) | Method for modifying profile using identification module and electronic device implementing the method | |
US9020479B1 (en) | Single version of a user device modem for use with different wireless carriers | |
EP3068152B1 (en) | Method and terminal for data service transmission | |
US9294988B2 (en) | Creating a preferred PLMN list for faster service acquisition | |
US8965366B1 (en) | World SIM | |
US8626165B1 (en) | Dynamic carrier switching | |
RU2609756C2 (en) | Service sharing system and device | |
US20190281442A1 (en) | Electronic device and method for providing communication service based on subscriber identity information in electronic device | |
US11115810B1 (en) | Bootstrap electronic subscriber identity module configuration | |
CN103987024A (en) | Roam processing method and roam processing equipment | |
CN110049430A (en) | Wireless device SIM activation when roaming | |
US20190342738A1 (en) | Method and Device for Sharing File Between Different Terminals | |
US20220322069A1 (en) | Establishing and maintaining cellular data communication using remote subscriber identification module profile | |
CN106664509A (en) | System and method for retail SIM marketplace | |
CN105636017A (en) | Data service enablement device and method | |
EP3759955A1 (en) | Methods, devices, and computer programs for provisioning or controlling operator profiles in terminals | |
US20240073674A1 (en) | Establishing and maintaining cellular data communication using remote subscriber identification module profile | |
EP4145911A1 (en) | Electronic device supporting plurality of sims and operating method therefor | |
CN104254063A (en) | Access method and system based on WIFI-updated (wireless fidelity updated) preferred roaming list, and terminal | |
WO2016131255A1 (en) | Net access method, apparatus, and terminal device for reprogrammable sim cards | |
US10314085B2 (en) | ProSe information transmission method, terminal, and communications device | |
EP3293991B1 (en) | Mobile telecommunications device activation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHREINER, J. SAGE;CORLEY, JEREMY;DHAR, RAHUL;AND OTHERS;REEL/FRAME:027302/0708 Effective date: 20111130 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541 Effective date: 20141014 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |