JP5613762B2 - 複数のサービスアカウントを有するモバイルデバイスをプログラムするための方法および装置 - Google Patents

複数のサービスアカウントを有するモバイルデバイスをプログラムするための方法および装置 Download PDF

Info

Publication number
JP5613762B2
JP5613762B2 JP2012511940A JP2012511940A JP5613762B2 JP 5613762 B2 JP5613762 B2 JP 5613762B2 JP 2012511940 A JP2012511940 A JP 2012511940A JP 2012511940 A JP2012511940 A JP 2012511940A JP 5613762 B2 JP5613762 B2 JP 5613762B2
Authority
JP
Japan
Prior art keywords
service provider
selected service
mobile device
account
provider account
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012511940A
Other languages
English (en)
Other versions
JP2012527206A (ja
Inventor
アンソニー・サンディング
バラジ・ヴァイディヤナタン
ヨゲシュ・ツグナワト
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2012527206A publication Critical patent/JP2012527206A/ja
Application granted granted Critical
Publication of JP5613762B2 publication Critical patent/JP5613762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Description

本発明は一般にモバイルデバイスのプロビジョニングおよびプログラミングに関し、より詳細には、単一のモバイルデバイスにおける複数のサービスプロバイダアカウントのプロビジョニングおよびプログラミングを行うための方法および装置に関する。
一般に、従来のセルラー通信デバイスは、2つの主な競合するネットワーク技術のうち一方を使用して動作する。すなわち、グローバルシステムフォーモバイルコミュニケーションズ(GSM)または符号分割多重アクセス(CDMA)である。これらの2つの競合する技術の間にはいくつかの違いがあるが、根底では、GSMは時分割多重方式を実装するが、CDMAは(その名前が示すように)符号ベースの多重方式を実装する。GSMネットワークでは、ネットワークの全帯域幅の一部がチャネルとしてモバイルデバイスに割り振られる。ネットワーク基地局は次いで、割り振られたチャネルの各々を短時間に選択的に「リッスン」して、音声および/またはデータ情報をモバイルデバイスとの間で送受信する。基地局は、割り振られたチャネルを短時間に選択的にリッスンすることしかできず、その理由は、基地局がまた、ネットワーク上で動作する他のモバイルデバイスに割り振られた他のチャネルをもリッスンしなければならないからである。有効ではあるが、TDMA方式は、帯域幅が制限されること、および、単一のチャネルを単一のモバイルデバイス専用にする必要があることが、妨げになる。
対照的に、CDMAネットワークでは、各チャネルが複数のモバイルデバイスによって利用されうる。同じ割り振られたチャネル上で動作する複数の異なるモバイルデバイスから受信された情報を区別するために、各モバイルデバイスには、その音声および/またはデータ情報を符号化するために異なる符号化オフセットが割り当てられる。復号符号オフセットを選択的に切り替えることによって、基地局は、同じ割り振られたチャネル上で動作する複数のモバイルデバイスから受信された情報を復号することができる。これにより、同量の全帯域幅においてより多くのモバイルデバイスにサービスするための容量が大幅に増す。
競合する技術の各々で実装された多重化および符号化方式に加えて、競合する通信ネットワークを運用する個々のサービスプロバイダは、それらの各通信ネットワーク上で送受信中である通信信号の他の態様を修正する場合がある。これにより、各サービスプロバイダが自らのネットワークを別のネットワークと区別し、場合によっては、違いが出る機能をその顧客に提供することが可能となる。これらの態様には、通信信号波形、周波数、振幅などが含まれうる。
特定のサービスプロバイダのネットワーク上で適切に動作するために、モバイルデバイスは、正しい変調により適切な波形を生成するために必要なハードウェア、および、サービスプロバイダのネットワークによって必要とされるような符号化方式を備えなければならない。2つの競合するネットワークの間で使用された波形のタイプ、変調および符号化方式における基本的相違のため、GSM技術のネットワーク上で動作するために必要なハードウェアを備えたモバイルデバイスは、CDMA技術のネットワーク上で動作することができず、逆もまた同様である。
また、類似の技術(例えば、GSMまたはCDMA)のネットワークを運用する、競合するサービスプロバイダは典型的には、モバイルデバイスが特定のサービスプロバイダのネットワーク上で動作することを可能にする、独自のプロビジョニングデータを実装する。各サービスプロバイダは典型的には、それらの使用またはフォーマットにおいて固有であるいくつかのプロビジョニングパラメータを採用する。従来のモバイルデバイスは、そのデバイスが登録されている単一のサービスプロバイダのためのプロビジョニングデータを格納する。従来のモバイルデバイスは、(もし同じ技術タイプであれば)異なるサービスプロバイダの通信ネットワーク上で通信を実施することが可能となりうるが、そのような使用は、モバイルデバイスにロードされたプロビジョニングデータによって指示されたローミングルールおよび許可に従ってのみ、許可されるようになる。従来のモバイルデバイスのユーザが、異なるサービスプロバイダの通信ネットワークを、プライマリ(すなわち、非ローミング)サービスで利用することを望む場合、モバイルデバイスにロードされたプロビジョニングデータは削除され、新たに選択されたサービスプロバイダのプロビジョニングデータで置換されなければならない。典型的には、そのような変更は、新たに選択されたサービスプロバイダで新しいアカウントをアクティベートすることによってのみ行われうる。ユーザが後に、プライマリサービスのために元のサービスプロバイダの通信ネットワークに戻ることを望む場合、元のサービスプロバイダのネットワーク上の新しいアカウントがアクティベートされ、以前のアカウントデータが削除されなければならない。
いくつかの設定では、加入者識別モジュール(SIM)カードまたは類似のR-UIMカードなど、取り外し可能なスマートカードによって、サービスプロバイダが介在する必要なしに、モバイルデバイスにロードされたプロビジョニングデータをユーザが入替え可能にすることができる。複数の異なるサービスプロバイダのためのプロビジョニングデータが、取り外し可能なスマートカード上に格納されうる。各スマートカードは、異なるサービスプロバイダのためのプロビジョニングデータを格納する場合があるので、ユーザは、モバイルデバイス内のスマートカードを物理的に入れ替えて、プライマリサービスのために異なるサービスプロバイダネットワークを使用する場合がある。しかし、スマートカードを物理的に入れ替える必要があるため、ユーザは複数のスマートカードを携行することが必要となる。加えて、スマートカードの物理的な入替えは、煩雑である。最後に、スマートカードを使用してもなお、GSM技術のネットワーク上で動作するために必要なハードウェアを備えたモバイルデバイスが、CDMA技術のネットワーク上で動作可能にはならず、逆もまた同様である。
不揮発性メモリ内に、複数のサービスプロバイダのための必要なソフトウェアビルド(software builds)およびプロビジョニングデータパラメータを格納し、適切に装備されたモバイルデバイスがいくつかの異なるサービスプロバイダのうち任意のものにおいて動作可能となるようにするために、様々な実施形態の方法およびシステムが提供される。
このようなモバイルデバイスは、そのモバイルデバイスがすべての技術タイプ(GSMおよびCDMAを含む)のセルラーネットワークと通信することを可能とする、ソフトウェアベースの無線チップセットモジュールを含みうる。様々な実施形態はさらに、複数の異なるサービスプロバイダのソフトウェアビルドおよびプロビジョニングデータの間で切り替えるための方法、システムおよびデバイスを提供する。追加の実施形態は、モバイルデバイスのプログラミングにおいて競合の結果となりうる、複数のサービスプロバイダ接続マネージャの起動を防ぐ方法を提供する。
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的実施形態を例示し、上記の概要および下記の詳細な説明と共に、本発明の特徴を説明する役目を果たす。
様々な実施形態をサポート可能なモバイルデバイスの典型的なコンポーネントを示すブロック図である。 ソフトウェア無線ベースのチップセットモジュールを備えたモバイルデバイス内で動作する、ソフトウェアモジュールのハードウェア/ソフトウェアアーキテクチャ図である。 複数の異なるサービスプロバイダアカウントによって利用される動的パラメータの例示的データテーブルである。 複数の異なるサービスプロバイダアカウントによって利用される静的パラメータの例示的データテーブルである。 複数の異なるサービスプロバイダアカウントによって利用されるセキュリティパラメータの例示的データテーブルである。 選択されたサービスプロバイダのためのアカウントがアクティベートされていることを保証するために実装されうる、ステップ例を例示する処理フロー図である。 モバイルデバイスが様々なサービスプロバイダでアクティベーション手順を開始することを可能にする、通信システムのシステム図である。 複数のソフトウェアビルドが同じモバイルデバイス上で複数のサービスプロバイダアカウントをサポートすることをシームレスに可能にするための、一実施形態の処理を例示する処理フロー図である。 以前にアクティベートされていないサービスプロバイダアカウントのためのソフトウェアビルドをロードするために実装されうる、ステップ例を例示する処理フロー図である。 以前にアクティベートされたサービスプロバイダアカウントのためのソフトウェアビルドをロードするために実装されうる、ステップ例を例示する処理フロー図である。 選択されたサービスプロバイダでアクティブ/有効なアカウントを確認するための代替実施形態の方法の処理フロー図である。 選択されたサービスプロバイダでアクティブ/有効なアカウントを確認するための、別の代替実施形態の方法の処理フロー図である。 サービスプロバイダアカウントのインデックス付きデータテーブルがリモートの不揮発性メモリに格納される、代替実施形態の通信システムのシステム図である。 サービスプロバイダアカウントのインデックス付きデータテーブルがリモートの不揮発性メモリに格納される、別の代替実施形態の通信システムのシステム図である。 例示的接続マネージャトラッカーによって実装されうる処理を例示する処理フロー図である。 様々な実施形態での使用に適した一例のサーバのコンポーネントブロック図である。
添付の図面を参照して、様々な態様を詳細に説明する。可能な限り、同じまたは類似の部分を参照するために、図面の全体を通じて同じ参照番号が使用される。特定の例および実装に対して行われる参照は例示のためであり、本発明の範囲または特許請求の範囲を限定するように意図されるものではない。
本明細書において、「例示的」という用語は、本明細書では「1つの例、場合、または例示としての役割を果たす」という意味で使用される。本明細書で「例示的」として記載されたいかなる実装も、必ずしも他の実装よりも好ましい、または有利であると解釈されるべきではない。
本明細書で使用されるとき、「モバイルデバイス」という用語は、無線音声およびデータ通信のための通信モジュールを実装する、存在する場合があるか、あるいは将来開発されるような、いかなる形のプログラマブルなコンピュータをも包含するように意図されるものであり、例えば、携帯電話、携帯情報端末(PDA)、パームトップコンピュータ、ラップトップおよびノート型コンピュータ、無線電子メール受信器(例えば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応の携帯電話(例えば、iPhone(登録商標))、ならびに、無線通信モジュール、プロセッサおよびメモリを含む類似のパーソナル電子デバイスが含まれる。好ましい実施形態では、モバイルデバイスは、ソフトウェア無線ベースのチップセットモジュールを有するポータブルコンピュータである。
従来のモバイルデバイスは典型的には、単一のサービスプロバイダの通信ネットワーク上で動作するように設計されている。より具体的には、従来のモバイルデバイスは、単一の通信技術(例えば、GSM対CDMA)上で動作するように設計されている。例えば、携帯電話は典型的には、サービスプロバイダから直接、そのサービスプロバイダのネットワーク上で使用するために購入されている。同様に、ノート型コンピュータ用の無線モデムカードは典型的には、サービスプロバイダから直接売買される。競合する技術の間の基本的相違のため、一方の競合する技術における通信を可能とする、モバイルデバイス内に含まれたハードウェアは、同じモバイルデバイスが別の競合する技術のネットワークと通信することを妨げる。
また、2つの別々のサービスプロバイダが同じ通信技術を実装する場合があるにもかかわらず、複数の異なるサービスプロバイダはそれらの顧客に異なる機能セットを提供する場合がある。そのため、通信を可能とするハードウェアが同じである場合でも、あるサービスプロバイダの通信ネットワーク上での通信を可能とするソフトウェアは、異なるサービスプロバイダのものとは大きく異なる場合がある。したがって、サービスプロバイダ毎に異なるソフトウェアビルドがモバイルデバイス上に実装されなければならない。
加えて、ほとんどの従来のモバイルデバイスは、単一のサービスプロバイダのプロビジョニングデータをロードするように設計されている。競合するサービスプロバイダは独自のプロビジョニングデータを実装するので、あるサービスプロバイダの通信ネットワーク上で動作する従来のモバイルデバイスは、第1のサービスプロバイダのプロビジョニングデータを削除し、第2のサービスプロバイダのプロビジョニングデータで置換することなく、(プライマリサービスとして)別のサービスプロバイダの通信ネットワーク上で動作することはできない。いくつかのモバイルデバイスは、ユーザがスマートカードの入替えを通じて、複数の異なるサービスプロバイダのプロビジョニングデータを交換することを可能にするが、そのような方法は煩雑であり、なお、競合する技術の通信ネットワークをユーザが利用可能にはならない。
競合する技術の1つと共に、ハードウェアを使用して、信号の生成、符号化/復号化、および変調/復調を行う従来のモバイルデバイスとは対照的に、QualcommのGobi(登録商標)など、今後のソフトウェア無線ベースのチップセットモジュールは、プログラマブルなデジタル信号プロセッサ(DSP)内でデータ信号の生成、符号化/復号化、および変調/復調を行う。このプログラマブルなDSPは、任意の通信技術の波形、周波数およびデータパケット要件に準拠するように、通信信号がソフトウェアによって定義されることを可能とする。異なる特性を有する信号を生成するようにDSPを再プログラムすることによって、モバイルデバイスを、任意のサービスプロバイダの固有の通信ネットワークと互換性がある通信信号を生成するようにすることが可能である。
選択されたサービスプロバイダネットワークと互換性があるデータ信号を生成するように、ソフトウェア無線ベースのチップセット内のDSPを再プログラムするために、モバイルデバイスは、選択されたサービスプロバイダのための適切なソフトウェアビルドをロードしなければならない。各サービスプロバイダのソフトウェアビルドは、そのサービスプロバイダの通信ネットワークを介して適切に搬送されるデータ信号の生成、符号化および変調を行うために必要な命令を含み、ならびに、そのサービスプロバイダによって提供された追加の機能のすべてを実行するために必要なプログラミングを含む場合がある。様々な実施形態は、モバイルデバイス上で実装されたソフトウェアビルドの様々なモジュールを修正かつ切り替える機能を提供する。様々な実施形態は、サービスプロバイダのソフトウェアビルドの以前に生成されたパラメータを再利用できるように、モバイルデバイスによってアクティベートされたアカウントをどのサービスプロバイダが有していたかを監視する。他の実施形態は、現在実装されているサービスプロバイダソフトウェアビルドを監視して、異なるソフトウェアビルドが要求されるときに致命的な衝突の発生を防ぐ。
図1は、様々な実施形態をサポート可能なモバイルデバイス10の典型的なコンポーネントを示す。典型的なモバイルデバイス10は、内部メモリ192およびユーザインタフェースディスプレイ11に結合された、プロセッサ191またはデュアル(もしくはそれ以上の)プロセッサ191aおよび191bを含む。モバイルデバイス10はまた、複数のサービスプロバイダ通信ネットワークのうち任意のものにおいて動作可能である、ソフトウェア定義通信モジュール20を含んでもよい。ソフトウェア定義通信モジュール20は、選択されたサービスプロバイダのためのデバイスのソフトウェア動作の修正に使用するための、サービスプロバイダアカウントパラメータおよび設定のインデックス付きテーブルを格納する場合のある、不揮発性メモリ25およびファイルシステム26を含む場合がある。
モバイルデバイス10は、プロセッサ191に結合されたソフトウェア定義通信モジュール20に接続される、電磁放射を送受信するためのアンテナ194を含む場合がある。さらに、モバイルデバイス10は、可聴音を発生させるためのスピーカ18、および、ユーザの音声を受信するなど、音を検知するためのマイクロホン19を含む。マイクロホン19およびスピーカ18は共に、ボコーダ199を介してプロセッサ191に接続されてよく、ボコーダ199は、マイクロホン19から受信されたアナログ電気信号をデジタル符号に変換し、プロセッサ191から受信されたデジタル符号をアナログ電気信号に変換し、このアナログ電気信号をスピーカ18が音波に変換することができる。いくつかの実装では、ボコーダ199は、プロセッサ191の回路およびプログラミングの一部として含まれうる。モバイルデバイスはまた典型的には、ユーザ入力を受信するためのキーパッド13およびメニュー選択ボタンまたはロッカースイッチ12をも含む。
プロセッサ191は、下記の様々な実施形態の機能を含む、様々な機能を行うためのソフトウェア命令(アプリケーション)によって構成可能な、いかなるプログラマブルなマイクロプロセッサ、マイクロコンピュータまたはマルチプロセッサチップであってもよい。いくつかのモバイルデバイスでは、無線通信機能専用の1つのプロセッサ、および、他のアプリケーション実行専用の1つのプロセッサなど、複数のプロセッサ191が提供されうる。いくつかのモバイルデバイス10では、複数のプロセッサ191a、191bが、それらの間で無線通信機能および/またはアプリケーションを共有するために提供されうる。典型的には、ソフトウェアアプリケーションは、アクセスされ、プロセッサ191にロードされる前に、内部メモリ192に格納されうる。いくつかのモバイルデバイスでは、プロセッサ191は、アプリケーションソフトウェア命令を格納するために十分な内部メモリを含む場合がある。いくつかのモバイルデバイスでは、プロセッサ191は、信号発生器およびモデム回路に加えて、2つのプロセッサを含む、QualcommのGobi(登録商標)内など、ソフトウェア定義通信モジュール20内に含まれる。
図2は、ソフトウェア無線ベースのチップセットモジュールを備えたモバイルデバイス上のソフトウェアモジュールのハードウェア/ソフトウェアアーキテクチャ図である。図2に示すように、モバイルデバイス10は、QualcommのGobi(登録商標)など、ソフトウェア無線ベースのチップセット通信モジュール20(通信モジュール)を含む。通信モジュール20は、異なるサービスプロバイダパラメータ構成のインデックス付きテーブルを格納する場合のある、不揮発性メモリ25を任意選択で含んでもよい。代替実施形態では、インデックス付きデータテーブルはまた、そこから検索することができる、リモートの不揮発性メモリ(図示せず)に格納されてもよい。インデックス付きデータテーブルの一例は、以下の図3により詳細に示される。インデックス付きデータテーブルに格納された様々なパラメータは、モバイルデバイスがサブスクライブしているアカウントをサポートするサービスプロバイダ毎に、特定のソフトウェアビルドをコンパイルするとき、使用されうる。各サービスプロバイダは固有のソフトウェアビルドを実装する場合があるので、各サービスプロバイダアカウントのためのパラメータはしばしば、他のサービスプロバイダアカウントとは異なる。多くの場合、あるサービスプロバイダのためのソフトウェアビルドにおいて使用されたパラメータは、異なるフォーマットである場合があり、あるいは、異なるサービスプロバイダによってまったく使用されない場合がある。
プロセッサ191で機能するマルチインタフェースソフトウェアモジュール30は、通信モジュール20および共通アプリケーションプログラミングインタフェース(C-API)40と通信している。マルチインタフェースソフトウェアモジュール30は、C-API 40を介してアプリケーションによって求められた様々なサブルーチンのための実際のコーディングを含む。モバイルデバイス10のためのアプリケーションの開発者は、C-API 40を利用して、マルチインタフェースモジュール30に格納された様々なサブルーチンにアクセスし、あるいはそれとインタフェースして、所望の機能を行うことができる。マルチインタフェースモジュール30に格納されたサブルーチンは、通信モジュール20からの情報のプログラミングおよび検索を含む、様々な機能を行うために使用されうるが、それらに限定されない。C-API 40は、いくつかのダイナミックリンクライブラリ(DLL)45を含む場合がある。いくつかのダイナミックリンクライブラリ45を含むことによって、C-API 40は、特定のサービスプロバイダのために通信モジュール20をプロビジョンするために、マルチインタフェースモジュール30との間でフックを使用する場合がある。共通サブルーチンの動的にリンクされたライブラリを利用することによって、選択されたサービスプロバイダのための適切なサブルーチンは、コンパイル時ではなく実行時に、アプリケーションプログラムにロードされうる。
サービスプロバイダのためのアカウントがモバイルデバイス10上でアクティベートされるとき、そのアカウントをサポートするDLL 45がC-APIにロードされ、今後の検索のために格納される。モバイルデバイス10上でアクティベートされた様々なサービスプロバイダの各々は、サービスプロバイダのソフトウェアビルドおよびプロビジョニングデータのロードを容易にするために、そのそれぞれのDLLを使用する、特定のサービスプロバイダに特有のアプリケーションプログラミングインタフェースをロードする場合がある。DLL 45の各々は、マルチインタフェースソフトウェアモジュール30と通信するようにプログラムされうる。C-API 40は、接続マネージャトラッカー50と、あるいは、サービスプロバイダの接続マネージャと直接、通信している。接続マネージャトラッカー50は、事実上「交通警官」の役割を果たし、一度に単一のサービスプロバイダのソフトウェアビルドのみがモバイルデバイス10上に実装されることを保証する。接続マネージャトラッカー50は、どのサービスプロバイダアカウントが選択されるかを決定し、選択されたサービスプロバイダアカウントに対応するソフトウェアビルドのみが実装されることを保証する。現在実装されているソフトウェアビルドによってサポートされていないサービスプロバイダアカウントが選択される場合、接続マネージャトラッカー50は、新たに選択されたサービスプロバイダアカウントに対応するソフトウェアビルドが起動される前に、現在実装されているソフトウェアビルドが閉じられることを保証してもよい。接続マネージャトラッカー50は、モバイルデバイス10上でアクティベートされた各サービスプロバイダアカウント(SP1、SP2、SP3)をサポートする個々の各接続マネージャ61、62、63と通信している。各接続マネージャ61、62、63は、DLL 45から適切なサブルーチンをロードし、不揮発性メモリ25に格納された適切なパラメータを検索することによって、対応するソフトウェアビルドを起動することを担う。
代替実施形態では、モバイルデバイス10は、複数のサービスプロバイダアカウント(SP1、SP2、SP3)のための通信リンクを設定することができる中央アプリケーションである、共通接続マネージャ60を実装してもよい。このような実施形態では、接続マネージャトラッカー50は共通接続マネージャ60内に一体化されてもよく、あるいは、外部接続マネージャトラッカー50と通信し続けて、一度に単一のサービスプロバイダのソフトウェアビルドのみがモバイルデバイス10上に実装されることを保証してもよい。
図3、4および5は、様々なサービスプロバイダアカウントによって利用される動的、静的およびセキュリティパラメータの例示的インデックス付きデータテーブルを例示する。図3、4および5に示すように、サービスプロバイダアカウントに関連付けられたデータは、サービスプロバイダに関連付けられた複数のレコード(すなわち、列)を含むテーブルとして編成される場合があり、各レコードは、各サービスプロバイダに関連付けられたデータ設定を格納する複数のデータフィールド(すなわち、図3、4および5の行)を含む場合がある。図3、4および5の例示的データテーブルは、4つのサービスプロバイダ(すなわち、サービスプロバイダ1、サービスプロバイダ2、サービスプロバイダ3およびサービスプロバイダ4)のみを例示する。しかし、追加のサービスプロバイダをリストする追加の列が含まれてもよいことは、当業者には理解されよう。実際には、データテーブルは、世界中で運営されているあらゆるサービスプロバイダを含んでもよい。また、モバイルデバイス10が同じサービスプロバイダの通信ネットワーク上で複数のアカウントを維持する場合、サービスプロバイダ毎に複数の列が含まれてもよい。
サービスプロバイダ毎に、それぞれのサービスプロバイダの最初のアクティベーション処理中に生成される様々なパラメータおよび設定が、データフィールド(図3、4および5では、行として例示される)に格納されうる。図3は、様々なサービスプロバイダアカウントによって利用される動的パラメータの例示的インデックス付きデータテーブルを例示する。例えば、各サービスプロバイダは、異なるアクティベーションのモードを指定する場合がある。その名前が示すように、アクティベーションのモードは、特定のサービスプロバイダによって採用されるアクティベーション手順のタイプを示す。異なるタイプのアクティベーション手順には、例えば、無線サービスプロビジョニング(Over-the-Air Service Provisioning)(OTASP)手順、無線インターネット(Internet Over-the Air)(IOTA)手順、または、オープンモバイルアライアンスデバイス管理(Open Mobile Alliance Device Management)(OMADM)手順が含まれうる。これらの各手順は、そのアクティベーション手順を実施するために異なるステップおよび/またはプロトコルを実装する場合がある。
データテーブルはまた、サービスプロバイダ毎にネットワークアクセス識別子(NAI)を指定してもよい。NAIは、データサービスのためにデバイスを認証するために使用された、モバイルデバイス10に割り当てられたユーザ名である。各サービスプロバイダは、固有のフォーマットをユーザ名に割り当てる場合がある。例えば、サービスプロバイダ1は、サービスプロバイダ1の名称をユーザ名毎のドメインとして使用する。別法として、サービスプロバイダ2は、「hcm.SP2.com」をドメイン名として利用する。場合によっては、サービスプロバイダは、複数のNAIを同じモバイルデバイス10に割り当ててもよい。例えば、図3に示すように、サービスプロバイダ2およびサービスプロバイダ4は、複数のNAIを同じモバイルデバイス10に割り当てる場合がある。NAIのフォーマットは、異なるサービスプロバイダの間のみでなく、同じサービスプロバイダによって割り当てられた様々なNAIの間でも異なる場合がある。また、図3に示すように、サービスプロバイダ1およびサービスプロバイダ3など、他のサービスプロバイダは、単一のNAIのみを各モバイルデバイス10に割り当てる場合がある。複数のNAIは、MIPユーザプロファイルNによって区別可能であり、ただし、N={0,1,2,3,...}である。よって、図3は、いくつかのサービスプロバイダが2つのNAI(すなわち、N={0,1})を割り当てることを示すが、場合によっては、追加のユーザプロファイルが割り当てられてよい。
データテーブルはさらに、モバイルノード-ホームエージェント(MN-HA)共有秘密を指定してもよく、これはパスワードとも呼ばれる。MN-HAパスワードは、モバイルIPホームエージェントでモバイルデバイス10を認証するために使用されうる。各サービスプロバイダは、固有のフォーマットをユーザ名に割り当てる場合がある。例えば、サービスプロバイダ3は、認証キー(Akey)の最初の16桁を使用するが、サービスプロバイダ4は、8文字の疑似ESN(pESN)を使用する。さらなる例として、サービスプロバイダ2は、「hcm.SP2.com」をドメイン名として利用する。NAIと同様に、図3にサービスプロバイダ2およびサービスプロバイダ4について示すように、サービスプロバイダは複数のMN-HAパスワードを同じモバイルデバイス10に割り当ててもよい。また、図3に示すように、サービスプロバイダ1およびサービスプロバイダ3など、他のサービスプロバイダは、単一のMN-HAパスワードのみを各モバイルデバイス10に割り当ててもよい。
データテーブルはさらに、課金サーバ(図示せず)に対してモバイルデバイス10を認証する、モバイルノード-認証、認可および課金(Authentication, Authorization, and Accounting)(MN-AAA)共有秘密(パスワード)を指定してもよい。ここでもまた、各サービスプロバイダは、異なる特定のフォーマットを使用する場合がある。加えて、各サービスプロバイダは、エントリ毎に異なる値を利用する場合がある。MN-HAパスワードおよびNAIと同様に、サービスプロバイダは、複数のMN-AAAパスワードを各モバイルデバイス10に割り当てることを選択してもよい。
加えて、データテーブルは、シンプルIP認証、認可および課金NAI(SIP AAA NAI)など、他のパラメータおよび設定を指定してもよく、これは時として、シンプルIPユーザ名と呼ばれる。データテーブルはさらに、シンプルIPパスワードである、シンプルIP認証、認可および課金パスワード(SIP AAAパスワード)を指定してもよい。他のパラメータには、図示されないシンプルパラメータインデックス(SPI)が含まれる場合がある。すべてのタイプのパラメータおよび設定がすべてのサービスプロバイダによって使用されるわけではないことに留意されたい。例えば、サービスプロバイダ2および4は、MN-HA共有秘密-スロット1のためのパラメータを利用するが、サービスプロバイダ1および3は、このようなパラメータを利用しない。いくつかのサービスプロバイダでは、このような利用されないパラメータに対して、インデックス付きデータテーブルに値が記録されない場合がある。他の場合には、このような値のためのプレースホルダとして、ヌル値が格納されてもよい。
図4は、図3に示されたもの以外の、例示的インデックス付きデータテーブル内の追加のデータエントリ例を例示する。例えば、各サービスプロバイダは、異なるモバイルノードオーセンティケータ(MNオーセンティケータ)を指定する場合がある。図4に示された例では、サービスプロバイダ1のみがこのパラメータのための値を必要とする。図4のデータテーブルはまた、モバイルノードホームアドレスSPIセット(MN HA SPIセット)、MN HA SPI値、MN AAA SPIセット、MN AAA SPI値、リバーストンネリング、QNC有効、ホームアドレス、プライマリHAアドレス、セカンダリHAアドレス、新規登録リトライ間隔時間、登録リトライ数、DS MIP登録解除リトライ、および有効期間終了前-再登録時間について、サービスプロバイダによって指定された様々なフォーマットまたは値をも示す。
図5は、図3および4に示されたもの以外の、例示的インデックス付きデータテーブル内の追加のデータエントリ例を例示する。図5のデータテーブルはまた、SPC、ワンタイムキーパッド補助ロック(One Time Keypad Subsidy Lock)(OTKSL)、不正確サービスプログラミングコード(SPC)試行数、フィールドサービスコード、Akeyチェックサム、シンプルメッセージサービス(SMS)サポートに対して、サービスプロバイダが使用する場合のあるフォーマットまたは値の例をも示す。
図3、4および5に示すインデックス付きデータテーブルにリストされたパラメータおよび設定は、例示的に過ぎないものであり、異なるサービスプロバイダによって利用かつ実装される可能性のあるフォーマットおよび値の例を提供することを目的とする。サービスプロバイダは、インデックス付きデータテーブルに反映されうる、それらの様々なソフトウェアビルドにおいて利用されるいくつかの他のパラメータおよび設定を採用してもよいことは、当業者には理解されよう。
ユーザがモバイルデバイス10上で通信を開始することに決めるとき、ユーザは、選択されたサービスプロバイダアカウントに対応する接続マネージャ(例えば、60、61、62、63)を起動することによって、その通信をサポートするためのサービスプロバイダアカウントを選択する場合がある。モバイルデバイス10が携帯電話である場合、サービスプロバイダアカウントは典型的には常に実行中である。しかし、モバイルデバイス10がノート型コンピュータ内の無線モデムカードである場合、サービスプロバイダアカウントは典型的には、通信機能が求められない限り、実行中ではない。通信を開始するために、ユーザは、サービスプロバイダの独立した接続マネージャを起動する場合がある。別法として、ユーザは、共通接続マネージャによって生成された、ユーザインタフェースディスプレイ内に提示されたいくつかのサービスプロバイダの選択範囲から、特定のサービスプロバイダを選択してもよい。新しいサービスプロバイダアカウントを選択するために、同様のメニューが携帯電話上に提供されてもよく、ノート型コンピュータでの接続マネージャの起動に類似するものとなる。所望のサービスプロバイダアカウントに対応する接続マネージャ(60、61、62、63)を起動することによって、接続マネージャ(60、61、62、63)は直接、あるいは接続マネージャトラッカー50を通じてC-API 40と通信して、選択されたサービスプロバイダネットワーク上での通信に必要なソフトウェアビルドを完成させるために必要な、DLL 45に含まれた必要なサブルーチンの各々を呼び出す。加えて、C-API 40は、DLL 45にアクセスして、マルチインタフェースモジュール30を介して不揮発性メモリ25および/またはファイルシステム26に格納された必要なパラメータを検索してもよい。必要なパラメータは、インデックス付きデータテーブルに格納される。そのデータテーブルは、以前に最初のサービスプロバイダアカウントのアクティベーション手順中に生成されている、選択されたサービスプロバイダアカウントのための割り当てられたパラメータの各々を含んでもよい。
図2に戻って参照すると、場合によっては、モバイルデバイス10には、相手先商標製品の製造会社の(OEM)ソフトウェアパッケージの一部として、様々な接続マネージャ(61、62、63)がロードされうる。これらの接続マネージャ(61、62、63)は、モバイルデバイス上にロードされた個々の接続マネージャであってもよく、あるいは、共通接続マネージャプログラム60上で可能な選択であってもよい。そのような場合、ユーザは、接続マネージャ/選択の各々に対応するサービスプロバイダのいずれか/すべてでサービスプロバイダアカウントを確立していない可能性がある。したがって、モバイルデバイス10は、選択されたサービスプロバイダのみによって規定されるようなデフォルトパラメータをプロビジョンされる場合がある。そのため、ユーザが、モバイルデバイス10のために関連付けられたサービスプロバイダアカウントを有していないサービスプロバイダのための接続マネージャを起動するとき、エラーが発生するようになり、これは、有効なサブスクリプションの必要なパラメータがインデックス付きデータテーブルに格納されるようにならないからである。したがって、接続マネージャ/選択が起動されるたびに、選択されたサービスプロバイダのためにアカウントがアクティベートされているかどうかを判定するためのテストが行われてもよい。
図6は、選択されたサービスプロバイダ上のアカウントがアクティベートされているかどうかを判定するために、接続マネージャが起動されるたびにモバイルデバイス10上で実装されうる処理を例示する。ユーザが、選択されたサービスプロバイダのための接続マネージャの起動を試行するとき、ステップ101で、その要求がプロセッサ191によって受信される。選択されたサービスプロバイダのための接続マネージャを起動するための要求を受信すると、判断105で、プロセッサ191は、アカウントが、選択されたサービスプロバイダのために以前にアクティベートされているかどうかを判定する場合がある。この判定処理は、各サービスプロバイダに関連付けられたアクティベーションフラグの状況をチェックすることによって、実施されうる。別法として、この判定は、選択されたサービスプロバイダのための、インデックス付きデータテーブル(図3〜5を参照)に格納されたパラメータ値をチェックすることによって、実施されうる。インデックス付きデータテーブルに格納されたパラメータ値がないか、あるいはデフォルト値である場合、アクティベーション手順は完了されていないと仮定されうる。プロセッサ191が、アカウントがモバイルデバイス10上で以前にアクティベートされていると判定する(すなわち、判断105=イエスである)場合、ステップ110で、プロセッサ191は、選択されたサービスプロバイダに対応するソフトウェアビルドをロードあるいはコンパイルしながら、インデックス付きデータテーブルに格納されたパラメータ値を検索し、これらの値を実装する。アカウントがアクティベートされている場合、選択された接続マネージャは、続けて、C-API 40に、DLL 45を介してマルチインタフェースモジュール30内の必要なサブルーチンを呼び出すように要求し、不揮発性メモリ25および/またはファイルシステム26内のインデックス付きデータテーブルから、格納されたパラメータを検索して、適切なソフトウェアビルドを実装する場合がある。
しかし、プロセッサ191が、選択されたサービスプロバイダのためのアカウントが以前にアクティベートされていないと判定する(すなわち、判断105=ノーである)場合、ステップ115で、プロセッサは、選択されたサービスプロバイダのために必要なソフトウェアビルドパラメータのすべてを取得するために、適切なアクティベーション手順を開始する。これらのパラメータ値が取得され、インデックス付きデータテーブルに格納された後、ステップ120で、選択されたサービスプロバイダ上でアカウントがアクティベートされていることを示すアクティベーションフラグが任意選択で設定されてもよい。
モバイルデバイス10が、選択されたサービスプロバイダでアカウントを最初にアクティベートするとき、開始されるアクティベーション手順のタイプは、選択されたサービスプロバイダによって決まるようになる。よって、個々のサービスプロバイダ毎に必要とされるアクティベーション手順のタイプもまた、インデックス付きデータテーブルに格納されてもよい。例えば、いくつかのサービスプロバイダは、モバイルデバイス10が無線サービスプロビジョニング(OTASP)手順、無線インターネット(IOTA)手順、またはオープンモバイルアライアンスデバイス管理(OMADM)手順を開始することを必要とする場合がある。
OTASP手順では、モバイルデバイス10は、指定された番号(例えば、*228)に無線で電話をかけることを対象とする場合がある。モバイルデバイス10は、サービスプロバイダのネットワーク上で無制限の通信を実施するために十分なパラメータデータを有していない場合があるが、モバイルデバイス10は、最初のアクティベーションの目的で、選択されたサービスプロバイダのアクティベーションサーバに接触するために、制限された通信を実施するために十分なパラメータデータで、OEMによってプログラムされうる。サービスプロバイダのアクティベーションサーバに接続された後、モバイルデバイス10は、サービスプロバイダのアクティベーションサーバから、モバイルデバイス10上で適切なソフトウェアビルドを構成するために使用される、様々なパラメータおよび設定を受信する。パラメータおよび設定の一部には、モバイル識別番号(MIN)、好ましいローミングリスト(PRL)、ならびに、共にモバイルデバイスの電話番号と呼ばれる場合のあるモバイルディレクトリ番号(MDN)および移動局識別子(MSID)が含まれる場合がある。OTASP手順が完了した後、モバイルデバイス10は、ユーザ名および/またはパスワードを生成することによって、サービスプロバイダに対してモバイルデバイス10を認証する、認証パラメータ生成手順を開始することが求められる場合がある。同様に、IOTA手順では、モバイルデバイスは、MINおよびMSIDなど、パラメータおよび設定を受信する場合がある。しかし、別個の認証処理を行うのではなく、IOTA処理はまた、パスワードおよびユーザ名を生成し、モバイルデバイス10に割り当てる。いずれかのアクティベーション処理が完了した後、アクティベーション手順中に受信されたパラメータおよび設定は、不揮発性メモリ25内のインデックス付きデータテーブルに格納される場合がある。
図7は、モバイルデバイス10が様々なサービスプロバイダでアクティベーション手順を開始することを可能にする、例示的通信システムを例示する。図7は、例示のため、2つのサービスプロバイダ125、130を含み、多数のサービスプロバイダがこの実施形態の通信システムに含まれうる。サービスプロバイダでアクティベーション手順を無線で開始するため、モバイルデバイス10は、サービスプロバイダの通信ネットワーク100、102にアクセスし、アクティベーションサーバ125a、130aと接続するために、十分なソフトウェアおよびプロビジョニングデータを有していなければならない。したがって、OEMは、モバイルデバイスが1つまたは多数のサービスプロバイダのアクティベーションサーバ125a、130aに接触することを可能にするために、十分なソフトウェアおよびプロビジョニングデータをロードする場合がある。OTASP/IOTA/OMADM手順を開始するために特別な番号(例えば、*228)をダイヤルすることによって、アクティベーションサーバ125a、130aにアクセス可能である。
別法として、OEMによって、必要最小限のソフトウェアおよびプロビジョニングデータがモバイルデバイス10上にロードされない場合、モバイルデバイス10は、有線通信ネットワーク104を通じた有線接続を介して、サービスプロバイダのアクティベーションサーバ125a、130aによって維持された、指定された電話番号またはウェブサイトURLを通じて接続して、アクティベーション手順を開始してもよい。サービスプロバイダのアクティベーションサーバ125a、130aに接続された後、モバイルデバイス10は、移動交換局125b、130bを通じて、サービスプロバイダのプロビジョニングサーバ125c、130cに接続される場合がある。アクティベーション処理の一部として、モバイルデバイス10の固有のシリアルナンバー(例えば、移動体装置識別番号(MEID)および国際移動体装置識別番号(IMEI))が、選択されたサービスプロバイダでのアカウントとの関連付けのために、サービスプロバイダのプロビジョニングサーバ125c、130cへ送信される場合がある。それに対して、サービスプロバイダプロビジョニングサーバ125c、130cは、サービスプロバイダネットワーク上で動作するために必要な様々なパラメータおよび設定を送信する場合がある。別法として、サービスプロバイダプロビジョニングシステムは、外部サーバと通信して、パラメータを取得する場合があり、逆もまた同様である。このようなパラメータおよび設定は、不揮発性メモリ25内のインデックス付きデータテーブルに格納される場合がある。加えて、選択されたサービスプロバイダのソフトウェアビルドのための必要なサブルーチンを含むDLL 45が、モバイルデバイス10に送信される場合がある。
モバイルデバイス10が、サービスプロバイダプロビジョニングサーバ125c、130cから、必要なパラメータ、設定、およびDLL 45のすべてを受信した後、選択されたサービスプロバイダのための接続マネージャが、モバイルデバイスのプロセッサ191内で起動される場合がある。コンピュータまたはアドオンカードに埋め込まれたモジュールの場合、接続マネージャは、モジュールが内部に埋め込まれるか、あるいはモジュールが接続されるコンピュータ内で、起動されてもよい。上述のように、起動された接続マネージャは、メモリ内の対応するソフトウェアビルドファイルをポイントする場合がある。ソフトウェアビルドファイルは、完成されたソフトウェアビルドをコンパイルするために必要とされた、必要な命令およびサブルーチンのすべてを含む場合がある。ソフトウェアビルドファイルは、DLL 45内で見つかった必要なサブルーチン、および、不揮発性メモリ25に格納されるインデックス付きデータテーブル内で見つかった、選択されたサービスプロバイダに関連付けられたパラメータを呼び戻して、選択されたサービスプロバイダの通信ネットワーク上で通信を実施するために、適切なソフトウェアビルドの動きを修正する場合がある。
図8は、サービスプロバイダアカウントを変更するために、異なるソフトウェアビルドによりモバイルデバイス10を再プログラムするための、実施形態のステップの処理フロー図である。ユーザがモバイルデバイス10上で通信を開始することに決めるとき、ユーザは、選択されたサービスプロバイダアカウントに対応する接続マネージャ(例えば、61、62、63)を起動することによって、その通信をサポートするためのサービスプロバイダアカウントを選択する場合がある。モバイルデバイス10が無線電話である場合、サービスプロバイダアカウントは典型的には常に実行中である。よって、メニューがユーザインタフェースディスプレイ上で提示され、ユーザに新しいサービスプロバイダを選択するように促してもよい。メニュー表示に応答して、ステップ101で、プロセッサ191は、ユーザから、新しいサービスプロバイダアカウントへ切り替えるための要求を受信する場合がある。例えば、新しいサービスプロバイダアカウントへ切り替えるための要求は、ユーザ操作によって新しい接続マネージャが起動されるか、あるいは、異なるサービスプロバイダがユーザによって共通接続マネージャから選択されるとき、受信されうる。判断131で、プロセッサ191は任意選択で、ユーザがサービスプロバイダ(SP)アカウントを切り替える意図があることを確認するように、ユーザに要求する表示を提示する場合がある。ユーザの意図を確認することによって、モバイルデバイス10上に現在実装されているソフトウェアビルドに対する、望まれない、あるいは意図的でない変更が回避されうる。
ユーザがこの問い合わせに対して否定の応答をする(すなわち、判断131=ノーである)場合、ステップ135で、プロセッサ191は、起動された接続マネージャ(61、62、63)を閉じるか、あるいは、その接続マネージャを共通接続マネージャ60から選択解除する。接続マネージャが閉じられるか、あるいは選択解除された後、ステップ155で、プロセッサ191は、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。
ユーザがサービスプロバイダアカウントを切り替える意図を確認する(すなわち、判断131=イエスである)場合、判断140で、プロセッサ191は、選択されたサービスプロバイダでのアカウントが以前にアクティベートされているかどうかを判定する。一実施形態では、選択されたサービスプロバイダにおいてアカウントが以前にアクティベートされている場合、フラグがメモリ内に設定されてもよい。このフラグは、サービスプロバイダソフトウェアパラメータのインデックス付きデータテーブルに個別に記録されうる。フラグに加えて、他のインジケータが、選択されたサービスプロバイダでのアカウントが以前にアクティベートされているかどうかを示すために使用されうる。例えば、代替実施形態では、プロセッサ191は、サービスプロバイダソフトウェアパラメータのインデックス付きデータテーブルに格納されたモバイル識別番号(MIN)のフォーマットをチェックしてもよい。MINは、サービスプロバイダが個々のモバイルデバイスを識別するために使用する、各モバイルデバイスに固有の10桁の番号である。典型的には、アカウントがサービスプロバイダでアクティベートされた後、MINフォーマットが、その元の製造業者のフォーマットである000-000-WXYZから改変されるようになる。元の製造業者のフォーマットが存在する場合、モバイルデバイス10上でアクティベートされた以前のアカウントはない。
選択されたサービスプロバイダでのアカウントが以前にアクティベートされていない(すなわち、判断140=ノーである)場合、ステップ145で、プロセッサ191は、アクティベートされていない選択されたサービスプロバイダのためのソフトウェアビルドをロードする。ソフトウェアビルドがロードされた後、モバイルデバイス10は、選択されたが以前にアクティベートされていないサービスプロバイダネットワーク上で、アクティベーションを試行する場合がある。アクティベーションが成功した(すなわち、判断146=イエスである)場合、ステップ150で、選択されたサービスプロバイダでのアカウントがアクティベートされていることを示すフラグが設定されうる。選択されたサービスプロバイダでのアカウントがアクティベートされていることを示すフラグの設定後、コールが続行する場合があり、ステップ155で、プロセッサ191は、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。ステップ145のアクティベーションが成功しなかった(すなわち、判断146=ノーである)場合、プロセッサ191は、選択されたが以前にアクティベートされていないサービスプロバイダのためのアカウントのアクティベートを成功させようとして、ステップ145(図9に例示された処理フロー図も参照)を繰り返す場合がある。代替実施形態では、ステップ147で、プロセッサ191は、失敗したアクティベーションの試行をユーザに通知し、ユーザがアクティベーションの試行を繰り返すことを望むかどうか、問い合わせてもよい。ユーザがアクティベーションの試行を継続することに決める(すなわち、判断147=イエスである)場合、プロセッサは、選択されたが以前にアクティベートされていないサービスプロバイダのためのアカウントのアクティベートを成功させようとして、ステップ145(図9に例示された処理フロー図も参照)を繰り返す。しかし、ユーザがアクティベーションの試行をキャンセルすることに決める(すなわち、判断147=ノーである)場合、ステップ155で、プロセッサ191は、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。
プロセッサ191が、サービスプロバイダソフトウェアパラメータのインデックス付きデータテーブルに格納されたモバイル識別番号(MIN)のフォーマットをチェックして、アカウントが以前にアクティベートされているかどうかを判定する場合がある(すなわち、判断140)代替実施形態では、MINのフォーマットは、ステップ145のソフトウェアビルドのロード中に、元の製造業者フォーマットから既に改変されているようになる。したがって、ステップ150は必要でなくなる。
プロセッサ191が、選択されたサービスプロバイダでのアカウントが以前にアクティベートされていると判定する(すなわち、判断140=イエスである)場合、ステップ160で、プロセッサ191は、選択されたサービスプロバイダのソフトウェアビルドをロードする場合がある。ソフトウェアビルドがロードされた後、ステップ165で、プロセッサ191は、不揮発性メモリから、サービスプロバイダアカウントのインデックス付きデータテーブルに以前に格納された様々なパラメータおよび設定を検索する。場合によっては、選択されたサービスプロバイダに対して、アカウントがモバイルデバイス10上で以前にアクティベートされたが、アクティベートされたサービスプロバイダアカウントが無効になっているか、あるいは放棄されている場合がある、ということがありうる。このことは、例えば、サービスのための試しのサブスクリプションが提供されるか、あるいは、ユーザが一時的に、選択されたサービスプロバイダを、コールをサポートするためにもはや利用しないことに決めるとき、起こり得る。したがって、選択されたサービスプロバイダに対して、アカウントがまだアクティブ/有効であることを確認することが必要である場合がある。
一実施形態では、判断170で、プロセッサ191は、選択されたサービスプロバイダにおける前のアカウントが以前にアクティブであったこと、および、この以前にアクティベートされたアカウントに切り替えることをユーザが望むことを、ユーザに確認するように要求してもよい。選択されたサービスプロバイダにおける前のアカウントが以前にアクティブであったこと、および、この以前にアクティベートされたアカウントに切り替えることをユーザが望むことを、ユーザが確認する(すなわち、判断170=イエスである)場合、プロセッサ191は、選択されたサービスプロバイダアカウントを実装して、そのデータコールをサポートし、ステップ155で、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する。
場合によっては、ユーザは、選択されたサービスプロバイダでのアカウントを以前にアクティベートしているが、意図的に、あるいは意図的でなく、以前にアクティベートされたサービスプロバイダアカウントを放棄している場合がある。よって、意図的な放棄の場合、ユーザは、以前にアクティベートされたサービスプロバイダアカウントがもはやアクティブではないと示してもよい(すなわち、判断170=ノー)。別法として、意図的でない放棄の場合、ユーザは単に、選択されたサービスプロバイダアカウントにおけるアカウントがアクティブであるかどうかを知らない場合がある。したがって、ユーザが、以前にアクティベートされたアカウントへ切り替えたい希望を確認しない(すなわち、判断170=ノーである)場合、プロセッサ191は、以前にアクティベートされていないサービスプロバイダのためのソフトウェアビルドをロードする処理を完了する。多数のサービスプロバイダは、モバイルデバイス10が単一のサービスプロバイダで使用されることを期待するので、いくつかのサービスプロバイダソフトウェアビルドは、モバイルデバイス10がその元の工場出荷時の設定およびパラメータ値に設定されることを期待する。したがって、ステップ175で、プロセッサ191は、モバイルデバイス10をその元の工場出荷時の設定およびパラメータ値にリセットする場合がある。モバイルデバイス10が元の工場出荷時の設定およびパラメータ値にリセットされた後、ステップ176で、プロセッサ191は、判断140で使用された、選択されたサービスプロバイダでの以前のアクティベーションを示すフラグをリセットし、アカウントアクティブ状況が判定されない(すなわち、選択されたサービスプロバイダでのアカウントがアクティベートされている(判断140=イエスである)が、ユーザがアクティベーションを確認できていない(判断170=ノーである))とき、選択されたサービスプロバイダのためのアクティベーション状況がクリアされるようにする。選択されたサービスプロバイダでのアカウントが以前にアクティベートされていることを示すフラグをリセットすることにより、次にサービスプロバイダが選択されるとき、ユーザが、選択されたサービスプロバイダでのアカウントをアクティベートすることが必要となる。これは、次にプロセッサが判断140に達する
とき、リセットフラグが「ノー」の出力を生じるからである。エンドユーザは必要に応じて、アクティベーション/再アクティベーションのために、選択されたサービスプロバイダの顧客サービスに連絡を取らなければならない場合があることは、当業者には理解されよう。
プロセッサ191が、サービスプロバイダソフトウェアパラメータのインデックス付きデータテーブルに格納されたモバイル識別番号(MIN)のフォーマットをチェックする代替実施形態では、ステップ176は不要であってもよく、したがって、実施形態はそのようなフラグを利用しない。加えて、ステップ175がモバイルデバイスをその元の工場設定およびデフォルトに予めリセットするので、インデックス付きデータテーブルに格納された、選択されたサービスプロバイダのためのMINエントリは、その元の製造業者のフォーマットである000-000-WXYZに戻るようにリセットするようになる。そのため、代替実施形態では、次にサービスプロバイダが選択されるとき、ユーザが、選択されたサービスプロバイダでのアカウントをアクティベートすることが必要となる。
ソフトウェアビルドがロードされ、工場出荷時のパラメータがリセットされ(ステップ175)、いかなる必要なフラグのリセット、データの削除またはMINのリセット(ステップ176)の後にも、プロセッサ191は、選択されたサービスプロバイダアカウントを実装して、そのデータコールをサポートし、ステップ155で、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する。
選択されたサービスプロバイダのためのアカウントが現在アクティブであり、かつ、コールをサポートすることができるかどうかを確認するための代替実施形態が、図11および12に関して、以下でより詳細に説明される。
図9は、以前にアクティベートされていないサービスプロバイダアカウントのためのソフトウェアビルドをロードする(図8のステップ145)ために実装されうる、ステップ例を例示する処理フロー図である。特定のサービスプロバイダが選択された後(図8のステップ101)、ステップ201で、プロセッサ191は、選択されたサービスプロバイダのための必要なAPIおよびDLLを実装する。モバイルデバイス10が様々なサービスプロバイダでアクティベーション手順を行い、アカウントをセットアップするとき、各サービスプロバイダに関連付けられたソフトウェアビルドが、後の検索のためにメモリに格納されうる。ソフトウェアビルドは、迅速かつ効率的な検索のために適切なソフトウェアビルドファイルをプロセッサが迅速に探し出せるように、ディレクトリ内にセットアップされうる。例えば、新しいビルドの各々が、サービスプロバイダ名および/またはアカウント名が互いに異なるファイル名で、モバイルデバイスメモリ192に格納されうる。格納されたソフトウェアビルドは、以前にアクティベートされていないサービスプロバイダアカウントのためのものであるので、それらのソフトウェアビルドと共に格納されたパラメータおよび設定のすべては、デフォルトパラメータおよび設定である。これらのデフォルトパラメータおよび設定は、サービスプロバイダの要件に従ったものであるべきである。デフォルトパラメータおよび設定は、アクティベーション処理中に更新されうる。加えて、プロセッサが、選択されたサービスプロバイダのための必要なAPIおよびDLLを実装するとき(ステップ201)、プロセッサ191はまた、各サービスプロバイダに特有の追加の手順を行い、デバイスへのソフトウェアビルドおよびパラメータのロードが成功することを保証する場合もある。
新しいソフトウェアビルドが探し出され、検索された後、ステップ202で、ダウンロードサービスがリセットされる。一実施形態では、ダウンロードサービスリセット処理は、Windows(登録商標)サービス再起動であってもよい。ダウンロードサービスは、APIコールによって停止かつ再起動されうる。ダウンロードサービスは、構成ファイルを読み取る場合がある。構成ファイルは、特定のサービスプロバイダのためのソフトウェアビルドへのパス、および、モバイルデバイス10によってそのサービスプロバイダのネットワーク上で動作するために必要とされる他のファイルを含む場合がある。ダウンロードサービスは、再起動時にこの構成ファイルを読み取る場合がある。したがって、構成ファイル内の新しい変更が実施されうるように、ダウンロードサービスがリセット/再起動される必要のある場合がある(ステップ202)。
次にステップ204で、必要なファイルが拡張ファイルサービス(EFS)に書き込まれるか、あるいはそこから削除される場合がある。必要なファイルは、モバイルデバイス10の初期製造中にマルチインタフェースモジュール30に格納されるか、ソフトウェアビルドパッケージに組み込まれるか、接続マネージャトラッカーアプリケーションに組み込まれるか、あるいは、共通接続マネージャインストレーションパッケージに組み込まれる場合がある。新しいサービスプロバイダアカウントの各々のためのソフトウェアビルドがロードされるとき、以前に選択されたサービスプロバイダアカウントのEFSファイルは削除されるか、あるいは、新たに選択されたサービスプロバイダアカウントのもので置換される。必要なファイルがEFSに書き込まれるか、あるいはそこから削除された後、ステップ205で、モバイルデバイス10は、新しい変更が実施されるようにリセットされる場合がある。モバイルデバイス10のリセットにより、ステップ206で、選択されたサービスプロバイダのためのアクティベーション処理が開始され、ソフトウェアビルドの実装を完了するために適切なパラメータおよび設定が取得されうるようになる。場合によっては、アクティベーション処理を開始するために、選択されたサービスプロバイダのための技術者またはオペレータへのサービスコールが必要となる場合があることは、当業者には理解されよう。アクティベーション処理が完了された後、モバイルデバイス10は、新たに選択されたサービスプロバイダのネットワーク上での通信をサポートすることができる。
図10は、以前にアクティベートされたサービスプロバイダアカウントのためのソフトウェアビルドをロードする(図8のステップ160)ために実装されうる、ステップ例を例示する処理フロー図である。以前にアクティベートされたサービスプロバイダアカウントのための適切なソフトウェアビルドをロードするための処理は、以前にアクティベートされていないサービスプロバイダアカウントのための適切なソフトウェアビルドをロードするための処理に類似している。特定のサービスプロバイダが選択された後(図8のステップ101)、ステップ201で、プロセッサ191は、選択されたサービスプロバイダのための必要なAPIおよびDLLを実装する。プロセッサ191はまた、各サービスプロバイダに特有の追加の手順を行い、デバイスへのソフトウェアビルドおよびパラメータのロードが成功することを保証する場合もある。新しいソフトウェアビルドが探し出され、検索された後、ステップ202で、ダウンロードサービスがリセットされる。一実施形態では、ダウンロードサービスリセット処理は、Windows(登録商標)サービス再起動であってもよい。ダウンロードサービスは、APIコールによって停止かつ再起動されうる。ダウンロードサービスは、構成ファイルを読み取る場合がある。構成ファイルは、特定のサービスプロバイダのためのソフトウェアビルドへのパス、および、モバイルデバイス10によってそのサービスプロバイダのネットワーク上で動作するために必要とされる他のファイルを含む場合がある。ダウンロードサービスは、再起動時にこの構成ファイルを読み取る場合がある。したがって、構成ファイル内の新しい変更が実施されうるように、ダウンロードサービスがリセット/再起動される必要のある場合がある(ステップ202)。ダウンロードサービスがリセットされた後(ステップ202)、プロセッサ191は、ポイントされたソフトウェアビルドのためのすべての必要なファイルをEFSに書き込むか、あるいはそこから削除する。必要なファイルがEFSに書き込まれるか、あるいはそこから削除された後、ステップ205で、モバイルデバイス10は、新しい変更が実施されるようにリセットされる。モバイルデバイス10のリセットにより、モバイルデバイス10は、新たに選択されたサービスプロバイダのネットワーク上での通信をサポ
ートすることができる。図9に示され、上述された処理フローとは対照的に、モバイルデバイス10は、選択されたサービスプロバイダでのアカウントを以前にアクティベートしているので、選択されたサービスプロバイダのためのアクティベーション処理の開始(ステップ206)の必要はない。
多くの場合、ユーザは尋ねられると、選択されたサービスプロバイダアカウントの前のアクティベーションを間違って確認する場合がある(すなわち、判断170=イエス)。言い換えれば、多数のユーザは、自らのモバイルデバイス10上で以前にアクティベートされた可能性のある各サービスプロバイダアカウントの状況を正確に知らない場合がある。例えば、ユーザは、特定のサービスプロバイダで試しのサブスクリプションを、それと知りながら、あるいはそれと知らずにアクティベートしている場合がある。いずれにせよ、ユーザは、試しのサブスクリプションが期限切れになっていることを知らない場合があるが、選択されたサービスプロバイダのネットワーク上のコールをサポートするために、アクティブ/有効なサービスプロバイダアカウントがないにもかかわらず、選択されたサービスプロバイダでの前のアクティベーションを示すように、モバイルデバイス10内のパラメータが改変されるようになる。そのため、モバイルデバイス10が、図8に示された処理フローを行うとき、モバイルデバイス10は、以前にアクティベートされたサービスプロバイダのためのソフトウェアビルドのロードを試行するようになるが、選択されたサービスプロバイダのネットワークによってコールがサポートされることはなく、その理由は、コールをサポートするためにアクティブ/有効なアカウントがないためである。これは、選択されたサービスプロバイダネットワークを通じてコールを開始あるいは受信する際に、不快なユーザ体験およびユーザによる不満につながる場合がある。
選択されたサービスプロバイダでのアカウントが以前にアクティベートされているかどうかを示すために、メモリに設定かつ格納された任意選択のフラグの使用は実装されうるが、そのようなフラグは、サービスプロバイダでのアカウントがまだアクティブ/有効であるかどうかを示すには信頼できない場合がある。これは特に、以前にアクティベートされたアカウントが明示的に放棄あるいは無効になっていない場合である。したがって、他の代替実施形態は、選択されたサービスプロバイダでのアカウントがアクティベートされており、かつ、まだアクティブ/有効であるかどうかを、確認する必要のある場合がある。
図11は、選択されたサービスプロバイダでアクティブなアカウントを自動的に確認かつ/または作成するために実装されうるステップの処理フロー図である。図11の処理フローに示されたステップは、図8の判断170の判断を導出するために行われる場合がある。この処理フローは、ステップ260で、「接続失敗」カウンタを、そのカウンタをゼロに設定することにより初期化することによって、開始する。ステップ261で、モバイルデバイス10は次いでデータコールの実施を試行し、判断262で、そのデータコールが成功したか、失敗したかを判定する場合があり、ただし、「失敗」は認証失敗である。最も一般的な失敗の形は、ウィンドウズ(登録商標)ダイヤルアップネットワーク接続(DUNC)エラー691である場合がある。コールが失敗しなかった(すなわち、判断262=ノーである)場合、ステップ263で、サービスプロバイダアカウントが有効であると見なされ、それに応じて、アクティブ/有効なアカウントを使用して、選択されたサービスプロバイダネットワークによってコールがサポートされうる。よって、プロセッサはステップ155へ移り、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。
しかし、データコールが失敗したと見なされる(すなわち、判断262=イエスである)場合、判断265で、プロセッサ191は、モバイルデバイス10が現在、選択されたサービスプロバイダのホームシステムの範囲内にあるかどうかを判定する場合がある。モバイルデバイス10が現在、選択されたサービスプロバイダのホームシステムの範囲内でない(すなわち、判断265=ノーである)場合、プロセッサ191は、モバイルデバイス10がローミング状態にあると推定する場合があり、このローミング状態をユーザに示す場合がある。すべてではないにせよ、多数のサービスプロバイダはローミングデータコールをサポートしていないので、モバイルデバイス10のローミング状態は、データコールの成功を妨げる場合がある。それは、コールの試行が失敗する理由を説明している。ユーザは、選択されたサービスプロバイダのホームシステムの範囲内にモバイルデバイス10が移動されるまで待機するか、あるいは、コールをサポートするために異なるサービスプロバイダを選択しなければならない場合がある。ローミング状態がユーザに示された後、プロセッサ191はステップ155へ移り、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。
選択されたサービスプロバイダにおけるアクティブ/有効なアカウントを仮定すると、モバイルデバイス10が選択されたサービスプロバイダのホームシステムの範囲内にあるとすれば、試行されたコールは成功するはずである。したがって、モバイルデバイス10が選択されたサービスプロバイダのホームシステムの範囲内にあると、プロセッサが判定する(すなわち、判断265=イエスである)が、データコールは失敗した(すなわち、判断262=イエスである)場合、ステップ267で、プロセッサ191はFTCカウンタを増分し、判断268で、FTCカウンタがある所定の値「X」に等しいかどうかを判定する場合がある。Xの値は任意であり、データコールの実施の試行の数が不適当な数を上回らないように選択されうる。FTCカウンタがXに等しくない(すなわち、判断268=ノーである)場合、ステップ261で、プロセッサ191は、別のデータコールの実施を試行する場合がある。
しかし、FTCカウンタがXに等しい(すなわち、判断268=イエスである)場合、試行の数が「上限」値に等しいことを意味し、ロードされたソフトウェアビルドに対応するサービスプロバイダアカウントがもはやアクティブでない可能性がある。したがって、新しいサービスプロバイダアカウントがアクティベートされるべきである。したがって、FTCカウンタがXに等しい(すなわち、判断268=イエスである)とき、図8のステップ175のように、工場出荷時のパラメータがリセットされうる。続いて、選択されたサービスプロバイダのためのソフトウェアビルドをロードかつアクティベートするために、図8に示された処理フロー(すなわち、ステップ176および155)が実装されうる。
図12は、選択されたサービスプロバイダでアクティブ/有効なアカウントを確認するための、代替実施形態の方法の処理フロー図である。図12に例示された方法は、図11に示された方法に類似しており、図11を参照して上述したものと同じ方法で、ステップ260〜268を行う。しかし、図12では、FTCカウンタが任意の値「X」に等しい(すなわち、判断268=イエスである)とき、ステップ280で、プロセッサ191は、メモリ25またはファイルシステム26に格納されたクレデンシャル(credentials)(MIN、MDN、MIPプロファイル、パスワードなど)を、「ブートストラップ」クレデンシャルに変更する。ブートストラップクレデンシャルは、既知のサービスプロバイダ毎の既知の実用クレデンシャルの値(working credential values)である。既知のサービスプロバイダ毎のブートストラップクレデンシャルは、OEMによって、あるいは、モバイルデバイス初期化中に、モバイルデバイスのEFSにロードされうる。選択されたサービスプロバイダのためのブートストラップクレデンシャルは、EFSから検索され、不揮発性メモリに書き込まれる。
加えて、モバイルデバイスの不揮発性メモリ内に現存するクレデンシャルの値/設定(実際のパスワード)は、EFS内に作成された一時ファイルに格納される。不揮発性メモリに格納されたクレデンシャルの値を、選択されたサービスプロバイダのためのブートストラップ値に変更することによって、モバイルデバイスが少なくともアカウントサーバ180(図13および14を参照して、以下でより詳細に論ずる)へのデータコールを完了可能となる、不揮発性メモリに格納された既知の実用クレデンシャルの値を、モバイルデバイスが有することが保証されうる。アカウントサーバ180が接触された後、モバイルデバイス10をサポートするすべてのアクティブなアカウントに関する情報が判定されうる。
不揮発性メモリに格納されたクレデンシャルの値を変更することで、少なくともアカウントサーバ180へのコールが可能となるが、モバイルデバイス内の設定を修復するためにルーチンが必要となる。図12に示された実施形態の処理フローでは、モバイルデバイスのクレデンシャルを変更するための処理の一部として、プロセッサ191は、すべての既存のクレデンシャルのコピーを作成する場合がある。プロセッサ191がすべての既存のクレデンシャルのコピーを作成した後、ステップ281で、プロセッサ191は、モバイルデバイス10に、アカウントサーバ180(図13および14を参照)に接続するように指示する場合がある。アカウントサーバ180は、各サービスプロバイダのオペレータホームロケーション登録/認証、認可および課金(HLR/AAA)サーバ(図示せず)と接続している場合がある。選択されたサービスプロバイダのオペレータHLR/AAAサーバに接続することによって、判断282で、アカウントサーバ180は、選択されたサービスプロバイダにおけるアカウントが、問題になっているモバイルデバイス10に対してアクティブ/有効であるかどうかを判定する場合がある。選択されたサービスプロバイダでのアカウントがアクティブである(すなわち、判断282=イエスである)場合、判断283で、プロセッサ191は、コピーされ、EFS内の一時ファイルに格納されている、以前から存在するクレデンシャルを、選択されたサービスプロバイダのHLR/AAA内に選択されたサービスプロバイダアカウントのために格納されたクレデンシャルの値と共にチェックして、一致を判定する。一時ファイルに格納されたクレデンシャルと、選択されたサービスプロバイダのHLR/AAA内に選択されたサービスプロバイダアカウントのために格納されたものの間のいかなる差異も、データコールの試行の失敗の原因となりうる。EFS内の一時ファイルに格納されたクレデンシャルが、選択されたサービスプロバイダのHLR/AAAサーバに格納されたものと一致する(すなわち、判断283=イエスである)場合、データコールの試行の失敗に対して、別のある一時的な外部干渉または原因が存在する可能性がある。したがって、選択されたサービスプロバイダアカウントは、ある時間の経過またはモバイルデバイスの移動後に、データコールをサポー
トすることができる可能性がある。そのため、プロセッサはステップ155へ移り、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。しかし、EFS内の一時ファイルに格納されたクレデンシャルと、選択されたサービスプロバイダのHLR/AAAサーバに格納されたものの間に、不一致が存在する(すなわち、判断283=ノーである)場合、ステップ284で、選択されたサービスプロバイダのHLR/AAAサーバに格納されたクレデンシャルが、モバイルデバイス10の不揮発性メモリに書き込まれる場合がある。モバイルデバイスの不揮発性メモリに格納されたクレデンシャルが、選択されたサービスプロバイダのHLR/AAAサーバに格納されたこれらのクレデンシャルの値に更新された後、プロセッサ191はステップ155へ戻り、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。
他の代替実施形態(図示せず)では、他の修復ルーチンが実装される場合があり、これらは、モバイルデバイスクレデンシャルを修正するために、OTAPAまたはネットワークにより開始されるIOTA(Network Initiated IOTA)など、既知のアクティベーション方法のための、ネットワークにより開始されるセッションを含む。このような代替実施形態の修復ルーチンはまた、既知のエンドユーザにより開始されるアクティベーション方法を行い、モバイルデバイスの問題を修復するように、エンドユーザに求めることを含む場合もある。OTASP、OTAPA、IOTAおよびOMADMにおける様々なプロビジョンは、特定のパラメータがモバイルデバイスに書かれることを可能にし、これにより、モバイルデバイスを修復し、続いて、適切な使用を可能にする場合があることは、当業者には理解されよう。
しかし、選択されたサービスプロバイダでのアカウントが以前にアクティベートされていない(すなわち、判断282=ノーである)場合、ロードされたソフトウェアビルドに対応するサービスプロバイダアカウントがもはやアクティブでない可能性がある。したがって、新しいサービスプロバイダアカウントがアクティベートされるべきである。したがって、選択されたサービスプロバイダアカウントがアクティブでない(すなわち、判断282=ノーである)場合、図8のステップ175のように、工場出荷時のパラメータがリセットされうる。続いて、選択されたサービスプロバイダのためのソフトウェアビルドをロードかつアクティベートするために、図8に示された処理フロー(すなわち、ステップ176および155)が実装されうる。
サービスプロバイダアカウントのインデックス付きデータテーブルは、プロセッサ191による検索のために、通信モジュール20内に含まれた不揮発性メモリ25に格納されうる。代替実施形態では、不揮発性メモリの内容は、リモートに位置する場合がある。図13は、サービスプロバイダアカウントのインデックス付きデータテーブルがリモートのデータサーバに格納されうる、一実施形態のシステムを例示する。図7を参照して上述したように、モバイルデバイス10は、通信ネットワーク100、102を介して、複数のサービスプロバイダ125、130と通信して、必要なパラメータ、設定およびプロビジョニングデータを受信する場合がある。別法として、OEMによって、必要最小限のソフトウェアおよびプロビジョニングデータがモバイルデバイス10上にロードされない場合、モバイルデバイス10は、有線通信ネットワーク104を通じた有線接続を介して、サービスプロバイダのホームアドレスサーバ125、130によって維持された、指定された電話番号またはウェブサイトURLを通じて接続して、アクティベーション手順を開始してもよい。
図13を参照すると、モバイルデバイス10は、受信されたデータを、アカウントサーバ180またはアカウントサーバ180内の不揮発性メモリユニットと通信しているアカウントデータベース185内に格納するために、通信ネットワーク100、102またはインターネット104を介して、アカウントサーバ180に送信する場合がある。サービスプロバイダ(125、130)から受信された様々なパラメータ、設定およびプロビジョニングデータの各々は、アカウントサーバ180と通信している個々のモバイルデバイス10毎に格納されうる。例えば、アカウントデータベース185、または、アカウントサーバ180内の不揮発性メモリユニットは、アカウントサーバ180によってサービスされるすべてのモバイルデバイスのためのインデックス付きアカウントデータテーブルであってもよい、アカウントデータテーブルを格納してもよい。個々の各モバイルデバイスは、インデックス付きアカウントデータテーブル内で、モバイルデバイスの電話番号、固有のシリアルナンバー(移動体装置識別番号(MEID)もしくは国際移動体装置識別番号(IMEI)など)、または、生成されたアカウント名もしくはユーザによりカスタマイズされたアカウント名など、ある他の指定によって識別されうる。インデックス付きアカウントデータテーブル内のモバイルデバイスエントリ毎に、図3〜5に例示されたものなど、インデックス付きデータテーブルレコードが格納されうる。このように、アカウントサーバ180は、アカウントサーバ180によってサービスされた特定のモバイルデバイス10が以前に生成している、様々なパラメータ、設定およびプロビジョニングデータのレコードを維持する。パラメータ、設定およびプロビジョニングデータをリモートのデータベースに格納することによって、モバイルデバイス10のローカルメモリ要件は劇的に低減されうる。加えて、パラメータ、設定およびプロビジョニングデータのリモートの格納は、モバイルデバイス10が盗難されたり、あるいは不適切に獲得されたりする場合に、ユーザのパラメータ、設定およびプロビジョニングデータへの自由なアクセスを防ぐために、ある程度のセキュリティを提供する場合がある。これはまた、ユーザが自発的にモバイルデバイス10を取り替えるときにも有用である。新しいモバイルデバイス10へ
のサービスプロバイダアカウントデータの転送は、リモートで格納されたクレデンシャルにより実施する方がより容易である。
図14は、サービスプロバイダアカウントのインデックス付きデータテーブルがリモートサーバの位置に格納される、別の代替実施形態のシステムを例示する。各ソフトウェア無線ベースのチップセットモジュールが製造されるとき、製造業者によって固有のシリアルナンバー(MEIDまたはIMEI)が割り当てられる。典型的には、製造業者は、これらのシリアルナンバーのリストを製造業者サーバ190内または付属のデータベース(個別に図示せず)内で維持する。アカウントサーバ180は、製造されたソフトウェアベースの無線チップセットのシリアルナンバーのリストを取得するために、製造業者サーバ190と通信している場合がある。リスト内のこれらのシリアルナンバーは、インデックス付きアカウントデータテーブル内で個々のモバイルデバイスを識別するために使用されうる。アカウントサーバ180と製造業者サーバ190の間の通信リンクは、ハードワイヤード直接リンクを介して、インターネット104を介して、あるいは無線通信リンク100、102を介してもよい。モバイルデバイス10がサービスプロバイダ125、130での初期化手順を開始するとき、サービスプロバイダが個々の各モバイルデバイス10のネットワーク使用を監視可能であるように、モバイルデバイスの固有のシリアルナンバーがサービスプロバイダ125、130へ送信されうる。それに対して、選択されたサービスプロバイダ125、130は、必要なパラメータ、設定およびプロビジョニングデータをモバイルデバイス10へ送信する場合がある。別法として、あるいは加えて、モバイルデバイス10に送信されたパラメータ、設定およびプロビジョニングデータは、インデックス付きデータテーブルにリモートで格納するためにアカウントサーバ180へ送信されうる。アカウントサーバ180は、パラメータ、設定およびプロビジョニングデータを、アカウントサーバ180によってサービスされたモバイルデバイス10毎に、インデックス付きアカウントデータテーブルレコードに格納する場合がある。パラメータ、設定およびプロビジョニングデータをリモートのデータベースに格納することによって、モバイルデバイス10のローカルメモリ要件は劇的に低減されうる。加えて、パラメータ、設定およびプロビジョニングデータのリモートの格納は、モバイルデバイス10が盗難された
り、あるいは不適切に獲得されたりする場合に、ユーザのパラメータ、設定およびプロビジョニングデータへの自由なアクセスを防ぐために、ある程度のセキュリティを提供する場合がある。さらに、パラメータ、設定およびプロビジョニングデータがアカウントサーバ180へ直接送信され、次いで、必要に応じて、続いてモバイルデバイス10にダウンロードされる実施形態では、処理能力およびバッテリ寿命が節約して使われうる。加えて、モバイルデバイス10によってアクティベートされたサービスプロバイダアカウントの各々のための様々なパラメータ、設定およびプロビジョニングデータの各々を中央の位置に格納することによって、プロセッサは、どのサービスプロバイダが特定のモバイルデバイス10上でアクティベートされているかを、迅速かつ効率的に追跡する場合がある。
前述のように、どの接続マネージャが現在動作中であるかを追跡すること、および、現在動作中の接続マネージャが閉じられるまで、その後の接続マネージャが起動されないことを保証することは、モバイルデバイス10にとって重要である場合がある。これは、現在の接続マネージャが現在動作中である間にその後の接続マネージャを起動することが、致命的な衝突およびモバイルデバイスプロセッサ191のシャットダウンを引き起こす場合があるからである。したがって、接続マネージャトラッカー50は、2つの接続マネージャが同じプロセッサ191上で同時に起動されないことを保証するために、必要な処理を提供するために含まれうる。よって、接続マネージャが起動されるたびに、接続マネージャがアクティブであることを示すフラグがメモリに設定されうる。加えて、現在起動されている接続マネージャの名前がメモリまたはバッファに格納されうる。プロセッサ191が、接続マネージャを起動するための要求を受信するたびに、プロセッサ191は最初に接続マネージャアクティブフラグをチェックして、それが設定されているかどうかを判定する場合がある。それが設定されていない場合、現在アクティブである接続マネージャはない。したがって、新しい接続マネージャは何事もなく起動可能である。しかし、接続マネージャアクティブフラグが設定される場合、プロセッサ191は、どの接続マネージャが現在アクティブであるかを確かめる場合がある。現在アクティブな接続マネージャが、ユーザによって起動のために選択された接続マネージャとは異なる場合、プロセッサ191は、選択された接続マネージャの起動に先立って、現在アクティブな接続マネージャをアクティベート解除(deactivate)しなければならない。このような接続マネージャトラッカー処理は、独立した接続マネージャがサービスプロバイダアカウント毎に存在する実施形態において、あるいは、共通接続マネージャ60が、ユーザが複数の可能な選択から特定のサービスプロバイダアカウントを選択できるようにする実施形態において、使用されうる。
前述のように、いかなる時でも、プロセッサ191はユーザから、特定のサービスプロバイダアカウントをサポートする接続マネージャを起動するための要求を受信する場合がある。例えば、モバイルデバイス10が携帯電話であり、通信が典型的には常にアクティブである場合、接続マネージャを起動するための要求は、通信を現在サポートしているサービスプロバイダアカウントをユーザが変更しようとすることに応じたものとなる。モバイルデバイス10が、無線モデムを有するノート型コンピュータであるときなど、他の場合では、通信機能は常にアクティベートされるとは限らない。よって、接続マネージャの起動は、ユーザがノート型コンピュータの無線通信機能を有効にすることを望むことを示す場合がある。ソフトウェア無線ベースのチップセットモジュール20に対する競合する命令を防ぐため、現在使用可能な接続マネージャは、新しい接続マネージャがアクティベートされる前にアクティベート解除されるべきである。2つの異なる接続マネージャが同時にアクティベートされる場合、可能性のある競合するソフトウェアビルド(例えば、GSMソフトウェアビルドおよびCDMAソフトウェアビルド)は、ソフトウェア無線ベースのチップセットモジュール20内でエラーを引き起こす場合がある。したがって、どの接続マネージャが現在アクティベートされているかを追跡かつ制御するための処理が望ましい場合がある。
図15は、例示的接続マネージャトラッカーによって実装されうるステップ例を例示する処理フロー図である。接続マネージャトラッカー処理の一部として、モバイルデバイス10は、様々な接続マネージャのアクティビティに関連するいくつかのパラメータのための値を含むパラメータテーブルを、メモリ内あるいはバッファ内に格納する場合がある。これらのパラメータには、使用中の現在の接続マネージャ(使用中のCM)のための値、モバイルデバイス上に実装された最後のソフトウェアビルド(最後に使用されたビルド)、および、現在選択されている接続マネージャのために実装されたソフトウェアビルド(現在のCMのためのビルド)が含まれうる。モバイルデバイス10は、OEMによって、これらのパラメータの各々のためのある値により初期化されうる。例えば、モバイルデバイス10は、「使用中のCM」、「最後に使用されたビルド」および「現在のCMのためのビルド」パラメータを「なし」に設定するように初期化されうる。いかなる時でも、ステップ220で、プロセッサ191は、特定のサービスプロバイダアカウントをサポートする接続マネージャを起動するための要求を受信する場合がある。接続マネージャを起動するための要求を受信すると、判断225で、プロセッサ191は、接続マネージャが現在実行中であるかどうかを判定する場合がある。プロセッサ191は、「使用中のCM」の値のために、メモリに格納されたパラメータテーブルに格納された値をチェックすることによって、この判定を行う場合がある。「使用中のCM」の値が「なし」以外のいずれかである場合、プロセッサ191は、接続マネージャが現在使用中である(すなわち、判断225=イエスである)と判定するようになる。接続マネージャが使用中である場合、ステップ230で、プロセッサ191は、接続マネージャが既に実行中であることを示すエラーメッセージを、ユーザに対して表示する場合がある。このエラーメッセージは、ユーザが接続マネージャを切り替えることを望む場合、現在選択されている接続マネージャを起動する前に、現在アクティブな接続マネージャが閉じられるべきであることを、任意選択で示してもよい。エラーメッセージがユーザに対して表示された後、ステップ155で、プロセッサ191は、次の接続マネージャ起動要求、または、異なるサービスプロバ
イダの選択を待機する場合がある。
しかし、プロセッサ191が、現在実行中である接続マネージャがないと判定する場合、ステップ235で、プロセッサ191は、「使用中のCM」パラメータのための値を、選択された接続マネージャ要求のサービスプロバイダの名前として入力する。ステップ240で、プロセッサ191はまた、パラメータテーブル内の「現在のCMのためのビルド」パラメータの値を、選択された接続マネージャ要求のサービスプロバイダの名前に変更する。判断245で、プロセッサ191は、起動のために現在選択されている接続マネージャが、最後に起動された接続マネージャと同じであるか、異なるかを判定する場合がある。プロセッサ191は、パラメータテーブルに格納された「現在のCMのためのビルド」および「最後に使用されたビルド」のパラメータの値を比較する場合がある。モバイルデバイス10が通信機能を有効にするために初めて使用中である場合、パラメータ「最後に使用されたビルド」の値は、初期化された値「なし」になる。結果として、「現在のCMのためのビルド」パラメータ値の比較は、「最後に使用されたビルド」パラメータの値に一致しないものとなる(すなわち、判断245=ノー)。加えて、ユーザが、今の接続マネージャの直前に起動された接続マネージャとは異なる接続マネージャを起動することを選択している場合、「現在のCMのためのビルド」および「最後に使用されたビルド」パラメータの比較は、一致の結果にはならない(すなわち、判断245=ノー)。「現在のCMのためのビルド」および「最後に使用されたビルド」パラメータの比較が一致の結果にならない(すなわち、判断245=ノーである)場合、ステップ250で、プロセッサは、図6を参照して上述した、モバイルデバイス10を再プログラムするための処理フローを実装する場合がある。モバイルデバイス10が、選択されたサービスプロバイダアカウントのためのソフトウェアビルドにより再プログラムされた後、ステップ255で、プロセッサ191は、最後に使用されたビルドが、現在選択されているサービスプロバイダのソフトウェアビルドであることを示すように、「最後に使用されたビルド」パラメータの値を設定する場合がある。「最後に使用されたビルド」パラメータの新しい値がメモリに格納された後、ステップ155で、プロセッサ191は、次の接続マネージャ起動要
求、または、異なるサービスプロバイダの選択を待機する場合がある。
「現在のCMのためのビルド」および「最後に使用されたビルド」パラメータの比較が一致の結果となる(すなわち、判断245=イエスである)場合、プロセッサ191は、新しいソフトウェアビルドによりモバイルデバイス10を再プログラムする必要はなく、以前にロードされたソフトウェアビルドは、通信をサポートし続けることが可能である。そのため、ステップ255で、プロセッサ191は、最後に使用されたビルドが、現在選択されているサービスプロバイダのソフトウェアビルドであることを示すように、「最後に使用されたビルド」パラメータの値を設定する場合がある。「最後に使用されたビルド」パラメータの新しい値がメモリに格納された後、ステップ155で、プロセッサ191は、次の接続マネージャ起動要求、または、異なるサービスプロバイダの選択を待機する場合がある。任意選択の実施形態では、プロセッサ191は単にステップ255をスキップし、次の接続マネージャ起動要求、ステップまたは異なるサービスプロバイダの選択を待機してもよい。
ユーザがモバイルデバイス10の通信機能を無効にすることに決めるとき、ユーザは、現在実行中のいかなる接続マネージャをも閉じる場合がある。そのような場合、プロセッサ191は、現在実行中の接続マネージャを閉じ、「使用中のCM」パラメータの値を「なし」に設定するようになる。
上述の実施形態はまた、図16に例示されたものなど、様々なサーバシステムのいずれにおいても実装されうる。このようなサーバ309は典型的には、揮発性メモリ362、および、ディスクドライブ363など、大容量不揮発性メモリに結合された、プロセッサ361を含む。プロセッサ361は、インターネットなど、ネットワーク365に結合された高速モデム364など、1つまたは複数のネットワークインタフェース回路に結合される。サーバ309はまた、プロセッサ361に結合されたコンパクトディスク(CD)ドライブ366など、ポータブルメディアリーダを含んでもよい。
本明細書で開示された実施形態に関連して記載された様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装されうることは、当業者には理解されよう。このハードウェアおよびソフトウェアの入替え可能性を明確に例示するため、様々な例示的コンポーネント、ブロック、モジュール、回路およびステップは、一般にそれらの機能性に関して上述された。このような機能性がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定のアプリケーション、および、システム全体に課せられた設計上の制約によって決まる。当業者は、記載された機能性を特定のアプリケーション毎に様々な方法で実装可能であるが、このような実装の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
本明細書に開示された実施形態に関連して記載された方法またはアルゴリズムのステップは、直接的にハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて実施されうる。ソフトウェアモジュールは、プロセッサ可読メモリ内に存在してもよく、プロセッサ可読メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている他の任意の形態の記憶媒体のうち、任意のものであってもよい。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。別法として、記憶媒体は、プロセッサと一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在してもよい。ASICは、ユーザ端末またはモバイルデバイス内に存在してもよい。別法として、プロセッサおよび記憶媒体は、個別のコンポーネントとして、ユーザ端末またはモバイルデバイス内に存在してもよい。加えて、いくつかの態様では、方法またはアルゴリズムのステップおよび/または動作は、1つまたは任意の組合せまたはセットのコードおよび/または命令として、マシン可読媒体および/またはコンピュータ可読媒体上に存在してもよく、この媒体はコンピュータプログラム製品に組み込まれうる。
様々な実施形態の前述の説明は、当業者による本発明の実施または使用を可能とするために提供される。これらの実施形態への様々な変更は、当業者には容易に明らかとなり、本明細書で定義された一般的な原理は、本発明の精神または範囲から逸脱することなく、他の実施形態に適用されうる。よって、本発明は、本明細書で示された実施形態に限定されるように意図されず、その代わりに、特許請求の範囲に、本明細書で開示された原理および新規の特徴に一致する最も広い範囲が与えられるべきである。
10 モバイルデバイス
11 ユーザインタフェースディスプレイ
20 ソフトウェア定義通信モジュール
20 ソフトウェア無線ベースのチップセット通信モジュール(通信モジュール)
25 不揮発性メモリ
26 ファイルシステム
30 マルチインタフェースソフトウェアモジュール
30 マルチインタフェースモジュール
40 共通アプリケーションプログラミングインタフェース(C-API)
45 ダイナミックリンクライブラリ(DLL)
50 接続マネージャトラッカー
60 共通接続マネージャ
60 共通接続マネージャプログラム
61、62、63 接続マネージャ
100、102 通信ネットワーク
100、102 無線通信リンク
104 有線通信ネットワーク
104 インターネット
125、130 サービスプロバイダ
125、130 サービスプロバイダのホームアドレスサーバ
125a、130a アクティベーションサーバ
125b、130b 移動交換局
125c、130c プロビジョニングサーバ
180 アカウントサーバ
185 アカウントデータベース
190 製造業者サーバ
191 プロセッサ
191a、191b デュアル(もしくはそれ以上の)プロセッサ
192 内部メモリ

Claims (32)

  1. 選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアを用いてモバイルデバイスをプログラムする方法であって、
    サービスプロバイダアカウントの選択を受信するステップと、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認するステップと、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップと、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索するステップと、
    前記検索されたパラメータおよび設定を実装するステップとを備え、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記ステップは、
    データコールの実施を試行するステップと、
    前記データコールの試行が成功したかどうかを判定するステップと、
    前記データコールが不成功である場合、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定するステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示すステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置しないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットするステップとをさらに備える方法。
  2. 前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップは、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索するステップと、
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装するステップと、
    ダウンロードサービスをリセットするステップと、
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換するステップと、
    前記モバイルデバイスをリセットするステップとを備える、請求項1に記載の方法。
  3. 前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装
    ダウンロードサービスをリセット
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換
    前記モバイルデバイスをリセット
    択されたサービスプロバイダのためのアクティベーション処理を開始するステップをさらに備える、請求項1に記載の方法。
  4. 前記アクティベーション処理が成功したかどうかを判定するステップと、
    前記アクティベーション処理が成功しなかった場合、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合に実行される処理を繰り返すステップと、
    前記選択されたサービスプロバイダアカウントアクティベーションのインジケータを設定するステップとをさらに備える、請求項3に記載の方法。
  5. 接続失敗カウンタをゼロにリセットするステップと、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分するステップと、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定するステップと、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返すステップとをさらに備え、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットする前記ステップは、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ行われる、請求項2に記載の方法。
  6. 選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアを用いてモバイルデバイスをプログラムする方法であって、
    サービスプロバイダアカウントの選択を受信するステップと、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認するステップと、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップと、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索するステップと、
    前記検索されたパラメータおよび設定を実装するステップとを備え、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記ステップは、
    データコールの実施を試行するステップと、
    前記データコールの試行が成功したかどうかを判定するステップと、
    前記データコールが不成功である場合、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定するステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示すステップと、
    既存のモバイルデバイスクレデンシャルの値を、メモリ内の一時ファイルに格納するステップと、
    前記データコールの試行が不成功であり、かつ、前記モバイルデバイスが選択されたサービスプロバイダのためのホームネットワークの外に位置しない場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更するステップと、
    アカウントサーバに接触して、前記選択されたサービスプロバイダアカウントがアクティブであるかどうかを判定するステップと、
    前記選択されたサービスプロバイダアカウントがアクティブであると判定される場合、修復ルーチンを行うステップと、
    前記選択されたサービスプロバイダアカウントが、前記アカウントサーバによって、アクティブでないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをリセットするステップとをさらに備える方法。
  7. 接続失敗カウンタをゼロにリセットするステップと、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分するステップと、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定するステップと、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返すステップとをさらに備え、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更する前記ステップは、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ行われる、請求項6に記載の方法。
  8. 前記修復ルーチンは、
    前記選択されたサービスプロバイダでのアカウントがアクティブであると判定される場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された、選択されたサービスプロバイダアカウントクレデンシャルの値と比較して、前記値の間に不一致があるかどうかを判定するステップと、
    不一致が存在する場合、前記既知の実用クレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された前記クレデンシャルの値に変更するステップとをさらに備える、請求項6に記載の方法。
  9. モバイルデバイスであって、
    サービスプロバイダアカウントの選択を受信する手段と、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する手段と、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードする手段と、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索する手段と、
    前記検索されたパラメータおよび設定を実装する手段とを備え、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記手段は、
    データコールの実施を試行する手段と、
    前記データコールの試行が成功したかどうかを判定する手段と、
    前記データコールが不成功である場合、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定する手段と、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示す手段と、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置しないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットする手段とをさらに備えるモバイルデバイス。
  10. 前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードする前記手段は、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索する手段と、
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装する手段と、
    ダウンロードサービスをリセットする手段と、
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換する手段と、
    前記モバイルデバイスをリセットする手段とを備える、請求項9に記載のモバイルデバイス。
  11. 前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装
    ダウンロードサービスをリセット
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換
    前記モバイルデバイスをリセット
    択されたサービスプロバイダのためのアクティベーション処理を開始する手段をさらに備える、請求項9に記載のモバイルデバイス。
  12. 前記アクティベーション処理が成功したかどうかを判定する手段と、
    前記アクティベーション処理が成功しなかった場合、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合に実行される処理を繰り返す手段と、
    前記選択されたサービスプロバイダアカウントアクティベーションのインジケータを設定する手段とをさらに備える、請求項11に記載のモバイルデバイス。
  13. 接続失敗カウンタをゼロにリセットする手段と、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分する手段と、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定する手段と、
    前記接続失敗カウンタが前記所定の数に等しくない場合、データコールの実施の試行を繰り返す手段とをさらに備え、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットする前記手段は、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ、そのように行う、請求項10に記載のモバイルデバイス。
  14. モバイルデバイスであって、
    サービスプロバイダアカウントの選択を受信する手段と、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する手段と、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードする手段と、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索する手段と、
    前記検索されたパラメータおよび設定を実装する手段とを備え、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記手段は、
    データコールの実施を試行する手段と、
    前記データコールの試行が成功したかどうかを判定する手段と、
    前記データコールが不成功である場合、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定する手段と、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示す手段と、
    既存のモバイルデバイスクレデンシャルの値を、メモリ内の一時ファイルに格納する手段と、
    前記データコールの試行が不成功であり、かつ、前記モバイルデバイスが選択されたサービスプロバイダのためのホームネットワークの外に位置しない場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更する手段と、
    アカウントサーバに接触して、前記選択されたサービスプロバイダアカウントがアクティブであるかどうかを判定する手段と、
    前記選択されたサービスプロバイダアカウントがアクティブであると判定される場合、修復ルーチンを行う手段と、
    前記選択されたサービスプロバイダアカウントが、前記アカウントサーバによって、アクティブでないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをリセットする手段とをさらに備えるモバイルデバイス。
  15. 接続失敗カウンタをゼロにリセットする手段と、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分する手段と、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定する手段と、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返す手段とをさらに備え、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更する前記手段は、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ、そのように行う、請求項14に記載のモバイルデバイス。
  16. 前記修復ルーチンを行う前記手段は、
    前記選択されたサービスプロバイダでのアカウントがアクティブであると判定される場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された、選択されたサービスプロバイダアカウントクレデンシャルの値と比較して、前記値の間に不一致があるかどうかを判定する手段と、
    不一致が存在する場合、前記既知の実用クレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された前記クレデンシャルの値に変更する手段とをさらに備える、請求項14に記載のモバイルデバイス。
  17. モバイルデバイスであって、
    内部メモリユニットであって、プロビジョニングデータバッファを含む前記内部メモリユニットと、
    前記内部メモリユニットに結合されたプロセッサとを備え、前記プロセッサは、
    サービスプロバイダアカウントの選択を受信するステップと、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認するステップと、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップと、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索するステップと、
    前記検索されたパラメータおよび設定を実装するステップとを備えるステップを行うようにソフトウェア命令を用いて構成され、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記ステップは、
    データコールの実施を試行するステップと、
    前記データコールの試行が成功したかどうかを判定するステップと、
    前記データコールが不成功である場合、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定するステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示すステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置しないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットするステップとをさらに備える、モバイルデバイス。
  18. 前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップは、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索するステップと、
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装するステップと、
    ダウンロードサービスをリセットするステップと、
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換するステップと、
    前記モバイルデバイスをリセットするステップとを備える、請求項17に記載のモバイルデバイス。
  19. 前記プロセッサは、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装
    ダウンロードサービスをリセット
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換
    前記モバイルデバイスをリセット
    択されたサービスプロバイダのためのアクティベーション処理を開始するステップを備える、さらなるステップを行うようにソフトウェア命令を用いて構成される、請求項17に記載のモバイルデバイス。
  20. 前記プロセッサは、
    前記アクティベーション処理が成功したかどうかを判定するステップと、
    前記アクティベーション処理が成功しなかった場合、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合に実行される処理を繰り返すステップと、
    前記選択されたサービスプロバイダアカウントアクティベーションのインジケータを設定するステップとを備える、さらなるステップを行うようにソフトウェア命令を用いて構成される、請求項19に記載のモバイルデバイス。
  21. 前記プロセッサは、
    接続失敗カウンタをゼロにリセットするステップと、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分するステップと、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定するステップと、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返すステップとを備える、さらなるステップを行うようにソフトウェア命令を用いて構成され、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットする前記ステップは、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ行われる、請求項18に記載のモバイルデバイス。
  22. モバイルデバイスであって、
    内部メモリユニットであって、プロビジョニングデータバッファを含む前記内部メモリユニットと、
    前記内部メモリユニットに結合されたプロセッサとを備え、前記プロセッサは、
    サービスプロバイダアカウントの選択を受信するステップと、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認するステップと、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップと、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索するステップと、
    前記検索されたパラメータおよび設定を実装するステップとを備えるステップを行うようにソフトウェア命令を用いて構成され、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記ステップは、
    データコールの実施を試行するステップと、
    前記データコールの試行が成功したかどうかを判定するステップと、
    前記データコールが不成功である場合、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定するステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示すステップと、
    既存のモバイルデバイスクレデンシャルの値を、メモリ内の一時ファイルに格納するステップと、
    前記データコールの試行が不成功であり、かつ、前記モバイルデバイスが選択されたサービスプロバイダのためのホームネットワークの外に位置しない場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更するステップと、
    アカウントサーバに接触して、前記選択されたサービスプロバイダアカウントがアクティブであるかどうかを判定するステップと、
    前記選択されたサービスプロバイダアカウントがアクティブであると判定される場合、修復ルーチンを行うステップと、
    前記選択されたサービスプロバイダアカウントが、前記アカウントサーバによって、アクティブでないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをリセットするステップとをさらに備えるモバイルデバイス。
  23. 前記プロセッサは、
    接続失敗カウンタをゼロにリセットするステップと、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分するステップと、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定するステップと、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返すステップとを備える、さらなるステップを行うようにソフトウェア命令を用いて構成され、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更する前記ステップは、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ行われる、請求項22に記載のモバイルデバイス。
  24. 前記プロセッサは、
    前記選択されたサービスプロバイダでのアカウントがアクティブであると判定される場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された、選択されたサービスプロバイダアカウントクレデンシャルの値と比較して、前記値の間に不一致があるかどうかを判定するステップと、
    不一致が存在する場合、前記既知の実用クレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された前記クレデンシャルの値に変更するステップとを備える、さらなるステップを行うようにソフトウェア命令を用いて構成される、請求項22に記載のモバイルデバイス。
  25. コンピュータ可読記憶媒体であって、
    サービスプロバイダアカウントの選択を受信するステップと、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認するステップと、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップと、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索するステップと、
    前記検索されたパラメータおよび設定を実装するステップとを備えるステップをプロセッサに行わせるように構成されたプロセッサ実行可能ソフトウェア命令を格納し、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記ステップは、
    データコールの実施を試行するステップと、
    前記データコールの試行が成功したかどうかを判定するステップと、
    前記データコールが不成功である場合、モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定するステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示すステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置しないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットするステップとをさらに備えるコンピュータ可読記憶媒体。
  26. 前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップは、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索するステップと、
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装するステップと、
    ダウンロードサービスをリセットするステップと、
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換するステップと、
    前記モバイルデバイスをリセットするステップとを備える、請求項25に記載のコンピュータ可読記憶媒体。
  27. 前記格納されたプロセッサ実行可能ソフトウェア命令は、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合、
    前記選択されたサービスプロバイダアカウントに対応する、アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを、メモリから検索
    前記アプリケーションプログラミングインタフェースおよび動的にリンクされたライブラリを実装
    ダウンロードサービスをリセット
    拡張ファイルサービスに書き込まれたすべての以前のパラメータ、設定、ファイルおよびプロビジョニングデータを前記選択されたサービスプロバイダアカウントのものと置換
    前記モバイルデバイスをリセット
    択されたサービスプロバイダのためのアクティベーション処理を開始するステップを備える、さらなるステップをプロセッサに行わせるように構成された、請求項25に記載のコンピュータ可読記憶媒体。
  28. 前記格納されたプロセッサ実行可能ソフトウェア命令は、
    前記アクティベーション処理が成功したかどうかを判定するステップと、
    前記アクティベーション処理が成功しなかった場合、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていない場合に実行される処理を繰り返すステップと、
    前記選択されたサービスプロバイダアカウントアクティベーションのインジケータを設定するステップとを備える、さらなるステップをプロセッサに行わせるように構成された、請求項27に記載のコンピュータ可読記憶媒体。
  29. 前記格納されたプロセッサ実行可能ソフトウェア命令は、
    接続失敗カウンタをゼロにリセットするステップと、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分するステップと、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定するステップと、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返すステップとを備える、さらなるステップをプロセッサに行わせるように構成され、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントアクティベーションのインジケータをリセットする前記ステップは、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ行われる、請求項26に記載のコンピュータ可読記憶媒体。
  30. コンピュータ可読記憶媒体であって、
    サービスプロバイダアカウントの選択を受信するステップと、
    前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをチェックすることによって、前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認するステップと、
    前記選択されたサービスプロバイダアカウントをサポートするための命令を含むソフトウェアをロードするステップと、
    前記選択されたサービスプロバイダアカウントに対応するパラメータおよび設定を、不揮発性メモリから検索するステップと、
    前記検索されたパラメータおよび設定を実装するステップとを備えるステップをプロセッサに行わせるように構成されたプロセッサ実行可能ソフトウェア命令を格納し、
    前記選択されたサービスプロバイダアカウントが以前にアクティベートされていることを確認する前記ステップは、
    データコールの実施を試行するステップと、
    前記データコールの試行が成功したかどうかを判定するステップと、
    前記データコールが不成功である場合、モバイルデバイスが前記選択されたサービスプロバイダアカウントのためのホームネットワーク内に位置するかどうかを判定するステップと、
    前記モバイルデバイスが、前記選択されたサービスプロバイダアカウントのための前記ホームネットワークの外に位置すると判定される場合、ローミング状態を示すステップと、
    既存のモバイルデバイスクレデンシャルの値を、メモリ内の一時ファイルに格納するステップと、
    前記データコールの試行が不成功であり、かつ、前記モバイルデバイスが選択されたサービスプロバイダのためのホームネットワークの外に位置しない場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更するステップと、
    アカウントサーバに接触して、前記選択されたサービスプロバイダアカウントがアクティブであるかどうかを判定するステップと、
    前記選択されたサービスプロバイダアカウントがアクティブであると判定される場合、修復ルーチンを行うステップと、
    前記選択されたサービスプロバイダアカウントが、前記アカウントサーバによって、アクティブでないと判定される場合、工場出荷時のパラメータおよび前記選択されたサービスプロバイダアカウントのアクティベーションのインジケータをリセットするステップとをさらに備えるコンピュータ可読記憶媒体。
  31. 前記格納されたプロセッサ実行可能ソフトウェア命令は、
    接続失敗カウンタをゼロにリセットするステップと、
    前記データコールが不成功であり、かつ、前記モバイルデバイスが前記選択されたサービスプロバイダアカウントのための前記ホームネットワーク内であると判定される場合、前記接続失敗カウンタを増分するステップと、
    前記接続失敗カウンタが所定の数に等しいかどうかを判定するステップと、
    接続試行の数が前記所定の数に等しくない場合、データコールの実施の試行を繰り返すステップとを備える、さらなるステップをプロセッサに行わせるように構成され、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのための既知の実用クレデンシャルの値に変更する前記ステップは、前記接続失敗カウンタが前記所定の数の接続試行に等しい場合にのみ行われる、請求項30に記載のコンピュータ可読記憶媒体。
  32. 前記格納されたプロセッサ実行可能ソフトウェア命令は、
    前記選択されたサービスプロバイダでのアカウントがアクティブであると判定される場合、前記既存のモバイルデバイスクレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された、選択されたサービスプロバイダアカウントクレデンシャルの値と比較して、前記値の間に不一致があるかどうかを判定するステップと、
    不一致が存在する場合、前記既知の実用クレデンシャルの値を、前記選択されたサービスプロバイダのHLR/AAAサーバに格納された前記クレデンシャルの値に変更するステップとを備える、さらなるステップをプロセッサに行わせるように構成された、請求項30に記載のコンピュータ可読記憶媒体。
JP2012511940A 2009-05-17 2010-05-17 複数のサービスアカウントを有するモバイルデバイスをプログラムするための方法および装置 Active JP5613762B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/467,281 2009-05-17
US12/467,281 US8417231B2 (en) 2009-05-17 2009-05-17 Method and apparatus for programming a mobile device with multiple service accounts
PCT/US2010/035149 WO2010135257A1 (en) 2009-05-17 2010-05-17 Method and apparatus for programming a mobile device with multiple service accounts

Publications (2)

Publication Number Publication Date
JP2012527206A JP2012527206A (ja) 2012-11-01
JP5613762B2 true JP5613762B2 (ja) 2014-10-29

Family

ID=42490883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012511940A Active JP5613762B2 (ja) 2009-05-17 2010-05-17 複数のサービスアカウントを有するモバイルデバイスをプログラムするための方法および装置

Country Status (8)

Country Link
US (1) US8417231B2 (ja)
EP (1) EP2433438B1 (ja)
JP (1) JP5613762B2 (ja)
KR (1) KR101417241B1 (ja)
CN (1) CN102422658B (ja)
ES (1) ES2767876T3 (ja)
HU (1) HUE047345T2 (ja)
WO (1) WO2010135257A1 (ja)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2068597A1 (en) * 2007-12-07 2009-06-10 Gemalto SA A method for loading credentials into a mobile communication device such as a mobile phone.
US9170870B1 (en) 2013-08-27 2015-10-27 Sprint Communications Company L.P. Development and testing of payload receipt by a portable electronic device
US8453140B2 (en) * 2009-04-28 2013-05-28 Qualcomm Incorporated Method for generically handling carrier specific provisioning for computer cellular wireless cards
US8417234B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US8249649B2 (en) * 2010-07-02 2012-08-21 Google Inc. Mobile device configured to operate on multiple different networks
US8633896B2 (en) * 2010-12-15 2014-01-21 Blackberry Limited Communication device
US8924489B2 (en) 2011-01-05 2014-12-30 Apple Inc. Message push notification client improvements for multi-user devices
US9609587B2 (en) 2011-01-31 2017-03-28 Synchronoss Technologies, Inc. System and method for host and OS agnostic management of connected devices through network controlled state alteration
US8850016B1 (en) * 2011-03-23 2014-09-30 Sprint Spectrum L.P. Provisionable-services clearinghouse for authorizing and tracking a mobile device's access to multiple types of services and multiple service providers
US8612967B1 (en) 2011-05-31 2013-12-17 Sprint Communications Company L.P. Loading branded media outside system partition
EP2560434A1 (en) 2011-08-19 2013-02-20 Gemalto SA Method for switching a subscription from a first MNO to a second MNO
KR101909260B1 (ko) * 2011-11-25 2018-10-18 주식회사 케이티 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말
US8666383B1 (en) 2011-12-23 2014-03-04 Sprint Communications Company L.P. Automated branding of generic applications
US10455071B2 (en) 2012-05-09 2019-10-22 Sprint Communications Company L.P. Self-identification of brand and branded firmware installation in a generic electronic device
US8649788B1 (en) * 2012-08-13 2014-02-11 Sprint Communications Company L.P. Dynamic wireless transceiver selection in a wireless communication device
US9198027B2 (en) 2012-09-18 2015-11-24 Sprint Communications Company L.P. Generic mobile devices customization framework
US9615401B2 (en) * 2012-12-11 2017-04-04 Qualcomm Incorporated Methods and apparatus for updating a device configuration
ES2647088T3 (es) * 2012-12-21 2017-12-19 Giesecke+Devrient Mobile Security Gmbh Procedimientos y dispositivos para la gestión de suscripciones OTA
US8909291B1 (en) 2013-01-18 2014-12-09 Sprint Communications Company L.P. Dynamic remotely managed SIM profile
US9100819B2 (en) * 2013-02-08 2015-08-04 Sprint-Communications Company L.P. System and method of provisioning and reprovisioning a mobile device based on self-locating
US9549009B1 (en) 2013-02-08 2017-01-17 Sprint Communications Company L.P. Electronic fixed brand labeling
US9100769B2 (en) 2013-02-08 2015-08-04 Sprint Communications Company L.P. System and method of storing service brand packages on a mobile device
US9204286B1 (en) 2013-03-15 2015-12-01 Sprint Communications Company L.P. System and method of branding and labeling a mobile device
US9042877B1 (en) * 2013-05-21 2015-05-26 Sprint Communications Company L.P. System and method for retrofitting a branding framework into a mobile communication device
US9280483B1 (en) 2013-05-22 2016-03-08 Sprint Communications Company L.P. Rebranding a portable electronic device while maintaining user data
KR101523259B1 (ko) * 2013-07-08 2015-06-02 연세대학교 산학협력단 홈 네트워크 서비스 제공 방법 및 장치
US9532211B1 (en) 2013-08-15 2016-12-27 Sprint Communications Company L.P. Directing server connection based on location identifier
US9161209B1 (en) * 2013-08-21 2015-10-13 Sprint Communications Company L.P. Multi-step mobile device initiation with intermediate partial reset
US9204239B1 (en) 2013-08-27 2015-12-01 Sprint Communications Company L.P. Segmented customization package within distributed server architecture
US9143924B1 (en) 2013-08-27 2015-09-22 Sprint Communications Company L.P. Segmented customization payload delivery
US9125037B2 (en) 2013-08-27 2015-09-01 Sprint Communications Company L.P. System and methods for deferred and remote device branding
US10506398B2 (en) 2013-10-23 2019-12-10 Sprint Communications Company Lp. Implementation of remotely hosted branding content and customizations
US9743271B2 (en) 2013-10-23 2017-08-22 Sprint Communications Company L.P. Delivery of branding content and customizations to a mobile communication device
US9301081B1 (en) 2013-11-06 2016-03-29 Sprint Communications Company L.P. Delivery of oversized branding elements for customization
US9363622B1 (en) 2013-11-08 2016-06-07 Sprint Communications Company L.P. Separation of client identification composition from customization payload to original equipment manufacturer layer
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
GB2520685A (en) * 2013-11-27 2015-06-03 Nordic Semiconductor Asa Integrated circuit radio devices
US9392395B1 (en) 2014-01-16 2016-07-12 Sprint Communications Company L.P. Background delivery of device configuration and branding
US9420496B1 (en) * 2014-01-24 2016-08-16 Sprint Communications Company L.P. Activation sequence using permission based connection to network
US9603009B1 (en) 2014-01-24 2017-03-21 Sprint Communications Company L.P. System and method of branding a device independent of device activation
US9681251B1 (en) 2014-03-31 2017-06-13 Sprint Communications Company L.P. Customization for preloaded applications
US9426641B1 (en) 2014-06-05 2016-08-23 Sprint Communications Company L.P. Multiple carrier partition dynamic access on a mobile device
US9307400B1 (en) 2014-09-02 2016-04-05 Sprint Communications Company L.P. System and method of efficient mobile device network brand customization
US9571339B2 (en) * 2014-10-30 2017-02-14 Amazon Technologies, Inc. Configuring an electronic device for wireless communications
US9992326B1 (en) 2014-10-31 2018-06-05 Sprint Communications Company L.P. Out of the box experience (OOBE) country choice using Wi-Fi layer transmission
US9357378B1 (en) 2015-03-04 2016-05-31 Sprint Communications Company L.P. Subscriber identity module (SIM) card initiation of custom application launcher installation on a mobile communication device
US9398462B1 (en) 2015-03-04 2016-07-19 Sprint Communications Company L.P. Network access tiered based on application launcher installation
US20170337390A1 (en) * 2016-05-18 2017-11-23 Qualcomm Incorporated Data protection at factory reset
US9913132B1 (en) 2016-09-14 2018-03-06 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest
US10021240B1 (en) 2016-09-16 2018-07-10 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest with feature override
US10306433B1 (en) 2017-05-01 2019-05-28 Sprint Communications Company L.P. Mobile phone differentiated user set-up
US10546444B2 (en) 2018-06-21 2020-01-28 Capital One Services, Llc Systems and methods for secure read-only authentication
US10489781B1 (en) 2018-10-02 2019-11-26 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10607214B1 (en) 2018-10-02 2020-03-31 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072583A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for establishing identity for order pick up
CA3115142A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771253B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10511443B1 (en) 2018-10-02 2019-12-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10582386B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
JP2022511281A (ja) 2018-10-02 2022-01-31 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
WO2020072440A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10542036B1 (en) 2018-10-02 2020-01-21 Capital One Services, Llc Systems and methods for signaling an attack on contactless cards
KR20210065961A (ko) 2018-10-02 2021-06-04 캐피탈 원 서비시즈, 엘엘씨 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
SG11202102543WA (en) 2018-10-02 2021-04-29 Capital One Services Llc Systems and methods for cryptographic authentication of contactless cards
US10565587B1 (en) 2018-10-02 2020-02-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10783519B2 (en) 2018-10-02 2020-09-22 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10949520B2 (en) 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
US10579998B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
JP2022501861A (ja) 2018-10-02 2022-01-06 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーCapital One Services, LLC 非接触カードの暗号化認証のためのシステムおよび方法
KR20210069033A (ko) 2018-10-02 2021-06-10 캐피탈 원 서비시즈, 엘엘씨 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
US10505738B1 (en) 2018-10-02 2019-12-10 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11210664B2 (en) 2018-10-02 2021-12-28 Capital One Services, Llc Systems and methods for amplifying the strength of cryptographic algorithms
US10909527B2 (en) 2018-10-02 2021-02-02 Capital One Services, Llc Systems and methods for performing a reissue of a contactless card
US10630653B1 (en) 2018-10-02 2020-04-21 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072474A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3115064A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3113101A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771254B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for email-based card activation
AU2019355436A1 (en) 2018-10-02 2021-04-15 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10554411B1 (en) 2018-10-02 2020-02-04 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10581611B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11361302B2 (en) 2019-01-11 2022-06-14 Capital One Services, Llc Systems and methods for touch screen interface interaction using a card overlay
US11037136B2 (en) 2019-01-24 2021-06-15 Capital One Services, Llc Tap to autofill card data
US10467622B1 (en) 2019-02-01 2019-11-05 Capital One Services, Llc Using on-demand applications to generate virtual numbers for a contactless card to securely autofill forms
US11120453B2 (en) 2019-02-01 2021-09-14 Capital One Services, Llc Tap card to securely generate card data to copy to clipboard
US10510074B1 (en) 2019-02-01 2019-12-17 Capital One Services, Llc One-tap payment using a contactless card
US10425129B1 (en) 2019-02-27 2019-09-24 Capital One Services, Llc Techniques to reduce power consumption in near field communication systems
US10523708B1 (en) 2019-03-18 2019-12-31 Capital One Services, Llc System and method for second factor authentication of customer support calls
US10438437B1 (en) 2019-03-20 2019-10-08 Capital One Services, Llc Tap to copy data to clipboard via NFC
US10643420B1 (en) 2019-03-20 2020-05-05 Capital One Services, Llc Contextual tapping engine
US10535062B1 (en) 2019-03-20 2020-01-14 Capital One Services, Llc Using a contactless card to securely share personal data stored in a blockchain
US10984416B2 (en) 2019-03-20 2021-04-20 Capital One Services, Llc NFC mobile currency transfer
US10970712B2 (en) 2019-03-21 2021-04-06 Capital One Services, Llc Delegated administration of permissions using a contactless card
US10467445B1 (en) 2019-03-28 2019-11-05 Capital One Services, Llc Devices and methods for contactless card alignment with a foldable mobile device
US11521262B2 (en) 2019-05-28 2022-12-06 Capital One Services, Llc NFC enhanced augmented reality information overlays
US10516447B1 (en) 2019-06-17 2019-12-24 Capital One Services, Llc Dynamic power levels in NFC card communications
US10871958B1 (en) 2019-07-03 2020-12-22 Capital One Services, Llc Techniques to perform applet programming
US11392933B2 (en) 2019-07-03 2022-07-19 Capital One Services, Llc Systems and methods for providing online and hybridcard interactions
US11694187B2 (en) 2019-07-03 2023-07-04 Capital One Services, Llc Constraining transactional capabilities for contactless cards
US10713649B1 (en) 2019-07-09 2020-07-14 Capital One Services, Llc System and method enabling mobile near-field communication to update display on a payment card
US10498401B1 (en) 2019-07-15 2019-12-03 Capital One Services, Llc System and method for guiding card positioning using phone sensors
US10885514B1 (en) 2019-07-15 2021-01-05 Capital One Services, Llc System and method for using image data to trigger contactless card transactions
US11182771B2 (en) 2019-07-17 2021-11-23 Capital One Services, Llc System for value loading onto in-vehicle device
US10832271B1 (en) 2019-07-17 2020-11-10 Capital One Services, Llc Verified reviews using a contactless card
US10733601B1 (en) 2019-07-17 2020-08-04 Capital One Services, Llc Body area network facilitated authentication or payment authorization
US11521213B2 (en) 2019-07-18 2022-12-06 Capital One Services, Llc Continuous authentication for digital services based on contactless card positioning
US10506426B1 (en) 2019-07-19 2019-12-10 Capital One Services, Llc Techniques for call authentication
US10541995B1 (en) 2019-07-23 2020-01-21 Capital One Services, Llc First factor contactless card authentication system and method
US10701560B1 (en) 2019-10-02 2020-06-30 Capital One Services, Llc Client device authentication using contactless legacy magnetic stripe data
EP3839789B1 (en) * 2019-12-20 2023-06-28 Barclays Execution Services Limited Secure data leakage control in a third party cloud computing environment
US10862540B1 (en) 2019-12-23 2020-12-08 Capital One Services, Llc Method for mapping NFC field strength and location on mobile devices
US11113685B2 (en) 2019-12-23 2021-09-07 Capital One Services, Llc Card issuing with restricted virtual numbers
US10733283B1 (en) 2019-12-23 2020-08-04 Capital One Services, Llc Secure password generation and management using NFC and contactless smart cards
US11651361B2 (en) 2019-12-23 2023-05-16 Capital One Services, Llc Secure authentication based on passport data stored in a contactless card
US10657754B1 (en) 2019-12-23 2020-05-19 Capital One Services, Llc Contactless card and personal identification system
US10885410B1 (en) 2019-12-23 2021-01-05 Capital One Services, Llc Generating barcodes utilizing cryptographic techniques
US11615395B2 (en) 2019-12-23 2023-03-28 Capital One Services, Llc Authentication for third party digital wallet provisioning
US10853795B1 (en) 2019-12-24 2020-12-01 Capital One Services, Llc Secure authentication based on identity data stored in a contactless card
US10664941B1 (en) 2019-12-24 2020-05-26 Capital One Services, Llc Steganographic image encoding of biometric template information on a card
US11200563B2 (en) 2019-12-24 2021-12-14 Capital One Services, Llc Account registration using a contactless card
US10909544B1 (en) 2019-12-26 2021-02-02 Capital One Services, Llc Accessing and utilizing multiple loyalty point accounts
US10757574B1 (en) 2019-12-26 2020-08-25 Capital One Services, Llc Multi-factor authentication providing a credential via a contactless card for secure messaging
US11038688B1 (en) 2019-12-30 2021-06-15 Capital One Services, Llc Techniques to control applets for contactless cards
US11455620B2 (en) 2019-12-31 2022-09-27 Capital One Services, Llc Tapping a contactless card to a computing device to provision a virtual number
US10860914B1 (en) 2019-12-31 2020-12-08 Capital One Services, Llc Contactless card and method of assembly
US11210656B2 (en) 2020-04-13 2021-12-28 Capital One Services, Llc Determining specific terms for contactless card activation
US10861006B1 (en) 2020-04-30 2020-12-08 Capital One Services, Llc Systems and methods for data access control using a short-range transceiver
US11222342B2 (en) 2020-04-30 2022-01-11 Capital One Services, Llc Accurate images in graphical user interfaces to enable data transfer
US10915888B1 (en) 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys
US11030339B1 (en) 2020-04-30 2021-06-08 Capital One Services, Llc Systems and methods for data access control of personal user data using a short-range transceiver
US11823175B2 (en) 2020-04-30 2023-11-21 Capital One Services, Llc Intelligent card unlock
US10963865B1 (en) 2020-05-12 2021-03-30 Capital One Services, Llc Augmented reality card activation experience
US11063979B1 (en) 2020-05-18 2021-07-13 Capital One Services, Llc Enabling communications between applications in a mobile operating system
US11100511B1 (en) 2020-05-18 2021-08-24 Capital One Services, Llc Application-based point of sale system in mobile operating systems
US11062098B1 (en) 2020-08-11 2021-07-13 Capital One Services, Llc Augmented reality information display and interaction via NFC based authentication
US11482312B2 (en) 2020-10-30 2022-10-25 Capital One Services, Llc Secure verification of medical status using a contactless card
US11165586B1 (en) 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
US11373169B2 (en) 2020-11-03 2022-06-28 Capital One Services, Llc Web-based activation of contactless cards
US11216799B1 (en) 2021-01-04 2022-01-04 Capital One Services, Llc Secure generation of one-time passcodes using a contactless card
US11682012B2 (en) 2021-01-27 2023-06-20 Capital One Services, Llc Contactless delivery systems and methods
US11687930B2 (en) 2021-01-28 2023-06-27 Capital One Services, Llc Systems and methods for authentication of access tokens
US11562358B2 (en) 2021-01-28 2023-01-24 Capital One Services, Llc Systems and methods for near field contactless card communication and cryptographic authentication
US11792001B2 (en) 2021-01-28 2023-10-17 Capital One Services, Llc Systems and methods for secure reprovisioning
US11438329B2 (en) 2021-01-29 2022-09-06 Capital One Services, Llc Systems and methods for authenticated peer-to-peer data transfer using resource locators
US11777933B2 (en) 2021-02-03 2023-10-03 Capital One Services, Llc URL-based authentication for payment cards
US11637826B2 (en) 2021-02-24 2023-04-25 Capital One Services, Llc Establishing authentication persistence
US11245438B1 (en) 2021-03-26 2022-02-08 Capital One Services, Llc Network-enabled smart apparatus and systems and methods for activating and provisioning same
US11935035B2 (en) 2021-04-20 2024-03-19 Capital One Services, Llc Techniques to utilize resource locators by a contactless card to perform a sequence of operations
US11961089B2 (en) 2021-04-20 2024-04-16 Capital One Services, Llc On-demand applications to extend web services
US11902442B2 (en) 2021-04-22 2024-02-13 Capital One Services, Llc Secure management of accounts on display devices using a contactless card
US11354555B1 (en) 2021-05-04 2022-06-07 Capital One Services, Llc Methods, mediums, and systems for applying a display to a transaction card

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI106902B (fi) 1992-02-28 2001-04-30 Nokia Networks Oy Radiopuhelin
US5564020A (en) 1994-06-30 1996-10-08 Compaq Computer Corporation Apparatus for reducing interference between a computer device and a radio transceiver utilizing separated units with an infrared link
GB2292047B (en) 1994-07-28 1998-09-16 Motorola Ltd Communications system
DE19543843C2 (de) 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
US5887254A (en) 1996-04-26 1999-03-23 Nokia Mobile Phones Limited Methods and apparatus for updating the software of a mobile terminal using the air interface
US6876295B1 (en) 1998-12-16 2005-04-05 Symbol Technologies, Inc. Wireless communication devices configurable via passive tags
US6975632B2 (en) 1999-03-15 2005-12-13 Cisco Technology, Inc. Multi-service architecture with any port any service (APAS) hardware platform
KR20010050212A (ko) 1999-09-13 2001-06-15 스테븐 디.피터스 메모리 카드에 기록된 파일에 대한 접근 제어 시스템
US6829222B2 (en) 2000-04-25 2004-12-07 Board Of Regents The University Of Texas System Clusterhead selection in wireless ad hoc networks
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
GB0103918D0 (en) * 2001-02-16 2001-04-04 Pathfinder Tech Resources Ltd Mobile telephone operation
GB2386504B (en) 2002-03-12 2005-03-02 Toshiba Res Europ Ltd Alternative radio system monitoring
JP2004064289A (ja) * 2002-07-26 2004-02-26 Ntt Docomo Inc 複数無線通信システム対応の通信端末、ソフトウェア送信サーバ及びicカード書き込み装置
DE60336570D1 (de) 2002-10-07 2011-05-12 Panasonic Corp Kommunikationsvorrichtung und verfahren zum umkonfigurieren der kommunikationsvorrichtung
AU2003284292A1 (en) 2002-10-21 2004-05-13 Bitfone Corporation System with required enhancements to syncml dm environment to support firmware updates
US20080177994A1 (en) 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US20040230965A1 (en) 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US7139372B2 (en) * 2003-03-07 2006-11-21 July Systems, Inc Authorized distribution of digital content over mobile networks
EP1473845A1 (en) 2003-04-29 2004-11-03 Sony Ericsson Mobile Communications AB Front end of a multi-standard two-channel direct-conversion quadrature receiver
US20040237081A1 (en) 2003-05-19 2004-11-25 Homiller Daniel P. Methods and apparatus for generating upgraded software from initial software and software upgrade packages
US20050010916A1 (en) 2003-05-24 2005-01-13 Hagen David A. System for providing software application updates to multiple clients on a network
US7359698B2 (en) * 2003-09-08 2008-04-15 Kyocera Wireless Corp. Systems and methods for enhanced over-the-air programming
US20050055689A1 (en) 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
US7305090B1 (en) * 2003-09-12 2007-12-04 Sprint Spectrum L.P. Method and system for use of common provisioning data to activate cellular wireless devices
US7565650B2 (en) 2003-10-23 2009-07-21 International Business Machines Corporation Method, apparatus and computer program product for deploying software via post-load images
US7461374B1 (en) * 2003-12-01 2008-12-02 Cisco Technology, Inc. Dynamic installation and activation of software packages in a distributed networking device
US7260382B1 (en) * 2004-09-21 2007-08-21 Sprint Spectrum L.P. Method and system for customizing a wireless device's user-interface based on which vendor distributed the wireless device
US7200390B1 (en) 2004-12-30 2007-04-03 Cellco Partnership Device software update transport and download
US7516206B2 (en) 2005-01-28 2009-04-07 Cassatt Corporation Management of software images for computing nodes of a distributed computing system
JP2006270910A (ja) * 2005-02-22 2006-10-05 Mitsubishi Electric Corp ソフトウェア無線携帯電話通信システム及びソフトウェア無線携帯電話端末
US7355509B2 (en) 2005-02-25 2008-04-08 Iwapi Inc. Smart modem device for vehicular and roadside applications
US20060203722A1 (en) * 2005-03-14 2006-09-14 Nokia Corporation System and method for managing performance of mobile terminals via remote diagnostics
US20060221918A1 (en) 2005-04-01 2006-10-05 Hitachi, Ltd. System, method and computer program product for providing content to a remote device
JP2006309533A (ja) * 2005-04-28 2006-11-09 Hitachi Kokusai Electric Inc 分散処理プログラム
JP2006331307A (ja) * 2005-05-30 2006-12-07 Hitachi Kokusai Electric Inc 分散システム
US7945958B2 (en) * 2005-06-07 2011-05-17 Vmware, Inc. Constraint injection system for immunizing software programs against vulnerabilities and attacks
EP1761088B1 (en) 2005-09-01 2010-01-13 France Telecom Customisation of mobile stations
US8775526B2 (en) 2006-01-16 2014-07-08 Zlango Ltd. Iconic communication
US20080266595A1 (en) 2006-09-11 2008-10-30 Christopher Wright Independently-addressable cellular wireless digital network-based fax machine
KR20080052050A (ko) * 2006-12-07 2008-06-11 한국전자통신연구원 에스디알 단말기와 이의 무선 데이터 서비스 방법
US7950045B2 (en) * 2006-12-13 2011-05-24 Cellco Partnership Techniques for managing security in next generation communication networks
US8150425B1 (en) 2007-03-16 2012-04-03 At&T Mobility Ii Llc Systems and methods for merchandising new offers to mobile telephone users based on changes to the mobile telephone's components
JP4842183B2 (ja) * 2007-03-20 2011-12-21 Kddi株式会社 ソフトウェア無線端末および端末管理装置
US8839221B2 (en) * 2007-09-10 2014-09-16 Moka5, Inc. Automatic acquisition and installation of software upgrades for collections of virtual machines
US20090075698A1 (en) 2007-09-14 2009-03-19 Zhimin Ding Removable Card And A Mobile Wireless Communication Device
US7934083B2 (en) 2007-09-14 2011-04-26 Kevin Norman Taylor Configurable access kernel
US8189549B2 (en) * 2007-10-22 2012-05-29 T-Mobile Usa, Inc. System and method for indicating a subscriber's zone within converged telecommunications networks
US20090215449A1 (en) * 2008-02-26 2009-08-27 Netanel Avner System and Method for Virtual Roaming of Mobile Communication Devices
US20110010543A1 (en) * 2009-03-06 2011-01-13 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US8453140B2 (en) 2009-04-28 2013-05-28 Qualcomm Incorporated Method for generically handling carrier specific provisioning for computer cellular wireless cards
US8417234B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8756256B2 (en) 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts

Also Published As

Publication number Publication date
US20100291898A1 (en) 2010-11-18
KR20120016285A (ko) 2012-02-23
HUE047345T2 (hu) 2020-04-28
WO2010135257A1 (en) 2010-11-25
US8417231B2 (en) 2013-04-09
CN102422658A (zh) 2012-04-18
EP2433438A1 (en) 2012-03-28
KR101417241B1 (ko) 2014-07-16
CN102422658B (zh) 2014-10-08
ES2767876T3 (es) 2020-06-18
JP2012527206A (ja) 2012-11-01
EP2433438B1 (en) 2019-10-23

Similar Documents

Publication Publication Date Title
JP5613762B2 (ja) 複数のサービスアカウントを有するモバイルデバイスをプログラムするための方法および装置
US8417234B2 (en) Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US10574780B2 (en) Method and apparatus for receiving profile by terminal in mobile communication system
US10334443B2 (en) Method for configuring profile of subscriber authenticating module embedded and installed in terminal device, and apparatus using same
US10652731B2 (en) Method and system for downloading and installing UICC terminal profile on a terminal from a profile manager
EP2578005B1 (en) Method and apparatus for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US8649789B2 (en) Method and apparatus for switching virtual SIM service contracts when roaming
JP4856212B2 (ja) 拒否コード処理による、データ対応ネットワーク優先化
JP5404924B2 (ja) コンピューティングデバイスの不正使用を防止するための方法および装置
KR20170041597A (ko) 통신 시스템에서 프로파일을 원격으로 제공하는 방법 및 장치
US20180103336A1 (en) Remote device modification
CN114731497B (zh) 网络连接性
US8190198B1 (en) Enabling portability of credentials across dual mode devices
EP2060106A2 (en) System and method to enable subscriber self-activation of wireless data terminals
KR102004515B1 (ko) 이동 장치 id 관리방법
KR20150138285A (ko) 통신 인터페이스들의 자동화된 구성을 용이하게 하기 위한 디바이스들 및 방법들
US9125145B1 (en) Mobile device centered communication routing module

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140908

R150 Certificate of patent or registration of utility model

Ref document number: 5613762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250