(57)【要約】  仮想ＩＰ（ＶＩＰ）アドレスを介して、アクセス可能なネットワークアドレスを持たないネットワークデバイスにアクセスするための方法、装置、システムを説明する。システムは、第１のデバイスサービスコントローラ（ＤＳＣ）からなる。第１のＤＳＣは、仮想ネットワークインタフェースと対応する仮想ＩＰアドレス（ＶＩＰ）とを利用可能にすることができるホストコントローラコンポーネントを特徴とし、デバイスサービスマネージャ（ＤＳＭ）への第１の発信ＴＣＰ／ＩＰコンジット接続を生成する第１のコンジットマネージャを有する。ネットワークトラフィックが関連付けられたＶＩＰを使用して仮想ネットワークインタフェースに到着すると、ホストコントローラコンポーネントは自動的にそのトラフィックを処理し、ＤＳＭに転送する。ＤＳＭは、トラフィックを処理し、第１の発信ＴＣＰ／ＩＰコンジット接続から第２のＤＳＣに中継する。第２のＤＳＣは、デバイスコントローラコンポーネントと、ＤＳＭへの第２の直接発信ＴＣＰ／ＩＰコンジット接続を生成する第２のコンジットマネージャとを有する。ＩＰリダイレクタは、通信トラフィックを受信し、その後、通信トラフィックを第２のＤＳＣにルーティングする。
2011501624.tif 000002
【特許請求の範囲】
【請求項１】
デバイスサービスマネージャ（ＤＳＭ）宛ての第１の仮想ＩＰアドレスに関連付けられた第１の発信ＴＣＰ／ＩＰストリーム接続を生成する第１のコンジットマネージャを有する第１のデバイスサービスコントローラ（ＤＳＣ）を備え、ＤＳＭが、第１の発信ＴＣＰ／ＩＰストリーム接続から第２のＤＳＣに通信トラフィックを中継し、第２のＤＳＣが、ＤＳＭ宛ての第２の仮想ＩＰアドレスに関連付けられた第２の直接発信ＴＣＰ／ＩＰストリーム接続を生成する第２のコンジットマネージャを有し、第１のＤＳＣが、第１のローカルネットワーク内に常駐し、第２のＤＳＣが、第１のローカルネットワークと異なる第２のローカルネットワーク内に常駐し、ＤＳＭが、第１および第２のＤＳＣ両方の外部にある広域エリアネットワーク内に常駐し、第１のＤＳＣおよび第２のＤＳＣがともに、定期的にＤＳＭに対して自身の認証を行い、発信ＴＣＰ／ＩＰストリーム接続上で将来の双方向通信に対してその接続をオープンに保つことにより、ＤＳＭへの発信ＴＣＰ／ＩＰストリーム接続を確立し、ＤＳＭ内のＩＰリダイレクタが第１のＤＳＣからの第１の確立されたＴＣＰ／ＩＰストリーム接続から通信トラフィックを受信し、その後、ＤＳＭのレジストリ内に発生する仮想ＩＰアドレスマッピングに基づいて、通信トラフィックを第２のＤＳＣへの第２の確立されたＴＣＰ／ＩＰストリーム接続にルーティングする、装置。
【請求項２】
第２のＤＳＣが、第１の仮想ＩＰアドレス上の通信トラフィックを受信し、第２のＤＳＣの一部である第２のローカルネットワークに接続されている宛先デバイスに通信トラフィックをルーティングし、第１のＤＳＣが、同一のローカルネットワーク上のローカルデバイスを検出し登録するように構成されたディスカバリマネージャと、ＤＳＭへの発信ＴＣＰ／ＩＰストリーム接続を開始し制御するように構成された第１のコンジットマネージャと、ＴＣＰ／ＩＰ接続を第２のローカルネットワーク上の検出指定された可視デバイスに多重化および逆多重化するように構成されたトンネルマネージャとを有する、請求項１に記載の装置。
【請求項３】
初期ＤＳＣ構成が、第１のＤＳＣデバイス上にユーザインタフェースを有する必要なしに、携帯コンピュータ可読媒体を介する安全な構成ファイルを使用して、第１のＤＳＣの構成ファイルにロードされ、第１のＤＳＣに電力が印加されると、第１のＤＳＣのコンジットマネージャが第１の発信ＴＣＰ／ＩＰストリーム接続を確立し、その後、他の全ての必要な構成情報がＤＳＭから第１のＤＳＣへの第１の発信ＴＣＰ／ＩＰストリーム接続を介してダウンロードされる、請求項１に記載の装置。
【請求項４】
ＤＳＭ内に、１）各ＤＳＣの固有識別子とＤＳＣに割り当てられたローカルネットワークからの仮想ＩＰアドレスとの組を作成するように構成され、さらに、２）ローカルＤＳＣの固有識別子と、第１のローカルエリアネットワーク上の第１のＤＳＣの固有識別子に関連付けられたホストコンソールネットワークデバイスの実ＩＰアドレスとの組、および３）宛先ネットワークデバイスの実ＩＰアドレスと第２のローカルエリアネットワーク上の宛先ＤＳＣの固有識別子との組を作成し、その後、ＤＳＭがこれらの組をＤＳＭのレジストリ内に記憶するように構成されたネットワークアクセスモジュールをさらに備え、どの仮想ＩＰアドレスが第１のローカルネットワーク内で利用可能であるかを発見するための要求が第１のＤＳＣに送信され、第１のＤＳＣはどの仮想ＩＰアドレスが第１のローカルネットワーク内で利用可能であるかを発見し、これらの利用可能な仮想ＩＰアドレスをＤＳＭに報告する、請求項１に記載の装置。
【請求項５】
第２のローカルエリアネットワークを保護するファイアウォールをさらに備え、第２のネットワーク上のリモート対象デバイスへの通信トラフィックを開始するホストコンソールが、第１のローカルＬＡＮ上の第１のＤＳＣに接続し、第１のＤＳＣ内のトンネルマネージャプログラムが、第１の発信ＴＣＰ／ＩＰストリーム接続上のトラフィックを多重化し、通信トラフィックをＤＳＭに転送し、
ＤＳＭが、第１の発信ＴＣＰ／ＩＰストリーム接続を対応する仮想ＩＰアドレスおよび第２のＤＳＣに関連付けられたポートにマッピングし、ＤＳＭのＩＰリダイレクタが、少なくとも実ＩＰアドレス、仮想ＩＰアドレス、機器のサブセットへのルートを記憶するルーティングテーブルを調べることによって第２のネットワーク上の機器のサブセットの対象デバイス宛ての目的とする対象デバイスアドレスと第２のネットワーク内の第２のＤＳＣに関連づけられた情報とを決定し、その後、確立された第２のＤＳＣとの第２の発信ＴＣＰ／ＩＰストリーム接続を介して第２のＤＳＣにパケットを転送する、請求項１に記載の装置。
【請求項６】
第１のＤＳＣ内のトンネルマネージャプログラムが、１）通信トラフィックが第１のＤＳＣから発生したものであるということ、２）ソースデバイスおよび通信トラフィックを送信する元のポートの両方を含めた第１のローカルネットワーク内の発信デバイスの識別情報を含む情報を通信トラフィックのヘッダに追加し、その後、通信トラフィックをインターネット上でルーティングするためにＤＳＭに転送する、請求項１に記載の装置。
【請求項７】
ＤＳＭが、ＤＳＭのレジストリ内に、少なくとも各ＤＳＣおよびローカルエリアネットワーク上で、ローカルエリアネットワークのユーザに可視であるものと指定される、ネットワークデバイスの実ＩＰアドレス、仮想ＩＰアドレス、デバイスへのルートを記憶する仮想ＩＰアドレスルーティングテーブルを有し、ＤＳＭが、仮想ＩＰアドレスルーティングテーブル内の情報を使用して、ＤＳＭによって割り当てられた仮想ＩＰアドレスを所与のＤＳＣに関連付けられた実ＩＰアドレスにマッピングしてルートを確立し、ＤＳＭが、仮想ＩＰアドレスルーティングテーブルを参照することによって適切な仮想ＩＰアドレスルートを決定し、その後、通信トラフィックを対象デバイスに送るために第２のＤＳＣに転送する、請求項１に記載の装置。
【請求項８】
ＤＳＭが、ＶＩＰルーティングテーブルを参照し、対象デバイスの実ＩＰアドレスが第２のＤＳＣの固有ＩＤに関連付けられているか、また第２のＤＳＣの固有ＩＤが所与の仮想ＩＰアドレスに関連付けられているかを確認することによって、適切なＶＩＰルートを決定する、請求項７に記載の装置。
【請求項９】
第１のローカルネットワーク内の第１のＤＳＣが、多重モードで第１のローカルネットワーク内の全ての関連ネットワークデバイスをドメインネームにマッピングするトンネルマネージャを有し、ＤＳＭ内のネットワークアクセスモジュールが、ＩＰアドレスをドメインネームにマッピングする時に第１のＤＳＣによって使用するための仮想ＩＰアドレスのプールを維持するように構成される、請求項１に記載の装置。
【請求項１０】
第１のＤＳＣが、ローカル自動アドレスサーバを使用することによって利用可能な仮想ＩＰアドレスを取得し、その後、利用可能なＩＰアドレスをＤＳＭ内のアソシエーションマネージャにコピーし、アソシエーションマネージャがＤＳＭ内の仮想ＩＰルーティングテーブルを更新する、請求項１に記載の装置。
【請求項１１】
第２のＤＳＣが、逆多重モードで、ＤＳＭからのトンネル要求を承認し、通信トラフィックを第２のローカルエリアネットワーク内の関連デバイスの転送し、第２のＤＳＣが、定期的にＤＳＭを呼び出して、第２のデバイスコントローラをホストするネットワーク内の関連デバイスに対して保留中のトラフィックがあるか否かを確認し、第２のＤＳＣが、ＤＳＭとの第２の発信通信トンネルで受信された通信トラフィックを逆多重化し、通信トラフィックのヘッダに挿入されている仮想ＩＰアドレスの組の情報を読み出して、通信トラフィックを対象デバイスに送る、請求項１に記載の装置。
【請求項１２】
トンネルマネージャが、第１のＤＳＣが介在ファイアウォールによって保護された第２のローカルネットワーク内の終端の対象デバイスへのＴＣＰまたはＵＤＰ接続を、終端の対象デバイスの実ＩＰアドレスがわからない状態で開始することができるように構成され、ＤＳＭが、ＤＨＣＰアドレス構成によって、または第１のＤＳＣに利用可能な仮想ＩＰアドレスのスタティックプールからのいずれかによって、第１の仮想ＩＰアドレスを第１のＤＳＣに割り当てる、請求項１に記載の装置。
【請求項１３】
第１のＤＳＣが、指定されたＤＮＳ名に終端の対象デバイスを問い合わせることによって第１のＴＣＰ／ＩＰストリーム接続を開始し、返される仮想ＩＰアドレスがＤＳＭによって第１のＤＳＣに利用可能なローカル仮想ＩＰアドレスのプールから提供される、請求項１２に記載の装置。
【請求項１４】
ローカルデバイスから中央デバイスへの第１の発信ＴＣＰ／ＩＰストリーム接続を確立するステップと、
リモートデバイスから中央デバイスへの第２の発信ＴＣＰ／ＩＰストリーム接続を確立するステップとであって、ローカルデバイスが第１のローカルネットワーク内に常駐し、リモートデバイスが第１のローカルネットワークとは異なる第２ローカルネットワーク内に常駐し、中央デバイスがローカルデバイスおよびリモートデバイスの両方の外部にある広域エリアネットワーク内に常駐し、ローカルデバイスおよびリモートデバイスがともに、定期的に中央デバイスに対して自身の認証を行い、発信ＴＣＰ／ＩＰストリーム接続上で将来の双方向通信に対してその接続をオープンに保つことにより、自身の中央デバイスへの発信ＴＣＰ／ＩＰストリーム接続を生成するステップと、
第１の仮想ＩＰアドレスをローカルデバイスに、第２の仮想アドレスをリモートデバイスに割り当てるステップと、
第１の仮想ＩＰアドレスに関連付けられたローカルデバイスからの第１の確立されたＴＣＰ／ＩＰストリーム接続から通信トラフィックを受信し、中央デバイスのレジストリ内で発生する仮想ＩＰアドレスマッピングに基づいて、通信トラフィックを第２の仮想ＩＰアドレスに関連付けられたリモートデバイスへの第２の確立されたＴＣＰ／ＩＰストリーム接続にルーティングするステップと、
通信トラフィックを復号し、通信トラフィックをリモートデバイスからの第２のローカルネットワーク上のネットワークデバイスに転送するステップとを含む、方法。
【請求項１５】
第２のローカルネットワーク上のローカルデバイスを検出し、登録するステップと、
第２のローカルネットワーク上の検出指定された可視デバイスへのＴＣＰ／ＩＰ接続を多重化し、逆多重化するステップと、
１）通信トラフィックが第１のＤＳＣから発生したものであるということ、２）ソースデバイスおよび通信トラフィックを送信する元のポートの両方を含めた第１のローカルネットワーク内の発信デバイスの識別情報を含む情報を通信トラフィックのヘッダに追加するステップとをさらに含む、請求項１４に記載の方法。
【請求項１６】
初期ＤＳＣ構成が、第１のＤＳＣデバイス上にユーザインタフェースを有する必要なしに、携帯コンピュータ可読媒体を介し安全な構成ファイルを使用して、第１のＤＳＣの構成ファイルにロードされ、第１のＤＳＣに電力が印加されると、第１のＤＳＣのコンジットマネージャが第１の発信ＴＣＰ／ＩＰストリーム接続を確立し、その後、他の全ての必要な構成情報がＤＳＭから第１のＤＳＣへの第１の発信ＴＣＰ／ＩＰストリーム接続を介してダウンロードされる、請求項１５に記載の方法。
【請求項１７】
ローカルデバイスの固有識別子とローカルデバイスに割り当てられたローカルネットワークからの仮想ＩＰアドレスとの組を作成するステップと、
ローカルデバイスの固有識別子とＤＳＣの固有ＩＤに関連付けられた実ＩＰアドレスとの組を作成するステップと、
宛先ネットワークデバイスの実ＩＰアドレスと第２のローカルエリアネットワーク上のリモートデバイスの固有識別子との組を作成するステップと、
それらの組を中央デバイスのレジストリ内に記憶するステップと、
ローカルデバイスに、どの仮想ＩＰアドレスが第１のローカルネットワーク内で利用可能であるかを発見するように要求し、それらの仮想ＩＰアドレスを中央デバイスに報告するステップとをさらに含む、請求項１５に記載の方法。
【請求項１８】
各々がＤＳＭへの直接通信トンネルを生成するコンジットマネージャを有する第１および第２のＤＳＣであって、第１のＤＳＣが第１のローカルネットワーク内に常駐し、第２のＤＳＣが第１のローカルネットワークと異なる第２のローカルネットワーク内に常駐し、ＤＳＭが第１および第２のＤＳＣ両方の外部にある広域エリアネットワーク内に常駐し、第１のＤＳＣおよび第２のＤＳＣがともに各々、定期的にＤＳＭに対して自身の認証を行い、ＤＳＭへ発信ＴＣＰ／ＩＰストリーム接続を確立することにより、ＤＳＭへの自身の直接通信トンネルを生成し、発信ＴＣＰ／ＩＰストリーム接続上で将来の双方向通信に対してその接続をオープンに保つ、第１および第２のＤＳＣと、
第１のＤＳＣからの第１の確立されたＴＣＰ／ＩＰストリーム接続から通信トラフィックを受信し、その後、ＤＳＭのレジストリ内に発生する仮想ＩＰアドレスのマッピングに基づいて、通信トラフィックを第２のＤＳＣへの第２の確立されたＴＣＰ／ＩＰストリーム接続にルーティングするＤＳＭ内のＩＰリダイレクタとを含み、第２のＤＳＣが通信トラフィックを復号し、通信トラフィックを第２のローカルネットワーク上のネットワークデバイスに転送する、システム。
【請求項１９】
ＤＳＭが、ＤＳＭのレジストリ内に、少なくとも各ＤＳＣおよびローカルエリアネットワーク上で、ローカルエリアネットワークのユーザに可視であるものと指定される、ネットワークデバイスの実ＩＰアドレス、仮想ＩＰアドレス、デバイスへのルートを記憶する仮想ＩＰアドレスルーティングテーブルを有し、ＤＳＭが、仮想ＩＰアドレスルーティングテーブル内の情報を使用して、ＤＳＭによって割り当てられた仮想ＩＰアドレスを所与のＤＳＣに関連付けられた実ＩＰアドレスにマッピングしてルートを確立し、ＤＳＭが、仮想ＩＰアドレスルーティングテーブルを参照することによって適切な仮想ＩＰアドレスルートを決定し、その後、通信トラフィックを対象デバイスに送るために第２のＤＳＣに転送する、請求項１８に記載のシステム。
【請求項２０】
ＤＳＭが、ＶＩＰルーティングテーブルを参照して、対象デバイスの実ＩＰアドレスが第２のＤＳＣの固有ＩＤに関連付けられているか、また第２のＤＳＣの固有ＩＤが所与の仮想ＩＰアドレスに関連付けられているかを確認することによって、適切なＶＩＰルートを決定する、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、米国特許出願シリアル番号第６０／９８２，３８８号、２００７年１０月２４日出願、「Ｍｅａｎｓ  ｏｆ  ｐｒｏｖｉｄｉｎｇ  ｖｉｒｔｕａｌ  ＩＰ  ａｄｄｒｅｓｓ  ｔｏ  ａｕｔｏｍａｔｉｃａｌｌｙ  ａｃｃｅｓｓ  ｒｅｍｏｔｅ  ｎｅｔｗｏｒｋ  ｄｅｖｉｃｅｓ」の優先権を主張するものである。
【０００２】
著作権
本願の開示の一部は、著作権保護対象の素材を含む。著作権所有者は、ソフトウェアエンジンおよびそのモジュールのいずれかによる複製再生に対して、それが特許商標局の特許ファイルまたは記録内で見られる時には異議はないが、それ以外の場合には、如何なる形であれ全ての著作権の権利を有する。
【０００３】
本発明の実施形態は、概して、ネットワークデバイスに関する。より詳細には、本発明の実施形態の一態様は、仮想インターネットプロトコル（ＩＰ）アドレスの使用によってネットワークデバイスに対する（ｔｏ  ａｎｄ  ｆｒｏｍ）アクセスに関する。
【背景技術】
【０００４】
インターネットは、あるネットワーク上のデバイスが同じネットワークまたはリモートネットワーク上にあり得る他のデバイスと自動的に通信できるように、ＴＣＰ／ＩＰプロトコルスイートを共同で使用するネットワークの大きな集合である。このような各デバイスは、各々のアクティブなネットワークインタフェースに対してＩＰアドレスが割り当てられており、このＩＰアドレスによりネットワークインフラのコンポーネントが宛先のデバイス間のトラフィックを自動的にルーティングすることができる。
【０００５】
このような各ネットワークインタフェースは、ＩＰアドレスの複数のブロックがローカルネットワークの外側で利用可能である必要のないインタフェース上で使用するために確保されていても、インターネット全体にわたって固有のＩＰアドレスを割り当てられることが一般的に必要である。このようなプライベートアドレスは、ローカルネットワーク上のデバイスからのトラフィックがリモートネットワーク上のルーティング不可能なアドレスを有するネットワークインタフェースに到達できるようにルート（すなわち、ネットワークインフラデバイス群を通るパス）を確立することができないため、「ルーティング不可能な」アドレスとも呼ばれる。インターネットが普及したので、この技術によりプライベートアドレスを繰り返し再使用することができるようになり、このことが公的にアクセス可能なＩＰアドレスの不足しつつある状況を緩和するのに役立っている。しかし、管理者がルーティング可能なアドレスを持たないリモートデバイスにアクセスできる代替の機構を求めたために、この技術はより複雑なものとなった。
【０００６】
インターネットが普及し、セキュリティ脅威が増大したため、ネットワーク管理者はさらに、ネットワーク管理者が要求通りに許可されるアクセスまたは拒否されるアクセスの特定のアドレスとポートの組み合わせを指定することができるようなネットワークフィルタリングデバイスまたはアプリケーションを開発および展開することによって、管理制御の下で特定のデバイスへのアクセスの制限しようとしてきた。これら２つの技術は、一緒になってインターネットの普及および安定を確保するのに役立つが、そのことでより一層複雑になり、管理者はその管理制御の範囲外のネットワーク上のネットワークデバイスにシームレスにアクセスすることを望むことができない。
【０００７】
この問題に対処するための１つの既存の機構は、ローカルネットワークデバイスに専用クライアントソフトウェアをインストールすることを含む。このソフトウェアにより、ローカルネットワークデバイスは「仮想プライベートネットワーク（ＶＰＮ）」の一部として機能することができ、ローカルデバイスはリモートネットワークのメンバであるかのように機能することができる。このようなＶＰＮシステムを使用すると、ローカルホストはリモートネットワーク上のＩＰアドレスが割り当てられ、リモートネットワーク上のホストに対する全てのトラフィックがＶＰＮシステムによって自動的にルーティングされる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
この技術は有効であるが、アプローチには複数の欠点がある。ＶＰＮシステムは、まず、リモートネットワークの管理者によって設定されなければならない。設定されると、ＶＰＮシステムにアクセスを望む各々の外部デバイスに特殊なソフトウェアがインストールされなければならない（インストールされない場合、システムは、例えば、ウェブブラウザインタフェース経由で制限されたアクセスのみを提供することができる）。さらに、適切なセキュリティ証明書がリモート管理者によって作成され、ローカル管理者またはユーザによって配布され維持されなければならない。これらは全て、操作に関与する当事者全員に重要な管理上の負担をかけるものである。最後の欠点は、ローカルホストがＶＰＮアクセスを許可されると、通常は、リモートネットワーク上の全てのデバイスにアクセスするのを防ぐために追加のフィルタリングステップが行われなければ、全てのデバイスにアクセスしてしまう。これは、リモート管理者に望まれない場合もある。
【０００９】
ルーティング不可能なアドレスの問題を克服する別の技術は、いわゆる「ネットワークアドレス変換（ＮＡＴ）」を実行することである。このＮＡＴは、ネットワークのアドレス／ポートの組み合わせをルーティング可能なアドレスからルーティング不可能なアドレスに自動的にマッピングする境界ルータの複雑な再構成を含む。この技術により、１つの公的にルーティング可能なＩＰアドレスを使用することでルーティング不可能なアドレスを有する複数のデバイスにアクセスすることができるが、システムはより複雑になる。ＮＡＴ対応のネットワークは、一般には、特定のポート／アドレスの組み合わせから特定のデバイスへのマッピングが予め構成されていなければ、着信接続できない。また、このマッピングはデフォルト設定のアドレス／ポートの組み合わせまたは非標準的なアドレス／ポートの組み合わせの使用を試みるソフトウェアと競合する場合がある。
【００１０】
これらの課題を考えると、専用のホストソフトウェアを使用せずに、またリモートネットワークのネットワーク管理者がソリューションを設定、維持、または操作するための特権を必要とせずに、ルーティング不可能なアドレスを使用してリモートデバイスに簡単に、かつ自動的にアクセスできるようにする機構が必要である。
【課題を解決するための手段】
【００１１】
リモートネットワークデバイスへの完全に自動化されたネットワークアクセスを提供する方法、装置およびシステムを説明する。リモートネットワークデバイスは、上記の方法、装置およびシステムを使用しなければ、そのデバイスのネットワークアドレス宛ての有効なルートが存在しないためにアクセス不可能である。システムは専用のホストソフトウェアを使用しなくても機能し、リモートネットワークのネットワーク管理者のシステムを設定、操作、維持する特権は必要でないことに留意されたい。また、システムは既存のＶＰＮシステムと共存することができ、１つ以上の外部アドレスを他の場合ではローカルネットワーク外で利用できないルーティング不可能なアドレスにマッピングするのにネットワークアドレス変換を使用しているネットワークと完全互換であることにも留意されたい。
【００１２】
システムは、３つの主なコンポーネント、ホストコントローラ、デバイスコントローラ、デバイスサービスマネージャ（またはＤＳＭ）からなる（図２ａ参照）。ホストコントローラは、ローカルネットワーク上にネットワークデバイスとして設置されるコンポーネントからなる。デバイスコントローラは、リモートネットワーク上にネットワークデバイスとして設置されるコンポーネントからなり、デバイスサービスマネージャは、インターネット上に設置され、ホストコントローラとデバイスコントローラとの両方から直接ネットワーク接続を介してアクセス可能なコンポーネントからなる。これらのコンポーネンは全て、一般性または機能性を喪失することなく、専用ネットワークハードウェアデバイスコンポーネントとして、またはより大型のコンピューティングシステムのソフトウェアコンポーネントとして表すことができることに留意されたい。
【００１３】
ホストコントローラおよびデバイスコントローラは共に、ＤＳＭに対して発信データ接続を確立する機能を持たなければならない。ＤＳＭは、この時、ホストコントローラおよびデバイスコントローラのコンポーネント間でトラフィックを中継するのに使用される。これらは、次に、送信側のネットワークデバイスと宛先のネットワークデバイスとの間でトラフィックを中継するのに使用される。
【００１４】
実際に、ＤＳＭとホストコントローラまたはデバイスコントローラのコンポーネントとの間に、着信接続または一部のＩＰアドレスまたはポートの組み合わせのいずれかをブロックするファイアウォールデバイスがある場合がある。この場合、ホストコントローラおよび／またはデバイスコントローラがＤＳＭ宛てのＴＣＰ／ＩＰセッションを確立することが可能であれば、システム内の全ての他のトラフィックは、発信元デバイスまたは宛先デバイスに最終的に配信するために、コンポーネント間の送信のためのこれらの接続上で自動的に多重化される。
【００１５】
ホストコントローラの目的は、ローカルネットワーク上の送信側のネットワークデバイスから、他の場合には送信側ネットワークデバイスにアクセス不可能であるリモートデバイスへの接続のためのプロキシアクセスポイントとしての機能を果たすことである。デバイスコントローラの目的は、リモートネットワーク上のデバイスに配信されるトラフィックの中継ポイントとしての機能を果たすことであり、ＤＳＭの目的は、ホストコントローラとデバイスコントローラとに関与することで、ローカルネットワークとリモートネットワークとの間を通過するトラフィックのトラフィックルータおよび中継ポイントとしての機能を果たすことである。３つのコンポーネントは連携して、自動的にローカルネットワークデバイスから着信ネットワークトラフィックを受信し、そのトラフィックを処理してローカルネットワークからＤＳＭに転送する。トラフィックはＤＳＭで処理され、リモートネットワーク上のデバイスコントローラにルーティングされ、デバイスコントローラで処理されて対象デバイスに送られる。双方向性データストリームの場合、システムはリモートデバイスからの戻りパケットを自動的に受信し、それらのパケットをローカルデバイスへ送るためにシステムに戻って処理する能力を有する。
【００１６】
また、データトラフィックがシステムに入る時に暗号化し、システムを出る時に復号化することも可能であることに留意すべきである。これが行われる場合、システムは完全なエンドツーエンドのデータセキュリティも確保し、トラフィックを送信中に見られないようにする。
【００１７】
動作時に、ホストコントローラのコンポーネントは、ローカルネットワーク上の１つ以上のネットワークインタフェースを利用可能にして、着信データストリームを発信する。各インタフェースは、システムへのエントリポイントとして、いわゆる仮想ＩＰアドレス（またはＶＩＰ）を使用するように構成される。ＶＩＰは、実際は、ローカルネットワーク上の実ＩＰアドレスであり、このアドレスには、ローカルネットワーク上で有効でアクセス可能なアドレスであるという以外の制約はない。
【００１８】
ＶＩＰは、コンピュータシステムの仮想メモリアドレスと類似したものであると考えられる。つまり、仮想メモリアドレスは、プロセッサにより実行されているローカルプログラムにアクセス可能であり、仮想アドレスにアクセスしようとすれば全て自動的にコンピュータの物理メモリ内の実アドレスにマッピングされる。同様に、ネットワークデバイスによりＶＩＰアドレスにアクセスしようとすれば全て、システムにより自動的にかつトランスペアレントに宛先の物理アドレスに変換され、渡される。
【００１９】
そのような各インタフェースは、ＶＩＰにアクセスする任意のネットワークデバイスから着信ネットワークトラフィック（例えば、ＴＣＰ／ＩＰデータストリーム、個々のＵＤＰパケット、またはＩＣＭＰ制御メッセージであるが、これらに限定されるわけではない）を受信することができる。ＴＣＰ／ＩＰデータストリームの場合、ホストコントローラの性能を向上させることで、トラフィックをＤＳＭに転送するのを開始する前に、ＴＣＰ／ＩＰセッションを確立するのに必要な初期の３ウェイハンドシェイクを実行することができる。この場合、デバイスコントローラは、対象デバイスの初期データパケットを受信すると、まず、着信パケットの送信を始める前に対象デバイスとの３ウェイハンドシェイクを成功裏に完了させる。そうでなければ、一般に、全ての着信ネットワークトラフィックは、処理されて終端の宛先へのルーティングのために自動的にＤＳＭコンポーネントに転送される（要求に応じて、任意のＶＩＰ上でフィルタリングを確立することが可能である。フィルタリングは、例えば、必要に応じて、ローカルネットワークに対するネットワークブロードキャストパケットまたはＩＣＭＰ制御メッセージパケットを制限するために行われる）。
【００２０】
ＤＳＭは、各ＶＩＰから宛先のネットワークデバイスへのマッピングを記憶するように構成される。このマッピングは、着信ＶＩＰ、発信元のホストコントローラの固有の識別子、および宛先ネットワークデバイスの宛先ＩＰアドレスと対応するデバイスコントローラの固有の識別子からなる。
【００２１】
各々の関与しているホストコントローラとデバイスコントローラとの固有の識別子を使用するために、両方のデバイスがプライベートアドレスを使用している時でさえ、および／または、そうでなければ発信元ネットワークからリモートネットワークへのルートが存在しない時でさえ、各ＶＩＰから各対象デバイスへの使用可能なルートを識別することが可能であることに留意されたい。実際に、両方のデバイスは同じプライベートＩＰアドレスを使用している場合があるが、対応するホストコントローラおよびデバイスコントローラのコンポーネントによって区別され得るので、システムはそれでも機能する。
【００２２】
また、各対象デバイスは自身のＶＩＰを有するために、任意の特別なソフトウェアをインストールする必要がない、または発信元デバイスに構成変更を加える必要がないことに留意されたい。アプリケーションは単にルーティング不可能な対象デバイスのアドレスの代わりにＶＩＰアドレスを使用するだけで、システムは必要とされるトランスポート機構を提供する。ＶＩＰをドメインネームシステム（ＤＮＳ）に導入することも可能である。この場合、発信元のネットワークデバイスに任意のさらなる構成変更を加えなくても、ＶＩＰは変更されてルート可能なアドレスと置換され得る。
【００２３】
ホストコントローラもデバイスコントローラもネットワーク上でインストールまたは動作するため任意の特別な管理者特権を必要とせず、いずれのコンポーネントにも静的に割り当てられるＩＰアドレスが必要でないことにも留意すべきである。各々は、要求に応じて、自身のための必要なアドレスおよび割り当てられるＶＩＰを要求するために動的ホスト制御プロトコルを使用し得る。ホストコントローラは、各ＶＩＰに対して、着信データをリスンする機能を果たし、それを開始する仮想ネットワークインタフェースを作成する。着信データが検出されると、着信データは処理と宛先のデバイスコントローラへの配信のために自動的にＤＳＭに転送される。
【００２４】
次に、デバイスコントローラがネットワークに現れて、アクセスした先のデバイスに配信されることを示すフォーマットで暗号化されたＤＳＭからの受信データをリスンするのを開始することができる。デバイスコントローラは、デバイスコントローラにパケットを配信するのに使用されるこのシステム情報を削除だけすればよく、宛先のデバイスに得られたデータパケットを転送する。任意の戻りパケットは、適切なデバイスにルーティングするためにホストコントローラ経由で自動的にＤＳＭに転送される。
【００２５】
実際には、１つのデバイスに２つ以上のシステムコンポーネントを組み合わせることが可能である。例えば、ホストコントローラとデバイスコントローラとの機能性を１つのデバイスの中にまとめることができる（これを、デバイスサービスコントローラと呼ぶ）。このようにまとめることで、デバイスはネットワーク接続を開始または終了することができ、さらに１つのデバイスを通して複数の同時の双方向ネットワークトラフィックセッションを有することができる。また、ホストコントローラかデバイスコントローラかのいずれかと、ＤＳＭをまとめて１つのデバイス上に配置するのを選択してもよい。この場合、組み合わせデバイスと残りのコンポーネントとの間にルートが存在するのを確認しなければならないが、それでもシステムは宛先のルーティング不可能なデバイスに自動的に転送するように設定される。
【００２６】
図面は本発明の実施形態を参照したものである。
【図面の簡単な説明】
【００２７】
【図１】ファイアウォールにより保護されたネットワーク内のネットワークデバイスに対してアクセスするシステムの一実施形態を示すブロック図である。
【図２ａ】第１のファイアウォールにより保護された第１のドメインおよび第２のファイアウォールにより保護された第２のドメインの外部にデバイスサービスマネージャを配置するシステムの一実施形態を示すブロック図である。
【図２ｂ】ＤＳＭに対して自身の認証を行い、ＤＳＭへの発信ＴＣＰ／ＩＰコンジット接続を確立し、その後、確立されたＴＣＰ／ＩＰコンジット接続上で将来の双方向通信に対して接続をオープンに保つことにより、ＤＳＭへの直接通信トンネルを提供するように構成されたコンジットマネージャを各々が有するＤＳＣを備えるシステムの一実施形態を示すブロック図である。
【図３】中央ＤＳＭとファイアウォールにより保護されたネットワーク内のネットワークデバイスに対してアクセスするローカルＤＳＣとを有するシステムの一実施形態を示すブロック図である。
【図４】ＤＳＣ内のコンジットマネージャの一実施形態の状態図である。
【図５】分散システムの自動化集中型管理の一実施形態のブロック図である。
【図６】ＤＳＭの一実施形態の例を示すブロック図である。
【図７】ＤＳＣの一実施形態の例を示すブロック図である。
【図８】ＤＳＣ内の実行可能な起動ファイルを介して構成情報をＤＳＣに配布するＤＳＭの一実施形態を示すブロック図である。
【図９】仮想ＩＰアドレスの割り当てを自動化するＤＳＭの一実施形態を示すブロック図である。
【図１０】仮想ＩＰアドレスを取得してＤＳＭに報告するネットワークマニホールドの一実施形態を示すフロー図である。
【図１１】ローカルネットワーク内で利用可能な仮想ＩＰアドレスの２つ以上のプールを作成するＤＳＭを示す図である。
【発明を実施するための形態】
【００２８】
本発明は、さまざまな変更や代替の形態が可能であるが、本発明の特定の実施形態が図面に例として示されており、これについて本明細書内で詳細に説明する。本発明は、開示された特別な形態に限定されるものではないと理解されるべきであるが、一方で、本発明は、本発明の精神およびその範囲内にある全ての変更、等価物、代替形態を含めるものとする。
【００２９】
以下の説明では、本発明を十分に理解できるように、多くの特定の詳細事項、例えば、特定のデータ信号、指定コンポーネント、接続、ネットワークなどの実施例が説明されている。しかしながら、本発明はこれらの特定の詳細事項がなくても実施可能であることは当業者には明らかである。他に、本発明を不必要に分かりにくくするのを避けるために、知られているコンポーネントまたは方法は詳細に説明されず、ブロック図で説明される。また、第１のネットワークなどのように特定の番号参照がなされてもよい。しかしながら、特定の番号参照は、文字通りの順番として解釈すべきではなく、第１のネットワークは第２のネットワークと異なるものであると解釈すべきである。したがって、説明される特定の詳細事項は単なる例にすぎない。特定の詳細事項は変わる場合があるが、それでも本発明の精神および範囲内にあるように考慮される。
【００３０】
概して、仮想ＩＰアドレスを使用してリモートネットワーク上のデバイスにアクセスする中央システムを提供する種々の方法および装置を説明する。各ＤＳＣ（システムの展開および管理を簡略化するためにまとめてパッケージされたホストコントローラとデバイスコントローラとの機能性の組み合わせ）は、ＤＳＭへの直接通信トンネルを生成するコンジットマネージャを有することができる。第１のＤＳＣは第１のローカルネットワーク内に常駐し、第２のＤＳＣは第１のローカルネットワークとは異なる第２のローカルネットワーク内に常駐する。ＤＳＭは、第１および第２のＤＳＣの両方の外側にある広域エリアネットワーク内に常駐する。第１および第２のＤＳＣは共に、定期的にＤＳＭへの発信ＴＣＰ／ＩＰコンジット接続を確立し、ＤＳＭに対して自身の認証を行い、その後、発信ＴＣＰ／ＩＰコンジット接続上で将来の双方向通信に対してその接続をオープンに保つことにより、ＤＳＭに対して自身の直接通信トンネルを生成する。ＤＳＭ内のＩＰリダイレクタは、第１のＤＳＣからの第１の確立されたＴＣＰ／ＩＰコンジット接続から通信トラフィックを受信し、その後、ＤＳＭのレジストリまたは内部データストア内に記憶された仮想ＩＰアドレスのマッピングに基づいて、通信トラフィックを第２のＤＳＣへの第２の確立されたＴＣＰ／ＩＰコンジット接続にルーティングする。
【００３１】
ＤＳＭ内のネットワークアクセスモジュールは、１）各ＤＳＣの固有の識別子とＤＳＣに割り当てられるローカルネットワークの仮想ＩＰアドレスと、２）リモートＤＳＣの固有の識別子と宛先ネットワーク上のネットワークデバイスの実際の、さもなければアクセス不可能なＩＰアドレスとの組（ｐａｉｒｉｎｇ）の例を作成するように構成され得る。ＤＳＭは、これらの組をＤＳＭのレジストリ内に記憶する。
【００３２】
図１は、ファイアウォールにより保護されたネットワーク内のネットワークデバイスに対してアクセスするシステムの一実施形態を示すブロック図である。
【００３３】
第１のネットワーク１０４上の第１のデバイスサービスコントローラ１０２（ＤＳＣ）は、第１のファイアウォール１０６により保護されている。第１のネットワーク１０４は、第１のＤＳＣ１０２に関連付けられたホストコンソール１０８を含んでもよい。ホストコンソール１０８は、第２のファイアウォール１１４により保護されている第２のネットワーク１１６内の機器のサブセットを制御および管理する。第２のネットワーク１１６は、第１のネットワーク１０４およびホストコントローラ１０８からのインターネット上に位置する。第１のネットワーク１０４上の第１のデバイスサービスコントローラ１０２と第２のネットワーク１１６上の第２のデバイスサービスコントローラ１１２とは、インターネット上に位置するデバイスサービスマネージャサーバ（ＤＳＭ）１１０と協働して、ファイアウォール１０６、１１４を介して第２のネットワーク１１６上の機器のサブセットへの高度に安全なリモートアクセスを提供する。デバイスサービスマネージャサーバ１１０は、ファイアウォール１０６、１１４を介して、各デバイスサービスコントローラとの直接通信トンネル経由でマシン間の通信を実行するコードを含むＩＰリダイレクタプログラム１１８を有する。第２のネットワーク１１６内の機器のサブセットは、例えば、サーバ、ＰＬＣデバイス、動作コントローラ、自動化装置、プリンタ、セキュリティシステム、パーソナルコンピュータを含むことができる。
【００３４】
動作時に、ユーザはホストコンソール１０８から、ホストコントローラモードで動作しているローカルＤＳＣ、すなわち第１のＤＳＣ上の指定ＶＩＰアドレスへの接続をオープンにする。このローカルＤＳＣは、接続を承認し、対象デバイスへの接続が確立するまで接続を保留状態に保つ。このローカルＤＳＣは、次に、制御ＤＳＭ１１０への接続を開始し（この接続が確立されていない場合）、ＤＳＭは接続を対応する管理デバイスＩＰアドレスにマッピングする。ローカルＤＳＣは、ＤＳＭ１１０に対して自身の認証を成功させるためにその識別情報を送信する。対象デバイスに関与する関連ＤＳＣ、すなわち、第２のＤＳＣ１１２は、定期的にＤＳＭ１１０との安全なトンネルをオープンにし、保留中の接続があるか否かを判断する（このような接続が確立されていない場合）。保留中の接続がある場合、ＤＳＭ１１０は、ＤＳＭ１１０へのプロキシ接続を開始するようにＤＳＣに命令し、そのプロキシ接続に保留中の接続のトラフィックを通過させる。ファイアウォールの背後にあるローカルＤＳＣは、保留中の接続がある場合、ＤＳＭ１１０との直接通信トンネルをオープンに保つ。
【００３５】
第１のＤＳＣ１０２とＤＳＭ１１０との間の直接通信トンネルと第２のＤＳＣ１１２とＤＳＭ１１０との間の直接通信トンネルとが結合して、ホストコンソールからアクセス不可能でファイアウォールにより保護されているネットワーク上にあるアドレスを使用して機器の安全なアクセスおよび管理を可能にすると同時に、ネットワークのＩＴポリシーおよびネットワークファイアウォールのインテグリティを維持することができる。第１のＤＳＣ１０２および第２のＤＳＣ１１２に対する接続点は、直接通信トンネルを介する通信のセキュリティを強化するために、ＤＳＣ１０２、１１２は各ファイアウォール１０６、１１４の背後に配置されるので、ネットワーク外部のデバイスに対して各ネットワークの外側で公的に公開されない。ローカルＤＳＣがＤＳＭ１１０に対して認証を成功させると、ＤＳＣはすぐに、関与しているＤＳＣに対して可視であると指定されたネットワーク内で、ＶＩＰおよび対応するルートを割り当てられたネットワーク上の任意のデバイス、例えば、ＰＬＣデバイスに対する安全なアクセスを開始することができる。指定された可視デバイスは、公開される第２のネットワーク１１６のユーザにより認証されたデバイスである。
【００３６】
上述したように、関連する可視デバイスは、ドメインの所有者によって可視である／公開されることを認証されたデバイスであり、「仮想」ローカルデバイスの単一セットとしてホストコントローラに利用可能なネットワークデバイスの集合の要素として見られ得る。用語「仮想デバイスネットワーク（ＶＤＮ）」は、このようなデバイスの集合を指すのに使用される。この例では、第２のネットワーク内の機器のサブセットはホストコンソールにアクセス可能であり、サーバ、ＰＬＣデバイス、動作コントローラ、自動化装置を含むが、プリンタ、セキュリティシステム、パーソナルコンピュータはＶＤＮに対して可視であることが管理者によって認証されていない。
【００３７】
実際には、システムの全ての管理は、ＤＳＭ上のレジストリを変更することができるインタフェースにアクセスすることで達成され得る。レジストリでは、各ＤＳＣ上のＶＩＰに関する情報、およびＶＩＰと各ルーティング不可能なアドレスとの間の対応するルートが記憶される。ローカルＤＳＣは、ローカルデバイスに関する情報を収集し、この情報をＤＳＭに転送することができる。または、情報はシステム管理者によって手動で入力され得る。このような情報は、ＤＳＣネットワーク内のＤＳＣ識別子およびＩＰアドレス、各コンポーネントのＩＰアドレス、名前、機能、サポートされるプロトコルなどを含むことができる。
【００３８】
図６は、ＤＳＭの実施形態の一例を示すブロック図である。ＤＳＭ６１０は、ＤＳＭ６１０内のトンネルマネージャを含むＩＰリダイレクタ６１８、ユーザインタフェース、レジストリを含むデータベース６２０、アソシエーションマネージャ、ポリシーマネージャ、複製マネージャなどのコンポーネントおよび他の同様のコンポーネントを含むことができる。
【００３９】
図７は、ＤＳＣの実施形態の一例を示すブロック図である。ＤＳＣ７０２は、アソシエーションマネージャ、コンジットマネージャ７２４、トンネルマネージャ、ネットワークマニホールド７２６のコンポーネントを含むアクセスサブシステムなどのコンポーネントを含むことができる。ＤＳＣはさらに、レジストリを含むローカルデータベース７２８、ディスカバリマネージャ７３０、デバイス構成マネージャ、デバイス監視マネージャ、デバイス構成エンジン７４３を含む自動化サブシステム、ユーザインタフェース、電源７３２、ドライブポート７３４、他の同様のコンポーネントを含むことができる。各ＤＳＣは、同じローカルネットワーク上のローカルデバイスを検出して登録するように構成されたディスカバリマネージャ７３０、ＤＳＭ２１０への発信ＴＣＰ／ＩＰコンジット接続を開始し制御するように構成されたコンジットマネージャ７２４、第２のローカルネットワーク上の検出および指定された可視デバイスへのＴＣＰ／ＩＰ接続を多重化し、逆多重化するように構成されたトンネルマネージャ７２５を有することができる。
【００４０】
図２ａは、第１のファイアウォールにより保護された第１のドメインおよび第２のファイアウォールにより保護された第２のドメインの外部にデバイスサービスマネージャサーバを配置するシステムの一実施形態を示すブロック図である。
【００４１】
各ＤＳＣ２０２、２１２は、ハードウェア論理およびソフトウェアを使用して、１）ホストコントローラ（第１のファイアウォール２０６の範囲外に配置されるＤＳＭ２１０に対してホストコントローラと第１のドメイン２０４内の関連デバイスとの接続を確立する）、２）デバイスコントローラ（ＤＳＭ２１０から第２のファイアウォール２１４により保護されている第２のドメイン２１６内の個々のリモート対象デバイスへの着信接続を受信および管理する）の両方として機能するように構成される。ドメインはファイアウォールにより分割された任意のネットワークまたはさまざまなサブネットとすることができることに留意されたい。ＤＳＣは、ローカルドメインの範囲外に配置される親ＤＳＭに対する自身と関連デバイスとの両方の接続をプロキシすることができることになる。各ＤＳＣは、保留中のＴＣＰ接続が待機中であるか否かを確認すべくＤＳＭに確認するために定期的にアウトバウンド通信を送信するように構成され得る。
【００４２】
一実施形態では、第１のＤＳＣ２０２および第２のＤＳＣ２１２はそれぞれ、ＤＳＭ２１０に対して自身の認証を行い、ＤＳＭ２１０への発信ＴＣＰ／ＩＰコンジット接続を確立することによりＤＳＭ２１０への直接ネットワーク通信トンネルを提供するためのコンジットマネージャを有する。第１のＤＳＣ２０２および第２のＤＳＣ２１２は共に、定期的にＤＳＭ２１０に対して自身の認証を行ってＤＳＭ２１０への発信ＴＣＰ／ＩＰコンジット接続を確立する。ＤＳＣは、発信ＴＣＰ／ＩＰコンジット接続における将来の双方向通信に対してその接続をオープンに保つ。確立され、認証された双方向通信のＴＣＰ／ＩＰコンジット接続は、直接ネットワーク通信トンネルまたはコンジットトンネルとして知られている場合がある。第１のＤＳＣ２０２は第１の発信ＴＣＰ／ＩＰコンジット接続２７１を生成し、そのＤＳＣに関連付けられた第１の仮想ＩＰアドレスを有する。第２のＤＳＣ２１２は第２の発信ＴＣＰ／ＩＰコンジット接続２７３を作成し、そのＤＳＣに関連付けられた第２の仮想ＩＰアドレスを有する。ＤＳＭ２１０のＩＰリダイレクタは、第１のＤＳＣ２０２への第１の確立されたＴＣＰ／ＩＰコンジット接続にルーティングされたパケットを送信し、第２のＤＳＣ２１２への第２の確立されたＴＣＰ／ＩＰコンジット接続にルーティングされたパケットを送信する。ＤＳＭ２１０のＩＰリダイレクタは、第１のファイアウォール２０６の背後にある第１のドメイン２０４内のネットワークコンポーネントの通信トラフィックを第１のＤＳＣ２０２への第１の確立されたＴＣＰ／ＩＰコンジット接続２７１にルーティングする。また、ＤＳＭ２１０のＩＰリダイレクタは、第２のファイアウォール２１４の背後にある第２のドメイン２１６内のネットワークコンポーネントの通信トラフィックを第２のＤＳＣ２１２への第２の確立されたＴＣＰ／ＩＰコンジット接続２７３にルーティングする。ＴＣＰ／ＩＰは双方向ストリームのプロトコルであるため、ＤＳＭ２１０はルーティングされた通信トラフィックをオープンな通信コンジットトンネルに送信し、各ＤＳＣ２０２、２１２からのトラフィックを受信することができることに留意されたい。
【００４３】
ホストコンソール２０８と第２のネットワーク内の機器のサブセットとは、ＶＤＮの一部を形成する。ＶＤＮでは、ホストコンソール２０８は、第２のＤＳＣ２１２がローカルファイアウォールおよび／または顧客ＮＡＴルータを介してアウトバウンドを横断することにより第２のネットワーク内のサブセットを制御管理して、リモートネットワーク上の機器のサブセットにアクセスする。ホストコンソール２０８は、ＶＤＮを制御するＤＳＭ２１０に対して第１のＤＳＣ２０２を介する単一のアウトバウンド接続を確立する。このことにより、双方向通信が可能になり、そのアウトバウンド接続をオープンに維持する。ＤＳＣを介してＤＳＭ２１０と協働するＶＤＮは、インターネットの任意の２点間の専用ＴＣＰ／ＩＰ接続を生成することができる。
【００４４】
概して、ＤＳＣ２０２、２１２およびＤＳＭ２１０がインストールされ、ＤＳＣがローカルネットワーク内の関連デバイスの全てを発見し登録した後、仮想ＩＰアドレスはＤＳＭ２１０に割り当てられ、仮想デバイスネットワークルートが生成されることができる。
【００４５】
以下のステップ１から８は、仮想ＩＰアドレスを使用してネットワークデバイスに対する自動アクセスを達成するのに使用されることができる。
【００４６】
ステップ１では、ＵＳＢフラッシュドライブなどの携帯型コンピュータ可読媒体を介する安全な構成ファイルを使用して、初期ＤＳＣ構成が第１のＤＳＣ２０２などのＤＳＣの構成ファイルにロードされ、このことで第１のＤＳＸ２０２のデバイス上にユーザインタフェースを有する必要がなくなる。電力が第１のＤＳＣ２０２に印加されると、第１のＤＳＣ２０２のコンジットマネージャが第１の発信ＴＣＰ／ＩＰコンジット接続２７１を確立し、次に、他の全ての必要な構成情報が第１の発信ＴＣＰ／ＩＰコンジット接続２７１を介してＤＳＭ２１０から第１のＤＳＣ２０２へダウンロードされる。
【００４７】
したがって、ＤＳＣ２０２、２１２は、発信トンネル２７１、２７３をオープンにし、ローカルネットワーク上でのそのプレゼンスをＤＳＭ２１０に通信する。各ＤＳＣは、関連デバイスがある場合は、ローカルネットワーク内にありファイアウォールの背後にある関連デバイスを発見する。例えば、図９を参照されたい。第１のネットワーク内にはファイアウォールは存在しないが、第２のネットワーク内にはファイアウォールが存在する。ローカルＤＳＣはそのネットワークからの公開情報の全てを集約し、その公開情報をＤＳＭ２１０に伝える。公開情報は、例えば、ＤＳＣ識別情報（固有ＩＤ、実ＩＰアドレス、名前、機能、サポートされるプロトコル、接続エンドポイント、接続、ホスト情報など）とすることができる。
【００４８】
ステップ２では、ＤＳＭ２１０において、仮想デバイスネットワーク管理者が、どの仮想ＩＰアドレスがローカルネットワーク内で利用可能であるかを見つけるために、手動で新規に通知されたＤＳＣに対して要求通信を送信してもよい。あるいは、ＤＳＣは、ＤＳＭ２１０を有する初期設定で、ローカル仮想ＩＰアドレス情報が更新される度に、まずどの仮想ＩＰアドレスがローカルネットワーク内で利用可能であるかを見つけて、その後、これらのＩＰアドレスをＤＳＭ２１０に報告するように構成されてもよい。各ＤＳＣは、ローカル自動アドレスサーバを使用して、利用可能なＶＩＰアドレスを取得することができる。
【００４９】
ステップ３では、ＤＳＭ２１０において、仮想デバイスネットワーク管理者が手動で仮想ＩＰアドレス（すなわち、ホストコントローラ／ローカルＩＰの組）と宛先デバイスへのルート（すなわち、対応するＤＣ／ＩＰの組）とを指定することができる。ＤＳＭ２１０のレジストリにおいて、ＤＳＭ２１０はＤＳＣの固有の識別子とＤＳＣに関連付けられた仮想ＩＰアドレスとの組を作成する。ＤＳＭ２１０はさらに、ホストＤＳＣコントローラの固有の識別子とホストＤＳＣコントローラの実ＩＰアドレスとの組およびリモートネットワーク上のＤＳＣの固有の識別子と対象デバイスの実ＩＰアドレスとの組を作成する。ＤＳＭ２１０は、これらの組およびその他の組を記憶する。ＤＳＭ２１０は、実ＩＰアドレス、仮想ＩＰアドレス、デバイスへのルート、ＤＳＣおよびそれに関連する可視ネットワークコンポーネントの全ての公開情報、接続エンドポイント、接続ルート、現在の接続、ホスト情報、同様の情報を記憶し、ＤＳＭ２１０のレジストリの一部である（図６、図９参照）ＶＩＰルーティングテーブルを有する。ＶＩＰルーティングテーブルにより、ＤＳＭ２１０はＤＳＭ２１０により割り当てられた仮想ＩＰアドレスをＤＳＣの背後の実ＩＰアドレスにマッピングすることができる。ＤＳＭ２１０は、実アドレスがＮＡＴ（ネットワークアドレス変換）され得るか否かに関係なく、仮想ＩＰアドレスから実ＩＰアドレスへのマッピングを自動化する。組作成では、ＤＳＭ２１０は各ＤＳＣに関連付けられた固有ＩＤを使用することができるが、組作成はＭＡＣアドレスまたはＤＳＣに割り当てられた実ＩＰアドレスを使用することもできることに留意されたい。しかしながら、ＭＡＣアドレスまたはＤＳＣに割り当てられた実ＩＰアドレスは、将来的には変化する可能性があり、より管理が必要である。
【００５０】
仮想ＩＰアドレスの割り当て方法に関するさらなる実施形態と詳細については図９を参照してほしい。
【００５１】
ステップ４では、ＤＳＭ２１０は自動的に仮想ＩＰアドレスを、ホストコンソール、すなわちホストコントローラに関連付けられた第１のＤＳＣ２０２などのローカルデバイスサービスコントローラにコピーする。ローカルデバイスサービスコントローラは、ホストコンソールからの着信接続をリスンするのを開始する。ＤＳＭ２１０は、仮想ＩＰアドレスを第２のＤＳＣ２１２に割り当てるこのプロセスを繰り返すことができる。一実施形態では、仮想インタフェースは、複数の接続がリスンされるように各ＤＳＣ上で実装され得る。仮想インタフェースは各リンクの仮想ＩＰアドレスを設定するので、任意の対象デバイス上の任意ポートへのＴＣＰ／ＩＰ接続に対応することができる。
【００５２】
ステップ５では、通信を始めるために、ホストコンソール２０８が、仮想デバイスネットワーク管理者によって構成されたルートに関連付けられた適切な「仮想ＩＰ」（ＶＩＰ）アドレスに接続する。このＶＩＰ接続は、自動的に第１のＤＳＣ２０２にルーティングされて、正確なデバイスに送られる。このように、多重モードのローカルＤＳＣはトランスペアレントにパケットなどの通信トラフィックをホストコンソール２０８からＤＳＭ２１０にリダイレクトする。したがって、ホストコンソール２０８に関連付けられたローカルデバイスサービスコントローラは、ＶＩＰアドレスのホストコンソールから着信トラフィックパケットを受信する。
【００５３】
概して、第１のＤＳＣ２０２はＤＳＣ−ＶＩＰアドレスの組情報を着信パケットのヘッダに追加し、パケットをＤＳＭ２１０に転送だけする。ＤＳＭ２１０は、対象デバイスに関与するＤＳＣに関連付けられた仮想ＩＰアドレスへの対象デバイスの実ＩＰアドレスのマッピングに基づいて、ルーティング決定を行う。したがって、第１のＤＳＣ２０２のトンネルマネージャプログラムは、１）通信トラフィックが第１のＤＳＣ２０２から発生したものであるということ、例えば、固有ＩＤ、２）ソースデバイスおよび実ＩＰアドレスなどの通信トラフィックを送信する元のポートの両方を含めた第１のローカルネットワーク内の発信デバイスの識別情報を含む情報を通信トラフィック、すなわちパケットのヘッダに追加し、その後、通信トラフィックをインターネット上でルーティングするためにＤＳＭ２１０に転送する。
【００５４】
関連デバイスからの着信接続は、ストリームトラフィック（例えば、ＴＣＰ／ＩＰ）指向ネットワーク接続およびパケットトラフィック（例えば、ＵＤＰ）指向ネットワーク接続の両方を含むことができることに留意されたい。ＴＣＰパケットヘッダ情報は、一般に、データを送信する元のソースポートおよびパケットを受信する対象の宛先ポートの両方を識別する。
【００５５】
したがって、第２のネットワーク内のリモート対象デバイスへの通信トラフィックを開始するホストコンソールは、第１のローカルＬＡＮ上の第１のＤＳＣ２０２に接続し、第１のＤＳＣ２０２内のトンネルマネージャプログラムが第１の発信ＴＣＰ／ＩＰコンジット接続２７１上のトラフィックを多重化し、通信トラフィックをＤＳＭ２１０に転送する。
【００５６】
ステップ６では、ＤＳＭ２１０は第１の発信ＴＣＰ／ＩＰコンジット接続を対応する仮想ＩＰアドレスと第２のＤＳＣ２１２に関連付けられたポートとにマッピングする。ＤＳＭ２１０のＩＰリダイレクタは、第２のネットワークに機器のサブセット内の対象デバイス宛ての意図する対象デバイスのアドレスを決定する。ＤＳＭ２１０のＩＰリダイレクタは、少なくとも実ＩＰアドレス、仮想ＩＰアドレス、機器のサブセットへのルートを記憶するルーティングテーブルを調べることによって第２のネットワーク内の第２のＤＳＣ２１２に関連する情報を決定する。ＤＳＭ２１０は、ＤＳＭ２１０のレジストリ内に、少なくとも各ＤＳＣおよびローカルエリアネットワーク上で、ローカルエリアネットワークのユーザにより可視であるものと指定される、ネットワークデバイスの実ＩＰアドレス、仮想ＩＰアドレス、デバイスへのルートを記憶する仮想ＩＰアドレスルーティングテーブルを有し、ＤＳＭ２１０は、仮想ＩＰアドレスルーティングテーブル内の情報を使用して、ＤＳＭ２１０によって割り当てられた仮想ＩＰアドレスを所与のＤＳＣに関連付けられた実ＩＰアドレスにマッピングしてルートを確立する。ＤＳＭ２１０は、ＶＩＰルーティングテーブルを参照することによって適切なＶＩＰルートを決定し、その後、各パケットを対象デバイスに送るために適切な第２のデバイスコントローラに転送する。ＤＳＭ２１０は、ＶＩＰルーティングテーブルを参照して、終端の対象デバイスの実ＩＰアドレスが所与のＤＳＣの固有ＩＤに関連付けられているかを確認することによって適切なＶＩＰルートを決定する。ＶＩＰルーティングテーブルは、さらに所与の仮想ＩＰアドレスに関連付けられたＤＳＣ固有ＩＤを有し、各パケットを第２のネットワーク内の対象デバイスに送るために適切な第２のデバイスコントローラに転送する。したがって、ＤＳＭ２１０ルータは終端の対象デバイスのアドレスを調べ、どのＤＳＣがその終端の対象デバイスに関与するかを確かめて、その後、トラフィックを終端のデバイスに関与するＤＳＣに割り当てられた仮想ＩＰアドレスに送信する。
【００５７】
概して、ＤＳＭ２１０は、各ＤＳＣに対して、全てのＤＳＣとそれに関連するデバイスの公開情報、ルート情報、利用可能な仮想ＩＰアドレス情報、およびその他の同様の情報を記憶し、相関させ、マッピングする。したがって、ＤＳＭ２１０はポートマッピング、多重モードのＤＣＳとネットワークの反対側のＤＳＣとの間のＴＣＰ中継、および逆多重モードのファイアウォールを実行する。
【００５８】
また、各ＤＳＣは、多重モードで第１のローカルネットワークの全ての関連するネットワークデバイスをドメインネームにマッピングするトンネルマネージャを有する。
【００５９】
ステップ７では、逆多重モードの第２のＤＳＣが、ＤＳＭ２１０を使用して確立された第２の発信ＴＣＰ／ＩＰコンジット接続を介してＤＳＭ２１０からトンネル要求を承認し、トラフィックを関連デバイスに転送する。したがって、第２のＤＳＣは定期的にＤＳＭ２１０を呼び出して、第２のデバイスコントローラをホストするネットワーク内の関連デバイスに対して保留中であるトラフィックがあるか否かを確認する。第２のＤＳＣは、ＤＳＭ２１０との発信通信トンネルで受信されたトラフィックを逆多重化するトンネルマネージャを有し、ヘッダに挿入されたＤＳＣ−ＶＩＰの組情報を読み出し、その後、パケットなどのトラフィックを対象の終端デバイスに送る。第２のＤＳＣ２１２は、第１の仮想ＩＰアドレスで通信トラフィックを受信し、その通信トラフィックを第２のＤＳＣ２１２がその一部として含まれる第２のローカルネットワークに接続された宛先の対象デバイスにルーティングする。
【００６０】
ステップ８では、対象の終端デバイスは、第２のＤＳＣにおけるルーティングを介してパケットを同じパス経由で送信者に返す。第１および第２のＤＳＣ２１２は共に、ＤＳＭ２１０への直接通信トンネルを生成するコンジットマネージャを有する。各ＤＳＣは、定期的にＤＳＭ２１０に対して自身の認証を行い、発信ＴＣＰ／ＩＰコンジット接続を確立し、その後、発信ＴＣＰ／ＩＰコンジット接続における将来の双方向通信に対してその接続をオープンに保つことによって、ＤＳＭ２１０への直接通信トンネルを生成する。ＩＰリダイレクタは、第１のＤＳＣ２０２からの第１の確立されたＴＣＰ／ＩＰコンジット接続からパケットを受信し、その後、ＤＳＭ２１０のレジストリ内に発生するＶＩＰアドレスのマッピングに基づいて、第２のＤＳＣ２１２への第２の確立されたＴＣＰ／ＩＰコンジット接続にパケットをルーティングする。
【００６１】
図９は、仮想ＩＰアドレスの割り当てを自動化するＤＳＭの一実施形態のブロック図である。ＤＳＭ９１０は、ネットワークアクセスマネージャとトンネルマネージャとを含むネットワークアクセスモジュールを有する。これらは、２つ以上のデバイスサービスコントローラ（ＤＳＣ）と協働して、各ＤＳＣ９０２、９１２が常駐するローカルエリアネットワーク上のネットワークデバイスのための通信をプロキシするためにネットワークデバイスに仮想ＩＰアドレスを割り当てて指定するための中央管理ステーションとして機能するように構成されている。ＤＳＭ９１０は、ＶＩＰアドレスに関連付けられた通信がルーティングされているＬＡＮ上のネットワークデバイスから外側に配置される。したがって、ＤＳＭ９１０は、中央ＤＳＭ９１０からのこれらの仮想ＩＰアドレスの構成および割り当てを自動化し、そのためにユーザは仮想アドレスを機能させるのにホスト側では何もする必要がない。ＤＳＭ９１０は、仮想ＩＰアドレスを所与のＤＳＣに割り当てて、ＤＳＭのレジストリ９２２内に記憶された対応するＤＳＣおよびネットワークデバイス情報に基づいて、割り当てられた仮想ＩＰアドレスから宛先のネットワークデバイスへのルートを確立する。ネットワークデバイスは、広域エリアネットワーク上のＤＳＭ９１０の位置に対してローカルネットワーク上のローカルファイアウォール９１４などのファイアウォールの背後に配置され得る。
【００６２】
ＤＳＭ９１０上で、ＶＤＮ管理者は手動で仮想ＩＰアドレスの組（すなわち、ホストコントローラＤＳＣのＩＤと割り当てられたローカル仮想ＩＰアドレス）を指定して、宛先デバイス（すなわち、対応するデバイスコントローラＤＳＣのＩＤと割り当てられたローカル仮想ＩＰアドレスの組）へのルーティングを行うことができる。あるいは、ＤＳＣはどの仮想ＩＰアドレスがそのローカルネットワーク内で利用可能であるかを発見して、それらのＩＰアドレスをＤＳＭ９１０に報告することができる。ＤＳＭ９１０内のネットワークアクセスモジュールは、１）各ＤＳＣの固有識別子（ＩＤ）とＤＳＣに関連付けられたローカルネットアークの仮想ＩＰアドレスとの組を作成する。また、ＤＳＭ９１０内のネットワークアクセスモジュールは、２）ホストＤＳＣコントローラの固有識別子と第１のローカルエリアネットワーク上のＤＳＣに固有識別子に関連付けられたホストコンソールネットワークデバイスの実ＩＰアドレスとの組と、３）宛先ネットワークデバイスの実ＩＰアドレスと第２のローカルエリアネットワーク上の宛先ＤＳＣの固有識別子との組を作成する。次に、ＤＳＭ９１０内のネットワークアクセスモジュールは、ＤＳＭのレジストリ９２２内に、ＤＳＮ９１０のＶＩＰルーティングテーブル内のこれらの組を記憶する。組は、ローカルネットワークの仮想ＩＰアドレスとそのローカルネットワークのＤＳＣの固有識別子との組とすることもでき、また他にローカルネットワーク上のネットワークデバイスとそのローカルネットワークに関連付けられた仮想ＩＰアドレスとの組とすることも可能である。このルーティング情報は、パケットのヘッダ部の既存のパケットルーティング情報のトップに追加される。
【００６３】
ＤＳＭ９１０は、アプリケーションが対象ポートを変更する必要がない、または異なるポートを使用するように再構成される必要もないので、ドメインネームシステム９３８などの自動アドレスマッピングサービスと統合されてもよい。管理者は仮想ＩＰアドレス（ＶＩＰ）を指すドメインネームを設定するだけでよく、ユーザアプリケーションは全く変わらない。
【００６４】
ＶＩＰルーティングテーブル９２２はさらに、ＶＩＰアドレス、ＶＩＰアドレスと固有ＩＤとの組、デバイスへのルート、および同様の情報を記憶することもできる。また、仮想ＩＰアドレスルーティングテーブル９２２は少なくとも、１）各ＤＳＣの実ＩＰアドレスとローカルエリアネットワークのユーザによって可視であると指定されたローカルエリアネットワーク上のネットワークデバイス（ＤＳＣに登録される）、２）ＤＳＣの仮想ＩＰアドレスとＤＳＣに登録されているネットワークデバイス、３）デバイスへの接続ルート、４）ＤＳＣの全ての公開情報とそれらの関連の可視ネットワークコンポーネント、５）接続終端ポイント、現在の接続、ホスト情報、同様の情報、を記憶することができる。仮想ＩＰアドレスルーティングテーブル９２２は、ＤＳＭ９１０のレジストリの一部を形成する。次に、ＤＳＭ−ＤＳＣシステムは、この記憶された情報を使用して、ＤＳＭ９１０によって割り当てられた仮想ＩＰアドレスを各ＤＳＣに関連付けられた、または各ＤＳＣの背後の実ＩＰアドレスにマッピングして、発信元のネットワークデバイスと宛先デバイスとの間のルートを確立することができる。概して、ＤＳＭ９１０は、実アドレスがＮＡＴされているか否かに関係なく、仮想ＩＰアドレスから実ＩＰアドレスへのマッピングを自動化する。ＤＳＣデバイスは自身と任意の関連ネットワークデバイスとの両方をＤＳＭレジストリ９２２に登録し、定期的にその情報を更新するように構成されていることに留意されたい。また、ローカルＤＳＣ９１２は、ＤＳＭ９１０からのトラフィックを受信し、その後、実際に第１のネットワークデバイス９５３などの宛先の対象デバイスの関連する実ＩＰアドレスにトラフィックをルーティングする。
【００６５】
ＤＳＭ９１０内の組作成のためのＤＳＣの固有識別子は、各ＤＳＣにハードコードされた固有ＩＤ、ＤＳＣに割り当てられたＭＡＣアドレス、またはＤＳＣに割り当てられた実ＩＰアドレスとしてもよい。しかしながら、ＤＳＣに割り当てられたＭＡＣアドレスまたは実ＩＰアドレスは、将来的に変化する可能性があり、したがって、固有ＩＤ以上の管理が必要となる。
【００６６】
ＤＳＭ９１０のネットワークアクセスモジュールは、ホストＤＳＣコントローラ９０２にどの仮想ＩＰアドレスがそのローカルネットワーク内で利用可能であるかを見つけ、これらのＶＩＰアドレスをＤＳＭ９１０内のアソシエーションマネージャに報告するように命令するためにスクリプト化されたコードを有する。ＤＳＣ９０２は、ローカル自動アドレスサーバ９４０（例えば、ＤＨＣＰ）を使用して、ＶＩＰアドレスを取得し、その後、ＶＩＰアドレスをＤＳＭ９１０内のアソシエーションマネージャにコピーすることができる。
【００６７】
図１０は、ＤＳＣ内の仮想ＩＰアドレスを取得しＤＳＭへ報告するネットワークマニホールドの一実施形態にフロー図である。
【００６８】
図９、図１０では、ブロック１０４４の動作で、ＤＳＣがまずＤＳＭと通信し、その後、定期的に以下ように行う時に、ＤＳＭは自動的に、例えば、ＤＨＣＰを使用して、ホストＤＳＣコントローラ９０２のネットワークマニホールドにローカルＶＩＰアドレスを取得するように命令する。次に、ＤＳＣ９０２のネットワークマニホールドは、１）接続が発生する都度、または２）ブロック１０４５における効率性のために、ＶＩＰアドレスをピックアップするのにローカル自動アドレスサーバ９４０を使用して、ＤＳＣ９０２よりＤＳＭ９１０に対してこのローカルＬＡＮ内の利用可能なＶＩＰであると予め識別されたＶＩＰアドレスのプールからＶＩＰアドレスをピックアップする。ブロック１０４６では、ＤＳＣのネットワークマニホールドは、ローカル自動アドレスサーバ９４０（例えば、ＤＨＣＰ）を使用して、ＶＩＰアドレスを取得し、その後、ＶＩＰアドレスをＤＳＭ９１０にコピーする。ＤＳＭ９１０は中央ＤＳＭ９１０からのこれらの仮想ＩＰアドレスの構成を自動化し、そのために、ユーザはこれらの仮想ＩＰアドレスを機能させるのにホスト側では何もする必要がない。ネットワークアクセスモジュールは、次に、ＶＩＰルーティングテーブル９２２内のルーティング情報を更新して、実ＩＰアドレスを割り当てられたＶＩＰアドレスと相関させ／マッピングし、ＤＳＭレジストリ９２２内のアソシエーション、場合によっては、ドメインネームをＶＩＰアドレスに関連付けるドメインネームサーバ９３８内のアソシエーションを記憶することができる。
【００６９】
一実施形態では、アソシエーションはＶＩＰルーティングテーブル９２２内に永久的に記憶される。一実施形態では、アソシエーションの組は、接続がアクティブである間、ＶＩＰルーティングテーブル９２２内に一時的に記憶されており、その後、組を必要とする新規のアクティブな接続に置換されるまで記憶された組、例えば、１００個の記憶された組のキューに配置され、使用頻度が最も低い順に上書きされる。
【００７０】
上述したように、ホストＤＳＣ９０２はＤＳＭ９１０に問い合わせを行うことができる、または直接ＤＮＳ９３８に問い合わせを行うことができる。ホストＤＳＣ９０２は、ＤＮＳ９３８に正確な仮想ＩＰアドレスを問い合わせることができる、またはＶＩＰルーティングテーブル９２２に問い合わせることにより正確な仮想ＩＰアドレスを取得することができる。ホストＤＳＣ９０２は、ＤＳＣに割り当てられた新規のＶＩＰアドレスに接続する。クエリを受信する際に、ＤＳＣ９１０内のネットワークアクセスマネージャは、自動アドレスマッピングサービス９３８（すなわち、動的ＤＮＳ）を介して、ドメインネームからリモート対象デバイスへのルートを確立することができる。自動マッピングサーバ９３８は、仮想ＩＰアドレスを指すドメインネームを設定して、トラフィックを発信元のネットワークデバイス（すなわち、ホストコントローラＤＳＣのＩＤと割り当てられたローカル仮想ＩＰアドレスとの組）から宛先デバイス（すなわち、対応するデバイスコントローラＤＳＣのＩＤと割り当てられたローカル仮想ＩＰアドレスとの組）にマッピングする。したがって、ＤＳＭ９１０は、第１のＤＳＣ９０２に割り当てられた仮想ＩＰアドレスとその固有ＩＤの指定された組を第２のＤＳＣ９１２に割り当てられた仮想ＩＰアドレスとドメインネームに関連付けられたその固有ＩＤとの組にマッピングする。ＤＳＭ９１０内のネットワークアクセスマネージャは、ドメインネームサーバと協働して、任意にＤＮＳ９３８内の１つ以上のアドレス記録を更新し、ドメインネームからＩＰアドレスへの転換を自動的に行うことができる。一実施形態では、インターネット上のコンピューティングデバイスを識別するために、ドメインネームは数字のＩＰアドレスにマッピングされる英数字の名前とすることができる。したがって、発信元のネットワークデバイスは、宛先デバイスに向かうトラフィックのドメインネームを入力するだけでもよい。
【００７１】
ＤＮＳ９３８が接続され、ＤＳＭ９１０によって動作され、各々のアクティブな接続のために仮想ＩＰアドレスを作成する。複数のデバイスからの個々のポートを１つのパブリックＩＰアドレスに転送するのではなく、各ＤＳＣ９０２、９１２内のネットワークマニホールドと協働するＤＳＭ９１０内のネットワークアクセスモジュールが各リンクおよび各ＤＳＣ宛ての仮想ＩＰアドレスを設定するので、任意の対象デバイス上の任意のポートへのＴＣＰ／ＩＰ接続を処理することができる。アプリケーションはそれらの対象とするポートを変更する必要もなく、異なるポートを使用するように構成される必要もないので、このソリューションは容易にドメインネームシステムに統合される。仮想ＩＰアドレスを指すドメインネームを設定するだけでよく、ユーザアプリケーションは全く変更されない。
【００７２】
動作上、ＤＮＳサーバ９３８は、ＤＮＳのクエリが発生した時に仮想ＩＰアドレスを割り当てる必要となるだけである。各ＤＳＣ９０２、９１２は、そのＬＡＮ内で利用可能なＶＩＰアドレスのプールを予め割り当てて、その後、ＶＩＰアドレスのこのプールをＤＳＭ９１０に送信する。ＤＳＭ９１０は、必要に応じて、プールから自由にＶＩＰアドレスエントリを割り当てて使用する。ＤＳＣが必要とする情報は単に、プールからＶＩＰアドレスを割り当てるか再要求するかである。
【００７３】
明らかなＤｏＳ攻撃を防ぐために、ＤＳＭ９１０は仮想ＩＰアドレスを割り当てるために２つのプールを維持する。ＶＩＰアドレスの小さいプールは、未知のパブリックＩＰアドレスからの要求に対して使用され、ＶＩＰアドレスの大きいプールは、ＤＳＣに登録されている知られているＩＰアドレスからの要求に対して使用される。接続が確立されると、接続の開始点のパブリックＩＰアドレスは自動ホワイトリストプール内に配置され、その後、長いタイムアウトを有することができる。
【００７４】
ホワイトリスト内のエントリはさらに、接続が終了した後、ホワイトリストプールからエントリを自動的に削除する指数関数的減衰のタイマを有することができる。
【００７５】
図１１は、ローカルネットワーク内で利用可能な仮想ＩＰアドレスの２つ以上のプールを作成するＤＳＭの図である。
【００７６】
図１１では、ブロック１１５０の動作で、ＤＳＭ内のネットワークアクセスモジュールは、ＤＮＳのクエリ時に、仮想ＩＰアドレスがホストＤＳＣに割り当てられているか否かを確認するためにチェックする。
【００７７】
はいの場合、つまり仮想ＩＰアドレスが現在ホストＤＳＣに割り当てられている場合、ネットワークアクセスモジュールは仮想ＩＰアドレスをホストＤＳＣに送信する。
【００７８】
いいえの場合、つまり仮想ＩＰアドレスが現在ホストＤＳＣに割り当てられていない場合、ブロック１１５４で、ネットワークアクセスモジュールは、クエリがパブリックＩＰアドレスからのものであるか、またはクエリがＤＮＳクエリのホワイトリストからのものであるかをチェックする。
【００７９】
はいである場合、つまりクエリが登録されているパブリックＩＰアドレスまたはホワイトリストからのものである場合、ネットワークアクセスモジュールは、ホストＤＳＣの利用可能ＩＰアドレスの大きいプールから仮想ＩＰアドレスを割り当てる。
【００８０】
いいえである場合、つまりクエリが知られているパブリックＩＰアドレスまたはホワイトリストからのものでない場合、ネットワークアクセスモジュールは、ホストＤＳＣの利用可能ＩＰアドレスの小さいプールから仮想ＩＰアドレスを割り当てる。
【００８１】
ここで、仮想ＩＰアドレスがホストＤＳＣに割り当てられる。
【００８２】
ブロック１１５６で、ＤＳＭのネットワークアクセスモジュールは、クエリに応答して仮想ＩＰアドレスを送信する。
【００８３】
図９では、ＤＳＭ９１０内のネットワークアクセスモジュールは、ＤＳＣからのトンネル要求時に、要求のパブリックＩＰアドレスをホワイトリストに追加し、その後、そのパブリックＩＰアドレスをトンネルディスパッチャに送信する。
【００８４】
介在するファイアウォールまたはＮＡＴデバイス側にネットワーク管理者の介入は必要なく、またホストデバイスにこのモードを使用するための構成変更の必要もないが、ネットワーク管理者は所望のＤＮＳドメイン（すなわち、ローカルネットワーク）のサブドメインを作成し、その後、そのサブドメインをＤＳＭ９１０に委譲するか、またはＤＳＭ９１０が動的ＤＮＳを更新できるようにする必要があることに留意されたい。
【００８５】
図７では、上述したように、各ＤＳＣ７０２は、ＤＨＣＰ経由のＩＰアドレスの１つ以上のプール、ポートマネージメント、ＤＨＣＰサーバを管理維持するように構成されたネットワークマニホールド７２６を有する。ＤＳＣ７０２内のネットワークアクセスモジュール７２６は、ＤＨＣＰサーバと、仮想ＩＰアドレスのコレクションを維持するための仮想ＩＰプールマネージャと、ポートのプールを維持するためのポートプールマネージャとからなる。
【００８６】
ＤＳＣ７０２内のネットワークマニホールド７２６は、ＩＰアドレスをドメインネームにマッピングする時に、ＤＳＭ９１０によって使用するための仮想ＩＰアドレスのプールを維持するのに関与する。
【００８７】
ＤＳＣ７０２内のネットワークアクセスモジュール７２６は、その動作のために複数の値を維持する：
ｐｏｏｌ．ｍａｘは、ＤＳＣ７０２が一度に保存するＩＰアドレスの最大数を示す（自身を除いて）、
ｐｏｏｌ．ｌｏｗｍａｒｋは、（ｐｏｏｌ．ｍａｘに達しない限り）常に保存しているＩＰアドレス数を示し、
ｐｏｏｌ．ｉｎｕｓｅは、現在使用中のＩＰアドレス数を示す。
【００８８】
ＤＳＣ７０２内のネットワークアクセスモジュール７２６は、ＤＳＭ内のネットワークアクセスモジュールと通信して、プールインユースの合計を得る。さらに、ＤＳＣ７０２内のネットワークアクセスモジュール７２６は、終了のために使用中の各ＩＰアドレスの使用量をＤＳＭに問い合わせることができなければならない。
【００８９】
ＤＳＣ７０２は、宛先に関する追加の情報は必要としない。実際に、ＤＳＣ７０２は、トンネルの最終の宛先に関する情報を持たない。
【００９０】
ＤＳＣ７０２内のトンネルマネージャ７２５は、ネットワークマニホールド７２６および多重（ＭＵＸ）およびＤＥＭＵＸモードの両方の他の内部プロセスと通信して、トンネルトラフィックを案内する。ＭＵＸモードにより、ＤＳＣの関連ネットワークデバイスは他のドメイン内の別のＤＳＣの関連ネットワークデバイスと通信できる。ＤＥＭＵＸモードは、トンネリングされたトラフィックをＤＳＭからローカルドメイン内の関連ネットワークデバイスにリダイレクトする。ＭＵＸモードは、２つの関連プログラムを有することができる。ポートＭＵＸは、ローカルポートのＴＣＰ／ＵＤＰのいずれかをＤＳＭ９１０へトンネリングする。仮想ＩＰＭＵＸは、仮想ＩＰアドレスへのトラフィックをＤＳＭ９１０へトンネリングする。
【００９１】
トンネルＭＵＸマネージャ７２５は、ローカルＬＡＮからＤＳＣ上での接続（ＴＣＰ／ＵＤＰ）を承認する。Ｎｅｔｆｉｌｔｅｒ／ＩＰテーブルを使用することによって、ＤＳＣ上の全ての仮想インタフェースが１つのトンネルＭＵＸマネージャデーモンにリダイレクトされることができる。
【００９２】
次に、ＭＵＸマネージャは、Ｎｅｔｆｉｌｔｅｒインタフェースに目的の宛先の問い合わせを行って仮想ＩＰアドレスを決定することができる。ＤＳＭトンネルマネージャへの接続時に、ＭＵＸマネージャは仮想宛先ＩＰ、仮想宛先ポート番号、ローカルＤＳＣのＤＮＡのＩＤを送信することができる。
【００９３】
この情報に基づいて、ＤＳＭはパケットが実際に進む意図があるかを決定し、その後、接続をプロキシすることができる。
【００９４】
ＭＵＸＴＣＰトンネルハンドラは、いくつかの初期ヘッダ情報をＤＳＭに送信する。その後、ｔｃｐ＿ｒｅｌａｙ３と同じ機能を実行する。
【００９５】
トンネルＤＥＭＵＸマネージャのタスクは非常に単純である。接続を受信し、認証を行う時に、トンネルＤＥＭＵＸマネージャは初期ヘッダを読み出して、パケットタイプと宛先とを決定する。トンネルＤＥＭＵＸマネージャは、次に、実際の中継タスクを実行するために、ｔｃｐ＿ｒｅｌａｙエージェントかｕｄｐ＿ｒｅｌａｙエージェントのいずれかを生成する。
【００９６】
このようにして、ＤＳＭ９１０は、統合されたファイアウォールと顧客ＮＡＴルータとの背後で動作する各ＤＳＣの複数の関連デバイスのためのプロキシアクセスポイントとして機能する。
【００９７】
一実施形態では、ＤＳＭは、ＤＨＣＰアドレス構成または第１のＤＳＣに利用可能な仮想ＩＰアドレスのスタティックプールからのいずれかによって、仮想ＩＰアドレスをローカルＤＳＣに割り当てる。ローカルＤＳＣが指定されたＤＮＳ名に終端の対象デバイスを問い合わせることにより第１のＴＣＰ／ＩＰコンジット接続を開始すると、返される仮想ＩＰアドレスはホストＤＳＣに利用可能なローカル仮想ＩＰアドレスのプールからＤＳＭによって提供されることになる。ホストデバイスがＡＲＰアドレスの転換を試みると、ＤＳＣは応答して、この接続のトラフィックをＤＳＭに転送を始め、その後、ＤＳＭがＤＳＣポート転送モードでこのトラフィックを適切なデバイスに転送する。
【００９８】
トンネルマネージャ７２５は、ＤＳＣ２０２が、介在ファイアウォールによって保護されている別のローカルネットワーク内の終端の対象デバイスへのＴＣＰまたはＵＤＰ接続を、終端の対象デバイスの実ＩＰアドレスがわからない状態で開始することができるように構成されている。
【００９９】
図６では、ＤＳＭ６１０のグラフィックユーザインタフェース６５１も、ＤＳＭの管理者が個々のデバイスのアソシエーションを指定するように構成されている。このアソシエーションは、既存のデバイス構成と特定の発見されたＤＳＣデバイスとの組として定義される。デバイスがＤＳＭのレジストリ６２０内で関連付けられると、ＤＳＭ６１０は適切な構成変更を加えることができ、ＤＳＭ６１０のＩＰリダイレクタモジュール６１８内で維持されているアクセスルールのプリセットセットによりネットワーク機器のＤＳＣへのプロキシ接続の転送を開始する。
【０１００】
検出されたＤＳＣが発見され登録されると、グラフィックユーザインタフェース６５１のデバイス監視サービスビュー内に適切なアイコンが現れ得る。その後、ユーザは各々の登録されたデバイスを以前作成構成された記録と関連付けることができる。これが行われれば、さらなるデバイス設定（検索記録のディスカバリを含む）がＤＳＣデバイスに自動的にダウンロードされることができる。次に、これらの設定に基づいて、ＤＳＣは追加のネットワークデバイスを発見してトラフィックを通過させるのを開始する。
【０１０１】
ＤＳＭ６１０内のユーザデータ複製マネージャ６４５は、データがＤＳＣからＤＳＭに複製される機構を提供する。ＤＳＭ６１０内のユーザデータ複製マネージャ６４５は、ＤＳＣの構成記録を含むデバイス構成ファイルのローカルコピーを生成する。ＤＳＣはＳＳＨで実装された安全な通信チャネルを使用してデバイス構成ファイルのローカルコピーを中央レジストリ６２０からフェッチし、その後、ＤＳＣはデバイス構成ファイルのそのローカルに記憶されたコピーを更新する。したがって、シャドウ構成レジストリがリモート管理されたＤＳＣデバイス上で維持される。次に、ＤＳＣは更新が完了したことをＤＳＭ６１０に信号で伝え、ＤＳＭ６１０がＤＳＭ６１０の中央レジストリ６２０内のリモート構成のＤＳＣの状態を更新する。
【０１０２】
図２ｂは、ＤＳＭに対して自身の認証を行い、ＤＳＭへの発信ＴＣＰ／ＩＰコンジット接続を確立し、その後、確立されたＴＣＰ／ＩＰコンジット接続上で将来の双方向通信に対して接続をオープンに保つことにより、ＤＡＭへの直接通信トンネルを提供するように構成されたコンジットマネージャを各々が有するＤＳＣを有するシステムの一実施形態を示すブロック図である。ホストコンソール２０８ｂは、ローカルＤＳＣ経由のリモートＤＳＣ２１２ｂとＤＳＭ２１０ｂとに接続する。ローカルＤＳＣとリモートＤＳＣ２１２ｂは共に、双方向通信のために、自身とＤＳＭ２１０ｂとの間の直接通信トンネルをオープンに保つことができる。直接ＴＣＰ通信トンネルは、ＤＳＭ２１０ｂに対してオープンに保たれる双方向ＴＣＰ／ＩＰコンジット接続／ＴＣＰセッションである。その後、着信接続のトラフィックはこのセッションを介して中継される。リモートＤＳＣ２１２ｂ内のコンジットマネージャは、証明書ベースのＳＳＨ（セキュアシェル）暗号化プロトコルを使用して、直接ＴＣＰ通信トンネル経由で、ホストコンソール２０８ｂと動作コントローラなどの宛先の対象デバイスとの間の安全なエンドツーエンド通信を確実なものとすることができる。トラフィックが通信された後、ＴＣＰセッションは閉鎖され得る。このように、直接ＴＣＰ通信トンネルはＳＳＨを介して実装され得る。
【０１０３】
一実施形態では、直接ＴＣＰ通信トンネルは、単純なＴＣＰポートフォワーダとすることもできる。プログラムは、ローカルＴＣＰポートをリスンするだけで、受信された全てのデータがリモートホストに送信された状態になる。直接ＴＣＰ通信トンネルにより、ユーザは、リモートデバイスがサーバへのインバウンドＴＣＰ／ＩＰ接続をできないようにするファイアウォールをバイパスすることができる。
【０１０４】
また、リモートＤＳＣは、トラフィックのヘッダを復号し、そのトラフィックを対象ネットワークコンポーネントに転送することによって、その関連するローカルネットワーク上でトラフィックを直接通信トンネルからネットワークコンポーネントに逆多重化している。ＴＣＰパケットヘッダ情報は、一般に、データ送信元のソースポートとパケットを受信する対象宛先ポートとの両方を識別する。
【０１０５】
図５は、分散システムの自動化集中型管理の一実施形態のブロック図である。
【０１０６】
システムの中核は、ＤＳＭ５１０である。デバイスサービスマネージャは、ＤＳＣ５０２、５１２、５１３、５１５の一群を管理する。ＤＳＭ５１０は、広域エリアネットワーク上のＤＳＭ５１０の位置に対して広域エリアネットワーク上のファイアウォール５０６、５１４、５１７、５１９などのファイアウォールの背後にあるＤＳＣ５０２、５１２、５１３、５１５のうち２つ以上と協働するように構成されているＩＰリダイレクタモジュール５１８を有することができる。ＤＳＭ５１０は、ＤＳＣ５０２、５１２、５１３、５１５に構成情報を自動配布するための中央管理ステーションとして機能する。ＤＳＣ内のドライブポートを介してアップロードされた実行可能な起動ファイルは、ＤＳＣおよびそのＤＳＣと同じネットワーク上のネットワークデバイスのための構成情報を集めるためにスクリプト化され、ＤＳＭ５１０によるプロンプトなしで、初期構成ファイルをＤＳＭ５１０に送信する。ＤＳＭ５１０は、ＤＳＣのためにＤＳＭのレジストリ内にデバイス構成ファイルのマスターコピーを作成する。
【０１０７】
各ＤＳＣ５０２、５１２、５１３、５１５とＤＳＭ５１０とは協働して、異なるドメイン内の関連デバイス間のエンドツーエンドアクセスを提供する。ＤＳＭ５１０は、関与しているＤＳＣ５０２、５１２、５１３、５１５のためにプロキシ接続ポイントとして機能する。ＤＳＭ１１０は、ユーザホストと宛先デバイスとの間の接続を中継する専用の機器である。
【０１０８】
各ＤＳＣ５０２、５１２、５１３、５１５は、関与しているＬＡＮ上の低コストのプレゼンスポイントとして機能する。各５０２、５１２、５１３、５１５は、同時にホストコントローラ（ホストシステムから接続を発信する）とデバイスコントローラ（個々のリモートデバイスへの着信接続を受信および管理する）との両方の機能を果たすことができる。各５０２、５１２、５１３、５１５は、ローカルＬＡＮの範囲外に位置する親ＤＳＭ５１０に対する自身とその関連ネットワークデバイスとの両方の接続をプロキシするように構成されている。
【０１０９】
リモートネットワークに対して、新規にインストールされたＤＳＣは新規にインストールされたコンピュータのように機能する。リモートネットワーク上のデバイスにアクセスするためには、ＤＳＣはＶＤＮを制御するＤＳＭへの１つのアウトバウンド接続を確立しなければならないだけである。アウトバウンド接続は、ホストコントローラの機能を果たすＤＳＣとＤＳＭとの間のコンジット通信リンクである。この接続が確立されると、システム構成、コマンド、ネットワークトラフィックが全て暗号化されたチャネルを通過することができる。ＤＳＣがＤＳＭに対する認証に成功すると、ＤＳＣは即座に予め認証されている機器の個々の構成要素への安全なアクセスを提供する。
【０１１０】
図８は、ＤＳＣ８１０内のドライブポート８３４を介してアップロードされた実行可能な起動ファイルを介して、第１のＤＳＣ８０２などのＤＳＣに構成情報を配布するＤＳＭの一実施形態を示すブロック図である。ＤＳＭ８１０の管理者は、起動ファイルを作成し、この実行可能な起動ファイルのコピーをサムドライブに組み込む。実行可能な起動ファイルを搭載したサムドライブは、ＤＳＣデバイス８０２が一緒になって標準装備となっている。ＤＳＣ８０２内の実行可能起動ファイルはコードでスクリプト化されて、少なくとも、１）個々のＤＳＣデバイスの固有ＩＤを決定する、２）ＤＳＣの現在のＩＰアドレスを決定する、３）広域エリアネットワーク上のＤＳＭのＩＰアドレスを提供する、４）ＤＳＭ８１０との通信を開始するためにコードをアクティブにする。
【０１１１】
ＤＳＣデバイス８０２は、ドライブポート８３４を介してサムドライブから起動ファイルをアップロードし、起動ファイルのコンテンツを使用して、ＳＳＨを介したＤＳＣ８０２とＤＳＭ８１０との間の安全な通信チャネルを自動的に生成し、ＤＳＭ８１０にＷＡＮ上のそのＩＰアドレスで接続する。ＤＳＣ８０２は、次に、固有ＩＤ、デバイスＭＡＣアドレス、および／または、可能であれば関連ＤＮＳエントリを使用してＤＳＭ８１０に対して自身の認証を行う。ＤＳＭ８１０は、次に、ＤＳＭ８１０内で維持されている参照テーブル内の認証情報を調べる。
【０１１２】
図７では、上述したように、ＤＳＣ７０２内のデバイス構成エンジン７４３が、ＤＳＭによるプロンプトなしで、安全な通信チャネルを介して、例えば、安全なプロトコル、暗号化電子メール、または同様の方法を介して、少なくとも個々のＤＳＣデバイスの固有ＩＤとＤＳＣの現在のＩＰアドレス情報とを有する初期構成ファイルをＤＳＭ（個々のデバイスがデバイスＩＤ、デバイスＭＡＣアドレス、および／または、可能であれば関連ＤＮＳエントリによって識別されている）に送信する。
【０１１３】
図６では、ＤＳＭのＩＰリダイレクタモジュール６１８がこの構成情報を受信する。ＤＳＭ６１０は、この構成情報およびさらなる情報を有するデバイス構成／複製ファイルを作成し、ＤＳＭのレジストリ６２０内にデバイス構成ファイルのマスターコピーを作成するためのユーザデータ複製マネージャモジュール６４５を有する。ユーザデータ複製マネージャモジュール６４５は、次に、ＤＳＣがＤＳＭ６１０に登録されるのに応答して、または所与のＤＳＣがシステムリセットを実行するのに応答して、この構成情報を適切なＤＳＣに配布する。また、ＤＳＭ６１０は、起動コールに応答して、ファームウェア、ソフトウェアパッチなどの更新を送信することができることに留意されたい。
【０１１４】
図７では、ＤＳＣ７０２は、既存のネットワーク内で展開されるスタンドアロン型デバイスとすることができる。展開は、単にＤＳＣの電力接続部および電源供給回路への電源に物理的にプラグインすること、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワーク接続にプラグインすること、提供されたサムドライブをドライブポート７３４に挿入すること（すなわち、ＵＳＢフラッシュドライブをＵＳＢポートに挿入すること）からなる。それだけである。このように、ＤＳＣ７０２はスタンドアロン型デバイスであり、既存のネットワーク内の別のホストデバイス上にクライアントソフトウェアがインストールされる必要もなく、またエンドユーザからネットワーク構成設定が要求されることなく、既存のネットワークに接続してＤＳＣを既存のネットワーク上に完全にインストールすることができる。したがって、多くの企業のＩＴ部門が未承認のサードパーティアプリケーションがシステム上にインストールされるのを許可しないのを避けることができる。この時、ＤＳＣ７０２は既存のネットワーク上に常駐し、ＬＡＮへの通信を仲介する。ネットワーキング知識は必要ではなく、このリモートデバイスへのアクセスが自動的に構成される。ＤＳＣを既存のネットワーク上に完全にインストールするのに、エンドユーザの構成またはソフトウェアのインストールが必要でない。
【０１１５】
各ＤＳＣ７０２内に常駐する自動ディスカバリプレゼンスマネージャプログラム７３０は、既存のＬＡＮ上のネットワーク機器を発見し、ローカルネットワーク上のプレゼンスの瞬間ポイントを確立する。ディスカバリプレゼンスマネージャプログラム７３０は、ポーリング技術を使用してネットワーク上の関連デバイスを発見する。ディスカバリプレゼンスマネージャプログラム７３０は、ネットワークのユーザに、ファイアウォールによって保護されているネットワーク機器の発見された構成要素が少なくともＤＳＭによるリモートアクセスに対して可視であるか否かを尋ねるためにグラフィカルユーザインタフェース（ＧＵＩ）７４９を有する。次に、ＤＳＣデバイス７０２は、安全なチャネルを介して、指定された可視ネットワークデバイス情報を有する初期構成ファイルを収集し、中央管理ＤＳＭに送信し、ＤＳＭはローカルＤＳＣおよび任意の関連ネットワークデバイスの両方をＤＳＭがホストする識別レジストリに自動的に登録する。この情報は、その後、動的ＤＮＳ、ＬＤＡＰ、ＤＨＣＰおよび関連ウェブベースディレクトリサービスアプリケーションインタフェースを介して利用可能になる。一実施形態では、自動ディスカバリサービス７３０は、ＤＳＭがマスター構成ファイルのコピーおよび任意のファームウェアやソフトウェアの更新を返信するまで、既存ＬＡＮ上のネットワーク機器を発見するために待機する。
【０１１６】
グラフィックユーザインタフェース７４９は、ＤＳＭ管理者が各関連ＤＳＣに対して自動化デバイスディスカバリを構成するように構成されている。ＳＮＭＰｖ１、ＳＮＭＰｖ２、または別のプロトコルのいずれかを検索機構として指定する複数の個々の走査記録が作成される場合がある。自動化デバイスディスカバリがアクティベートされると、走査記録が適切なＤＳＣへコピーされ、それらを使用して付属するネットワークデバイスに対してローカルＬＡＮの定期的走査を開始する。
【０１１７】
デバイスが発見されると、ＤＳＣはディスカバリ記録を作成する。このディスカバリ記録は、最低限、発見されたデバイスのＩＰアドレス、発見されたネットワークデバイスを配置するのに使用されるディスカバリプロトコル、発見するＤＳＣの識別子を含む。得られるディスカバリ記録は、ＤＳＭのアソシエーションコンポーネント、構成コンポーネント、監視サービスコンポーネントにより使用するために、ＤＳＭに戻って複製される。そのような各ディスカバリ記録は固有ＩＤが割り当てられ、その固有ＩＤにより管理者は個々の構成や発見されたデバイスを曖昧に指すことを避けることができる。ＤＳＭは、次に、ＤＳＭのレジストリ７２８内に記憶するために、ＤＳＣのローカルコピーを返信する。
【０１１８】
このように、２つ以上のＤＳＣの各ＤＳＣ７０２はローカル登録オーソリティとしての機能を果たし、既存のローカルＬＡＮ上の関連ネットワークデバイスからの登録要求を承認し、ローカルＬＡＮ上の関連デバイスに対してポーリングを行う。ＤＳＣ７０２は、関連ネットワークデバイスのレジストリ７２８を維持し、自動的にＤＳＣ７０２自身と関連デバイスとの両方を親ＤＳＭレジストリに登録することができる。各ＤＳＣ７０２はこのデータを親ＤＳＭに提供する。各ＤＳＣ７０２は、ポーリング技術を使用して発見された関連デバイスを登録することによってデバイスディスカバリおよびディレクトリサービスに関与する。
【０１１９】
図６では、ＤＳＭ６１０は、広域エリアネットワークを介するＤＳＣの分散システムの集中管理とこれらのＤＳＣ間のプロキシ通信を行う。管理者は、ＤＳＭ６１０のＧＵＩ６５１を使用して、特定の発見されたデバイスと既存のデバイス構成とのアソシエーションの組を作成することを含む追加情報、永続的状態情報などを有する初期構成ファイルから中央レジストリ６２０内に完全なデバイス構成記録を作成する。中央構成レジストリ６２０は構成情報を記憶し、ユーザデータ複製マネージャはＤＳＭ６１０内に記憶されたデバイス構成ファイルのマスターコピーを作成する。
【０１２０】
図３は、ファイアウォールによって保護されているネットワーク内のネットワークデバイスに対してアクセスするために、中央ＤＳＭとローカルＤＳＣとを有するシステムの一実施形態のブロック図である。仮想デバイスネットワークは、ＤＳＭ３１０とＤＳＣ３０２、３１２と各ＤＳＣに関連付けられたネットワークデバイスとによって形成される。図３内のＶＤＮは、ここで説明する以外は、図１、図２ａ、図２ｂの上述の説明と同様に動作する。ＩＰリダイレクタは、ＤＳＣおよびＤＳＭの両方に常駐する部分を有し得る。
【０１２１】
図７では、ＩＰリダイレクタは、アクセスサブシステムとデバイス管理サブシステムとレジストリとを含むことができる。ＤＳＣ内のコンジットマネージャ７２４は、ローカルＤＳＣプロセスに、ＤＳＭへのＳＳＨセッションが完全に確立されたことを通知する。コンジットのＳＳＨシェルセッションは、ＤＳＭ内のＩＰリダイレクタのプログラムの一部に付加される。ＩＰリダイレクタプログラムは、次に、定期的ビーコンパケットを送信する。ＤＳＣはこのパケットを使用することができ確実に直接通信トンネルが確立されアクティブになる。一部の小さなプロトコル機能が存在して、ＤＳＣ／ＤＳＭ１１０は帯域幅／レイテンシの推定を実行することができる。ＳＳＨのＴＣＰポート転送機能が使用されて、全ての他の制御およびＤＳＭとＤＳＣとの間のトンネルデータを渡すことができる。また、コンジットマネージャ７２４は、ＤＳＭからリスンすることができる「リモート」ポートのネゴシエーションを行うこともできる。
【０１２２】
図４は、ＤＳＣ内のコンジットマネージャの一実施形態の状態図である。コンジットマネージャは、直接ＴＣＰ通信トンネルを開始および停止し、この直接ＴＣＰ通信トンネルがいつ待機状態であるかまたは突然中断されるかなどを判断するコードを含む。ブロック４０２では、保留中のＴＣＰ接続の要求が到着すると、コンジットマネージャがＤＳＭとの任意のＳＳＨトンネルがすでに確立されているかをチェックする。まだ確立されていない場合、ブロック４０４で、コンジットマネージャが完全な、または部分的なＳＳＨセッションを確立する。ブロック４０６で、コンジットマネージャは、それぞれの同一性を確認することによって、ＤＳＭとＤＳＣとの認証のネゴシエーションを行う。
【０１２３】
ＳＳＨセッションが完全に確立され、発信点に関与するＤＳＣの同一性がＤＳＭと共に認証されると、ブロック４０８で、トラフィックは直接通信トンネル内の両方向への通過が許可される。
【０１２４】
トンネルがすでに確立されている場合、ブロック４１０で、ＤＳＣはソケットをリダイレクトし、トンネルタイマをリフレッシュする。
【０１２５】
図６では、ＤＳＭ６１０は、ソフトウェア内で実装される複数のルーチン、ロジック、またはその両方の組み合わせからなるＩＰリダイレクタプログラムを有する。ＤＳＣは、ＩＰリダイレクタプログラムの一部を含むこともできる。ＩＰリダイレクタプログラムは、ＤＳＣのコンジットマネージャなどのＤＳＣ内の一部を含むことができ、基本の安全なネットワーク通信を提供し、ＤＳＣとＤＳＭとの間のコンジットトンネルとＤＳＣ内のトンネルマネージャとを管理するためにスクリプト化されたコードを有する。
【０１２６】
ＤＳＭ６１０内のＩＰリダイレクタのトンネルマネージャ６２４部は、ＤＳＭとＤＥＭＵＸモードで動作するＤＳＣとの間、およびＤＳＭとＭＵＸモードで動作するＤＳＣとの間の安全な多重ＴＣＰセッションを提供するためにスクリプト化されたコードを有する。
【０１２７】
上述のプロセスは、所与のプログラミング言語で書かれたソフトウェアコード、ハードウェア論理コンポーネント、他の電気回路、または両方の組み合わせで実装され得る。
【０１２８】
したがって、一実施形態では、上述のアルゴリズムを容易にするのに使用されるソフトウェアは、マシン可読媒体上で具現化されることができる。マシン可読媒体は、マシン（例えば、コンピュータ）に可読の形態で情報を提供（例えば、記憶および／または伝送）する任意の機構を含む。例えば、マシン可読媒体は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、デジタルビデオディスク（ＤＶＤ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気カードもしくは光カード、または電子命令を記憶するのに適した任意のタイプの媒体を含む。
【０１２９】
詳細な上述の内容の一部は、コンピュータメモリ内のデータビットの動作のアルゴリズムおよび象徴的表現で示されている。これらのアルゴリズムおよび表現は、データ処理技術の分野の当業者が最も効率的に仕事の内容を他の当業者に伝達するのに使用する手段である。アルゴリズムとは、ここでは、一般に、望ましい結果につながるステップの首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理操作を必要とするステップである。通常、必ずしもではないが、これらの量は、記憶、転送、結合、比較、その他の操作が可能な電気または磁気信号の形態をとる。これらの信号を、ビット、値、要素、記号、文字、用語、数字などとして参照することは、主に、一般的な使い方であるとの理由から、時には便利であることが証明されている。これらのアルゴリズムは、多数のさまざまなソフトウェアプログラミング言語で書かれ得る。また、アルゴリズムは、ソフトウェア内のコード行、ソフトウェア内の構成された論理ゲート、またはその組み合わせを使用して実装され得る。
【０１３０】
しかしながら、これらの用語および同様の用語は全て、適切な物理量に関連付けられるべきであり、これらの量に適用された単に便利なラベルにすぎないことに留意すべきである。上述した内容から明らかであるように、特に言及しない限り、明細書全体にわたって、「処理」、「コンピューティング」、「計算」、「判断」、「表示」などの用語を使用した説明は、コンピュータシステムのレジスタまたはメモリ内の物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他の情報記憶デバイス、伝送デバイスもしくは表示デバイス内の物理量として同様に表される他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを指すものであると考えられる。
【０１３１】
一実施形態では、ロジックは、Ｂｏｏｌｅａｎ  Ｌｏｇｉｃの規則に従う電子回路、命令のパターンを含むソフトウェア、またはその両方の組み合わせからなる。
【０１３２】
本発明のいくつかの特定の実施形態が示されているが、本発明はこれらの実施形態に限定されるものではない。例えば、電子ハードウェアコンポーネントによって実行されるほとんどの機能はソフトウェアエミュレーションによって再現される場合がある。したがって、これらの同じ機能を達成するために書かれたソフトウェアプログラムは、入出力回路内のハードウェアコンポーネントの機能性をエミュレートすることができる。本発明は、本明細書内で説明されている特定の実施形態に限定されないが、添付の請求項の範囲によってのみ限定されると理解されるべきである。
【図１】
2011501624.tif 000003
【図２ａ】
2011501624.tif 000004
【図２ｂ】
2011501624.tif 000005
【図３】
2011501624.tif 000006
【図４】
2011501624.tif 000007
【図５】
2011501624.tif 000008
【図６】
2011501624.tif 000009
【図７】
2011501624.tif 000010
【図８】
2011501624.tif 000011
【図９】
2011501624.tif 000012
【図１０】
2011501624.tif 000013
【図１１】
2011501624.tif 000014
【国際調査報告】
2011501624.tif 000015