JP2013526818A - 複数のサービスアカウントをもつ通信デバイスのための不揮発性項目とプロビジョニングファイルとの管理のための方法およびシステム - Google Patents

複数のサービスアカウントをもつ通信デバイスのための不揮発性項目とプロビジョニングファイルとの管理のための方法およびシステム Download PDF

Info

Publication number
JP2013526818A
JP2013526818A JP2013512123A JP2013512123A JP2013526818A JP 2013526818 A JP2013526818 A JP 2013526818A JP 2013512123 A JP2013512123 A JP 2013512123A JP 2013512123 A JP2013512123 A JP 2013512123A JP 2013526818 A JP2013526818 A JP 2013526818A
Authority
JP
Japan
Prior art keywords
volatile memory
item value
communication device
carrier
value stored
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.)
Pending
Application number
JP2013512123A
Other languages
English (en)
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 JP2013526818A publication Critical patent/JP2013526818A/ja
Pending legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Telephone Function (AREA)

Abstract

方法およびシステムは、ソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスが、様々なサービスプロバイダネットワークのいずれの上でも動作するように通信デバイスをシームレスに再プログラムすることを可能にする。ソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスを再プログラムすることによって、通信デバイスは、UMTS通信ネットワークとCDMA通信ネットワークの両方の上での通信をサポートすることができる。ユーザが、通信をサポートするサービスプロバイダアカウント間を迅速に効率的に切り替えることを可能にする環境が提供される。

Description

関連出願
本出願は、各々の内容全体が参照により本明細書に組み込まれる、2009年5月17日に出願された「Method and Apparatus for Programming a Communication device with Multiple Service Accounts」と題する米国特許出願番号第12/467,281号、2009年5月17日に出願された「Method and Apparatus for Tracking the Programming of a Communication device with Multiple Service Accounts」と題する米国特許出願番号第12/467,282号、および2009年4月28日に出願された「Method for Generically Handling Carrier Specific Provisioning for Computer Cellular Wireless Cards」と題する米国特許出願番号第12/431,050号に関する。
本発明は、一般に、セルラー通信デバイスをプロビジョニングし、プログラムすることに関し、より詳細には、複数の技術および/または複数のキャリアにわたって単一のセルラー通信デバイス/ユニット上で複数のサービスプロバイダアカウントをプロビジョニングし、プログラムするための方法および装置に関する。
従来、セルラー通信デバイスは、特定の技術を使用して特定のキャリアのネットワーク上で動作するように設計され、プログラムされる。しばしば、キャリアは、固有のサービス、機能、および通信デバイスを提供することによって、自身の特定のキャリアネットワークサービスにより多くの潜在顧客を誘い込もうと試みる。しかしながら、ユーザは、特定のキャリアのネットワークで使用されるように設計され、プログラムされた特定のデバイスのみを使用せざるを得ないので、これはしばしばユーザにフラストレーションを起こさせる。
いかなるキャリアネットワークでも動作することが可能な通信デバイスのフレキシビリティをユーザに与えるために、通信デバイスは、QualcommのGobi(登録商標)チップセットなどのソフトウェア定義無線ベースチップセットモジュールを装備し得る。これらのソフトウェア定義無線ベースチップセットモジュールにより、通信デバイスは、プログラマブルデジタル信号プロセッサ(DSP)内でデータ信号を生成、符号化/復号および変調/復調することが可能になる。プログラマブルDSPにより、いかなる通信技術(すなわち、GSM/UMTS対CDMA)の波形、周波数およびデータパケット要件にも適合するように通信信号をソフトウェアによって定義することが可能になる。異なる特性をもつ信号を生成するようにDSPを再プログラムすることによって、特定のキャリアによって利用されている通信技術にかかわらず、通信デバイスは、いかなるキャリアの固有の通信ネットワークにも適合する通信信号を生成するようにされ得る。したがって、そのようなソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスは、通信サポートのためにいかなるキャリアにもサブスクライブし得る。
そのようなソフトウェア定義無線ベースのチップセットモジュールを装備した通信デバイスをほぼあらゆるキャリアの通信ネットワーク上で動作するようにプログラムすることが可能であるが、キャリアの通信ネットワーク上で適切に動作するためには、通信デバイスはまた、選択されたキャリアのネットワーク用に適切にプロビジョニングされなければならない。各キャリアは、キャリアごとに異なるだけではなく、同じキャリアによってサポートされるアカウント間でさえ異なり得る多数の固有パラメータ値の実装を必要とする。この実装は、通信デバイスのプロビジョニングと呼ばれる。多種多様な通信デバイス動作、異なるキャリアによって提供される利用可能な機能セット、および多数の可能なプロビジョニングパラメータを仮定すれば、そのような通信デバイスの効率的なプログラミングおよびプロビジョニングの達成は困難である。
適切に装備された通信デバイスがいくつかの異なるキャリア通信ネットワークのいずれの上でも動作することができるように複数のキャリアのための不揮発性プロビジョニングデータパラメータをカテゴリー分類し、記憶するための様々な実施方法およびシステムが提供される。そのような通信デバイスは、その通信デバイスが(UMTS、CDMA、およびGPSを含む)すべての技術タイプのセルラーネットワークと通信することを可能にするソフトウェアベース無線チップセットモジュールを含み得る。
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
様々な実施形態をサポートすることが可能な通信デバイスの典型的な構成要素を示すブロック図である。 ソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイス内で動作するソフトウェアモジュールのハードウェア/ソフトウェアアーキテクチャ図である。 ノーテーションファイル内に含まれている情報の様々なカテゴリーのブロック図である。 様々なキャリアプロビジョニングイメージにおいて使用される不揮発性(NV:nonvolatile)項目の様々なカテゴリーを識別するチャートである。 静的および動的多重化環境における様々なNV項目値を示す図である。 一実施形態による、NV項目値を読み出し、それをフラッシュメモリに書き込むために実装され得る例示的なステップを示すプロセスフロー図である。 一実施形態による、技術ロックを与えるために実装され得る例示的なステップを示すプロセスフロー図である。 一実施形態による、通信デバイス上での通信をサポートする、選択されたキャリアのための適切なソフトウェアモジュールおよびNV項目をインストールするために実装され得る例示的なステップを示すプロセスフロー図である。 一実施形態による、通信デバイス上での通信をサポートする、選択されたキャリアのための適切なソフトウェアモジュールおよびNV項目をインストールするために実装され得る例示的なステップを示すプロセスフロー図である。
本発明の態様が示された添付の図面を参照しながら、本システム、デバイス、装置、方法、およびコンピュータ可読媒体について以下でより詳細に説明する。しかしながら、本システム、デバイス、装置、方法、および機械可読媒体は、多くの異なる形態で実施され得、本明細書に記載の態様に限定されると解釈されるべきではなく、本態様は、本開示が周到で完全になるように、また本発明の範囲を当業者に伝えるように提供されるものである。全体にわたって同様の符号は同様の要素を指す。
本明細書では、「例示的」という用語は、本明細書では「例、事例、または例示として役立つこと」を意味するために使用される。本明細書に「例示的」と記載されたいかなる実施形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
本明細書で使用する「通信デバイス」という用語は、たとえば、セルラー電話、個人情報端末(PDA)、パームトップコンピュータ、ラップトップおよびノートブックコンピュータ、ワイヤレス電子メール受信機(たとえば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応セルラー電話(たとえば、Blackberry Storm(登録商標))、ならびにワイヤレス通信モジュールとプロセッサとメモリとを含む同様のパーソナル電子デバイスを含む、ワイヤレスボイスおよびデータ通信のための通信モジュールを実装する、存在し得るまたは将来開発されることになるいかなる形態のプログラマブルコンピュータをも包含するものとする。好ましい一実施形態では、通信デバイスは、ソフトウェア定義無線ベースチップセットモジュールをもつポータブルコンピュータである。
一般に、セルラー通信ネットワークの個々のオペレータは、しばしばキャリアと呼ばれ、自身のネットワークへの大きい投資を行い、サービスおよび機能セットに基づいて市場において互いに競合する。その結果、キャリアは、自身のネットワークへのアクセスを制限するための経済的な理由を有する。したがって、キャリアはしばしば、誰が自身の通信ネットワークにアクセスすることができるかを制御しようとする。キャリアが自身の通信ネットワークへのアクセスを制御する1つの従来の方法は、どの通信デバイスがキャリアの通信デバイスにアクセスすることができるかを制限することによるものである。
従来のセルラー通信デバイスは、2つの競合する技術の一方を採用する。競合する技術の一方の上で動作するように設計された通信デバイスは、他方の上では動作せず、その逆も同様である。これらのネットワーク技術のうちの1つは、Universal Mobile Telecommunications System(UMTS)である。UMTSは、Global System for Mobile Communications(GSM(登録商標))技術を継承するように設計された第3世代(3G)技術である。UMTSは3GSMと呼ばれることがある。第2のネットワーク技術は符号分割多元接続(CDMA)である。これらの2つの競合する技術の間にはいくつかの差異があり、コアUMTSは時分割多重化方式を実装するが、CDMAは(その名が示す通り)符号ベースの多重化方式を実装する。UMTSネットワークでは、ネットワークの総帯域幅の一部分がチャネルとして通信デバイスに割り振られる。ネットワーク基地局は、次いで、通信デバイスとの間でボイスおよび/またはデータ情報を送り、受信するために、短い時間量の間、割り振られたチャネルの各々を選択的に「リッスンする」。基地局は、ネットワーク上で動作する他の通信デバイスに割り振られた他のチャネルもリッスンしなければならないので、基地局は、短い時間量の間、割り振られたチャネルを選択的にリッスンすることしかできない。有効時に、UMTS方式は、それの限られた帯域幅によって妨害され、単一の通信デバイスに単一のチャネルを専用化する必要がある。
対照的に、CDMAネットワークでは、各チャネルは複数の通信デバイスによって利用され得る。同じ割り振られたチャネル上で動作する異なる通信デバイスから受信した情報を区別するために、各通信デバイスには、ボイスおよび/またはデータ情報を符号化するための異なる符号化オフセットが割り当てられる。復号コードオフセットを選択的に切り替えることによって、基地局は、同じ割り振られたチャネル上で動作する複数の通信デバイスから受信した情報を復号することができる。これは、同じ量の総帯域幅上でより多くの通信デバイスをサービスする能力を大幅に増加させる。
競合する技術の各々の上に実装された多重化および符号化方式に加えて、競合する通信ネットワークを動作させる個々のサービスプロバイダは、自身のそれぞれの通信ネットワークを介して送られている、および受信されている通信信号の他の態様を変更し得る。これにより各キャリアは、自身のネットワークを別のネットワークと区別することが可能になり、場合によっては機能の区別をそれの顧客に提供することが可能になる。これらの態様は、通信信号波形、周波数、振幅などを含み得る。
特定のキャリアのネットワーク上で適切に動作するために、通信デバイスは、サービスプロバイダのネットワークによって必要とされる正しい変調および符号化方式を用いて適切な波形を生成するために必要なハードウェアが装備されなければならない。2つの競合するネットワーク間で使用される波形、変調および符号化方式のタイプの基本的な差のために、UMTS技術ネットワーク上で動作するのに必要なハードウェアを装備した通信デバイスは、CDMA技術ネットワーク上で動作することができず、その逆も同様である。
キャリアが自身の通信ネットワークへのアクセスを制御する第2の従来の方法は、直接キャリアからしか受信され得ない固有のプロビジョニング情報イメージを作成することによるものである。適切なプロビジョニングイメージが通信デバイスの不揮発性メモリにロードされなければ、通信デバイスは、キャリアの通信ネットワークにアクセスし得ない。キャリアに固有であるプロビジョニングイメージを生成することによって、キャリアは、同じ通信技術(すなわち、UMTS対CDMA)で動作する通信デバイスがキャリアのネットワークにアクセスすることを、適切な通信技術と適切なプロビジョニングイメージとを採用する通信デバイスのみに制限し得る。
セルラー通信デバイス上にロードされる必要があるプロビジョニング情報は、通信デバイスがネットワークにアクセスするため必要とされる情報と、通信デバイスによってネットワークに送信されるべき識別子と、通信デバイスが、たとえどこにセルラーネットワークが位置しようともセルラーネットワークに接続することを可能にする情報とを含む。特に、通信デバイスは、特定のキャリアのネットワークに接続するための周波数とアクセスコードとを通知される必要がある。また、キャリアが、通信デバイスをネットワークにアクセスすることを許可されるものとして認識することになるように、通信デバイスは、通信デバイスがキャリアのネットワークに送信することになる識別コードを用いてプログラムされる必要がある。プロビジョニング情報は、1次ネットワークが利用不可能であるときに使用されるべきキャリアとネットワークアクセス周波数とのセットである、好適ローミングリスト(PRL)として知られるデータをも含むことになる。そのようなサブスクリプション関係データに加えて、プロビジョニング情報はまた、特定の変数を特定の値に設定することによって通信デバイス上で機能およびアプリケーションをアクティブにする機能フラグと定義とを含み得る。たとえば、あるキャリアは、3G標準における特定のオプション機能をサポートすることを選択し得、プロビジョニング中に関連するフラグおよびデータ値を設定することによってそれを行う。商業上の理由によりそのオプション機能をサポートしないことを選択する第2のキャリアは、それのプロビジョニングデータ中に、この機能に関連するフラグとデータとの異なるセットを含むことになる。
プロビジョニング情報は、一般に、トランシーバ回路板上のフラッシュメモリなどの不揮発性(NV)メモリに記憶される。これにより、必須プロビジョニング情報がネットワークに接続するための通信デバイスにとって常に利用可能であることが保障される。したがって、プロビジョニング情報は、様々なNV項目を含んでいるといわれている。各NV項目は、データの値またはアレイを含み得る。各NV項目は、関数または機能セットを実行するためにキャリアによって利用され得る現在、数千個の可能なNV項目が存在する。従来、通信デバイス製造業者は、特定のキャリアのための特定のデバイスモデルを開発した。特定のデバイスモデルは、特定のキャリア用に設計され、開発されるので、通信デバイスの製造業者は、通信デバイスとそれの関数およびアプリケーションの各々とが特定のキャリアの通信ネットワーク上で適切に動作するようにフラッシュメモリ中に様々なNV項目とNV項目値とを設定し得る。通信デバイスが複数のキャリア上で通信を開始することを可能にするために、NV項目とNV項目値とは、新しいキャリアが選択されるたびに変更される必要があり得る。本明細書で開示する様々な実施形態は、ソフトウェア定義通信モジュールを含んでいる通信デバイスに記憶されたNV項目とNV項目値との修正および改定を可能にする。
特定のキャリアの通信ネットワーク上での通信を維持するために、いくつかの要件が通信デバイスによって満たされなければならない。これらの要件を満たすために、通信デバイスによって実行されているソフトウェアは、様々なNV項目とNV項目値とを実装する。したがって、異なるプロビジョニング/ノーテーションファイルイメージが、各可能なキャリアネットワーク上で動作するデバイスごとに存在し得る。プロビジョニング/ノーテーションファイルイメージは、プロビジョニングイメージを実行する各通信デバイスがキャリアの通信ネットワークに損傷を与えないこと、あるいはキャリアのネットワーク上に確立された他の通信リンクまたは他の通信デバイスに影響を及ぼさないことを保証するために各キャリアによって認証され得る。各プロビジョニングイメージは、各NV項目に割り当てられた値を変化させ得るだけでなく、それによりNV項目がキャリア固有のプロビジョニングイメージ中に含まれる。キャリア固有のプロビジョニングイメージは、可能なNV項目のすべての値を含んでいる必要はない。実際、NV項目の多くは、必ずしもすべてのキャリアによって提供されるとは限らない様々な機能セットに関係するので、NV項目の多くは、キャリアのプロビジョニングイメージ内に含まれていない。たとえば、NV項目のいくつかは、全地球測位システム(GPS)アプリケーションに関係する。キャリアがそれの機能セット中でGPSアプリケーションを提供していない場合、そのキャリアのためのプロビジョニングイメージは、それらのNV項目へのいかなる参照も含んでいないことがある。キャリアはまた、特定のNV項目に割り当てられた値のフォーマットを変化させることによって、それらのプロビジョニングイメージを別のキャリアのプロビジョニングイメージと区別し得る。
ほとんどのプロビジョニングイメージに共通であるNV項目については、各キャリアのプロビジョニングイメージは、特定の共通NV項目の値とは異なる値またはフォーマットを有する。これらの値は、様々なソフトウェア関数呼出しによるアクセスのために、通信デバイスの不揮発性メモリに記憶される。特定のキャリアのためのソフトウェアビルドが通信デバイス上で関数を実行しようと試みると、ソフトウェアビルドは、特定のNV項目値にアクセスしようと試み得る。ソフトウェアが適切に実行するために、特定のNV項目の値は、正しいNVメモリロケーションに記憶されなければならないだけでなく、正しいフォーマットおよび値をも有していなければならない。そうでない場合、通信デバイス上で実行するソフトウェアは、関数を適切に実行することができなくなる。たとえば、正しいチャネル周波数が、選択されたキャリアの正しい値で適切なNVメモリロケーションに記憶されていない場合、通信デバイス上で実行するソフトウェアが、キャリアの通信ネットワーク上で呼を開始しようと試みると、正しいチャネル周波数がアクセスされず、呼は失敗することになる。
さらに、いくつかのNV項目値は、キャリアに固有であるだけでなく、さらにキャリアとの特定のユーザのサブスクリプションアカウントにも固有である。ユーザがプロビジョニングプロセスを開始すると、いくつかのNV項目値がユーザのサブスクリプションアカウントに割り当てられる。たとえば、電話番号、ユーザ名、パスワードなどは、キャリアのプロビジョニングイメージに固有であるだけでなく、さらに各個のユーザのサブスクリプションアカウントにも固有であり得る。したがって、あるサブスクリプションアカウントのためのプロビジョニングイメージと、異なるサブスクリプションアカウントのためのプロビジョニングイメージの両方が、同じ通信技術(すなわち、UMTS、CDMA)を使用する同じキャリアによってサポートされているにもかかわらず、一方のプロビジョニングイメージは、他方のプロビジョニングイメージとは異なり得る。
いくつかの設定では、加入者識別モジュール(SIM)カードまたは類似するR-UIMカードなどのリムーバブルスマートカードによって、ユーザは、キャリア介入の必要なしに通信デバイスにロードされたプロビジョニングデータを交換することが可能になり得る。様々なキャリアのためのプロビジョニング情報がリムーバブルスマートカードに記憶され得る。各スマートカードが様々なキャリアのためのプロビジョニングデータを記憶し得るので、ユーザは1次サービスのために異なるキャリアネットワークを使用するために通信デバイス中のスマートカードを物理的に交換し得る。しかしながら、スマートカードを物理的に交換する必要があるので、ユーザは、複数のスマートカードを携帯する必要がある。さらに、スマートカードを物理的に交換するのは煩雑である。最後に、スマートカードを使用しても依然として、UMTS技術ネットワーク上で動作するのに必要なハードウェアを装備した通信デバイスはCDMA技術ネットワーク上で動作することはできず、その逆も同様である。
上記で説明したように、従来の通信デバイスは、ハードウェア定義無線チップセットモジュールを装備し、それを用いて設計されている。したがって、従来の通信デバイスは、単一の通信技術(たとえば、GSM/UMTS対CDMA)の上で動作するように設計される。そのような従来の通信デバイスは、キャリアが自身の通信ネットワークへのアクセスを制限するのを支援するが、ユーザが任意のキャリアで自身の通信デバイスを使用することを妨げるので、そのようなデバイス設計はしばしばユーザにフラストレーションを起こさせる。たとえば、CDMAタイプの通信デバイスを所有するユーザは、UMTSキャリアネットワークのみが動作するエリアではその通信デバイスを使用することができないことがあり、その逆も同様である。
さらに、従来の通信デバイスは、単一のキャリアの通信ネットワークで動作するように設計されている。したがって、従来の通信デバイスの不揮発性メモリは、単一のキャリアのためのプロビジョニングイメージしか記憶しないことがある。(同じ通信技術、すなわちUMTS対CDMAを仮定して)ユーザが通信デバイスを別のキャリア用に再プロビジョニングしようと試みると、第1のキャリアのためのプロビジョニングイメージが第2のキャリアのためのプロビジョニングイメージによって上書きされる。ユーザのサブスクリプションアカウントに固有のNV項目値を含む第1のキャリアのためのプロビジョニングイメージが失われる。したがって、ユーザが、第1のキャリアのためのプロビジョニングイメージを用いて通信デバイスを再プロビジョニングしようと試みると、ユーザのサブスクリプションアカウントに固有のNV項目が失われ得る。その結果、ユーザには、新しい電話番号が割り当てられるか、またはユーザは、ユーザ名、パスワードなどを再入力することが必要になり得る。本質的に、ユーザが通信デバイスを再プロビジョニングしようと試みるたびに、ユーザは、完全に新しいサブスクリプションアカウントを与えられる。
これらの難点の一部を克服し、存在するほぼすべてのキャリアで自身の通信デバイスを使用するというフレキシビリティをユーザに与えるために、新規の通信デバイスは、QualcommのGobi(登録商標)などのソフトウェア定義無線ベースチップセットモジュールを装備し得る。そのようなソフトウェア定義無線ベースチップセットモジュールは、プログラマブルデジタル信号プロセッサ(DSP)内でデータ信号を生成、符号化/復号、および変調/復調する。プログラマブルDSPにより、いかなる通信技術(すなわち、GSM/UMTS対CDMA)の波形、周波数およびデータパケット要件にも適合するように通信信号をソフトウェアによって定義することが可能になる。異なる特性をもつ信号を生成するようにDSPを再プログラムすることによって、通信デバイスは、いかなるサービスプロバイダの固有の通信ネットワークにも適合する通信信号を生成するようにされ得る。したがって、ソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスは、必要とされる通信技術にかかわらず、通信サポートのためにいかなるキャリアにもサブスクライブし得る。
しかしながら、いかなるキャリア上でも適切に動作するためには、適切にプログラムされたソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスでさえも、選択されたキャリア用に適切にプロビジョニングされなければならない。ソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスを再プログラムし、再プロビジョニングしようとする以前の試みは、ソフトウェアビルド全体ならびにプロビジョニングイメージの完全な交換を必要とした。この再プログラムと再プロビジョニングとは、時間がかり非効率的であると考えられ得る。さらに、ソフトウェアビルドの小部分に対する更新は、更新されたソフトウェアビルドの完全な再プログラムを必要とすることになる。
本明細書で開示する様々な装置および方法は、そのようなソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイスの効率的なプログラミングおよびプロビジョニングを対象とする。様々な実施形態の装置および方法は、ソフトウェアビルドおよびプロビジョニングイメージを変更/更新するためにノーテーションファイルを利用する。キャリアのプロビジョニング情報中に含まれている可能なNV項目のセットをカテゴリー分類することによって、キャリアのソフトウェアビルドおよびプロビジョニングイメージによって必要とされるNV項目の値は、小さいバイナリフォーマットファイル中に効率的にパッケージングされ得る。ノーテーションファイルに対する更新は、ソフトウェアビルドに異なるNV項目および/またはNV項目値を実装するように指示することによってソフトウェアビルドに対する更新を実現し得る。ノーテーションファイルのサイズは完全なソフトウェアビルドよりもかなり小さいので、ソフトウェアビルドに対する更新は、速い速度および高い効率で行われ、通信デバイスに送信され得る。ノーテーションファイルは、様々なNV項目の値がメモリに前もって記憶されているメモリロケーションおよびスロットにNV項目値自体またはインデックスを含み得る。たいていの場合、ノーテーションファイルは、通信をサポートする各キャリアに固有のものである。しかしながら、いくつかの事例では、ノーテーションファイルは、複数のキャリアに共有されるか、または共通のものであり得る。これは、異なるキャリアが同様のプロビジョニング要件(すなわち、同様の技術、機能、アプリケーションなど)を有する同様のネットワークを動作させる場合であり得る。したがって、汎用ノーテーションファイルが複数のキャリアのために実装され得る。(対応するソフトウェアビルドとともに)汎用ノーテーションファイル中に含まれている情報を抽出し、パースすることによって、通信デバイス10は、複数のキャリアネットワークのいずれかの上で動作するように構成され得る。これにより、ユーザが複数のキャリアのネットワークカバレージのうちの1つが複数のキャリアのネットワークの別の1つほど良好でないエリア中で、シームレスに通信を続けることが可能になり得る。
図1に、様々な実施形態をサポートすることが可能な通信デバイス10の典型的な構成要素を示す。通信デバイス10は、内部メモリ192に結合されたプロセッサ191またはデュアル(またはそれ以上の)プロセッサ191aおよび191bと、ユーザインターフェースディスプレイ11とを含む。通信デバイスはまた、大量のデータを記憶することが可能であるハードドライブなどのストレージユニット193を含み得る。通信デバイス10はまた、複数のサービスプロバイダ通信ネットワークのいずれかの上で動作することが可能なソフトウェア定義通信モジュール20を含み得る。ソフトウェア定義通信モジュール20は、選択されたサービスプロバイダのためのデバイスのソフトウェア動作を変更する際に使用するためのNV項目のインデックス付きテーブルを記憶し得るフラッシュメモリ24とファイルシステム26とを含み得る。フラッシュメモリ24は、ブート情報ブロック25と埋込みフラッシュファイルシステム26とを含み得る。フラッシュファイルシステム26は、現在使用されていないサービスプロバイダアカウントのためのNV項目を維持するために使用されるいくつかのファイルを含み得る。埋込みファイルシステム26の構成要素のうちの1つは、以下でより詳細に説明するNV項目であり得る。通信デバイスは、システムメモリ項目のためのストレージを与える内部メモリ192をさらに含み得る。内部メモリ192はSDRAMタイプメモリであり得る。
通信デバイス10は、プロセッサ191に結合されたソフトウェア定義通信モジュール20に接続された、電磁放射を送り受信するためのアンテナ194を含み得る。さらに、通信デバイス10は、可聴音を生成するためのスピーカー18と、ユーザの音声を受信することなど、音響を感知するためのマイクロフォン19とを含む。マイクロフォン19とスピーカー18の両方は、ボコーダ199を介してプロセッサ191に接続され得、ボコーダ199は、マイクロフォン19から受信したアナログ電気信号をデジタルコードに変換し、プロセッサ191から受信したデジタルコードをアナログ電気信号に変換し、スピーカー18はそのアナログ電気信号を音波に変換することができる。いくつかの実装形態では、ボコーダ199は、プロセッサ191の回路およびプログラミングの一部として含まれ得る。通信デバイスは、一般に、ユーザ入力を受け取るためのキーパッド13およびメニュー選択ボタンまたはロッカースイッチ12をも含む。
プロセッサ191は、以下で説明する様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数の多重プロセッサチップであり得る。通信デバイスによっては、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、多重プロセッサ191が設けられることがある。通信デバイス10によっては、通信デバイスの間でワイヤレス通信機能および/またはアプリケーションを共有するために複数のプロセッサ191a、191bが設けられることがある。一般に、ソフトウェアアプリケーションは、アクセスされ、プロセッサ191にロードされる前に内部メモリ192に記憶され得る。通信デバイスによっては、プロセッサ191は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。通信デバイスによっては、プロセッサ191は、信号発生器回路およびモデム回路に加えて2つのプロセッサを含むQualcommのGobi(登録商標)などのソフトウェア定義通信モジュール20内に含まれる。
図2は、ソフトウェア定義無線ベースチップセットモジュールを装備した通信デバイス上のソフトウェアモジュールのハードウェア/ソフトウェアアーキテクチャ図である。図2に示すように、通信デバイス10は、QualcommのGobi(登録商標)などのソフトウェア定義無線ベースチップセット通信モジュール20(通信モジュール)を含む。ソフトウェアモジュールおよびダイナミックリンクライブラリ(DLL)は、製造業者によって通信デバイス10のハードドライブまたはメモリ記憶ユニット上にロードされ得る。いくつかの事例では、通信デバイス10は、特定のキャリアのための特定のソフトウェアモジュールがプリロードされることがある。他の例では、通信デバイス10は、すべてではないが大部分のキャリアのためのソフトウェアビルドによって利用され得る汎用ソフトウェアモジュールがプリロードされることがある。他の実施形態では、ユーザが新しいキャリアにおける新しいアカウントをアクティブにするたびに、ソフトウェアモジュールおよびDLLは、動的プロビジョニングNV項目とともに通信デバイスのメモリにロードされ得る。
選択されたキャリアネットワークに適合するデータ信号を生成するようにソフトウェア定義無線ベースチップセット内のDSPを再プログラムするために、通信デバイス10は、選択されたキャリアに適切なソフトウェアビルドをロードしなければならない。各キャリアのソフトウェアビルドは、サービスプロバイダの通信ネットワーク上で適切に搬送されるべきデータ信号の生成、符号化および変調を行うのに必要な命令を含み、ならびにサービスプロバイダによって提供される追加機能のすべてを行うのに必要なプログラミングを含み得る。異なるキャリアに適切なソフトウェアビルドを選択的に有効にすることによって、通信デバイスは、1つまたは複数のキャリアによってサポートされる複数のアカウント間で交互に切り替えることが可能であり得る。
ソフトウェア定義無線ベースチップセット通信モジュール20を再プログラムする以前の試みでは、ソフトウェアビルド全体がデバイス10のメモリバッファに書き込まれ、プロビジョニングイメージがフラッシュメモリ24に書き込まれていた。最近の機能強化により、通信デバイスは、はるかに小さいノーテーションファイルを実行することが可能である。ノーテーションファイルは、特定のキャリアのための完全なソフトウェアビルドを生成するように様々なソフトウェアモジュールを構成するようにプロセッサに指示を与える。ノーテーションファイルは、ソフトウェアビルドよりもサイズがかなり小さいので、ノーテーションファイルは更新するのがはるかに容易である。一実施形態では、選択されたキャリアに固有のNV項目、PRLおよび任意の不揮発性設定を符号化する追加のバイナリフォーマットノーテーションファイル(たとえば、UQCNとも呼ばれる、UNDP Qualcomm Compact Notation)が与えられる。追加のノーテーションファイルは、別個のファイルとして、またはキャリア固有のソフトウェアイメージ内にバンドルされた状態でキャリア固有のソフトウェアイメージとともにロードされ得る。ノーテーションファイルは、異なるキャリアのための様々なNV項目値が取り出され得、ならびに受信したNV項目値のコピーが記憶され得るソフトウェアビルドを命令する。
ユーザが異なるキャリアアカウントを有効にすることを選択するたびに、ユーザは、選択されたキャリア(61、62、63)のための個々の接続マネージャを起動するか、または共通接続マネージャ60を通して個々の接続マネージャを起動し得る。各キャリアの接続マネージャはノーテーションファイル(たとえば、Universal Qualcomm Notationファイル(UQCN))を含み得、このノーテーションファイルは、共通アプリケーションプログラミングインターフェース(C-API)40に、選択されたキャリアのための正確なソフトウェアビルドイメージを生成するためにマルチインターフェースモジュール30内の適切なDLLとソフトウェアモジュールとを取り出すように、およびメモリから選択されたNV項目値を取り出し、それらを通信モジュール20のフラッシュメモリ24に配置するように命令する。ソフトウェアビルドの全体は、多数のソフトウェアモジュールとDLLとを含み得るが、ノーテーションファイルは、容易に更新され得る小さい個別ファイルであり得る。ノーテーションファイルへの更新により、キャリアは、C-API40とマルチインターフェースモジュール30とに異なるあらかじめ記憶されたソフトウェアモジュールまたはNV項目値を取り出すように命令することによって自身のソフトウェアビルドを迅速に容易に変更することが可能になり得る。対照的に、従来のソフトウェアビルドは、まったく新しいソフトウェアモジュールとDLLとをロードすることによってのみ更新され得る。一般に、ノーテーションファイルは、10kb程度であり得、ソフトウェアビルドのストレージサイズよりもかなり小さい。したがって、はるかに小さいノーテーションファイルを送信することによって、キャリアは、ソフトウェアビルドとプロビジョニングイメージとに迅速におよび効率的に変更を加えることが可能であり得る。
図3に、通信デバイス10中で正確なソフトウェアビルドとプロビジョニングイメージとを生成するために使用され得るノーテーションファイル内に含まれている様々な情報ブロックの一部を示す。たとえば、ノーテーションファイルは、通信デバイスロックデータ301を含んでいる。通信デバイスロックデータ301は、通信デバイス10を特定のキャリアアカウントに制限するために使用され得、以下でより詳細に説明する。ノーテーションファイルはまた、バージョン番号データ302を含んでおり、それにより、通信デバイス10のプロセッサは、通信デバイス10がノーテーションファイルの直近の更新されたバージョン、したがって直近の更新されたソフトウェアビルドとプロビジョニングイメージとを有することを検証することが可能になる。
ノーテーションファイルはまた、キャリア固有の機能を有効にするデータを含み得る。たとえば、ノーテーションファイルは、特定のキャリアのためのGPS機能303を有効にするNV項目値を含み得る。通信デバイス10のGPS機能の機能性を無効にする代替NV項目値をもつノーテーションファイルの代替バージョンが、通信デバイス10上にロードされ得る。このようにして、キャリアは、識別された通信デバイスに新しいノーテーションファイルを送信することによって、サブスクリプションレベルに従って様々な機能を選択的に有効および無効にすることが可能であり得る。同様に、ノーテーションファイルは、通信デバイス10を製造する工場によって通信デバイスのメモリ中に事前記憶されたNV項目に関係するデータを含み得る。
以下でより詳細に説明するように、通信デバイス10を製造するとき、製造業者は、メモリにいくつかのNV項目値をプリロードし得る。これらのNV項目の各々は、明確に割り当てられたメモリスロットに記憶される。工場NV項目インデックス304は、特定のキャリアのアカウントが有効にされるように選択されたときに特定のキャリアに関係するNV項目を取り出すために、通信モジュール20についての必要な情報を含み得る。同様に、ユーザが特定のキャリアにおける新しいアカウントをアクティブにするたびに、様々なNV項目値が、キャリアに固有のノーテーションファイルからダウンロードされ、メモリに記憶され得る。これらのNV項目値のコピーは、生成され、後続の取出しのために明確に割り当てられたメモリスロットに記憶され得る。キャリアNV項目インデックスは、これらのNV項目値を含んでいる明確に割り当てられたメモリスロットの記録を含み得る。
工場NV項目インデックスとは対照的に、NV項目値のコピーは、ユーザが選択されたキャリアにおけるアカウントをアクティブにすることを選択するまで実際には生成されず、メモリスロットに記憶されないことがある。しかしながら、アカウントがアクティブにされると、特定のキャリアNV項目値のコピーは、生成され、事前に割り当てられたメモリスロットに記憶され得る。事前に割り当てられたメモリスロットのインデックスは、キャリアNV項目インデックス305内に含まれ得る。
他の情報は、特定のキャリアに固有のものであるノーテーションファイル中に含まれ得、まったく新しいソフトウェアビルドがロードされるまで変化しない。そのような静的UQCNデータ306は、たとえば、SCI、MIP、再試行などを含み得る。さらに、ノーテーションファイルは、多重化UQCNデータ307を含み得る。そのような多重化UQCNデータは、たとえば、好適ローミングリスト(PRL)、有効なキャリアアカウントに関連するモバイルディレクトリ番号(MDN)、パケットデータプロトコル(PDP)プロファイルなどを含み得る。
上記の項目の各々は、現在有効なキャリアアカウントに固有のものであり、新しいキャリアアカウントが有効になったときに不揮発性メモリ中で上書きされ得る。
上記で説明したように、ユーザが異なるキャリアアカウントをアクティブにすることを望むとき、通信モジュール20のフラッシュメモリ24に、適切なソフトウェアビルドがロードされなければならないだけでなく、適切なNV項目プロファイル値もロードされなければならない。多数の可能なNV項目がプロファイル中に現れるので、すべてのNV項目の管理は難しくなり得る。したがって、すべての可能なサービスプロバイダのためのNV項目設定と工場プロビジョニングファイルとを管理し、追跡し、配信するために、一実施形態は、すべての可能なNV項目を単一のドキュメントソリューションにカテゴリー分類する。
図4は、NV項目の主要なカテゴリーならびに識別されたカテゴリーに属するNV項目の例を識別する例示的なデータテーブルである。図4中で識別される主要なカテゴリーには、出荷時設定、工場プロビジョニング、多重化/工場プロビジョニング、多重化ソフトウェア、UQCN、多重化UQCN、およびソフトウェアがある。
NV項目の出荷時設定カテゴリーは、通信デバイス10が製造されたときに工場によってプログラムされるNV項目を含み得る。たとえば、NV項目のこのカテゴリーは、通信デバイスの無線周波数(RF)較正手順とともに使用されるパラメータを含み得る。これらのNV項目は、たとえば、通信デバイスによって使用される帯域選好を含み得る。これらのNV項目の値は一般に、通信デバイス上でどのサービスプロバイダアカウントが現在有効にされているかにかかわらず変化しない。また、これらのNV項目の値は一般に、通信デバイス上で現在有効にされているサービスプロバイダアカウントによって使用される通信技術にかかわらず変化しない。
NV項目の第2のカテゴリーは、工場プロビジョニング項目として識別される。出荷時設定項目と同様に、これらの項目は、通信デバイス10が製造されたときに工場によって割り当てられるそれらの値を有する。NV項目の工場プロビジョニングカテゴリーは、個々のキャリアによって指定される。たとえば、個々のサービスプロバイダは、特定の10キーファイルと、拡張ローミングインジケータ(ERI)ファイルと、ベンダー識別/製品識別(VID/PID)またはノートブックロックとを含むことを望み得る。このカテゴリー中のNV項目の多くは、各個のキャリアまたはOEMに固有のものであり、固有のキャリア/OEMに特有の値を有し得る。多くの場合、他のキャリアまたはOEMは、独自の固有のプロファイル中に同じNV項目を含まないことになる。
NV項目の第3のカテゴリーは、多重化工場プロビジョニング項目(multiplexed factory provisioned item)を含み得る。NV項目の工場プロビジョニングカテゴリーと同様に、多重化工場プロビジョニング項目は、通信デバイス10の製造中に工場によってメモリスロットにプリロードされるNV項目値である。多重化工場プロビジョニングNV項目は、特定のメモリスロットロケーションに記憶される。これらの特定のメモリスロットロケーションアドレスの各々は、工場NV項目インデックス304中のノーテーションファイル中で識別される。各個のキャリアまたはOEMに固有のNV項目をしばしば含んでいるNV項目の「工場プロビジョニング」カテゴリーとは異なり、NV項目の「多重化工場プロビジョニング」カテゴリーは、一般に、複数のキャリアまたはOEMによって使用されるNV項目を含む。しかしながら、これらのNV項目の値は、各キャリア/OEMに固有のものであるか、さらには各個の通信デバイスに固有のものであり得る。したがって、これらのNV項目に割り当てられた値は、通信デバイスのフラッシュメモリ24中で多重化され得る。たとえば、NV項目のこのカテゴリーは、特定の認証キー(Aキー)ファイル、サービスプログラミングコード(SPC)ファイル、またはワンタイムキーパッドサブシディロック(OTKSL:One time Key pad Subsidy Lock)ファイルを含み得る。複数のサービスプロバイダが不揮発性メモリに記憶されたAキーファイルを必要とするが、各サービスプロバイダは、Aキーの異なる値を必要とすることになる。実際、各個のサービスプロバイダアカウントは、固有のAキーファイルを必要とすることになる。したがって、異なるサービスプロバイダアカウントが通信デバイス上で有効になると、Aキー値の異なる値がフラッシュメモリ24に書き込まれなければならない。
NV項目の第4のカテゴリーは、多重化/ソフトウェアNV項目を含み得る。NV項目のこのカテゴリーは、初期アカウントアクティベーションプロセス中に各キャリアのためのソフトウェアビルドによって割り当てられ、初期化される動的項目を含む。工場プロビジョニングNV項目とは対照的に、これらのNV項目値は、ユーザが選択されたキャリアにおけるアカウントをアクティブにすることを選択するまでは生成されず、割り当てられない。選択されたキャリアにおけるアカウントの最初のアクティベーション中に、特定のNV項目の値が生成され、割り当てられ得る。ユーザが選択されたキャリアにおけるアカウントをアクティブにすることを選択するまではNV項目のこのカテゴリーの値は記憶されないが、アクティベーションプロセスが開始されると、このカテゴリーに属するNV項目の値が通信デバイス内の事前に割り当てられたメモリスロットに記憶される。これらの事前に割り当てられたメモリスロットのロケーションは、ノーテーションファイルの一部であるキャリアNV項目インデックス105内に含まれ得る。多重化/ソフトウェアNV項目の例には、MIP、ユーザ名、パスワードなどがある。
NV項目の第5のカテゴリーは、静的ノーテーションファイル(UQCN)項目を含み得る。これらのNV項目値は、新しいキャリアのソフトウェアビルドがロードされるたびに上書きされるキャリア固有の項目である。これらのNV項目の例には、ディスプレイスクリーン上にキャリアロゴを表示するデスクトップイメージ、SCI(スロットサイクルインデックス)、MIP(モバイルIP再試行)などがあり得る。選択されたキャリアが同じままである限り、そのようなNV項目は静的のままである。したがって、ユーザが同じキャリア内の異なるアカウント間で切り替えたとき、これらのNV項目の値は変化しない。静的ノーテーションファイル項目は、複数のアカウントをもつユーザがあるキャリアから次のキャリアに切り替えた場合に上書きされ得る。静的ノーテーションファイル項目は何らかの他の手段によって(たとえば、オーバージエアアクティベーションを介して、または接続マネージャによって)変更されないので、静的ノーテーションファイル項目は、そのような方法でカテゴリー分類され得る。したがって、これらのNV項目の別個のコピーを維持する理由はない。したがって、貴重なメモリ空間がリクレームされ、節約され得る。
NV項目の第6のカテゴリーは、多重化ノーテーションファイル(UQCN)項目を含み得る。静的ノーテーションファイル項目と同様に、多重化ノーテーションファイル項目は、キャリア固有のものであり、新しいキャリアソフトウェアビルドがロードされるたびに上書きされる。ノーテーションファイルはサービスプロバイダごとに異なり得るが、あるサービスプロバイダのノーテーションファイル中に現れる様々なNV項目が別のサービスプロバイダのノーテーションファイル中にも現れ得る。たとえば、各サービスプロバイダは、有限境界を有する通信ネットワークを維持し得る。この通信ネットワークは、しばしば、加入者のホームネットワークと呼ばれる。加入者が自身のホームネットワークの範囲外に移動すると、加入者は、ホームネットワークを介してワイヤレス通信をもはや行えないことがある。しかしながら、他のサービスプロバイダが、加入者の現在のロケーションにおいて通信ネットワークを動作させていることがある。これらの他の通信ネットワークはローミングネットワークと呼ばれることがある。いくつかの事例では、あるロケーションにおいて利用可能な複数のローミングネットワークがあり得る。自身の加入者にホームネットワークの外部でワイヤレス通信を行い続ける能力を与えるために、加入者のサービスプロバイダは、それの加入者がローミングネットワークにアクセスするのを許可するように他のサービスプロバイダとしばしばネゴシエートし、その逆も同様である。しかしながら、ネゴシエートされた取引の詳細により、加入者のサービスプロバイダは、複数のローミングネットワークが利用可能である場合に、どのローミングネットワークにアクセスすべきかについての選好リストを有し得る。この選好リストは、しばしば、好適ローミングリスト(PRL)と呼ばれる。各サービスプロバイダがPRLを利用するが、PRLファイルは各サービスプロバイダに固有および特有のものである。したがって、各ノーテーションファイルは、それのNV項目の1つとしてPRLファイルを有し得るが、PRLファイルは、サービスプロバイダごとに異なることになる。したがって、PRLファイルなどのNV項目は、多重化ノーテーションファイルのNV項目の一例であり得る。多重化UQCN項目は、ノーテーションファイルにおいて定義されている値を取る。ある時点において、それらはまた、オーバージエアアクティベーションプロセスによって、または接続マネージャによって変更され得る。多重化ソフトウェア項目は、ネットワークによって定義された、ソフトウェア中の何らかのあらかじめ定義されたアルゴリズムを使用して割り当てられた値を有するNV項目であり得る。多重化項目の典型的な例は、モジュールがキャリアのネットワーク上でサービスのためにアクティブにされるときにキャリアによって割り当てられる共有秘密鍵/パスワードまたはユーザ名である。これらの値は、ソフトウェアにおいてあらかじめ定義されている特定のフォーマットで保存される。対照的に、UQCN(ノーテーションファイル)は、そのような項目値を含まない。むしろ、UQCN(ノーテーションファイル)は、ファイル中で多重化される属性を示す。たとえば、UQCNは、特定のフォーマット、または長さ、またはNV項目が多重化NV項目であるかどうかを示し得る。
NV項目の第7のカテゴリーは、ソフトウェア定義多重化項目を含み得る。これらの項目は、ソフトウェアビルドによって設定され、ソフトウェアビルドがアクティブになると変化しないNV項目である。これらのNV項目は、通信デバイスのモデル名を含み得る。これらの項目の値は、ソフトウェアによって割り当てられ、また、通常、ソフトウェアビルドをより効率的にするソフトウェアにおける何らかの機能性を与えるために保存される必要がある設定である。たとえば、ネットワークアクセス識別子(NAI)は、ユーザに「.com」識別子を与えるためにソフトウェアによって自動的に生成されるユーザ名である。一般に、通信デバイスのために使用される電話番号は.comアドレスに追加されて、固有のNAIを作成し得る一例として、ユーザの通信デバイスに電話番号202-555-1212が割り当てられた場合、Verizonソフトウェアビルドは、電話番号202-555-1212をドメインアドレス@vzw3g.comに追加して、NAI「202-555-1212@vzw3g.com」を生成する。そのようなNV項目値は、一度生成されると、ソフトウェアビルドが最初にアクティブにされた後は変化しない。一度生成された後にNAIを生成する必要はないので、多重化NV項目値は、ノーテーションファイルによって判断されたロケーションに記憶され、ソフトウェアビルドによっていつでも取り出され得、選択されたキャリアのためのノーテーションファイルがその後アクティブにされる。
ノーテーションファイルの使用を実装することによって、ソフトウェア定義通信モジュールを装備した通信デバイスは、それの通信を現在存在しないキャリアネットワークによってサポートさせるという追加のフレキシビリティを与えられ得る。たとえば、市場が発展するにつれて、将来オンラインになるが、現在は存在しない追加のキャリアが確立され得る。新たに確立されたキャリアがオンラインになると、新たに確立されたキャリアが既存の通信デバイス上での通信をサポートすることを可能にすることになる必要なパラメータ値が、ノーテーションファイル更新で通信デバイスにダウンロードされ得る。
様々な実施形態は、可能なサービスプロバイダごとに必要なNV項目の各々を管理し、記憶し、実装する機能を与える。NV項目を効果的に管理し記憶することを通して、ユーザは、単一の通信デバイス上でサービスプロバイダアカウント間で切り替え、必要なパラメータ値のすべてを維持し得る。一実施形態では、特定のNV項目に割り当てられる様々な値は、メモリ中に別々に維持され、記憶される。別々に維持され記憶されたNV項目値の各々はインデックス付けされ得る。NV項目値の各々は、たとえば、通信デバイスのRAMまたはハードドライブメモリに記憶され得る。特定のキャリアアカウントが有効になり、ノーテーションファイルがアクティブにされると、様々なNV項目値がRAMまたはハードドライブメモリから取り出され、通信モジュール20のフラッシュメモリ24にロードされ得る。
上記で説明したように、様々な実施形態は、メモリに記憶されたNV項目値を多重化する能力を活用する。このプロセスは、NV項目値のシャドーイングと呼ばれることがある。NV項目を多重化することによって、単一の通信デバイス10は、複数のキャリアサブスクリプションをサポートするだけでなく、ノーテーションファイルのパワーを強化するように構成され得る。NV項目の多重化またはシャドーイングは、キャリア固有の設定の複数のコピーを管理するための方法である。それは、インデックスの各々がキャリアを参照するインデックス付きアレイと呼ばれることがある。図5に、工場インデックス付きNV項目に適用するNV項目を多重化する概念を示す。このカテゴリー中のNV項目の各々の値は、知られており、通信デバイス10の製造業者によって工場においてプリロードされるので、これらの項目は静的多重化項目と呼ばれることある。各静的多重化NV項目の値は、事前に割り当てられたメモリスロットロケーションに記憶される。
例として、サービスプロビジョニングコード(SPC)は、工場インデックス付きNV項目のカテゴリー中に含まれるNV項目である。SPCはセキュリティ保護として使用される。通信デバイス10の通信モジュール20は、アクティベーション中に有効なSPCが与えられた場合のみプロビジョニングすることが許可されるようになる。一般に、各キャリアは、SPCに異なる値を利用する。たとえば、Verizon1は、SPCがすべてゼロに設定されることを必要とし得るが、Sprint2は、SPCがランダムに生成された6桁の番号であることを必要とし得る。他のキャリアは、特定の6桁の数字コードを必要とし得る。従来の通信デバイスでは、SPCの値は不揮発性メモリロケーション85に記憶される。キャリアのソフトウェアビルドがSPCの値を必要とするとき、ソフトウェアビルドは、不揮発性メモリロケーション85に記憶された値を見る。
一実施形態では、NV項目SPCの複数の値は、メモリに記憶され得る。SPCの異なる値の各々は、異なるメモリおよびスロットロケーションに記憶され得る。NV項目SPCの異なるキャリア値の各々を記憶する異なるメモリおよびスロットロケーションのインデックスは、後続の取出しのためにノーテーションファイル内に含まれ得る。図5に示すように、通信デバイス10は、メモリロケーション40085のための異なるスロットにSPCの値を記憶し得る。たとえば、VerizonのためのSPCの値は、メモリロケーション40085、スロット0に記憶され得る。この例では、「000000」の値は、メモリロケーション40085、スロット0に記憶され得る。SprintのためのSPCの値は、メモリロケーション40085、スロット1に記憶され得る。この例では、「345987」の値は、メモリロケーション40085、スロット1に記憶され得る。図5は、可能な将来のキャリア値のために追加のメモリスロットロケーションが存在することをも示す。この例では、将来-Xおよび将来-Yは、可能な将来のキャリアを表す。そのような将来のキャリアがアクティブに通信をサポートし始めると、それらの特定のSPC値の各々が、メモリロケーション40085、スロット10およびスロット11にそれぞれ記憶され得る。
従来のプロビジョニング動作では、NV項目SPCの値は、一般に、不揮発性メモリロケーション85に記憶され得る。したがって、選択されたキャリアのソフトウェアビルドは、実行すると、メモリロケーション85からNV項目SPCの値を取り出そうとし得る。しかしながら、ソフトウェア定義無線ベースチップセット通信モジュール20上へのソフトウェアビルドの実装中に、ソフトウェアビルドのロード後にノーテーションファイルがロードされ得る。ソフトウェアビルドが、不揮発性メモリロケーション85からSPCの値を取り出そうとすると、ノーテーションファイルは、次に、通信モジュール20に、メモリロケーション40085中の特定のスロットからSPC値を取り出すように指示し得る。スロットは、ソフトウェアビルドがロードされている選択されたキャリアを適切なメモリスロットロケーションと相関させる工場NV項目インデックスに従って選択され得る。したがって、Verizonソフトウェアビルドがロードされている場合、スロット0がアクセスされ得、000000の値が、不揮発性メモリロケーション85にロードされ得る。ただし、Sprintソフトウェアビルドがロードされている場合、スロット1がアクセスされ得、345987の値が、不揮発性メモリロケーション85にロードされ得る。したがって、NV項目SPCの値は、新しいNV項目メモリロケーションに記憶されたSPCの複数の値によって多重化またはシャドーイングされるといえる。
静的工場インデックス付きNV項目と同様に、動的キャリアインデックス付きNV項目は、メモリに記憶され、ソフトウェア定義無線ベースチップセット通信モジュール20によって利用され得る。NV項目の各々の値は、ユーザが選択されたキャリアにおけるアカウントをアクティブにすることを選択するまで知られないので、これらのNV項目は動的多重化項目と呼ばれることがある。したがって、各通信デバイス10は、コピーを動的に作成し、必要に応じてこれらのNV項目の値を記憶し得る。とはいえ、通信デバイス10は、コピーを作成し、選択されたキャリアのための特定のNV項目の値を記憶しないことがあるが、選択されたキャリアのための特定のNV項目の値が受信されると、コピーが生成され、事前に割り当てられたメモリロケーションおよびスロットに記憶される。
一例として、SDタイマーは、動的に多重化されたNV項目であり得る。従来の動作では、ユーザが選択されたキャリアにおけるアカウントをアクティブにすると、SDタイマーの値がキャリアによって生成され、通信デバイス10に送信される。SDタイマーの受信値は、次いで、NV項目3635に記憶される。選択されたキャリアのためのソフトウェアビルドが実行し、SDタイマーの値を取り出そうとするたびに、NVメモリロケーション3635が対象とされる。
一実施形態では、たとえば、ユーザが選択されたキャリアにおけるアカウントをアクティブにすると、通信デバイス10は、NV項目の中でもSDタイマーの値を受信する。通信デバイス10は、従来の動作の場合と同じ方法でSDタイマーのNV項目値を受信し得る。たとえば、この値は、オーバージエアプロビジョニングプロセス中で、または接続ケーブルを介して受信され得る。しかしながら、これらの動的NV項目値を保存するために、一実施方法は、ノーテーションファイルを利用して、新しいメモリロケーションにシャドーイングNV項目値を作成する。フラッシュメモリ24にNV項目値を書き込むことに加えて、受信したNV項目値のシャドーコピーを記憶するために、ノーテーションファイルは、ハードドライブメモリまたはRAM中に新しいメモリおよびスロットロケーションを作成するように、ソフトウェア定義無線ベースチップセット通信モジュール20に指示する。新しいメモリおよびスロットロケーションは、ノーテーションファイルによって割り当てられる。各キャリアは、NV項目値ごとに事前に割り当てられたメモリ/スロットロケーションを有する。ノーテーションファイルは、事前に割り当てられたインデックスを含んでいる。ユーザが選択されたキャリアにおけるアカウントをアクティブにするまで、記憶すべき動的に割り当てられるNV項目値は存在しないので、メモリロケーションスロットは作成されないことに留意されたい。キャリアアカウントがアクティブにされると、動的に割り当てられたNV項目値は、メモリに記憶され、それらのメモリおよびスロットロケーションがキャリアインデックスに追加される。したがって、ユーザが2つのキャリアにおけるキャリアアカウントのみをアクティブにした場合、2つのエントリだけがキャリアインデックス中に現れることになる。ユーザが新しいキャリアアカウントをアクティブにすることを選択するまでNV項目のコピーは作成されないので、メモリが節約され得る。通信デバイスのメモリ中の空間は、必要に応じて利用される。
さらに、キャリアインデックス中のエントリのリストは、キャリアアカウントがアクティブにされる順序を反映する。たとえば、Verizonノーテーションファイルは、動的に生成されるすべてのNV項目値をメモリスロット0に記憶することを規定し得る。しかしながら、Vodafoneノーテーションファイルは、それの動的に生成されるNV項目値をメモリスロット16に記憶することを規定し得る。その結果、たとえVodafoneがアクティブにされるべき第2のキャリアアカウントであったとしても、キャリアインデックスはVodafoneのためのインデックスである16を依然として記録することになる。キャリアインデックスに記載されているキャリアの相対順序は、アカウントがアクティブにされた順序の指示を与える。
このようにして、各キャリアのためのノーテーションファイルは、NV項目値がどこから取り出され得るかについてだけでなく、受信したNV項目値のコピーがどこに記憶されなければならないかについても示す。NV項目値をインデックス付けし、NVメモリロケーションから別個のメモリロケーションに記憶することによって、ユーザの様々なアカウントの各々の値が保存され得る。従来の動作では、ユーザが新しいキャリアアカウントを有効にすることを選択するたびに、フラッシュメモリ24中のメモリロケーションを占有する以前のNV項目値が上書きされ、保存されないことになる。ユーザが以前のキャリアアカウントを再び有効にしようすると、ユーザは、新しいキャリアインデックス付きNV項目値を取得することが必要になることになる。そのようなプロセスにより、キャリアアカウントを有効にするための遅延がより長くなり得る。さらに、キャリアアカウントがアクティブにされるたびにいくつかのNV項目値が生成される。一度上書きされると、ユーザのキャリアアカウントは、新しいNV項目値が生成され、ユーザのキャリアアカウントに割り当てられることを必要とすることになる。ユーザが異なるキャリアアカウントを有効にするたびに、割り当てられた電話番号、ユーザ名またはパスワードなどのNV項目がリセットされるならば、これはユーザに大きいフラストレーションをもたらし得る。多重化NV項目値の実施方法により、通信デバイス10は、以前に生成され、割り当てられたNV項目値を迅速に取り出すことだけでなく、有効なキャリアアカウントの切替えにもかかわらず既存のNV項目値を維持することも可能になる。
図6に、通信デバイスのフラッシュメモリとの間でNV項目の読取り/書込みを行う一実施形態の方法のプロセスフローを示す。上記で説明したように、適切に動作するために、様々なアプリケーションおよびプロセスの実行を実現するソフトウェアモジュールは、特定のNV項目の特定のパラメータ値を必要とする。特定のキャリアネットワーク上で動作する特定の通信デバイスタイプ/モデルのNV項目値は、一般に、通信デバイス10のフラッシュメモリ26にNV項目値を記憶する。ユーザが、通信デバイス上での通信をサポートするキャリアを変更することを選択すると、新しいNV項目が、後続の読取り要求のために利用可能になるように、フラッシュメモリ26に書き込まれなければならない。様々なアプリケーションおよび/またはプロセスが開始されると、それらの実行を実現するソフトウェアモジュールは、フラッシュメモリ26に記憶されたNV項目値を読み取り得る。通信デバイス上での通信をサポートするキャリアを変更する要求が通信デバイスプロセッサ191によって受信されると、NV項目書込み要求600を行う。NV項目書込み要求600は、選択されたキャリア上で動作する通信デバイスに適切なNV項目値をフラッシュメモリ26に書き込むプロセスを開始する。同様に、アプリケーションまたはプロセスが通信デバイス10上で実行されると、フラッシュメモリ26からNV項目値を読み取るNV項目読取り要求600を行う。
通信デバイスプロセッサ191がNV項目読取り/書込み要求600を受信すると、ステップ605において、NV項目パラメータを確認する。たとえば、NV項目は、通信デバイスプロセッサ191がフラッシュメモリ26に二回以上NV項目を書き込むことを防止するライトワンス(write once)属性を有し得る。通信デバイスプロセッサ191は、NV項目値が以前にすでに書き込まれているかどうかを判断し、すでに書き込まれていた場合は書込みプロセスを終了し得る。NV項目パラメータが確認されると、判断610において、通信デバイスプロセッサは、図5に関して上記で説明した多重化項目リスト中にNV項目が存在するかどうかを判断する。多重化項目リストは、通信デバイス10が起動するときに動的に作成され得る。NV項目が多重化項目のうちの1つでなかった場合(すなわち、判断610=「いいえ」)、ステップ615において、NV項目値を直接フラッシュメモリ26から読み取るか、またはフラッシュメモリ26に書き込む。NV項目値の読取りまたは書込みが行われると、ステップ630においてプロセスが完了する。
しかしながら、NV項目が多重化項目リスト中に存在した場合(すなわち、判断610=「はい」)、ステップ620において、プロセッサ191は、ノーテーションファイルから選択されたキャリアインデックスを取得する。ステップ625において、選択されたキャリアインデックスを適切なオフセットとして使用して、プロセッサは、適切なフラッシュメモリロケーションとの間でNV項目値の読取り/書込みを行う。NV項目値の読取りまたは書込みが行われると、ステップ630においてプロセスが完了する。本プロセスは、フラッシュメモリ26からの読取りまたはフラッシュメモリ26への書込みが行われるべきである追加のNV項目値について再開され得る。
別の実施形態では、どの通信モジュール20がキャリアのソフトウェアビルドとノーテーションファイルとを正常に実装し得るかを制限するために、ノーテーションファイルに記憶されたデータが使用され得る。正しくプログラムされ、プロビジョニングされている場合、ソフトウェア定義無線ベースチップセット通信モジュール20は、いかなるキャリアの通信ネットワークにもアクセスし得る。しかしながら、一部のキャリアは、どのデバイスが自身のネットワークにアクセスするかを制限することを望み得る。たとえば、一部のキャリアは、いくつかの製造業者にキャリアの通信ネットワークへの排他的または半排他的アクセスを与えるために製造業者と協力し得る。同様に、いくつかの製造業者は、自身の通信デバイスがアクセスし得るキャリアネットワークを限定することを望み得る。キャリア通信ネットワークを制限するために、通信モジュール20は、(デバイスロック、キャリアロックまたはノートブックロックとも呼ばれる)技術ロックにアクセスし得る。
図7に、一実施技術ロック方法のプロセスフローを示す。ユーザが新しいキャリアアカウントをアクティブにすることを選択すると、ステップ701において、ユーザは、ユーザインターフェースメニューからキャリアを選択する。ステップ702において、メモリバッファロケーションにユーザのキャリア選択を一時的に記憶する。ステップ703において、オーバージエアプログラミング/プロビジョニングプロセスを介して適切なソフトウェアビルドとノーテーションファイルとをダウンロードするか、または受信する。ソフトウェアビルドとノーテーションファイルとが受信されると、ステップ704において、ソフトウェア定義無線ベースチップセット通信モジュールは、メモリからそれ自体の技術ロックIDを取り出す。技術ロックIDは、ベンダー識別子/製品識別子(VID/PID)、デバイス識別子、キャリア識別子、ノートブック識別子または任意に定義された識別子、あるいはそれらの何らかの組合せを含み得る。一般に、技術ロックIDは、工場において製造業者によってNV項目として不揮発性メモリにプロビジョニングされる。判断705において、取り出された技術ロックIDをノーテーションファイル中に含まれている互換技術値と比較する。キャリアのソフトウェアビルドとノーテーションファイルとを完全にロードし、実行することを可能にするために、取り出された技術ロックIDは、ノーテーションファイルによって互換ベンダーまたは製品として認識されなければならない。取り出された技術ロック値がノーテーションファイル中に含まれている許可された技術ロック値のうちの1つに一致する場合(すなわち、判断705=「はい」)、ステップ707において、モジュールにロードされたソフトウェアビルドと連動してノーテーションファイルの残りを抽出し、実行する。しかしながら、取り出された技術ロック値が許可されたノーテーションファイル中に含まれている技術ロック値のうちの1つに一致しなかった場合(すなわち、判断705=「いいえ」)、ステップ706において、エラールーチンを開始し、ノーテーションファイルの残りを抽出せず、モジュールからソフトウェアを削除する。このようにして、互換通信デバイス10だけが、キャリアのソフトウェアビルドとノーテーションファイルとをロードすることを許可され得る。選択されたキャリアの
ためのソフトウェアビルドとノーテーションファイルとをロードすることなしに、通信デバイスは、選択されたキャリアの通信ネットワークにアクセスすることができないことになる。
図8Aおよび図8Bに、通信デバイス上での通信をサポートする、選択されたキャリアのための適切なソフトウェアモジュールおよびNV項目をインストールするための一実施方法のプロセスフローを示す。ユーザが、通信デバイス10上での通信をサポートするキャリアを変更することを選択すると、ステップ805において、ユーザは、ディスプレイ11とともにユーザインターフェース制御12、13を使用してプリロードされたメニューからキャリアを選択する。代替実施形態は、キャリアを選択するためにタッチスクリーンディスプレイまたは他のユーザインターフェースを利用し得る。ユーザのキャリア選択が受信されると、ステップ810において、プロセッサ191は、ストレージから通信モジュール20に、対応するソフトウェアビルドとノーテーションファイルとをダウンロードする。一般に、様々なソフトウェアビルドとノーテーションファイルとは、通信デバイスのメモリユニット192、またはハードドライブなどの他の不揮発性記憶デバイスに記憶され得る。代替実施形態では、ソフトウェアビルドおよび/またはノーテーションファイルは、リモート記憶ロケーションからダウンロードされ得る。ソフトウェアビルドとノーテーションファイルとがダウンロードされると、ステップ815において、ソフトウェアビルドイメージを認証する。ダウンロードされたソフトウェアビルドイメージが認証されなかった場合(すなわち、判断820=「いいえ」)、ステップ825において、プロセッサ191はエラールーチンを開始する。ダウンロードされたソフトウェアビルドイメージが認証された場合(すなわち、判断820=「はい」)、ステップ830において、プロセッサ191は、ノーテーションファイルから情報を抽出し、処理のためにメモリ192に抽出情報を記憶することを続ける。この情報は、キャリアインデックスなどのデータならびにノーテーションファイル項目ヘッダを含み得る。ステップ835において、デバイス上での通信を適切にサポートするために選択されたキャリアに必要なNV項目のカテゴリーを判断するために、抽出されたノーテーションファイル項目ヘッダの各々をパースする。判断840において、抽出されパースされたノーテーションファイル情報に基づいて、プロセッサ191は、特定のNV項目が多重化NV項目であるかどうかを判断する
。NV項目が多重化NV項目であった場合(すなわち、判断840=「はい」)、ステップ845において、NV項目を多重化NV項目リストに追加する。NV項目が多重化NV項目リストに追加されると、またはNV項目が多重化項目でないと判断された場合(すなわち、判断840=「いいえ」)、判断850において、プロセッサは、NV項目がライトワンスNV項目であるかどうかを判断する。NV項目がライトワンスNV項目であった場合(すなわち、判断850=「はい」)、ステップ855において、NV項目をライトワンスNV項目リストに追加する。動的に作成された多重化NV項目リストとライトワンスNV項目リストとは、図6に関して上記で説明した読取り/書込みNV項目プロセス中に利用され得る。
NV項目がライトワンスNV項目リストに追加されると、またはNV項目がライトワンス項目であると判断された場合(すなわち、判断850=「いいえ」)、判断860において、プロセッサは、ノーテーションファイル項目のすべてが完了したかどうかを判断する。言い換えれば、プロセッサは、任意の他のNV項目を分析すべきであるかどうかを判断し得る。ノーテーションファイルにリストされている追加のNV項目がある場合、およびノーテーションファイル項目のその前処理が完了していなかった場合(すなわち、判断860=「いいえ」)、プロセッサは、判断840に戻り、再びステップ840〜860を完了する。しかしながら、前処理のすべてが完了していた場合(すなわち、判断860=「はい」)、図8Bに示すステップ865において、プロセッサは、ノートブックロックとノーテーションファイルに対する互換性とを検査することに進む。ノートブックロック実施方法を示すプロセスフローについて、図7を参照しながら上記で説明した。ノートブックロックおよびノーテーション互換性方法の結果が、ソフトウェアビルドとノーテーションファイルとが通信デバイス10に対して許可されないことを示した場合(すなわち、判断870=「いいえ」)、ステップ825Aにおいて、エラールーチンを開始し、モジュールをオフライン状態に設定する。
ソフトウェアビルドとノーテーションファイルとが通信デバイス10に対して許可される場合(すなわち、判断870=「はい」)、判断875において、プロセッサは、メモリ192にロードされたノーテーションファイルがフラッシュメモリ26にロードされたノーテーションファイルの同一バージョンであるかどうかを判断する。メモリ192にロードされたノーテーションファイルのバージョンがフラッシュメモリにロードされたノーテーションファイルのバージョンと一致する場合(すなわち、判断875=「はい」)、ステップ885において、メモリ192のリソースをクリアし、他の目的のためにリクレームする。メモリ192にロードされたノーテーションファイルのバージョンがフラッシュメモリにロードされたノーテーションファイルのバージョンと一致しなかった場合(すなわち、判断875=「いいえ」)、ステップ880において、フラッシュに記憶されたノーテーションファイルをメモリ192にロードされたノーテーションファイルで更新する。フラッシュ26に記憶されたNV項目値の各々は、NV項目属性に従って、メモリ192にロードされたノーテーションファイルのコンテンツを使用して上書きまたは削除され得る。フラッシュにロードされたノーテーションファイルが更新されると、ステップ885において、メモリ192のリソースをクリアし、他の目的のためにリクレームする。メモリリソースがリクレームされると、ステップ890において、プロセッサは、ソフトウェアビルドとノーテーションファイルからのNV項目値とを使用して通信モジュールの初期化を続ける。このようにして、ソフトウェア定義通信モジュール20を有する通信デバイス10は、通信技術または選択されたキャリアにかかわらず、異なるキャリアの通信ネットワークを介した通信を使用可能にするために迅速に変更され得る。
様々な実施形態により、通信デバイス製造業者は通信デバイスの製造プロセスを合理化することが可能になる。通信デバイスの従来の製造プロセスでは、通信デバイスは、工場プロビジョニングソフトウェアならびに必要とされるNV項目値をロードされる。しかしながら、相手先ブランド名製造会社(OEM)によって一般に採用されるツールは、個々のNV項目を書き込むことしかできない。ツールは、NV項目を取り出し、NV項目値をフラッシュに書き込み、次いで、次のNV項目について順次プロセスを繰り返さなければならない。このプロビジョニングプロセスは、製造プロセスを大いに妨害する。工場プロビジョニングソフトウェアとともにノーテーションファイルを通信デバイスにロードすることによって、通信デバイスが工場を出た後、様々な実施形態は、必要なNV項目値をフラッシュメモリにロードし得る。これは、製造時間を大幅に最適化する。さらに、他のタスク(たとえば、プロトコル処理)がアクティブにされる前にノーテーションファイル処理が行われるので、ノーテーションファイルのNV項目は迅速にロードされ得る。さらに、ノーテーションファイルは、一般に、迅速に容易に更新され得る小さいファイルであるので、製造プロセスは、特定の/複数のキャリアのためのNV項目をロードするように迅速に適応および構成され得る。
本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両者の組合せとして実装され得ることを当業者なら諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。プロセッサ実行可能ソフトウェア命令のソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体のいずれかであり得る非一時的プロセッサ可読メモリに記憶され得る。例示的な非一時的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末または通信デバイス中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末または通信デバイス中に個別構成要素として常駐し得る。さらに、いくつかの態様では、方法またはアルゴリズムのステップおよび/またはアクションは、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/または非一時的コンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐し得る。
様々な実施形態の上記の説明は、当業者が本発明を実施または使用することを可能にするために提供したものである。これらの実施形態に対する様々な変更は、当業者には容易に明らかとなり、本明細書で定義された一般的な原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書に示した実施形態に限定されるものではなく、代わりに、特許請求の範囲には、本明細書に開示した原理および新規な特徴に一致する最も広い範囲が与えられるべきである。
10 通信デバイス
11 ユーザインターフェースディスプレイ
12 ロッカースイッチ
13 キーパッド
18 スピーカー
19 マイクロフォン
24 フラッシュメモリ
25 ブート情報ブロック
26 ファイルシステム
30 マルチインターフェースモジュール
40 共通アプリケーションプログラミングインターフェース(C-API)
61 キャリア
62 キャリア
63 キャリア
191 プロセッサ
191a プロセッサ
191b プロセッサ
192 内部メモリ
193 ストレージユニット
194 アンテナ
199 ボコーダ
301 通信デバイスロックデータ
302 バージョン番号データ
303 GPS機能
304 工場NV項目インデックス
305 キャリアNV項目インデックス
306 静的UQCNデータ
307 多重化UQCNデータ

Claims (32)

  1. ソフトウェア定義無線ベースチップセットモジュールを含んでいる通信デバイスをプログラミングする方法であって、
    プリロードされたメニューから前記通信デバイスのための通信をサポートするキャリアを選択するステップと、
    前記選択されたキャリアのためのソフトウェアビルドイメージを前記通信デバイスの揮発性メモリにロードするステップと、
    前記選択されたキャリアのためのノーテーションファイルを前記揮発性メモリにロードするステップと、
    前記ノーテーションファイル中に含まれているインデックスに従って前記揮発性メモリから不揮発性メモリ項目値を取り出すステップと、
    前記取り出された不揮発性メモリ項目値を不揮発性メモリにロードするステップと、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するステップと
    を含む方法。
  2. プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するステップと、
    前記受信した不揮発性メモリ項目値のコピーを生成するステップと、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中のメモリに前記受信した揮発性メモリ項目値の前記コピーを記憶するステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記不揮発性メモリに記憶された不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するステップと、
    前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記揮発性メモリ空間をリクレームするステップと
    をさらに含む、請求項1に記載の方法。
  4. 前記不揮発性メモリに記憶された不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するステップと、
    不揮発性メモリに記憶された前記不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記不揮発性メモリに記憶された前記不揮発性メモリ項目値を揮発性メモリに記憶された前記不揮発性メモリ項目値で更新するステップと、
    揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するように前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が更新された後に揮発性メモリ空間をリクレームするステップと
    をさらに含む、請求項1に記載の方法。
  5. ソフトウェア定義無線ベースチップセットモジュールを含んでいる通信デバイスがアクセスし得るキャリア通信ネットワークを制限する方法であって、
    前記通信デバイスにおいてキャリアを選択するステップと、
    前記選択されたキャリアのためのソフトウェアビルドイメージを前記通信デバイスの揮発性メモリにロードするステップと、
    前記選択されたキャリアのためのノーテーションファイルを前記揮発性メモリにロードするステップと、
    メモリから技術ロックIDを取り出すステップと、
    前記選択されたキャリアのための前記ノーテーションファイルから互換技術ロックIDを取り出すステップと、
    前記互換技術ロックIDを、メモリから取り出された前記技術ロックIDと比較するステップと、
    メモリから取り出された前記技術ロックIDが、前記選択されたキャリアのための前記ノーテーションファイルからの前記互換技術ロックIDのうちの1つに一致する場合のみ、前記選択されたキャリアのための前記ノーテーションファイルの残りとソフトウェアビルドイメージとを抽出し、実行するステップと
    を含む方法。
  6. 前記ノーテーションファイル中に含まれているインデックスに従って揮発性メモリから不揮発性メモリ項目値を取り出すステップと、
    前記取り出された不揮発性メモリ項目値を不揮発性メモリにロードするステップと、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するステップと
    をさらに含む、請求項5に記載の方法。
  7. プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するステップと、
    前記受信した不揮発性メモリ項目値のコピーを生成するステップと、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中のメモリに前記受信した揮発性メモリ項目値の前記コピーを記憶するステップと
    をさらに含む、請求項6に記載の方法。
  8. 前記技術ロックIDがベンダー識別子/製品識別子を含む、請求項5に記載の方法。
  9. ソフトウェア定義無線ベースチップセットモジュールと、
    プリロードされたメニューから前記通信デバイスのための通信をサポートするキャリアを選択するための手段と、
    前記選択されたキャリアのためのソフトウェアビルドイメージを揮発性メモリにロードするための手段と、
    前記選択されたキャリアのためのノーテーションファイルを揮発性メモリにロードするための手段と、
    前記ノーテーションファイル中に含まれているインデックスに従って揮発性メモリから不揮発性メモリ項目値を取り出すための手段と、
    前記取り出された不揮発性メモリ項目値を不揮発性メモリにロードするための手段と、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するための手段と
    を含む、通信デバイス。
  10. プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するための手段と、
    前記受信した不揮発性メモリ項目値のコピーを生成するための手段と、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中のメモリに前記受信した不揮発性メモリ項目値の前記コピーを記憶するための手段と
    をさらに含む、請求項9に記載の通信デバイス。
  11. 前記不揮発性メモリに記憶された不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するための手段と、
    前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、揮発性メモリ空間をリクレームするための手段と
    をさらに含む、請求項9に記載の通信デバイス。
  12. 前記不揮発性メモリに記憶された不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するための手段と、
    不揮発性メモリに記憶された前記不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記不揮発性メモリに記憶された前記不揮発性メモリ項目値を揮発性メモリに記憶された前記不揮発性メモリ項目値で更新するための手段と、
    揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するように前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が更新された後に揮発性メモリ空間をリクレームするための手段と
    をさらに含む、請求項9に記載の通信デバイス。
  13. ソフトウェア定義無線ベースチップセットモジュールと、
    前記通信デバイスにおいてキャリアを選択するための手段と、
    前記選択されたキャリアのためのソフトウェアビルドイメージを前記通信デバイスの揮発性メモリにロードするための手段と、
    前記選択されたキャリアのためのノーテーションファイルを前記揮発性メモリにロードするための手段と、
    メモリから技術ロックIDを取り出すための手段と、
    前記選択されたキャリアのための前記ノーテーションファイルから互換技術ロックIDを取り出すための手段と、
    前記互換技術ロックIDを、メモリから取り出された前記技術ロックIDと比較するための手段と、
    メモリから取り出された前記技術ロックIDが、前記選択されたキャリアのための前記ノーテーションファイルからの前記互換技術ロックIDのうちの1つに一致する場合のみ、前記選択されたキャリアのための前記ノーテーションファイルの残りとソフトウェアビルドイメージとを抽出し、実行するための手段と
    を含む通信デバイス。
  14. 前記ノーテーションファイル中に含まれているインデックスに従って揮発性メモリから不揮発性メモリ項目値を取り出すための手段と、
    前記取り出された不揮発性メモリ項目値を不揮発性メモリにロードするための手段と、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するための手段と
    をさらに含む、請求項13に記載の通信デバイス。
  15. プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するための手段と、
    前記受信した不揮発性メモリ項目値のコピーを生成するための手段と、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中のメモリに前記受信した不揮発性メモリ項目値の前記コピーを記憶するための手段と
    をさらに含む、請求項14に記載の通信デバイス。
  16. 前記技術ロックIDがベンダー識別子/製品識別子を含む、請求項13に記載の通信デバイス。
  17. ソフトウェア定義無線ベースチップセットモジュール、
    不揮発性メモリ、
    揮発性メモリ、および
    前記不揮発性メモリと、前記揮発性メモリと、前記ソフトウェア定義無線ベースチップセットモジュールとに結合されたプロセッサを含み、前記プロセッサが、
    アカウントをサポートするキャリアを選択するステップと、
    前記選択されたキャリアのためのソフトウェアビルドイメージを前記揮発性メモリにロードするステップと、
    前記選択されたキャリアのためのノーテーションファイルを前記揮発性メモリにロードするステップと、
    前記ノーテーションファイル中に含まれているインデックスに従って前記揮発性メモリから不揮発性メモリ項目値を取り出すステップと、
    前記取り出された不揮発性メモリ項目値を前記不揮発性メモリにロードするステップと、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するステップと
    を含むステップを実行するようにソフトウェア命令で構成された、通信デバイス。
  18. 前記プロセッサが、
    プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するステップと、
    前記受信した不揮発性メモリ項目値のコピーを生成するステップと、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中の前記不揮発性メモリに前記受信した不揮発性メモリ項目値の前記コピーを記憶するステップと
    をさらに含むステップを実行するようにソフトウェア命令で構成された、請求項17に記載の通信デバイス。
  19. 前記プロセッサが、
    前記不揮発性メモリに記憶された不揮発性メモリ項目値が前記揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するステップと、
    前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が前記揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記揮発性メモリ中の空間をリクレームするステップと
    をさらに含むステップを実行するようにソフトウェア命令で構成された、請求項17に記載の通信デバイス。
  20. 前記プロセッサが、
    前記不揮発性メモリに記憶された不揮発性メモリ項目値が前記揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するステップと、
    前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が前記揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記不揮発性メモリに記憶された前記不揮発性メモリ項目値を前記揮発性メモリに記憶された前記不揮発性メモリ項目値で更新するステップと、
    前記揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するように前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が更新された後に前記揮発性メモリ中の空間をリクレームするステップと
    をさらに含むステップを実行するようにソフトウェア命令で構成された、請求項17に記載の通信デバイス。
  21. ソフトウェア定義無線ベースチップセットモジュール、
    不揮発性メモリ、
    揮発性メモリ、および
    前記不揮発性メモリと、前記揮発性メモリと、前記ソフトウェア定義無線ベースチップセットモジュールとに結合されたプロセッサを含み、前記プロセッサが、
    キャリアを選択するステップと、
    前記選択されたキャリアのためのソフトウェアビルドイメージを前記揮発性メモリにロードするステップと、
    前記選択されたキャリアのためのノーテーションファイルを前記揮発性メモリにロードするステップと、
    前記不揮発性メモリから技術ロックIDを取り出すステップと、
    前記選択されたキャリアのための前記ノーテーションファイルから互換技術ロックIDを取り出すステップと、
    前記互換技術ロックIDを、メモリから取り出された前記技術ロックIDと比較するステップと、
    メモリから取り出された技術ロックIDが、前記選択されたキャリアのための前記ノーテーションファイルからの前記互換技術ロックIDのうちの1つに一致する場合のみ、前記選択されたキャリアのための前記ノーテーションファイルの残りとソフトウェアビルドイメージとを抽出し、実行するステップと
    を含むステップを実行するようにソフトウェア命令で構成された、通信デバイス。
  22. 前記プロセッサが、
    前記ノーテーションファイル中に含まれているインデックスに従って前記揮発性メモリから不揮発性メモリ項目値を取り出すステップと、
    前記取り出された不揮発性メモリ項目値を前記不揮発性メモリにロードするステップと、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するステップと
    をさらに含むステップを実行するようにソフトウェア命令で構成された、請求項21に記載の通信デバイス。
  23. 前記プロセッサが、
    プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するステップと、
    前記受信した不揮発性メモリ項目値のコピーを生成するステップと、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中の不揮発性メモリに前記受信した不揮発性メモリ項目値の前記コピーを記憶するステップと
    をさらに含むステップを実行するようにソフトウェア命令で構成された、請求項22に記載の通信デバイス。
  24. 前記技術ロックIDがベンダー識別子/製品識別子を含む、請求項21に記載の通信デバイス。
  25. アカウントをサポートするキャリアを選択するステップと、
    前記選択されたキャリアのためのソフトウェアビルドイメージを揮発性メモリにロードするステップと、
    前記選択されたキャリアのためのノーテーションファイルを揮発性メモリにロードするステップと、
    前記ノーテーションファイル中に含まれているインデックスに従って揮発性メモリから不揮発性メモリ項目値を取り出すステップと、
    前記取り出された不揮発性メモリ項目値を不揮発性メモリにロードするステップと、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するステップと
    を含むステップを通信デバイスプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記録するプロセッサ可読記録媒体。
  26. 前記記録されたプロセッサ実行可能ソフトウェア命令が、
    プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するステップと、
    前記受信した不揮発性メモリ項目値のコピーを生成するステップと、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中のメモリに前記受信した不揮発性メモリ項目値の前記コピーを記憶するステップと
    をさらに含むステップを通信デバイスプロセッサに実行させるように構成された、請求項25に記載のプロセッサ可読記録媒体。
  27. 前記記録されたプロセッサ実行可能ソフトウェア命令が、
    前記不揮発性メモリに記憶された不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するステップと、
    前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記揮発性メモリをリクレームするステップと
    をさらに含むステップを通信デバイスプロセッサに実行させるように構成された、請求項25に記載のプロセッサ可読記録媒体。
  28. 前記記録されたプロセッサ実行可能ソフトウェア命令が、
    前記不揮発性メモリに記憶された不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するかどうかを判断するステップと、
    不揮発性メモリに記憶された前記不揮発性メモリ項目値が揮発性メモリに記憶された前記不揮発性メモリ項目値に一致する場合、前記不揮発性メモリに記憶された前記不揮発性メモリ項目値を揮発性メモリに記憶された前記不揮発性メモリ項目値で更新するステップと、
    揮発性メモリに記憶された前記不揮発性メモリ項目値に一致するように前記不揮発性メモリに記憶された前記不揮発性メモリ項目値が更新された後に前記揮発性メモリ空間をリクレームするステップと
    をさらに含むステップを通信デバイスプロセッサに実行させるように構成された、請求項25に記載のプロセッサ可読記録媒体。
  29. キャリアを選択するステップと、
    前記選択されたキャリアのためのソフトウェアビルドイメージを揮発性メモリにロードするステップと、
    前記選択されたキャリアのためのノーテーションファイルを前記不揮発性メモリにロードするステップと、
    メモリから技術ロックIDを取り出すステップと、
    前記選択されたキャリアのための前記ノーテーションファイルから互換技術ロックIDを取り出すステップと、
    前記互換技術ロックIDを、メモリから取り出された前記技術ロックIDと比較するステップと、
    メモリから取り出された技術ロックIDが、前記選択されたキャリアのための前記ノーテーションファイルからの前記互換技術ロックIDのうちの1つに一致する場合のみ、前記選択されたキャリアのための前記ノーテーションファイルの残りとソフトウェアビルドイメージとを抽出し、実行するステップと
    を含むステップを通信デバイスプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記録するプロセッサ可読記録媒体。
  30. 前記記録されたプロセッサ実行可能ソフトウェア命令が、
    前記ノーテーションファイル中に含まれているインデックスに従って揮発性メモリから不揮発性メモリ項目値を取り出すステップと、
    前記取り出された不揮発性メモリ項目値を不揮発性メモリにロードするステップと、
    前記取り出された不揮発性メモリ項目値を使用して前記ソフトウェアビルドイメージを実行するステップと
    をさらに含むステップを通信デバイスプロセッサに実行させるように構成された、請求項29に記載のプロセッサ可読記録媒体。
  31. 前記記録されたプロセッサ実行可能ソフトウェア命令が、
    プロビジョニングプロセス中に前記キャリアから、生成された不揮発性メモリ項目値を受信するステップと、
    前記受信した不揮発性メモリ項目値のコピーを生成するステップと、
    前記ノーテーションファイル中に含まれているインデックスに従ってスロットロケーション中のメモリに前記受信した不揮発性メモリ項目値の前記コピーを記憶するステップと
    をさらに含むステップを通信デバイスプロセッサに実行させるように構成された、請求項30に記載のプロセッサ可読記録媒体。
  32. 前記技術ロックIDがベンダー識別子/製品識別子を含む、請求項29に記載のプロセッサ可読記録媒体。
JP2013512123A 2010-05-26 2011-05-23 複数のサービスアカウントをもつ通信デバイスのための不揮発性項目とプロビジョニングファイルとの管理のための方法およびシステム Pending JP2013526818A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/787,955 2010-05-26
US12/787,955 US8756256B2 (en) 2010-05-26 2010-05-26 Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
PCT/US2011/037542 WO2011149831A1 (en) 2010-05-26 2011-05-23 Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts

Publications (1)

Publication Number Publication Date
JP2013526818A true JP2013526818A (ja) 2013-06-24

Family

ID=44343019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013512123A Pending JP2013526818A (ja) 2010-05-26 2011-05-23 複数のサービスアカウントをもつ通信デバイスのための不揮発性項目とプロビジョニングファイルとの管理のための方法およびシステム

Country Status (5)

Country Link
US (1) US8756256B2 (ja)
EP (1) EP2578005B1 (ja)
JP (1) JP2013526818A (ja)
CN (1) CN102939773B (ja)
WO (1) WO2011149831A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017534205A (ja) * 2014-10-30 2017-11-16 アマゾン テクノロジーズ インコーポレイテッド ワイヤレス通信に向けた電子機器の構成設定
JP2018511281A (ja) * 2015-03-13 2018-04-19 アルカテル−ルーセント 受動光ネットワークにおけるハイブリッド多重化/逆多重化のための方法及び装置

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125459A1 (en) * 2006-04-28 2007-11-08 Nxp B.V. Software defined radio device and configuration method of the same
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
US8417231B2 (en) * 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts
KR101785116B1 (ko) * 2010-12-24 2017-10-17 한양대학교 산학협력단 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치
US8612967B1 (en) 2011-05-31 2013-12-17 Sprint Communications Company L.P. Loading branded media outside system partition
US8683457B1 (en) * 2011-06-17 2014-03-25 Western Digital Technologies, Inc. Updating firmware of an electronic device by storing a version identifier in a separate header
US8666383B1 (en) 2011-12-23 2014-03-04 Sprint Communications Company L.P. Automated branding of generic applications
WO2013134854A1 (en) * 2012-03-13 2013-09-19 Cognilore Inc. Method of navigating through digital content
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
US9672519B2 (en) * 2012-06-08 2017-06-06 Fmr Llc Mobile device software radio for securely passing financial information between a customer and a financial services firm
US9389794B2 (en) 2012-08-03 2016-07-12 Intel Corporation Managing consistent data objects
US20140079202A1 (en) * 2012-09-14 2014-03-20 Zultys, Inc. Method and system for universal internet protocol (ip) phone provisioning
US9198027B2 (en) 2012-09-18 2015-11-24 Sprint Communications Company L.P. Generic mobile devices customization framework
US8909291B1 (en) 2013-01-18 2014-12-09 Sprint Communications Company L.P. Dynamic remotely managed SIM profile
US9549009B1 (en) 2013-02-08 2017-01-17 Sprint Communications Company L.P. Electronic fixed brand labeling
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
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
US9491048B2 (en) 2013-03-28 2016-11-08 Qualcomm Incorporated Devices and methods for facilitating automated configuration of communications interfaces
US9280483B1 (en) 2013-05-22 2016-03-08 Sprint Communications Company L.P. Rebranding a portable electronic device while maintaining user data
US9535744B2 (en) 2013-06-29 2017-01-03 Intel Corporation Method and apparatus for continued retirement during commit of a speculative region of code
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
US9516006B2 (en) 2013-10-23 2016-12-06 Google Inc. Re-programmable secure cryptographic device
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
US9392395B1 (en) 2014-01-16 2016-07-12 Sprint Communications Company L.P. Background delivery of device configuration and branding
US9603009B1 (en) 2014-01-24 2017-03-21 Sprint Communications Company L.P. System and method of branding a device independent of device activation
US9420496B1 (en) 2014-01-24 2016-08-16 Sprint Communications Company L.P. Activation sequence using permission based connection to network
US9681251B1 (en) 2014-03-31 2017-06-13 Sprint Communications Company L.P. Customization for preloaded applications
CN105101171A (zh) * 2014-05-16 2015-11-25 中兴通讯股份有限公司 一种终端网络参数配置方法及终端
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
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
CN106488433A (zh) * 2015-08-24 2017-03-08 中兴通讯股份有限公司 一种实现用户识别卡数据更新的方法、用户终端及网元
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
CN114793290A (zh) * 2021-01-25 2022-07-26 艾锐势企业有限责任公司 用于交换式数字视频系统的设备和方法
US11991525B2 (en) 2021-12-02 2024-05-21 T-Mobile Usa, Inc. Wireless device access and subsidy control

Family Cites Families (63)

* 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
JPH05336035A (ja) 1992-06-03 1993-12-17 Nec Commun Syst Ltd 無線電話端末
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
JPH11205406A (ja) 1998-01-19 1999-07-30 Mitsubishi Electric Corp データ通信カード
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
JP2000324043A (ja) 1999-05-13 2000-11-24 Hitachi Ltd ダウンロード方法及びソフトウェア無線システム
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
JP2002251326A (ja) 2001-02-22 2002-09-06 Hitachi Ltd 耐タンパ計算機システム
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
JP2004537120A (ja) * 2001-07-26 2004-12-09 キョウセラ ワイヤレス コーポレイション 無線通信デバイスに関する更新命令を実行するためのシステムおよび方法
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カード書き込み装置
US7529559B2 (en) 2002-10-07 2009-05-05 Panasonic Corporation Communication apparatus and method for reconfiguring communication apparatus
US6978453B2 (en) * 2002-10-21 2005-12-20 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
JP4815782B2 (ja) 2004-10-22 2011-11-16 ソニー株式会社 プログラム更新方法、情報処理装置およびプログラム
US7200390B1 (en) * 2004-12-30 2007-04-03 Cellco Partnership Device software update transport and download
CN101107869A (zh) 2005-01-18 2008-01-16 交互数字技术公司 用于系统发现和用户选择的方法和系统
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
US7925715B2 (en) * 2005-03-14 2011-04-12 Qualcomm Incorporated Apparatus and methods for service programming of a wireless device on a wireless communications network
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 分散システム
CN101278260B (zh) 2005-06-07 2012-07-18 威睿公司 使软件程序免于弱点和攻击的约束注入方法
ES2339677T3 (es) 2005-09-01 2010-05-24 France Telecom Personalizacion de estaciones moviles.
EP1977312A2 (en) 2006-01-16 2008-10-08 Zlango Ltd. Iconic communication
JP4684909B2 (ja) 2006-02-16 2011-05-18 富士通株式会社 ソフトウエア無線装置
US20080266595A1 (en) 2006-09-11 2008-10-30 Christopher Wright Independently-addressable cellular wireless digital network-based fax machine
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株式会社 ソフトウェア無線端末および端末管理装置
US9451450B2 (en) * 2007-09-01 2016-09-20 Apple Inc. Postponed carrier configuration
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
JP2012520027A (ja) 2009-03-06 2012-08-30 インターデイジタル パテント ホールディングス インコーポレイテッド 無線装置のプラットフォームの検証と管理
US8453140B2 (en) * 2009-04-28 2013-05-28 Qualcomm Incorporated Method for generically handling carrier specific provisioning for computer cellular wireless cards
US8417231B2 (en) * 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017534205A (ja) * 2014-10-30 2017-11-16 アマゾン テクノロジーズ インコーポレイテッド ワイヤレス通信に向けた電子機器の構成設定
JP2018511281A (ja) * 2015-03-13 2018-04-19 アルカテル−ルーセント 受動光ネットワークにおけるハイブリッド多重化/逆多重化のための方法及び装置
US10270556B2 (en) 2015-03-13 2019-04-23 Alcatel Lucent Method and apparatus for hybrid multiplexing/de-multiplexing in passive optical network
JP2020005303A (ja) * 2015-03-13 2020-01-09 アルカテル−ルーセント 受動光ネットワークにおけるハイブリッド多重化/逆多重化のための方法及び装置
JP6995809B2 (ja) 2015-03-13 2022-02-07 アルカテル・ルーセント 受動光ネットワークにおけるハイブリッド多重化/逆多重化のための方法及び装置

Also Published As

Publication number Publication date
EP2578005B1 (en) 2020-04-08
WO2011149831A1 (en) 2011-12-01
US8756256B2 (en) 2014-06-17
CN102939773B (zh) 2016-05-11
US20110296399A1 (en) 2011-12-01
CN102939773A (zh) 2013-02-20
EP2578005A1 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
US8756256B2 (en) Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US8417234B2 (en) Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US8417231B2 (en) Method and apparatus for programming a mobile device with multiple service accounts
US8560015B2 (en) Application selection for multi-SIM environment
JP6638890B2 (ja) ダイナミック加入者識別モジュール
US8200854B2 (en) Smart card driven device configuration changes
CN102308561B (zh) 通过uicc进行的me网络参数配置
US9548781B2 (en) Enabling pre-provisioned proprietary carrier-specific feature services and applications for execution on a mobile device
US10433156B1 (en) Adapting subscriber identity module (SIM) card
US10224972B2 (en) Systems, methods, and computer-readable media for tracking updates and loading data
KR20170087488A (ko) Apdu 스크립트들에서의 암시적 파일 작성
EP3413600B1 (en) Communication device and method of managing profiles
US8121581B2 (en) Wireless communications methods and devices selecting configurations from multiple configurations stored in nonvolatile memory
US11039296B2 (en) Method and apparatus for disabling a carrier eSIM profile
US9973921B2 (en) Conflict detection
US9125145B1 (en) Mobile device centered communication routing module
KR20160114877A (ko) 이동통신시스템에서 단말에 정책을 설정하는 방법 및 장치

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140507