(57)【特許請求の範囲】
【請求項１】
モバイルデバイスの加入者識別モジュール(SIM)上の、ホームパブリックランドモバイルネットワーク(HPLMN)値を動的に更新するための方法であって、
前記モバイルデバイスによって、前記モバイルデバイスが接続し得る、利用可能なパブリックランドモバイルネットワーク(PLMN)を識別するステップと、
前記モバイルデバイスによって、モバイルカントリーコード値およびモバイルネットワークコード値を含むネットワーク値を、前記識別されたPLMNネットワークから受信するステップと、
前記モバイルデバイスによって、前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致するかどうかを判断するステップと、
前記モバイルデバイスによって、前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致しないという判断に応答して、前記SIM上に存在するHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップであって、前記SIM上のHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップは、
アプリケーションプログラミングインターフェース(API)を介して前記SIM上でメモリ書込み動作を実行するステップ
を含む、ステップ
とを含む、方法。
【請求項２】
前記SIM上に存在するHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップが、
前記アプリケーションプログラミングインターフェース(API)を介して前記モバイルデバイスのモデムによって前記SIM上で前記メモリ書込み動作を実行するステップを含む、請求項1に記載の方法。
【請求項３】
前記モバイルデバイスが接続性サービスクライアントを含み、前記SIMがSIMアプレットを含み、前記方法が、
前記接続性サービスクライアントを介して前記SIMアプレットの機能を呼び出すステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記SIMが、ローカルな国際モバイル加入者識別情報(IMSI)値およびグローバルなIMSI値を記憶し、前記方法が、
サーバ上に前記グローバルなIMSI値と前記ローカルなIMSI値との間に動的な関連性を生成するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記モバイルデバイスによって、前記サーバ上の前記グローバルなIMSI値と前記ローカルなIMSI値との間の前記動的な関連性を変更することなく、前記SIM上の前記ローカルなIMSI値を更新するステップをさらに含む、請求項4に記載の方法。
【請求項６】
モバイルデバイスであって、
前記モバイルデバイスが接続し得る、利用可能なパブリックランドモバイルネットワーク(PLMN)を識別するための手段と、
モバイルカントリーコード値およびモバイルネットワークコード値を含むネットワーク値を、前記識別されたPLMNネットワークから受信するための手段と、
前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致するかどうかを判断するための手段と、
前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致しないという判断に応答して、前記モバイルデバイスの加入者識別モジュール(SIM)上に存在するホームパブリックランドモバイルネットワーク(HPLMN)値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするための手段であって、前記SIM上のHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするための手段は、
アプリケーションプログラミングインターフェース(API)を介して前記SIM上でメモリ書込み動作を実行するための手段
を含む、手段
とを含む、モバイルデバイス。
【請求項７】
前記SIM上に存在するHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするための手段が、
標準SIMアプリケーションプログラミングインターフェース(API)を介して前記SIM上で指示されたメモリ書込み動作を実行するための手段を含む、請求項6に記載のモバイルデバイス。
【請求項８】
接続性サービスクライアントプロセスを介して前記SIMのSIMアプレットの機能を呼び出すための手段をさらに含む、請求項6に記載のモバイルデバイス。
【請求項９】
モバイルデバイスであって、
トランシーバと、
加入者識別モジュール(SIM)と、
前記トランシーバおよび前記SIMに結合されたプロセッサとを備え、前記プロセッサが、
前記モバイルデバイスが接続し得る、利用可能なパブリックランドモバイルネットワーク(PLMN)を識別するステップと、
モバイルカントリーコード値およびモバイルネットワークコード値を含むネットワーク値を、前記識別されたPLMNから受信するステップと、
前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致するかどうかを判断するステップと、
前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致しないという判断に応答して、前記SIM上に存在するホームパブリックランドモバイルネットワーク(HPLMN)値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップであって、前記SIM上のHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップは、
アプリケーションプログラミングインターフェース(API)を介して前記SIM上でメモリ書込み動作を実行するステップ
を含む、ステップとを含む動作を実行するように、プロセッサ実行可能命令で構成される、モバイルデバイス。
【請求項１０】
前記SIM上に存在するHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップが、標準SIMアプリケーションプログラミングインターフェース(API)を介して前記SIM上で指示されたメモリ書込み動作を実行するステップを含むような動作を実行するように、前記プロセッサがプロセッサ実行可能命令で構成される、請求項9に記載のモバイルデバイス。
【請求項１１】
モバイルデバイスの加入者識別モジュール(SIM)上の、ホームパブリックランドモバイルネットワーク(HPLMN)値を動的に更新するための動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶されている非一時的コンピュータ可読記憶媒体であって、前記動作が、
前記モバイルデバイスが接続し得る、利用可能なパブリックランドモバイルネットワーク(PLMN)を識別するステップと、
モバイルカントリーコード値およびモバイルネットワークコード値を含むネットワーク値を、前記識別されたPLMNネットワークから受信するステップと、
前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致するかどうかを判断するステップと、
前記受信されたネットワーク値が前記SIM上に存在するHPLMN値と一致しないという判断に応答して、前記SIM上に存在するHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップであって、前記SIM上のHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップは、
アプリケーションプログラミングインターフェース(API)を介して前記SIM上でメモリ書込み動作を実行するステップ
を含む、ステップとを含む、非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記SIM上に存在するHPLMN値を、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップが、
標準SIMアプリケーションプログラミングインターフェース(API)を介して前記SIM上で指示されたメモリ書込み動作を実行するステップを含むような動作をプロセッサに実行させるように、前記記憶されたプロセッサ実行可能ソフトウェア命令が構成される、請求項11に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記利用可能なPLMNを識別する前記ステップが、それを介して前記モバイルデバイスがグローバルな電気通信ネットワークに接続し得る、関与するネットワークとして前記利用可能なPLMNを識別するステップをさらに含む、請求項1に記載の方法。
【請求項１４】
前記利用可能なPLMNを識別する前記ステップが、前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値が前記SIM上に記憶された前記存在するHPLMN値と一致しないと判断するステップをさらに含む、請求項1に記載の方法。
【請求項１５】
前記SIM上に存在するHPLMN値を、前記新しいHPLMN値で上書きする前記ステップが、
前記受信されたモバイルカントリーコード値および前記受信されたモバイルネットワークコード値を含むために、前記SIM上に記憶されたローカルなIMSI値およびグローバルなIMSI値のうち少なくとも１つを更新するステップ
をさらに含む、請求項1に記載の方法。
【請求項１６】
前記SIM上に存在するHPLMN値を、前記新しいHPLMN値で上書きする前記ステップに応答して、前記モバイルデバイスはホームネットワークまたは非ローミング状態にあることを判断するステップをさらに含む請求項1に記載の方法。
【請求項１７】
前記SIM上に存在するHPLMN値を、前記新しいHPLMN値で上書きする前記ステップに応答して、ローミングルーチンを実行することを回避するステップをさらに含む請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的ＨＰＬＭＮ構成のための方法、システムおよびデバイスに関する。
【背景技術】
【０００２】
セルラー通信技術およびモバイル通信技術は、過去数年の間に爆発的な発展をとげてきた。今や、セルラーサービスプロバイダは、多様な特徴およびサービスを提供しており、ワイヤレスドングルおよび埋込み式ワイヤレスモデムカードは、セルラーネットワークを介してワイヤレスインターネットプロトコル(IP)およびデータサービスにアクセスするために、ユーザがそれらのモバイル電子デバイス(たとえば、タブレット、ラップトップ、など)を使用することを可能にする。その結果、今や、モバイルデバイスユーザは、世界のどこにおいてもそれらのモバイルデバイス上でIPおよびデータサービスへのアクセスを有することが可能であることを期待している。しかしながら、セルラー通信技術およびモバイル通信技術の多くの最近の発展にもかかわらず、モバイルデバイスのモデムは、依然として一般的に特定のセルラーサービスプロバイダ(たとえば、AT&T(登録商標)、Verizon(登録商標)、Vodophone、など)および/またはネットワークに束縛されており、異なるサービスプロバイダのネットワークを介する通信(一般に「ローミング」として知られている)は、しばしば、モバイルデバイスのホームネットワークを介する通信よりはるかに高額である。これらの要因は、しばしば、モバイルデバイスがそのホームサービスプロバイダネットワークの地理的範囲の外側にあるとき、モバイルデバイスユーザの、コンテンツ、データおよび通信へのアクセスを制限する。モバイルデバイスの遍在性およびますますモバイルになる社会とともに、IPおよびデータサービスへの改善されたアクセスが、モバイルデバイス消費者に対してより一層重要な要件となることが期待されている。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な実施形態は、モバイルデバイスの加入者識別モジュール(SIM)上のホームパブリックランドモバイルネットワーク(HPLMN)値を動的に更新する方法を含み、方法は、モバイルデバイスが接続し得る、関与するパブリックランドモバイルネットワーク(PLMN)を識別するステップと、モバイルカントリーコード値およびモバイルネットワークコード値を含むネットワーク値を識別されたネットワークからの受信するステップと、SIM上に存在するHPLMN値を、受信されたモバイルカントリーコードおよびモバイルネットワークコード値を含む新しいHPLMN値で上書きするステップとを含み得る。一実施形態では、SIM上に存在するHPLMN値を新しいHPLMN値で上書きするステップは、標準SIMアプリケーションプログラミングインターフェース(API)を介してモバイルデバイスのモデムによって、SIM上で指示されたメモリ書込み動作を実行するステップを含み得る。さらなる実施形態では、モバイルデバイスは接続性サービスクライアントを含み得、SIMはSIMアプレットを含み得、方法は、接続性サービスクライアントを介してSIMアプレットの機能を呼び出すステップをさらに含み得る。さらなる実施形態では、SIMは、ローカルな国際モバイル加入者識別情報(international mobile subscriber identity)(IMSI)値およびグローバルなIMSI値を記憶し得、方法は、ネットワークサーバ上のグローバルなIMSI値とローカルなIMSI値との間の動的関連性を生成するステップと、ネットワークサーバによって維持されるグローバルなIMSI値とローカルなIMSI値との間の動的関連性を変更することなく、SIM上のローカルなIMSI値を更新するステップとをさらに含み得る。
【０００４】
さらなる実施形態は、上記で説明した方法に対応する様々な動作を実行するように、プロセッサ実行可能命令で構成されたプロセッサを有するコンピューティングデバイスを含み得る。
【０００５】
さらなる実施形態は、上記で説明した方法動作に対応する機能を実行するための様々な手段を有するコンピューティングデバイスを含み得る。
【０００６】
さらなる実施形態は、上記で説明した方法動作に対応する様々な動作をプロセッサに実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体を含み得る。
【０００７】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００８】
【図１】様々な実施形態で使用するのに適した例示的な通信システムのネットワーク構成要素を示す通信システムブロック図である。
【図２】ローカルな非ローミング料金で世界中どこでもセルラーサービスを受信してローミング表示を回避するように構成されたモバイルデバイス内の、例示的な構成要素および通信リンクを示すコンピュータアーキテクチャ図である。
【図３】様々な実施形態で使用するのに適した例示的な通信システムのネットワーク構成要素、通信リンクおよび情報フローを示す通信システムブロック図である。
【図４】様々な実施形態による、符号化された値を加入者識別モジュールから読み出し、加入者識別モジュールに書き込むように構成されたモバイルデバイス内の例示的な機能構成要素および情報フローを示すコンピュータアーキテクチャ図である。
【図５】一実施形態による、加入者識別モジュール上のホームパブリックランドモバイルネットワーク値を動的に更新するための一実施形態のモバイルデバイスの方法を示すプロセスフロー図である。
【図６】一実施形態による、加入者識別モジュール上のホームパブリックランドモバイルネットワーク値を更新するためにアプレットを呼び出すための、一実施形態のモバイルデバイスの方法を示すプロセスフロー図である。
【図７】様々な態様を実装するのに適したモバイルデバイスを示す構成要素ブロック図である。
【図８】様々な態様を実装するのに適した別のモバイルデバイスを示す構成要素ブロック図である。
【発明を実施するための形態】
【０００９】
様々な実施形態について添付の図面を参照しながら詳細に説明する。可能な場合には必ず、同じ参照番号は、図面全体にわたって同じまたは同様の部分を指すために使用される。特定の例および実装形態に対して行われる参照は、説明を目的とし、本発明の範囲または本特許請求の範囲を限定することは意図されない。
【００１０】
「例示的な」という言葉は、例、事例、または例示として機能することを意味するように本明細書で使用される。本明細書に「例示的な」と記載されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
【００１１】
「モバイルデバイス」、「ワイヤレスデバイス」、および「コンピューティングデバイス」という用語は、携帯電話、スマートフォン、パーソナルまたはモバイルマルチメディアプレーヤー、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、ウルトラブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応携帯電話、ワイヤレスゲームコントローラ、ならびに、プログラム可能プロセッサ、メモリ、およびワイヤレス通信信号を送信および/または受信するための回路を含む、同様の個人用電子デバイスのうちの、任意の1つまたはすべてを指すように、本明細書では交換可能に使用される。様々な実施形態は、限定されたバッテリー寿命を有するタブレットおよびラップトップなど、データオンリーモバイルデバイスにおいて特に有用であるが、実施形態は、一般に、セルラー通信ネットワークを介してワイヤレスIPおよびデータサービスにアクセスするために使用され得る任意のコンピューティングデバイスにおいて有用である。
【００１２】
「ネットワークのモバイルカントリーコード/モバイルネットワークコード値」、「ネットワークのMCC/MNC値」、および「ネットワークのMCC/MNC値ペア」という句は、本明細書では、セルラーサービスプロバイダネットワーク内のネットワーク構成要素またはサーバから、モバイルデバイスに対するセルラーサービスプロバイダまたはセルラーサービスプロバイダネットワークを識別するモバイルデバイスに送られ得る(放送され得る、送信され得る、など)任意の情報を指すために互換的に使用され得る。
【００１３】
いくつかの異なるセルラーおよびモバイル通信サービスおよび規格が利用可能であるか、または将来考えられ、それらのすべてが様々な実施形態を実装し、様々な実施形態から利益を受けることができる。そのようなサービスおよび規格は、たとえば、第3世代パートナーシッププロジェクト(3GPP)、ロングタームエボリューション(LTE)システム、第3世代ワイヤレスモバイル通信技術(3G)、第4世代ワイヤレスモバイル通信技術(4G)、広域移動通信システム(GSM（登録商標）)、ユニバーサルモバイル通信システム(UMTS)、3GSM（登録商標）、汎用パケット無線サービス(GPRS)、符号分割多元接続(CDMA)システム(たとえば、cdmaOne、CDMA2000TM)、GSM（登録商標）進化型高速データレート(enhanced data rates for GSM evolution)(EDGE)、高度移動電話システム(advanced mobile phone system)(AMPS)、デジタルAMPS(IS-136/TDMA)、エボリューションデータ最適化(EV-DO)、digital enhanced cordless telecommunications(DECT)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(worldwide interoperability for microwave access)(WiMAX)、ワイヤレスローカルエリアネットワーク(WLAN)、Wi-FiプロテクテッドアクセスIおよびII(WPA、WPA2)、ならびにintegrated digital enhanced network(iden)を含む。これらの技術の各々は、たとえば、音声、データ、シグナリング、および/またはコンテンツメッセージの送信および受信を伴う。個々の電気通信規格または技術に関連した用語および/または技術的詳細に対するいかなる参照も、例示目的にすぎず、請求項の文言に具体的に記載されない限り、請求項の範囲を特定の通信システムまたは技術に限定することは意図していないことを理解されたい。
【００１４】
上記のように、ワイヤレスドングルおよび埋込み式ワイヤレスモデムカードは、今や、モバイルデバイスユーザがセルラーネットワークを介してワイヤレスインターネットプロトコル(IP)およびデータサービスにアクセスすることを可能にする。しかしながら、そのようなドングル/モデムは、しばしば、モバイルデバイスが、特定の電気通信サービスプロバイダ(たとえば、AT&T、Verizon、など)のセルラーネットワーク(本明細書では「ホームネットワーク」)を介してグローバルな電気通信ネットワーク(および最終的にインターネット)に接続することを必要とすることによって、モバイルデバイスをそのサービスプロバイダに結び付ける。モバイルデバイスがそのホームネットワークの地理的範囲の外にあるときなど、ホームネットワークを介する接続が利用可能でないとき、モバイルデバイスは、異なるサービスプロバイダのセルラーネットワーク(本明細書では「訪問先ネットワーク(visited network)」)を介して接続することによって「ローミングする」ことを許可されることがある。そのようなローミング機能は、モバイルデバイスユーザに付加的な移動性および接続性を提供し得る一方で、それは、しばしば、モバイルデバイスのホームネットワークを介してワイヤレスIPおよびデータサービスにアクセスするよりはるかに高価である。この付加的費用は、しばしば、モバイルデバイスがホームネットワークの地理的範囲の外にあるとき(すなわち、デバイスがローミングしているとき)、セルラーネットワークを介してIPおよびデータサービスにアクセスしたいというモバイルデバイスユーザの意欲を抑制する。
【００１５】
主として従来のモバイルデバイスにおけるローミングに関連する付加的費用によって、いくつかのモバイルデバイスアプリケーションおよびオペレーティングシステム(たとえば、Windows（登録商標） 7、8、など)は、モバイルデバイスユーザが、無意識にローミングデータ料金でデータを受信することによって、思いがけなく追加料金を負担することがないことを確実にするためのルーチンを含む。たとえば、いくつかのモバイルデバイスのオペレーティングシステムは、訪問中のネットワークへの自動接続を防止すること、および/またはユーザが訪問先ネットワークへの接続を明確に認可することを必要とすることができる。たとえば、モバイルデバイスのオペレーティングシステムは、モバイルデバイスが、ホームネットワークが利用できないロケーションに進入するとき、モバイルデバイスのオペレーティングシステムは、ユーザにプロンプトを出して、(バックグラウンドにおける訪問者ネットワークへの接続を自動的に確立するのではなく)訪問者ネットワークへの接続を確立することを試みる前にユーザの応答を待つように構成され得る。ユーザが、訪問先ネットワークへの接続を確立することに同意する場合、オペレーティングシステムは、訪問先ネットワークへの接続を確立するのに追加の時間(たとえば、4、5秒)を費やしなければならない。接続がバックグラウンドで確立されていなかったので、ユーザは、しばしば、IPおよびデータサービスにアクセスするまで接続が確立されている間、積極的に待たなければならない。このことは、しばしば、煩わしく、ユーザエクスペリエンスを低下させる。
【００１６】
ユーザコストを低減するために自動接続を防止することに加えて、いくつかのモバイルデバイスのオペレーティングシステムは、ホームネットワークが利用可能であるかどうかを判断するためにモバイルデバイスがローミング状態にあるときに、利用可能なネットワークを自動的かつ周期的にスキャンするように構成され得る。そのような動作は、可能なときにいつでもホームネットワークに切り替えることによってコストを低減することを欲する消費者にとって有益ではあるが、そのようなスキャニング動作は、モバイルデバイスのバッテリーを急速に消耗してユーザエクスペリエンスをさらに低下させる、電力消費の激しいタスクを含むことがある。
【００１７】
加えて、いくつかのモバイルデバイスのアプリケーションおよび/またはオペレーティングシステムは、訪問先ネットワークを介して送受信されるデータ量を制限することがあり、かつ/またはモバイルデバイスのユーザがローミング料金でデータを受信することに関連して起こり得るコストに気付くことを確実にするために、モバイルデバイスがローミング状態にあることをユーザに繰返し通告することがある。そのようなルーチンおよび/または通告は、いくらかのユーザにとって利益となることがあるが、それらは、しばしば、主としてローミングに関連する追加料金を支払うことに無関心なユーザにとって制限的であり、かつ/または煩わしい。
【００１８】
上記で説明したように、モバイルデバイスユーザは、概して、彼らがセルラーネットワークを介してワイヤレスIPおよびデータサービスにアクセスすることを可能にするセルラー通信技術およびモバイル通信技術によって提供される利便性および移動性を享受するが、ローミングデータ料金でデータおよびサービスを受信することに関連する高コストにより制限されることがある。最近、モバイルデバイスユーザが、ローカルな非ローミングデータ料金で世界中どこでもセルラーネットワークおよび/またはインターネットにアクセスすることを可能にするモデム、メモリ、および/またはソフトウェアが、モバイル通信技術に追加された。そのような技術の例として、Qualcomm社によって製造されたGobi(登録商標)モデムおよびGobi(登録商標)Connectが含まれる。
【００１９】
Gobi(登録商標)モデム、Gobi(登録商標)Connect、および/または他の同様の技術(本明細書では総称して「Gobiデバイス」)を使用するモバイルデバイスは、特定のセルラーサービスプロバイダに束縛されず、したがって従来のモバイルデバイスと同じ方法で特定のホームネットワークと関連付けられるものではない。Gobiデバイスは、モバイルデバイス、モデムまたはチップの製造者と、Gobiデバイスが接続する、関与するセルラーネットワークとの間にあらかじめ存在する合意によって、ローカルな非ローミング料金でセルラーデータサービスを受信する。Gobiデバイスは従来の意味におけるホームネットワークを持たないので、Gobiデバイスは、代わりに、常にローミング状態にある(すなわち、ホームネットワークを持たないことに起因する)、またはローミング状態に決してならない(すなわち、常にローカルで非ローミングのデータレートで受信することに起因する)、のいずれかであると見なされ得る。
【００２０】
Gobi(登録商標)技術および関連技術は、一定のレートまたは非ローミング料金で世界中どこでもセルラーネットワークおよび/またはインターネットにアクセス可能であるという利便性をモバイルデバイスユーザに提供するが、これらの技術は、まだ、多くの既存のモバイルデバイスのソフトウェアシステムによって十分にサポートされていない。上記で説明したように、いくつかのモバイルデバイスアプリケーションおよびオペレーティングシステム(たとえば、Windows（登録商標） 7、8、など)は、モバイルデバイスユーザが、無意識に一般的により高価なローミングデータ料金でデータを受信することによって、追加料金を負担することがないことを確実にするためのルーチンおよび/または通告を含む。同様に上記で説明したように、これらのルーチン/通告は、Gobiデバイスのユーザなど、主としてローミングデータ料金に関連する追加料金に無関心なユーザにとって制限的であり、かつ/または煩わしいことがある。加えて、Gobiデバイスは、常にローカルな非ローミングデータ料金でデータを受信するので、そのような通告は、実際にはGobiデバイスユーザがローカルな非ローミング料金でIPデータサービスを受信しているときに、彼らを混乱または誤解させて、ローミング料金でIPデータサービスを受信していると信じ込ませることがある。これらの要因が重なって、しばしば、Gobiデバイスのユーザに対するユーザエクスペリエンスを低下させることになる。
【００２１】
様々な実施形態は、モバイルデバイスが、上記で説明した制限的で、誤解を招く恐れがあり、かつ/または煩わしいローミング警告ルーチンをトリガすることなく、通信ネットワークをシームレスに変更することを可能にすることによって、既存の解法に対する上述の制限を克服する。
【００２２】
一般に、各モバイルデバイスは、モバイルデバイスのホームネットワークを識別する1つまたは複数の符号化された値を記憶する加入者識別モジュール(SIM)のハードウェア、メモリ、またはカードを含む。SIMはまた、モバイルデバイスが接続されている現在のネットワークを識別する値を記憶し得る。モバイルデバイスのホームネットワークを識別する符号化された値が現在のネットワークを識別する値と一致しない場合、モバイルデバイス、モバイルデバイスのオペレーティングシステム、モバイルデバイスのモデム、および/またはモバイルデバイス上のソフトウェアアプリケーションは、モバイルデバイスがローミング状態にあり、上述の制限的で、誤解を招く恐れがあり、かつ/または煩わしいローミングルーチンを呼び出すものと判断し得る。
【００２３】
一例として、モバイルデバイスのモデムが電源を入れられると、モデムは、ホームネットワークを介する接続が利用可能であるかどうかを判断するために、利用可能なセルラーネットワークをスキャンすることができ、そのことは、SIM上に記憶されている符号化された値とセルラーネットワークから受信された1つまたは複数の値とを比較して、符号化された値が、利用可能なセルラーネットワークのうちの少なくとも1つをモバイルデバイスのホームネットワークであるものと識別するかどうかを判断することによって達成され得る。符号化された値が、利用可能なセルラーネットワークのうちの少なくとも1つをホームネットワークとして識別する場合、モバイルデバイスは、ホームネットワークへの接続を自動的に確立して、SIM上に記憶されている現在のネットワークを識別する値を更新して、ホームネットワーク値と一致させることができる。
【００２４】
一方、SIM上に記憶されている符号化された値が、利用可能なセルラーネットワークから受信された値のうちのいずれとも一致しないとき、モバイルデバイスのモデムは、好適ローミングリストをスキャンして(traverse)、モバイルデバイスがグローバルな電気通信ネットワークに接続し得る訪問者ネットワークを識別することができる。場合によっては、モバイルデバイスは、ユーザが訪問者ネットワークを介して接続を認可することを要求するプロンプトを表示し得る。ユーザが接続を認可する場合、モバイルデバイスは、訪問者ネットワークへの接続を確立し、現在のネットワークを識別する値を更新して訪問者ネットワーク値と一致させることができる。そのようなシナリオでは、モバイルデバイスのホームネットワークを識別する符号化された値は、現在のネットワークを識別する値と一致せず、モバイルデバイスは、自体がローミング状態にあるものと認識し、それにより既存のモバイルデバイスのソフトウェアソリューションに含まれる制限的で、誤解を招く恐れがあり、かつ/または煩わしいローミングルーチンをトリガする。
【００２５】
様々な実施形態は、モバイルデバイスが、常にそれ自体を識別するか、または場合によってはオペレーティングシステムにはそのホームネットワーク内にあるように見えるように、SIM上に記憶されている符号化された値を動的に更新して、現在利用可能なネットワーク値に一致させる。このようにして、様々な実施形態は、上記で説明した既存のモバイルデバイスのソフトウェアソリューションに含まれる制限的で、誤解を招く恐れがあり、かつ/または煩わしいローミング警告ルーチンをトリガすることを回避し得る。
【００２６】
一実施形態では、モバイルデバイスは、SIM上に記憶されている1つまたは複数の国際モバイル加入者識別情報(IMSI)のうちの全部または一部を動的に更新するように構成され得る。一実施形態では、モバイルデバイスは、SIM上に記憶されているホームパブリックランドモバイルネットワーク(home public land mobile network)(HPLMN)値を動的に更新するように構成され得る。一実施形態では、モバイルデバイスは、SIM上に記憶されているHPLMN値および1つまたは複数のIMSI値を動的に更新するように構成され得る。
【００２７】
一実施形態では、モバイルデバイスは、既存の商業用モデム、モデムソフトウェア、モデムインターフェース、またはモバイルデバイスのSIMアプリケーションプログラミングインターフェース(API)に対していかなる修正も必要とすることなく、SIM上に記憶されている符号化された値(たとえば、HPLMN、IMSI、など)を更新するように構成されたクライアントソフトウェアを含み得る。一実施形態では、モバイルデバイスは、モバイルデバイスのSIM上の符号化された値を読み出しかつ書き込む(かつ上書きする)ように構成されたSIMアプレットを含むSIMで構成され得る。
【００２８】
様々な実施形態は、図1に示す例示的な通信システム100などの様々な通信システムで実施され得る。通信システム100は、1つまたは複数のモバイルデバイス102、電話ネットワーク104、ならびに電話ネットワーク104およびインターネット108に結合されたネットワークサーバ106を含み得る。一実施形態では、ネットワークサーバ106は、電話ネットワーク104のネットワークインフラストラクチャ内のサーバとして実装され得る。
【００２９】
典型的な電話ネットワーク104は、ネットワーク運用センター112に結合された複数のセル基地局110を含み、ネットワーク運用センター112は、たとえば電話陸上通信線(たとえば、図示していないPOTSネットワーク)およびインターネット108を介して、モバイルデバイス102(たとえば、タブレット、ラップトップ、セルフォン、など)と他のネットワーク宛先との間のボイス呼およびデータ呼を接続するように動作する。電話ネットワーク104は、インターネット108および/またはネットワークサーバ106への接続を提供する、ネットワーク運用センター112に結合される、またはネットワーク運用センター112内にある1つまたは複数のサーバ116も含み得る。モバイルデバイス102と電話ネットワーク104との間の通信は、GSM（登録商標）、UMTS、EDGE、4G、3G、CDMA、TDMA、LTEおよび/または他の通信技術などの双方向ワイヤレス通信リンク114を介して遂行され得る。
【００３０】
図2は、既存のモバイルデバイスのソフトウェアソリューションの制限的で、誤解を招く恐れがあり、かつ/または煩わしいソフトウェアローミングルーチンをトリガすることなく、ローカルな非ローミング料金でセルラーデータサービスを受信するように構成された一実施形態のモバイルデバイス102の例示的な機能構成要素、ソフトウェアモジュール、およびアプリケーションプログラミングインターフェース(API)を示す。具体的には、図2は、モバイルデバイス102が、接続性サービスクライアント202、モバイルデバイスのオペレーティングシステム204、モデムモジュール206、SIM API 208、およびSIM 210を含み得る。接続性サービスクライアント202は、Qualcomm社によって製造されるGobi(登録商標)Connectクライアントソフトウェアを含み得る。SIM 210は、SIM 210上に記憶されている符号化された値を読み出しかつ書き込む(かつ上書きする)ように構成されたSIMアプレット212を含み得る。
【００３１】
モデムモジュール206は、モバイルデバイスのモデム206aおよび/またはモデムソフトウェア206bを含み得る。様々な実施形態では、モバイルデバイスのソフトウェア206bは、モバイルデバイスのモデム206aのチップ上、ファームウェア内、またはモバイルデバイスのオペレーティングシステム204の一部として実装され得る。
【００３２】
SIM 210は、ハードウェア、モバイルデバイスメモリ、および/またはリムーバブルメモリカードの中に実装され得る。一実施形態では、SIM 210は、仮想SIM、リムーバブルユーザ識別モジュール(R-UIM)、Mini SIM、MicroSIM、埋込みSIM、または任意の他の同様の識別モジュールであってよい。一実施形態では、SIMは、UMTS、EDGE、GPRS、LTE、CDMA、および/または他の関連する通信技術をサポートするように構成された3GPP準拠のSIMカードであってよい。一実施形態では、SIM 210は、高度暗号化標準(Advanced Encryption Standard)(AES)に基づく既知のアルゴリズムであるMilenage認証アルゴリズムをサポートするように構成され得る。
【００３３】
SIM 210は、モバイルデバイス102を識別し、認証し、かつ/または位置を特定するために1つまたは複数の無線システムによって必要とされる情報を記憶し得る。SIM 210はまた、1つまたは複数の認証キー(Ki)、グローバルな国際モバイル加入者識別情報(IMSI)値、ローカルなIMSI値、現在のIMSI値、および/またはホームパブリックランドモバイルネットワーク(HPLMN)値を記憶し得る。IMSI、HPLMNおよびKiの値は、モバイルデバイスユーザおよび/または第三者が、記憶された値にアクセスすることまたはその値を修正することが容易にできないように、独自仕様のフォーマットまたは符号化されたフォーマットでSIM上に記憶され得る。一実施形態では、SIM上に記憶されているIMSI値のうちの1つまたは複数は、SIM上に記憶されているKi値のうちの1つまたは複数と関連付けられ得る。
【００３４】
一実施形態では、ローカルおよびグローバルなIMSI値の各々は、64ビットフィールドまたは15桁の数としてSIM 210上に記憶され得る。IMSI値の各々の最初の3桁がモバイルカントリーコード(MCC)値を記憶し、次の3桁がモバイルネットワークコード(MNC)値を記憶することができる。MCCおよびMNCの値の組合せは、特定のセルラーサービスプロバイダ(たとえば、AT&T、Verizon、など)ネットワークを一意に識別し得る。IMSI値の各々の残りの9桁は、モバイルデバイス102および/またはモバイルデバイスユーザを一意に識別する識別番号であり得るモバイル加入者識別番号(MSIN)を記憶し得る。
【００３５】
HPLMN値は、6桁の数としてSIM 210上に記憶され得る。HPLMN値はMCC/MNC値を含み、それらの組合せはセルラーサービスプロバイダネットワークを一意に識別することができる。HPLMN値に含まれるMCC/MNC値は、ローカルおよびグローバルなIMSI値の一部として含まれるMCC/MNC値とは無関係であり得る。たとえば、HPLMN値のMCC/MNC値は、グローバルおよびローカルなIMSI値に含まれるMCC/MNC値ペアのいずれかによって識別されるセルラーサービスプロバイダの各々と異なるセルラーサービスプロバイダを識別し得る。
【００３６】
一実施形態では、認証キー(Ki)は、128ビット値としてSIM 210上に記憶され得る。Kiは、特定のセルラーサービスプロバイダ(たとえば、AT&T)またはデバイス製造者によってSIM 210に割り当てられ得、セルラーネットワーク内の認証センター(AUC)構成要素上に記憶される認証値に対応し得る。Kiは、SIM 210上に記憶されているIMSI値のうちの1つまたは複数と関連付けられ得る。
【００３７】
モデムモジュール206は、セルラーネットワークから符号化された情報を受信して、符号化された情報を復号するためにSIM 210に転送するように構成され得る。SIM 210は、モデムモジュール206から受信された符号化された値を復号し、復号された値を分析および/または処理のために、(たとえば、モデムモジュール206などを介して)接続性サービスクライアント202に送信するように構成され得る。
【００３８】
モデムモジュール206は、SIM API 208を介してSIM 210と通信し得る。モバイルデバイスのオペレーティングシステム204は、モデムモジュール206を介してSIM 210と通信し得る。たとえば、モバイルデバイスのオペレーティングシステム204は、モデムモジュール206からHPLMN情報を要求し得、モデムモジュール206は、SIM API 208を介して、SIM 210上に記憶されているHPLMN値を読み出すことを要求し得る。このようにして、モバイルデバイスのオペレーティングシステム204は、モデムモジュール206を介してモバイルデバイス102のローミング状態について照会し得る。
【００３９】
様々な実施形態では、SIMアプレット212は、接続性サービスクライアント202(たとえば、クライアント-SIM APIなどを介して)、モデムモジュール206、および/またはSIM 210によって呼び出され得る1つまたは複数の機能を実装し得る。たとえば、SIMアプレット212は、ローカルなIMSI値、グローバルなIMSI値、および/またはHPLMN値を動的に更新するために接続性サービスクライアント202によって(直接的または間接的のいずれかで)呼び出され得る書込み(または上書き)機能を実装し得、ローカルなIMSI値、グローバルなIMSI値、およびHPLMN値のうちのいずれか1つまたは全部は、それらがSIMアプレット機能によってのみ修正され得るように、独自仕様のフォーマットまたは符号化されたフォーマットでSIM 210上に記憶され得る。
【００４０】
一実施形態では、SIMアプレット212は、接続性サービスクライアント202によって直接呼び出され得る1つまたは複数の機能を実装し得る。たとえば、モデムモジュール206は、セルラーネットワークから符号化されたネットワーク情報を受信し、符号化されたネットワーク情報をSIM 210に転送するように構成され得る。SIM 210は、符号化されたネットワーク値を復号し、復号された値を接続性サービスクライアント202に送信するように構成され得る。接続性サービスクライアント202は、復号された値に基づいてSIMアプレット212によって実装された1つまたは複数の機能(たとえば、HPLMN書込み機能)を呼び出し、復号された値をモデムモジュール206に送信するように構成され得る。モデムモジュール206は、モバイルデバイスがそのホームネットワーク内にあるかどうかを判断するために、接続性サービスクライアント202から受信された復号された値とSIM 210上に記憶されているHPLMN値とを比較し得る。
【００４１】
一実施形態では、SIMアプレット212は、接続性サービスクライアント202によって間接的に呼び出され得る1つまたは複数の機能を実装し得る。たとえば、接続性サービスクライアント202は、モデムモジュール206に対する呼出し情報を含むペイロードを送信するように構成され得る。モデムモジュール206は、接続性サービスクライアント202からペイロードを受信し、ペイロードを含む要求メッセージを生成し、生成された要求メッセージをSIM API 208を介してSIM 210に送信するように構成され得る。SIM 210は、モデムモジュール206から送信された要求メッセージを受信して復号し、呼出し情報を抽出し、呼出し情報に基づいてSIMアプレット212によって実装された1つまたは複数の機能を呼び出すように構成され得る。このようにして、SIMアプレット機能を呼び出すために、既存のモバイルデバイスのモデムおよび/またはモデムソフトウェアパッケージに対する修正が、モデムモジュール206に要求されることなく、モバイルデバイス102は、いくつかの市販のモデム製品および/またはモデムソフトウェア製品のうちのいずれかを装備され得る。
【００４２】
一実施形態では、接続性サービスクライアント202は、SIM 210からの情報をモデムモジュール206に要求させ得る情報を識別するように構成され得る。接続性サービスクライアント202は、識別された情報に基づいてSIMアプレット212によって実装された1つまたは複数の機能を呼び出すようにさらに構成され得る。たとえば、接続性サービスクライアント202は、モバイルデバイスが利用可能なネットワークを識別するネットワーク情報を受信すると、モデムモジュール206が識別されたネットワークの利用可能性を通知される前に、接続性サービスクライアント202が、既存のHPLMN値を識別された利用可能なネットワークのネットワーク識別子で上書きするために、SIMアプレット212の書込み機能を呼び出すように構成され得る。
【００４３】
一実施形態では、SIMアプレット212は、モデムモジュール206がSIM 210と通信することに応答して呼び出され得る、1つまたは複数の機能を実装し得る。たとえば、SIMアプレット212は、モデムモジュール206が情報(たとえば、HPLMN情報)をSIM 210に書き込むことを要求するたびに呼び出され得る書込み機能(たとえば、HPLMN書込み機能)を実装し得る。
【００４４】
図3は、様々な実施形態で使用するのに適した例示的な通信システム300における論理構成要素、通信リンクおよび情報フローを示す。モバイルデバイス102は、多様な通信システム/技術(たとえば、GPRS、UMTS、LTE、cdmaOne、CDMA2000TM)を使用してIPデータおよび制御信号を、グローバルな電気通信ネットワーク326(および最終的にインターネット108)に送信し、そこから受信するように構成され得る。たとえば、図3は、モバイルデバイス102が汎用パケット無線サービス(GPRS)データをトランシーバ基地局(BTS)312に送信し得、BTS 312は、GPRSデータを基地局コントローラ(BSC)および/またはパケット制御ユニット(PCU)構成要素(BSC/PCU)318に送信し得ることを示す。同様にして、モバイルデバイス102から送信された符号分割多元接続(CDMA)データは、トランシーバ基地局312によって受信され、基地局コントローラ(BSC)および/またはポイント協調機能(point coordination function)(PCF)構成要素(BSC/PCF)320に送信され得る。モバイルデバイス102から送信されたユニバーサルモバイル通信システム(UMTS)データは、ノードB 314によって受信され、無線ネットワークコントローラ(RNC)322に送信され得る。ワイヤレスデバイス102から送信されたロングタームエボリューション(Long term evolution)(LTE)データは、eノードB 316によって受信され、コアネットワーク324内に位置するネットワーク構成要素(たとえば、サービングゲートウェイすなわち「SGW」など)に送信され得る。
【００４５】
BSC/PCU 318、BSC/PCF 320およびRNC 322構成要素は、それぞれ、GPRS/GSM（登録商標）、UMTSおよびCDMSのデータを処理し、処理されたデータをコアネットワーク324内のネットワーク構成要素に送信することができる。コアネットワーク224は、様々な管理業務(たとえば、ユーザ認証、ローミング制限の強化、など)を実行し、かつ/または様々な無線接続ネットワークとIPデータネットワークとの間の接続ポイントとして働く、様々な知られているネットワーク構成要素(たとえば、サービングGPRSサポートノード(serving GPRS support node)すなわち「SGSN」、パケットデータサービングノード(packet data serving node)すなわち「PDSN」、など)を含み得る。これらの構造はよく知られているので、最も適切な特徴に記述の焦点を合わせるため、いくつかの詳細は省略されている。
【００４６】
一実施形態では、コアネットワーク324は、移動性管理エンティティ(MME)328構成要素、モバイルサービススイッチングセンター(MSC)330構成要素、ホーム加入者サーバ(HSS)332構成要素、ホームロケーションレジスタ(HLR)334構成要素、および/または認証センター(AUC)336構成要素を含み得る。MME 328および/またはMSC 330の構成要素は、モバイルデバイス102から受信されたIMSI値など、モバイルデバイス102から受信された情報に基づいてHSS 332および/またはHLR 334の構成要素からユーザ/サブスクリプション情報を要求するように構成され得る。HSS 332、HLR 334、および/またはAUC 336の構成要素は、モバイルデバイス102、SIM 210、IMSI値、モバイルデバイスユーザ、および/またはサービスプロバイダネットワークを識別、認可、および/または認証するための情報を記憶し得る。サービスプロバイダネットワークを一意に識別するためにモバイルデバイス102に送信され得る、ネットワーク内(たとえば、HLR 334またはHSS 332の中)に記憶される情報は、本明細書では、全体的に、「ネットワークのMCC/MNC値」と呼ばれる。
【００４７】
AUC 336構成要素は、SIM 210上に記憶される認証キー(Ki)に対応し、SIM 210上に記憶されるIMSIと関連付けられ得る、128ビットの秘密の共有される認証キー(Ki)を記憶する保護データベースを含み得る。Kiは、AUC 336とSIM 210との間で通信されないが、SIM 210および/またはセルラーネットワークの識別および検証のための質問/応答(challenge/response)メッセージを生成するために、対応するIMSIと組み合わされる。
【００４８】
一実施形態では、モバイルデバイス102は、Gobiデバイス(すなわち、Gobi(登録商標)モデム、Gobi(登録商標)接続ソフトウェアを含むか、場合によってはGobi(登録商標)技術によって提供される機能と同様の機能を含むモバイルデバイス)であり得る。一実施形態では、HLR 334構成要素は、Gobi(登録商標)Connect HLR構成要素であり得る。一実施形態では、HLR 334構成要素(またはHLR 334構成要素と等価なネットワーク構成要素)は、ネットワークのMCC/MNC値をモバイルデバイス102に送信し得る。
【００４９】
モバイルデバイス102のモデムが電源を入れられるかまたは異なるセルラーネットワークによってカバーされる地理的エリアに移動されると、モデムは、モバイルデバイスがグローバルな電気通信ネットワーク326および最終的にはインターネット108に接続し得る、利用可能なネットワークを識別するために、利用可能なネットワークをスキャンすることができる。これは、モバイルデバイス102が、利用可能なネットワークから送信されたネットワークのMCC/MNC値を受信し、受信されたMCC/MNC値のうちのいずれかが、モバイルデバイスのSIM(たとえば、図2に示すSIM 210)上に記憶されている情報と一致するかどうかを判断することによって達成され得る。
【００５０】
従来のモバイルデバイスは、ネットワークのMCC/MNC値が、モバイルデバイスのSIM上に記憶されているグローバルなIMSI値のMCC/MNC値と一致するかどうかを最初に判断し得る。値が一致する場合、モバイルデバイスのモデムおよび/またはモバイルデバイスのオペレーティングシステムは、モバイルデバイスがそのホームネットワーク内にあるものと判断し、識別されたネットワークへの接続をバックグラウンドで自動的に確立することができる。一方、ネットワークのMCC/MNC値が、SIM上に記憶されているグローバルなIMSI値のMCC/MNC値と一致しない場合、従来のモバイルデバイスは、モバイルデバイスがグローバルな電気通信ネットワーク326に接続し得る訪問者ネットワークを識別するために、好適ローミングリストをスキャンすることができる。次に、従来のモバイルデバイスは、ユーザが訪問者ネットワークへの接続を認可することを要求するプロンプトを表示し得る。そのような認可を受けた後、従来のモバイルデバイスは、訪問者ネットワークから受信されたIMSI値の値に等しくなるように、ローカルなIMSI値を上書きすることができる。そのようなシナリオでは、ローカルなIMSI値のMCC/MNC値はグローバルなIMSI値のMCC/MNC値と異なり、そのことが、いくつかのモバイルデバイスアプリケーションおよびオペレーティングシステムに、モバイルデバイスがローミング状態にあるものと判断させ、かつ/またはモバイルデバイスのモデムに、利用可能なネットワークを自動的かつ周期的にスキャンして、ホームネットワークが利用可能であるかどうかを判断させることがある。
【００５１】
上述のように、一実施形態では、モバイルデバイス102は、従来のモバイルデバイスと同様にしてホームネットワークと関連付けられることのない、Gobiデバイスであり得る。そのような実施形態では、モバイルデバイス102は、利用可能なネットワークから受信されたネットワークのMCC/MNC値が、グローバルな電気通信ネットワーク326および/またはインターネット108への接続をモバイルデバイス102が確立した、最新のパブリックランドモバイルネットワーク(PLMN)を識別するかどうかを最初に判断するように構成され得る。様々な実施形態では、これは、モバイルデバイス102のモデムまたはプロセッサが、受信されたネットワークのMCC/MNC値と、HPLMN値、ローカルなIMSI値のMCC/MNC値、および/またはグローバルなIMSI値のMCC/MNC値のうちのいずれかまたは全部とを比較することによって達成され得、受信されたネットワークのMCC/MNC値のうちのいずれかまたは全部は、SIM 210上に記憶され得、接続性サービスクライアント202および/またはSIM API 208を介してアクセス可能である。
【００５２】
一実施形態では、受信されたネットワークのMCC/MNC値がモバイルデバイスのSIM 210上に記憶されているHPLMN値と一致しないものと、デバイス102が判断すると、モデムモジュール206(たとえば、モデム206a)は、モバイルデバイス102がグローバルな電気通信ネットワーク326に接続し得る、関与するネットワーク(すなわち、モバイルデバイス、チップまたはソフトウェアの製造者とのあらかじめ存在する合意を有するネットワーク)を識別するために、利用可能なネットワークをスキャンすることができる。関与するネットワークが識別されると、モバイルデバイス102は、識別されたネットワークから新しいネットワークのMCC/MNC値を受信し、SIM 210上に記憶されているHPLMN、ローカルなIMSI、およびグローバルなIMSIの値のうちのいずれかまたは全部を更新して、識別された関与するネットワークから受信されたネットワークのMCC/MNC値を含めることができる。このようにして、モバイルデバイスのSIM 210上に記憶されているHPLMN値は、ローカルなIMSI値のMCC/MNC値および/またはグローバルなIMSIのMCC/MNC値と一致することができる。このことが、モデムモジュール206および/またはモバイルデバイスのオペレーティングシステム204に、モバイルデバイス102がそのホームネットワーク内にあり(すなわち、ローミング状態になく)、かつ/またはローカルな非ローミング料金でIPデータおよびサービスを受信しているものと判断させ得る。このようにして、様々な実施形態は、既存のモバイルデバイスのソフトウェアソリューションに含まれる制限的で、誤解を招く恐れがあり、かつ/または煩わしいローミングルーチンをトリガすることを回避し得る。
【００５３】
図4は、様々な実施形態による、符号化された値をSIM 210から読み出し、SIM 210に書き込むように構成された、モバイルデバイス102内の例示的な機能構成要素および情報フローを示す。具体的には、図4は、モバイルデバイス102が、接続性サービスクライアント202、モデムモジュール206、クライアントSIM API 208、SIM 210、およびSIMアプレット212を含み得ることを示す。SIMアプレット212は、ローカルなIMSI値402、グローバルなIMSI値404、HPLMN値406、バージョン番号408、ローカルなIMSIトークン410、およびグローバルなIMSIトークン412を記憶し得る(またはそれらへの参照もしくはリンクを含み得る)。一実施形態では、SIM 210は、認証キー416でプロビジョニングされ得る。一実施形態では、SIM 210は、集積回路カード識別子(ICCID)、ローカルエリア識別情報(local area identity)(LAI)、オペレータに固有の緊急番号、ショートメッセージサービスセンター(SMSC)情報、付加価値サービス(VAS)アプリケーション情報、サービスプロバイダ名(SPN)、サービスダイヤル番号(SDN)、課金アドバイス(advice-of-charge)パラメータ、および他の同様の情報をさらに記憶し得る。
【００５４】
SIMアプレット212は、SIM、モデム、チップ、またはモバイルデバイスの製造者のうちのいずれかによって、デフォルトのグローバルなIMSI値404およびデフォルトのHPLMN値406で事前設定され得る。ローカルなIMSI値402は、デフォルトで、ゼロ、ヌル、または空の値を記憶し得る。グローバルなIMSI値404およびローカルなIMSI値402は、パワーサイクルにわたってSIM 210によって維持され得る。ローカルなIMSI 402、グローバルなIMSI 404、およびHPLMN 406の値の各々は、読出し可能および書込み可能(および上書き可能)の両方であり得る。
【００５５】
認証キー416は、SIM 210および/またはセルラーネットワークを認証するために、128ビット値のKi値であり得る。グローバルなIMSI値404は、SIM 210内で認証キー416とペアにされ得、このペアリングは、セルラーネットワークのHSS構成要素332(図3に示す)上で複製され得る。これらのペアリングは、モバイルデバイス加入者、セルラーネットワーク、ならびに/あるいはモバイルデバイス102および/または1つまたは複数のネットワーク構成要素(たとえば、図3に示すAUC 336など)に対するIMSI値のインテグリティのうちのいずれかまたは全部を認証し得る。
【００５６】
モバイルデバイス102およびHSS構成要素332は、それぞれ、グローバルなIMSI値404とローカルなIMSI値402との間の動的関連性を記憶および/または維持することができ、その関連性は、モバイルデバイス加入者および/またはセルラーネットワークを認証するためにモバイルデバイスおよび/またはネットワーク構成要素によって使用され得る。
【００５７】
バージョン番号408は、複数のリリースおよび/またはSIMアプレット212に対する更新を収容し得るSIMアプレット212に対するアプレットバージョン番号を含み得る。
【００５８】
ローカルなIMSIトークン410およびグローバルなIMSIトークン412の各々は、集積回路カード識別子(ICCID)、ローカルまたはグローバルなIMSI値、および署名値を含み得る。ICCIDおよび署名値は、含まれるトークン410、412の正当性を認可、認証および/または検証するため、ならびにSIM 210がトークン410、412の予定受信者であることを確実にするために、SIMアプレット212によって使用され得る。
【００５９】
一実施形態では、SIMアプレット212は、トークン値を受信し、受信されたトークン値を解読し、トークンの署名を検証し、ローカルなIMSI値402および/またはグローバルなIMSI値404のMCC/MNC値だけを更新するように構成され得る。
【００６０】
図4は、モバイルデバイス102が、関与するネットワーク(すなわち、モバイルデバイス、チップまたはソフトウェアの製造者とのあらかじめ存在する合意を有するネットワーク)から、(たとえば、コアネットワーク324を介してHLR 334構成要素から)符号化されたネットワークのMCC/MNC値414を(たとえば、モデム206a内で)受信し得ることを示す。受信された符号化されたネットワークのMCC/MNC値414は、それらが、認証キー416または適正なトークン(たとえば、ローカルなIMSIトークン410、グローバルなIMSIトークン412)へのアクセスを有する構成要素またはモジュールによってのみ復号され得るように符号化され得る。モバイルデバイス102は、復号、認証、および/または検証のために、符号化されたネットワークのMCC/MNC値414をSIM 210に送信し得る。SIM 210は、分析または処理のために、復号されたネットワークのMCC/MNC値414を接続性サービスクライアント202に送信し得る。
【００６１】
様々な実施形態では、接続性サービスクライアント202は、SIMアプレット210に、受信されたネットワークのMCC/MNC値414内に含まれる値に等しくなるように、HPLMN値406および/またはローカルなIMSI値402のMCC/MNC値を設定させるために、SIMアプレット210内の1つまたは複数の機能を直接的または間接的のいずれかで呼び出し得る。
【００６２】
一実施形態では、接続性サービスクライアント202は、モデムモジュール206を介してSIMアプレット212の機能を間接的に呼び出し得る。たとえば、接続性サービスクライアント202は、1つまたは複数のSIMアプレット機能および/またはネットワークのMCC/MNC値414を呼び出すための命令を含む拡張メッセージを生成することができる。接続性サービスクライアント202は、拡張メッセージをモデムモジュール206に送信し、モデムモジュール206は、拡張メッセージを受信し、SIM API 208を介してSIM 210に転送することができる。SIM 210は、拡張メッセージを受信して復号し、SIMアプレット212の1つまたは複数の機能を呼び出して、ネットワークのMCC/MNC値414に等しくなるように、HPLMN値406および/またはローカルなIMSI値402のMCC/MNC値を設定することができる。
【００６３】
接続性サービスクライアント202は、モデムモジュール206に新しいネットワーク値の受信を通知し得る。モデムモジュールは、モバイルデバイス102がそのホームネットワーク内にあるかどうかを判断するために、SIM 210上に記憶されているHPLMN値406および/またはローカルなIMSI値402と受信されたネットワークのMCC/MNC値414とを比較し得る。HPLMN値および/またはローカルなIMSI値402のMCC/MNC値は、ネットワークのMCC/MNC値414に等しくなるように前に更新されているので、モデムモジュール206は、モバイルデバイス102がそのホームネットワーク内にあるものと判断し、それに応じてモバイルデバイスのオペレーティングシステム204に通知することができる。
【００６４】
一般に、SIMカード上のIMSI値およびHPLMN値のプロビジョニングは、セルラーサービスプロバイダによって厳密に制御されており、セルラーサービスプロバイダは、彼らのネットワークへの無許可アクセスを防止するために、SIM上の情報を暗号化することができる。様々な実施形態によって提供される利益の1つは、モバイルデバイス102が、SIMカード上に記憶されている符号化されたIMSI値および/またはHPLMN値を修正することを、SIMアプレット212および/または接続性サービスクライアント202が可能にすることである。
【００６５】
図5は、加入者識別モジュール(SIM)上のホームパブリックランドモバイルネットワーク(HPLMN)値を動的に更新する、一実施形態のモバイルデバイスの方法500を示す。ブロック502で、モバイルデバイスのモデムは、利用可能なパブリックランドモバイルネットワーク(PLMN)をスキャンすることができる。ブロック504で、モバイルデバイスのモデムは、モバイルデバイスが接続し得る、関与するPLMN(すなわち、モバイルデバイス、チップ、またはソフトウェアの製造者とのあらかじめ存在する合意を有するネットワーク)を識別し得る。ブロック506で、モバイルデバイスのモデムは、識別されたネットワークからネットワーク値を受信し得る。様々な実施形態では、受信されたネットワーク値は、IMSI値、MCC/MNC値ペア、または他の識別情報であってよい。ブロック508で、モバイルデバイスのモデムまたはモバイルデバイスのプロセッサは、たとえば、モバイルデバイスのSIM上に存在するHPLMN値を、受信されたネットワーク値に基づく新しいHPLMN値で上書きすることによって、受信されたネットワーク値内に含まれる情報を含めるために、モバイルデバイスのSIM上に存在するHPLMN値を上書きすることができる。随意のブロック510で、モバイルデバイスのモデムまたはプロセッサは、受信されたネットワーク値内に含まれる情報を含めるために、モバイルデバイスのSIM上に存在するローカルなIMSI値の全部または一部を上書きすることができる。ブロック512で、モバイルデバイスは、ローミング表示を回避するために、HPLMN値によって識別されるネットワークをそのホームネットワークとして設定し得る。
【００６６】
図6は、加入者識別モジュール(SIM)上のホームパブリックランドモバイルネットワーク(HPLMN)値を動的に更新するためにアプレットを呼び出す、一実施形態のモバイルデバイスの方法600を示す。ブロック602で、モバイルデバイスのモデムは、関与するネットワークから符号化されたネットワーク値(たとえば、IMSI、MCC/MNCの値など)を受信し、受信された符号化された値を復号、認証、および/または検証のためにモバイルデバイスのSIMに送信することができる。ブロック604で、モバイルデバイスのSIMは、符号化された値を復号することができる。ブロック606で、モバイルデバイスのSIMは、復号された値をモバイルデバイスの接続性サービスクライアントに送信し得る。ブロック608で、接続性サービスクライアントは、モバイルデバイスのSIMのSIMアプレットによって提供される1つまたは複数の機能を呼び出すことができる。一実施形態では、これは、接続性サービスクライアントが、モバイルデバイスのモジュールを介してSIMアプレット機能を間接的に呼び出すことによって達成され得る。たとえば、接続性サービスクライアントは、SIMアプレットの1つまたは複数の機能を呼び出すための命令を含む拡張メッセージを生成し、SIMアプレットに転送するために拡張メッセージをモバイルデバイスのモデムに送信することができる。ブロック610で、SIMアプレットは、モバイルデバイスのSIM上に存在するHPLMN値を上書きすることができる。随意のブロック612で、SIMアプレットは、モバイルデバイスのSIM上のローカルなIMSI値の全部または一部を上書きすることができる。ブロック614で、モバイルデバイスは、ローミング表示を回避するために、HPLMN値によって識別されるネットワークをそのホームネットワークとして設定し得る。
【００６７】
セルラーネットワークは、複数のバラバラのネットワークを含み得、それらのネットワークの各々は、異なるMCC/MNC値の組合せによって識別され得る。そのようなシナリオでは、グローバルなIMSIのMCC/MNC値は、モバイルデバイスが属するホームネットワークを正確に識別することはできない。SIM上のローカルなIMSI値に加えてHPLMN値を更新することによって、様々な実施形態は、既存のモバイルデバイスのソフトウェアソリューションに含まれ得る制限的で、誤解を招く恐れがあり、かつ/または煩わしいソフトウェアローミングルーチンをトリガすることなく、モバイルデバイスがローカルな非ローミング料金でセルラーデータサービスを受信することを確実にし得る。
【００６８】
様々な実施形態によって提供される別の利益は、モバイルデバイスのモデム、SIM API、モデムソフトウェア、またはモバイルデバイスのオペレーティングシステムを修正することなく、IMSI値および/またはHPLMN値がSIM上で更新され得ることである。これは、様々な実施形態が、いくつかの市販のモデム、オペレーティングシステム、およびソフトウェアパッケージのうちのいずれかを含むことを可能にする。
【００６９】
様々な実施形態によって提供されるさらに別の利益は、低減された電力消費である。ローミングするとき、モバイルデバイスは、ホームネットワークへの接続が利用可能であるかどうかを判断するために、利用可能なネットワークを(たとえば、HPLMNタイマーなどに基づいて)自動的かつ周期的にスキャンすることがある。そのようなスキャニング動作は、モバイルデバイスのバッテリーを急速に消耗させる、電力消費の激しいタスクであることがある。Gobiデバイスまたは同様のデバイスは、それらが接続するネットワークとは無関係に、ローカルな非ローミング料金でセルラーデータサービスを受信し得るので、これらのスキャニング動作は不要であり、ユーザエクスペリエンスを低下させない。ローミング表示を回避することによって、様々な実施形態は、モバイルデバイスが、ホームネットワークへの接続が利用可能であるかどうかを判断するために、利用可能なネットワークを自動的かつ周期的にスキャニングすることを防ぎ、それによりモバイルデバイスによる電力消費の量が低減される。
【００７０】
加えて、セルラーサービスプロバイダは、一般的に、Ki/グローバルなIMSIペアリング、および/またはローカルなIMSI/グローバルなIMSIの関連性を介してモバイルデバイスを認証する。IMSIのMCC/MNC値だけを更新することによって、様々な実施形態は、認証に使用されるKi/グローバルなIMSIペアリング、および/またはローカルなIMSI/グローバルなIMSIの関連性を変更することを回避する。
【００７１】
様々な実施形態は、種々のモバイルコンピューティングデバイス上に実装することができ、その一例が図7に示される。具体的には、図7は、実施形態のうちのいずれかとともに使用するのに適したスマートフォン700の形態におけるモバイルトランシーバデバイスのシステムブロック図である。例示的なスマートフォン700は、内部メモリ702と、ディスプレイ703と、スピーカ704とに結合された、プロセッサ701を含み得る。加えて、スマートフォンは、プロセッサ701に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ710に接続され得る、電磁放射を送信および受信するためのアンテナ706を有し得る。スマートフォンはまた、一般に、ユーザ入力を受け取るためのキーパッド、メニュー選択ボタンまたはロッカースイッチ708を含む。
【００７２】
スマートフォン700はまた、マイクロフォンから受信された音をワイヤレス送信に適したデータパケットにデジタル化し、受信された音のデータパケットを復号し、スピーカ704に供給されて音を発生するアナログ信号を生成する、音の符号化/復号 (CODEC)回路720を含み得る。同じく、プロセッサ701、セルラー電話トランシーバ710およびCODEC 720のうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路(個別に示されず)を含み得る。
【００７３】
図8は、様々な態様とともに使用するのに適したラップトップコンピュータの形態における別の例示的なモバイルデバイス800を示す。モバイルデバイス800は、内部メモリ802およびディスプレイ809に結合されたプロセッサ801を含み得る。加えて、モバイルデバイスは、情報を送受信するための通信ポート805を有することができる。モバイルデバイス800はまた、ユーザ入力を受け取るためのキーボード808および選択ボタン/パッド807を含むことができる。モバイルデバイス800は、プロセッサ801に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ806に接続され得る、電磁放射を送信および受信するためのアンテナを有することができる。
【００７４】
プロセッサ701、801は、以下で説明する様々な実施形態の機能を含む、様々な機能を実施するようにソフトウェア命令(アプリケーション)によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数の多重プロセッサチップであり得る。いくつかのモバイルデバイスでは、1つのプロセッサをワイヤレス通信機能専用にし、1つのプロセッサを他のアプリケーションの実行専用にするように、複数のプロセッサを設けることができる。通常、ソフトウェアアプリケーションは、それらがアクセスされ、プロセッサ701、801にロードされる前に、内部メモリ702、802に記憶することができる。プロセッサ701、801は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
【００７５】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な実施形態のブロックが提示された順序で実行されなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の実施形態におけるブロックの順序は、任意の順序で実行することができる。「その後」、「次いで」、「次に」などの単語は、ブロックの順序を限定するものではなく、これらの単語は、方法の説明を通して読者を案内するために使用されるにすぎない。さらに、たとえば、冠詞「a」、「an」または「the」の使用による単数形での請求要素へのいかなる言及も、その要素を単数に限定するものとして解釈されるべきではない。
【００７６】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムブロックは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびブロックを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００７７】
本明細書で開示された実施形態に関して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書に記載された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。代替的に、いくつかのブロックまたは方法が、所与の機能に固有の回路によって実行され得る。
【００７８】
1つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。機能は、ソフトウェアで実装される場合、1つまたは複数の命令またはコードとして、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体に記憶され得る。本明細書で開示された方法またはアルゴリズムのステップは、非一時的コンピュータ可読記憶媒体またはプロセッサ可読記憶媒体上に常駐し得るプロセッサ実行可能ソフトウェアモジュール内で具現化され得る。非一時的コンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であってよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体またはプロセッサ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも、非一時的コンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せ、またはそのセットとして存在し得る。
【００７９】
開示された実施形態の上記の説明は、いかなる当業者も本発明を作成または使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかとなり、本明細書に定義する一般原理は、本発明の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示す実施形態に限定されるものではなく、以下の特許請求の範囲および本明細書で開示する原理および新規の特徴に一致する最大の範囲を与えられるものである。
【符号の説明】
【００８０】
100  通信システム
102  モバイルデバイス
104  電話ネットワーク
106  ネットワークサーバ
108  インターネット
110  セル基地局
112  ネットワーク運用センター
114  双方向ワイヤレス通信リンク
116  サーバ
202  接続性サービスクライアント
204  モバイルデバイスのオペレーティングシステム
206  モデムモジュール
206a  モバイルデバイスのモデム
206b  モデムソフトウェア
208  加入者識別モジュールアプリケーションプログラミングインターフェース(SIM API)
210  加入者識別モジュール(SIM)
212  SIMアプレット
300  通信システム
312  トランシーバ基地局
314  ノードB
316  eノードB
318  基地局コントローラ/パケット制御ユニット(BSC/PCU)構成要素
320  基地局コントローラ/ポイント協調機能(BSC/PCF)構成要素
322  無線ネットワークコントローラ(RNC)
324  コアネットワーク
326  グローバルな電気通信ネットワーク
328  モビリティ管理エンティティ(MME)
330  モバイルサービススイッチングセンター(MSC)
332  ホーム加入者サーバ(HSS)
334  ホームロケーションレジスタ(HLR)
336  認証センター(AUC)
402  ローカルな国際モバイル加入者識別情報(IMSI)値
404  グローバルなIMSI値
406  ホームパブリックランドモバイルネットワーク(HPLMN)値
408  バージョン番号
410  ローカルなIMSIトークン
412  グローバルなIMSIトークン
414  ネットワークのモバイルカントリーコード/モバイルネットワークコード(MCC/MNC)値
416  認証キー
700  スマートフォン
701  プロセッサ
702  内部メモリ
703  ディスプレイ
704  スピーカ
706  アンテナ
708  ロッカースイッチ
710  ワイヤレスデータリンク、セルラー電話トランシーバ
720  音の符号化/復号 (CODEC)回路
800  モバイルデバイス
801  プロセッサ
802  内部メモリ
805  通信ポート
806  セルラー電話トランシーバ
807  選択ボタン/パッド
808  キーボード
809  ディスプレイ
【要約】
方法、デバイスおよびシステムは、加入者識別モジュール(SIM)上に記憶されているホームパブリックランドモバイルネットワーク(HPLMN)情報の動的更新によって、モバイルデバイスのモデム、SIMアプリケーションプログラミングインターフェース(API)、モデムソフトウェア、またはモバイルデバイスのオペレーティングシステムへの修正を必要とすることなく、ローミング表示が回避されることを可能にする。モバイルデバイスは、モバイルデバイスが接続し得る、関与するパブリックランドモバイルネットワーク(PLMN)を識別するために、利用可能なPLMNをスキャンして、識別されたPLMNからモバイルカントリーコード(MCC)値およびモバイルネットワークコード(MNC)値を有するネットワーク値を受信することができる。モバイルデバイスは、SIM上に存在するHPLMN値および/または1つまたは複数のIMSI値を、受信されたネットワーク値で上書きすることができる。【図１】
0005795698.tif 000002
【図２】
0005795698.tif 000003
【図３】
0005795698.tif 000004
【図４】
0005795698.tif 000005
【図５】
0005795698.tif 000006
【図６】
0005795698.tif 000007
【図７】
0005795698.tif 000008
【図８】
0005795698.tif 000009