US20220132285A1 - Registering and associating multiple user identifiers for a service on a device - Google Patents
- ️Thu Apr 28 2022
US20220132285A1 - Registering and associating multiple user identifiers for a service on a device - Google Patents
Registering and associating multiple user identifiers for a service on a device Download PDFInfo
-
Publication number
- US20220132285A1 US20220132285A1 US17/516,597 US202117516597A US2022132285A1 US 20220132285 A1 US20220132285 A1 US 20220132285A1 US 202117516597 A US202117516597 A US 202117516597A US 2022132285 A1 US2022132285 A1 US 2022132285A1 Authority
- US
- United States Prior art keywords
- service
- particular device
- user identifiers
- server
- registration Prior art date
- 2019-05-31 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 21
- 238000004891 communication Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 16
- 230000001413 cellular effect Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 8
- 230000036541 health Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013503 de-identification Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000258963 Diplopoda Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Definitions
- the present description relates generally to wireless communications between electronic devices, and more particularly to registering multiple associated user identifiers, such as multiple phone numbers, for a particular service on a device.
- FIG. 1 illustrates an example network environment in which a system for registering and associating multiple user identifiers for a service on a device may be implemented in accordance with one or more implementations.
- FIG. 2 illustrates an example peer-to-peer network environment including the example electronic device and the example wireless companion device, including communication with a base station, in accordance with one or more implementations.
- FIG. 3 illustrates diagrams for wireless communication devices that support multiple subscriber identities using removable universal integrated circuit cards (UICCs) and/or embedded UICCs (eUICCs) with subscriber identity modules (SIMs) and/or embedded SIMs (eSIMs) implemented thereon, in accordance with one or more implementations.
- UICCs removable universal integrated circuit cards
- eUICCs embedded UICCs
- SIMs subscriber identity modules
- eSIMs embedded SIMs
- FIG. 4 illustrates an example sequence diagram for initiating registration and association of multiple phone numbers for a service on an electronic device using information for verifying that each of the phone numbers is associated with the electronic device, in accordance with one or more implementations.
- FIG. 5 illustrates an example sequence diagram for initiating a communication session with a destination device via a service through query of registration information by a source device, in accordance with one or more implementations.
- FIG. 6 illustrates a flow diagram of an example process for registering and associating multiple user identifiers for a service on an electronic device in accordance with one or more implementations.
- FIG. 7 illustrates registration information that associates multiple user identifiers for a service on a device in accordance with one or more implementations.
- FIG. 8 illustrates an electronic system with which one or more implementations of the subject technology may be implemented.
- a mobile device that supports multiple subscriber identity modules may utilize multiple different phone numbers, e.g., a different phone number for each of the SIMs.
- SIMs subscriber identity modules
- a user may utilize multiple different SIMs (e.g., different phone numbers) on a mobile device that supports a single SIM, such as when travelling.
- only one of the SIMs may be active in the mobile device at any given time.
- the user may effectively be unavailable on that service via the phone number when the corresponding SIM is not active.
- the subject technology provides for registering and associating multiple user identifiers, such as phone numbers and/or user account identifiers (which may be associated with one or more e-mail addresses), for a particular service on a device.
- the subject technology allows a user to register and associate each of multiple different phone numbers (e.g., corresponding to multiple different SIMs) and/or e-mail addresses (e.g., corresponding to a user account identifier) for a particular service on their mobile device, such as a messaging service on their mobile device, an audio-video conferencing service on their mobile device, or generally any service on their mobile device.
- the association of the multiple different registered phone numbers allows the user to be reached via the service irrespective of which of the corresponding SIMS is active at any given time.
- FIG. 1 illustrates an example network environment 100 in which a system for registering and associating multiple user identifiers for a service on a device may be implemented in accordance with one or more implementations. Not all of the depicted components may be used in all implementations, however, and one or more implementations may include additional or different components than those shown in the figure. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
- the network environment 100 includes an electronic device 110 , an electronic device 112 , an electronic device 114 , an identity services (IDS) server 120 , an identity management services (IDMS) server 122 , and an IP multimedia subsystem (IMS) server 124 .
- the network environment 100 is illustrated in FIG. 1 as including the electronic devices 110 , 112 , 114 , the IDS server 120 , the IDMS server 122 , and the IMS server 124 ; however, the network environment 100 may include any number of electronic devices and any number of servers or a data center including multiple of the servers in a group of servers 130 .
- some of the servers in the group of servers 130 may be communicatively coupled with another server within the group of servers 130 to facilitate sending and/or receiving messages to and from each server as discussed further herein.
- the network 106 may communicatively (directly or indirectly) couple, for example, the electronic device 110 with the IDS server 120 , the IDMS server 122 , and/or the IMS server 124 .
- the network 106 may be an interconnected network of devices that may include, or may be communicatively coupled to, the Internet.
- the electronic device 110 may include a touchscreen and may be, for example, a smartphone that includes a touchscreen, a portable computing device such as a laptop computer, a peripheral device (e.g., a digital camera, headphones), a tablet device, a wearable device such as a watch, a band, and the like, any other appropriate device that includes, for example, one or more wireless interfaces such as cellular radios, near-field communication (NFC) radios, WLAN radios, Bluetooth radios, Zigbee radios, and/or other wireless radios.
- NFC near-field communication
- WLAN wireless local area network
- Bluetooth radios Zigbee radios
- the electronic device 110 is depicted as a mobile smartphone device.
- the electronic device 110 may be, and/or may include all or part of, the electronic device discussed below with respect to the electronic system discussed below with respect to FIG. 8 .
- the electronic device 112 may be, for example, a wearable device, or generally any device that includes display circuitry and one or more wireless interfaces, such as cellular radios, near-field communication (NFC) radios, WLAN radios, Bluetooth radios, Zigbee radios, and/or other wireless radios.
- cellular radios such as cellular radios, near-field communication (NFC) radios, WLAN radios, Bluetooth radios, Zigbee radios, and/or other wireless radios.
- NFC near-field communication
- the electronic device 112 may be paired, such as via Bluetooth, with one or more of the electronic devices 110 or 114 . Two or more of the electronic devices 110 , 112 and 114 , such as the electronic devices 110 and 112 may be paired together. After two of the electronic devices 110 , 112 and 114 are paired together, the devices may automatically form a peer-to-peer connection when located proximate to one another, such as within Bluetooth communication range of one another. However, in one or more implementations, one or more of the electronic devices 110 , 112 and 114 , may only support a particular number of simultaneous peer-to-peer connections, and/or may only support multiple peer-to-peer connections with specific devices.
- one or more of the electronic devices 110 , 112 , 114 may not include cellular circuitry (or a cellular interface) for communicating with cellular network equipment, such as the IMS server 124 .
- the electronic device 112 may utilize Wi-Fi calling to register for services, such as IMS services, via the network 106 , so that the electronic device 112 is directly reachable by the IMS server 124 for call routing.
- a communication session is primarily described herein as being a cellular communication session, e.g. a cellular phone call.
- a communication session may be, for example, a video call, a Wi-Fi call, a VoIP call, an intercom call, a push-to-talk (PTT) call, a D2D call, or generally any communication between two or more of the electronic devices 110 , 112 and 114 .
- PTT push-to-talk
- the IDS server 120 and/or the IDMS server 122 may form all or part of a network of computers or the group of servers 130 , such as in a cloud computing or data center implementation.
- the IDS server 120 and/or the IDMS server 122 may provide identity services and may manage credentials associated with the electronic device 110 .
- the IDS server 120 may also issue a phone authentication certificate based on such credentials.
- the IDS server 120 and/or the IDMS server 122 may provide various authentication and registration services in response to requests for registration from the electronic device 110 as discussed further below.
- the IDS server 120 and/or the IDMS server 122 may be associated with a particular service provider or entity, e.g. different from a cellular service provider.
- the IDS server 120 can be combined with the IDMS server 122 in at least an implementation, and/or one or more of the IDS server 120 and/or the IDMS server 122 may not be included in one or more implementations.
- one or more of the electronic devices 110 , 112 , 114 may be associated/registered with a user account with the service provider.
- the electronic devices 110 , 112 , 114 may each be associated with a same user account, or one or more of the electronic devices may be associated with a different user account.
- the IMS server 124 provides access to IMS services including functionality related to an IMS gateway that enables the electronic device 110 to send or receive IP multimedia services to or from a telecommunications network.
- the IMS server 124 may be external to the group of servers 130 , in an example, where the IMS server 124 may be provided by a third party different than the service provider associated with the group of servers 130 and/or different from the cellular service provider.
- the IMS server 124 may facilitate one or more registration processes initiated by the electronic device 110 and performed by one or more servers of the group of servers 130 , such as by querying and/or processing registration requests.
- the subject system allows the group of servers 130 and the electronic device 110 to perform some or all of the registration processes without facilitation from the IMS server 124 . Although a single IMS server is discussed, multiple IMS servers may be utilized.
- the IDS server 120 and/or the IDMS server 122 may perform a process of registering and associating multiple user identifiers for at least one service on a device.
- the IDMS server 122 may authenticate user identifiers (e.g., phone numbers, user account identifiers, etc.).
- the IDMS server 122 may obtain and/or generate handle information of the users for delivery to the IDS server 120 .
- the IDS server 120 may then register the authenticated user identifiers for each service and for each device.
- the registration process includes having the IDS server 120 obtain all services on all devices registered to the user account corresponding to the device from which a registration request was received.
- the IDS server 120 may further update a registration data store (or database).
- the IDS server 120 can send push notifications or messages to devices containing the multiple user identifier registrations via the IDMS server 122 .
- the IDS server 120 may be deployed to handle entitlement requests conferring capability and/or security permissions, such as for enabling services such as Wi-Fi calling, VoLTE, etc.
- FIG. 2 illustrates an example peer-to-peer network environment 200 including the example electronic device 110 and the example electronic device 112 (depicted as a wireless companion device), including communication with a base station 212 , in accordance with one or more implementations. Not all of the depicted components may be used in all implementations, however, and one or more implementations may include additional or different components than those shown in the figure. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
- the electronic device 110 may include a host processor 208 A, a memory 204 A, and radio frequency (RF) circuitry 206 A.
- the electronic device 112 may include a host processor 208 B, a memory 204 B, RF circuitry 206 B, and a display 210 .
- the RF circuitry 206 A,B may include one or more antennas and one or more transceivers for transmitting/receiving RF communications, such as WiFi, Bluetooth, cellular, and the like.
- the RF circuitry 206 A of the electronic device 110 may include circuitry for forming wide area network connections and peer-to-peer connections, such as WiFi, Bluetooth, and/or cellular circuitry, while the RF circuitry 206 B of the electronic device 112 may only include Bluetooth, WiFi, and/or other circuitry for forming peer-to-peer connections.
- the RF circuitry 206 B of the electronic device 112 may also include circuitry for forming wide area network connections, such as cellular circuitry.
- the host processors 208 A-B may include suitable logic, circuitry, and/or code that enable processing data and/or controlling operations of the electronic device 110 and the electronic device 112 , respectively.
- the host processors 208 A-B may be enabled to provide control signals to various other components of the electronic device 110 and the electronic device 112 , respectively.
- the host processors 208 A-B may enable implementation of an operating system or otherwise execute code to manage operations of the electronic device 110 and the electronic device 112 , respectively.
- the memories 204 A-B may include suitable logic, circuitry, and/or code that enable storage of various types of information such as received data, generated data, code, and/or configuration information.
- the memories 204 A-B may include, for example, random access memory (RAM), read-only memory (ROM), flash, and/or magnetic storage.
- one or more of the host processors 208 A-B, and/or one or more portions thereof may be implemented in software (e.g., subroutines and code), may be implemented in hardware (e.g., an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gated logic, discrete hardware components, or any other suitable devices) and/or a combination of both.
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- PLD Programmable Logic Device
- controller e.g., a state machine, gated logic, discrete hardware components, or any other suitable devices
- the electronic device 110 may be a mobile phone, a tablet, or any other type of hand-held device, a media player, a computer, a laptop or virtually any type of wireless device.
- the electronic device 112 may be any of various types of devices that, in some implementations, has a smaller form factor relative to a conventional smart phone, and may have one or more of limited communication capabilities, limited output power, or limited battery life relative to a conventional smart phone. In some implementations, the electronic device 112 may be a smart watch or other type of wearable device.
- the electronic device 112 may be a tablet device, such as an iPad, and may also be capable of communicating with another device (e.g., the electronic device 110 ), referred to as a proxy device or intermediate device, using a short range communications protocol, and may then use the cellular functionality of this proxy device for communicating cellular voice/data with the base station 212 .
- the electronic device 112 may provide voice/data packets intended for the base station 212 over the short range link to the electronic device 110 , and the electronic device 110 may use its cellular functionality to transmit (or relay) this voice/data to the base station on behalf of the electronic device 112 .
- the peer-to-peer network environment 200 may facilitate registration and association of multiple user identifiers that can access a same service on a single device, such as the electronic device 110 .
- the electronic device 110 may be a multiple-SIM device that includes multiple physical SIMs (or UICCs).
- the electronic device 110 may include a physical device identity module (DIM) and one or more electronic SIMs (or e-SIMs).
- the electronic device 112 includes a physical SIM (or electronic SIM) that is separate from the SIMS of the electronic device 110 .
- Each SIM of the device may be represented by a user identifier that identifies a phone number associated with the SIM.
- Each user identifier associated with the electronic device 110 may be mapped to a service as part of the multi-user identifier registration process.
- the electronic device 112 may include its own UICC (or SIM card) for accessing services provided by the IMS server 124 .
- the UICC of the electronic device 112 is associated with a unique user identifier that is then mapped to a service registered with the electronic device 112 as part of the multi-user identifier registration process.
- a registration mapping may include a first user identifier identifying a phone number associated with the electronic device 112 and one or more user identifiers identifying respective phone numbers associated with the electronic device 110 that are mapped to a same service.
- each of the mapped user identifiers may be queried by a respective handle used to access the service via each respective user identifier.
- FIG. 3 illustrates diagrams 360 , 370 , 380 , 390 for wireless communication devices that support multiple subscriber identities using removable UICCs and/or embedded UICCs (eUICCs) with SIMs and/or eSIMs implemented thereon, in accordance with one or more implementations. Not all of the depicted components may be used in all implementations, however, and one or more implementations may include additional or different components than those shown in the figure. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
- eUICCs embedded UICCs
- Each of the diagrams 360 , 370 , 380 , 390 depicts components of the electronic device 110 (depicted as a dual SIM wireless communication device) including one or more processor(s) 306 and wireless circuitry 308 that provides for wireless radio frequency (RF) connections between the electronic device 110 and services 312 via wireless network 310 .
- the wireless circuitry 308 includes one or more baseband processor(s), and a set of RF analog front-end circuitry.
- the processor(s) 306 and the wireless circuitry 308 can be configured to perform and/or control performance of one or more functionalities of the electronic device 110 , in accordance with various implementations.
- the processor(s) 306 and the wireless circuitry 308 can provide functionality for coordinating hardware/software resources in the electronic device 110 to provide for connections to the wireless network 310 .
- the electronic device 110 can concurrently register with one or more services.
- the wireless circuitry 308 of the electronic device 110 can be configured to register with and/or establish a connection with the wireless network 310 .
- the wireless circuitry 308 of the electronic device 110 supports transmission of one or more registration requests and reception of one or more registration responses to the services 312 via the wireless networks 310 .
- the wireless circuitry 308 of the electronic device 110 supports transmission and reception of only one user registration to the services 312 via the wireless networks 310 at a time.
- the electronic device 110 can register multiple UICCs with a same service via different user identifiers, the electronic device 110 can appear to the service as two or more distinct user identifiers (each corresponding to a different phone number).
- the electronic device 110 includes multiple UICCs 304 , which can be inserted and removed individually or together, and communicate with one or more processors 306 that connect to wireless circuitry 308 that provides for wireless communication with one or more wireless networks 310 .
- the electronic device 110 can include an embedded UICC (eUICC) 324 connected with the processor(s) 306 and to the wireless network(s) 310 via the wireless circuitry 308 .
- eUICC embedded UICC
- the eUICC 324 can be built into the electronic device 110 and may not be removable from the electronic device 110 , e.g., permanently affixed to a circuit board in the electronic device 110 .
- the eUICC 324 can be programmed such that one or more electronic SIMS (eSIMs) can be implemented on the eUICC 324 .
- eSIMs electronic SIMS
- Each eSIM can be associated with a distinct subscriber identity and/or provide distinct cellular services and/or subscriptions for a user of the electronic device 110 .
- Diagram 380 illustrates an electronic device 110 that includes a removable UICC 304 , on which can be installed one or more SIMs, and an eUICC 324 on which one or more eSIMs can be installed.
- the combination of SIMs on the UICC 304 and/or eSIMs on the eUICC 324 can provide for connections to one or more wireless networks 310 using the wireless circuitry 308 under the control of the processor(s) 306 of the electronic device 110 .
- Diagram 390 illustrates another electronic device 110 that includes multiple UICCs 304 , on which one or more SIMS can be installed, and an eUICC 324 , on which one or more eSIMs can be installed.
- the combination of SIMs on the UICCs 304 and/or eSIMs on the eUICC 324 can provide for connections to one or more wireless networks 310 using the wireless circuitry 308 under the control of the processor(s) 306 of the electronic device 110 .
- the electronic device 110 that supports multiple subscriber identities can include at least one UICC 304 or at least one eUICC 324 or both.
- Each UICC 304 can support one or more SIMs
- each eUICC 324 can support one or more eSIMs.
- An electronic device 110 that supports multiple subscriber identities can include a combination of SIMs and/or eSIMs to support communication with one or more wireless networks 310 .
- FIG. 4 illustrates an example sequence diagram 400 for initiating registration and association of multiple phone numbers for a service on an electronic device using information for verifying that each of the phone numbers is associated with the electronic device, in accordance with one or more implementations.
- FIG. 4 is discussed with reference to components of FIG. 1 , namely the electronic device 110 , the IDMS server 122 and the IDS server 120 . As shown, the diagram shows interactions between the electronic device 110 , the IDMS server 122 , and the IDS server 120 .
- the phone authentication certificate (PAC) validation is described herein with reference to the IDMS server 122 ; however, the PAC validation system may be used by multiple different services, such as communication services, and the like. For example, an API may be provided that allows other services to utilize the PAC validation system.
- PAC phone authentication certificate
- the electronic device 110 may initiate a registration for a service on a device by authenticating one or more user identifiers, e.g. phone numbers, with phone authentication certificate (PAC) information (and/or a digital signature).
- the digital signature may be used as a way of establishing trust that a particular user identifier is legitimate.
- the electronic device 110 may begin the registration by sending a request 410 for validating a PAC, where the request 410 may include information providing proof of the PAC (“PAC proof”).
- PAC proof proof
- the information related to the proof of the PAC for example, may be used to confirm that the PAC was generated for the electronic device 110 and/or to authenticate that the user identifier is a phone number associated with the PAC.
- the PAC includes a machine identifier (MID) associated with the electronic device 110 and the PAC proof details may include the MID in an implementation.
- MID machine identifier
- the MID may be associated with the electronic device 110 by being assigned to the electronic device 110 (e.g., by the IDMS server 122 ), by being included in firmware of the electronic device 110 , by being included on the electronic device 110 at the time of manufacture, etc.
- the MID in an example is verified and associated with the electronic device 110 prior to requesting the PAC.
- the IDMS server 122 after receiving the request 410 including the PAC proof, communicates with the IDS server 120 to validate the PAC proof.
- the IDMS server 122 sends a request 412 for information regarding details for validating the PAC proof to the IDS server 120 , where the request 412 includes the PAC proof.
- the IDS server 120 after receiving the request 412 , analyzes the information included in the PAC proof and sends a response 414 including the details for validating the PAC proof.
- the IDS server 120 validates that the PAC is valid (e.g., by using one or more certificates stored at the IDS server 120 ), and that the signature included in the PAC proof is valid.
- the IDS server 120 may authenticate a phone number and PAC for multiple SIMs used by the electronic device 110 .
- the details for validating the PAC proof include information such as, but not limited to, a phone number, a push token (e.g., the credentials associated with the electronic device 110 ), a MID, a usage timestamp related to when the PAC was last used by a service, a generation timestamp related to when the PAC was generated, a validation strength (e.g., basic, intermediate, maximum) which may be configured by an administrator for use by the IDMS server 122 , and a status of the PAC (e.g., valid, invalid, expired, etc.).
- the IDMS server 122 determines whether the PAC proof is validated based on one or more of the following conditions, which may be based on information provided in the PAC proof and/or by further querying the IDS server 120 .
- the PAC is required to be associated with the phone number that is the trusted phone number for the account, which may be verified based on the phone number included in the PAC.
- the PAC is required to be younger (e.g., based on the generation timestamp) than the last password change for the account (e.g., for when the electronic device 110 gets stolen and the password is changed).
- the timestamp related to when the PAC was validated is required to be within the predetermined past period of time (e.g., the last 45 days), or the IDS server 120 is required to have utilized the PAC within the predetermined past period of the time based on a timestamp provided by the IDS server 120 to the IDMS server 122 .
- the MID in the PAC is required to match with the MID provided in the response 414 .
- the IDMS server 122 may transmit a response message that includes an indication that the PAC proof was validated to the IDS server 120 and/or to the electronic device 110 .
- a batch protocol is used to authenticate multiple user identifiers in a single request.
- the batch protocol may authenticate user identifiers using corresponding phone numbers.
- the request 410 includes the authentication batch request.
- a client device sends user credentials for each user identifier as a batch in the single request.
- the user credentials include SMS (short-messaging-service) and/or SMS-less signatures.
- the IDMS server 122 via the IDS server 120 validates the signatures and may provision PACs in return.
- the user credentials include phone authentication certificates (PACs).
- PACs phone authentication certificates
- the IDMS server 122 validates any passed-in PACs, however, the server does not issue a new PAC to the client device.
- the authentication batch request includes a push token, a list of dictionaries containing per-user authentication requests, a user identifier (e.g., a phone number, a user account identifier, or the like), a tag (e.g., a handle corresponding to the user identifier, such as a phone number or an e-mail address), and an authentication certificate.
- the authentication batch request includes a certificate signature request and a SMS/SMS-less signature in lieu of the authentication certificate.
- the electronic device 110 sends a registration request 416 including an indication that the PAC proof was successfully validated to the IDS server 120 .
- the registration request 416 includes user identifiers that correspond to one or more of a phone number associated with a SIM of the electronic device 110 or an e-mail address associated with a user account for accessing at least one service.
- the user identifier may uniquely identify a phone number that is based on one or more hardware identifiers (e.g., an ICC-ID (Integrated Circuit Card ID) of a SIM.
- the registration request 416 may include a service identifier that identifies the at least one service to be mapped with the registered user.
- the registration request 416 may also include a device identifier for identifying a device to be mapped with the at least one service and user identifiers registered to the service via that device.
- the IDS server 120 After receiving a request to register a user identifier for a service on a device from the registration request 416 , the IDS server 120 registers the information sent from the electronic device 110 , and stores an association between the user identifier and the service on the device, in a registration data store. In some implementations, the IDS server 120 performs phone number identification on each of the multiple SIMs of the electronic device 110 from the registration request 416 . In some implementations, the IDS server 120 may register a phone number with a user account for each of the multiple SIMs of the electronic device 110 . In this respect, the IDS server 120 provides a registration mapping of a same service to all registered phone numbers associated with the electronic device 110 .
- associations may be formed for each service and for each device, such that a particular device may include a mapping of multiple services registered to the device and another mapping of multiple user identifiers registered to each of the different services. Together, the associated chain of devices, services, and user identifiers identify which handles are linked to a particular service for a particular device.
- the IDS server 120 uses a tag for the registration of a user identifier, where the tag represents an alias identifying the user identifier (e.g., phone number prefix or suffix, e-mail address, etc.).
- the tag may identify a registered user identifier for a device, where the tag for that user identifier may be different for each device.
- the registration mapping may be indexed by the tag for accessing the service on a respective device via the registered user identifier.
- the tag may identify a priority for a particular user identifier for accessing the service in a particular order relative to other user identifiers.
- the IDS server 120 may generate a registration signature based on the user identifier, service identifier and device identifier, and transmits the registration signature as a registration response 418 to the electronic device 110 .
- the response 418 from the IDS server 120 may include a status of the authentication request discussed above.
- the response 418 also may include a list of dictionaries containing per-user identifier authentication responses, a user identifier associated with the corresponding authentication response, a per-user identifier authentication status, and an authentication certificate associated with the corresponding authentication response.
- the electronic device 110 may be configured to obtain registration information for each user identifier with the response 418 from the IDS server 120 .
- the registration process may not be completed until a user of the electronic device 110 provides user input that serves as a confirmation of the registration.
- the electronic device 110 and the IDS server 120 may perform a frame exchange that includes user input responsive to one or more prompts from the IDS server 120 .
- the IDS server 120 may prompt a user to select between two or more SIMs for registration.
- the user may indicate which of the two SIMs is a primary SIM and a secondary SIM, where the primary SIM may be programmed to operate as a default phone number for one or more services.
- the IDS server 120 may prompt a user to specify a service for linking between a user account identifier and phone number.
- the user may indicate which services are accessible via a first phone number and which services are accessible via a second phone number, for example.
- the IDS server 120 stores a table that contains a mapping of registrations that indicate linked user identifiers (e.g., a user account linked to multiple phone accounts for a given service on a device).
- the IDS server 120 may add new registration entries to the table.
- the IDS server 120 may update the table by deleting or modifying an existing registration entry.
- the table may be stored internally to the IDS server 120 in some implementations, or may be stored on an external database that is accessible to the IDS server 120 in other implementations.
- any registry or mapping of authenticated user identifiers to unique services may be used by the IDS server 120 to provide a trusted method of associating the identity of the electronic device 110 with a unique user identifier for a particular service and allowing the electronic device 110 to access the particular service via the user identifier.
- a link can be established between a phone number registration and a user account registration for a given service on a device.
- the IDS server 120 allows another device to use handles corresponding to a linked phone number when a user signs into that other device.
- the electronic device 110 may re-initiate the aforementioned registration process.
- the electronic device 110 may detect changes involving the user identifier by listening for event changes from a service provider (e.g., IMS server 124 ).
- these changes may include, but are not limited to, i) a change in SIM card information by transferring a SIM card to a new device, ii) a change in carriers (or networks), and/or iii) deactivation of a phone number that causes removal of the associated user identifier from the registration mapping.
- a server may detect these event changes.
- the server may send a single push message to a device to trigger an action for multiple users registered to a device (“multi-user push”).
- the server may send a single push message to multiple devices to trigger an action to these multiple devices (“multi-device push”).
- the example action may include initiating a registration process with respect to the user identifier(s) identified by the push message.
- a user at the electronic device 110 may initiate and/or accept a communication session (e.g., voice call, video chat/conference session, instant messaging session, etc.) as will be discussed further in FIG. 5 .
- a communication session e.g., voice call, video chat/conference session, instant messaging session, etc.
- the phone number of an electronic device e.g., electronic device 110 , electronic device 112
- an e-mail address of a user account to the requested service may be used, individually or collectively, as the endpoint identifier of a communication session.
- a user at a first electronic device may initiate a communication session with other user(s) at other electronic device(s) to participate in the communication session using their respective handles, which serve as aliases for different phone numbers and/or e-mail addresses registered to a uniquely identified service on a particular device.
- FIG. 5 illustrates an example sequence diagram 500 for initiating a communication session with a destination device via a service through query of registration information by a source device, in accordance with one or more implementations.
- FIG. 5 will be discussed with reference to components of FIG. 1 , namely the electronic device 110 , the IDS server 120 , and the electronic device 114 . As shown, the diagram shows interactions between the electronic device 110 and the IDS server 120 , and the electronic device 114 .
- the linked device registration validation is described herein with reference to the IDS server 120 ; however, the linked device registration validation system may be used by multiple different services.
- the electronic device 110 may initiate a communication session with the electronic device 114 by sending a message 510 to the IDS server 120 .
- the IDS server 120 may query a local data store for other associated devices based on a phone number associated with the electronic device 114 ( 512 ).
- the IMS server 124 may access a remote data store to identify any registration information corresponding to the phone number.
- the IDS server 120 may determine that the phone number is linked to a registered user (e.g., a user account for accessing one or more services) ( 514 ).
- the IDS server 120 may verify the validity of the link (or association) of the phone number to the user account using server registration information ( 516 ).
- the IDS server 120 may obtain registrations for a given user identifier. For example, the IDS server 120 may obtain registration information indicating all services on all devices registered for that user identifier, such as the registration information discussed further below with respect to FIG. 7 . In this respect, the IDS server 120 may verify the validity of the registration link from the registration information. The IDS server 120 obtains a device identifier for the destination device (e.g., the electronic device 114 ) based on the verified registration link ( 518 ). The IDS server 120 facilitates establishing the communication session for messaging services between the electronic device 110 and the electronic device 114 using the device identifier ( 522 ).
- the destination device e.g., the electronic device 114
- the IDS server 120 facilitates establishing the communication session for messaging services between the electronic device 110 and the electronic device 114 using the device identifier ( 522 ).
- the electronic device 110 and the electronic device 114 may exchange multiple messages over one or more services.
- the IDS server 120 may merge different message threads associated with respective phone user accounts that are associated with a common user account identifier on a multi-SIM device. For example, if one device (e.g., the electronic device 110 ) has multiple phone numbers via respective UICCs on the device, then existing conversation threads of a service accessed by the electronic device 110 may be merged onto a common thread for display on the electronic device 110 . This is because the same user account accesses the service using different user identities on the same device.
- FIG. 6 illustrates a flow diagram of an example process 600 for registering and associating multiple user identifiers for a service on an electronic device, in accordance with one or more implementations.
- the process 600 is primarily described herein with reference to the IDS server 120 and the IDMS server 122 of FIG. 1 .
- the process 600 is not limited to the IDS server 120 , and the IDMS server 122 of FIG. 1 , and one or more blocks (or operations) of the process 600 may be performed by one or more other components of other suitable devices.
- the blocks of the process 600 are described herein as occurring in serial, or linearly. However, multiple blocks of the process 600 may occur in parallel.
- the blocks of the process 600 need not be performed in the order shown and/or one or more blocks of the process 600 need not be performed and/or can be replaced by other operations.
- the process 600 begins at step 602 , where the IDMS server 122 receives a registration request for registering multiple phone numbers for at least one service on a particular device (e.g., the electronic device 110 , the electronic device 112 ).
- the registration request includes information related to a PAC that was generated for the particular device.
- the IDS server 120 performs an authentication of multiple user identifiers associated with the particular device based at least on the PAC.
- the user identifiers include the phone numbers.
- the IDS server 120 performs a registration of at least one service for the particular device using the authenticated user identifiers.
- the registration includes at least one respective handle for accessing the at least one service via each respective user identifier.
- the handle may be the same as the user identifier, such as in the instance of a phone number, as is discussed further below with respect to FIG. 7 .
- the IDS server 120 transmits to the particular device, information related to the at least one respective handle for accessing the at least one service via each respective user identifier.
- the IDS server 120 may provide the particular device with all or part of the registration information discussed further below with respect to FIG. 7 .
- FIG. 7 illustrates registration information 700 that associates multiple user identifiers for a service on a device in accordance with one or more implementations.
- the registration information 700 may be a representation of a registration information table that includes multiple devices as individual registration entries.
- the registration information 700 indicates how each device associated with a given user account is registered to one or more of the services using the user identifiers which may each have multiple handles.
- the registration information 700 may include registration entries for M devices, where each device may be registered to N services. As depicted in FIG.
- the registration information 700 includes a first device (depicted as “Device 1 ”) that is registered to a first service (depicted as “Service 1 ”) using a first user identifier (depicted as “User Account Identifier 1 ”), a second user identifier (depicted as “Phone Number 1 ”), and a third user identifier (depicted as “Phone Number 2 ”).
- the first user identifier may have at least two handles associated with it (depicted as “E-Mail Address 1 ” and “E-Mail Address 2 ”, respectively), which individually represent e-mail addresses of the corresponding user account.
- the first device may be registered to a second service (depicted as “Service 2 ”), along with corresponding user identifiers and handles.
- a second device (depicted as “Device 2 ”) may be registered to the first service using the first user identifier and associated handles.
- the registration information 700 depicts a registration entry identifying an association between a device, a service, a user identifier and a handle, other identifying information of a device and/or user may be used to represent an association among multiple user identifiers for a service on a device.
- FIG. 8 illustrates an electronic system 800 with which one or more implementations of the subject technology may be implemented.
- the electronic system 800 can be, and/or can be a part of, one or more of the electronic devices 110 , 112 , 114 , the IDS server 120 , the IDMS server 122 , and/or the IMS server 124 , as shown in FIG. 1 .
- the electronic system 800 may include various types of computer readable media and interfaces for various other types of computer readable media.
- the electronic system 800 includes a bus 808 , one or more processing unit(s) 812 , a system memory 804 (and/or buffer), a ROM 810 , a permanent storage device 802 , an input device interface 814 , an output device interface 806 , and one or more network interfaces 816 , or subsets and variations thereof.
- the bus 808 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 800 .
- the bus 808 communicatively connects the one or more processing unit(s) 812 with the ROM 810 , the system memory 804 , and the permanent storage device 802 . From these various memory units, the one or more processing unit(s) 812 retrieves instructions to execute and data to process in order to execute the processes of the subject disclosure.
- the one or more processing unit(s) 812 can be a single processor or a multi-core processor in different implementations.
- the ROM 810 stores static data and instructions that are needed by the one or more processing unit(s) 812 and other modules of the electronic system 800 .
- the permanent storage device 802 may be a read-and-write memory device.
- the permanent storage device 802 may be a non-volatile memory unit that stores instructions and data even when the electronic system 800 is off.
- a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) may be used as the permanent storage device 802 .
- a removable storage device such as a floppy disk, flash drive, and its corresponding disk drive
- the system memory 804 may be a read-and-write memory device.
- the system memory 804 may be a volatile read-and-write memory, such as random access memory.
- the system memory 804 may store any of the instructions and data that one or more processing unit(s) 812 may need at runtime.
- the processes of the subject disclosure are stored in the system memory 804 , the permanent storage device 802 , and/or the ROM 810 . From these various memory units, the one or more processing unit(s) 812 retrieves instructions to execute and data to process in order to execute the processes of one or more implementations.
- the bus 808 also connects to the input and output device interfaces 814 and 806 .
- the input device interface 814 enables a user to communicate information and select commands to the electronic system 800 .
- Input devices that may be used with the input device interface 814 may include, for example, alphanumeric keyboards and pointing devices (also called “cursor control devices”).
- the output device interface 806 may enable, for example, the display of images generated by electronic system 800 .
- Output devices that may be used with the output device interface 806 may include, for example, printers and display devices, such as a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flexible display, a flat panel display, a solid state display, a projector, or any other device for outputting information.
- printers and display devices such as a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flexible display, a flat panel display, a solid state display, a projector, or any other device for outputting information.
- One or more implementations may include devices that function as both input and output devices, such as a touchscreen.
- feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- the bus 808 also couples the electronic system 800 to one or more networks and/or to one or more network nodes, such as the electronic device 110 shown in FIG. 1 , through the one or more network interface(s) 816 .
- the electronic system 800 can be a part of a network of computers (such as a LAN, a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components of the electronic system 800 can be used in conjunction with the subject disclosure.
- this gathered data may include personal information data that uniquely identifies or can be used to identify a specific person.
- personal information data can include demographic data, location-based data, online identifiers, telephone numbers, email addresses, home addresses, data or records relating to a user's health or level of fitness (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.
- the present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users.
- the personal information data can be used to determine whether to register and/or associate a particular user identifier in accordance with a user's preferences. Accordingly, use of such personal information data enables users to have greater control of the devices for which user identifiers are registered.
- other uses for personal information data that benefit the user are also contemplated by the present disclosure. For instance, health and fitness data may be used, in accordance with the user's preferences to provide insights into their general wellness, or may be used as positive feedback to individuals using technology to pursue wellness goals.
- the present disclosure contemplates that those entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data will comply with well-established privacy policies and/or privacy practices.
- such entities would be expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users.
- Such information regarding the use of personal data should be prominently and easily accessible by users, and should be updated as the collection and/or use of data changes.
- Personal information from users should be collected for legitimate uses only. Further, such collection/sharing should occur only after receiving the consent of the users or other legitimate basis specified in applicable law. Additionally, such entities should consider taking any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures.
- policies and practices should be adapted for the particular types of personal information data being collected and/or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations which may serve to impose a higher standard. For instance, in the US, collection of or access to certain health data may be governed by federal and/or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); whereas health data in other countries may be subject to other regulations and policies and should be handled accordingly.
- HIPAA Health Insurance Portability and Accountability Act
- the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data.
- the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services or anytime thereafter.
- the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an app that their personal information data will be accessed and then reminded again just before personal information data is accessed by the app.
- personal information data should be managed and handled in a way to minimize risks of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting data once it is no longer needed.
- data de-identification can be used to protect a user's privacy. De-identification may be facilitated, when appropriate, by removing identifiers, controlling the amount or specificity of data stored (e.g., collecting location data at city level rather than at an address level), controlling how data is stored (e.g., aggregating data across users), and/or other methods such as differential privacy.
- the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data.
- registered and/or associated user identifiers can be provided based on aggregated non-personal information data or a bare minimum amount of personal information, such as the information being handled only on the user's device or other non-personal information available.
- Implementations within the scope of the present disclosure can be partially or entirely realized using a tangible computer-readable storage medium (or multiple tangible computer-readable storage media of one or more types) encoding one or more instructions.
- the tangible computer-readable storage medium also can be non-transitory in nature.
- the computer-readable storage medium can be any storage medium that can be read, written, or otherwise accessed by a general purpose or special purpose computing device, including any processing electronics and/or processing circuitry capable of executing instructions.
- the computer-readable medium can include any volatile semiconductor memory, such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM.
- the computer-readable medium also can include any non-volatile semiconductor memory, such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, racetrack memory, FJG, and Millipede memory.
- the computer-readable storage medium can include any non-semiconductor memory, such as optical disk storage, magnetic disk storage, magnetic tape, other magnetic storage devices, or any other medium capable of storing one or more instructions.
- the tangible computer-readable storage medium can be directly coupled to a computing device, while in other implementations, the tangible computer-readable storage medium can be indirectly coupled to a computing device, e.g., via one or more wired connections, one or more wireless connections, or any combination thereof.
- Instructions can be directly executable or can be used to develop executable instructions.
- instructions can be realized as executable or non-executable machine code or as instructions in a high-level language that can be compiled to produce executable or non-executable machine code.
- instructions also can be realized as or can include data.
- Computer-executable instructions also can be organized in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As recognized by those of skill in the art, details including, but not limited to, the number, structure, sequence, and organization of instructions can vary significantly without varying the underlying logic, function, processing, and output.
- any specific order or hierarchy of blocks in the processes disclosed is an illustration of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of blocks in the processes may be rearranged, or that all illustrated blocks be performed. Any of the blocks may be performed simultaneously. In one or more implementations, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
- base station As used in this specification and any claims of this application, the terms “base station”, “receiver”, “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people.
- display or “displaying” means displaying on an electronic device.
- the phrase “at least one of” preceding a series of items, with the term “and” or “or” to separate any of the items, modifies the list as a whole, rather than each member of the list (i.e., each item).
- the phrase “at least one of” does not require selection of at least one of each item listed; rather, the phrase allows a meaning that includes at least one of any one of the items, and/or at least one of any combination of the items, and/or at least one of each of the items.
- phrases “at least one of A, B, and C” or “at least one of A, B, or C” each refer to only A, only B, or only C; any combination of A, B, and C; and/or at least one of each of A, B, and C.
- a processor configured to monitor and control an operation or a component may also mean the processor being programmed to monitor and control the operation or the processor being operable to monitor and control the operation.
- a processor configured to execute code can be construed as a processor programmed to execute code or operable to execute code.
- phrases such as an aspect, the aspect, another aspect, some aspects, one or more aspects, an implementation, the implementation, another implementation, some implementations, one or more implementations, an embodiment, the embodiment, another embodiment, some implementations, one or more implementations, a configuration, the configuration, another configuration, some configurations, one or more configurations, the subject technology, the disclosure, the present disclosure, other variations thereof and alike are for convenience and do not imply that a disclosure relating to such phrase(s) is essential to the subject technology or that such disclosure applies to all configurations of the subject technology.
- a disclosure relating to such phrase(s) may apply to all configurations, or one or more configurations.
- a disclosure relating to such phrase(s) may provide one or more examples.
- a phrase such as an aspect or some aspects may refer to one or more aspects and vice versa, and this applies similarly to other foregoing phrases.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Pinball Game Machines (AREA)
Abstract
Implementations of the subject technology provide for receiving a registration request for registering and associating phone numbers for at least one service on a particular device, where the registration request includes information related to a phone authentication certificate (PAC) that was generated for the particular device. The PAC authenticates that each of the phone numbers is associated with the particular device. The subject system performs an authentication of user identifiers associated with the particular device based at least on the PAC. The subject system performs a registration of at least one service for the particular device using the authenticated user identifiers, in which the registration includes at least one respective handle for accessing the at least one service via each respective user identifier. The subject system transmits to the particular device, information related to the at least one respective handle for accessing the service via each respective user identifier.
Description
-
CROSS REFERENCE TO RELATED APPLICATIONS
-
This application is a continuation of U.S. patent application Ser. No. 16/888,474, entitled “Registering and Associating Multiple User Identifiers for a Service on a Device,” filed on May 29, 2020, which claims the benefit of priority to U.S. Provisional Patent Application No. 62/855,864, entitled “Registering and Associating Multiple User Identifiers for a Service on a Device,” filed on May 31, 2019, the disclosure of each of which is hereby incorporated herein in its entirety.
TECHNICAL FIELD
-
The present description relates generally to wireless communications between electronic devices, and more particularly to registering multiple associated user identifiers, such as multiple phone numbers, for a particular service on a device.
BACKGROUND
-
It is increasingly common for a person to own multiple personal electronic devices, such as a smart phone, laptop computer, a tablet computing device, a portable multimedia player, and a wearable device. Many of the users that own multiple devices may access a service through one or more of the multiple devices.
BRIEF DESCRIPTION OF THE DRAWINGS
-
Certain features of the subject technology are set forth in the appended claims. However, for purpose of explanation, several embodiments of the subject technology are set forth in the following figures.
- FIG. 1
illustrates an example network environment in which a system for registering and associating multiple user identifiers for a service on a device may be implemented in accordance with one or more implementations.
- FIG. 2
illustrates an example peer-to-peer network environment including the example electronic device and the example wireless companion device, including communication with a base station, in accordance with one or more implementations.
- FIG. 3
illustrates diagrams for wireless communication devices that support multiple subscriber identities using removable universal integrated circuit cards (UICCs) and/or embedded UICCs (eUICCs) with subscriber identity modules (SIMs) and/or embedded SIMs (eSIMs) implemented thereon, in accordance with one or more implementations.
- FIG. 4
illustrates an example sequence diagram for initiating registration and association of multiple phone numbers for a service on an electronic device using information for verifying that each of the phone numbers is associated with the electronic device, in accordance with one or more implementations.
- FIG. 5
illustrates an example sequence diagram for initiating a communication session with a destination device via a service through query of registration information by a source device, in accordance with one or more implementations.
- FIG. 6
illustrates a flow diagram of an example process for registering and associating multiple user identifiers for a service on an electronic device in accordance with one or more implementations.
- FIG. 7
illustrates registration information that associates multiple user identifiers for a service on a device in accordance with one or more implementations.
- FIG. 8
illustrates an electronic system with which one or more implementations of the subject technology may be implemented.
DETAILED DESCRIPTION
-
The detailed description set forth below is intended as a description of various configurations of the subject technology and is not intended to represent the only configurations in which the subject technology can be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a thorough understanding of the subject technology. However, the subject technology is not limited to the specific details set forth herein and can be practiced using one or more other implementations. In one or more implementations, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject technology.
-
A mobile device that supports multiple subscriber identity modules (SIMs) may utilize multiple different phone numbers, e.g., a different phone number for each of the SIMs. Similarly, a user may utilize multiple different SIMs (e.g., different phone numbers) on a mobile device that supports a single SIM, such as when travelling. However, in either case, only one of the SIMs may be active in the mobile device at any given time. Thus, if the user registered for a particular service, such as a messaging service, using a phone number corresponding to a particular SIM, the user may effectively be unavailable on that service via the phone number when the corresponding SIM is not active.
-
The subject technology provides for registering and associating multiple user identifiers, such as phone numbers and/or user account identifiers (which may be associated with one or more e-mail addresses), for a particular service on a device. Thus, the subject technology allows a user to register and associate each of multiple different phone numbers (e.g., corresponding to multiple different SIMs) and/or e-mail addresses (e.g., corresponding to a user account identifier) for a particular service on their mobile device, such as a messaging service on their mobile device, an audio-video conferencing service on their mobile device, or generally any service on their mobile device. The association of the multiple different registered phone numbers allows the user to be reached via the service irrespective of which of the corresponding SIMS is active at any given time.
- FIG. 1
illustrates an
example network environment100 in which a system for registering and associating multiple user identifiers for a service on a device may be implemented in accordance with one or more implementations. Not all of the depicted components may be used in all implementations, however, and one or more implementations may include additional or different components than those shown in the figure. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
-
The
network environment100 includes an
electronic device110, an
electronic device112, an
electronic device114, an identity services (IDS)
server120, an identity management services (IDMS)
server122, and an IP multimedia subsystem (IMS)
server124. For explanatory purposes, the
network environment100 is illustrated in
FIG. 1as including the
electronic devices110, 112, 114, the
IDS server120, the IDMS
server122, and the
IMS server124; however, the
network environment100 may include any number of electronic devices and any number of servers or a data center including multiple of the servers in a group of
servers130. Moreover, as further illustrated, some of the servers in the group of
servers130 may be communicatively coupled with another server within the group of
servers130 to facilitate sending and/or receiving messages to and from each server as discussed further herein.
-
The
network106 may communicatively (directly or indirectly) couple, for example, the
electronic device110 with the
IDS server120, the
IDMS server122, and/or the
IMS server124. In one or more implementations, the
network106 may be an interconnected network of devices that may include, or may be communicatively coupled to, the Internet.
-
The
electronic device110 may include a touchscreen and may be, for example, a smartphone that includes a touchscreen, a portable computing device such as a laptop computer, a peripheral device (e.g., a digital camera, headphones), a tablet device, a wearable device such as a watch, a band, and the like, any other appropriate device that includes, for example, one or more wireless interfaces such as cellular radios, near-field communication (NFC) radios, WLAN radios, Bluetooth radios, Zigbee radios, and/or other wireless radios. In
FIG. 1, by way of example, the
electronic device110 is depicted as a mobile smartphone device. In one or more implementations, the
electronic device110 may be, and/or may include all or part of, the electronic device discussed below with respect to the electronic system discussed below with respect to
FIG. 8.
-
The
electronic device112 may be, for example, a wearable device, or generally any device that includes display circuitry and one or more wireless interfaces, such as cellular radios, near-field communication (NFC) radios, WLAN radios, Bluetooth radios, Zigbee radios, and/or other wireless radios. In
FIG. 1, by way of example, the
electronic device112 is depicted as a watch.
-
The
electronic device112 may be paired, such as via Bluetooth, with one or more of the
electronic devices110 or 114. Two or more of the
electronic devices110, 112 and 114, such as the
electronic devices110 and 112 may be paired together. After two of the
electronic devices110, 112 and 114 are paired together, the devices may automatically form a peer-to-peer connection when located proximate to one another, such as within Bluetooth communication range of one another. However, in one or more implementations, one or more of the
electronic devices110, 112 and 114, may only support a particular number of simultaneous peer-to-peer connections, and/or may only support multiple peer-to-peer connections with specific devices.
-
In one or more implementations, one or more of the
electronic devices110, 112, 114, such as the
electronic device112, may not include cellular circuitry (or a cellular interface) for communicating with cellular network equipment, such as the
IMS server124. In this instance, the
electronic device112 may utilize Wi-Fi calling to register for services, such as IMS services, via the
network106, so that the
electronic device112 is directly reachable by the
IMS server124 for call routing.
-
For explanatory purposes, a communication session is primarily described herein as being a cellular communication session, e.g. a cellular phone call. However, a communication session may be, for example, a video call, a Wi-Fi call, a VoIP call, an intercom call, a push-to-talk (PTT) call, a D2D call, or generally any communication between two or more of the
electronic devices110, 112 and 114.
-
The IDS
server120 and/or the IDMS
server122 may form all or part of a network of computers or the group of
servers130, such as in a cloud computing or data center implementation. The IDS
server120 and/or the IDMS
server122, for example, may provide identity services and may manage credentials associated with the
electronic device110. The IDS
server120 may also issue a phone authentication certificate based on such credentials. Further, the
IDS server120 and/or the
IDMS server122 may provide various authentication and registration services in response to requests for registration from the
electronic device110 as discussed further below.
-
In an example, the
IDS server120 and/or the
IDMS server122, which may form the group of
servers130, may be associated with a particular service provider or entity, e.g. different from a cellular service provider. Moreover, the IDS
server120 can be combined with the
IDMS server122 in at least an implementation, and/or one or more of the
IDS server120 and/or the
IDMS server122 may not be included in one or more implementations. In one or more implementations, one or more of the
electronic devices110, 112, 114 may be associated/registered with a user account with the service provider. For example, the
electronic devices110, 112, 114 may each be associated with a same user account, or one or more of the electronic devices may be associated with a different user account.
-
The
IMS server124, in an example, provides access to IMS services including functionality related to an IMS gateway that enables the
electronic device110 to send or receive IP multimedia services to or from a telecommunications network. The
IMS server124 may be external to the group of
servers130, in an example, where the
IMS server124 may be provided by a third party different than the service provider associated with the group of
servers130 and/or different from the cellular service provider. In one or more implementations, the
IMS server124 may facilitate one or more registration processes initiated by the
electronic device110 and performed by one or more servers of the group of
servers130, such as by querying and/or processing registration requests. The subject system allows the group of
servers130 and the
electronic device110 to perform some or all of the registration processes without facilitation from the
IMS server124. Although a single IMS server is discussed, multiple IMS servers may be utilized.
-
The
IDS server120 and/or the
IDMS server122 may perform a process of registering and associating multiple user identifiers for at least one service on a device. In an example, the
IDMS server122 may authenticate user identifiers (e.g., phone numbers, user account identifiers, etc.). The
IDMS server122 may obtain and/or generate handle information of the users for delivery to the
IDS server120. The
IDS server120 may then register the authenticated user identifiers for each service and for each device. The registration process includes having the
IDS server120 obtain all services on all devices registered to the user account corresponding to the device from which a registration request was received. The
IDS server120 may further update a registration data store (or database). The
IDS server120 can send push notifications or messages to devices containing the multiple user identifier registrations via the
IDMS server122. In some implementations, the
IDS server120 may be deployed to handle entitlement requests conferring capability and/or security permissions, such as for enabling services such as Wi-Fi calling, VoLTE, etc.
- FIG. 2
illustrates an example peer-to-
peer network environment200 including the example
electronic device110 and the example electronic device 112 (depicted as a wireless companion device), including communication with a
base station212, in accordance with one or more implementations. Not all of the depicted components may be used in all implementations, however, and one or more implementations may include additional or different components than those shown in the figure. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
-
The
electronic device110 may include a
host processor208A, a
memory204A, and radio frequency (RF)
circuitry206A. The
electronic device112 may include a
host processor208B, a
memory204B,
RF circuitry206B, and a
display210.
-
The
RF circuitry206A,B may include one or more antennas and one or more transceivers for transmitting/receiving RF communications, such as WiFi, Bluetooth, cellular, and the like. In one or more implementations, the
RF circuitry206A of the
electronic device110 may include circuitry for forming wide area network connections and peer-to-peer connections, such as WiFi, Bluetooth, and/or cellular circuitry, while the
RF circuitry206B of the
electronic device112 may only include Bluetooth, WiFi, and/or other circuitry for forming peer-to-peer connections. However, in one or more implementations, the
RF circuitry206B of the
electronic device112 may also include circuitry for forming wide area network connections, such as cellular circuitry.
-
The
host processors208A-B may include suitable logic, circuitry, and/or code that enable processing data and/or controlling operations of the
electronic device110 and the
electronic device112, respectively. In this regard, the
host processors208A-B may be enabled to provide control signals to various other components of the
electronic device110 and the
electronic device112, respectively. Additionally, the
host processors208A-B may enable implementation of an operating system or otherwise execute code to manage operations of the
electronic device110 and the
electronic device112, respectively. The
memories204A-B may include suitable logic, circuitry, and/or code that enable storage of various types of information such as received data, generated data, code, and/or configuration information. The
memories204A-B may include, for example, random access memory (RAM), read-only memory (ROM), flash, and/or magnetic storage.
-
In one or more implementations, one or more of the
host processors208A-B, and/or one or more portions thereof, may be implemented in software (e.g., subroutines and code), may be implemented in hardware (e.g., an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gated logic, discrete hardware components, or any other suitable devices) and/or a combination of both.
-
As noted above, the
electronic device110 may be a mobile phone, a tablet, or any other type of hand-held device, a media player, a computer, a laptop or virtually any type of wireless device. The
electronic device112 may be any of various types of devices that, in some implementations, has a smaller form factor relative to a conventional smart phone, and may have one or more of limited communication capabilities, limited output power, or limited battery life relative to a conventional smart phone. In some implementations, the
electronic device112 may be a smart watch or other type of wearable device.
-
As another example, the
electronic device112 may be a tablet device, such as an iPad, and may also be capable of communicating with another device (e.g., the electronic device 110), referred to as a proxy device or intermediate device, using a short range communications protocol, and may then use the cellular functionality of this proxy device for communicating cellular voice/data with the
base station212. In other words, the
electronic device112 may provide voice/data packets intended for the
base station212 over the short range link to the
electronic device110, and the
electronic device110 may use its cellular functionality to transmit (or relay) this voice/data to the base station on behalf of the
electronic device112.
-
The peer-to-
peer network environment200 may facilitate registration and association of multiple user identifiers that can access a same service on a single device, such as the
electronic device110. In some implementations, the
electronic device110 may be a multiple-SIM device that includes multiple physical SIMs (or UICCs). In other implementations, the
electronic device110 may include a physical device identity module (DIM) and one or more electronic SIMs (or e-SIMs). In one or more implementations, the
electronic device112 includes a physical SIM (or electronic SIM) that is separate from the SIMS of the
electronic device110. Each SIM of the device may be represented by a user identifier that identifies a phone number associated with the SIM. Each user identifier associated with the
electronic device110 may be mapped to a service as part of the multi-user identifier registration process.
-
In some implementations, the
electronic device112 may include its own UICC (or SIM card) for accessing services provided by the
IMS server124. In such case, the UICC of the
electronic device112 is associated with a unique user identifier that is then mapped to a service registered with the
electronic device112 as part of the multi-user identifier registration process. In this respect, a registration mapping may include a first user identifier identifying a phone number associated with the
electronic device112 and one or more user identifiers identifying respective phone numbers associated with the
electronic device110 that are mapped to a same service. In some aspects, each of the mapped user identifiers may be queried by a respective handle used to access the service via each respective user identifier.
- FIG. 3
illustrates diagrams 360, 370, 380, 390 for wireless communication devices that support multiple subscriber identities using removable UICCs and/or embedded UICCs (eUICCs) with SIMs and/or eSIMs implemented thereon, in accordance with one or more implementations. Not all of the depicted components may be used in all implementations, however, and one or more implementations may include additional or different components than those shown in the figure. Variations in the arrangement and type of the components may be made without departing from the spirit or scope of the claims as set forth herein. Additional components, different components, or fewer components may be provided.
-
Each of the diagrams 360, 370, 380, 390 depicts components of the electronic device 110 (depicted as a dual SIM wireless communication device) including one or more processor(s) 306 and
wireless circuitry308 that provides for wireless radio frequency (RF) connections between the
electronic device110 and
services312 via
wireless network310. In some implementations, the
wireless circuitry308 includes one or more baseband processor(s), and a set of RF analog front-end circuitry. The processor(s) 306 and the
wireless circuitry308 can be configured to perform and/or control performance of one or more functionalities of the
electronic device110, in accordance with various implementations. The processor(s) 306 and the
wireless circuitry308 can provide functionality for coordinating hardware/software resources in the
electronic device110 to provide for connections to the
wireless network310.
-
The
electronic device110, in some implementations, can concurrently register with one or more services. The
wireless circuitry308 of the
electronic device110 can be configured to register with and/or establish a connection with the
wireless network310. In some implementations, the
wireless circuitry308 of the
electronic device110 supports transmission of one or more registration requests and reception of one or more registration responses to the
services312 via the
wireless networks310. In some implementations, the
wireless circuitry308 of the
electronic device110 supports transmission and reception of only one user registration to the
services312 via the
wireless networks310 at a time. As the
electronic device110 can register multiple UICCs with a same service via different user identifiers, the
electronic device110 can appear to the service as two or more distinct user identifiers (each corresponding to a different phone number).
-
As illustrated in diagram 360, the
electronic device110 includes
multiple UICCs304, which can be inserted and removed individually or together, and communicate with one or
more processors306 that connect to
wireless circuitry308 that provides for wireless communication with one or
more wireless networks310. As the physical size and design of the
electronic device110 can limit the number of
UICCs304 that can be supported, alternatively, as illustrated in diagram 370, the
electronic device110 can include an embedded UICC (eUICC) 324 connected with the processor(s) 306 and to the wireless network(s) 310 via the
wireless circuitry308. The
eUICC324 can be built into the
electronic device110 and may not be removable from the
electronic device110, e.g., permanently affixed to a circuit board in the
electronic device110. The
eUICC324 can be programmed such that one or more electronic SIMS (eSIMs) can be implemented on the
eUICC324. Each eSIM can be associated with a distinct subscriber identity and/or provide distinct cellular services and/or subscriptions for a user of the
electronic device110.
-
Diagram 380 illustrates an
electronic device110 that includes a
removable UICC304, on which can be installed one or more SIMs, and an
eUICC324 on which one or more eSIMs can be installed. The combination of SIMs on the
UICC304 and/or eSIMs on the
eUICC324 can provide for connections to one or
more wireless networks310 using the
wireless circuitry308 under the control of the processor(s) 306 of the
electronic device110. Diagram 390 illustrates another
electronic device110 that includes
multiple UICCs304, on which one or more SIMS can be installed, and an
eUICC324, on which one or more eSIMs can be installed. The combination of SIMs on the
UICCs304 and/or eSIMs on the
eUICC324 can provide for connections to one or
more wireless networks310 using the
wireless circuitry308 under the control of the processor(s) 306 of the
electronic device110.
-
In some aspects, the
electronic device110 that supports multiple subscriber identities can include at least one
UICC304 or at least one
eUICC324 or both. Each
UICC304 can support one or more SIMs, and each
eUICC324 can support one or more eSIMs. An
electronic device110 that supports multiple subscriber identities can include a combination of SIMs and/or eSIMs to support communication with one or
more wireless networks310.
- FIG. 4
illustrates an example sequence diagram 400 for initiating registration and association of multiple phone numbers for a service on an electronic device using information for verifying that each of the phone numbers is associated with the electronic device, in accordance with one or more implementations.
FIG. 4is discussed with reference to components of
FIG. 1, namely the
electronic device110, the
IDMS server122 and the
IDS server120. As shown, the diagram shows interactions between the
electronic device110, the
IDMS server122, and the
IDS server120. For explanatory purposes the phone authentication certificate (PAC) validation is described herein with reference to the
IDMS server122; however, the PAC validation system may be used by multiple different services, such as communication services, and the like. For example, an API may be provided that allows other services to utilize the PAC validation system.
-
The
electronic device110 may initiate a registration for a service on a device by authenticating one or more user identifiers, e.g. phone numbers, with phone authentication certificate (PAC) information (and/or a digital signature). The digital signature may be used as a way of establishing trust that a particular user identifier is legitimate. The
electronic device110 may begin the registration by sending a
request410 for validating a PAC, where the
request410 may include information providing proof of the PAC (“PAC proof”). The information related to the proof of the PAC, for example, may be used to confirm that the PAC was generated for the
electronic device110 and/or to authenticate that the user identifier is a phone number associated with the PAC. In one or more implementations, the PAC includes a machine identifier (MID) associated with the
electronic device110 and the PAC proof details may include the MID in an implementation.
-
The MID may be associated with the
electronic device110 by being assigned to the electronic device 110 (e.g., by the IDMS server 122), by being included in firmware of the
electronic device110, by being included on the
electronic device110 at the time of manufacture, etc. The MID in an example is verified and associated with the
electronic device110 prior to requesting the PAC. The
IDMS server122, after receiving the
request410 including the PAC proof, communicates with the
IDS server120 to validate the PAC proof. The
IDMS server122 sends a
request412 for information regarding details for validating the PAC proof to the
IDS server120, where the
request412 includes the PAC proof. The
IDS server120, after receiving the
request412, analyzes the information included in the PAC proof and sends a
response414 including the details for validating the PAC proof. The
IDS server120, for example, validates that the PAC is valid (e.g., by using one or more certificates stored at the IDS server 120), and that the signature included in the PAC proof is valid. In some implementations, the
IDS server120 may authenticate a phone number and PAC for multiple SIMs used by the
electronic device110.
-
In an implementation, the details for validating the PAC proof, as provided in the
response414, include information such as, but not limited to, a phone number, a push token (e.g., the credentials associated with the electronic device 110), a MID, a usage timestamp related to when the PAC was last used by a service, a generation timestamp related to when the PAC was generated, a validation strength (e.g., basic, intermediate, maximum) which may be configured by an administrator for use by the
IDMS server122, and a status of the PAC (e.g., valid, invalid, expired, etc.).
-
After receiving the details for validating the PAC proof from the
response414, the
IDMS server122 determines whether the PAC proof is validated based on one or more of the following conditions, which may be based on information provided in the PAC proof and/or by further querying the
IDS server120. The PAC is required to be associated with the phone number that is the trusted phone number for the account, which may be verified based on the phone number included in the PAC. The PAC is required to be younger (e.g., based on the generation timestamp) than the last password change for the account (e.g., for when the
electronic device110 gets stolen and the password is changed). Moreover, the timestamp related to when the PAC was validated is required to be within the predetermined past period of time (e.g., the last 45 days), or the
IDS server120 is required to have utilized the PAC within the predetermined past period of the time based on a timestamp provided by the
IDS server120 to the
IDMS server122. Further, the MID in the PAC is required to match with the MID provided in the
response414. In one or more implementations, after validating the PAC proof, the
IDMS server122 may transmit a response message that includes an indication that the PAC proof was validated to the
IDS server120 and/or to the
electronic device110.
-
In some implementations, a batch protocol is used to authenticate multiple user identifiers in a single request. The batch protocol may authenticate user identifiers using corresponding phone numbers. In some examples, the
request410 includes the authentication batch request.
-
In operation, a client device (e.g., the electronic device 110) sends user credentials for each user identifier as a batch in the single request. In some implementations, the user credentials include SMS (short-messaging-service) and/or SMS-less signatures. The
IDMS server122 via the
IDS server120 validates the signatures and may provision PACs in return. In other implementations, the user credentials include phone authentication certificates (PACs). In this respect, the
IDMS server122 validates any passed-in PACs, however, the server does not issue a new PAC to the client device.
-
In some implementations, the authentication batch request includes a push token, a list of dictionaries containing per-user authentication requests, a user identifier (e.g., a phone number, a user account identifier, or the like), a tag (e.g., a handle corresponding to the user identifier, such as a phone number or an e-mail address), and an authentication certificate. In some implementations, the authentication batch request includes a certificate signature request and a SMS/SMS-less signature in lieu of the authentication certificate.
-
Based on the above-discussed conditions, the
electronic device110 sends a
registration request416 including an indication that the PAC proof was successfully validated to the
IDS server120.
-
In some implementations, the
registration request416 includes user identifiers that correspond to one or more of a phone number associated with a SIM of the
electronic device110 or an e-mail address associated with a user account for accessing at least one service. The user identifier may uniquely identify a phone number that is based on one or more hardware identifiers (e.g., an ICC-ID (Integrated Circuit Card ID) of a SIM. The
registration request416 may include a service identifier that identifies the at least one service to be mapped with the registered user. The
registration request416 may also include a device identifier for identifying a device to be mapped with the at least one service and user identifiers registered to the service via that device.
-
After receiving a request to register a user identifier for a service on a device from the
registration request416, the
IDS server120 registers the information sent from the
electronic device110, and stores an association between the user identifier and the service on the device, in a registration data store. In some implementations, the
IDS server120 performs phone number identification on each of the multiple SIMs of the
electronic device110 from the
registration request416. In some implementations, the
IDS server120 may register a phone number with a user account for each of the multiple SIMs of the
electronic device110. In this respect, the
IDS server120 provides a registration mapping of a same service to all registered phone numbers associated with the
electronic device110. These associations may be formed for each service and for each device, such that a particular device may include a mapping of multiple services registered to the device and another mapping of multiple user identifiers registered to each of the different services. Together, the associated chain of devices, services, and user identifiers identify which handles are linked to a particular service for a particular device.
-
In some implementations, the
IDS server120 uses a tag for the registration of a user identifier, where the tag represents an alias identifying the user identifier (e.g., phone number prefix or suffix, e-mail address, etc.). The tag may identify a registered user identifier for a device, where the tag for that user identifier may be different for each device. In some aspects, the registration mapping may be indexed by the tag for accessing the service on a respective device via the registered user identifier. In some aspects, the tag may identify a priority for a particular user identifier for accessing the service in a particular order relative to other user identifiers.
-
The
IDS server120 may generate a registration signature based on the user identifier, service identifier and device identifier, and transmits the registration signature as a
registration response418 to the
electronic device110. In some implementations, the
response418 from the
IDS server120 may include a status of the authentication request discussed above. The
response418 also may include a list of dictionaries containing per-user identifier authentication responses, a user identifier associated with the corresponding authentication response, a per-user identifier authentication status, and an authentication certificate associated with the corresponding authentication response. In some implementations, if multiple user identifiers are registered to the
electronic device110, the
electronic device110 may be configured to obtain registration information for each user identifier with the
response418 from the
IDS server120.
-
In some implementations, the registration process may not be completed until a user of the
electronic device110 provides user input that serves as a confirmation of the registration. In some aspects, the
electronic device110 and the
IDS server120 may perform a frame exchange that includes user input responsive to one or more prompts from the
IDS server120. For example, the
IDS server120 may prompt a user to select between two or more SIMs for registration. In some aspects, the user may indicate which of the two SIMs is a primary SIM and a secondary SIM, where the primary SIM may be programmed to operate as a default phone number for one or more services. In another example, the
IDS server120 may prompt a user to specify a service for linking between a user account identifier and phone number. In some aspects, the user may indicate which services are accessible via a first phone number and which services are accessible via a second phone number, for example.
-
In some implementations, the
IDS server120 stores a table that contains a mapping of registrations that indicate linked user identifiers (e.g., a user account linked to multiple phone accounts for a given service on a device). In an example, the
IDS server120 may add new registration entries to the table. In another example, the
IDS server120 may update the table by deleting or modifying an existing registration entry. The table may be stored internally to the
IDS server120 in some implementations, or may be stored on an external database that is accessible to the
IDS server120 in other implementations.
-
In some implementations, any registry or mapping of authenticated user identifiers to unique services may be used by the
IDS server120 to provide a trusted method of associating the identity of the
electronic device110 with a unique user identifier for a particular service and allowing the
electronic device110 to access the particular service via the user identifier. For example, a link (or association) can be established between a phone number registration and a user account registration for a given service on a device. In some implementations, the
IDS server120 allows another device to use handles corresponding to a linked phone number when a user signs into that other device.
-
In one or more implementations, upon an event related to a user identifier, the
electronic device110 may re-initiate the aforementioned registration process. In some aspects, the
electronic device110 may detect changes involving the user identifier by listening for event changes from a service provider (e.g., IMS server 124). For example, these changes may include, but are not limited to, i) a change in SIM card information by transferring a SIM card to a new device, ii) a change in carriers (or networks), and/or iii) deactivation of a phone number that causes removal of the associated user identifier from the registration mapping. In other implementations, a server (e.g., the
IDS server120, the
IDMS server122, or combination thereof) may detect these event changes. In some aspects, the server may send a single push message to a device to trigger an action for multiple users registered to a device (“multi-user push”). In other aspects, the server may send a single push message to multiple devices to trigger an action to these multiple devices (“multi-device push”). The example action may include initiating a registration process with respect to the user identifier(s) identified by the push message.
-
After a user identifier associated with a particular device has been registered, a user at the
electronic device110 may initiate and/or accept a communication session (e.g., voice call, video chat/conference session, instant messaging session, etc.) as will be discussed further in
FIG. 5. In one or more implementations, the phone number of an electronic device (e.g.,
electronic device110, electronic device 112) and/or an e-mail address of a user account to the requested service may be used, individually or collectively, as the endpoint identifier of a communication session. By way of example, a user at a first electronic device may initiate a communication session with other user(s) at other electronic device(s) to participate in the communication session using their respective handles, which serve as aliases for different phone numbers and/or e-mail addresses registered to a uniquely identified service on a particular device.
- FIG. 5
illustrates an example sequence diagram 500 for initiating a communication session with a destination device via a service through query of registration information by a source device, in accordance with one or more implementations.
FIG. 5will be discussed with reference to components of
FIG. 1, namely the
electronic device110, the
IDS server120, and the
electronic device114. As shown, the diagram shows interactions between the
electronic device110 and the
IDS server120, and the
electronic device114. For explanatory purposes, the linked device registration validation is described herein with reference to the
IDS server120; however, the linked device registration validation system may be used by multiple different services.
-
The
electronic device110 may initiate a communication session with the
electronic device114 by sending a
message510 to the
IDS server120. The
IDS server120 may query a local data store for other associated devices based on a phone number associated with the electronic device 114 (512). In some aspects, the
IMS server124 may access a remote data store to identify any registration information corresponding to the phone number. The
IDS server120 may determine that the phone number is linked to a registered user (e.g., a user account for accessing one or more services) (514). The
IDS server120 may verify the validity of the link (or association) of the phone number to the user account using server registration information (516).
-
In some implementations, the
IDS server120 may obtain registrations for a given user identifier. For example, the
IDS server120 may obtain registration information indicating all services on all devices registered for that user identifier, such as the registration information discussed further below with respect to
FIG. 7. In this respect, the
IDS server120 may verify the validity of the registration link from the registration information. The
IDS server120 obtains a device identifier for the destination device (e.g., the electronic device 114) based on the verified registration link (518). The
IDS server120 facilitates establishing the communication session for messaging services between the
electronic device110 and the
electronic device114 using the device identifier (522).
-
In the communication session, the
electronic device110 and the
electronic device114 may exchange multiple messages over one or more services. In some implementations, the
IDS server120 may merge different message threads associated with respective phone user accounts that are associated with a common user account identifier on a multi-SIM device. For example, if one device (e.g., the electronic device 110) has multiple phone numbers via respective UICCs on the device, then existing conversation threads of a service accessed by the
electronic device110 may be merged onto a common thread for display on the
electronic device110. This is because the same user account accesses the service using different user identities on the same device.
- FIG. 6
illustrates a flow diagram of an
example process600 for registering and associating multiple user identifiers for a service on an electronic device, in accordance with one or more implementations. For explanatory purposes, the
process600 is primarily described herein with reference to the
IDS server120 and the
IDMS server122 of
FIG. 1. However, the
process600 is not limited to the
IDS server120, and the
IDMS server122 of
FIG. 1, and one or more blocks (or operations) of the
process600 may be performed by one or more other components of other suitable devices. Further for explanatory purposes, the blocks of the
process600 are described herein as occurring in serial, or linearly. However, multiple blocks of the
process600 may occur in parallel. In addition, the blocks of the
process600 need not be performed in the order shown and/or one or more blocks of the
process600 need not be performed and/or can be replaced by other operations.
-
The
process600 begins at
step602, where the
IDMS server122 receives a registration request for registering multiple phone numbers for at least one service on a particular device (e.g., the
electronic device110, the electronic device 112). In some aspects, the registration request includes information related to a PAC that was generated for the particular device. Next, at
step604, the
IDS server120 performs an authentication of multiple user identifiers associated with the particular device based at least on the PAC. In some aspects, the user identifiers include the phone numbers.
-
Subsequently, at
step606, the
IDS server120 performs a registration of at least one service for the particular device using the authenticated user identifiers. In some aspects, the registration includes at least one respective handle for accessing the at least one service via each respective user identifier. In one or more implementations, the handle may be the same as the user identifier, such as in the instance of a phone number, as is discussed further below with respect to
FIG. 7.
-
Next, at
step608, the
IDS server120 transmits to the particular device, information related to the at least one respective handle for accessing the at least one service via each respective user identifier. For example, the
IDS server120 may provide the particular device with all or part of the registration information discussed further below with respect to
FIG. 7.
- FIG. 7
illustrates
registration information700 that associates multiple user identifiers for a service on a device in accordance with one or more implementations. In some aspects, the
registration information700 may be a representation of a registration information table that includes multiple devices as individual registration entries. The
registration information700 indicates how each device associated with a given user account is registered to one or more of the services using the user identifiers which may each have multiple handles. The
registration information700 may include registration entries for M devices, where each device may be registered to N services. As depicted in
FIG. 7, the
registration information700 includes a first device (depicted as “
Device1”) that is registered to a first service (depicted as “
Service1”) using a first user identifier (depicted as “
User Account Identifier1”), a second user identifier (depicted as “
Phone Number1”), and a third user identifier (depicted as “
Phone Number2”). The first user identifier may have at least two handles associated with it (depicted as “
E-Mail Address1” and “
E-Mail Address2”, respectively), which individually represent e-mail addresses of the corresponding user account. The first device may be registered to a second service (depicted as “
Service2”), along with corresponding user identifiers and handles. A second device (depicted as “
Device2”) may be registered to the first service using the first user identifier and associated handles. Although the
registration information700 depicts a registration entry identifying an association between a device, a service, a user identifier and a handle, other identifying information of a device and/or user may be used to represent an association among multiple user identifiers for a service on a device.
- FIG. 8
illustrates an
electronic system800 with which one or more implementations of the subject technology may be implemented. The
electronic system800 can be, and/or can be a part of, one or more of the
electronic devices110, 112, 114, the
IDS server120, the
IDMS server122, and/or the
IMS server124, as shown in
FIG. 1. The
electronic system800 may include various types of computer readable media and interfaces for various other types of computer readable media. The
electronic system800 includes a
bus808, one or more processing unit(s) 812, a system memory 804 (and/or buffer), a
ROM810, a
permanent storage device802, an
input device interface814, an
output device interface806, and one or
more network interfaces816, or subsets and variations thereof.
-
The
bus808 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the
electronic system800. In one or more implementations, the
bus808 communicatively connects the one or more processing unit(s) 812 with the
ROM810, the
system memory804, and the
permanent storage device802. From these various memory units, the one or more processing unit(s) 812 retrieves instructions to execute and data to process in order to execute the processes of the subject disclosure. The one or more processing unit(s) 812 can be a single processor or a multi-core processor in different implementations.
-
The
ROM810 stores static data and instructions that are needed by the one or more processing unit(s) 812 and other modules of the
electronic system800. The
permanent storage device802, on the other hand, may be a read-and-write memory device. The
permanent storage device802 may be a non-volatile memory unit that stores instructions and data even when the
electronic system800 is off. In one or more implementations, a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) may be used as the
permanent storage device802.
-
In one or more implementations, a removable storage device (such as a floppy disk, flash drive, and its corresponding disk drive) may be used as the
permanent storage device802. Like the
permanent storage device802, the
system memory804 may be a read-and-write memory device. However, unlike the
permanent storage device802, the
system memory804 may be a volatile read-and-write memory, such as random access memory. The
system memory804 may store any of the instructions and data that one or more processing unit(s) 812 may need at runtime. In one or more implementations, the processes of the subject disclosure are stored in the
system memory804, the
permanent storage device802, and/or the
ROM810. From these various memory units, the one or more processing unit(s) 812 retrieves instructions to execute and data to process in order to execute the processes of one or more implementations.
-
The
bus808 also connects to the input and output device interfaces 814 and 806. The
input device interface814 enables a user to communicate information and select commands to the
electronic system800. Input devices that may be used with the
input device interface814 may include, for example, alphanumeric keyboards and pointing devices (also called “cursor control devices”). The
output device interface806 may enable, for example, the display of images generated by
electronic system800. Output devices that may be used with the
output device interface806 may include, for example, printers and display devices, such as a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flexible display, a flat panel display, a solid state display, a projector, or any other device for outputting information. One or more implementations may include devices that function as both input and output devices, such as a touchscreen. In these implementations, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
-
Finally, as shown in
FIG. 8, the
bus808 also couples the
electronic system800 to one or more networks and/or to one or more network nodes, such as the
electronic device110 shown in
FIG. 1, through the one or more network interface(s) 816. In this manner, the
electronic system800 can be a part of a network of computers (such as a LAN, a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components of the
electronic system800 can be used in conjunction with the subject disclosure.
-
As described above, one aspect of the present technology is the gathering and use of data available from specific and legitimate sources to improve registering and associating multiple user identifiers for a service on a device. The present disclosure contemplates that in some instances, this gathered data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data can include demographic data, location-based data, online identifiers, telephone numbers, email addresses, home addresses, data or records relating to a user's health or level of fitness (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.
-
The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. For example, the personal information data can be used to determine whether to register and/or associate a particular user identifier in accordance with a user's preferences. Accordingly, use of such personal information data enables users to have greater control of the devices for which user identifiers are registered. Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure. For instance, health and fitness data may be used, in accordance with the user's preferences to provide insights into their general wellness, or may be used as positive feedback to individuals using technology to pursue wellness goals.
-
The present disclosure contemplates that those entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data will comply with well-established privacy policies and/or privacy practices. In particular, such entities would be expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users. Such information regarding the use of personal data should be prominently and easily accessible by users, and should be updated as the collection and/or use of data changes. Personal information from users should be collected for legitimate uses only. Further, such collection/sharing should occur only after receiving the consent of the users or other legitimate basis specified in applicable law. Additionally, such entities should consider taking any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices. In addition, policies and practices should be adapted for the particular types of personal information data being collected and/or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations which may serve to impose a higher standard. For instance, in the US, collection of or access to certain health data may be governed by federal and/or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); whereas health data in other countries may be subject to other regulations and policies and should be handled accordingly.
-
Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, in the case of registering and associating multiple user identifiers for a service on a device, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services or anytime thereafter. In addition to providing “opt in” and “opt out” options, the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an app that their personal information data will be accessed and then reminded again just before personal information data is accessed by the app.
-
Moreover, it is the intent of the present disclosure that personal information data should be managed and handled in a way to minimize risks of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting data once it is no longer needed. In addition, and when applicable, including in certain health related applications, data de-identification can be used to protect a user's privacy. De-identification may be facilitated, when appropriate, by removing identifiers, controlling the amount or specificity of data stored (e.g., collecting location data at city level rather than at an address level), controlling how data is stored (e.g., aggregating data across users), and/or other methods such as differential privacy.
-
Therefore, although the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data. For example, registered and/or associated user identifiers can be provided based on aggregated non-personal information data or a bare minimum amount of personal information, such as the information being handled only on the user's device or other non-personal information available.
-
Implementations within the scope of the present disclosure can be partially or entirely realized using a tangible computer-readable storage medium (or multiple tangible computer-readable storage media of one or more types) encoding one or more instructions. The tangible computer-readable storage medium also can be non-transitory in nature.
-
The computer-readable storage medium can be any storage medium that can be read, written, or otherwise accessed by a general purpose or special purpose computing device, including any processing electronics and/or processing circuitry capable of executing instructions. For example, without limitation, the computer-readable medium can include any volatile semiconductor memory, such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. The computer-readable medium also can include any non-volatile semiconductor memory, such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, racetrack memory, FJG, and Millipede memory.
-
Further, the computer-readable storage medium can include any non-semiconductor memory, such as optical disk storage, magnetic disk storage, magnetic tape, other magnetic storage devices, or any other medium capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium can be directly coupled to a computing device, while in other implementations, the tangible computer-readable storage medium can be indirectly coupled to a computing device, e.g., via one or more wired connections, one or more wireless connections, or any combination thereof.
-
Instructions can be directly executable or can be used to develop executable instructions. For example, instructions can be realized as executable or non-executable machine code or as instructions in a high-level language that can be compiled to produce executable or non-executable machine code. Further, instructions also can be realized as or can include data. Computer-executable instructions also can be organized in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As recognized by those of skill in the art, details including, but not limited to, the number, structure, sequence, and organization of instructions can vary significantly without varying the underlying logic, function, processing, and output.
-
While the above discussion primarily refers to microprocessor or multi-core processors that execute software, one or more implementations are performed by one or more integrated circuits, such as ASICs or FPGAs. In one or more implementations, such integrated circuits execute instructions that are stored on the circuit itself.
-
Those of skill in the art would appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. Various components and blocks may be arranged differently (e.g., arranged in a different order, or partitioned in a different way) all without departing from the scope of the subject technology.
-
It is understood that any specific order or hierarchy of blocks in the processes disclosed is an illustration of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of blocks in the processes may be rearranged, or that all illustrated blocks be performed. Any of the blocks may be performed simultaneously. In one or more implementations, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
-
As used in this specification and any claims of this application, the terms “base station”, “receiver”, “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. For the purposes of the specification, the terms “display” or “displaying” means displaying on an electronic device.
-
As used herein, the phrase “at least one of” preceding a series of items, with the term “and” or “or” to separate any of the items, modifies the list as a whole, rather than each member of the list (i.e., each item). The phrase “at least one of” does not require selection of at least one of each item listed; rather, the phrase allows a meaning that includes at least one of any one of the items, and/or at least one of any combination of the items, and/or at least one of each of the items. By way of example, the phrases “at least one of A, B, and C” or “at least one of A, B, or C” each refer to only A, only B, or only C; any combination of A, B, and C; and/or at least one of each of A, B, and C.
-
The predicate words “configured to”, “operable to”, and “programmed to” do not imply any particular tangible or intangible modification of a subject, but, rather, are intended to be used interchangeably. In one or more implementations, a processor configured to monitor and control an operation or a component may also mean the processor being programmed to monitor and control the operation or the processor being operable to monitor and control the operation. Likewise, a processor configured to execute code can be construed as a processor programmed to execute code or operable to execute code.
-
Phrases such as an aspect, the aspect, another aspect, some aspects, one or more aspects, an implementation, the implementation, another implementation, some implementations, one or more implementations, an embodiment, the embodiment, another embodiment, some implementations, one or more implementations, a configuration, the configuration, another configuration, some configurations, one or more configurations, the subject technology, the disclosure, the present disclosure, other variations thereof and alike are for convenience and do not imply that a disclosure relating to such phrase(s) is essential to the subject technology or that such disclosure applies to all configurations of the subject technology. A disclosure relating to such phrase(s) may apply to all configurations, or one or more configurations. A disclosure relating to such phrase(s) may provide one or more examples. A phrase such as an aspect or some aspects may refer to one or more aspects and vice versa, and this applies similarly to other foregoing phrases.
-
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any embodiment described herein as “exemplary” or as an “example” is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, to the extent that the term “include”, “have”, or the like is used in the description or the claims, such term is intended to be inclusive in a manner similar to the term “comprise” as “comprise” is interpreted when employed as a transitional word in a claim.
-
All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. § 112(f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for”.
-
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more”. Unless specifically stated otherwise, the term “some” refers to one or more. Pronouns in the masculine (e.g., his) include the feminine and neuter gender (e.g., her and its) and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the subject disclosure.
Claims (20)
1. A method comprising:
receiving, at a server, a registration request for registering and associating a plurality of phone numbers for at least one service on a particular device, the registration request comprising information related to a phone authentication certificate (PAC) that was generated for the particular device, the PAC authenticating that each of the plurality of phone numbers is associated with the particular device;
performing, by the server, an authentication of a plurality of user identifiers associated with the particular device based at least on the PAC, the plurality of user identifiers comprising the plurality of phone numbers;
performing, by the server, a registration of the at least one service for the particular device using the authenticated plurality of user identifiers; and
transmitting, from the server, to the particular device, information for accessing the at least one service via each respective user identifier of the plurality of user identifiers including the plurality of phone numbers.
2. The method of
claim 1, further comprising performing, by the server, a registration of the at least one service for a plurality of devices, wherein the registration includes at least one respective handle for accessing the at least one service on a respective device via each respective user identifier.
3. The method of
claim 2, wherein the performing the authentication comprises performing a batch operation of authenticating the plurality of user identifiers associated with the plurality of devices.
4. The method of
claim 1, further comprising:
determining, by the server, whether a particular device is associated with a plurality of handles for accessing the at least one service on the particular device; and
merging, by the server, a plurality of message threads associated with the plurality of handles for accessing the at least one service, into a forked message thread when the particular device is associated with the plurality of handles.
5. The method of
claim 1, wherein at least one corresponding user identifier is associated with a corresponding subscriber identity module.
6. The method of
claim 1, wherein the registration includes a tag identifying a priority of each of the plurality of user identifiers for accessing the at least one service in a particular order.
7. The method of
claim 1, further comprising:
detecting one or more changes associated with at least one of the plurality of user identifiers associated with the particular device; and
sending a push message to the particular device that triggers an action for the at least one of the plurality of user identifiers on the particular device, the push message prompting the particular device to re-register the at least one of the plurality of user identifiers for one or more services accessible through the particular device.
8. The method of
claim 1, further comprising:
detecting one or more changes associated with at least one of the plurality of user identifiers associated with a plurality of devices including the particular device; and
sending a push message to the plurality of devices that triggers an action for the at least one of the plurality of user identifiers on each of the plurality of devices, the push message prompting each of the plurality of devices to re-register the at least one of the plurality of user identifiers for one or more services accessible through each respective device.
9. A device comprising:
a memory; and
at least one processor configured to:
receive a registration request for registering and associating a plurality of user identifiers for at least one service on a particular device, the registration request comprising an authentication certificate that authenticates that each of the plurality of user identifiers;
authenticate that the plurality of user identifiers are associated with the particular device based at least on the authentication certificate;
perform a registration of the at least one service on the particular device using the authenticated plurality of user identifiers, wherein the registration includes at least one respective handle for accessing the at least one service via each respective user identifier of the plurality of user identifiers; and
transmit to the particular device, information related to the at least one respective handle for accessing the at least one service via each respective user identifier of the plurality of user identifiers.
10. The device of
claim 9, wherein the at least one processor is further configured to:
determine whether a particular device is associated with a plurality of handles for accessing the at least one service on the particular device; and
merge a plurality of message threads associated with the plurality of handles for accessing the at least one service, into a forked message thread when the particular device is associated with the plurality of handles.
11. The device of
claim 9, wherein at least one of the plurality of user identifiers is associated with a corresponding subscriber identity module.
12. The device of
claim 9, wherein the registration includes a tag identifying a priority of each of the plurality of user identifiers for accessing the at least one service in a particular order.
13. A non-transitory computer-readable medium comprising instructions, which when executed by a computing device, cause the computing device to perform operations comprising:
receiving, at a server, a registration request for registering and associating a plurality of user identifiers for at least one service on a particular device;
performing, by the server, an authentication of the plurality of user identifiers;
performing, by the server, a registration of the at least one service for the particular device using the authenticated plurality of user identifiers, wherein the registration includes at least one respective handle for accessing the at least one service via each respective user identifier; and
transmitting, from the server, to the particular device, information related to the at least one respective handle for accessing the at least one service via each respective user identifier.
14. The non-transitory computer-readable medium of
claim 13, wherein the registration request comprises information related to a phone authentication certificate (PAC) that was generated for the particular device, the PAC authenticating that each of the plurality of user identifiers is associated with the particular device.
15. The non-transitory computer-readable medium of
claim 14, wherein the operations further comprise:
performing, by the server, a registration of the at least one service for a plurality of devices, wherein the registration includes at least one respective handle for accessing the at least one service on a respective device via each respective user identifier.
16. The non-transitory computer-readable medium of
claim 15, wherein the operations further comprise:
performing a batch operation of authenticating the plurality of user identifiers associated with the particular device based at least in part on the PAC.
17. The non-transitory computer-readable medium of
claim 16, wherein the performing the authentication of the plurality of user identifiers associated with the particular device comprises performing the authentication of the plurality of user identifiers associated with the particular device based at least in part on the PAC.
18. The non-transitory computer-readable medium of
claim 15, wherein the operations further comprise:
determining, by the server, whether a particular device is associated with a plurality of handles for accessing the at least one service on the particular device; and
merging, by the server, a plurality of message threads associated with the plurality of handles for accessing the at least one service, into a forked message thread when the particular device is associated with the plurality of handles.
19. The non-transitory computer-readable medium of
claim 15, wherein at least one corresponding user identifier is associated with a corresponding subscriber identity module.
20. The non-transitory computer-readable medium of
claim 15, wherein the registration includes a tag identifying a priority of each of the plurality of user identifiers for accessing the at least one service in a particular order.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/516,597 US20220132285A1 (en) | 2019-05-31 | 2021-11-01 | Registering and associating multiple user identifiers for a service on a device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962855864P | 2019-05-31 | 2019-05-31 | |
US16/888,474 US11166135B2 (en) | 2019-05-31 | 2020-05-29 | Registering and associating multiple user identifiers for a service on a device |
US17/516,597 US20220132285A1 (en) | 2019-05-31 | 2021-11-01 | Registering and associating multiple user identifiers for a service on a device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/888,474 Continuation US11166135B2 (en) | 2019-05-31 | 2020-05-29 | Registering and associating multiple user identifiers for a service on a device |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220132285A1 true US20220132285A1 (en) | 2022-04-28 |
Family
ID=73549537
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/888,474 Active US11166135B2 (en) | 2019-05-31 | 2020-05-29 | Registering and associating multiple user identifiers for a service on a device |
US17/516,597 Pending US20220132285A1 (en) | 2019-05-31 | 2021-11-01 | Registering and associating multiple user identifiers for a service on a device |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/888,474 Active US11166135B2 (en) | 2019-05-31 | 2020-05-29 | Registering and associating multiple user identifiers for a service on a device |
Country Status (4)
Country | Link |
---|---|
US (2) | US11166135B2 (en) |
EP (2) | EP3939233B1 (en) |
CN (2) | CN113853777B (en) |
WO (1) | WO2020243646A1 (en) |
Families Citing this family (4)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11831792B2 (en) * | 2018-11-26 | 2023-11-28 | Forticode Limited | Mutual authentication of computer systems over an insecure network |
US11281802B2 (en) * | 2019-05-31 | 2022-03-22 | Apple Inc. | Providing obfuscated user identifiers for managing user-specific application state on multiuser devices |
EP3939233B1 (en) * | 2019-05-31 | 2023-11-15 | Apple Inc. | Registering and associating multiple user identifiers for a service on a device |
EP4397015A1 (en) * | 2021-09-03 | 2024-07-10 | Dish Wireless L.L.C. | Systems and methods for implementing digital twin with a live streaming map |
Citations (3)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080003957A1 (en) * | 2006-06-28 | 2008-01-03 | Infineon Technologies Ag | Message generation with identification group information |
US20130125227A1 (en) * | 2010-05-11 | 2013-05-16 | Zte Corporation | Method for accessing a storage server of an im service system, and an im service system |
US11166135B2 (en) * | 2019-05-31 | 2021-11-02 | Apple Inc. | Registering and associating multiple user identifiers for a service on a device |
Family Cites Families (9)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901436B1 (en) * | 1999-03-22 | 2005-05-31 | Eric Schneider | Method, product, and apparatus for determining the availability of similar identifiers and registering these identifiers across multiple naming systems |
US9154948B2 (en) * | 2007-11-04 | 2015-10-06 | IndusEdge Innovations Private Limited | Method and system for user authentication |
US9356907B2 (en) * | 2008-08-05 | 2016-05-31 | HeyWire, Inc. | Messaging system having multiple number, dual mode phone support |
US20100077208A1 (en) * | 2008-09-19 | 2010-03-25 | Microsoft Corporation | Certificate based authentication for online services |
US8423058B2 (en) | 2010-04-07 | 2013-04-16 | Apple Inc. | Registering client computing devices for online communication sessions |
KR20120002836A (en) * | 2010-07-01 | 2012-01-09 | 삼성전자주식회사 | Apparatus and method for controlling access to a plurality of services |
US10397770B2 (en) * | 2014-05-30 | 2019-08-27 | Apple Inc. | Mitigating paging collisions in dual standby devices |
CN106162574B (en) * | 2015-04-02 | 2020-08-04 | 成都鼎桥通信技术有限公司 | Unified authentication method for applications in cluster system, server and terminal |
US11228580B2 (en) * | 2018-06-25 | 2022-01-18 | Apple Inc. | Two-factor device authentication |
-
2020
- 2020-05-29 EP EP20747167.3A patent/EP3939233B1/en active Active
- 2020-05-29 US US16/888,474 patent/US11166135B2/en active Active
- 2020-05-29 EP EP23206074.9A patent/EP4290945A3/en active Pending
- 2020-05-29 WO PCT/US2020/035424 patent/WO2020243646A1/en unknown
- 2020-05-29 CN CN202080038123.8A patent/CN113853777B/en active Active
- 2020-05-29 CN CN202311294312.3A patent/CN117201462A/en active Pending
-
2021
- 2021-11-01 US US17/516,597 patent/US20220132285A1/en active Pending
Patent Citations (3)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080003957A1 (en) * | 2006-06-28 | 2008-01-03 | Infineon Technologies Ag | Message generation with identification group information |
US20130125227A1 (en) * | 2010-05-11 | 2013-05-16 | Zte Corporation | Method for accessing a storage server of an im service system, and an im service system |
US11166135B2 (en) * | 2019-05-31 | 2021-11-02 | Apple Inc. | Registering and associating multiple user identifiers for a service on a device |
Also Published As
Publication number | Publication date |
---|---|
US20200382927A1 (en) | 2020-12-03 |
US11166135B2 (en) | 2021-11-02 |
EP4290945A2 (en) | 2023-12-13 |
CN113853777B (en) | 2023-10-24 |
EP4290945A3 (en) | 2024-02-28 |
CN113853777A (en) | 2021-12-28 |
EP3939233B1 (en) | 2023-11-15 |
CN117201462A (en) | 2023-12-08 |
WO2020243646A1 (en) | 2020-12-03 |
EP3939233A1 (en) | 2022-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11166135B2 (en) | 2021-11-02 | Registering and associating multiple user identifiers for a service on a device |
US12177768B2 (en) | 2024-12-24 | Maintaining access to services via SIM card |
US10164949B2 (en) | 2018-12-25 | Method and system for encrypted communications |
US11228580B2 (en) | 2022-01-18 | Two-factor device authentication |
US9867028B2 (en) | 2018-01-09 | Electronically binding to a lost mobile device |
US11893585B2 (en) | 2024-02-06 | Associating multiple user accounts with a content output device |
US20240364516A1 (en) | 2024-10-31 | Device-relationship based communication |
US11595789B2 (en) | 2023-02-28 | Missed communication notification |
US20160183083A1 (en) | 2016-06-23 | User equipment and method for dynamic internet protocol multimedia subsystem (ims) registration |
WO2021136511A1 (en) | 2021-07-08 | Communication method and apparatus |
US20250088858A1 (en) | 2025-03-13 | Low-Power and Privacy Key Resolution |
US20250088859A1 (en) | 2025-03-13 | Low-Power and Privacy Key Resolution Using an Always on Processor |
CN119697622A (en) | 2025-03-25 | Maintaining access to services via SIM card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
2022-01-14 | STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
2022-11-22 | STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
2023-06-02 | STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
2023-09-09 | STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
2023-09-26 | STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
2023-10-06 | STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
2023-10-30 | STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
2024-02-06 | STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
2024-05-09 | STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
2024-09-30 | STCV | Information on status: appeal procedure |
Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER |
2025-01-30 | STCV | Information on status: appeal procedure |
Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED |