(57)【特許請求の範囲】
【請求項１】
ワイヤレス通信のための方法であって、
辞書とレコードセットとを含むデータブロックを生成することと、前記辞書は、報告されているパラメータセットに対するフィールドコードセットと各フィールドコードの説明とを含み、前記レコードセットは、前記辞書中で定義されるフィールドコードに対するパラメータ値を含み、
前記データブロックをワイヤレスデバイスからネットワークサーバに送信することと、
を含み、
前記データブロックを生成することは、
前記データブロック中で報告すべき前記パラメータセットに基づいて前記辞書を定義することと、
前記セット中の各パラメータに異なるフィールドコードを割り当てることと、
を含む方法。
【請求項２】
モデムから診断メッセージを受信することと、
前記セット中の前記パラメータを取得するために前記診断メッセージを処理することと、
をさらに含み、前記パラメータは、前記ワイヤレスデバイスの無線接続またはデータセッションまたはこれら両方のパフォーマンスを示す、
請求項１記載の方法。
【請求項３】
前記ネットワークサーバとの報告セッションを開始するために開始メッセージを送信することと、
前記ネットワークサーバから前記報告セッションを容認する応答メッセージを受信することと、
をさらに含み、前記データブロックは、前記報告セッション中に生成され、および送信される、請求項１記載の方法。
【請求項４】
ワイヤレス通信のための装置であって、
辞書とレコードセットとを含むデータブロックを生成し、前記辞書は、報告されているパラメータセットに対するフィールドコードセットと各フィールドコードの説明とを含み、前記レコードセットは、前記辞書中で定義されるフィールドコードに対するパラメータ値を含み、
前記データブロックをワイヤレスデバイスからネットワークサーバに送信する、
少なくとも１つのプロセッサ
を備え、
前記データブロックを生成することは、
前記データブロック中で報告すべき前記パラメータセットに基づいて前記辞書を定義することと、
前記セット中の各パラメータに異なるフィールドコードを割り当てることと、
を含む装置。
【請求項５】
前記少なくとも１つのプロセッサは、
モデムから診断メッセージを受信し、前記セット中の前記パラメータを取得するために前記診断メッセージを処理し、
前記パラメータは、前記ワイヤレスデバイスの無線接続またはデータセッションまたはこれら両方のパフォーマンスを示す、請求項４記載の装置。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、参照により本明細書に組み込まれる、２００７年１１月１９日に出願された、「MODE SWITCHING USER DEVICE」と題する米国仮出願第６０／９８９，０５０号の優先権を主張する。
【技術分野】
【０００２】
本開示は、一般に通信に関し、より詳細には、ワイヤレスデバイスのワイヤレス通信をサポートするための技法に関する。
【背景技術】
【０００３】
ワイヤレス通信ネットワークは、ボイス、ビデオ、パケットデータ、メッセージング、ブロードキャストなどの様々な通信サービスを提供するために広く展開されている。これらのワイヤレスネットワークは、利用可能なネットワークリソースを共有することによって複数のユーザをサポートすることが可能な多元接続ネットワークとすることができる。そのような多元接続ネットワークの例には、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ）ネットワーク、直交ＦＤＭＡ（ＯＦＤＭＡ）ネットワーク、およびシングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）ネットワークがある。ワイヤレスネットワークは、無線ネットワーク、無線アクセスネットワーク、アクセスネットワークなどと呼ばれることもある。
【０００４】
ワイヤレスデバイスは、所与の瞬間において、０、１つまたは複数の無線ネットワークのカバレージ内に存在することができる。ワイヤレスデバイスは、すべての利用可能な無線ネットワークの中の最も好適な無線ネットワークにアクセスすることができ、この無線ネットワークとの無線接続を確立することができる。ワイヤレスデバイスはまた、指定されたネットワークエンティティとのデータセッションを確立することができる。その後、ワイヤレスデバイスは、データセッションのための無線接続を介してデータを交換することができる。無線状態および／またはネットワーク状態は、データセッション中に変化することがあり、ワイヤレスデバイスのパフォーマンスに影響を及ぼすことがある。ワイヤレスデバイスのための良好なサービスを取得するために、無線およびネットワーク状態を効率的に監視することが望ましい。
【発明の概要】
【０００５】
ワイヤレスデバイスのパフォーマンスを改善するために無線状態およびネットワーク状態を監視するための技法について本明細書で説明する。１つの設計では、ワイヤレスデバイスは、診断監視モジュールと、モデムと、アプリケーションとを含む。診断監視モジュールは、診断インターフェースを介してモデムと通信して、ワイヤレスデバイスの無線およびネットワーク状態、データパフォーマンスなどを示す診断メッセージを受信する。診断監視モジュールは、関連情報をアプリケーションに与え、アプリケーションは、情報を使用して、サービスのアクティブ化、ネットワーク選択などについての決定を行う。
【０００６】
１つの設計では、診断監視モジュールは、診断インターフェースを介してモデムから診断メッセージを受信する。モジュールは、無線ネットワークのステータスを示すネットワークステータス情報を取得するために診断メッセージを処理する。モジュールは、診断メッセージをパース（parse）して、無線ネットワークの関係するパラメータを取得し、これらのパラメータに基づいてネットワークステータス情報を判断する。モジュールは、無線ネットワークとの通信を制御するために、アプリケーションが使用するネットワークステータス情報を第２のインターフェース（たとえば、ＡＰＩ）を介してアプリケーションに与える。
【０００７】
別の設計では、診断監視モジュールは、ワイヤレスデバイスの無線接続またはデータセッションまたは両方のパフォーマンスを示す診断情報を取得するために診断メッセージを処理する。モジュールは、診断メッセージをパースし、当該パラメータを抽出し、残りのパラメータを廃棄し、抽出されたパラメータをバッファに記憶する。モジュールは、バッファに記憶されたパラメータのセットを含む報告を生成し、報告をネットワークサーバに送信する。報告は、ネットワーク監視、デバッグなどのためにネットワークサーバによって使用される診断情報を含む。
【０００８】
さらに別の設計では、ページングメッセージを、ワイヤレスデバイスの動作モードに応じて異なる方法でワイヤレスデバイスに送信する。ワイヤレスデバイスは、非アクティブモードで動作しているとき、ワイヤレスデバイスの第１の識別子（たとえば、モバイルディレクトリ番号（ＭＤＮ：Mobile Directory Number））に基づいて送信される第１のページングメッセージを受信する。ワイヤレスデバイスは、アクティブモードで動作しているとき、ワイヤレスデバイスの第２の識別子（たとえば、インターネットプロトコル（ＩＰ）アドレス）に基づいて送信される第２のページングメッセージを受信する。ＩＰアドレスは、ＭＤＮとワイヤレスデバイスにおけるアプリケーションのソケットとに関連する。第２のページングメッセージをアプリケーションのソケットに送信する。
【０００９】
本開示の様々な態様および特徴について以下でさらに詳細に説明する。
【図面の簡単な説明】
【００１０】
【図１】２つの無線ネットワークをもつ展開を示す図。
【図２】ワイヤレスデバイスのブロック図。
【図３】診断監視モジュールのブロック図。
【図４】ワイヤレスデバイスの動作状態およびモードを示す図。
【図５】アプリケーションに情報を与えるためのプロセスを示す図。
【図６】診断情報を報告するためのプロセスを示す図。
【図７】診断情報を送信するためのプロセスを示す図。
【図８】ワイヤレスデバイスにおいてページングメッセージを受信するためのプロセスを示す図。
【図９】ページングメッセージをワイヤレスデバイスに送信するためのプロセスを示す図。
【図１０】ワイヤレスデバイス、無線ネットワーク、およびネットワークサーバのブロック図。
【発明を実施するための形態】
【００１１】
本明細書で説明する技法は、ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、ＳＣ−ＦＤＭＡおよび他のネットワークなど、様々なワイヤレス通信ネットワークに使用できる。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。ＣＤＭＡネットワークは、ｃｄｍａ２０００、Ｕｎｉｖｅｒｓａｌ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｒａｄｉｏ  Ａｃｃｅｓｓ（ＵＴＲＡ）などの無線技術を実装することができる。ｃｄｍａ２０００は、ＩＳ−２０００、ＩＳ−９５およびＩＳ−８５６規格をカバーする。ＩＳ−２０００リリース０およびＡは、一般に、ＣＤＭＡ２０００  １Ｘ、１ｘＲＴＴ、１Ｘなどと呼ばれる。ＩＳ−８５６は、一般に、高速パケットデータ（ＨＲＰＤ）、ＣＤＭＡ２０００  １ｘＥＶ−ＤＯ、１ｘＥＶ−ＤＯ、ＥＶＤＯなどと呼ばれる。ＵＴＲＡは、Ｗｉｄｅｂａｎｄ  ＣＤＭＡ（ＷＣＤＭＡ）およびＣＤＭＡの他の変形態を含む。ＴＤＭＡネットワークは、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ）（登録商標）などの無線技術を実装することができる。ＯＦＤＭＡネットワークは、Ｕｌｔｒａ  Ｍｏｂｉｌｅ  Ｂｒｏａｄｂａｎｄ（ＵＭＢ）、Ｅｖｏｌｖｅｄ  ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ＩＥＥＥ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ８０２．２０、Ｆｌａｓｈ−ＯＦＤＭ（登録商標）などの無線技術を実装することができる。ＵＴＲＡおよびＥ−ＵＴＲＡはＵｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  （ＵＭＴＳ）の一部である。３ＧＰＰ  Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）は、ダウンリンク上ではＯＦＤＭＡを利用し、アップリンク上ではＳＣ−ＦＤＭＡを利用するＥ−ＵＴＲＡを使用する近々発表されるリリースである。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＵＭＴＳ、ＬＴＥおよびＧＳＭは、「３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ」（３ＧＰＰ）という名称の組織からの文書に記載されている。ｃｄｍａ２０００およびＵＭＢは、「３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ  ２」（３ＧＰＰ２）という名称の組織からの文書に記載されている。明快のために、本技法のいくつかの態様を１ｘＲＴＴおよびＥＶＤＯに関して以下で説明する。
【００１２】
図１に、異なる無線技術を利用する２つの無線ネットワークである１ｘＲＴＴネットワーク１２０とＥＶＤＯネットワーク１３０とをもつ展開１００を示す。１ｘＲＴＴネットワーク１２０は、基地局のカバレージ内に位置するワイヤレスデバイスの無線通信をサポートするこれらの基地局を含む。同様に、ＥＶＤＯネットワーク１３０は、基地局のカバレージ内に位置するワイヤレスデバイスの無線通信をサポートするこれらの基地局を含む。簡単のために、図１では、１ｘＲＴＴネットワーク１２０についてただ１つの基地局１２２を示し、ＥＶＤＯネットワーク１３０についてただ１つの基地局１３２を示す。基地局１２２および１３２は、異なるサイトに配置するか、または同じサイトに共設することができる。一般に、基地局（ＢＳ）（１ｘＲＴＴ用語）は、ワイヤレスデバイスと通信する固定局であり、アクセスポイント（ＡＰ）（ＥＶＤＯ用語）、ノードＢ（３ＧＰＰ用語）、進化型ノードＢ（同じく３ＧＰＰ用語）、送受信基地局（ＢＴＳ）などと呼ばれることもある。基地局は特定の地理的エリアに通信カバレージを与えることができる。ネットワーク容量を改善するために、基地局の全体的なカバレージエリアは複数（たとえば、３つ）のより小さいエリアに区分できる。３ＧＰＰ２では、「セクタ」という用語は、基地局の最小カバレージエリア、および／またはこのカバレージエリアにサービスする基地局サブシステムの最小カバレージエリアを指すことができる。基地局は、以下の説明において「ＢＳ」とも呼ばれる。
【００１３】
ワイヤレスデバイス１１０は、固定でも移動でもよく、移動局（ＭＳ）（１ｘＲＴＴ用語）、アクセス端末（ＡＴ）（ＥＶＤＯ用語）、ユーザ機器（ＵＥ）（３ＧＰＰ用語）、加入者ユニット、局などと呼ばれることもある。ワイヤレスデバイス１１０は、セルラー電話、携帯情報端末（ＰＤＡ）、ワイヤレスモデム、ラップトップコンピュータ、ワイヤレスローカルループ（ＷＬＬ）局、ユーザデバイスなどとすることができる。ワイヤレスデバイス１１０は、順方向リンクおよび／または逆方向リンク上で基地局と通信することができる。順方向リンク（またはダウンリンク）は、基地局からワイヤレスデバイスへの通信リンクを指し、逆方向リンク（またはアップリンク）は、ワイヤレスデバイスから基地局への通信リンクを指す。ワイヤレスデバイス１１０は、以下の説明において「デバイス」、「ＭＳ」および「ＡＴ」とも呼ばれる。
【００１４】
１ｘＲＴＴネットワーク１２０では、基地局コントローラ（ＢＳＣ）１２４は、基地局のセットに結合し、これらの基地局の調整および制御を行うことができる。ＢＳＣ１２４は、ワイヤレスデバイスへのトラフィックチャネルの割当ての処理、ワイヤレスデバイスのハンドオフの制御などを行うことができる。移動交換センター（ＭＳＣ）１２６は、ＢＳＣ１２４に結合し、ワイヤレスデバイスの回線交換通信をサポートすることができる。ＭＳＣ１２６は、回線交換呼のルーティングを行い、ＭＳＣワイヤレスデバイスによってサービスされるエリア内に位置するワイヤレスデバイスのモビリティ管理を実行することができる。
【００１５】
ＥＶＤＯネットワーク１３０では、ＢＳＣ／パケット制御機能（ＰＣＦ）１３４は、基地局のセットに結合し、これらの基地局とパケットデータサービスノード（ＰＤＳＮ）１４０との間のパケットデータの交換を制御することができる。ＰＤＳＮ１４０は、無線ネットワーク１２０および１３０と通信するワイヤレスデバイスのパケット交換通信をサポートすることができる。ＰＤＳＮ１４０は、ワイヤレスデバイスのデータセッションの確立、維持および終了を処理することができる。ＰＤＳＮ１４０は、ネットワーク事業者が所有および運営するプライベートネットワーク１５０に結合することができる。
【００１６】
診断監視サーバ１６０は、プライベートネットワーク１５０に結合し、無線およびネットワーク状態の監視をサポートすることができる。サーバ１６０は、ワイヤレスデバイスによって観測された無線およびネットワーク状態について説明する報告を受信することができる。サーバ１６０は、ネットワーク監視およびデバッグをサポートすることができ、要求されたときに無線ネットワークのステータスを与えることができる。Ｒａｄｉｕｓサーバ１６２は、ユーザのための認証、許可およびアカウンティング（ＡＡＡ）機能をサポートすることができる。Ｒａｄｉｕｓサーバ１６２はまた、ＭＤＮとＩＰアドレスのバインディングのデータベースを記憶することができ、以下で説明するように、データベースは、アクティブデータセッションをもつワイヤレスデバイスをページングするために使用できる。ページングサーバ１６４は、１ｘＲＴＴネットワーク１２０およびＥＶＤＯネットワーク１３０を介してワイヤレスデバイスのページングをサポートすることができる。他の機能をサポートする他のサーバもプライベートネットワーク１５０に結合できる。サーバは他の名前で呼ばれることもある。プライベートネットワーク１５０は、インターネットおよび／または他のデータネットワークを含むことがある公衆ネットワーク１５２に結合できる。
【００１７】
カスタマコンテンツサーバ１７０は、ワイヤレスデバイスが加入し、取得することができる１つまたは複数のサービスをサポートすることができる。たとえば、サーバ１７０は、マルチメディアサービス、たとえば、ワイヤレスデバイスへのオーディオ、ビデオ、および／または他のメディアコンテンツのダウンロードを提供することができる。１つのそのようなマルチメディアのサービスは、上述の米国仮出願第６０／９８９，０５０号に記載されている書籍コンテンツのダウンロードである。
【００１８】
ワイヤレスデバイス１１０は、ＰＤＳＮ１４０とのデータセッションを確立することができ、データセッション中にデータを送信し、受信することができる。データセッションは、ポイントツーポイントプロトコル（ＰＰＰ）セッション、データ接続などと呼ばれることもある。データセッションは、任意の時間期間の間、有効であることができ、ワイヤレスデバイス１１０またはＰＤＳＮ１４０のいずれかによってクローズできる。
【００１９】
ワイヤレスデバイス１１０は、データセッション中の所与の瞬間において送信または受信すべきデータを有することもあり、または有しないこともある。ワイヤレスデバイス１１０は、送信または受信すべきデータがあるときはいつでも、無線ネットワークとの無線接続を確立することができる。無線接続は、データ呼(data call)、データサービスなどと呼ばれることもある。ワイヤレスデバイス１１０には、無線接続のためのトラフィックチャネルを割り当てることができ、ワイヤレスデバイス１１０は、割当てトラフィックチャネルを介してデータを送信および／または受信することができる。無線接続およびトラフィックチャネルは、送信または受信すべきデータがある間、有効であることができ、無線リソースを節約するために、データアクティビティがないときは解放できる。
【００２０】
１つの設計では、ワイヤレスデバイス１１０は、表１に示す無線接続状態の１つで動作することができる。
【表１】
0005518957.tif 000002
【００２１】
１つの設計では、ワイヤレスデバイス１１０は、表２に示すセッション状態の１つで動作することができる。
【表２】
0005518957.tif 000003
【００２２】
図２に、ワイヤレスデバイス１１０の設計のブロック図を示す。送信経路において、モデム２１０は、ワイヤレスデバイス１１０によって送信すべきデータおよびシグナリングを処理（たとえば、符号化、変調、拡散、スクランブル）して、出力サンプルを取得することができる。送信機２１２は、出力サンプルを調整（たとえば、アナログに変換、フィルタ処理、増幅、周波数アップコンバート）して、１つまたは複数の基地局に送信できる逆方向リンク信号を生成することができる。受信経路において、基地局からの順方向リンク信号を受信し、受信機２１４に与えることができる。受信機２１４は、受信信号を調整（たとえば、フィルタ処理、増幅、周波数ダウンコンバート、およびデジタル化）して、入力サンプルを取得することができる。モデム２１０は、入力サンプルを処理（たとえば、デスクランブル、逆拡散、復調、復号）して、ワイヤレスデバイス１１０に送信された復号データおよびシグナリングを取得することができる。モデム２１０は、現在ワイヤレスデバイス１１０にサービスする無線ネットワークによって使用される無線技術（たとえば、１ｘＲＴＴまたはＥＶＤＯ）に従って処理を実行することができる。１つの設計では、モデム２１０は、Ｑｕａｌｃｏｍｍ社の移動局モデム（ＭＳＭ:Mobile Station Modem）を用いて実装できる。
【００２３】
アプリケーション２３０は、マルチメディアアプリケーション、電子メールアプリケーション、ウェブブラウザアプリケーション、ロケーションサービスアプリケーションなどの様々なアプリケーションを含むことができる。アプリケーションは、ユーザによって要求されたサービスを提供するために、ネットワークエンティティと通信することができる。たとえば、マルチメディアアプリケーションは、カスタマコンテンツサーバ１７０と通信して、メディア（たとえば、書籍コンテンツ）をユーザに対して表示するためにワイヤレスデバイス１１０にダウンロードすることができる。アプリケーション２３０は、一般にモデムに使用されるＡＴインターフェースを介してＡＴコマンドを交換することによってモデム２１０と通信することができる。
【００２４】
アプリケーションは、ユーザによって要求されたサービスを提供するために、無線ネットワークを用いてデータ呼を確立することを望むことがある。アプリケーションは、データ呼を確立するために、モデム２１０を用いてＡＴコマンドを交換することができる。ＡＴコマンドは、ダイヤリング、切断、データ呼のパラメータの変更などの動作をサポートすることができる。ＡＴコマンドは、ネットワーク状態に関して限定された情報、たとえば、どの無線ネットワークが利用可能であるかをアプリケーションに与えることができる。アプリケーションは、正常なデータ呼が確立されるまで、異なる無線ネットワークとのデータ呼を確立しようと試みることができる。その後、アプリケーションは、確立したデータ呼を介してネットワークエンティティ（たとえば、カスタマコンテンツサーバ１７０）と通信することができる。データ呼が確立されると、ＡＴコマンドは利用可能でなくなる。エスケープシーケンスを実行して、データ呼を中断し、ＡＴコマンドの交換を可能にすることができる。しかしながら、この割込みは、ユーザに提供されているサービスを妨害することがある。いずれの場合も、アプリケーションは、ネットワーク状態およびデバイスパフォーマンスに対して限定された可視性を有することができる。
【００２５】
一態様では、診断監視モジュール２２０は、診断インターフェースを介してモデム２１０と通信して、ワイヤレスデバイス１１０の無線およびネットワーク状態、データパフォーマンスなどを示す診断メッセージを受信する。診断監視モジュール２２０はまた、アプリケーション２３０と通信して、アプリケーションから要求を受信し、関連情報をアプリケーションに与える。アプリケーションは、情報を使用して、サービスのアクティブ化およびネットワーク選択についての決定、選択された無線ネットワークとの通信の制御などを行う。診断監視モジュール２２０は、以下で説明するように、様々な機能を実行し、様々なタイプの情報を与えることができる。
【００２６】
診断監視モジュール２２０はモデム２１０から様々なパラメータを収集することができる。これらのパラメータは、ユーザ経験およびネットワークパフォーマンスを包含するサービス品質（ＱｏＳ）メトリクスを表すことができる。ＱｏＳメトリクスは、ＱｏＳ問題が存在するかどうか、およびＱｏＳ問題が無線接続に関係する（すなわち、無線ネットワーク問題）かまたはデータ接続に関係する（すなわち、データ接続性問題）か、を判断するために使用できる。モジュール２２０は、パラメータを処理して、アプリケーション２３０、診断監視サーバ１６０、カスタマコンテンツサーバ１７０、および／または他のエンティティに有用である様々なタイプの情報を取得することができる。１つの設計では、モジュール２２０は、表３に記載するタイプの情報を収集し、与えることができる。
【表３】
0005518957.tif 000004
【００２７】
ネットワークステータス情報は、受信信号強度、検出された無線ネットワークなどを含むことができる。デバイスステータス情報は、ワイヤレスデバイス１１０の識別子、ワイヤレスデバイス１１０用に構成された項目に関する情報などを含むことができる。データ接続性情報は、データ接続ステータス、データパフォーマンスメトリクスなどを含むことができる。診断情報は、ワイヤレスデバイス１１０の無線接続および／またはデータセッションに関係する情報を含むことができる。これらの様々なタイプの情報について、以下でさらに詳細に説明する。
【００２８】
図３に、図２の診断監視モジュール２２０の設計のブロック図を示す。診断監視モジュール２２０は、アプリケーションプログラミングインターフェース（ＡＰＩ）３１０を介してアプリケーション２１０と通信することができる。制御モジュール３２０は、診断監視モジュール２２０内の様々なモジュールの動作を制御することができる。制御モジュール３２０は、アプリケーション２３０からＡＰＩ３１０を介して要求を受信し、要求を処理し、情報をアプリケーションに与えることができる。
【００２９】
制御モジュール３２０は、モデム２１０に構成（configuration）メッセージを送信して、定期的におよび／またはイベントによってトリガされたときに、いくつかのパラメータを報告するようにモデム２１０を構成することができる。制御モジュール３２０はまた、モデム２１０にコマンド要求メッセージを送信して、特定のパラメータを要求することができる。本明細書で使用する「パラメータ」という用語は、静的または動的な任意の１つの情報を総称的に指す。モデム２１０は、表４に記載されているコマンド応答メッセージ、ログメッセージ、イベントメッセージ、およびデバッグメッセージなどの診断メッセージを与えることができる。
【表４】
0005518957.tif 000005
【００３０】
表４の様々なタイプのメッセージは、それらがどのように送信されるか、および場合によっては、メッセージ中で何が送信されるかによって特徴づけられる。診断監視モジュール２２０からのコマンド要求メッセージおよびモデム２１０からのコマンド応答メッセージは、トリガ／応答方式で動作することができる。コマンド要求メッセージは特定のパラメータを要求することができ、コマンド応答メッセージは要求されたパラメータを与えることができる。コマンド要求メッセージはまた、特定のアクションを実行するようにモデム２１０に指示することができ、コマンド応答メッセージは、アクションの完了を確認することができる。たとえば、コマンド要求メッセージは、通常動作用のアクティブ化パラメータをモデム２１０に供給するための項目書込みを呼び出すことができる。
【００３１】
ログメッセージは、定期的に送信され、指定されたパラメータを与えることができる。ログメッセージの報告は、ログマスクと呼ばれることがある構成メッセージによって構成できる。様々なログメッセージを定義し、ログマスクの構成に基づいて有効化することができる。各ログメッセージは、ログマスクの特定のビットに関連付けられ、ログマスク中の関連するビットを所定の値（たとえば、「１」）に設定することによって有効化できる。各ログメッセージは、そのログメッセージに適用可能な報告スケジュールに基づいて、パラメータの特定のセットを与えることができる。モデム２１０は、定期的方式でログメッセージを診断監視モジュール２２０に与えることができる。
【００３２】
イベントメッセージは、イベントによってトリガされたときに送信され、構成メッセージによって有効化できる。各イベントメッセージは、特定のイベントによってトリガされたときに、タイマの満了、しきい値を超えるパラメータ値など、パラメータの特定のセットを与えることができる。モデム２１０は、イベントが発生したとき、非同期方式でイベントメッセージを与えることができる。
【００３３】
デバッグメッセージは、通常動作中に、モデム２１０内の様々なモジュールからファイル中にストリームされる。デバッグメッセージは、トラブルシューティングの支援としてデバッグログを収集／生成するために使用できる。
【００３４】
一般に、モデム２１０は、任意のメッセージ中で所与のパラメータを与えることができる。あるパラメータは、あるタイプのメッセージによってより適切に与えられる。たとえば、コマンド要求メッセージは、静的または半静的パラメータを取り出すために使用できる。ログメッセージは、動的に変化することがあるパラメータを与えるために使用できる。イベントメッセージは、ワイヤレスデバイス１１０、無線接続、データセッションなどの動作に変化があるとき、関係する可能性があるパラメータを与えるために使用できる。所与のパラメータを、様々なタイプのメッセージ、たとえば、ログメッセージならびにイベントメッセージ中で与えることもできる。様々なタイプのメッセージについて、以下でさらに詳細に説明する。
【００３５】
入力プロセッサおよびバッファ３３０は、モデム２１０からコマンド応答メッセージと、ログメッセージと、イベントメッセージと、デバッグメッセージとを受信することができる。プロセッサ３３０は、受信メッセージを処理して、当該のパラメータを収集することができ、収集したパラメータを入力バッファに記憶することができる。プロセッサ３３０は、収集したパラメータを要求されたときに制御モジュール３２０および／または他のモジュールに与えることができる。出力プロセッサおよびバッファ３４０は、制御モジュール３２０から報告を受信することができ、それらの報告を送信する準備ができるまでバッファすることができる。プロセッサ３４０は、図１の診断監視サーバ１６０および／または他のネットワークエンティティへの送信のために報告をモデム２１０に与えることができる。
【００３６】
初期化モジュール３５０は、入力プロセッサ３３０からパラメータを受信することができ、パラメータを処理して、ネットワークステータス情報を判断することができる。モジュール３５０は、システム判断と無線ネットワークのネットワークアクセス状況とを監視することができる。モジュール３５０は、アプリケーション２３０から特定の情報の要求を受信することができ、要求された情報を与えることができる。たとえば、アプリケーションはＧｅｔＢａｒｓ  ＡＰＩを呼び出すことができる。それに応答して、モジュール３５０は、ワイヤレスデバイス１１０のアクティブセット（ＡＳＥＴ）中のセクタのパイロット測定値を取得し、パイロット測定値を無線ネットワークの受信信号強度を示すバー値（たとえば、０〜５バー）に変換し、バー値をアプリケーションに与えることができる。別の例として、アプリケーションはＧｅｔＲＢＩ  ＡＰＩを呼び出すことができる。それに応答して、モジュール３５０は、ワイヤレスデバイス１１０が好適な無線ネットワークと通信しているか、好適でない無線ネットワークと通信しているかを判断することができ、無線ネットワークの好適ローミングリスト（ＰＲＬ）中で定義されたローミングビットインジケータ（ＲＢＩ）を与えることができる。アプリケーションはまた、他のタイプの情報、たとえば、システム時間、ローカル時間オフセットなどを要求することができる。モジュール３５０は、要求された情報を取得し、その情報をアプリケーションに与えることができる。アプリケーションは、モジュール３５０からのバー値、ＲＢＩ、および／または他の情報を使用して、サービスをアクティブ化し、データ呼を開始すべきか否かの判断、データ呼を開始すべき無線ネットワークの選択などを行うことができる。
【００３７】
ＱｏＳ監視モジュール３６０は、モデム２１０からログメッセージとイベントメッセージとを受信することができ、これらのメッセージを処理して、データ呼のステータスおよび／またはパフォーマンスを判断することができる。１つの設計では、モジュール３６０は、アクティブウィンドウ中にアクティブ化され、アクティブウィンドウの外では不能にされる。モジュール３６０は、アクティブウィンドウの開始であるデータ呼の発信を検出することができる。モジュール３６０はまた、アクティブウィンドウの終了であるデータ呼の解放を検出することができる。モジュールは、アクティブウィンドウ中に、たとえば、バックグラウンドタスクとして無線パフォーマンスとデータパフォーマンスとを監視することができる。別の設計では、モジュール３６０は、たとえば、制御モジュール３２０によってアクティブ化されるときはいつでも動作することができる。
【００３８】
モジュール３６０は、モデム２１０から受信したログメッセージとイベントメッセージとを（たとえば、リアルタイムで）パースして、無線接続、データセッションなどの様々なパラメータを取得することができる。モジュール３６０は、様々なパラメータをグループ化し、それらを入力バッファに記憶することができる。モジュール３６０は、破棄された呼、ＰＰＰ障害、呼終了、無線接続の確立の失敗、データ接続の確立の失敗、無線周波数（ＲＦ）ロックまたはチャネル割当ての獲得の失敗、同期チャネルまたはページングチャネルの損失などを含むトリガ状態を検出することができる。トリガ状態は、一般にワイヤレスデバイス１１０の異常状態を示す。トリガ状態が検出されたときはいつでも、モジュール３６０は、現在の無線およびネットワーク状態のスナップショットを取得するために、入力バッファに記憶された、トリガ状態に関連するパラメータを収集することができる。モジュール３６０は、トリガ状態に関係するパラメータを含む報告を生成することができ、診断監視サーバ１６０および／または他のネットワークエンティティへの送信のために報告をプロセッサ３４０に転送することができる。
【００３９】
一般に、診断監視モジュール２２０は様々なトリガ状態による報告を送信することができ、報告は様々なタイプの障害および異常状態をカバーすることができる。報告は、トラブルシューティング、ネットワーク監視など、様々な目的のために使用できる。たとえば、アプリケーションは、トリガ状態によって捕捉される障害に遭遇することがあり、トリガ状態について報告が送信される。ユーザは、障害を報告するために、ネットワーク事業者に発呼することができ、ネットワーク事業者は、障害の原因を診断するために、報告からの情報を有することができる。ネットワーク事業者はまた、無線ネットワークのパフォーマンスを監視するため、エラーまたは過負荷状態を検出するためなどに報告を使用することができる。ネットワーク事業者は、次いで、適切な修正処置をとることができる。
【００４０】
対話型診断モジュール３７０は、ワイヤレスデバイス１１０のデータ呼およびデータセッションのデバッグと診断をサポートすることができる。モジュール３７０は、ユーザ、ネットワーク事業者、コンテンツプロバイダなどによって呼び出すことができる。呼び出されると、モジュール３７０はワイヤレスデバイス１１０上にデバッグ／診断画面を提示することができる。デバッグ／診断画面は、無線接続の無線パラメータを与えることができる。モジュール３７０は、入力バッファに記憶されたパラメータの中から無線パラメータを取得することができ、モデム２１０から新しいログメッセージおよびイベントメッセージが受信されると、画面上のこれらの無線パラメータを更新することができる。ユーザは、様々な無線パラメータを閲覧するために、画面をナビゲートすることができる。ユーザはまた、（たとえば、「Ｓ」ボタンを押すことによって）画面上の無線パラメータを捕捉することができ、診断監視サーバ１６０にエクスポートするために無線パラメータをファイルに保存することができる。モジュール３７０はまた、無線パラメータをネットワークステータス、ネットワークアクセス障害などを判断するために使用することができる。
【００４１】
モジュール３７０はまた、データセッションのパラメータを収集することができ、デバッグなどの支援としてデータ接続性情報を与えることができる。データ接続性情報は、ワイヤレスデバイス１１０がオンラインであるか休止状態であるか、データ接続障害があるかどうかなどを指示することができる。データ接続性情報は、モバイルＩＰ（ＭＩＰ）認証ステータス、データ接続ステータスなどを与えることができる。データ接続ステータスは、データ接続問題を特定することができ、データ接続問題の局所的な識別のためのタイムスタンプおよびエラーコードを与えることができる。
【００４２】
モジュール３７０はまた、ワイヤレスデバイス１１０の動作に影響を及ぼす様々なイベントの情報を捕捉することができる。モジュール３７０は、ＭＩＰイベント、たとえば、登録応答（ＲＲＰ：registration reply）コードおよびタイムスタンプの情報を捕捉することができる。モジュール３７０は、ページングイベントの情報、たとえば、着信ページのタイムスタンプ、ページを送信する基地局のロケーション（たとえば、緯度および経度）、地理的位置のローカル時間オフセットなどを捕捉することができる。モジュール３７０は、認証イベント、たとえば、Ｒａｄｉｕｓサーバ１６２によるサービスの拒否の障害状態、登録応答コード（ＲＲＣ:Registration Reply Code）、失敗した認証のタイムスタンプなどの情報を捕捉することができる。モジュール３７０は、アプリケーションがデータ呼を確立するのを阻止するイベントの情報を捕捉することができる。情報は、（ｉ）サービスなしまたは範囲外状態、あるいは（ｉｉ）無許可の無線ネットワーク上でのローミング状態のために、アプリケーションがアクセスを拒否されるかどうかを指示することができる。情報は、ワイヤレスデバイス１１０に供給されたＰＲＬ、システム識別情報（ＳＩＤ）、ネットワーク識別情報（ＮＩＤ）、基地局識別情報（ＢａｓｅＩＤ）、基地局の緯度および経度、カラーコード、セクタＩＤなどのパラメータを備えることができる。モジュール３７０はまた、たとえば、誤った移動局ＩＤ（ＭＳＩＤ）、ネットワーク拒否などによる、ワイヤレスデバイス１１０によるアクセスの拒否に関する情報を捕捉することができる。一般に、モジュール３７０は、デバッグ／診断画面上にイベントの捕捉された情報を提示し、および／または捕捉情報を診断監視サーバ１６０に送信することができる。
【００４３】
ワイヤレスデバイス１１０は、データ呼の確立中に１ｘＲＴＴネットワーク１２０またはＥＶＤＯネットワーク１３０を用いて認証を実行することができる。診断監視モジュール２２０は認証プロセスのステータスを追跡することができる。モデムアクセス資格証明（たとえば、ＥＳＮおよびＭＳＩＤ）が、指定されたネットワークエンティティ（たとえば、ホームロケーションレジストリ（ＨＬＲ:Home Location Registry）またはホーム認証、許可およびアカウンティング（Ｈ−ＡＡＡ））に対する認証を通過した場合、ステータスは「ＯＫ」となる。ワイヤレスデバイス１１０が、たとえば、モデムアクセス資格証明の不一致により、認証に失敗した場合、ステータスは「ＦＡＩＬ（失敗）」となる。モジュール２２０は、認証プロセスに関する情報を記憶することができ、データ接続性問題のデバッグを可能にする情報を与えることができる。
【００４４】
ワイヤレスデバイス１１０は、ＭＩＰをデータセッションのために利用することができ、ＭＩＰの登録を実行することができる。診断監視モジュール２２０はＭＩＰ登録プロセスのステータスを追跡することができる。モジュール２２０は、ＭＩＰ登録プロセスに関する情報を記憶することができ、データ接続性問題のデバッグを可能にする情報を与えることができる。
【００４５】
診断監視モジュール２２０は、関連情報を取り出すためにアプリケーション２３０によって呼び出すことができるＡＰＩのセットをサポートすることができる。一般に、ＡＰＩの任意のセットをサポートすることができ、各ＡＰＩは任意の情報を与えることができる。１つの設計では、サポートされるＡＰＩは、表５に示すＡＰＩのすべてまたはサブセットを含むことができる。
【表５】
0005518957.tif 000006
【００４６】
診断監視モジュール２２０はまた、ＭＤＮ、ＩＭＳＩ、アクティブＭＩＰユーザプロファイルのパラメータなどを設定するＡＰＩをサポートすることができる。モジュール２２０は、異なるおよび／または追加のＡＰＩをサポートすることもできる。
【００４７】
上述のように、モデム２１０は、様々なパラメータを含む様々なタイプのメッセージを送信することができる。一般に、各メッセージタイプに対してメッセージのセットがサポートされ、各メッセージは１つまたは複数のパラメータを搬送することができる。明快のために、コマンド応答メッセージ、ログメッセージ、およびイベントメッセージの例示的なセットを以下に与える。
【００４８】
１つの設計では、モデム２１０は、診断監視モジュール２２０から受信したコマンド要求メッセージに対するコマンド応答メッセージを戻すことができる。コマンド要求メッセージと対応するコマンド応答メッセージとの間に１対１の対応がある。１つの設計では、サポートされるコマンド応答メッセージは、表６に示すメッセージのすべてまたはサブセットを含むことができる。
【表６】
0005518957.tif 000007
【００４９】
１つの設計では、モデム２１０は、様々なパラメータを含むログメッセージを定期的に送信することができる。各ログメッセージは、そのログメッセージに適用可能なパラメータのセットを与えることができる。たとえば、エアリンク概要（airlink summary）のログメッセージは、測定されたパイロットエネルギー、パイロット擬似乱数（ＰＮ）などを与えることができる。１つの設計では、サポートされるログメッセージは、表７に示すメッセージのすべてまたはサブセットを含むことができる。
【表７】
0005518957.tif 000008
【００５０】
診断監視モジュール２２０は、ログメッセージを構成するために、構成メッセージをモデム２１０に送信することができる。構成メッセージは、どのログメッセージを有効化するか、各ログメッセージをモデム２１０によって送信すべき状態、各ログメッセージの周波数、各ログメッセージに対してどのパラメータを送信すべきかなどを指定することができる。モデム２１０は、診断監視モジュール２２０によって構成されたログメッセージを送信することができる。
【００５１】
１つの設計では、モデム２１０は、イベントによってトリガされたときに、様々なパラメータを含むイベントメッセージを送信することができる。各イベントメッセージは、そのイベントメッセージに適用可能なパラメータのセットを与えることができる。１つの設計では、サポートされるイベントメッセージは、表８に示すメッセージのすべてまたはサブセットを含むことができる。
【表８】
0005518957.tif 000009
【００５２】
0005518957.tif 000010
【００５３】
異なるタイマ値を異なるイベントメッセージに使用することができ、表８ではＴｘｘとして示し、「ｘｘ」はタイマインデックスである。各タイマ値は、任意の適切な値とすることができ、規格によって指定されることもある。
【００５４】
診断監視モジュール２２０は、イベントメッセージを構成するために、構成メッセージをモデム２１０に送信することができる。構成メッセージは、どのイベントメッセージを有効化するか、各イベントメッセージをモデム２１０によって送信すべき状態、各イベントメッセージに対してどのパラメータを送信すべきかなどを指定することができる。モデム２１０は、診断監視モジュール２２０によって構成されたイベントメッセージを送信することができる。
【００５５】
診断監視モジュール２２０は、いくつかのトリガ状態が生じたとき、たとえば、いくつかのイベントメッセージがモデム２１０から受信されたときはいつでも報告を生成することができる。表８の最後の列に、各イベントメッセージに対して生成できる（１つまたは複数の）報告を記載する。表９に、報告Ａ〜Ｅの各々において送信できるパラメータのセットを記載し、各パラメータのソースを与える。ＲＸ０はワイヤレスデバイス１１０における一次受信機を示し、ＲＸ１はダイバーシチ受信機を示す。
【表９】
0005518957.tif 000011
【００５６】
他の報告も、トリガ状態に応答して生成できる。たとえば、１ｘＲＴＴスループット報告は、１ｘＲＴＴネットワーク１２０を用いたデータ呼のパラメータを含むことができ、ＥＶＤＯスループット報告は、ＥＶＤＯネットワーク１３０を用いたデータ呼のパラメータを含むことができ、ＥＶＤＯ接続試行報告は、ＥＶＤＯネットワーク１３０における接続試行のパラメータを含むことができ、ＥＶＤＯ接続終了報告は、ＥＶＤＯネットワーク１３０における接続終了のパラメータを含むことができ、ＥＶＤＯ接続ステータス報告は、接続統計のパラメータを含むことができ、デバイスパラメータ報告は、ワイヤレスデバイス１１０のパラメータを含むことができる。
【００５７】
診断監視モジュール２２０は、障害イベントまたは異常状態が検出されたときはいつでも報告を生成することができる。モジュール２２０はまた、たとえば、ネットワークパフォーマンスまたはデバイスパフォーマンスの報告を定期的に生成することができる。
【００５８】
診断監視モジュール２２０は、生成された報告を診断監視サーバ１６０または何らかの他のネットワークエンティティに送信することができる。報告は、それらが生成されたときに送信でき、または、たとえば、無線接続またはデータセッションが確立されない場合、後で送信できる。診断監視サーバ１６０は、ネットワーク監視、デバッグなどに報告を使用することができる。
【００５９】
１つの設計では、軽量(lightweight)報告プロトコルを使用して、ワイヤレスデバイス１１０から診断監視サーバ１６０または何らかの他のネットワークエンティティに報告を送信することができる。ワイヤレスデバイス１１０によって報告すべきイベントおよびパラメータのために辞書を動的に定義することができる。各イベントには、異なるイベントコードを割り当てることができる。各パラメータにも、異なるフィールドコードを割り当てることができる。したがって、報告は、関連するフィールドコードによって与えられるパラメータの値を含むことができる。軽量報告プロトコルを使用すると、報告のために送信すべきデータ量を低減することができる。
【００６０】
１つの設計では、ワイヤレスデバイス１１０は、報告セッションを開始するために、セッション開始メッセージを診断監視サーバ１６０に送信する。セッション開始メッセージは、ワイヤレスデバイス１１０と診断監視サーバ１６０との間のハンドシェークとして役立つことができ、また、ワイヤレスデバイス１１０による報告を制御または抑圧するためにサーバ１６０によって使用できる。サーバ１６０は、報告セッションを容認または拒否し、セッション応答メッセージをワイヤレスデバイス１１０に戻す。報告セッションが容認された場合、ワイヤレスデバイス１１０は、辞書を使用してワイヤレスデバイス１１０によって生成できる１つまたは複数の報告のデータブロックを送信する。報告セッションが拒否された場合、ワイヤレスデバイス１１０は、（ｉ）たとえば、自動的にまたはサーバ１６０によって指示された場合、送信のための待ち行列に入れられた報告を廃棄するか、または（ｉｉ）後で報告を送信することを試みる。報告を廃棄して、同じ地理的エリアにおける異なるワイヤレスデバイスによる同じネットワークエラーの二重報告の送信を回避することができる。
【００６１】
１つの設計では、セッション開始メッセージは、表１０に示すフィールドを含むことができる。以下の説明では、「０ｘＶ．．．Ｖ」は１６進値のＶ．．．Ｖを示し、各Ｖは０とＦとの間の１６進値である。
【表１０】
0005518957.tif 000012
【００６２】
１つの設計では、セッション応答メッセージは、表１１に示すフィールドを含むことができる。
【表１１】
0005518957.tif 000013
【００６３】
１つの設計では、データブロックは、報告セッションで送信でき、１つの辞書と、１つまたは複数のレコードからなるセットとを含むことができる。辞書は、レコード中に含まれるパラメータのフィールドコードの定義を含むことができる。辞書は一連のフィールドコード定義によって与えられる。各フィールドコード定義は、形式｛イベントコード｝．｛フィールドコード｝＝｛フィールドコード説明｝を有することができる。たとえば、フィールドコード定義は、９９．１＝ＲＸ０  ＡＧＣとすることができ、「９９」はイベントコードであり、「１」はフィールドコードであり、「ＲＸ０  ＡＧＣ」はフィールドのパラメータである。
【００６４】
各レコードは、関連するイベントのフィールドのセットを含むことができる。各レコードは、表１２に与えるフォーマットを有することができる。イベントタイプフィールドは、形式｛フィールドコード｝＝｛フィールド値｝の１つまたは複数のフィールドコード／値のペアを含むことができる。フィールドコードは、辞書で与えられるフィールドコード定義に基づいて解釈できる。たとえば、イベントタイプフィールドは１＝５８を含むことができ、「１」はＲＸ０  ＡＧＣを指すことができ、「５８」はＡＧＣ値５８を指すことができる。１つの設計では、データブロックは、表１２に示すフィールドを備えることができる。
【表１２】
0005518957.tif 000014
【００６５】
表１２に示す設計では、辞書は、報告セッションに対して動的に定義でき、データブロック中で搬送できる。辞書は、データブロック中で報告されるイベントおよびパラメータに適合させることができる。別の設計では、辞書は、予め定義され、ワイヤレスデバイス１１０ならびに診断監視サーバ１６０によって先験的に知られており、データブロック中で搬送される必要はない。さらに別の設計では、辞書のセットを予め定義し、辞書のセットにユニークな辞書ＩＤを割り当てることができる。その場合、データブロックは、そのデータブロックに使用すべき特定の辞書の辞書ＩＤを搬送することができる。辞書を他の方法で定義し、搬送することもできる。
【００６６】
診断監視サーバ１６０は、セッション停止メッセージを送信することによって報告セッションを終了することができる。セッション停止メッセージは、報告セッションが正常にクローズされたか、または失敗したか、たとえば、理由は何であれ報告セッションがクローズされる前にデータ接続が破棄されたかどうかを示すことができる。１つの設計では、セッション停止メッセージは、表１３に示すフィールドを備えることができる。
【表１３】
0005518957.tif 000015
【００６７】
ワイヤレスデバイス１１０は、不適切にクローズされた報告セッションをどのように処理するかを決定することができる。報告セッションが診断監視サーバ１６０によって拒否された場合、ワイヤレスデバイス１１０は、送信のための待ち行列に入れられたすべてのデータを廃棄することができ、または、たとえば、ある時間待機した後、別の報告セッションを開始することができる。ワイヤレスデバイス１１０は、診断監視サーバ１６０に報告を送信するために必要なリソースの量に基づいて決定を行うことができる。
【００６８】
報告診断情報の様々なメッセージおよびデータブロックの具体的な設計について上記で説明した。診断情報はまた、異なるおよび／または追加のフィールドを含むことができる他のメッセージを使用して報告できる。
【００６９】
診断監視モジュール２２０は、たとえば、ユーザによって呼び出されたときにデバッグ／診断画面を与えることができる。デバッグ／診断画面は、ワイヤレスデバイス１１０、無線接続、データセッション、アプリケーションなどのための様々なパラメータを与えることができる。１つの設計では、デバッグ／診断画面は、表１４に示すパラメータのすべてまたはサブセットを与えることができる。
【表１４】
0005518957.tif 000016
【００７０】
図１を再び参照すると、ワイヤレスデバイス１１０は、所与の瞬間において１ｘＲＴＴネットワーク１２０またはＥＶＤＯネットワーク１３０と通信することができる。ワイヤレスデバイス１１０は、異なる無線ネットワークに対して異なる方法で動作することができる。
【００７１】
図４に、１つの設計によるワイヤレスデバイス１１０の動作状態およびモードの状態図４００を示す。始動時に、ワイヤレスデバイス１１０はＥＶＤＯ優先状態（EVDO-preferred State）４１０に移行し、診断監視モジュール２２０は有効化される。ＥＶＤＯ優先状態４１０では、ワイヤレスデバイス１１０は、どの無線ネットワークが利用可能であるかを判断するためにシステム判断を実行することができる。ワイヤレスデバイス１１０は、（ｉ）１ｘＲＴＴネットワーク１２０のみが利用可能な場合、１ｘＲＴＴモード４１２で動作し、または（ｉｉ）ＥＶＤＯネットワーク１３０が利用可能な場合、ＥＶＤＯモード４１４で動作することができる。ＥＶＤＯモード４１４にある間、ＥＶＤＯネットワーク１３０に対してシステム損失またはサービスなしに遭遇した場合、ワイヤレスデバイス１１０は１ｘＲＴＴモード４１２に移行することができる。１ｘＲＴＴモード４１２にある間、ワイヤレスデバイス１１０は、ＥＶＤＯネットワーク１３０を再獲得しようと定期的に試みることができ、ＥＶＤＯネットワーク１３０が再獲得された場合、ＥＶＤＯモード４１４に移行することができる。
【００７２】
ワイヤレスデバイス１１０は、アクティブモードにある間、ＥＶＤＯ優先状態４１０で動作することができ、非アクティブモードにある間、１ｘＲＴＴ専用状態（1xRTT-only state）４２０で動作することができる。非アクティブモードは、スリープモード、アイドルモードなどと呼ばれることもある。ワイヤレスデバイス１１０は、スリープトリガがある場合、またはモデム２１０がリブートされた場合、非アクティブモードに入り、ＥＶＤＯ優先状態４１０から１ｘＲＴＴ専用状態４２０に移行することができる。スリープトリガは、ユーザアクティビティのない期間または何らかの他の状態のために発生する。非アクティブモードでは、ワイヤレスデバイス１１０および診断監視モジュール２２０の多くは、バッテリ電力を節約するために電源切断できる。１ｘＲＴＴ専用状態４２０にある間、モデム２１０は１ｘＲＴＴネットワーク１２０からのページングメッセージをリッスンすることができる。ワイヤレスデバイス１１０は、ウェイクアップトリガが受信されると、１ｘＲＴＴ専用状態４２０からＥＶＤＯ優先状態４１０に移行することができる。ウェイクアップトリガは、ワイヤレスデバイス１１０のページングメッセージの受信、データ呼の発信、または何らかの他の状態に起因する。診断監視モジュール２２０は、ＥＶＤＯ優先状態４１０に移行すると有効化される。
【００７３】
１つの設計では、ワイヤレスデバイス１１０は、アクティブモードと非アクティブモードとで異なる機構によってページングされる。ワイヤレスデバイス１１０は、アクティブモードでは１ｘＲＴＴネットワーク１２０またはＥＶＤＯネットワーク１３０を介してページングでき、非アクティブモードでは１ｘＲＴＴネットワーク１２０を介してページングできる。
【００７４】
１つの設計では、ワイヤレスデバイス１１０は、非アクティブモードで動作している間、１ｘＲＴＴネットワーク１２０を介してボイスサービスオプション（たとえば、サービスオプション３（ＳＯ３：Service Option 3））に基づいてページングできる。ワイヤレスデバイス１１０は、１ｘＲＴＴネットワーク１２０に登録することができ、ワイヤレスデバイス１１０が動き回るにつれて、そのロケーションを１ｘＲＴＴネットワーク１２０を用いて更新することができる。ワイヤレスデバイス１１０には、ページングメッセージをワイヤレスデバイス１１０に送信することができる時間期間である特定のページングスロットを割り当てることもできる。１ｘＲＴＴネットワーク１２０は、割当てページングスロット中に、ワイヤレスデバイス１１０の現在のロケーションに基づいて、ページングメッセージをワイヤレスデバイス１１０に送信することができる。ページングメッセージは、ワイヤレスデバイス１１０の電話番号であるＭＤＮを使用してワイヤレスデバイス１１０に送信できる。ワイヤレスデバイス１１０は、複数のページ通知を保証するために十分に長い継続時間の間、リング（ring）することができる。ワイヤレスデバイス１１０は、ＳＯ３を使用して送信されたページングメッセージへの返答を回避することができ、代わりにこのメッセージを、たとえば、サービスオプション３３（ＳＯ３３: Service Option 33）コールバックを用いたパケットデータ呼を開始するためのトリガとして使用することができる。
【００７５】
１ｘＲＴＴ専用状態４２０にある間、ワイヤレスデバイス１１０は、できるだけ多くの回路を電源切断することができ、その割当てページングスロット中に定期的にウェイクアップすることができる。ワイヤレスデバイス１１０は、ページングメッセージがワイヤレスデバイス１１０に送信されたかどうかを判断するために、各割当てページングスロット中で１ｘＲＴＴネットワーク１２０からのページングチャネルを処理することができる。ページングメッセージが受信され、応答が必要とされる場合、ワイヤレスデバイス１１０はＥＶＤＯ優先状態４１０に移行することができる。
【００７６】
１つの設計では、ワイヤレスデバイス１１０は、アクティブモードで動作している間、そのＩＰアドレスに基づいてページングできる。無線ネットワークを獲得すると、ワイヤレスデバイス１１０は、ＰＤＳＮ１４０とのデータセッション（たとえば、ＰＰＰセッション）を確立することができる。ワイヤレスデバイス１１０は、データセッション確立中に、（たとえば、成功したＭＩＰ認証の後にホームエージェントから）ＩＰアドレスを獲得することができ、データセッションの継続時間の間、このＩＰアドレスを使用することができる。ＩＰアドレスは、ワイヤレスデバイス１１０のＭＤＮならびにワイヤレスデバイス１１０におけるアプリケーションのソケットに関連する（すなわち、リンクする）ことができる。ソケットは、１つのエンティティにおけるアプリケーションと別のエンティティにおけるアプリケーションとの間の双方向通信経路の１つの端点である。ソケットは、ＴＣＰなどのトランスポート層プロトコルがソケットにマッピングされたアプリケーションを識別することができるように、ポート番号に結び付けることができる。ＩＰアドレスとＭＤＮとソケットとの間の関連付けは、（以下の説明の多くにおいて仮定するように）Ｒａｄｉｕｓサーバ１６２によって、または何らかの他のネットワークエンティティによってデータベース中の結合(binding)テーブルに記憶できる。Ｒａｄｉｕｓサーバ１６２は、フレームＩＰ属性ならびに（ｉ）ワイヤレスデバイス１１０のデータセッションが開始したこと及びＩＰアドレスが有効であることを示すセッション開始レコードと、（ｉｉ）データセッションがクローズされたことを示すセッション停止レコードと、を受信することができる。
【００７７】
ネットワークエンティティ（たとえば、カスタマコンテンツサーバ１７０）は、ワイヤレスデバイス１１０をページングすることを望むことがあり、ワイヤレスデバイス１１０のＭＤＮをリングするためにネットワークＡＰＩインターフェースを呼び出すことができる。結合テーブル内の検索を実行して、ＭＤＮがそのＭＤＮに割り当てられたアクティブＩＰアドレスを有するかどうかを判断することができる。アクティブＩＰアドレスが割り当てられている場合、ワイヤレスデバイス１１０上でＴＣＰサーバ（またはＴＣＰリスナ（TCP listener））が実行している特定のポートに通知パケットを送信することができる。ＴＣＰリスナが通知パケットを検出すると、アプリケーションに通知することができる。アプリケーションは、次いで、ネットワークエンティティへのモバイル開始パケットデータ呼を確立することができる。しかしながら、有効なＩＰアドレスがＭＤＮに割り当てられていない場合、ボイスページ（ＳＯ３）をワイヤレスデバイス１１０のＭＤＮに送信することができる。
【００７８】
したがって、ソケットベースのページングメッセージは、ワイヤレスデバイス１１０のＩＰアドレスを判断し、ＩＰアドレスにリンクされたＭＤＮおよびソケットを判断し、ＭＤＮを使用してページングメッセージ（たとえば、通知パケット）をソケットに送信することによって、ワイヤレスデバイス１１０に送信できる。ワイヤレスデバイス１１０は、ページングメッセージを受信することができ、コンテンツマッチ（content match）のためのペイロードストリングを検出することによってページングメッセージを処理することができる。マッチがある場合、アプリケーションは当該ページを通知され、ＴＣＰリスナは、ハンドシェークを完了するために肯定応答ペイロードをページングサーバ１６４に送信することができる。次いで、両方のエンティティは、交換の後、それらのソケットをクローズすることができる。
【００７９】
ページングサーバ１６４は、ワイヤレスデバイス１１０のページングメッセージを受信することができ、ワイヤレスデバイス１１０がアクティブモードで動作しているか、非アクティブモードで動作しているかを判断することができる。ページングサーバ１６４は、ワイヤレスデバイス１１０が非アクティブモードで動作している場合、ＳＯ３ベースのページングを使用してページングメッセージを送信し、またはワイヤレスデバイス１１０がアクティブモードで動作している場合、ソケットベースのページングを使用してページングメッセージを送信することができる。ワイヤレスデバイス１１０は、非アクティブモード中にそのプロトコルスタックを電源切断することができ、非アクティブモード中にソケットベースのページングメッセージを受信することはできない。
【００８０】
図５に、アプリケーションに情報を与えるためのプロセス５００の設計を示す。プロセス５００は、ワイヤレスデバイスにおける診断監視モジュール２２０などのモジュールによって実行できる。モジュールは、モデムの機能をテストするためのパラメータを与えるためにモデムによって使用される第１のインターフェース、たとえば、診断インターフェースを介してモデムから診断メッセージを受信する（ブロック５１２）。モジュールは、無線ネットワークのステータスを示すネットワークステータス情報を取得するために診断メッセージを処理する（ブロック５１４）。モジュールは、無線ネットワークとの通信を制御するために、アプリケーションが使用するネットワークステータス情報を第２のインターフェース（たとえば、ＡＰＩ）を介してアプリケーションに与える（ブロック５１６）。たとえば、アプリケーションは、ネットワークステータス情報を使用して、サービスをアクティブ化すべきかどうかを判断し、アクティブ化する場合にサービスのための無線ネットワークを選択する、などを行う。
【００８１】
ブロック５１４の１つの設計では、モジュールは、診断メッセージをパース（parse）して、無線ネットワークの指定されたパラメータを取得し、これらのパラメータに基づいてネットワークステータス情報を判断する。ネットワークステータス情報は、無線ネットワークの受信信号強度を示すバー値、ＲＢＩ、無線ネットワークの無線技術の指示、システム時間などを含むことができる。
【００８２】
モジュールはまた、ワイヤレスデバイスのステータスを示すデバイスステータス情報を取得するために診断メッセージを処理する。デバイスステータス情報は、ワイヤレスデバイスのＥＳＮ、ＭＤＮ、モデムバージョン、ＰＲＬバージョン、および／または他の情報を含むことができる。モジュールは、デバイスステータス情報を第２のインターフェースを介してアプリケーションに与える。
【００８３】
モジュールは、ログメッセージを送信するようにモデムを構成するために少なくとも１つの構成（configuration）メッセージをモデムに送信する。（１つまたは複数の）構成メッセージは、送信すべき特定のログメッセージ、ログメッセージ中で送信すべきパラメータ、ログメッセージを送信するための条件などを定義することができる。その後、モジュールは、（１つまたは複数の）構成メッセージによって構成された、モデムによって送信されるログメッセージを受信する。モジュールは、少なくとも１つのパラメータのためのコマンド要求メッセージをモデムに送信し、少なくとも１つのパラメータをもつコマンド応答メッセージを受信する。モジュールは、ネットワークステータス情報のパラメータを要求するＡＰＩをアプリケーションから受信し、要求されたパラメータをアプリケーションに与える。
【００８４】
図６に、ワイヤレスデバイスによって診断情報を報告（report）するためのプロセス６００の設計を示す。プロセス６００は、診断監視モジュール２２０などのモジュールによって実行できる。モジュールはモデムから診断メッセージを受信する（ブロック６１２）。モジュールは、ワイヤレスデバイスの無線接続またはデータセッションまたは両方のパフォーマンスを示す診断情報を取得するために診断メッセージを処理する（ブロック６１４）。モジュールは、ネットワーク監視、デバッグなどのために診断情報をネットワークサーバに送信する（ブロック６１６）。
【００８５】
モジュールは、モデムを、ログメッセージを送信するように構成するために少なくとも１つの構成メッセージをモデムに送信する。（１つまたは複数の）構成メッセージは、ログメッセージ中で送信すべきパラメータとログメッセージを送信するための条件とを定義することができる。モジュールは、（１つまたは複数の）構成メッセージによって構成された、モデムによって送信されるログメッセージを受信する。
【００８６】
モジュールは、イベントメッセージを送信するようにモデムを構成するために少なくとも１つの構成メッセージをモデムに送信する。（１つまたは複数の）構成メッセージは、送信すべき特定のイベントメッセージ、イベントメッセージ中で送信すべきパラメータ、イベントメッセージを送信するための条件などを定義することができる。各イベントメッセージは、関連するイベントによってトリガされたときに送信でき、そのイベントメッセージに対して定義されたパラメータのセットを与えることができる。モジュールは、（１つまたは複数の）構成メッセージによって構成された、モデムによって送信されるイベントメッセージを受信する。
【００８７】
ブロック６１４の１つの設計では、モジュールは、指定されたパラメータを取得するため、および診断メッセージ中の残りのパラメータを廃棄するために診断メッセージをパースする。モジュールは指定されたパラメータをバッファに記憶する。ブロック６１６の１つの設計では、モジュールは、バッファに記憶されたパラメータのセットを含む報告（report）を生成する。パラメータのセットは診断情報を形成することができる。モジュールは報告をネットワークサーバに送信する。
【００８８】
図７に、ワイヤレスデバイスによって診断情報を送信するためのプロセス７００の設計を示す。プロセス７００は、診断監視モジュール２２０などのモジュールによって実行できる。モジュールはモデムから診断メッセージを受信する（ブロック７１２）。モジュールは、ワイヤレスデバイスの無線接続またはデータセッションまたは両方のパフォーマンスを示すセットパラメータを取得するために診断メッセージを処理する（ブロック７１４）。モジュールは、報告すべきパラメータのセットに基づいて辞書を定義し、セット中の各パラメータに異なるフィールドコードを割り当てる（ブロック７１６）。モジュールは、辞書とレコードのセットとを含むデータブロックを生成する（ブロック７１８）。辞書は、報告されているパラメータのセットに対するフィールドコードのセットと各フィールドコードの説明とを含むことができる。レコードのセットは、辞書中で定義されるフィールドコードに対するパラメータ値を含むことができる。モジュールは、データブロックをワイヤレスデバイスからネットワークサーバに送信する（ブロック７２０）。
【００８９】
１つの設計では、モジュールは、ネットワークサーバとの報告セッションを開始するために開始メッセージを送信する。モジュールは、ネットワークサーバから報告セッションを容認する応答（reply）メッセージを受信する。モジュールは、報告セッション中にデータブロックを生成し、送信する。
【００９０】
図８に、ワイヤレスデバイスにおいてページングメッセージを受信するためのプロセス８００の設計を示す。ワイヤレスデバイスは、非アクティブモードで動作しているとき、ワイヤレスデバイスの第１の識別子に基づいて送信される第１のページングメッセージを受信する（ブロック８１２）。ワイヤレスデバイスは、アクティブモードで動作しているとき、ワイヤレスデバイスの第２の識別子に基づいて送信される第２のページングメッセージを受信する（ブロック８１４）。ワイヤレスデバイスは、アクティブモードではアクティブデータセッションを有することができ、非アクティブモードではアクティブデータセッションを有することができない。
【００９１】
第１の識別子はワイヤレスデバイスのＭＤＮを含むことができ、第１のページングメッセージは、ボイスサービスオプション（たとえば、ＳＯ−３）を使用してワイヤレスデバイスに送信できる。第２の識別子はワイヤレスデバイスのＩＰアドレスを含むことができ、第２のページングメッセージは、ワイヤレスデバイスにおけるアプリケーションのソケットに送信できる。ワイヤレスデバイスは、第１の無線ネットワーク、たとえば、１ｘＲＴＴネットワークを介して第１のページングメッセージを受信する。ワイヤレスデバイスは、第１の無線ネットワークまたは第２の無線ネットワーク、たとえば、ＥＶＤＯネットワークを介して第２のページングメッセージを受信する。
【００９２】
図９に、ページングメッセージを送信するためのプロセス９００の設計を示す。プロセス９００は、図１および図４のページングサーバ１６４などのネットワークエンティティによって実行できる。ページングサーバは、ワイヤレスデバイスが非アクティブモードで動作しているか、アクティブモードで動作しているかを判断する（ブロック９１２）。ページングサーバは、非アクティブモードで動作している場合、ワイヤレスデバイスの第１の識別子に基づいてページングメッセージをワイヤレスデバイスに送信する（ブロック９１４）。ページングサーバは、アクティブモードで動作している場合、ワイヤレスデバイスの第２の識別子に基づいてページングメッセージをワイヤレスデバイスに送信する（ブロック９１６）。
【００９３】
第１の識別子はワイヤレスデバイスのＭＤＮを含むことができ、第１のページングメッセージは、ボイスサービスオプションを使用してワイヤレスデバイスに送信できる。第２の識別子はワイヤレスデバイスのＩＰアドレスを含むことができ、第２のページングメッセージは、ワイヤレスデバイスにおけるアプリケーションのソケットに送信できる。ページングサーバ、Ｒａｄｉｕｓサーバ、または別のネットワークエンティティは、ワイヤレスデバイスのＩＰアドレスとソケットとＭＤＮとの関連付けを記憶することができる。
【００９４】
図１０に、図１のワイヤレスデバイス１１０、無線ネットワーク１２０、およびネットワーク／ページングサーバ１６２の設計のブロック図を示す。ワイヤレスデバイス１１０において、モデム２１０は、ワイヤレスデバイスによって送信すべきデータを受信し、データを処理し、出力サンプルを生成することができる。送信機（ＴＭＴＲ）２１２は、出力サンプルを調整し、無線ネットワーク１２０に送信できる逆方向リンク信号を生成することができる。順方向リンク上で、ワイヤレスデバイス１１０は、無線ネットワーク１２０および／または他の無線ネットワークから順方向リンク信号を受信することができる。受信機（ＲＣＶＲ）２１４は、受信信号を調整し、入力サンプルを与えることができる。モデム２１０は、入力サンプルを処理し、復号データを与えることができる。モデム２１０は、ワイヤレスデバイス１１０にサービスする無線ネットワークによって利用される無線技術（たとえば、１ｘＲＴＴ、ＥＶＤＯなど）に従って処理を実行することができる。デジタル信号プロセッサ２４４は、ワイヤレスデバイス１１０のための様々なタイプの処理を実行することができる。
【００９５】
コントローラ／プロセッサ２４０は、ワイヤレスデバイス１１０において動作を指示することができる。プロセッサ２４０および／または２４４は、図３のモジュール３２０〜３７０を実装することができる。プロセッサ２４０および／または２４４はまた、図５のプロセス５００、図６のプロセス６００、図７のプロセス７００、図８のプロセス８００、および／または本明細書で説明する技法の他のプロセスを実行または指示することができる。メモリ２４２は、ワイヤレスデバイス１１０のプログラムコードおよびデータを記憶することができる。モデム２１０、プロセッサ２４０および２４４、ならびにメモリ２４２は、特定用途向け集積回路（ＡＳＩＣ）２０２上に実装できる。
【００９６】
無線ネットワーク１２０において、送信機／受信機２４８は、ワイヤレスデバイス１２０および他のワイヤレスデバイスとの無線通信をサポートすることができる。コントローラ／プロセッサ２５０は、ワイヤレスデバイスとの通信のための様々な機能を実行することができる。メモリ２５２は、無線ネットワーク１２０のプログラムコードおよびデータを記憶することができる。通信（Ｃｏｍｍ）ユニット２５４は、他のネットワークエンティティ、たとえば、ネットワークサーバ１６２との通信をサポートすることができる。一般に、無線ネットワーク１２０は、任意の数のコントローラ、プロセッサ、メモリ、送信機、受信機、通信ユニットなどを含むことができる。
【００９７】
ネットワークサーバ１６２において、コントローラ／プロセッサ２６０は、通信サービス、たとえば、ページングをサポートするための様々な機能を実行することができる。コントローラ／プロセッサ２６０は、図９のプロセス９００および／または本明細書で説明する技法の他のプロセスを実行または指示することができる。メモリ２６２は、ネットワークサーバ１６２のプログラムコードおよびデータを記憶することができる。通信ユニット２６４は、他のネットワークエンティティ、たとえば、無線ネットワーク１２０、ＰＤＳＮ１４０などとの通信をサポートすることができる。一般に、図１のネットワークサーバ１６２ならびに他のサーバは、任意の数のコントローラ、プロセッサ、メモリ、通信ユニットなどとともに実装できる。
【００９８】
情報および信号は様々な異なる技術および技法のいずれかを使用して表すことができることを、当業者は理解されよう。たとえば、上記の説明の全体にわたって言及することがあるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表現できる。
【００９９】
さらに、本明細書の開示に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は理解されよう。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するかソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じると解釈すべきではない。
【０１００】
本明細書の開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネント、あるいは本明細書に記載の機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行できる。汎用プロセッサはマイクロプロセッサとすることができるが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としても実装できる。
【０１０１】
本明細書の開示に関連して説明された方法またはアルゴリズムのステップは、ハードウェアで直接実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその２つの組合せで実施することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化することができる。プロセッサおよび記憶媒体はＡＳＩＣ中に常駐することができる。ＡＳＩＣはユーザ端末内に常駐することができる。代替として、プロセッサおよび記憶媒体はユーザ端末中の個別構成要素として常駐することができる。
【０１０２】
１つまたは複数の例示的な設計では、説明した機能を、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装することができる。ソフトウェアで実装する場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶するか、あるいはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、汎用または専用コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、あるいは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、もしくは命令またはデータ構造の形の所望のプログラムコード手段を搬送または記憶するために使用でき、汎用または専用コンピュータあるいは汎用または専用プロセッサによってアクセスできる任意の他の媒体を備えることができる。さらに、いかなる接続も正しくはコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記のものの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１０３】
本開示の前述の説明は、いかなる当業者でも本開示を作成または使用することができるように提供される。本開示への様々な修正は当業者には容易に明らかであり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用できる。したがって、本開示は、本明細書で説明する例および設計に限定されるものではなく、本明細書で開示する原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ワイヤレス通信のための方法であって、
第１のインターフェースを介してモデムから診断メッセージを受信することと、
無線ネットワークのステータスを示すネットワークステータス情報を取得するために前記診断メッセージを処理することと、
前記無線ネットワークとの通信を制御するために、アプリケーションが使用する前記ネットワークステータス情報を第２のインターフェースを介して前記アプリケーションに与えることと、
を含む方法。
［Ｃ２］  前記診断メッセージを処理することは、
前記無線ネットワークの指定されたパラメータを取得するために前記診断メッセージをパースすることと、
前記無線ネットワークの前記指定されたパラメータに基づいて前記ネットワークステータス情報を判断することと、
を含む、Ｃ１記載の方法。
［Ｃ３］  前記ネットワークステータス情報は、前記無線ネットワークの受信信号強度を示すバー値と、ローミングビットインジケータ（ＲＢＩ）と、前記無線ネットワークの無線技術の指示と、システム時間とのうちの少なくとも１つを含む、Ｃ１記載の方法。
［Ｃ４］  ワイヤレスデバイスのステータスを示すデバイスステータス情報を取得するために前記診断メッセージを処理することと、
前記デバイスステータス情報を前記第２のインターフェースを介して前記アプリケーションに与えることと、
をさらに含む、Ｃ１記載の方法。
［Ｃ５］  前記デバイスステータス情報は、前記ワイヤレスデバイスのエレクトロニクスシリアルナンバー（ＥＳＮ）と、モバイルディレクトリ番号（ＭＤＮ）と、モデムバージョンと、好適ローミングリスト（ＰＲＬ）バージョンとのうちの少なくとも１つを含む、Ｃ４記載の方法。
［Ｃ６］  少なくとも１つのパラメータのためのコマンド要求メッセージを前記モデムに送信することをさらに含み、
前記診断メッセージを受信することは、前記少なくとも１つのパラメータをもつコマンド応答メッセージを受信することを含む、
Ｃ１記載の方法。
［Ｃ７］  ログメッセージを送信するように前記モデムを構成するために、少なくとも１つの構成メッセージを前記モデムに送信することをさらに含み、
前記診断メッセージを受信することは、前記少なくとも１つの構成メッセージによって構成された前記モデムによって送信される前記ログメッセージを受信することを含む、  Ｃ１記載の方法。
［Ｃ８］  前記第１のインターフェースは、前記モデムの機能をテストするためのパラメータを与えるために前記モデムによって使用される診断インターフェースを含み、前記第２のインターフェースはアプリケーションプログラミングインターフェース（ＡＰＩ）を含む、Ｃ１記載の方法。
［Ｃ９］  ネットワークステータス情報のパラメータを要求するアプリケーションプログラミングインターフェース（ＡＰＩ）を前記アプリケーションから受信することと、
前記要求されたパラメータを前記アプリケーションに与えることと、
をさらに含む、Ｃ１記載の方法。
［Ｃ１０］  前記ネットワークステータス情報は、サービスをアクティブ化すべきかどうかを判断し、アクティブ化する場合に前記サービスのための無線ネットワークを選択するために、前記アプリケーションによって使用される、Ｃ１記載の方法。
［Ｃ１１］  ワイヤレス通信のための装置であって、
第１のインターフェースを介してモデムから診断メッセージを受信し、
無線ネットワークのステータスを示すネットワークステータス情報を取得するために前記診断メッセージを処理し、
前記無線ネットワークとの通信を制御するために、アプリケーションが使用する前記ネットワークステータス情報を第２のインターフェースを介して前記アプリケーションに与えるように構成された少なくとも１つのプロセッサを備える装置。
［Ｃ１２］  前記少なくとも１つのプロセッサは、前記無線ネットワークの指定されたパラメータを取得するために前記診断メッセージをパースし、前記無線ネットワークの前記指定されたパラメータに基づいて前記ネットワークステータス情報を判断するように構成された、Ｃ１１記載の装置。
［Ｃ１３］  前記少なくとも１つのプロセッサは、ワイヤレスデバイスのステータスを示すデバイスステータス情報を取得するために前記診断メッセージを処理し、前記デバイスステータス情報を前記第２のインターフェースを介して前記アプリケーションに与えるように構成された、Ｃ１１記載の装置。
［Ｃ１４］  ワイヤレス通信のための装置であって、
第１のインターフェースを介してモデムから診断メッセージを受信する手段と、
無線ネットワークのステータスを示すネットワークステータス情報を取得するために前記診断メッセージを処理する手段と、
前記無線ネットワークとの通信を制御するために、アプリケーションが使用する前記ネットワークステータス情報を第２のインターフェースを介して前記アプリケーションに与える手段と、
を備える装置。
［Ｃ１５］  前記診断メッセージを処理する手段は、
前記無線ネットワークの指定されたパラメータを取得するために前記診断メッセージをパースする手段と、
前記無線ネットワークの前記指定されたパラメータに基づいて前記ネットワークステータス情報を判断する手段と、
を備える、Ｃ１４記載の装置。
［Ｃ１６］  ワイヤレスデバイスのステータスを示すデバイスステータス情報を取得するために前記診断メッセージを処理する手段と、
前記デバイスステータス情報を前記第２のインターフェースを介して前記アプリケーションに与える手段と、
をさらに備える、Ｃ１４記載の装置。
［Ｃ１７］  少なくとも１つのコンピュータに、第１のインターフェースを介してモデムから診断メッセージを受信させるコードと、
無線ネットワークのステータスを示すネットワークステータス情報を取得するために、少なくとも１つのコンピュータに前記診断メッセージを処理させるコードと、
前記無線ネットワークとの通信を制御するために、少なくとも１つのコンピュータに、アプリケーションが使用する前記ネットワークステータス情報を第２のインターフェースを介して前記アプリケーションに与えることを行わせるコードと、
を備えるコンピュータ可読媒体を含むコンピュータプログラム製品。
［Ｃ１８］  ワイヤレス通信のための方法であって、
モデムから診断メッセージを受信することと、
ワイヤレスデバイスの無線接続またはデータセッションまたはこれら両方のパフォーマンスを示す診断情報を取得するために前記診断メッセージを処理することと、
ネットワーク監視およびデバッグのために前記診断情報をネットワークサーバに送信することと、
を含む方法。
［Ｃ１９］  ログメッセージを送信するように前記モデムを構成するために少なくとも１つの構成メッセージを前記モデムに送信することをさらに含み、
前記少なくとも１つの構成メッセージは、送信すべき特定のログメッセージと、前記ログメッセージ中で送信すべきパラメータと、前記ログメッセージを送信するための条件とのうちの少なくとも１つを定義し、
前記診断メッセージを受信することは、前記少なくとも１つの構成メッセージによって構成された前記モデムによって送信される前記ログメッセージを受信することを含む、  Ｃ１８記載の方法。
［Ｃ２０］  イベントメッセージを送信するように前記モデムを構成するために少なくとも１つの構成メッセージを前記モデムに送信することをさらに含み、
各イベントメッセージは、関連するイベントによってトリガされたときに送信され、  前記診断メッセージを受信することは、前記少なくとも１つの構成メッセージによって構成された前記モデムによって送信される前記イベントメッセージを受信することを含む、Ｃ１８記載の方法。
［Ｃ２１］  前記診断メッセージを処理することは、
指定されたパラメータを取得するために、および前記診断メッセージ中の残りのパラメータを廃棄するために、前記診断メッセージをパースすることと、
前記指定されたパラメータをバッファに記憶することと、
を含むＣ１８記載の方法。
［Ｃ２２］  前記診断情報を送信することは、
前記バッファに記憶されたパラメータのセットを含む報告を生成することと、前記パラメータのセットは前記診断情報を形成し、
前記報告を前記ネットワークサーバに送信することと、
を含む、Ｃ２１に記載の方法。
［Ｃ２３］  ワイヤレス通信のための装置であって、
モデムから診断メッセージを受信し、ワイヤレスデバイスの無線接続またはデータセッションまたはこれら両方のパフォーマンスを示す診断情報を取得するために前記診断メッセージを処理し、ネットワーク監視およびデバッグのために前記診断情報をネットワークサーバに送信するように構成された少なくとも１つのプロセッサを備える装置。
［Ｃ２４］  前記少なくとも１つのプロセッサは、
ログメッセージを送信するように前記モデムを構成するために少なくとも１つの構成メッセージを前記モデムに送信し、前記少なくとも１つの構成メッセージによって構成された前記モデムによって送信される前記ログメッセージを受信するように構成され、
前記少なくとも１つの構成メッセージは、送信すべき特定のイベントメッセージと、前記ログメッセージ中で送信すべきパラメータと、前記ログメッセージを送信するための条件とのうちの少なくとも１つを定義する、
Ｃ２３記載の装置。
［Ｃ２５］  前記少なくとも１つのプロセッサは、
イベントメッセージを送信するように前記モデムを構成するために少なくとも１つの構成メッセージを前記モデムに送信することと、各イベントメッセージは、関連するイベントによってトリガされたときに送信され、
前記少なくとも１つの構成メッセージによって構成された前記モデムによって送信される前記イベントメッセージを受信することと、
を行うように構成されたＣ２３記載の装置。
［Ｃ２６］  前記少なくとも１つのプロセッサは、
指定されたパラメータを取得するために、および前記診断メッセージ中の残りのパラメータを廃棄するために、前記診断メッセージをパースし、前記指定されたパラメータをバッファに記憶するように構成された、Ｃ２３記載の装置。
［Ｃ２７］  前記少なくとも１つのプロセッサは、
前記バッファに記憶されたパラメータのセットを含む報告を生成することと、前記パラメータのセットは前記診断情報を形成し、
前記報告を前記ネットワークサーバに送信することと、
を行うように構成された、Ｃ２６記載の装置。
［Ｃ２８］  ワイヤレス通信のための方法であって、
辞書とレコードセットとを含むデータブロックを生成することと、前記辞書は、報告されているパラメータセットに対するフィールドコードセットと各フィールドコードの説明とを含み、前記レコードセットは、前記辞書中で定義されるフィールドコードに対するパラメータ値を含み、
前記データブロックをワイヤレスデバイスからネットワークサーバに送信することと、  を含む方法。
［Ｃ２９］  前記データブロック中で報告すべき前記パラメータセットに基づいて前記辞書を定義することと、
前記セット中の各パラメータに異なるフィールドコードを割り当てることと、
をさらに含む、Ｃ２８記載の方法。
［Ｃ３０］  モデムから診断メッセージを受信することと、
前記セット中の前記パラメータを取得するために前記診断メッセージを処理することと、
をさらに含み、前記パラメータは、前記ワイヤレスデバイスの無線接続またはデータセッションまたはこれら両方のパフォーマンスを示す、
Ｃ２８記載の方法。
［Ｃ３１］  前記ネットワークサーバとの報告セッションを開始するために開始メッセージを送信することと、
前記ネットワークサーバから前記報告セッションを容認する応答メッセージを受信することと、
をさらに含み、前記データブロックは、前記報告セッション中に生成され、および送信される、Ｃ２８記載の方法。
［Ｃ３２］  ワイヤレス通信のための装置であって、
辞書とレコードセットとを含むデータブロックを生成し、前記辞書は、報告されているパラメータセットに対するフィールドコードセットと各フィールドコードの説明とを含み、前記レコードセットは、前記辞書中で定義されるフィールドコードに対するパラメータ値を含み、
前記データブロックをワイヤレスデバイスからネットワークサーバに送信する、
少なくとも１つのプロセッサ
を備える装置。
［Ｃ３３］  前記少なくとも１つのプロセッサは、前記データブロック中で報告すべき前記パラメータセットに基づいて前記辞書を定義し、前記セット中の各パラメータに異なるフィールドコードを割り当てる、Ｃ３２記載の装置。
［Ｃ３４］  前記少なくとも１つのプロセッサは、
モデムから診断メッセージを受信し、前記セット中の前記パラメータを取得するために前記診断メッセージを処理し、
前記パラメータは、前記ワイヤレスデバイスの無線接続またはデータセッションまたはこれら両方のパフォーマンスを示す、Ｃ３２記載の装置。
［Ｃ３５］  ワイヤレス通信のための方法であって、
ワイヤレスデバイスが非アクティブモードで動作しているとき、前記ワイヤレスデバイスの第１の識別子に基づいて送信される第１のページングメッセージを受信することと、  前記ワイヤレスデバイスがアクティブモードで動作しているとき、前記ワイヤレスデバイスの第２の識別子に基づいて送信される第２のページングメッセージを受信することと、
を含む方法。
［Ｃ３６］  前記ワイヤレスデバイスは、前記アクティブモードではアクティブデータセッションを有し、前記非アクティブモードではアクティブデータセッションを有しない、Ｃ３５記載の方法。
［Ｃ３７］  前記第１の識別子は前記ワイヤレスデバイスのモバイルディレクトリ番号（ＭＤＮ）を含み、前記第１のページングメッセージは、ボイスサービスオプションを使用して前記ワイヤレスデバイスに送信される、Ｃ３５記載の方法。
［Ｃ３８］  前記第２の識別子は前記ワイヤレスデバイスのインターネットプロトコル（ＩＰ）アドレスを含み、前記第２のページングメッセージは、前記ワイヤレスデバイスにおけるアプリケーションのソケットに送信される、Ｃ３５記載の方法。
［Ｃ３９］  前記第１のページングメッセージは第１の無線ネットワークを介して受信され、前記第２のページングメッセージは前記第１の無線ネットワークまたは第２の無線ネットワークを介して受信される、Ｃ３５記載の方法。
［Ｃ４０］  ワイヤレス通信のための装置であって、
ワイヤレスデバイスが非アクティブモードで動作しているとき、前記ワイヤレスデバイスの第１の識別子に基づいて送信される第１のページングメッセージを受信し、
前記ワイヤレスデバイスがアクティブモードで動作しているとき、前記ワイヤレスデバイスの第２の識別子に基づいて送信される第２のページングメッセージを受信する、
少なくとも１つのプロセッサを備える装置。
［Ｃ４１］  前記第１の識別子は前記ワイヤレスデバイスのモバイルディレクトリ番号（ＭＤＮ）を含み、前記第１のページングメッセージはボイスサービスオプションを使用して前記ワイヤレスデバイスに送信される、Ｃ４０記載の装置。
［Ｃ４２］  前記第２の識別子は前記ワイヤレスデバイスのインターネットプロトコル（ＩＰ）アドレスを含み、前記第２のページングメッセージは前記ワイヤレスデバイスにおけるアプリケーションのソケットに送信される、Ｃ４０記載の装置。
［Ｃ４３］  前記少なくとも１つのプロセッサは、
第１の無線ネットワークを介して前記第１のページングメッセージを受信し、
前記第１の無線ネットワークまたは第２の無線ネットワークを介して前記第２のページングメッセージを受信する、
Ｃ４０記載の装置。
［Ｃ４４］  ワイヤレス通信のための方法であって、
ワイヤレスデバイスが非アクティブモードで動作しているか、アクティブモードで動作しているかを判断することと、
前記ワイヤレスデバイスが前記非アクティブモードで動作している場合、前記ワイヤレスデバイスの第１の識別子に基づいてページングメッセージを前記ワイヤレスデバイスに送信することと、
前記ワイヤレスデバイスが前記アクティブモードで動作している場合、前記ワイヤレスデバイスの第２の識別子に基づいて前記ページングメッセージを前記ワイヤレスデバイスに送信することと、
を含む方法。
［Ｃ４５］  前記第１の識別子は前記ワイヤレスデバイスのモバイルディレクトリ番号（ＭＤＮ）を含み、前記第１のページングメッセージはボイスサービスオプションを使用して前記ワイヤレスデバイスに送信される、Ｃ４４記載の方法。
［Ｃ４６］  前記第２の識別子は前記ワイヤレスデバイスのインターネットプロトコル（ＩＰ）アドレスを含み、前記第２のページングメッセージは前記ワイヤレスデバイスにおけるアプリケーションのソケットに送信される、Ｃ４４記載の方法。
［Ｃ４７］  前記ワイヤレスデバイスの前記ＩＰアドレスと前記ソケットとモバイルディレクトリ番号（ＭＤＮ）との関連付けを記憶すること、
をさらに備える、Ｃ４６記載の方法。
［Ｃ４８］  ワイヤレス通信のための装置であって、
ワイヤレスデバイスが非アクティブモードで動作しているか、アクティブモードで動作しているかを判断し、
前記ワイヤレスデバイスが前記非アクティブモードで動作している場合、前記ワイヤレスデバイスの第１の識別子に基づいてページングメッセージを前記ワイヤレスデバイスに送信し、
前記ワイヤレスデバイスが前記アクティブモードで動作している場合、前記ワイヤレスデバイスの第２の識別子に基づいて前記ページングメッセージを前記ワイヤレスデバイスに送信する
少なくとも１つのプロセッサ
を備える装置。
［Ｃ４９］  前記第１の識別子は前記ワイヤレスデバイスのモバイルディレクトリ番号（ＭＤＮ）を含み、前記第１のページングメッセージはボイスサービスオプションを使用して前記ワイヤレスデバイスに送信される、Ｃ４８記載の装置。
［Ｃ５０］  前記第２の識別子は前記ワイヤレスデバイスのインターネットプロトコル（ＩＰ）アドレスを含み、前記第２のページングメッセージは前記ワイヤレスデバイスにおけるアプリケーションのソケットに送信される、Ｃ４８記載の装置。
［Ｃ５１］  前記少なくとも１つのプロセッサは、前記ワイヤレスデバイスの前記ＩＰアドレスと前記ソケットとモバイルディレクトリ番号（ＭＤＮ）との関連付けを記憶する、Ｃ５０記載の装置。
【図１】
0005518957.tif 000017
【図２】
0005518957.tif 000018
【図３】
0005518957.tif 000019
【図４】
0005518957.tif 000020
【図５】
0005518957.tif 000021
【図６】
0005518957.tif 000022
【図７】
0005518957.tif 000023
【図８】
0005518957.tif 000024
【図９】
0005518957.tif 000025
【図１０】
0005518957.tif 000026