添付の図面を参照しながら、様々な実施形態について詳細に説明する。可能なときには必ず、図面全体を通じて、同一のまたは同様の部分を指すために同一の参照番号が使用され得る。異なる参照番号は、異なる、同一の、または同様の部分を指すために使用され得る。具体的な例および実装形態への言及は説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
本明細書ではユーザ機器(UE)と呼ぶ、いくつかの現代の通信デバイスは、無線アクセス技術(RAT)によってサポートされた1つまたは複数の異なるモバイルネットワーク(たとえば、セルラーネットワークと非セルラーネットワークの両方)へのアクセスをUEのユーザに提供する、1つまたは複数の加入者識別モジュール(SIM)を含み得る。UEはまた、移動局(MS)と呼ばれることもある。UEの例には、限定はしないが、モバイルフォン、ラップトップコンピュータ、スマートフォン、および、1つまたは複数のRATに接続するように構成される他のモバイル通信デバイスなどが含まれる。RATの例には、限定はしないが、Global Standard for Mobile(GSM(登録商標))、符号分割多元接続(CDMA)、CDMA2000、時分割符号分割多元接続(TDCDMA)、時分割同期符号分割多元接続(TDSCDMA)、広帯域符号分割多元接続(WCDMA(登録商標))、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、ロングタームエボリューション(LTE)、ワイヤレスフィデリティー(WiFi)、様々な3G規格、様々な4G規格、ボイスオーバーLTE(VoLTE)、Simultaneous GSM(登録商標) and LTE(SGLTE)、Simultaneous Voice and LTE(SVLTE)、回線交換フォールバック(CSFB)、周波数変調(FM)、Bluetooth(登録商標)(BT)、近距離通信デバイス(NFC)などが含まれ得る。
本明細書で説明する実施形態は、シングルSIM UEとマルチSIM UEの両方に関する。複数のSIMを含み、同じセットのRFリソース(たとえば、無線周波数(RF)トランシーバ)を使用して、2つ以上の異なるRATに接続するUEは、マルチSIMマルチスタンバイ(MSMS)通信デバイスである。一例では、MSMS通信デバイスは、デュアルSIMデュアルスタンバイ(DSDS)通信デバイスであってよく、デュアルSIMデュアルスタンバイ(DSDS)通信デバイスは、スタンバイ時に両方がアクティブであり得る2つのSIMカード/サブスクリプションを含み得るが、他方が使用中であるとき、一方が非アクティブ化される。別の例では、MSMS通信デバイスは、トリプルSIMトリプルスタンバイ(TSTS)通信デバイスであってよく、トリプルSIMトリプルスタンバイ(TSTS)通信デバイスは、スタンバイ時にすべてがアクティブであり得る3つのSIMカード/サブスクリプションを含み、その場合、第3のSIMカード/サブスクリプションが使用中であるとき、2つが非アクティブ化され得る。他の例では、MSMS通信デバイスは、1つが使用中であるとき、他のSIMが非アクティブ化され得るような、たとえば、4つ以上のSIMを伴う、他の好適なマルチSIM通信デバイスであり得る。
さらに、複数のSIMを含み、2つ以上の異なるセットのRFリソースを使用して2つ以上の異なるモバイルネットワークに接続するUEは、マルチSIMマルチアクティブ(multi-SIM-multi-active)通信デバイスと呼ばれる。例示的なMSMA通信デバイスは、デュアルSIMデュアルアクティブ(DSDA)通信デバイスであり、デュアルSIMデュアルアクティブ(DSDA)通信デバイスは、各々が異なるRATに関連付けられた2つのSIMカード/サブスクリプションを含み、ただし、両方のSIMは、所与の時間にアクティブのままであり得る。別の例では、MSMAデバイスは、トリプルSIMトリプルアクティブ(TSTA)通信デバイスであり得、トリプルSIMトリプルアクティブ(TSTA)通信デバイスは、各々が異なるRATに関連付けられた3つのSIMカード/サブスクリプションを含み、ただし、すべての3つのSIMは、所与の時間にアクティブのままであり得る。他の例では、MSMA通信デバイスは、たとえば、すべてのSIMが所与の時間にアクティブであるような、4つ以上のSIMを伴う、他の好適なマルチSIM通信デバイスであり得る。
マルチモードSIMでは、複数のモードが1つのSIMによって可能にされ、各モードが異なるRATに対応し得るようになる。UEは、1つまたは複数のマルチモードSIMを含み得る。UEは、MSMS通信デバイス(限定はしないが、DSDSまたはTSTS通信デバイスなど)、MSMA通信デバイス(たとえば、DSDA、TSTA通信デバイスなど)、またはマルチモードデバイスであり得る。
本明細書で使用するUEは、セルラー電話、スマートフォン、パーソナルまたはモバイルマルチメディアプレーヤ、携帯情報端末、ラップトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、スマートブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラー電話、ワイヤレスゲームコントローラ、および、1つまたは複数のSIMと、プログラマブルプロセッサと、メモリと、1つまたは複数のモバイル通信ネットワークに(同時にまたは連続的に)接続するための回路とを含む同様のパーソナル電子デバイスのうちの1つを指す。様々な実施形態は、スマートフォンなどのモバイル通信デバイスにおいて有用であり得、そのようなデバイスは、様々な実施形態について説明する際に参照される。しかしながら、それらの実施形態は、DSDS、TSTS、DSDA、TSTA通信デバイス、または、1つまたは複数の異なるセットのRFリソースを利用する1つまたは複数のサブスクリプションを個々に維持し得る他の好適なマルチSIM、マルチモードデバイスなど、任意の電子デバイスにおいて有用であり得る。
本明細書で使用する、「SIM」、「SIMカード」、および「加入者識別モジュール」という用語は、集積回路であっても、またはリムーバブルカードに組み込まれてもよいメモリであって、ネットワーク上のワイヤレスデバイスを識別および/または認証するために使用される国際モバイル加入者識別(IMSI)、関連する鍵、および/または他の情報を記憶し、ネットワークとの通信サービスを可能にするメモリを指すために互換的に使用される。SIM内に記憶された情報は、UEが特定のネットワークとの特定の通信サービスのための通信リンクを確立することを可能にするので、SIMおよび通信ネットワーク、ならびに、そのネットワークによってサポートされるサービスおよびサブスクリプションは、互いに相関するので、「SIM」という用語はまた、本明細書では、特定のSIM内に記憶された(たとえば、様々なパラメータの形態の)情報に関連付けられ、それによって可能にされた通信サービスへの省略参照としても使用され得る。
本明細書で説明する実施形態は、UEによって受け入れられた1つまたは複数のSIM上に記憶されたパラメータに基づいて、ビルドおよび/またはランタイムにおいて、UEの(ハードウェア、ネットワークリソース、メディア、および/またはアプリケーションの)完全なデバイス構成に関する。本明細書で説明する特定の実施形態では、UEは、(そのすべてがUEによって同時に受け入れられ得る)複数のSIMのうちの選択された1つにおいて記憶されたデータに基づいて、完全な構成または再構成を受けることが可能になる。各SIMは、そのためにUEが構成され得るパラメータのセットを含み、その場合、パラメータのセットは、あらかじめ定義された地域(たとえば、国または他の地理的エリア)、サービスプロバイダ、サービス、またはそれらの任意の組合せに対応する。UEが、SIMからのパラメータのセットに従って構成されるとき、UEは、あらかじめ定義された地域(たとえば、国または他の地理的エリア)内で、または、そのSIMに関連付けられたサービスプロバイダもしくはサービス、またはそれらの組合せとともに動作可能であり得る。SIMは、階層的に記述されたものなどのパラメータ(たとえば、その、または他の好適な階層的順序のデバイス、エリア、国、サービスプロバイダなど)をその中に含むかまたは記憶する、任意の物理的または仮想トークンを指すことがある。SIMによって与えられるパラメータおよび追加のフィールドは、説明するようなUEの構成をトリガするために使用され得る。
本明細書で説明する実施形態は、OEMが、複数の(いくつかまたはすべての)地域、サービスプロバイダ、およびサービスにおける使用のためにロールアウトするために、一様なハードウェアおよびソフトウェアを用いて単一のデバイス(または、デバイスモデル)構成を設計、実装、かつ製造することを可能にし得る。本明細書で説明する実施形態は、OEMが、複数地域、サービスプロバイダ、およびサービスのために同じハードウェア/ソフトウェア設計を用いてデバイスを製造することを可能にする。言い換えれば、OEMは、UE(または、UEのモデル)のための複数の異なるカスタマイズを可能にすることができ、その場合、各異なるカスタマイズは、UEが1つまたは複数のあらかじめ定義された地域、サービスプロバイダ、およびサービス内で、またはそれとともに動作することを可能にする、異なるそれぞれのハードウェアおよび/またはソフトウェア構成に対応する。複数のカスタマイズは、事業者市場カスタマイズまたはオープン市場カスタマイズであり得る。たとえば、UEは、複数の地域/サービスプロバイダに対応するために、ハードウェアカスタマイズおよび対応するソフトウェアカスタマイズを与えられ得る。ソフトウェアカスタマイズは、UEに対して外部または内部で記憶され得る。ソフトウェアカスタマイズは、(たとえば、地域、国、ブランド、サービスプロバイダ、サービスなどに従って)モジュール方式で記憶され、読み取られ得る。したがって、OEMが、多数の異なる地域、サービスプロバイダ、サービスなどに対応するために同じデバイスの複数(または多数)の変形態を展開する必要がないとすれば、OEMロールアウトが実質的に促進され得、様々なリソースが節約され得る。
図1は、様々な実施形態に従って図示されたデバイス構成システム100の一例を示す概略図である。デバイス構成システム100は、UE110と、第1の基地局120と、第2の基地局125とを含む。第1の基地局120および第2の基地局125は、それぞれ、第1の地域130内の異なる位置に配置された少なくとも1つのアンテナグループまたは送信局を含み得、各アンテナグループまたは送信局は、信号を送信かつ/または受信するように構成されるようになる。第1の基地局120および第2の基地局125は、それぞれ、本明細書で説明するように信号を送信かつ/または受信し、他のタスクを実行するための、1つまたは複数のプロセッサ、変調器、マルチプレクサ、復調器、デマルチプレクサ、アンテナなどを含み得る。いくつかの実施形態では、第1の基地局120および第2の基地局125は、UE110と通信する(そのためのサービスを提供する)ことができ、アクセスポイント、ノードB、発展型ノードB(eノードBまたはeNB)、トランシーバ基地局(BTS)などであり得る。
第1の地域130は、第1の基地局120および第2の基地局125に関連付けられた地域であり得、UE110が、第1の地域130内に配置されるとき、第1の基地局120および/または第2の基地局125からのサービスを獲得することができるようになる。言い換えれば、UE110は、第1の基地局120および/または第2の基地局125によって提供されたネットワークにキャンプオンすることができる。UE110は、第1の基地局120および/または第2の基地局125によって提供されたネットワークを介して、第1の基地局120および/または第2の基地局125から信号を受信し、かつ第1の基地局120および/または第2の基地局125に信号を送信することができる。
いくつかの実施形態では、第1の基地局120および第2の基地局125は、第1の地域130内の同じサービスプロバイダからの信号を送信中であり得る異なる基地局を表す(すなわち、第1の基地局120と第2の基地局125の両方は、同じサービスプロバイダによってオファーされたサービスを提供することができる)。他の実施形態では、第1の基地局120および第2の基地局125は、それぞれ異なるサービスプロバイダを表す(すなわち、第1の基地局120および第2の基地局125は、異なるサービスプロバイダからのサービスを提供することができる)。本明細書で使用するサービスプロバイダは、様々なモバイルサービスプロバイダおよびモバイル仮想ネットワーク事業者(MVNO)を指すことがある。非限定的な例を用いて説明するために、第1の地域130は、国(たとえば、中国)であり得、第1の基地局120および第2の基地局125の各々は、中国に関連付けられた異なるサービスプロバイダを表し得る。たとえば、第1の基地局120および第2の基地局125は、両方とも、同じサービスプロバイダ(たとえば、China Mobile)からの異なる基地局を表し得る。他の例では、第1の基地局120および第2の基地局125は、それぞれ異なるサービスプロバイダ(たとえば、China Mobile、China Unicom、China Telecomなどのうちの1つ)を表し得る。あるサービスプロバイダおよび別のサービスプロバイダが異なるネットワーク構成規格を採用する(すなわち、それらのサービスプロバイダがUEの異なる構成を必要とし得る)とき、あるサービスプロバイダは、別のサービスプロバイダとは異なり得る。
UE110の少なくともいくつかの構成は、サービスプロバイダ固有であり得、これらの構成は、同じ地域(たとえば、第1の地域130または第2の地域160)内の(または、場合によっては、その内部ではない)異なるサービスプロバイダに関して異なり得るようになる。場合によっては、UE110の一部または全部の構成は、2つ以上の異なるサービスプロバイダについて同じであり得る。
UE110は、マルチSIM構成によって、1つまたは複数のサービスプロバイダからサービスを受信するように構成され得、あるサービスプロバイダに対応するSIMが受け入れられるとき、UE110は、そのサービスプロバイダからのサービスを受信する能力を得ることができるようになる。したがって、UE110が複数のSIM(その各々が、異なるサービスプロバイダに対応し得る)を受け入れることができるとき、UE110は、複数のサービスプロバイダからのサービスを受信することが可能にされ得る。特定の実施形態では、UE110は、マルチモードSIMであり、その場合、シングルSIMは、異なるサービスプロバイダによって提供される複数のサービスを可能にすることができる。
デバイス構成システム100は、第2の地域160内の第3の基地局150および第4の基地局155として表される、1つまたは複数の追加の基地局をさらに含み得る。第3の基地局150および第4の基地局155は、第2の地域160内の異なるロケーションにあり得る。第3の基地局150および第4の基地局155は、説明したような第1の基地局120および第2の基地局125、または他の好適な基地局と同様であり得る。第2の地域160は、第1の地域130に対して異なる(または重複する)地理的地域であり得る。加えて、第3の基地局150と第4の基地局155と第2の地域160との間の関係は、第1の基地局120と第2の基地局125と第1の地域130との間の関係と同様であり得る。
いくつかの実施形態では、第1の地域130および第2の地域160は、異なる地域を表すことがあり、その場合、第1の地域130は、第2の地域160によってサポートまたは可能にされた構成規格またはプロトコルとは(部分的または完全に)異なり得るネットワーク構成規格またはプロトコルのセットをサポートする(それを用いて動作する)かまたは可能にすることができる。第1の地域130および第2の地域160は、それぞれ、その全体にわたって構成規格またはプロトコルの一部または全部が一律である大陸、国、地域、州、県、市、または他の定義可能な境界を有する地理的地域を表し得る。言い換えれば、UE110のための構成の少なくとも一部分は、地域固有であり得、地域のために構成されたすべてのUEが、ネットワーク構成の少なくとも一部分に関して同様の方法で構成され得るようになる。そのような地域固有の構成は、現代の構成規格、アプリケーション/ソフトウェア構成規格、ハードウェアドライバ、通信プロトコル、帯域幅など、またはそれらの任意の組合せであり得る。地域固有の構成は、地域の政府機関、地域のサービスプロバイダ、または他の好適なエンティティによって決定され得る。
いくつかの実施形態では、第1の地域130および第2の地域160は、第1の地域130および第2の地域160のどの部分も重複し得ないように、互いに完全に異なり得る。他の実施形態では、第1の地域130および第2の地域160の少なくとも一部分は、少なくとも部分的に重複し得る。重複する部分は、第1の地域130と第2の地域160の両方に関連付けられた構成規格をサポートし得る。代替的に、重複する部分は、第1の地域130および第2の地域160の一方に関連付けられた構成規格をサポートし得る。
いくつかの実施形態では、UE110は、(たとえば、UE110のユーザによって搬送されることによって)初期位置から移動された位置140へ移動され得る。移動された位置140は、初期位置に関連付けられた地域(初期地域)と同じ地域内であり得る。代替的に、移動された位置140は、初期位置に関連付けられた地域(たとえば、第1の地域130)とは異なる地域(たとえば、第2の地域160)内であり得る。UE110が、初期位置とは異なる別の地域に移動するとき(たとえば、UE110が第1の地域130から第2の地域160に移動するとき)、UE110は、新しい地域(たとえば、第2の地域160)に関連付けられたサービスプロバイダ固有の構成および/または地域固有の構成に適合するように再構成され得る。他方では、UE110が異なる地域に移動されない場合、UE110のための構成規格は変更されなくてよい。場合によっては、UE110は、様々な理由のために、同じ地域内の、または別の地域のための、新しいサービスプロバイダに関連付けられるように要求することができる。そのような場合、UE110は、新しいサービスプロバイダの構成規格に適合するように再構成され得る。
特定の実施形態では、地域は、2つの抽象レベル、すなわち、国とエリアとを含み得る。エリア(たとえば、アジア)は、1つまたは複数の国(たとえば、中国、日本、韓国、インドなど)を含み得る。たとえば、第1のエリアは、中国であり得る少なくとも第1の地域130と、インドであり得る第2の地域160とを含み得る。
したがって、各UE110は、地域固有の(たとえば、エリア固有および/または国固有の)構成、サービスプロバイダ固有の構成、および/または他の好適な構成を含み得る、構成の完全なセットを含み得る。各タイプの構成は、UE110がユーザによって使用される前または使用されている間に、(たとえば、UE110の明確なそのハードウェアおよびソフトウェアの挙動によって)UE110の1つまたは複数の属性を構成することができる。そのような構成は、製造チェーンにおけるエンティティ、流通チェーンにおけるエンティティ、および/またはユーザによって設定され得る。
説明する実施形態は、非セルラーワイヤレス通信技術およびデバイスに適用可能であり得ることを、当業者には諒解されたい。したがって、第1の基地局120、第2の基地局125、第3の基地局150、および第4の基地局155によって提供されるネットワークは、非セルラーワイヤレスネットワーク(たとえば、メッシュネットワーク)であり得る。したがって、デバイスの自動および/または手動構成は、非セルラーワイヤレス通信技術およびデバイスのための構成(ハードウェアとソフトウェアの両方)を含み得る。医療、自動車、スモールセル、および他の非セルラーワイヤレスデバイスは、本開示に一致するこの方法で構成され得る。
図1に示すデバイス構成は、説明のためのものであり、さらなる実施形態では、デバイス構成システム100は、2つ以上のUE、より多いかもしくはより少ない基地局、および/またはより多いかもしくはより少ない地域を含み得る。各追加のUEは、限定はしないが、説明したようなUE110などのUEであり得る。追加の基地局の各々は、限定はしないが、説明したような第1の基地局120、第2の基地局125、第3の基地局150、または第4の基地局155などの基地局であり得る。また、追加の地域の各々は、限定はしないが、説明したような第1の地域130または第2の地域160などの地域であり得る。追加のUEと、追加の基地局と、追加の地域との間の関係は、限定はしないが、UE110と、第1の地域130と、第2の地域160と、第1の基地局120と、第2の基地局125と、第3の基地局150と、第4の基地局155との間の関係などの関係であり得る。
図2は、様々な実施形態を実装するのに好適なUE200の一例を示すブロック図である。図1〜図2を参照すると、UE200は、限定はしないが、UE110などのデバイスである。UE200は、第1のサービスプロバイダによって提供された第1のサブスクリプションに関連付けられる第1の識別モジュールSIM-1 204aを受け入れる、第1のSIMインターフェース202aを含む。UE200はまた、第2のサービスプロバイダによって提供された第2のサブスクリプションに関連付けられる第2の識別モジュールSIM-2 204baを受け入れる、第2のSIMインターフェース202bを含む。第1のサブスクリプションおよび第2のサブスクリプションは、同じサブスクリプション(たとえば、同じサービスプロバイダ)であり得るか、または、第1のサブスクリプションおよび第2のサブスクリプションは、異なるサブスクリプション(たとえば、異なるサービスプロバイダ)であり得る。いくつかの実施形態では、第1のサービスプロバイダおよび第2のサービスプロバイダは、同じサービスプロバイダであり得る。他の実施形態では、第1のサービスプロバイダおよび第2のサービスプロバイダは、異なるサービスプロバイダであり得る。
様々な実施形態におけるSIMは、GSM(登録商標)ネットワークおよび/またはUMTSネットワークへのアクセスを可能にする、SIMアプリケーションおよび/またはUSIMアプリケーションで構成されるユニバーサル集積回路カード(UICC)であってもよい。UICCは、電話帳および他のアプリケーション用のストレージを提供することもできる。代替的に、CDMAネットワーク内で、SIMは、カード上のUICCリムーバブルユーザ識別情報モジュール(R-UIM)またはCDMA加入者識別モジュール(CSIM)であり得る。SIMカードは、CPU、ROM、RAM、EEPROM、およびI/O回路を有してもよい。集積回路カード識別(ICCID:Integrated Circuit Card Identity) SIMシリアル番号が、識別のためにSIMカード上に印刷され得る。しかしながら、SIMは、UE200のメモリの一部の中で実装可能であり、したがって、異なるかまたは取外し可能な回路、チップ、またはカードである必要はない。
様々な実施形態で使用されるSIMは、ユーザアカウント情報、IMSI、SIMアプリケーションツールキット(SAT:SIM application toolkit)コマンドのセット、および他のネットワークプロビジョニング情報を記憶することができ、ならびに、ユーザの連絡先の電話帳データベースのための記憶空間を提供することができる。ネットワークプロビジョニング情報の一部として、SIMは、SIMカードネットワークオペレータプロバイダを示すためのホーム識別子(たとえば、システム識別番号(SID)/ネットワーク識別番号(NID)のペア、ホームPLMN(HPLMN)コードなど)を記憶することができる。
UE200は、コーダ/デコーダ(コーデック)208に結合され得る、汎用プロセッサ206などの少なくとも1つのコントローラを含む。コーデック208は、スピーカー210およびマイクロフォン212に結合され得る。汎用プロセッサ206はまた、少なくとも1つのメモリ214に結合される。メモリ214は、プロセッサ実行可能命令を記憶する非一時的プロセッサ可読記憶媒体であってもよい。たとえば、これらの命令は、対応するベースバンドRFリソースチェーンを介して、第1のサブスクリプションまたは第2のサブスクリプションに関する通信データを経路指定することを含み得る。
メモリ214は、オペレーティングシステム(OS)ならびにユーザアプリケーションソフトウェアおよび実行可能命令を記憶することができる。メモリ214は、アレイデータ構造など、アプリケーションデータを記憶することもできる。
汎用プロセッサ206およびメモリ214は、各々、少なくとも1つのベースバンドプロセッサ216に結合される。UE200内の各SIM(たとえば、SIM-1 204aおよびSIM-2 204b)は、ベースバンドRFリソースチェーンに関連付けられ得る。ベースバンドRFリソースチェーンは、ベースバンドプロセッサ216を含んでもよく、ベースバンドプロセッサ216は、少なくとも1つのSIM上の通信のためのベースバンド/モデム機能を実行することができ、本明細書では一般にRFリソース218a、218bと呼ばれる、1つまたは複数の増幅器および無線を含み得る。いくつかの実施形態では、ベースバンドRFリソースチェーンは、ベースバンドプロセッサ216(すなわち、UE200上ですべてのSIMに関するベースバンド/モデム機能を実行する単一のデバイス)を共有する。他の実施形態では、各ベースバンドRFリソースチェーンは、物理的または論理的に異なるベースバンドプロセッサ(たとえば、BB1、BB2)を含む。
RFリソース218a、218bは各々、UE200の関連SIM用の送信/受信機能を実行するトランシーバであり得る。RFリソース218a、218bは、異なる送信回路および受信回路を含み得るか、または、送信器機能および受信器機能を組み合わせるトランシーバを含み得る。RFリソース218a、218bは、各々、ワイヤレスアンテナ(たとえば、第1のワイヤレスアンテナ220aまたは第2のワイヤレスアンテナ220b)に結合される。RFリソース218a、218bは、ベースバンドプロセッサ216にも結合され得る。
いくつかの実施形態では、汎用プロセッサ206、メモリ214、ベースバンドプロセッサ216、およびRFリソース218a、218bは、システムオンチップとしてUE200内に含まれ得る。いくつかの実施形態では、第1および第2のSIM204a、204b、ならびにそれらの対応するインターフェース202a、202bは、システムオンチップの外部にあってもよい。さらに、様々な入力および出力デバイスが、インターフェースまたはコントローラなど、システムオンチップ上の構成要素に結合され得る。UE200において使用するのに好適な例示的なユーザ入力構成要素は、限定はしないが、キーパッド224、タッチスクリーンディスプレイ226、およびマイクロフォン212を含み得る。
いくつかの実施形態では、キーパッド224、タッチスクリーンディスプレイ226、マイクロフォン212、またはそれらの組合せは、発信呼を開始するための要求を受信する機能を実行する。たとえば、タッチスクリーンディスプレイ226は、連絡先リストから連絡先の選択を受け取り、または電話番号を受け取ることができる。別の例では、タッチスクリーンディスプレイ226とマイクロフォン212との一方または両方が、発信呼を開始する要求を受け取る機能を実行することができる。たとえば、タッチスクリーンディスプレイ226は、連絡先リストから連絡先の選択を受信すること、または電話番号を受信することができる。別の例として、発信呼を開始するための要求は、マイクロフォン212を介して受信された音声コマンドの形をとり得る。当技術分野で知られているように、UE200内の様々なソフトウェアモジュールおよび機能間の通信を可能にするために、それらの間にインターフェースが提供され得る。
いくつかの実施形態(図示せず)では、UE200は、特に、追加SIMカード、SIMインターフェース、追加SIMカードに関連付けられた複数のRFリソース、および追加モバイルネットワークに接続するための追加アンテナを含み得る。
特定の実施形態では、UE200は、カスタマイズされたハードウェア240を含む。カスタマイズされたハードウェア240は、異なる地域(たとえば、エリアおよび/または国)、および/または異なるサービスプロバイダのためのハードウェア要件に対応するために、OEMによってUE200上にインストールされたハードウェア(たとえば、1つまたは複数のハードウェア構成要素)であり得る。各地域および/またはサービスプロバイダは、地域に関する規格および市場のニーズに適合するために、異なるハードウェア構成要素を必要とすることがある。たとえば、2つ以上の異なる地域内でリリースされた(または、2つ以上の異なるサービスプロバイダによって提供された)同じモデルのUE(たとえば、UE200)のためのプロセッサ(たとえば、汎用プロセッサ206、および/またはベースバンドプロセッサ216)は、異なることがあり、その理由は、市場の需要および市場の規格が与えられると、処理のニーズが市場によって変動し得るからである。別の例では、2つ以上の異なる地域内でリリースされた(または、2つ以上の異なるサービスプロバイダによって提供された)同じモデルのUE(たとえば、UE200)のためのRFリソースおよびアンテナ(たとえば、RFリソース218a、218b)は、通信規格が市場によって変動し得るとすれば、異なり得る。
カスタマイズされたハードウェア240は、同じタイプのハードウェア構成要素のための2つ以上の異なるハードウェア構成要素を含み得る。たとえば、UE200は、2つ以上のタイプのプロセッサ(たとえば、2つ以上の異なるベースバンドプロセッサ)を含み得、その各々が、1つまたは複数の地域および/またはサービスプロバイダに関連付けられ得る。別の例では、UE200は、2つ以上のタイプのRFリソース(たとえば、2つ以上の異なるRFリソース)を含み得、その各々が、1つまたは複数の地域および/またはサービスプロバイダに関連付けられ得る。異なるハードウェア構成要素は、異なるモデルを有するハードウェア構成要素を指すことがある。異なるハードウェア構成要素はまた、同じモデルを有し、異なるように構成された、ハードウェア構成要素を指すこともある。
特定の実施形態では、カスタマイズされたハードウェア240は、そのためにUE200がロールアウトされることが意図されるすべての地域、サービスプロバイダ、およびサービスのためにカスタマイズされたハードウェア構成要素を含む。たとえば、カスタマイズされたハードウェア240は、UE(たとえば、UE200)の世界展開のために、世界中の地域およびサービスプロバイダのすべてまたは少なくとも大多数に対応するハードウェア構成要素を含み得る。別の例では、カスタマイズされたハードウェア240は、UE(たとえば、UE200)の部分的展開のために、定義された境界が与えられた地域および/もしくはサービスプロバイダ(または、いくつかの選択された地域/サービスプロバイダ)のすべてまたは少なくとも大多数に対応するハードウェア構成要素を含み得る。
いくつかの実施形態では、カスタマイズされたハードウェア240は、UE200のためのハードウェアの1つまたは複数のセットを含み、それらは、限定はしないが、SIMインターフェース(たとえば、SIMインターフェース202a、202b)、コーダ/デコーダ(たとえば、コーデック208)、プロセッサ(たとえば、汎用プロセッサ206)、スピーカー(たとえば、スピーカー210)、マイクロフォン(たとえば、マイクロフォン212)、メモリ(たとえば、メモリ214)、モデムプロセッサ(たとえば、ベースバンドプロセッサ216)、RFリソース(たとえば、RFリソース218a、218b)、アンテナ(たとえば、第1のワイヤレスアンテナ220a、または第2のワイヤレスアンテナ220b)、入力インターフェース(たとえば、キーパッド224)、出力ディスプレイ(たとえば、タッチスクリーンディスプレイ226)、管理ユニットなど、またはそれらの任意の組合せを含む。
図3は、様々な実施形態を実装するのに好適な構成ストレージ300の一例を示すブロック図である。図1〜図3を参照すると、構成ストレージ300内に含まれるコンテンツの少なくとも一部分は、UE200内のメモリデバイス(たとえば、メモリ214、メモリ214内または他の好適なメモリデバイス内の隠れパーティション、など)内に記憶され得る。いくつかの実施形態では、UE200のユーザは、隠れパーティション内に記憶された情報にアクセスすることを制限され得る。UE200の汎用プロセッサ206は、隠れパーティション内の情報(たとえば、構成ルーチン、および/またはベースソフトウェア390)にアクセスし、構成ルーチンに基づいてUE200を構成することができる。いくつかの実施形態では、構成ストレージ300内に含まれるコンテンツの少なくとも一部分は、UE200の外部のメモリデバイス内に記憶されてよく、データを転送するためにUE200に物理的に(または、ワイヤレスに)接続可能である(ドングルもしくは他のユニバーサルシリアルバス(USB)メモリデバイス、外部のセキュアデジタル(SD)カード、および/またはUE200に接続可能な他の外部メモリデバイス)。
いくつかの実施形態では、構成ストレージ300内に含まれるコンテンツの少なくとも一部分が、リモートデバイスおよび/またはメモリデバイスにおいて記憶され、その場合、構成ストレージ300内に記憶されたコンテンツが、ネットワーク(たとえば、任意の好適なワイヤードまたはワイヤレスネットワークなど)を通してUE200にダウンロードまたはさもなければコピーされ得る。特定の実施形態では、UE200は、UE200上にロードされるべきコンテンツ(構成ストレージ300内のコンテンツの全部または一部分)を決定することができる。コンテンツの一部分は、特定の構成ルーチン、または構成ルーチンのセットを指すことがある。次いで、UE200は、要求されたコンテンツをダウンロードするように構成され得る。これは、本明細書で説明するいくつかの実施形態では、UE200は、様々な構成ルーチンに対応し得(たとえば、UE200は、すべての潜在的なエリア、国、およびサービスプロバイダのためにUE200を構成するための構成ルーチンを含み得る)、様々な構成ルーチンのうちのいくつか(たとえば、1つ)は、UE200を構成するために使用され得るからである。したがって、構成ストレージ300の少なくともいくつかのコンテンツをリモートで記憶すること、および、必要に応じて(たとえば、UE200の所望の構成にマッチされるような)特定のコンテンツをダウンロードすることによって、UE200のリソースが節約され得る。
さらなる実施形態では、構成ストレージ300内に含まれるコンテンツの一部分は、(限定はしないが)本明細書で説明する方法(たとえば、内部メモリデバイス、物理的に接続可能な外部メモリデバイス、リモートサーバなど)のうちの1つなど、第1の方法によって記憶/転送されるが、構成ストレージ300内に含まれるコンテンツの異なる部分は、(限定はしないが)本明細書で説明する方法のうちの別の1つなど、異なる(第2の)方法によって記憶/転送される。たとえば、ベースソフトウェア390は、内部メモリデバイス(たとえば、メモリ214)内に記憶され得るが、様々な地域固有の構成(たとえば、エリア固有の構成、国固有の構成など)、サービスプロバイダ構成などは、物理的に接続可能な外部メモリデバイス内、および/またはリモートサーバ内に記憶され得る。
いくつかの実施形態では、コンテンツの少なくとも一部分がプリロードされる(たとえば、UE200が最初にオンに切り替えられる前、UE200がユーザによって最初に使用される前、アウトオブボックスエクスペリエンスの前などに、構成ストレージ300内に記憶される)。たとえば、構成ストレージ300のコンテンツの少なくとも一部分は、UE200への任意のSIMの受け入れ前またはそれと同時に、UE200に提供され得る。場合によっては、(ベースソフトウェア390、および/または、1つもしくは複数の構成ルーチンを含み得る)構成ストレージ300のすべてのコンテンツは、UE200が最初にオンに切り替えられる前に、UE200に提供され得る。他の場合には、コンテンツの一部分(たとえば、ベースソフトウェア390、および、時々、1つまたは複数の構成ルーチン)は、UE200にプリロードされ得るが、構成ストレージ300のコンテンツの異なる部分(および/または、たとえば、パッチの形態で、既存のコンテンツを追加/修正する同じ性質の追加のコンテンツ)は、UE200が最初にオンに切り替えられた後、ロード、ダウンロード、またはさもなければ記憶され得る。内容は、OEM、小売業者、ユーザ、および/または他の指定された作業員によって、構成ストレージ300内に記憶され得る。
いくつかの実施形態では、構成ストレージ300は、様々な構成ルーチンを含み、その各々は、UE200の1つまたは複数の態様を構成するために、汎用プロセッサ206によって実行され得る。言い換えれば、構成ルーチンは、UE200がそのために構成されるべきである地域および/またはサービスプロバイダに対して、UE200が動作可能、機能的、またはさもなければ互換性があるようにするために、UE200のハードウェア構成要素または他のデバイス挙動を構成することができる。UE200を構成するために選択される構成ルーチンは、(単独で、または組合せで)「完全」または「フルスタック」構成として特徴付けられ得る構成ルーチンを含む、構成のセット(たとえば、構成のターゲットセット)であり得る。これは、構成ルーチンが、汎用プロセッサ206によって実行されるとき、ハードウェア構成要素(ネットワーク関連構成要素と他のハードウェア構成要素の両方)、メディア、アプリケーションなどを構成することができることを意味し得る。ハードウェア構成要素は、たとえば、説明したようなカスタマイズされたハードウェア240であり得る。
したがって、構成ストレージ300は、少なくともSIMインターフェース(たとえば、SIMインターフェース202a、202b)、コーダ/デコーダ(たとえば、コーデック208)、プロセッサ(たとえば、汎用プロセッサ206)、スピーカー(たとえば、スピーカー210)、マイクロフォン(たとえば、マイクロフォン212)、メモリ(たとえば、メモリ214)、モデムプロセッサ(たとえば、ベースバンドプロセッサ216)、RFリソース(たとえば、RFリソース218a、218b)、アンテナ(たとえば、第1のワイヤレスアンテナ220a、または第2のワイヤレスアンテナ220b)、入力インターフェース(たとえば、キーパッド224)、出力ディスプレイ(たとえば、タッチスクリーンディスプレイ226)、管理ユニットなどに対応する、ハードウェア構成ルーチンを含み得る。
たとえば、構成ルーチンは、(限定はしないが)UE設定(たとえば、モデル名、ブランド、SIM切替え設定、UEビルド命名法設定、拡張マークアップ言語設定、アプリケーション初期化設定、アクセスポイント名設定などのネットワーク設定、アプリケーションデータベース設定、ブラウザ設定、ソフトウェアバージョニングオプション、デバイス名設定、比吸収率設定、リブート設定、特殊地域パッケージのSIMトリガインストール、インストールロケーション選択、ヘッドセット設定など)、ネットワーク設定(セルブロードキャスト設定、データローミング設定、ネットワーク識別および時間帯設定、緊急呼設定、モバイルデータ設定、ネットワークモードオプション設定など)、サウンド設定(呼出音設定、アラーム音設定、ショートメッセージサービス音設定、キーパッド音設定、音楽設定、最大サウンド設定、低バッテリー音など)、メディア設定(たとえば、ブートメディア設定、アラームメディア設定、通知メディア設定、ユーザインターフェースメディア設定、壁紙および画面設定など)、日時設定(たとえば、時間帯設定、日時フォーマット設定など)、メッセージングアプリケーション設定、ユーザエージェント文字列およびプロファイル設定、言語設定(たとえば、デフォルト入力方法設定、追加の入力方法設定、デフォルトシステム言語設定、他のシステム言語設定など)、アプリケーション構成(たとえば、言語パッケージ、プリロードされたコンテンツ/アプリケーション、サードパーティアプリケーション、フレームワークリソースなど)、ロケーション測位構成(たとえば、ワイヤレスネットワーク位置設定、全地球測位システム設定、アシスト型全地球測位システム設定など)、共有ライブラリ設定(たとえば、1つまたは複数のパッケージファイルフォーマットに関連付けられた共有ライブラリ)、リソース設定(たとえば、フレームワークリソース、ライブラリなど)、Cおよび/またはC++などの言語のためのカーネル/ネイティブレイヤ内のソフトウェア設定、ハードウェア構成要素のための様々なドライバ(たとえば、カメラドライバ、ユーザインターフェースドライバ、記録デバイスドライバ、フレームワークドライバなど)、アクセシビリティ設定(たとえば、自動回転設定、TalkBackサービス設定、自動修正設定など)、ビデオ/オーディオ技術設定、ステータスバー設定(たとえば、オペレータ名表示設定、信号アイコンカスタマイズ設定、「ネットワークなし」アイコン設定など)、開発者オプション(たとえば、USBデバッギングオプション、アウェイクのまま設定、偽位置/モックロケーション設定など)、アラームクロック/タイマー設定(たとえば、呼出し持続時間設定、スヌーズ持続時間設定、呼受信中サイレント設定、会議中サイレント設定など)、電源オン/オフ設定、連絡先設定、AM/FMラジオ設定、音楽共有設定、Bluetooth(登録商標)設定、USB設定、WiFi設定、電子メール設定などを含み得る。
いくつかの実施形態では、いくつかの構成ルーチンは、エリア固有である(すなわち、これらの構成ルーチンは、エリアの範囲内で動作するすべてのUEによって一般に共有され得る)。たとえば、構成ストレージ300は、限定はしないが、エリアA構成310、エリアB構成350、および/または他の追加のエリア固有の構成ルーチン(図示せず)など、複数のエリア固有の構成ルーチンを含み得る。エリア固有の構成ルーチンの各々の少なくとも一部分は、実行されるとき、UE200を異なるように構成し得る。特定の実施形態では、あるエリア固有の構成ルーチン(たとえば、エリアA構成310)のどの部分も、別のエリア固有の構成ルーチン(たとえば、エリアB構成350)のいかなる部分とも同じでないことがある。
いくつかの実施形態では、2つ以上のエリア固有の構成ルーチン(たとえば、エリアA構成310、およびエリアB構成350)は、それらのエリアのどの部分も重複していないように、異なるエリアに関連付けられる。いくつかの実施形態では、エリア固有の構成ルーチン(たとえば、エリアA構成310、およびエリアB構成350など)は、それらのエリアの少なくとも一部分が重複し得る、エリアに関連付けられ得る。
エリア固有の構成ルーチンは、限定はしないが、構成ストレージ300内に記憶された構成など、構成を含み得る。エリア固有の構成の例には、限定はしないが、ハードウェア/ソフトウェア構成(RF帯域、LTE動作/フォールバック方法、データフレーム、オペレータ、ドライバ、共同規制構成、プロセッサ付加価値アプリケーション設定、言語設定、ネットワークリソース構成)、メディア構成、他のエリア固有の構成などが含まれ得る。
いくつかの実施形態では、構成ストレージ300は、限定はしないが、国A構成320、国B構成330、国C構成360、国D構成370、および/または他の追加の国固有の構成(図示せず)など、1つまたは複数の国固有の構成を含む(すなわち、そのような構成ルーチンは、国内で動作するすべてのUEによって一般に共有され得る)。国固有の構成ルーチン(たとえば、国A構成320、国B構成330、国C構成360、国D構成370など)の少なくとも一部分は、UE200を異なるように構成する異なる構成ルーチンであり得る。特定の実施形態では、国固有の構成ルーチン(たとえば、国A構成320)によって構成されるUE200の少なくとも1つのいくつかの属性は、エリア固有の構成ルーチン(たとえば、エリアB構成350)によって構成される属性とは異なる。
国固有の構成ルーチンは、限定はしないが、構成ストレージ300内に記憶された構成など、構成を含み得る。国固有の構成ルーチンの例には、限定はしないが、ハードウェア/ソフトウェア構成(データフレーム、オペレータ、ドライバ、プロセッサ付加価値アプリケーション設定、言語設定、ネットワークリソース構成)、国内規制構成(たとえば、パブリックランドモバイルネットワーク設定)、メディア構成、他の国固有の構成などが含まれ得る。
いくつかの実施形態では、構成ルーチンは、そのためにUE200が構成されるべき関連サービスプロバイダに基づいて分類される。いくつかの構成ルーチンは、サービスプロバイダ固有であり得る(すなわち、これらの構成ルーチンは、同じサービスプロバイダを利用するすべてのすべてのUEによって一般に共有され得る)。たとえば、構成ストレージ300は、限定はしないが、サービスプロバイダA構成321、サービスプロバイダB構成325、サービスプロバイダC構成331、サービスプロバイダD構成335、サービスプロバイダE構成361、サービスプロバイダF構成365、サービスプロバイダG構成371、サービスプロバイダH構成375、および追加のサービスプロバイダ固有の構成ルーチン(図示せず)など、複数のサービスプロバイダ固有の構成を含み得る。サービスプロバイダ固有の構成ルーチンの少なくとも一部分(たとえば、サービスプロバイダA構成321)は、別のサービスプロバイダ固有の構成ルーチン(たとえば、サービスプロバイダB構成325)の対応する部分とは異なり、かつ/または一意であり得る。
サービスプロバイダ固有の構成ルーチンは、限定はしないが、構成ストレージ300内に記憶された構成など、構成を含み得る。サービスプロバイダ固有の構成の例には、限定はしないが、UE設定、ネットワーク設定、サウンド設定、メディア設定、メッセージングアプリケーション設定、ユーザエージェント文字列およびプロファイル設定、言語設定、アプリケーション構成、ロケーション測位構成、共有ライブラリ設定、リソース設定、カーネル/ネイティブレイヤ内のソフトウェア設定、ハードウェア構成要素のための様々なドライバ、アクセシビリティ設定、ビデオ/オーディオ技術設定、ステータスバー設定、開発者オプション、アラームクロック/タイマー設定、電源オン/オフ設定、連絡先設定、AM/FMラジオ設定、音楽共有設定、Bluetooth(登録商標)設定、USB設定、WiFi設定、電子メール設定などが含まれ得る。
様々な実施形態では、構成ルーチンは、UE200のデバイスタイプまたはモデルに基づいて分類される。いくつかの構成ルーチンは、デバイス固有であり得る(すなわち、これらの構成ルーチンは、あるモデル、メーカー、年などのすべてのUEによって一般に共有され得る)。たとえば、構成ストレージ300は、限定はしないが、デバイスベース構成395など、少なくとも1つのデバイス固有の構成ルーチンを含み得る。デバイス固有の構成ルーチン(たとえば、デバイスベース構成395)の少なくとも一部分は、別のデバイス固有の構成ルーチンの対応する部分とは異なり、かつ/または一意であり得る。
デバイス固有の構成ルーチンは、限定はしないが、構成ストレージ300内に記憶された構成など、構成を含み得る。デバイス固有の構成の例には、限定はしないが、デバイスハードウェア設定、デバイス固有のハードウェアドライバ構成、UE設定、ネットワーク設定、サウンド設定、メディア設定、メッセージングアプリケーション設定、ユーザエージェント文字列およびプロファイル設定、言語設定、アプリケーション構成、ロケーション測位構成、共有ライブラリ設定、リソース設定、カーネル/ネイティブレイヤ内のソフトウェア設定、ハードウェア構成要素のための様々なドライバ、アクセシビリティ設定、ビデオ技術設定、ステータスバー設定、開発者オプション、アラームクロック/タイマー設定、電源オン/オフ設定、連絡先設定、AM/FMラジオ設定、音楽共有設定、Bluetooth(登録商標)設定、USB設定、WiFi設定、電子メール設定などが含まれ得る。
様々な実施形態では、構成ストレージ300内に含まれる構成ルーチンは、モジュールまたは階層的フォーマットを表すために分類または配列される。モジュールフォーマットにおいて構成ルーチンを配列かつ記憶することで、OEMが、それにおいてUE200がリリースされ得るすべての市場に対応するための多量のソフトウェアを提供するためのコストを低減し、ならびに、UE200が構成において固有の構成ルーチンを配置することになるとき、ランタイムおよびリソースを低減することができる。構成ルーチンは、地域(たとえば、エリア、国など)、および/またはサービスプロバイダに基づいて分類され得る。
たとえば、構成ストレージ300内に含まれるいくつかの構成ルーチンは、エリア固有として分類され得る(すなわち、エリア固有の構成ルーチンは、エリア内で使用するために構成されたすべてのUEに共通である情勢を含み、これらの構成のうちの少なくともいくつかは、別のエリア固有の構成ルーチンの構成と比較して一意であり得る)。構成ストレージ300内に含まれるいくつかの構成ルーチンは、国固有として分類され得る(すなわち、国固有の構成ルーチンは、国内で使用するために構成されたすべてのUEに共通である情勢を含み、これらの構成のうちの少なくともいくつかは、別の国固有の構成ルーチンの構成と比較して一意であり得る)。いくつかの実施形態では、エリア固有の構成ルーチンに関連付けられたエリアは、1つまたは複数の国(または、地域)を含む。1つまたは複数の国の各々は、国固有の構成ルーチンに関連付けられ得る。いくつかの実施形態では、構成ストレージ300内に含まれるいくつかの構成ルーチンは、サービスプロバイダ固有として分類される(すなわち、サービスプロバイダ固有の構成ルーチンは、サービスプロバイダのために使用するために構成されたすべてのUEに共通である構成を含み、これらの構成のうちの少なくともいくつかは、別のサービスプロバイダ固有の構成ルーチンの構成と比較して一意であり得る)。いくつかの実施形態では、国固有の構成ルーチンに関連付けられた国は、1つまたは複数のサービスプロバイダに関連付けられる。1つまたは複数のサービスプロバイダの各々は、サービスプロバイダ固有の構成ルーチンに関連付けられ得る。
いくつかの実施形態では、エリア固有の構成ルーチンに関連付けられたエリアは、少なくとも第1の地域130および第2の地域160を包含する地域に対応する。国固有の構成ルーチンに関連付けられた第1の国は、第1の地域130に対応し得、別の国固有の構成ルーチンに関連付けられた第2の国は、第2の地域160に対応し得る。サービスプロバイダ固有の構成ルーチンに関連付けられたサービスプロバイダは、第1の基地局120、第2の基地局125、第3の基地局150、および第4の基地局155の各々に対応し得る。非限定的な例を用いて説明すると、エリア固有の構成ルーチンは、アジアに対応し得、2つの国固有の構成ルーチンは、中国およびインドに対応し得る。中国およびインドの各々は、1つまたは複数のサービスプロバイダを有し得る。異なるサービスプロバイダ固有の構成ルーチンは、China Mobile、China Unicom、およびChina Telecomの各々に関連付けることができ、それらのすべては中国のサービスプロバイダである。加えて、異なるサービスプロバイダ固有の構成ルーチンは、Micromax、Spice、およびLava/Xoloの各々に関連付けることができ、それらのすべてはインドのOEMである。
したがって、構成ストレージ300は、1つまたは複数のエリア固有の構成ルーチンを含み得、その各々は、1つまたは複数の国固有の構成ルーチンに対応し得る。1つまたは複数の国固有の構成ルーチンの各々は、今度は、1つまたは複数のサービスプロバイダ固有の構成ルーチンに対応し得る。分類された構成ルーチンは、1つまたは複数のリポジトリ内で一緒にグループ化され、記憶され得る。
たとえば、国固有の構成ルーチン(たとえば、国A構成320)が、その関連付けられたサービスプロバイダ固有の構成ルーチン(たとえば、サービスプロバイダA構成321、およびサービスプロバイダB構成325)とともにグループ化されて、国リポジトリが形成され得る。別の例では、エリア固有の構成ルーチン(たとえば、エリアA構成310)は、その関連付けられた国固有の構成ルーチン(たとえば、国A構成320、国B構成330)、ならびに、関連付けられたサービスプロバイダ固有の構成ルーチン(たとえば、サービスプロバイダA構成321、サービスプロバイダB構成325、サービスプロバイダC構成331、サービスプロバイダD構成335)とともにグループ化されて、エリアリポジトリが形成され得る。
同じリポジトリ内のソフトウェアおよび構成(たとえば、国リポジトリ、またはエリアリポジトリ)は、メモリデバイス(たとえば、UE200のメモリ214、物理的に接続可能な外部メモリデバイス、リモートデバイスなど)の同じパーティション、ディレクトリ、またはセキュアエリア(たとえば、隠れパーティション)内に一緒に記憶され得る。言い換えれば、異なるリポジトリは、同じメモリデバイスの異なるパーティション、ディレクトリ、またはセキュアエリア内に記憶され得る。異なるリポジトリは、異なるメモリデバイス内に同様に記憶され得る。たとえば、少なくとも1つの国固有の構成ルーチンと、少なくとも1つのサービスプロバイダ固有の構成ルーチンとを含む、各国リポジトリは、別の国リポジトリを記憶するパーティションとは異なる、同じパーティション内に記憶され得る。次いで、複数の国リポジトリが、互いにおよびエリア固有の構成ルーチンとともに記憶されて、エリアリポジトリが形成され、その各々が国リポジトリを含み得るすべてのサブパーティションを含むパーティション内に記憶され得る。加えて、ベースソフトウェア390を記憶するパーティションは、いかなるエリアリポジトリおよび/または国リポジトリを記憶するパーティションとも異なり得る。さらなるまたは代替実施形態では、ベースソフトウェア390は、いかなる構成ルーチンとも異なるメモリデバイス内に記憶され得る。
特定の実施形態では、ベースソフトウェア390は、任意のサービスプロバイダによって提供されるサービスを使用してエリア、国など内で動作するすべての(または、大部分の)UEに共通であり得る構成ルーチンを指す。ベースソフトウェア390は、UE200の汎用プロセッサ206によって実行されるとき、基本機能を実行可能であるようにUE200を構成することができ、基本機能は、限定はしないが、電源オンすること、タッチスクリーンディスプレイ226上に情報(たとえば、構成ルーチン選択)を表示すること、キーパッド224および/またはタッチスクリーンディスプレイ226からユーザ入力を受け付けること、基本機能のためにUE200の様々なハードウェア構成要素(たとえば、汎用プロセッサ206、メモリ214、キーパッド224、タッチスクリーンディスプレイ226、第1のSIMインターフェース202a、第2のSIMインターフェース202bなど)を構成することなどである。特に、追加の基本機能には、受け入れられたSIM内に含まれた情報を読み取り、処理すること、構成ルーチンのセットを各挿入されたSIMとマッチングすること、構成ルーチンのうちの1つを選択すること、タッチスクリーンディスプレイ226上に構成情報を表示すること、およびUEを構成することを含み得る。言い換えれば、ベースソフトウェア390は、本明細書(たとえば、図6〜図7)で説明するような構成プロセスを可能にする。したがって、ベースソフトウェア390は、UE200の他の特徴が構成される前、および/または、UE200が完全に機能的になる前に、UE200が基本機能を実行することを可能にする、デフォルト構成を指すことがある。
構成ルーチン(たとえば、エリア固有の構成ルーチン、国固有の構成ルーチン、および/またはサービスプロバイダ固有の構成ルーチン)、ならびにベースソフトウェア390は、各々、一意のインジケータに関連付けられ得る。そのような一意のインジケータは、(たとえば、同じパーティションおよび/またはメモリデバイス内で)関連付けられた構成ルーチンとともに記憶され得る。インジケータはまた、それを用いて構成ルーチンが、説明したような構成識別子とマッチングされる、構成マッチテーブル内で提供されてもよい。
1つまたは複数の構成ルーチンおよびベースソフトウェア390に対応する追加のコンテンツまたはデータは、構成ストレージ300の素のコンテンツが最初に提供された後、提供され得る。そのような追加のコンテンツまたはデータは、既存の構成ルーチンに追加し、かつ/またはそれを修正するパッチであり得る。パッチは、ネットワーク(ワイヤードまたはワイヤレスのいずれか)を介して、リモートサーバから、または、物理的に接続可能な外部メモリデバイスから、UE200にダウンロードされ得る。パッチがダウンロードされた後、パッチ(および/または、パッチを識別するパッチ識別子)は、(たとえば、同じパーティションおよび/またはメモリデバイス内で)、それに対してパッチが変更または追加するコンテンツとともに記憶され得る(たとえば、サービスプロバイダA構成321の一部分を変更するパッチは、サービスプロバイダA構成321とともに記憶され得る)。パッチは、(たとえば、ビルド時、ランタイムなどに)対応する構成ルーチンとともに適用され得る。代替的に、パッチは、対応する構成ルーチンが実行された後の時間に適用され得る。パッチは、限定はしないが、カメラ構成、ユーザインターフェース構成、フレームワーク構成、ドライバなどを含む、構成ストレージ300内の任意の構成ルーチンに対して適用され得る。パッチは、1つまたは複数のパッチベースリポジトリを形成し得る。パッチベースリポジトリは、隠れパーティション内、および/またはリモートサーバ(たとえば、クラウド)内に記憶され、ネットワークを通してアクセス可能であり得る。
いくつかの実施形態では、OEMなどの指定されたエンティティは、構成ルーチンの1つもしくは複数の特定のセット、または各個々の構成ルーチンに、付加価値サービスを追加するための能力を有し得る。たとえば、UE200は、UE200が構成される前または構成された後に、既存の構成ルーチンの更新、または、付加価値サービス構成ルーチンを受信するように構成され得る。言い換えれば、パケットなどの形式における追加のパケットが、構成ストレージ300内(および、それらのそれぞれのリポジトリ内)に記憶された構成ルーチンに追加され得、またはそれを改善することができる。追加のパケットはまた、PCベースのソフトウェアプログラムを含む、様々な他の手段によっても適用され得る。
構成ストレージ300内に記憶された構成ルーチンは、1つまたは複数のトリガリングイベントに応答してUE200を構成するために使用され得る。いくつかの実施形態では、トリガリングイベントは、UE200のビルディング時間中またはビルディング時間において発生し得る。他の実施形態では、トリガリングイベントは、ランタイム中に発生し得る。
様々な実施形態では、構成ルーチンの少なくとも一部分が、ビルド時間中またはビルド時間に、実行またはさもなければ適用され、ビルド時間は、ソフトウェア(たとえば、ベースソフトウェア390および様々な構成ルーチン)がコンパイルされ得る時間期間である。ビルド時間はまた、UE200のソフトウェアがまだ実行されていない時間期間を表すこともある。構成ルーチンは、(たとえば、説明したトリガに応答して、UE200の汎用プロセッサ206によって)自動的に、および/または(たとえば、OEMなどからの指定された作業員によって)手動で実行され得る。いくつかの実施形態では、構成ストレージ300内に記憶されたすべての構成ルーチンの少なくとも一部分は、ビルド時間の終了に応答して(たとえば、ベースソフトウェア390以外のすべてまたはかなりの量のソフトウェアがコンパイルされた後)、UE200を構成するために実行される。さらなる実施形態では、ベースソフトウェア390は、ビルド時間の終了に応答して、UE200を構成するために最初に実行される。次いで、構成ルーチンの少なくとも一部分は、ベースソフトウェア390に基づいて、UE200を構成することの完了に応答して、UE200を構成するために実行され得る。代替的に、構成/再構成プロセスが、ビルドコマンドに応答して開始されてよく、ビルドコマンドは、UE200のファクトリービルドを開始するためのコマンドである。UE200の1つまたは複数の態様は、ファクトリービルドと同時に構成され得る。
構成ストレージ300内に記憶された各構成ルーチンは、構成ルーチンがビルド時間中に実行されるべきであるか、またはビルド時間の終了に応答して実行されるべきであるかを示すフラグを用いてマークが付けられ得る。UE200の汎用プロセッサ206は、ビルド時間実行のためにマークが付けられた構成ルーチンを最初に識別し、次いで、識別された構成ルーチンに基づいて、ビルド時間中に、またはビルド時間の終了に応答して、UE200を構成することができる。ビルド時間中に、またはビルド時間の終了に応答して実行されるべき構成ルーチンは、好適な作業員(たとえば、OEM作業員)によって手動でマークが付けられ得る。代替的に、ビルド時間中に、またはビルド時間の終了に応答して実行されるべき構成ルーチンは、好適なアルゴリズムに基づいて、(たとえば、UE200の汎用プロセッサ206によって)自動的にマークが付けられ得る。
様々な実施形態では、構成ルーチンの少なくとも一部分が、ランタイム中に実行またはさもなければ適用され、ランタイムは、ソフトウェア(たとえば、ベースソフトウェア390および様々な構成ルーチン)が実行され得る時間期間である。ランタイムはまた、UE200が最初にオンに切り替えられた後(たとえば、アウトオブボックスエクスペリエンス後、またはその間)に続く時間期間を表すこともある。たとえば、ランタイムトリガは、ファクトリーコマンド、SIM、作業員選択などを含み得る。
特定の実施形態では、ランタイムにおけるファクトリーテストコマンドのアクティブ化が構成(または、再構成プロセス)を開始し、UE200の構成ストレージ300内に記憶された複数の構成ルーチンの構成ルーチンが選択され、実行され得るようになる。たとえば、ファクトリーテストコマンド要素は、UE200の構成または再構成を実行するために、指定された作業員のユーザによって選択可能なボタン、ノブ、ダイヤル、スイッチ、ユーザ対話型要素、および/または他の好適な要素として、UE200に提供され得る。代替実施形態では、ファクトリーテストコマンド要素は、UE200の汎用プロセッサ206によって実行可能なコードとして配備される。ファクトリーテストコマンドに基づくUE200の構成および再構成は、コードに従って自動的に開始され得る。ファクトリーテストコマンド要素は、実行されるべき構成ルーチンに関連付けられたインジケータおよび/または構成識別子を受信することができる。次いで、ファクトリーテストコマンド要素は、構成ルーチンに基づいて、UE200の構成および再構成を開始することができる。このトリガはまた、マスタリセットおよび他の同様のテストコマンドとしても特徴付けられ得る。
ファクトリーテストコマンドの受信に応答して実行されるべき構成ルーチンは、ユーザおよび/または好適な作業員によって手動で選択され得る。代替的に、ファクトリーテストコマンドの受信に応答して実行されるべき構成ルーチンは、好適なアルゴリズムに基づいて、(たとえば、UE200の汎用プロセッサ206によって)自動的に選択され得る。ファクトリーテストコマンド要素は、UE200の汎用プロセッサ206によって実行されるとき、選択されない構成ルーチンを削除することができるような、コンピュータ実行可能命令を含み得る。
様々な実施形態では、SIM(たとえば、SIMの挿入)は、UE200の構成および/または再構成をトリガする。いくつかの実施形態では、UE200による1つまたは複数のSIMの受け入れは、UE200の汎用プロセッサ206によって検出される。第1のSIMインターフェース202aおよび第2のSIMインターフェース202bなど、SIMインターフェースは、いかなるSIMによっても以前に占有されておらず、挿入される1つまたは複数のSIMは、UE200に今までに挿入されるべき第1のSIMであり得る。UEによる1つまたは複数のSIMの受け入れに応答して、UE200のための構成プロセスが開始され得る。最初に、構成プロセス中に、説明したように(たとえば、1つまたは複数のSIMの各々において記憶されたパラメータ値に基づいて)構成ルーチンが選択され得る。
いくつかの実施形態では、UE200の構成/再構成は、SIM/補助ロックに基づくか、またはそれに応答するものであり得る。初期SIM挿入時にUE200を構成すると、サービスプロバイダは、SIMロックコードの適用およびインスタンス化、ならびにサービスプロバイダベースの補助ロックの適用を必要とし得る。初期SIM挿入は、第1のSIMがUE200に挿入されることを指す。マルチSIM挿入シナリオのためにSIMおよび補助ロックを設定するための能力が、本明細書で考慮される。UE200は、あるエリア、国、サービスプロバイダなどのみに対応するSIMを受容するように構成され得る。言い換えれば、UE200は、SIM上の1つまたは複数のパラメータを検出することができ、SIMが承認されたエリア、国、サービスプロバイダなどに関連付けられていないので、SIMが受容できないと決定する。UE200は、第1のSIMの挿入時にSIM/補助ロックされ得る(たとえば、他のSIMは特定のUE200に以前に挿入されていない)。説明したような構成/再構成は、第1のSIMの挿入および/またはSIM/補助ロックの適用に応答して開始され得る。SIM/補助ロックされる後続のSIMは、構成/再構成プロセスをトリガしなくてよい。
いくつかの実施形態では、UE200の構成/再構成プロセスの少なくとも一部が、クラウドコマンド(たとえば、ネットワーク上の別のノードからのトリガリングコマンド)に基づくか、またはそれに応答するものであり得る。クラウドコマンドは、UE200上に記憶された既存の構成ルーチンへの(たとえば、パッチの形式の)追加および/または修正とともに、UE200によって受信され得る。パッチが(ある場合は)適用された後、UE200は、構成/再構成プロセスを開始するように構成され得る。構成ルーチンのターゲットセットは、クラウドコマンドによって選択され得、またはクラウドコマンド内に含まれ得る。他の実施形態では、構成ルーチンのターゲットセットは、本明細書で説明するようなユーザ入力および他の手段によって選択され得る。
UE200はすでに構成されている(説明した任意の方法によってトリガされている)のに対して、(SIMが受け入れられていないとき)少なくとも1つの新しいSIM、または(1つまたは複数のSIMがUE200内で受け入れられるとき)追加のSIMの挿入は、UE200の再構成プロセスを開始する。特定の実施形態では、UE200は、UE200の汎用プロセッサ206を用いて、少なくとも1つの新しいおよび/または追加のSIMを検出する。少なくとも1つの新しいおよび/または追加のSIMの検出に応答して、構成ストレージ300内に記憶された少なくとも1つの構成ルーチンが、説明したように(たとえば、少なくとも1つのSIMの各々において記憶されたパラメータ値に基づいて)UE200を再構成するために選択され、実行される。
追加の実施形態では、構成プロセスおよび再構成プロセスは、UE200が(たとえば、汎用プロセッサ206を通して)受け入れられたSIM上に記憶されたパラメータの1つまたは複数の値を読み取ることに基づいて、開始される。パラメータは、MCC、MNC、SPN、GIDなどを含む。言い換えれば、構成および/または再構成プロセスは、UE200によるパラメータの値の読取りおよび処理に応答して(たとえば、パラメータの値に基づくインジケータの決定に応答して)、開始され得る。構成/再構成プロセスは、構成ルーチンを選択すること、構成ルーチンに基づいてUE200を構成することなどを含み得る。
様々な実施形態では、UE200のユーザインターフェース(タッチスクリーンディスプレイ226)は、指定された作業員がUE200の構成および/または再構成を手動でトリガすることができる、選択画面を生成する。このトリガリングイベントは、作業員選択トリガと呼ばれることがある。たとえば、タッチスクリーンディスプレイ226は、構成および/または再構成が所望されるか否かに関して、指定された作業員からの入力を要求することができる。代替実施形態では、タッチスクリーン226は、選択可能な構成オプションを表示し、その各々が、構成ストレージ内に記憶された対応する構成ルーチンに関係する。タッチスクリーンディスプレイ226および/またはキーパッド224は、指定された作業員から入力を受信し、1つまたは複数の構成ルーチンに基づいてUE200を構成することができる(たとえば、構成ルーチンが、指定された作業員によって選択され得る)。いくつかの実施形態では、このトリガ機構は、テストのためのものである(たとえば、このトリガリング機構は、エンドユーザによる製品使用に対して無効化され得る)。指定された作業員は、OEMおよび/またはサービスセンターからの作業員であり得る。
UE200は、(たとえば、ユーザ入力に基づいて手動で、および/または、好適なアルゴリズムに基づいて自動的に)「未構成」状態に入るようにレンダリングされ得る。未構成状態では、UE200は、基本機能(UE200を構成するための機能)を実行することのみが可能であり得る状態に復帰する。未構成状態では、UE200は、ベースソフトウェア390の構成以外のいかなる構成ルーチンによっても構成されない(または、以前の構成が復帰された)。次いで、UE200は、説明したような方法によるSIMの受け入れに応答して、構成/再構成プロセスを開始するためにトリガされ得る。
いくつかの実施形態では、構成ストレージ300内に含まれる構成ルーチンは、少なくとも2つの部分に分割される。第1の部分内に含まれる構成ルーチンは、第2の部分の構成ルーチンとは(たとえば、異なるトリガを有する)異なる方法でトリガされ得る。いくつかの例では、いくつかの構成ルーチンの実行は、ビルド時間中またはビルド時間の完了時にトリガされ得るが、あの構成ルーチンは、ファクトリーコマンド、SIM挿入、および/または作業員選択によってトリガされ得る。各構成ルーチンがトリガされ得る方法は、対応する構成ルーチンとともに記憶されているか、またはさもなければ対応する構成ルーチンをポイントする、フラグによって指定され得る。各構成ルーチンのためのトリガは、指定された作業員によって手動で決定され得る。代替的に、各構成ルーチンのためのトリガは、好適なアルゴリズムに基づいて自動的に選択され得る。様々な実施形態では、構成ルーチンに関連付けられたパッチ、および構成ルーチンの実行が、同じトリガリングイベントによってトリガされる。たとえば、ベースソフトウェア390内に含まれた構成ルーチンは、ビルド時間にトリガされることがあり、他の構成は(たとえば、SIM挿入、ファクトリーコマンド、および/または作業員の選択に基づいて)ランタイムに実行されるようにトリガされ得る。
図4は、構成ストレージ300(図3)内に記憶された構成ルーチンに関連付けられたインジケータの例を含むインジケータテーブル400の一例を示す。図1〜図4を参照すると、一意のインジケータが、モバイルネットワークコード(MNC)、モバイル国コード(MCC)、サービスプロバイダ名(SPN)、グループ識別子(GID)、および他の好適なパラメータなど、1つまたは複数のパラメータに基づいて、構成ルーチンごとに作成され得る。MCCは、UE200が動作中であり得る国および/またはエリアを表し得る。MNCは、MCCによって表される国および/またはエリアに関連付けられたモバイルサービスプロバイダを表し得る。MNC/MCCの組合せは、UE200のための一意のサービスプロバイダを表し得る。SPNは、UE200のためのサービスプロバイダを識別し得る。GID(たとえば、GID1およびGID2)は、UE200に関連付けられたモバイルネットワークを識別し得る。いくつかの実施形態では、これらのパラメータの値は、SIMまたは他の好適なデバイス上に記憶され得る。
インジケータテーブル400は、2つ以上のパラメータから作成された(たとえば、インジケータ列430内に示すような)インジケータの例を示す。この例では、第1のパラメータ列410内の第1のパラメータ(たとえば、MCC)、および、第2のパラメータ列420内の第2のパラメータ(たとえば、MNC)は、インジケータ列430のインジケータの基礎を形成する。第1のパラメータ(たとえば、MCC)は、エリアおよび/または国に対応し得、エリアおよび/または国(および/またはそれらの組合せ)は、構成ルーチンのセットを少なくとも部分的に識別し得る。たとえば、MCC「404」(たとえば、第1の行465および第1のパラメータ列410内)は、「エリアA」(たとえば、第1の行465およびエリア列440内に示すような、アジア)、および「国A」(たとえば、第1の行465および国列450内に示すような、インド)に対応し得る。別の例では、MCC「460」(たとえば、第5の行485および第1のパラメータ列410内)は、「エリアA」(たとえば、第5の行485およびエリア列440内に示すような、アジア)、および「国B」(たとえば、第5の行485および国列450内に示すような、中国)に対応し得る。第2のパラメータ(たとえば、MNC)は、サービスプロバイダに対応し得る。一例では、MNC「01」(たとえば、第1の行465および第2のパラメータ列420内)は、「サービスプロバイダA」(たとえば、第1の行465およびサービスプロバイダ列460内)に対応し得る。説明したように、エリア、国、およびサービスプロバイダの組合せは、UE200を構成するための構成ルーチンの少なくとも1つのセットに対応し得る。インジケータ400は説明のために図示されていること、および、追加のパラメータ(たとえば、SPN、GIDなど)が、インジケータを作成する際に使用され得ることを、当業者には諒解されたい。いくつかの実施形態では、同じパラメータのための少なくとも2つの値は同じであり得る(たとえば、第1の行465、第2の行470、第3の行475、および第4の行480内のMCC「404」は同じであり得、第5の行485、第6の行490、第7の行495、および第8の行499内のMCC「460」は同じであり得、第1の行465および第5の行485内のMNC「01」は同じであり得る)。
いくつかの実施形態では、インジケータは、構成ルーチンのセットを一意に識別する英数字テキスト(たとえば、数字、テキスト列、それらの組合せなど)である。UE200は、ターゲット構成ルーチンのセットに基づいて構成され得、ターゲット構成ルーチンの各セットは、エリア固有の構成ルーチンと、国固有の構成ルーチンと、サービスプロバイダ固有の構成ルーチンと、デバイス固有の構成ルーチンとを含み得る。いくつかの実施形態では、インジケータと、パラメータ値の少なくとも1つのセットの両方は、同じ構成ルーチンに対応する。特定の実施形態では、インジケータは、様々なパラメータの連結であり得、その場合、第1のパラメータの値は、インジケータの第1の部分であり得、第2のパラメータの値は、インジケータの第2の部分であり得る。たとえば、MCC値「404」(たとえば、第1の行465および第1のパラメータ列410内)が、MNC「01」(たとえば、第1の行465および第2のパラメータ列420内)と連結されて、インジケータ「40401」(たとえば、第1の行465およびインジケータ列430内)が形成され得る。
様々な実施形態では、2つの異なるインジケータ(第2の行470およびインジケータ列430、第3の行475およびインジケータ列430、ならびに第4の行480およびインジケータ列430内に示すような、インジケータ「40402」、「40403」、および「40404」)は、同じ構成ルーチンを表す。そのような異なるインジケータは、各々、そのエリアおよび国内で動作する単一のサービスプロバイダがオファー中であり得る異なるネットワークを表し得る。これらの異なるネットワークに対応する構成ルーチンは、同じであり得る。
他の実施形態では、そのエリアおよび国内の同じサービスプロバイダによって運用される異なるネットワークは、同じインジケータによって表され、異なるネットワークを区別するために、追加の要素がインジケータに連結され得る。たとえば、追加の要素(たとえば、「01」、「02」、「03」など)が、インジケータ「40402」と連結されて、2次インジケータ「4040201」、「4040202」、「4040203」などが形成され得る。2次インジケータの各々は、同じ構成を表すために使用され得る。
図5は、UE200(図2)を構成するために構成ルーチンを選択するためのマッピングテーブル500の一例を示す。図1〜図5を参照すると、マッピングテーブル500は、内部メモリデバイス(たとえば、メモリ214)、物理的に接続可能な外部メモリデバイス、リモートサーバ内などで、UE200に提供され得る。マッピングテーブル500は、隠れパーティション内で提供され、UE200の汎用プロセッサ206によってのみアクセスされ得る。いくつかの実施形態では、OEMまたは他の指定されたエンティティからの作業員が、マッピングテーブル500を変更し、かつ/またはそれに追加することができる。マッピングテーブル500は、UE200の汎用プロセッサ206によって読み取られ、かつ/または使用され得る、記憶されたコンテンツであり得る。いくつかの実施形態では、マッピングテーブル500は、ビルド時間に提供され得る。他の実施形態では、マッピングテーブル500は、ビルド時間後(たとえば、ランタイムに、構成ルーチンが開始されることになる前に)提供され得る。たとえば、マッピングテーブル500は、(たとえば、ワイヤードおよび/またはワイヤレスネットワークを通して)リモートサーバ、および/または外部の物理的に接続可能なメモリデバイスから、ロードまたはダウンロードされ得る。
マッピングテーブル500は、複数のエントリ(たとえば、第1のエントリ550、第2のエントリ560、第3のエントリ570、第4のエントリ580など)を含み得る。各エントリは、構成ルーチンのセット、構成ルーチンの実行をトリガするトリガリングイベントを表すためのトリガフラグ、SIM上の1つまたは複数のパラメータに対応するインジケータ、構成ルーチンのセットを識別する構成識別子などに関連付けられ得る。
いくつかの実施形態では、マッピングテーブル500は、構成ルーチンのセットをリストするためのターゲット構成列510を含む。たとえば、UE200の完全な構成または再構成のための構成ルーチンのセットは、エリア固有の構成、国固有の構成、サービスプロバイダ固有の構成、および/またはデバイス固有の構成ルーチンを含み得る。いくつかの実施形態では、ターゲット構成列510は、エリア、国、サービスプロバイダ、デバイス、各々またはその組合せに対応する異なるコードなどのうちの1つまたは複数に従って配列される。構成ルーチンのそのような配列およびインデックス付けによって、構成ルーチンの1つまたは複数の特定のセットのためのより短い検索時間が可能になり得る。ターゲット構成列内にリストされるコンテンツは、英数字列、(たとえば、テキスト列、数字列、それらの組合せなど)であり得る。
様々な実施形態では、マッピングテーブル500は、構成ルーチンの特定のセットのためのトリガリングイベントを示すためのトリガ列520を含む。ターゲット構成列510内の構成ルーチンの各関連付けられたセット(たとえば、各エントリ)について、対応するトリガフラグがトリガ列520内で提供され得る。トリガフラグは、2つ以上の値であり得、各値は、構成のための異なるトリガを示し得る。たとえば、第1の値はビルド時間トリガに対応し得、第2の値はSIMトリガに対応し得、第3の値はユーザ入力トリガに対応し得、第4の値はファクトリーコマンドトリガに対応し得る。
マッピングテーブル500内に示すような特定の実施形態では、トリガ列520は、1つまたは複数の値を有するトリガフラグを含み、その各々は、特定の構成が1つまたは複数のSIMによってトリガされ得るか否かを示し得る。たとえば、第1の値(たとえば、「yes」の「Y」)は、構成ルーチンがSIM(たとえば、SIMの挿入)によってトリガされることを示し得、第2の値(たとえば、「no」の「N」)は、構成ルーチンがSIMによってトリガされないことを示し得る。
加えて、マッピングテーブル500は、インジケータテーブル400に関して説明したように、インジケータをリストするためのインジケータ列530を含み得る。いくつかの実施形態では、構成ルーチンのセットは、インジケータが1つまたは複数のSIMに基づいてトリガされるとき、インジケータに関連付けられる。SIMトリガ以外のトリガ(または、トリガなし)に基づいて実行され得る構成ルーチンのセットは、ヌルインジケータ値(たとえば、「0」、「NA」など)を有し得る。
マッピングテーブル500は、構成識別子を受信するための構成識別子列540を含み得、その各々は、構成ルーチンの一意のセットを識別し得る。構成識別子は、構成プロセスの開始前に、ビルド時に、および/またはランタイムに、指定された作業員によって、構成ルーチンの各セットに割り当てられ得る。構成識別子はまた、好適なアルゴリズムに基づいて、自動的に割り当てられ得る。構成識別子は、インジケータの(たとえば、同じ数の数字を有するなど、混乱の可能性がある)テキスト空間と競合しない英数字テキストであり得る。言い換えれば、構成識別子は、インジケータの英数字テキストとはフォーマットが実質的に異なるように見え得る、英数字テキストであり得る。いくつかの例では、前方文字列(たとえば、構成識別子の少なくとも一部分について同じであり得る、「9999999」などのフィラーテキスト)が、構成識別子の英数字テキストの先頭にあり得る。識別文字列は、前方文字列の最後に連結され得る。
いくつかの実施形態では、2つ以上の等しい構成識別子が構成識別子列540内にリストされ、等しい構成識別子の各々は、ターゲット構成列510内に示された同じターゲット構成に対応し得る。たとえば、第1のエントリ550および第2のエントリ560は、両方のエントリのための同じ構成ID(たとえば、「99999991」)によって識別され得る、構成ルーチンの同じセット(たとえば、サービスプロバイダおよびエリア/国を示すために、「Vodafone-India」というタイトルであり得る「ターゲット構成A」)に関連付けられ得る。別の例では、第3のエントリ570および第4のエントリ580は、両方のエントリのための同じ構成ID(たとえば、「99999992」)によって識別され得る、構成ルーチンの同じセット(たとえば、サービスプロバイダおよびエリア/国を示すために、「Vodafone-Nepal」というタイトルであり得る「ターゲット構成B」)に関連付けられ得る。第1のエントリ550と第2のエントリ560の間の違いは、トリガフラグおよびインジケータの値(トリガフラグの値に対応し得る)が異なり得ることであり得る。追加の識別子は、構成IDに関連付けられた構成のセットがSIMトリガされるか否かを示すために、構成IDに連結され得る。
さらなる実施形態では、マッピングテーブル500は、ファクトリー/クラウド構成インジケータを記憶するためのファクトリー/クラウド指示列532を含み得る。ターゲット構成列510内の構成ルーチンの各関連付けられたセット(たとえば、各エントリ)について、対応するファクトリー/クラウドインジケータが、ファクトリー/クラウド指示列532内で提供され得る。ファクトリー/クラウドインジケータは、2つ以上の値であり得、各値は、構成ルーチンのセットの少なくとも一部分がファクトリービルドまたはクラウドダウンロード中にトリガされ得るか否かを示し得る。一例では、構成ルーチンのセットの少なくとも一部分は、ファクトリー/クラウド指示列532内の値「F」によって示されるように、(たとえば、第1のエントリ550では)ファクトリービルド中にトリガされ得る。構成ルーチンのセットの少なくとも一部分は、ファクトリー/クラウド指示列532内の値「C」によって示されるように、(たとえば、第4のエントリ580では)クラウドダウンロードのためにトリガされ得る。
概して、いくつかの実施形態によれば、ファクトリービルドおよび/またはクラウドにおいてトリガされ得る構成は、UE200が少なくとも1つのSIMの受け入れの検出に応答して構成されなくてよいとき、利用可能であり得る。したがって、構成ルーチンのセットの少なくとも一部分は、SIMの受け入れによってトリガされていたとき、ファクトリービルド/クラウド中にトリガされなくてよい。たとえば、第2のエントリ560および第3のエントリ570は、両方とも「N/A」を示し、「N/A」は、構成ルーチンのセットがファクトリービルド中もクラウド中もトリガされないことを示す値である。これは、第2のエントリ560と第3のエントリ570の両方では、構成ルーチンのセットが、SIMを受け入れることによってトリガされるからである。他の実施形態では、構成ルーチンのセットの一部分は、SIMを受け入れることによってトリガされ得るが、構成ルーチンの同じセットの別の部分は、ファクトリービルドまたはクラウドのいずれかに応答してトリガされ得る。したがって、構成ルーチンのセットのうちのいくつかの構成ルーチンは、SIMトリガとファクトリー/クラウドトリガの両方であることが示され得る。
さらなる実施形態では、マッピングテーブル500は、完全/部分構成インジケータを記憶するための完全/部分指示列534を含み得る。ターゲット構成列510内の構成ルーチンの各関連付けられたセット(たとえば、各エントリ)について、対応する完全/部分インジケータが、完全/部分指示列534内で提供され得る。完全/部分インジケータは、2つ以上の値であり得、各値は、構成ルーチンのセットの少なくとも一部分が完全構成であり得るか、または部分構成であり得るかを示し得る。完全構成は、UE200のすべての態様が完全構成によって構成され得ることを指す。部分構成は、UE200の全部ではないが、一部の態様が構成され得ることを指す。UE200の他の態様は、別のタイプのトリガに応答して、以後および/または以前に構成され得る。一例では、構成ルーチンのセットは、完全/部分指示列534内の値「Y」によって示されるように、完全構成セット(たとえば、第2のエントリ560、および第3のエントリ570)であり得る。構成ルーチンの別のセットは、完全/部分指示列534内の値「N」によって示されるように、部分セット(たとえば、第1のエントリ550、および第4のエントリ580)であり得る。相補構成セットが異なるエントリ内で受信され得る。すべての相補構成セットは、完全/部分指示列534によって示されるような部分セットであり得る。UE200の完全構成は、2つ以上の相補構成セットを実行することによって達成され得る(すなわち、クラウドからコンテンツをダウンロードすることによって以後適用された構成パッチの場合のように、1つのみでは、UE200が完全に構成されることが可能にならない)。相補構成セットは、異なるトリガリングイベントを用いてトリガされ得、ファクトリーおよびクラウドのうちの異なるものから受信され得、異なる時間において適用され得るなどとなる。
またさらなる実施形態では、マッピングテーブル500は、構成の対応するセット内の構成がOEM、ベンダー、サービスエンティティ、ユーザ、または他の好適なエンティティによって追加または修正され得るか否かを示すための、修正指示列536を含み得る。ターゲット構成列510内の構成ルーチンの各関連付けられたセット(たとえば、各エントリ)について、対応する修正インジケータが、修正指示列536内で提供され得る。修正インジケータは、2つ以上の値であり得、各値は、構成ルーチンがUE200の初期(すなわち、使用するためのUE200の第1の構成)構成に続いて修正または追加され得るか否かを示し得る。他の実施形態では、修正インジケータは、初期構成の前(であるが、対応する構成がすでに構成ストレージ300内に記憶された後)の修正、および、初期構成後の修正のための、別個の値を含み得る。一例では、構成ルーチンのセットは、修正指示列536内の値「Y」によって示されるように、UE200のユーザ、OEM、または他の好適なエンティティ(たとえば、第1のエントリ550)によって、修正可能であり得る(または、すでに修正されていることがある)(たとえば、第1のエントリ550)。構成ルーチンの別のセットは、修正指示列536内の値「N」によって示されるように、好適なエンティティによって、修正可能でなくてよい(または、すでに修正されていなくてよい)(たとえば、第2のエントリ560、第3のエントリ570、および第4のエントリ580)。
したがって、OEMまたは他の好適なエンティティは、(たとえば、汎用/専用コンピュータによって実行可能なプログラミングツールなどのソフトウェアを用いて)既存の構成ルーチンポストビルドを修正することができる。OEMは、それに応じて、構成を編集すること、および各既存の構成に対応するアルゴリズムをセットアップすることが可能にされる。修正可能なフラグは、構成ルーチンの各セットまたは各構成ルーチンに対応し得る。修正可能なフラグは、構成ルーチンの対応するセットまたは構成ルーチンが、修正かつ/または追加され得るか否かを示し得る。修正されたフラグは、構成ルーチンの各セットまたは各構成ルーチンに対応し得る。修正されたフラグは、構成ルーチンの対応するセットまたは構成ルーチンが、すでに修正かつ/または追加されたか否かを示し得る。修正可能なフラグと修正されたフラグの一方または両方は、構成ルーチンのセットまたは構成ルーチンのうちの1つまたは複数に関連付けられ得る。
またさらなる実施形態では、マッピングテーブル500は、1つまたは複数のパッケージに対応する構成ルーチンを示すためのパッケージ指示列538を含み得る。OEMは、(たとえば、異なる価格帯で販売するために)UE200の同じモデルの構成における異なるタイプのカスタマイズを有することを望むことがある。したがって、構成ルーチンは、パッケージ固有であり得る。構成ルーチンは、パッケージレベルに基づいて異なり得る。ターゲット構成列510内の構成ルーチンの各関連付けられたセット(たとえば、各エントリ)について、対応するパッケージインジケータが、パッケージ指示列538内で提供され得る。2つ以上のパッケージ(値)レベルが、OEMおよび/または他の好適な作業員によってあらかじめ定義され得る。より高い値のパッケージ値レベルは、より多いかまたはより良いデバイスドライバ、アプリケーション、有効化されたハードウェア、付加価値アプリケーションなどに対応し得る。パッケージインジケータは、識別の目的のために各パッケージ値レベルに関連付けられ得る。一例では、構成ルーチンのセットは、パッケージ指示列538内の値「H」によって示されるように、高値パッケージレベルに対応し得る(たとえば、第1のエントリ550)。構成ルーチンの別のセットは、パッケージ指示列538内の値「M」によって示されるように、中間パッケージ値レベルに対応し得る(たとえば、第2のエントリ560、および第3のエントリ570)。構成ルーチンのまた別のセットは、パッケージ指示列538内の値「L」によって示されるように、低パッケージ値レベルに対応し得る(たとえば、第4のエントリ580)。
識別子/インジケータは、(ファクトリー/クラウド指示列532内に示された)ファクトリー/クラウド構成インジケータ、(完全/部分指示列534内に示された)完全/部分構成インジケータ、(修正指示列536内に示されたような)修正インジケータの各々に関連付けられ得る。そのような識別子/インジケータは、構成識別子列540内に示されるような構成識別子に追加され得る。たとえば、識別子(たとえば、「2F」)は、構成ルーチンのセットがファクトリーによってトリガされることを示し得る。別の識別子(たとえば、「3F」)は、構成ルーチンのセットが完全構成であることを示し得る。また別の識別子(たとえば、「4M」)は、構成ルーチンのセットが修正可能であることを示し得る。さらなる実施形態では、識別子は、SIMトリガ構成に関連付けられ得る。たとえば、識別子(「ST」)は、構成ルーチンのセットがSIMによってトリガされることを示し得、識別子(「NS」)は、構成ルーチンのセットがSIMによってトリガされないことを示し得る。また別の識別子(たとえば、「H」)は、構成ルーチンのセットが高パッケージレベルに対応することを示し得る。
したがって、ファクトリー/クラウド構成、完全/部分構成、および修正のうちの少なくとも1つのための識別子/インジケータが、説明したような構成識別子(ターゲットセット識別子、SIMトリガ識別子、前方文字列などを含む)と連結されて、2次構成識別子が形成され得る。2次構成識別子は、限定はしないが、説明したものなどの構成識別子として構成され得る。上記の例における2次構成識別子は、「99999991NS2F3F4MH」であり得、ターゲット構成Aがファクトリーによってトリガされ、完全構成、修正可能、高パッケージレベルであり、SIMトリガされないことを示す。
サンプルの識別子およびインジケータは例示のためのものであり、他の好適な英数字文字、パラメータ、値、ポインタなどが使用され得ることを、当業者には諒解されたい。加えて、マッピングテーブル500のインジケータ列530は、図示のよりも少ないかまたは追加のインジケータを含むか、またはリストし得る。
図6は、様々な実施形態による構成プロセス600の一例を示すプロセスフローチャートである。図1〜図6を参照すると、構成プロセス600は、それによってUE200の完全構成が実行され得るプロセスを指すことがある。最初にブロックB610で、UE200の汎用プロセッサ206などのプロセッサ(または、他の好適な構成要素)が、構成ルーチンを分類するように構成される。いくつかの実施形態では、複数の構成ルーチンが、説明した方法で、(たとえば、内部メモリデバイス内、隠れパーティション内、物理的に接続可能な外部デバイス内、リモートサービス内などの)UE200の構成ストレージ300に提供される。構成ルーチンは、UE200に関連付けられた地域および/またはサービスプロバイダに基づいて分類され得る(たとえば、構成ルーチンは、エリア固有、国固有、サービスプロバイダ固有などであり得る)。構成ルーチンのターゲットセットは、UE200を構成するために実行される構成ルーチンのセットであり得る。構成ルーチンのセットは、少なくとも1つのエリア固有の構成ルーチン、少なくとも1つの国固有の構成ルーチン、少なくとも1つのサービスプロバイダ固有の構成ルーチン、少なくとも1つのデバイス固有の構成ルーチンなどを含み得る。
次にブロックB620で、UE200の汎用プロセッサ206が、分類された構成ルーチンをグループ化し、様々なリポジトリに記憶するように構成される。説明したように、分類された構成は、少なくとも1つの国リポジトリ、少なくとも1つのエリアリポジトリなどに一緒に記憶され得る。
次にブロックB630で、UE200の汎用プロセッサ206が、あるベースソフトウェア(たとえば、構成ストレージ300内に記憶されたベースソフトウェア390)を実行するように構成される。ベースソフトウェア390は、基本機能を実行するようにUE200を構成するための予備構成ルーチンを含み得る(たとえば、UE200のいくつかまたは大部分の特徴は、ベースソフトウェア390の実行に続くためにこれから構成され得る)。ベースソフトウェア390を実行することはまた、説明した基本機能を実行するために、ベースソフトウェア390の少なくとも一部分を実行することを指すこともある。基本機能は、構成プロセスの後続のステップのためのプラットフォームおよび/またはツールを提供することができる。
次にブロックB640で、UE200の汎用プロセッサ206は、トリガリングイベントを検出するように構成される。説明したように、トリガリングイベントは、ビルド時間の完了、ファクトリーコマンド、SIMトリガ(たとえば、挿入、SIM上でパラメータを読み取ることなど)、および/または作業員選択であり得る。
次にブロックB650で、UE200の汎用プロセッサ206が、トリガリングイベントの検出に応答して、構成ルーチンのターゲットセットを選択するように構成される。いくつかの実施形態では、UE200は、トリガリングイベントのタイプに基づいて、構成ルーチンを選択するように構成され得る。
トリガリングイベントが、ビルド時間の完了、ファクトリーテストコマンド、および/または作業員選択を受信することであるとき、構成ルーチンのターゲットセットは、OEMおよび/または製品サービスの指定された作業員によってあらかじめ決定され得る。選択された(たとえば、あらかじめ決定された)構成ルーチンのターゲットセットは、一意のマーカーによってマークを付けられ得る。トリガリングイベントを検出すると、UE200の汎用プロセッサ206は、マーカーに基づいて構成ルーチンを識別するように構成され得る。エリア固有の構成ルーチン、国固有の構成ルーチン、サービスプロバイダ固有の構成ルーチン、およびデバイス固有の構成ルーチンは、各々マーカーによってマークを付けられ得、構成ルーチンの選択されたターゲットセットを形成するために統合され得る。
トリガリングイベントが、ビルド時間の完了、ファクトリーテストコマンド、および/または作業員選択であるとき、構成ルーチンのターゲットセットは、ユーザ入力に基づいて選択され得る。たとえば、タッチスクリーンディスプレイ226および/またはキーパッド224は、構成ルーチンのターゲットセットを選択することに関して入力を受信することができる。1つまたは複数の別個の構成ルーチンが、UE200のタッチスクリーンディスプレイ226を介して表示され得る。UE200は、ユーザおよび/または指定された作業員が、1つまたは複数の別個のセットのうちの1つを、構成ルーチンのターゲットセットであるように選択することを可能にすることができる。UE200はまた、ユーザおよび/または指定された作業員が、構成ルーチンのターゲットセットの名前(および/または、ターゲットセットを表すコード)を入力することによって、構成ルーチンのターゲットセットを選択することを可能にすることもできる。
トリガリングイベントが、UE200が少なくとも1つのSIMを受け入れることであるとき、UE200の汎用プロセッサ206は、SIM上に記憶された1つまたは複数のパラメータを読み取り、1つまたは複数のパラメータの値に基づいて、構成ルーチンのターゲットセットを選択するように構成され得る。UE200の汎用プロセッサ206は、最初に、(たとえば、SIM上に記憶された1つまたは複数のパラメータの値に基づいて、英数字テキストを作成することによって)インジケータテーブル400に関して説明した方法で、SIMのためのインジケータを作成することができる。次いで、UE200の汎用プロセッサ206は、インジケータを、インジケータに関連付けられた構成ルーチンのターゲットセットとマッチングすることができる。いくつかの実施形態では、UE200の汎用プロセッサ206は、マッピングテーブル500にアクセスすることができ、インジケータを、構成ルーチンのセットを識別する、対応する構成識別子とマッチングする。
たとえば、第2のエントリ560に関して、インジケータ「40401」(たとえば、インジケータ列530内)は、構成識別子「99999991」(たとえば、構成識別子列540内)に対応し得る。識別子に関連付けられた構成識別子を取得した後、UE200の汎用プロセッサ206は、構成識別子に基づいて、構成ルーチンの対応するセット(たとえば、第2のエントリ560に関する「Vodafone-India」)の位置を特定することができる。構成ルーチンの対応するセットは、インジケータテーブル400によって提供されたデータを介して、構成識別子に基づいて、位置を特定され得る。
他の実施形態では、UE200の汎用プロセッサ206は、構成ルーチンのセットとともに取得されたインジケータを直接(すなわち、対応する構成識別子を最初に取得することなく)マッピングするように構成される。したがって、各構成ルーチンおよび/または構成ルーチンのセットは、インジケータに直接関係付けられ得る(たとえば、一意のインジケータは、各構成ルーチンまたは構成ルーチンのセットとともに記憶され得るか、またはそれをポイントする)。マッピングテーブル500は、いかなる構成識別子または構成識別子列540を含まなくてもよい。
マルチSIMベースの構成のための選択プロセスについて、少なくとも図7に関して本明細書で説明する。
図1〜図6に戻ると、次にブロックB660で、UE200の汎用プロセッサ206が、構成ルーチンの選択されたターゲットセットに基づいて、UE200を構成(または再構成)するように構成される。構成ルーチンの選択されたターゲットセットは、少なくともエリア固有の構成ルーチン、国固有の構成ルーチン、サービスプロバイダ固有の構成ルーチン、デバイス固有の構成ルーチンなどを含み得る。各構成ルーチンは、説明したように、UEを完全機能のために構成するために構成命令を含み得る。UE200は、成功した構成/再構成時にリブートされ得る。
次にブロックB670で、UE200の汎用プロセッサ206は、UE200の構成ストレージ300内に記憶された構成ルーチンを削除するように構成され得る。いくつかの実施形態では、削除プロセスは、構成ルーチンの選択されたターゲットセットに基づいて、UE200の構成の完了に応答して開始され得る。すべての構成ルーチンの全部または一部が削除され得る。
いくつかの実施形態では、削除プロセスは、構成ルーチンのターゲットセットの選択の完了に応答して開始され得る(すなわち、構成ルーチンのターゲットセット以外の構成ルーチンは、ブロックB660において構成ステップと同時に削除され得る)。削除された構成ルーチンは、(たとえば、物理的に接続可能な外部デバイスを介して、および/またはネットワークを介して)再度ロードまたはダウンロードされ得る。
構成プロセス600は、(たとえば、UE200が少なくとも一度、すでに構成された後)UE200を再構成するために適用可能であり得る。再構成プロセスでは、UE200の汎用プロセッサ206は、構成ルーチンを分類し(限定はしないが、ブロックB610など)、構成ルーチンをリポジトリにグループ化/記憶する(限定はしないが、ブロックB620など)。様々な実施形態では、分類ブロック(たとえば、ブロックB610)、およびグループ化/記憶ブロック(たとえば、ブロックB620)は、分類ブロックおよびグループ化/記憶ブロックが以前の構成プロセスのためにすでに実行されているとき、実行される必要がなくてよい。加えて、UE200の汎用プロセッサ206は、UE200がベースソフトウェア390の構成ルーチンに基づいてすでに構成されているとすると、ベースソフトウェア390の構成ルーチンに基づいて、UE200を構成する必要がなくてよい。UE200の汎用プロセッサ206は、それにもかかわらず、再構成プロセスのためのサポートを提供するために、ベースソフトウェア390を実行することができる。いくつかの実施形態では、UE200の再構成は、UE200が最初に未構成状態(たとえば、ベースソフトウェア390の構成以外のいずれかの構成が行われる前のUE200の状態など、UE200が、ベースソフトウェア390のもの以外のいずれかの構成ルーチンに従って構成されない状態)に復帰させられることを必要とする。次に、再構成プロセスは、説明したように、検出ブロック(たとえば、ブロックB640)、選択ブロック(たとえば、ブロックB650)、構成ブロック(たとえば、ブロックB660)、および削除ブロック(たとえば、ブロックB670)に進むことができる。
いくつかの実施形態では、新しいおよび/または追加のSIMが受け入れられ、かつ/または検出されるとき、UE200は、未構成状態に配置され得る。ユーザは、(たとえば、キーパッド224および/またはタッチスクリーンディスプレイ226を通して)UE200を未構成状態に配置するために、(たとえば、タッチスクリーンディスプレイ226を通して)オプションが提示され得る。他の実施形態では、UE200は、未構成状態に自動的に入ることができる。次に、説明したような構成プロセスが、新しいおよび/または追加のSIMが挿入されることに基づいて、再開され得る。
図7は、様々なマルチSIM実施形態(たとえば、DSDS、DSDA、TSTS、TSTA、および/または他の追加の数のSIMに関係する実施形態)による、選択プロセス700の一例を示すプロセスフローチャートである。図1〜図7を参照すると、選択プロセス700は、構成プロセス600中の検出ブロック(たとえば、ブロックB640)および/または選択ブロック(たとえば、ブロックB650)中に発生するプロセスであり得る。具体的には、ブロックB710はブロックB640に対応し得、ブロックB720〜B740はブロックB650に対応し得る。
最初にブロックB710で、UE200は、SIMインターフェース(たとえば、デュアルSIMコンテキストにおける第1のSIMインターフェース202aおよび第2のSIMインターフェース202b)を介して、複数のSIMを受け入れる。いくつかの実施形態では、複数のSIMがSIMインターフェースによって受け入れられることを(たとえば、UE200の汎用プロセッサ206を介して)検出するために、UE200が電源投入されたとき、複数のSIMが受け入れられると決定される。いくつかの実施形態では、UE200が電源投入されている間に、UE200が2つ以上のSIMの挿入を(たとえば、UE200の汎用プロセッサ206を介して)検出するとき、複数のSIMが受け入れられると決定される。2つのSIMは、両方のSIMがあらかじめ決定された時間期間内に離れて受け入れられることが検出され得ると同時に、挿入されると決定され得る(たとえば、あらかじめ決定された時間期間は、2秒、5秒、10秒、30秒などであり得る)。
次にブロックB720で、各SIMのためのインジケータが、各SIM上に記憶されたパラメータの値に基づいて(たとえば、UE200の汎用プロセッサ206を介して)決定される。受け入れられた複数のSIMの各SIMのためのインジケータは、少なくとも、構成プロセス600のブロックB650に関して説明したものと同様の方法で決定され得る。したがって、複数のインジケータが作成され得、その各々が異なるSIMに対応し得る。
次にブロックB730で、UE200の汎用プロセッサ206は、関連付けられたインジケータに基づいて、複数のSIMの各々のための構成ルーチンの複数のターゲットセットをマッチングするように構成される。構成ルーチンの各ターゲットセットは、少なくとも、構成プロセス600のブロックB650に関して説明したものと同様の方法でマッチングされ得る。したがって、複数のマッチングされたターゲットセットが識別され得、その各々が異なるSIMに対応し得る。
次にブロックB740で、構成ルーチンのマッチングされたセットのうちの少なくとも1つのセットが、構成ルーチンのターゲットセットであるように選択される。いくつかの実施形態では、UE200は、(たとえば、UE200のキーパッド224および/またはタッチスクリーンディスプレイ226を介して)受信されたユーザ入力に基づいて、ターゲットセットを選択するように構成される。UE200のタッチスクリーンディスプレイ226は、最初に、UE200のユーザに、構成ルーチンのマッチングされたセットの各々の識別情報を表示することができる。識別情報は、エリア、国、サービスプロバイダなどのための名前を含み得る。たとえば、(たとえば、UE200のタッチスクリーンディスプレイ226を介して)表示された識別情報は、「Vodafone-India」であり得る。この例では、「India」は、構成ルーチンのマッチングされたセットに対応するエリアおよび/または国に関係し、「Vodafone」は、構成ルーチンのマッチングされたセットに対応するサービスプロバイダに関係する。次いで、ユーザは、説明した方法で、構成ルーチンのマッチングされたターゲットセットのうちの1つを選択することができる。
他の実施形態では、UE200は、(たとえば、UE200の汎用プロセッサ206を用いて)構成ルーチンのマッチングされたセットのうちの1つを自動的に選択するように構成される。特定の実施形態では、UE200は、ジオロケーションデバイス(図示せず)を用いて、UE200のロケーションを決定する。ジオロケーションデバイスは、限定はしないが、全地球測位システム(GPS)または他の衛星測位システム、地上測位システム、Wi-Fiロケーションシステム、それらの組合せなど、UE200の地理的ロケーションを決定するためのハードウェアおよびソフトウェアを含み得る。ジオロケーションデバイスは、ベースソフトウェア390によって有効化され得る。次いで、UE200の汎用プロセッサ206は、UE200の現在のジオロケーションを、マッチングされた構成ルーチンの各セットに関連付けられたエリアおよび/または国とマッチングすることによって、構成ルーチンのマッチングされたセットのうちの1つを選択することができる。一例では、構成ルーチンのマッチングされたセットは、「Vodafone-India」、「FLY-Russia」、および「China Unicom-China」を含み得る。UE200のジオロケーションデバイスが、UE200の現在のロケーションがインド内であると決定するので、次いで、UE200は、Vodafone-Indiaを構成ルーチンのターゲットセットとして選択することができる。
図8は、様々な実施形態による言語選択画面800の一例を示す。図1〜図8を参照すると、UE200のタッチスクリーンディスプレイ226は、言語選択画面800を表示するように構成され得る。いくつかの実施形態では、言語選択画面は、ベースソフトウェア390によって有効化され、ベースソフトウェア390の実行後(たとえば、構成プロセスにおけるブロックB630後)に表示されるように構成される。いくつかの実施形態では、UE200が、ユーザ選択に基づいてその言語設定(たとえば、地域および言語設定、アプリケーション言語設定、デフォルトシステム言語設定など)を構成することができるとすれば、言語選択画面800は、UE200の構成(たとえば、ブロックB660)の前および/またはその間に表示される。いくつかの実施形態では、言語選択画面800は、マッチングされたセットの中から構成ルーチンのターゲットセットを選択する前に(および/または、その最初のステップとして)、(たとえば、ブロックB650および/またはB740で)表示される。
言語選択画面800は、複数の言語要素(たとえば、第1の言語要素810、第2の言語要素820、第3の言語要素830など)を含む。各言語要素は、タッチスクリーンディスプレイ226および/またはキーパッド224を介して、ユーザによって選択可能なユーザ対話型要素であり得る。たとえば、第1の言語要素810は、英語で表示するようにUE200を構成することができ、第2の言語要素820は、ロシア語で表示するようにUE200を構成することができ、第3の言語要素830は、標準中国語で表示するようにUE200を構成することができる。各言語要素は、ベースソフトウェア390によって有効化され得る。いくつかの実施形態では、表示された言語要素は、挿入されたSIMの各々に関連付けられたエリアおよび/または国に対応し得る。SIMの各々に関連付けられたエリアおよび/または国は、各SIM上に記憶されたパラメータ(たとえば、MCC、MNCなど)の値から、汎用プロセッサ206によって抽出され得る。他の実施形態では、利用可能なすべての言語オプション(たとえば、ベースソフトウェア390によって有効化されるようなすべての言語オプション)が、タッチスクリーンディスプレイ226を介してユーザに提示され得る。加えて、言語要素は、(たとえば、ジオロケーションデバイスによって有効化されるような)UE200のロケーションに基づいて、言語オプションを提示することができる。たとえば、言語要素は、UE200の現在のロケーションに関連付けられたエリア/国内で使用される言語を提示することができる。
図9は、様々な実施形態によるターゲット構成選択画面900の一例を示す。図1〜図9を参照すると、UE200のタッチスクリーンディスプレイ226は、たとえば、ユーザによる言語オプションの選択に応答して、ターゲット構成選択画面900を表示するように構成され得る(すなわち、ターゲット構成選択画面900は、選択された言語でタッチスクリーンディスプレイ226によって表示され得る)。
ターゲット構成選択画面900は、複数の構成エレメント(たとえば、第1の構成要素910、第2の構成要素920、第3の構成要素930など)を含む。各構成要素は、タッチスクリーンディスプレイ226および/またはキーパッド224を介して、ユーザによって選択可能なユーザ対話型要素であり得る。1つの構成要素の選択によって、その構成要素に関連付けられた構成ルーチンのセットに基づいて、UE200の構成をトリガすることができる。たとえば、(たとえば、Vodafone-Indiaであり得る「構成セットX」として示される)第1の構成要素910の選択によって、エリア(たとえば、アジア)、国(たとえば、インド)、サービスプロバイダ(たとえば、Vodafone)などに関連付けられた構成ルーチンに基づいて、UE200の構成をトリガすることができる。(たとえば、FLY-Russiaであり得る「構成セットY」として示される)第2の構成要素920の選択によって、別個のエリア(たとえば、ヨーロッパ)、別個の国(たとえば、ロシア)、および別個のサービスプロバイダ(たとえば、「FLY」)などに関連付けられた構成ルーチンに基づいて、UE200の構成をトリガすることができる。(たとえば、China Unicom-Chinaであり得る「構成セットZ」として示される)第3の構成要素930の選択によって、同じまたは異なるエリア(たとえば、アジア)、国(たとえば、中国)、サービスプロバイダ(たとえば、China Unicom)などに関連付けられた構成ルーチンに基づいて、UE200の構成をトリガすることができる。
ターゲット構成選択画面900は、アクティブ化される場合、UE200が未構成状態のままであることを可能にすることになる、ユーザ対話型要素を提供する。いくつかの実施形態では、ターゲット構成選択画面900は、(たとえば、ユーザ対話型要素として構成された)再スキャン要素を提供する。再スキャンがアクティブ化されるとき、UE200によって受け入れられたSIMは、SIM内に記憶されたパラメータの値について再スキャンされ得る。UE200は、構成ルーチンの追加のおよび/または変更されたマッチングされたセットを表す、追加のおよび/または変更された構成要素を表示するように構成され得る。
様々な実施形態は、UE1000など、様々なUEのいずれかにおいて実装され得、その例(図1におけるUE110に対応し得る、図2のUE200)を図10に示す。したがって、UE1000は、本明細書で説明するように、図1〜図9のプロセスおよび/または装置を実装することができる。
図1〜図10を参照すると、UE1000は、タッチスクリーンコントローラ1004および内部メモリ1006に結合されたプロセッサ1002を含み得る。プロセッサ1002は、プロセッサ206に対応し得る。プロセッサ1002は、全般的な処理タスクまたは特定の処理タスクのために指定された1つまたは複数のマルチコア集積回路であり得る。内部メモリ1006は、メモリ214に対応し得る。メモリ1006は、揮発性メモリまたは不揮発性メモリであってよく、また、セキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、あるいはそれらの任意の組合せであってもよい。タッチスクリーンコントローラ1004およびプロセッサ1002は、抵抗感知タッチスクリーン、容量感知タッチスクリーン、赤外線感知タッチスクリーンなどの、タッチスクリーンパネル1012に結合される場合もある。加えて、UE1000のディスプレイは、タッチスクリーン機能を有する必要はない。タッチスクリーンコントローラ1004、タッチスクリーンパネル1012は、図2に示し、本明細書で説明したユーザインターフェース203に対応し得る。
UE1000は、プロセッサ1002と2つ以上のアンテナ1010とに結合され、セルラー通信を送信および受信するために構成された1つまたは複数のセルラーネットワークトランシーバ1008a、1008bを有し得る。トランシーバ1008およびアンテナ1010a、1010bは、様々な実施形態の方法を実施するために、上述した回路とともに使用され得る。UE1000は、トランシーバ1008a、1008b、および/またはプロセッサ1002に結合され、上記で説明したように構成された、SIM-1 204aおよびSIM-2 204bに対応する、2つ以上のSIMカード1016a、1016bを含み得る。UE1000は、セルラーネットワークを介した通信を可能にし、プロセッサに結合されたセルラーネットワークワイヤレスモデムチップ1011を含み得る。1つまたは複数のセルラーネットワークトランシーバ1008a、1008b、セルラーネットワークワイヤレスモデムチップ1011、および2つ以上のアンテナ1010は、RFリソース218a、218bに対応し得る。
UE1000は、プロセッサ1002に結合された周辺デバイス接続インターフェース1018を含み得る。周辺デバイス接続インターフェース1018は、1つのタイプの接続を受け入れるように単独で構成され得、または、USB、FireWire(登録商標)、Thunderbolt(登録商標)、またはPCIeなどの、共通または独自の様々なタイプの物理的接続および通信接続を受け入れるように多様に構成され得る。周辺デバイス接続インターフェース1018はまた、同様に構成された周辺デバイス接続ポート(図示せず)に結合され得る。
UE1000はまた、オーディオ出力を提供するためのスピーカー1014を含み得る。UE1000はまた、本明細書で説明する構成要素の全部または一部を含むための、プラスチック、金属、または材料の組合せから構成されたハウジング1020を含み得る。UE1000は、使い捨てバッテリーまたは充電式バッテリーなど、プロセッサ1002に結合された電源1022を含み得る。充電式バッテリーはまた、UE1000の外部のソースから充電電流を受け取るために、周辺デバイス接続ポート(図示せず)に結合され得る。UE1000はまた、ユーザ入力を受け取るための物理ボタン1024を含み得る。UE1000はまた、UE1000をオンおよびオフするための電源ボタン1026を含み得る。
前述の方法の説明およびプロセスフロー図は、単に例示的な例として提供され、様々な実施形態のステップが提示された順序で実行されなければならないことを必要とするまたは意味することを意図していない。当業者によって理解されるように、上述の実施形態におけるステップの順序は、任意の順序で実行されてもよい。「その後」、「次いで」、「次に」などの語は、ステップの順序を限定するものではなく、これらの語は単に、方法の説明を通じて読者を導くために使用される。さらに、たとえば、冠詞「a」、「an」、または「the」を使用する単数形での請求項の要素へのいかなる参照も、要素を単数形に限定するものとして解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実現されるか、またはソフトウェアとして実現されるかは、特定の用途およびシステム全体に課せられる設計制約によって決まる。当業者は、説明された機能を特定のアプリケーションごとに様々な方法で実装し得るが、そのような実装決定は本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示した実施形態に関して説明した様々な例示的論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
いくつかの例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装されてもよい。ソフトウェアにおいて実施される場合に、機能は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上の1つまたは複数の命令またはコードとして記憶され得る。本明細書で開示する方法またはアルゴリズムのステップは、非一時的コンピュータ可読またはプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュール内で具現化され得る。非一時的なコンピュータ可読またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であり得る。例として、限定はしないが、そのような非一時的コンピュータ可読またはプロセッサ可読記憶媒体は、RAM、EOM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令またはプログラムコードの形態において所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含んでもよい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスクおよびブルーレイディスクを含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読およびプロセッサ可読記憶媒体の範囲内に含まれる。さらに、方法またはアルゴリズムの動作は、コードおよび/または命令の1つまたは任意の組合せまたはセットとして非一時的プロセッサ可読記憶媒体および/またはコンピュータ可読記憶媒体上に常駐し得、非一時的プロセッサ可読記憶媒体および/またはコンピュータ可読記憶媒体はコンピュータプログラム製品に組み込まれ得る。
開示した実施形態の前述の説明は、当業者が本発明を作成または使用することを可能にするために提供される。これらの実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本発明の要旨または範囲から逸脱することなく、いくつかの実施形態に適用され得る。したがって、本発明は、本明細書に示された実施形態に限定されることを意図しておらず、以下の特許請求の範囲、ならびに本明細書で開示された原理および新規な特徴と一致する最も広い範囲を与えられるべきである。