(57)【要約】【課題】アプリケーションレベルゲートウェイ（ＡＬＧ）のファイル又はファイアウォールのルールセット２００を評価する方法及び装置を提供する。【解決手段】本方法及び装置は、双方向通信装置１３０で、アプリケーションレベルゲートウェイ（ＡＬＧ）ファイルを受信すること３０４、該ＡＬＧファイルの少なくとも１つの互換性パラメータを該双方向通信装置の特性と比較すること３０８，３１０，３１４，３２０，３２６，３３２，３３６を含んでいる。全ての互換性パラメータが勝る場合、ＡＬＧファイルは、双方向通信装置に記憶される３４０。【選択図】図３
2010061675.tif 000002
【特許請求の範囲】
【請求項１】
双方向通信装置で、アプリケーションレベルゲートウェイ（ＡＬＧ）のファイルを受信するステップと、
前記双方向通信装置で、前記ＡＬＧファイルの少なくとも１つの互換性を示すパラメータを、前記双方向通信装置の少なくとも１つのハードウェアの特性と比較するステップと、
前記少なくとも１つの互換性を示すパラメータに関する好ましい比較に応答して、前記双方向通信装置で前記ＡＬＧファイルを記憶するステップとを含み、
前記受信ステップ、比較ステップ及び記憶ステップは、特定の順序で実行される、
ことを特徴とする方法。
【請求項２】
前記少なくとも１つの互換性を示すパラメータに関する好ましくない比較に応答して、前記双方向通信装置で前記ＡＬＧファイルを拒否するステップをさらに含む、
請求項１記載の方法。
【請求項３】
前記少なくとも１つの互換性を示すパラメータは、前記ＡＬＧファイルのヘッダサイズ及び前記ＡＬＧファイルのボディサイズのうちの少なくとも１つを含み、
前記双方向通信装置の少なくとも１つのハードウェアの特性は、前記ＡＬＧファイルを記憶するために前記双方向通信装置において利用可能なメモリの容量を含む、
請求項１記載の方法。
【請求項４】
前記双方向通信装置は、ケーブルモデムを備える、
請求項１記載の方法。
【請求項５】
前記受信するステップは、
少なくとも１つの新たなＡＬＧファイル及び更新されたＡＬＧファイルが利用可能であるかを判定するためにサービスプロバイダに周期的にポーリングするステップと、
利用可能なＡＬＧファイルの要求を送出するステップと、
アクセスネットワークから前記要求されたＡＬＧファイルを受信するステップと、
を含む請求項１記載の方法。
【請求項６】
前記受信するステップは、
少なくとも１つの新たなＡＬＧファイル及び更新されたＡＬＧファイルを識別するコンフィギュレーションファイルを前記サービスプロバイダから受信するステップと、
利用可能なＡＬＧファイルの要求を送出するステップと、
アクセスネットワークから前記要求されたＡＬＧファイルを受信するステップと、
を含む請求項１記載の方法。
【請求項７】
ファイアウォールプログラムが前記ＡＬＧファイルを利用してデータトラフィックを制御する、
請求項１記載の方法。
【請求項８】
前記少なくとも１つの互換性パラメータは、前記ＡＬＧファイルのヘッダ部分に含まれる、
請求項１記載の方法。
【請求項９】
前記双方向通信装置の少なくとも１つのハードウェアの特性は、前記ＡＬＧファイルを記憶するために前記双方向通信装置において利用可能なメモリの容量を含む、
請求項１記載の方法。
【請求項１０】
前記少なくとも１つの互換性を示すパラメータは、前記ＡＬＧファイルのヘッダサイズ及び前記ＡＬＧファイルのボディサイズのうちの１つを含む、
請求項１記載の方法。
【請求項１１】
双方向通信装置でアプリケーションレベルゲートウェイ（ＡＬＧ）のファイルを受信する手段と、
前記双方向通信装置で、前記ＡＬＧファイルの少なくとも１つの互換性を示すパラメータを、前記双方向通信装置の少なくとも１つのハードウェアの特性と比較する手段と、
前記少なくとも１つの互換性を示すパラメータに関する好ましい比較に応答して、前記双方向通信装置で前記ＡＬＧファイルを記憶する手段とを有し、
前記受信手段、比較手段及び記憶手段により実行される機能は、特定の順序で実行される、
ことを特徴とする装置。
【請求項１２】
前記少なくとも１つの互換性パラメータに関する好ましくない比較に応答して、前記双方向通信装置で前記ＡＬＧファイルを拒否する手段をさらに備える、
請求項１１記載の装置。
【請求項１３】
前記双方向通信装置は、ケーブルモデムを備える、
請求項１１記載の装置。
【請求項１４】
前記双方向通信装置の少なくとも１つのハードウェアの特性は、前記ＡＬＧファイルを記憶するために前記双方向通信装置において利用可能なメモリの量を含む、
請求項１１記載の装置。
【請求項１５】
前記少なくとも１つの互換性を示すパラメータは、前記ＡＬＧファイルのヘッダサイズ及び前記ＡＬＧファイルのボディサイズのうちの１つを含む、
請求項１１記載の装置。
【請求項１６】
前記少なくとも１つの互換性を示すパラメータは、前記ＡＬＧファイルのヘッダサイズ及び前記ＡＬＧファイルのボディサイズのうちの少なくとも１つを含み、
前記双方向通信装置の少なくとも１つのハードウェアの特性は、前記ＡＬＧファイルを記憶するために前記双方向通信装置において利用可能なメモリの容量を含む、
請求項１１記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、双方向通信装置の分野に関し、より詳細には、本発明は、双方向通信装置のためのアプリケーションレベルゲートウェイ及びファイアウォールのルールセットをアップグレードすることに関する。  
本出願は、２００２年７月１１日に提出された米国仮出願シリアル番号６０，３９５，０４２号の利益を請求するものであり、この仮出願は、引用によりそのままの状態で本明細書に組み込まれる。
【背景技術】
【０００２】
フィールドでアップグレード可能なプロダクトは、今日のブロードバンド市場において、より普及してきている。ケーブルモデム及び他の双方向通信装置のような装置は、アプリケーションレベルゲートウェイ（ＡＬＧ）及び／又はファイアウォールのルールのセットを有している場合があり、これらは顧客の家又はオフィスにある間に遠隔的にダウンロードされる。  
かかるＡＬＧ及び／又はファイアウォールのルールセットを含むようなファイルをダウンロードすることで、特に、不適切なファイルバージョン、破壊されたファイル、許可されていないファイル、大き過ぎるファイル、装置のハードウェア及び／又はソフトウェアとの互換性を持たないファイルをダウンロードするため、装置はより高いリスクにさらされる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
互換性を持たない又は破壊されたＡＬＧファイルをケーブルモデムにダウンロードすることで、ケーブルモデムのハングアップすなわちクラッシュを引き起こす場合がある。ケーブルモデムがひとたびハングアップ又はクラッシュすると、ケーブルモデムは、動作不能となり、典型的には、ケーブルモデムを修理するため、複数のシステムオペレータ（ＭＳＯ）のサービス代表等から例示的にサービスコールを必要とする。  
したがって、ケーブルモデムのような双方向通信装置にダウンロードされる、適切なアプリケーションレベルゲートウェイのファイル又はファイアウォールのルールセットのファイルを認証することが必要とされている。
【課題を解決するための手段】
【０００４】
従来技術に関連される問題点は、本発明のアプリケーションレベルゲートウェイ（ＡＬＧ）のファイル又はファイアウォールのルールセットを評価するための装置及び方法により解決される。  
本方法及び装置は、サービスプロバイダからのＡＬＧファイルを受信すること、及び、かかるＡＬＧファイルを受信する双方向通信装置の機能により、ＡＬＧファイルの少なくとも１つの互換性パラメータを評価することを含んでいる。全ての互換性パラメータが認証される場合、ＡＬＧファイルは双方向通信装置に記憶される。
【０００５】
本発明の教示は、添付図面と共に以下の詳細な説明を考慮することで容易に理解することができる。  
本発明の理解を容易にするため、可能である場合、図面で共通の同じエレメントを示すために同じ参照符号が使用されている。
【図面の簡単な説明】
【０００６】
【図１】本発明の例示的な実施の形態が利用されるケーブルコミュニケーションシステムの高水準のブロック図である。
【図２】本発明の原理に従う、例示的なアプリケーションレベルゲートウェイ（ＡＬＧ）ファイルのブロック図である。
【図３】本発明の原理に従う、アップグレードされたＡＬＧファイルを認証するための方法に関するフローチャートである。
【発明を実施するための最良の形態】
【０００７】
本発明は、双方向の通信環境で動作する双方向通信装置（ＢＣＤ：  Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｄｅｖｉｃｅ）、及びアプリケーションレベルゲートウェイ（ＡＬＧ）ファイル又はファイアウォールのルールセットをＢＣＤにダウンロードするための方法を備えている。
【０００８】
本発明の明確さ及び良好な理解のため、本発明は、ケーブル通信分散システムの観点で例示的に説明される。しかし、本発明の原理は、衛星通信システム、ＡＤＳＬ、ＤＳＬ、ダイアルアップ、ワイヤレスシステム、又は複数の加入者装置に双方向通信（たとえば、データ、マルチメディアコンテンツ、及び他の情報）を提供可能な他の双方向通信環境のような、他の双方向通信環境にも適用される。
【０００９】
双方向通信装置は、１実施の形態では、ＣａｂｌｅＬａｂｓ  Ｃｅｒｔｉｆｉｅｄ  ＣａｂｌｅＭｏｄｅｍ（登録商標）に準拠したケーブルモデムであって、このケーブルモデムは、ケーブルモデムのようなＤＯＣＳＩＳベースの製品及びパーソナルコンピュータ等のような複数の加入者装置を配置するケーブルテレビジョンシステムオペレータ（及びインターネットサービスプロバイダ（ＩＳＰ））間で双方向通信を提供するために使用される場合がある。
【００１０】
ＤＯＣＳＩＳ（Ｄａｔａ  Ｏｖｅｒ  Ｃａｂｌｅ  Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）として前もって知られているＣａｂｌｅＬａｂｓ  Ｃｅｒｔｉｆｉｅｄ  ＣａｂｌｅＭｏｄｅｍ（登録商標）は、変調スキームを規定する仕様を確立する先導的なＣＡＴＶにより創設されている。各種バージョンのＤＯＣＳＩＳは、そのままの形で引用により本明細書で組み込まれる。
【００１１】
図１は、本発明の例示的な実施の形態が利用される場合があるケーブルモデム通信システム１００のブロック図を示している。双方向通信システム（たとえば、ケーブルモデムシステム）１００は、複数のシステムオペレータ（ＭＳＯ、すなわちケーブルモデムオペレータ）１１０、及び複数の加入者構内装置１７０を備えており、これら複数の加入者構内装置は、アクセスネットワーク１０８を介してサービスプロバイダ１１０に結合されている。
【００１２】
加入者構内装置１７０は、複数のユーザ装置１７２１〜１７２Ｎ（集合的にユーザ装置１７２）を備えており、該ユーザ装置は、複数の双方向通信装置（たとえば、ケーブルモデム）１３０１〜１３０Ｎ（集合的にケーブルモデム１３０）にそれぞれ結合されており、ケーブルモデムのうちの１つのケーブルモデム１３０のみが図１に示されている。
【００１３】
ユーザ装置１７２は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、テレビジョンセット、ハンドヘルド装置、又はデータを送信及び／又は受信可能ないずれか他の装置のような、オーディオ、ビデオ、及び／又はデータを備えているデジタル化されたストリームを処理可能ないずれかのタイプの装置である場合がある。
【００１４】
それぞれのユーザ装置１７０は、アクセスネットワーク１０８にケーブルモデム１３０を介して結合されており、このアクセスネットワークは、ユーザ装置１７２をローカルケーブルテレビジョンプロバイダ（すなわち、ＭＳＯ１１０）を介してＩＰネットワーク１０２（たとえば、インターネット）に接続する。
【００１５】
なお、図１では、複数のユーザ装置１７２がハブ１７４を介して単一のケーブルモデム１３０に結合されているものとして例示的に示されている。しかし、代替的に、当業者であれば、それぞれのユーザ装置１７２が、ユーザ装置１７２とＭＳＯ１１０との間での双方向通信を提供するため、それぞれのケーブルモデムに結合されるか又はいずれかの構成でグループ化される場合があること理解されるであろう。
【００１６】
ケーブルモデム１３０により、加入者は、電話のダイヤルアップモデムよりも非常に速い速度で、サービスプロバイダ１１０からの情報をダウンロードすることが可能となる。たとえば、ケーブルモデム１３０は、電話モデムの毎秒５６キロビットに比較して、毎秒３メガビット以上のレートでの接続性を提供することができる。
【００１７】
システム１００に例示的に使用されているタイプのケーブルモデムは、インディアナポリスＩＮのＴｈｏｍｓｏｎ社で製造されているＤＣＭ３０５モデルである。なお、ＤＯＣＳＩＳ規格に準拠する他の製造業者により提供されるケーブルモデム（及びモデムの機能）がシステム１００において同様に実現される場合もある。
【００１８】
サービスプロバイダ１１０は、低速、中速及び／又は高速のデータ送信、複数の音声チャネル、ビデオチャネル等を提供可能ないずれかのエンティティである場合がある。
【００１９】
特に、各種ブロードキャストフォーマット（たとえば、ＤＢＳ（Ｄｉｇｉｔａｌ  Ｂｒｏａｄｃａｓｔ  Ｓａｔｅｌｌｉｔｅ））、ケーブル送信システム（たとえば、高精細テレビジョン（ＨＤＴＶ：  Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  ＴｅｌｅＶｉｓｉｏｎ））、デジタルビデオブロードキャスト（ＤＶＢ−Ｃ、すなわち欧州デジタルケーブル規格）のようなフォーマットで、サービスプロバイダ１１０により無線周波（ＲＦ）キャリア信号を介してデータが送信される。サービスプロバイダ１１０は、ケーブル１０８を通してデータを供給する。
【００２０】
サービスプロバイダ１１０は、（図１では唯一のヘッドエンドが示されている）複数のヘッドエンド１１２を典型的に備えており、これら複数のヘッドエンドは、接続性、サービス及びサポートをかかる地域に位置される加入者に提供するため、様々な地理的な地域に配置されている。
【００２１】
たとえば、１以上のヘッドエンド１１２は、市（たとえば、サンフランシスコＣＡ）のような大きな加入者のベースの近くに位置される場合がある。他のヘッドエンド１１０は、要求されるように他の市又は地域的なエリアをサポートするためにＭＳＯにより提供される場合がある。
【００２２】
それぞれのヘッドエンド１１２は、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ、ＴＦＴＰ（Ｔｒｉｖｉａｌ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ、ＩＴＰ（Ｉｎｔｅｒｎｅｔ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）サーバ、ウェブキャシングサーバ、ＭＳＯ又はＩＳＰコンテンツデリバリサーバ等のような他のサポートサーバ１１８の間で、少なくとも１つの終端システム（たとえば、ケーブルモデム終端システム（ＣＭＴＳ））１１４、ファイルサーバ１１６を備えている。
【００２３】
フィルサーバ１１６は、ダウンロード可能なアプリケーションレベルゲートウェイ（ＡＬＧ）ファイル又はファイアウォールのルールセットのようなファイルがＭＳＯ１１０からケーブルモデム１３０に転送される場合がある手段を提供する。
【００２４】
特に、ファイルサーバ１１６は、ＡＬＧデータベース１２０に結合され、このＡＬＧデータベース１２０は、ケーブルモデム１３０のような各種プロトコル及び装置に属する複数のＡＬＧファイルを記憶する。ファイルサーバ１１６は、特定のＡＬＧファイルをＡＬＧファイルデータベース１２０から検索し、要求されたとき、及び図３の方法３００に関して以下に説明されるように、かかるファイルを双方向装置１３０に送出する。
【００２５】
他のサポートサーバ１１８は、ケーブルモデムの初期化の間にケーブルモデム１３０とＩＰネットワーク１０２との間の接続性を確立するために使用される。特に、他のサポートサーバ１１８は、コンフィギュレーションファイル及び現在の日付及び時間をケーブルモデム１２０が初期化するたびにケーブルモデム１３０に送出する。
【００２６】
さらに、ウェブキャッシングサーバ、ＭＳＯ又はＩＳＰコンテンツデリバリサーバ等のような他のサーバ１１８は、認識されたワールドワイドウェブコンテンツ、冗長性のあるウェブ接続性等を提供する。さらに、ＤＨＣＰサーバは、ＩＰアドレスを中央で管理し、ＩＰネットワーク１０２に結合されるホスト装置（すなわち、ケーブルモデム）に自動的に割り当てる。たとえば、ケーブルモデム１３０がシステム１００で追加、置き換え、又は除かれたとき、ＤＨＣＰサーバは、そのケーブルモデム１３０について新たなＩＰアドレスを割り当てる。
【００２７】
ＣＴＭＳ１１４は、ケーブルネットワーク１００でケーブルモデム１３０とデジタル信号をやり取りする。それぞれのヘッドエンド１１２に配置されるＣＭＴＳ１１４の量は、特定の地理的な領域に給仕されている加入者数に依存する。
【００２８】
単一のＣＭＴＳ１１４は、約８０００ケーブルモデム１３０までの接続性を典型的に提供する。地理的な領域は８０００を超える加入者を有する例では、ヘッドエンド１１２には、要求されるように、更なるＣＭＴＳ１１４が設けられる。
【００２９】
データサービス（たとえば、マルチメディアコンテンツ）及びＡＬＧアップグレードファイルは、ケーブルモデム１３０に結合される伝送媒体（たとえば、北米又は欧州ＤＯＣＳＩＳ規格の下で規定されるような、慣習的な双方向ＨＦＣ（Ｈｙｂｒｉｄ  Ｆｉｂｅｒ−Ｃｏａｘ）ケーブルネットワーク）を介して、アクセスネットワーク１０８にわたりＲＦパス（すなわち、チャネル）を通してケーブルモデム１３０に送出される。
【００３０】
なお、ケーブルモデム１３０は、加入者のコンピュータの外部又は内部でインストールされる場合がある、ケーブルモデム１３０並びにコンピュータ又はテレビジョンセット（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標），  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  （ＵＳＢ），  ８０２．１１ｂワイヤレス、ＨＰＮＡ  （Ｈｏｍｅ  Ｐｈｏｎｅｌｉｎｅ  Ｎｅｔｗｏｒｋｉｎｇ  Ａｌｌｉａｎｃｅ））によりサポートされるローカルエリアネットワーク媒体により接続される。
【００３１】
あるチャネルは、ＣＭＴＳ１１４からケーブルモデム１３０へのダウンストリーム信号のために使用され、別のチャネルは、ケーブルモデム１３０からＣＭＴＳ１１４へのアップストリーム信号のために使用される。
【００３２】
ＣＭＴＳ１１４がアップストリーム信号をケーブルモデム１３０から受信したとき、ＣＭＴＳ１１４は、これらの信号をインターネットプロトコル（ＩＰ）パケットに処理し、これらのパケットは、ＩＰネットワーク１０２を通して特定の目的地（たとえば、所望のコンテンツ又はウェブサイトを有するサーバ）に経路制御される。
【００３３】
ＣＭＴＳ１１４がダウンストリーム信号をケーブルモデム１３０に送出したとき、ＣＭＴＳ１１４は、アクセスネットワーク１０８にわたるケーブルモデム１３０への送信のためにダウンストリーム信号を変調する。ケーブルモデム１３０は、ユーザ装置１７２による処理のため、変調された信号をベースバンド信号に変換する。
【００３４】
例示的なケーブルモデム１３０は、サービスプロバイダ１１０からデータ通信システム１００のユーザ装置１７２へのダウンストリームのブロードバンドデータ信号を供給するために利用される。さらに、例示的なケーブルモデム１３０は、例示的なユーザ装置１７２からサービスプロバイダ１１０に戻るアップストリームのベースバンドデータ信号を転送するために利用される。
【００３５】
ケーブルモデム１３０は、プロセッサ１３２、サポート回路１３４、Ｉ／Ｏ回路１４２、揮発性メモリ１３６と同様にＥＥＯＰＲＯＭ１３８及びフラッシュメモリ１４０のような記憶装置を備えている。プロセッサ１３２は、Ｉｒｖｉｎｅ，ＣＡのＢｒｏａｄｃｏｍ社により製造されているシングルチップＢＣＭ３３４５デバイスのようなケーブルモデムプロセッサである場合があり、このケーブルモデムプロセッサは、変調器及び復調器（図示せず）を含んでいる。
【００３６】
ＥＥＰＲＯＭ及びフラッシュメモリ１３８及び１４０は、不揮発性メモリデバイスであり、アプリケーションプログラムファイル、データファイル、及びプロセッサ１３２により例示的に実行される場合がある他のプログラムコードを永続的に記憶するために使用される。
【００３７】
たとえば、ファイアウォール、複数のアプリケーションレベルゲートウェイファイル、及びアプリケーションレベルゲートウェイのファイルは、ＥＥＰＲＯＭ１３８及び／又はフラッシュメモリ１４０に全て永続的に記憶される場合がある。
【００３８】
揮発性メモリ１３６は、ランダムアクセスメモリ（ＲＡＭ）である場合があり、このメモリは、迅速な検索及び実行のために不揮発性メモリ１３８及び１４０に記憶されているプログラムの全部及び一部を記憶するため、動作の間に使用される。
【００３９】
図１に示されるように、ファイアウォール１５０、複数のアプリケーションレベルゲートウェイファイル１５２（たとえば、ファイルＡＬＧ−０〜ＡＬＧ−ｍ）、及び（図３に関してさらに詳細に以下に説明されるような）アプリケーションレベルゲートウェイのファイル１５２のアップグレードを許可するために使用されるルーチン３００は、揮発性メモリ１３６に記憶されるものとして示されている。
【００４０】
メモリ１３６に記憶されている場合がある他のプログラムは、処理スタック、ヒープ、識別の下でのＡＬＧ及びファイアウォールのルールセットのようなトランジェントデータ、フラッシュからコピーされる実行アプリケーション、スタートアップコンスタントデータ、カーネル及びアプリケーションコード、及び他のデータ（図示せず）を典型的に含んでいる。
【００４１】
プロセッサ１３２は、メモリ１３６に記憶されるソフトウェアルーチンを実行する助けとなる回路と同様に、電源、クロック回路、キャッシュメモリ等のような従来のサポート回路１３４と共同して動作する。かかるように、ソフトウェア処理として本実施の形態で説明される処理ステップのうちの幾つかは、各種ステップを実行するために、たとえばプロセッサ１３２と共同で動作する回路のようなハードウェア内で実現される場合がある。
【００４２】
また、ケーブルモデム１３０は、ユーザ装置１７２と通信する各種機能エレメントとのインタフェースを形成する入力／出力（Ｉ／Ｏ）回路１４２をも備えている。ケーブルモデム１３０とユーザ装置１７２との間の物理レイヤは、Ｅｔｈｅｒｎｅｔ（登録商標）、同軸ケーブル、ＦＤＤＩ、ＩＳＤＮ、ＡＴＭ、ＡＤＳＬ、ＣＡＴ１−５ケーブル、ＵＳＢ、ＨｏｍｅＰＮＡ、ワイヤレスデータリンク（たとえば、８０２．１１又はＢｌｕｅｔｏｏｔｈ規格の無線リンク）を例示的に含んでいる場合がある。
【００４３】
さらに、ケーブルモデム１３０は、信号処理回路１４４を備えており、この信号処理回路は、ダウンストリーム処理回路１４６及びアップストリーム処理回路１４８をさらに備えている。信号処理回路は、プロセッサ１３２、及びアクセスネットワーク１０８に結合されるインタフェース１４３に結合されている。
【００４４】
動作において、ＣＭＴＳ１１４は、デジタルデータを変調されたＲＦ信号に変換し、かかる変調された信号をＨＦＣトランスポート（アクセス）ネットワーク１０８を介してケーブルモデム１３０へダウンストリームに供給し、ここで、ＲＦ信号が受信され、予め決定された中間周波数（ＩＦ）に同調及びフィルタリングされる。
【００４５】
その後、ＩＦ信号は、１以上のそれぞれのベースバンド信号に復調されるか、さもなければ、例示的にデータパケットに処理される。データパケットは、例示的にケーブリング（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  （ＵＳＢ）、同軸ケーブル等）１７５を通してユーザ装置１７２に更に送信される。
【００４６】
同様に、ユーザ装置１７２のユーザは、データ信号をケーブルモデム１３０にケーブリング１７５を介して送出する場合がある。ケーブルモデム１３０は、ユーザ装置１７２からのデータ信号を受信し、次いで、データ信号を変調し、ケーブルトランスポートネットワーク１０８を介してサービスプロバイダ１１０へのアップストリーム送信のためのＲＦキャリアにアップコンバートする。
【００４７】
ダウンストリーム処理回路１４６は、チューナ、フィルタ、復調器、コントローラ、及びアップストリーム処理のために使用される媒体アクセスコントローラ（ＭＡＣ）のような他のダウンストリーム処理回路のような各種コンポーネントを典型的に含んでいる。
【００４８】
典型的に、ダウンストリーム信号は、約９１ＭＨｚから８６０ＭＨｚの周波数レンジを有する６４ＱＡＭ又は２５６ＱＡＭ信号のいずれかである。ダウンストリーム処理回路１４６は、コントローラにより供給された選択信号に応答して、ＣＭＴＳ１１４からの複数のダウンストリームデータ信号のうちの少なくとも１つを選択的に同調、復調、及びさもなければ「受信」する。
【００４９】
高域通過フィルタ（ＨＰＦ）は、全てのダウンストリームデータ信号をチューナに通過させ、このチューナは、ＨＰＦからの受信されたダウンストリームのＲＦ信号を予め決定されたＩＦ周波数信号にダウンコンバートする。ＩＦ信号は、１以上のそれぞれのデジタルベースバンド信号を供給するため、復調回路により復調される。
【００５０】
デジタルベースバンド信号は、媒体アクセスコントローラ（ＭＡＣ）に送出され、ここで、受信された信号（たとえば、ＭＰＥＧパケット）は、カプセル化されていない状態にされ、コントローラにより管理されるように、ユーザ装置１７２へのその後の転送のためにビットストリームに形成される。ユーザ装置１７２への転送の前に、パケットは、以下にさらに詳細に説明されるように、検査のために内部のＴＣＰ／ＩＰスタック又はファイアウォールプログラム１５０のいずれかに送出される。
【００５１】
パケットがファイアウォールプログラムルール、ＭＡＣ、コントローラに従うものとひとたび考えられると、他のデジタル回路は、パケット化されたデータをさらに処理し（たとえば、要求されるような適切なトランスポートパケットにおける属性付け又はカプセル化）、次いで、処理された、パケット化されたデータをユーザ装置１７２（又は他の情報機器）に分散する。
【００５２】
特に、ＭＡＣは、パケット化されたビットストリームをコントローラに送出し、ここで、ユーザ装置１７２とのインタフェースのためにデータが処理される（たとえば、フォーマット化される）。コントローラは、更なる処理（たとえば、データの抽出及びアップコンバージョン）のためにフォーマット化されたパケット化ビットストリームを（ケーブルを介して）ユーザ装置１７２に転送する。
【００５３】
アップストリーム処理回路１４８は、アップストリームの物理レイヤエレメント、アップストリームの媒体アクセスコントローラ、変調器、低域通過フィルタ、及び他のアップストリームの処理回路（増幅器、電圧レギュレータ等）のような各種コンポーネントを典型的に含んでいる。
【００５４】
ケーブルモデム１３０は、サービスプロバイダ１１０へのその後の送信のため、ユーザ装置１７２からの信号（たとえば、データ信号）を受信する。特に、ユーザは、データ、データ要求、又はケーブルモデム１３０を介してのサービスプロバイダ１１０への他のユーザ要求を送出する。
【００５５】
ケーブルモデム１３０は、ユーザ要求を受信し、ここで、ＭＡＣ及びアップストリーム処理回路は、転送のために信号をフォーマット化し、カプセル化し、及びアップコンバートする（たとえば、５ＭＨｚ〜５４ＭＨｚ周波数レンジ）。変調器は、ＣＭＴＳ１１４へのアップストリームの信号パスに沿ってアップコンバートされた信号を変調する（たとえば、ＱＰＳＫ又は１６ＱＡＭ）。
【００５６】
ファイアウォールプログラム１５０は、発生しているソースノード（たとえば、ＷＡＮ上のファイルサーバ）から目的地ノード（たとえば、ＬＡＮ上のローカルコンピュータ）に送出されるデータパケット（たとえば、ＩＰデータパケットを検査及びフィルタリングする能力がある。特に、ファイアウォールプログラム１５０は、ユーザからのプライベートネットワークのリソースを他のネットワークから保護する１セットの関連されるプログラムを備えている。
【００５７】
ファイアウォールプログラム１５０は、ネットワークパケットの一部又は全部を実行し、パケットをその目的地に送出すべきかを判定する。すなわち、ファイアウォールプログラム１５０は、ネットワークレベルで動作する。パケットコンフィギュレーションが規定されたルールに違反しない場合に、データは、ファイアウォールプログラム１５０を含んでいる通信装置１３０を通して通過することが許可される。
【００５８】
ファイアウォールプログラムは、たとえば、サービスプロバイダ１１０でＬＡＮの管理者により確立される（デフォルトルールもまた使用される場合がある）。ルールは、望まれないデータが組織のローカルエリアネットワーク／ワイドエリアネットワーク（ＬＡＮ／ＷＡＮ）に侵入するのを禁止することによるセキュリティを提供するため、組織によるポリシーの考慮を反映する。
【００５９】
たとえば、組織は、特定のインターネットウェブサイトが組織の従業員により見られるべきではないか、又は一部の従業員がインターネットへのアクセスを拒否されるべきかを判定する場合がある。１実施の形態では、ファイアウォールのルールは、図２に示される例示的なＡＬＧファイルのようなアプリケーションレベルゲートウェイファイルで定義される。
【００６０】
かかるように、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）の一部又は全部を制限するためのプログラミングを含んでいる。更なるルールは、ＬＡＮに侵入しようとする許可されていない人物（すなわち、ハッカー）と同様に、ウォームのようなＬＡＮ及びエンドユーザに害を与えるものと思われる規制データパケットを含んでいる。
【００６１】
ＡＬＧファイルは、ＴＣＰ／ＩＰファイルサーバ１１６に結合されるデータベース１２０に記憶されており、サービスプロバイダ１１０に位置されている。システム管理者がＡＬＧファイルを更新したとき、ケーブルモデム１３０は、ファイルのアップグレードをも要求する。
【００６２】
１実施の形態では、ＡＬＧファイルは、アクセスネットワーク１０８を通してのダウンロードを要求しているユーザによりケーブルモデム１３０に供給される場合がある。第二の実施の形態では、ファイアウォール１５０は、サービスプロバイダ１１０で更新されたファイルを識別するためにＡＬＧデータベースを周期的にポーリングする。
【００６３】
代替的に、ＭＳＯ１１０は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）のようなプロトコルを介して、新たなファイアウォールのルールのセット又はＡＬＧデータを取得するため、ケーブルモデムに指示する場合がある。アップグレードされたＡＬＧファイルがひとたび識別されると、サービスプロバイダ１１０は、アップグレードされたファイルを自動的に検索し、それらをケーブルモデム１３０に送出する。
【００６４】
第三の実施の形態では、アップグレードされたＡＬＧファイルは、ＣＤ−ＲＯＭ、ディスクドライブ、フロプティカルディスクドライブ等のような不揮発性記憶装置に記憶される場合があり、ユーザは、ユーザ装置１７２を介して、新たな及び／又は更新されたＡＬＧファイルをそれらのケーブルモデム１３０にアップロードする場合がある。
【００６５】
図２は、本発明の例示的なアプリケーションレベルゲートウェイ（ＡＬＧ）のファイル２００のブロック図を示している。ＡＬＧファイル２００は、ＡＬＧボディ２０２（ペイロード）及びヘッダ２１０を備えている。ＡＬＧファイル２００は、ファイアウォールプログラム１５０が特定のプロトコルをどのように扱うかを決定するために実行する実行可能なコードを備えている。
【００６６】
すなわち、実行可能なボディ２０２は、プロトコルスペシフィックなプログラムコードを含んでいる。たとえば、第一のＡＬＧファイル２００は、ｈｔｔｐプロトコルを利用する情報の通過を可能にするコードを備えており、第二のＡＬＧファイル２００は、ＦＴＰ（ファイル転送プロトコル）を利用するデータをブロックするために特化した実行可能なプログラミングコードを含んでいる。他のＡＬＧファイル２００は、ＴＦＴＰ，ＳＮＭＰ，ＲＬＯＧＩＮ等のような、他のタイプのプロトコルのトラフィックフローを制御するために利用される場合がある。
【００６７】
ＡＬＧヘッダ２１０は、ヘッダフォーマットバージョン２１６、ヘッダサイズ２１８、予測されるヘッダＣＲＣ２２０、ペイロード認証の署名２２２、ペイロードサイズ２２４、予測されるペイロードＣＲＣ２２６、互換性を示す（コンパチブル）ハードウェア及びソフトウェアバージョンファミリ２２８及び２３０、及び他の情報の中でも、圧縮パラメータ、著作権の通告、及び／又はペイロードが形成された日付のような他のヘッダデータ２１２のような、ヘッダデータフィールドを備えている。
【００６８】
本発明の１実施の形態では、これらＡＬＧヘッダ２１０コンポーネントの多くは、ＡＬＧファイルの有効性フィールド２１４として利用される場合があり、このフィールドは、ケーブルモデム１３０により受信されたアップグレードされたＡＬＧファイル又は新たなＡＬＧファイル２００がファイル転送の間に破壊されているかを、ケーブルモデムのハードウェアとソフトウェアと互換性を持つかと同様に判定するために使用される。
【００６９】
図２はＡＬＧファイル２００の観点で説明されているが、本発明のＡＬＧファイルが限定するものとして考慮されるべきではない。たとえば、類似のヘッダ２１０がファイアウォールルールを含むファイルに添付される場合がある。
【００７０】
特に、有効性のフィールド２１４は、ヘッダフォーマットバージョンフィールド２１６、ヘッダサイズ２１８、予測されるヘッダＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）２２０、ＡＬＧ認証の署名２２２、ＡＬＧボディサイズフィールド２２４、ＡＬＧボディ予測ＣＲＣ２２６、互換性を示すハードウェアバージョンファミリのフィールド２２８、及び互換性を示すソフトウェアバージョンファミリのフィールド２３０を備えている。それぞれの認証フィールド２１４は、図３に関して以下に説明されるように、方法３００を使用するケーブルモデム１３０によりチェックされる。
【００７１】
ヘッダフォーマットバージョンフィールド２１６は、ヘッダ２１０におけるデータのフィールドの順序及び長さに関する情報を提供する。特に、ヘッダフォーマットバージョンフィールド２１６は、既知のフォーマットに対応する予め定義された番号を備えている。
【００７２】
この予め定義された番号は、典型的に１から開始し、フィールドが追加され、レングスが変更されるか又はフィールドがヘッダにおいて再配置されるたびにインクリメントされる。ヘッダフォーマットバージョンのフィールド２１６は、新たなフォーマットに精通していないソフトウェアによる誤った解釈を防ぐ。
【００７３】
１実施の形態では、ヘッダフォーマットバージョンフィールド２１６は、レングスに関して１バイトから４バイトである場合があり、１つの特定の実施の形態では、レングスに関して２バイトである。ヘッダサイズフィールド２１８は、ヘッダ２１４のサイズを識別する。
【００７４】
１実施の形態では、ヘッダサイズフィールド２１８は、レングスに関して１バイトから４バイトである場合があり、その実施の形態の１つの特定のサブセットでは、レングスに関して２バイトである。ヘッダ予測ＣＲＣフィールド２２０は、ヘッダ２１０に添付され、ヘッダ２１０におけるエラー（損失データ）を検出するために使用される１６又は３２ビット多項式を識別する。
【００７５】
ＡＬＧ認証の署名フィールド２２２は、信頼されるファイアウォールのルールセット又はＡＬＧを生成するソース（たとえば、会社、サードパーティエンティティ等）の暗号認証に関する情報を提供する。１実施の形態では、ＡＬＧ認証の署名フィールド２２２は、レングスに関して１バイトから１０２４バイトである場合があり、その実施の形態の１つの特定のサブセットでは、レングスに関して１２８バイトである。
【００７６】
ＡＬＧボディサイズフィールド２２４は、ＡＬＧボディ２０２のサイズを識別する。１実施の形態では、ＡＬＧボディサイズフィールド２２４は、レングスに関して１バイトから４バイトである場合があり、その実施の形態の１つの特定のサブセットでは、レングスに関して４バイトである。なお、ＡＬＧボディサイズフィールド２２４は、ヘッダにおけるサイズフィールドのレングスを示す。
【００７７】
実際のＡＬＧ又はルールのセットは、典型的に数千バイトのオーダである。ＡＬＧボディ予測ＣＲＣフィールド２２０は、ヘッダ２１０に添付され、ＡＬＧボディ２０２におけるエラー（損失データ）を検出するために使用される１６又は３２ビット多項式を識別する。
【００７８】
互換性を示すハードウェアバージョンのフィールド２２８は、このファイルが予測される問題なしに（ＡＬＧ）を実行するか又は（ルールのセット）を動作させるハードウェアバージョンのセットに関する情報を提供する。
【００７９】
１実施の形態では、互換性を示すハードウェアバージョンのフィールド２２８は、レングスに関して１バイトから８バイトである場合があり、その実施の形態の１つの特定のサブセットは、レングスに関して４バイトである。
【００８０】
互換性を示すソフトウェアバージョンのフィールド２３０は、このファイルが予測される問題なしに（ＡＬＧ）を実行するか又は（ルールのセット）を動作させるアプリケーションソフトウェアバージョンのセットに関する情報を提供する。
【００８１】
１実施の形態では、互換性を示すソフトウェアバージョンのフィールド２３０は、レングスに関して１バイトから８バイトである場合があり、その実施の形態の１つの特定のサブセットは、レングスに関して４バイトである。
【００８２】
なお、上述されたフィールドのそれぞれの例示的なサイズは限定するものとして考慮されるものではなく、フィールドは、効果的なやり方（たとえば、帯域幅の考慮）で要求される情報を提供するために適したレングスである場合がある。さらに、同じ判別アルゴリズム適用するために、同じタイプのヘッダがファイアウォールのルールに付加される場合がある。
【００８３】
図３は、本発明の原理に従う新たなＡＬＧファイル又は更新されたＡＬＧファイル２００を認証するための方法３００に関するフローチャートを示している。方法３００は、新たなＡＬＧファイル又は更新されたＡＬＧファイル２００がそこでファイアウォール１５０により実行するためにケーブルモデム１３０のメモリに記憶されるときに利用される場合がある。
【００８４】
本方法３００は、ファイル転送の間に互換性の問題及びデータの損失について各種パラメータをチェックすることを備えている。なお、各種パラメータを評価するための図３に示されるパラメータのタイプ及び特定の順序は、単なる例示的なものであって、限定するものとして解釈されるべきものではない。
【００８５】
特に、本方法３００は、ステップ３０２で開始し、ステップ３０４に進み、ここで、ＡＬＧファイル２００は、ケーブルモデム１３０に送出され、揮発性メモリ１３６にバッファリングされる。
【００８６】
１実施の形態では、ファイアウォール１５０は、新たなＡＬＧファイル又は更新されたＡＬＧファイル２００のためにサービスプロバイダ１１０でセントラルロケーション（すなわち、ＡＬＧデータベース１２０）を周期的にポーリングする。
【００８７】
新たなＡＬＧファイル又は更新されたＡＬＧファイル２００は、次いで、要求に応じて、アクセスネットワークを介してヘッドエンド１１２でＴＣＰ／ＩＰファイルサーバからダウンロードされる。
【００８８】
第二の実施の形態では、コンフィギュレーションファイルは、サービスプロバイダ１１０からケーブルモデム１３０にダウンロードされる。コンフィギュレーションファイルは、管理されるコネクションを確立するために使用される双方向ネットワークポリシー情報を提供する。
【００８９】
ケーブルモデムアプリケーション（たとえば、ファイアウォール１５０）は、コンフォギュレーションをチェックし、ＡＬＧファイル２００をダウンロードすべきかを決定する。
【００９０】
この判別アルゴリズムを実行しているファイアウォール１５０が、ＡＬＧファイル２００がケーブルモデム１３０にとって適切であると判定した場合、ファイアウォール１５０は、ＡＬＧファイル２００を送出するためにファイルサーバ１１６に要求を送出する。ファイルサーバ１１６は、アクセスネットワーク１０８を介してケーブルモデム１３０にＡＬＧファイルをダウンロードする。
【００９１】
第三の実施の形態では、ＡＬＧファイル２００は、それらのユーザ装置１７２でユーザによりケーブルモデム１３０にロードされる場合がある。この例では、ＡＬＧファイル２００は、フロプティカルディスク、ＣＤ−ＲＯＭ、ディスクドライブ等のような不揮発性媒体に記憶される。かかるように、本方法３００のステップ３０４は、先に説明された３つの実施の形態を包含する。本方法３００は、次いで、ステップ３０６に進む。
【００９２】
ステップ３０６では、受信されたＡＬＧファイル２００のヘッダ２１０におけるヘッダフォーマットバージョンフィールド２１６がチェックされる。ステップ３０８で、ヘッダフォーマットバージョンが既知でない場合、次いで、本方法３００は、ステップ３５０に進み、ここで、ＡＬＧファイル２００が拒否される。
【００９３】
すなわち、ＡＬＧファイル２００は、不揮発性メモリ１３８及び／又は１４０に記憶されないか、ファイアウォール１５０により使用され、ステップ３９９で、本方法３００が終了する。ステップ３０８で、ヘッダフォーマットバージョンが既知である場合、次いで、本方法３００は、ステップ３１０に進む。
【００９４】
ステップ３１０で、受信されたＡＬＧファイル２００のヘッダ２１０におけるＡＬＧヘッダサイズフィールド２１６及びＡＬＧボディサイズフィールド２２４がチェックされる。ステップ３１２では、ＡＬＧファイル２００が不揮発性メモリ１３６のキャパシティを超える場合、本方法３００はステップ３５０に進み、ここで、ＡＬＧファイル２００は、先に説明されたように拒否される。ステップ３１２で、ＡＬＧファイル２００は、不揮発性メモリ１３６のキャパシティを超えていない場合、本方法３００はステップ３１４に進む。
【００９５】
ステップ３１４で、受信されたＡＬＧファイル２００のヘッダ２１０における予測されるヘッダＣＲＣフィールド２２０がチェックされる。ステップ３１６で、ケーブルモデム１３０が同じ多項式をデータ（ヘッダ２１０）に適用し、結果をサービスプロバイダ１１０により添付されたＣＲＣ結果と比較するように、ヘッダ２１０のＣＲＣが計算される。
【００９６】
ステップ３１８で、計算されたＣＲＣと添付されたヘッダＣＲＣとが整合しない場合、本方法３００はステップ３５０に進み、ここで、ＡＬＧファイル２００は先に説明されたように拒否される。ステップ３１８で、計算されたＣＲＣと添付されたヘッダＣＲＣが整合する場合、本方法３００はステップ３２０に進む。
【００９７】
ステップ３２０で、受信されたＡＬＧファイル２００のヘッダ２１０における予測されるボディＣＲＣフィールド２２６がチェックされる。ステップ３１６で、ケーブルモデム１３０が同じ多項式をデータ（ＡＬＧボディ２０２）に適用し、結果をサービスプロバイダ１１０により添付されるＣＲＣ結果と比較するように、ＡＬＧボディ２０２のＣＲＣが計算される。
【００９８】
ステップ３２４で、計算されたＣＲＣと添付されたボディＣＲＣとが整合しない場合、本方法３００はステップ３５０に進み、ここで、ＡＬＧファイル２００は、先に説明されたように拒否される。ステップ３２４で、計算されたＣＲＣと添付されたボディＣＲＣが整合する場合、本方法３００はステップ３２６に進む。
【００９９】
ステップ３２６では、受信されたＡＬＧファイル２００のヘッダにおけるＡＬＧ認証の署名フィールド２２２がチェックされる。ステップ３２８で、認証の動作が署名で行われる。たとえば、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ−１）によるＲｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｅｌｍａｎ（ＲＳＡ）の署名アルゴリズムにより認証が提供されるか、又は従来技術で知られているような他の従来の認証技法により提供される場合がある。
【０１００】
ステップ３３０で、ＡＬＧファイル２００が認証されたソースからのものではない場合、本方法３００はステップ３５０に進み、ここで、ＡＬＧファイル２００は、先に説明されたように拒否される。ステップ３３０で、ＡＬＧファイル２００が認証ソースからのものではない場合、本方法３００はステップ３３２に進む。ステップ３３２で、受信されたＡＬＧファイル２００のヘッダにおけるハードウェアバージョンファミリフィールド２２８がチェックされる。
【０１０１】
ステップ３３４で、ＡＬＧファイル２００がケーブルモデム１３０のハードウェアバージョンと互換性を持たない場合、本方法３００はステップ３５０に進み、ここで、ＡＬＧファイル２００は、先に説明されたように拒否される。ステップ３３４で、ＡＬＧファイル２００がケーブルモデム１３０のハードウェアバージョンと互換性を持つ場合、本方法３００はステップ３３６に進む。
【０１０２】
ステップ３３６で、受信されたＡＬＧファイル２００のヘッダ２１０におけるソフトウェアファミリフィールド２３０がチェックされる。ステップ３３８で、ＡＬＧ２００がケーブルモデム１３０のソフトウェアバージョンと互換性を持たない場合、本方法３００はステップ３５０に進み、ここで、ＡＬＧファイル２００は、先に説明されたように拒否される。ステップ３３８で、ＡＬＧファイル２００がケーブルモデム１３０のソフトウェアバージョンと互換性を持つ場合、本方法３００はステップ３４０に進む。
【０１０３】
ＡＬＧファイル２００が互換性の問題及び破壊されたデータについてひとたびチェックされると、ステップ３４０で、ＡＬＧファイル２００は、ケーブルモデム１３０の不揮発性メモリ１３６にロードされ、ステップ３９９で、本方法が終了する。
【０１０４】
本方法３００は、ＡＬＧファイル２００又はルールのセットを受信し、かかる受信されたファイル又はルールのセットを使用する前に、ＡＬＧファイル２００又はファイアウォールのルールのセットを評価するためのルーチンを提供する。
【０１０５】
ＡＬＧファイル又はファイアウォールのルールのセットがケーブルモデム１３０のハードウェア又はソフトウェアと互換性を持たないこと評価アルゴリズムが示す場合、受信されたファイル又はルールのセットが確実に拒否される。かかるように、互換性を持たないＡＬＧファイル２００又はルールのセットを実現することによる回復不可能なエラー状態を誘発する危険性が大幅に低減される。
【０１０６】
本発明の教示を取り入れた様々な実施の形態が示され、本明細書で詳細に開示されたが、当業者であれば、これらの教示をなお取り入れた多くの他の変更された実施の形態を容易に考案する場合がある。
【図１】
2010061675.tif 000003
【図２】
2010061675.tif 000004
【図３】
2010061675.tif 000005