(57)【要約】  本発明は、第１のネットワークから第２のネットワークへのセッションの起動を可能にする方法、インタフェース装置、及び、計算機装置のシステムに関し、上記方法を行うコンピュータ・プログラムに関する。第２のネットワーク内の第２の装置に関する名前及びサービスのクエリが、第１のネットワークを介して通信する第１の計算機装置からインタフェース内で受信される（６８）。クエリは、第１のアドレス指定領域内の第２のネットワークの第１のアドレスを有する。第２のアドレス指定領域内の第２の装置の第２のアドレス及びサービス・ポート番号がルックアップされ（７０）、第１のアドレス及びセッション・ポート番号が第２のアドレス及びサービス・ポート番号にバインドされ（７６）、クエリには、第１のアドレス及びセッション・ポート番号を備えるメッセージによって回答される（７８）。
2007526689.tif 000002
【特許請求の範囲】
【請求項１】
第１のアドレス指定領域を有する第１のネットワークを介して通信する第１の計算機装置から第２のアドレス指定領域を有する第２のネットワーク上の第２の計算機装置へのセッションの起動を可能にする方法であって、
前記第２の装置に関連した少なくとも装置名及びサービス名を有する、前記第２の装置に関する少なくとも１つのクエリを受信する工程であって、前記クエリが、前記第２のネットワークに関連した前記第１のアドレス指定領域の第１のデスティネーション・アドレスを有する工程と、
前記装置名及びサービス名に基づいて前記第２のアドレス指定領域内の前記第２の装置のサービスに関連した第２のアドレス及びサービス・ポート番号をルックアップする工程と、
前記第２のアドレス指定領域内の前記第２の装置の前記第２のアドレス及び前記サービス・ポート番号に前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号をバインドする工程と、
前記２つのネットワーク間で転送する際にセッションのパケットのヘッダにおいて前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号及び前記第２のアドレス指定領域の前記第２のアドレス及び前記サービス・ポート番号がお互いに交換される、前記第１の装置から前記第２の装置へのセッションを起動させることが可能なように前記第１のアドレス指定領域の前記第１のアドレス及び前記セッション・ポート番号を備える前記第２のネットワークを離れる少なくとも１つのメッセージによって、前記第１の装置の前記クエリに回答する工程とを備えることを特徴とする方法。
【請求項２】
請求項１記載の方法であって、前記受信する工程は、２つのクエリ、すなわち前記装置名を有する１つ及び前記サービス名を有する１つを受信する工程を備え、前記クエリに回答する工程は、２つのメッセージ、すなわち前記第１のアドレスを有する一方及び前記セッション・ポート番号を有する他方によって回答する工程を備えることを特徴とする方法。
【請求項３】
請求項１記載の方法であって、前記クエリに回答する工程は、前記クエリに対する応答として前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号を有する前記メッセージを生成する工程と、前記応答メッセージ内の前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号を、前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号によって置き換える工程と、置き換えられた情報を備える前記メッセージを前記第２のアドレス指定領域からの前記第１の装置に送る工程とを備えることを特徴とする方法。
【請求項４】
請求項１記載の方法であって、前記クエリは、特定されたサービス解決ポート番号を更に備えることを特徴とする方法。
【請求項５】
請求項４記載の方法であって、前記第１のアドレス及び前記サービス解決ポート番号を、前記第２のアドレス指定領域の名前及びサービスを解決するサーバに関連した前記第２のアドレス指定領域の、第３のアドレス及びサービスを解決するポート番号に変換し、変換されたアドレス及びポート番号を備えた前記クエリを前記名前及びサービスを解決するサーバに転送し、前記第３のアドレス及びサービスを解決するポート番号をソース・アドレスとして備えるメッセージとして前記名前及びサービスを解決するサーバ内で前記クエリに対する応答を生成し、該応答が前記第２のネットワークを離れる前に前記第１のアドレス指定領域の前記第１のアドレス及びサービスを解決するポート番号に前記第２のアドレス指定領域の前記第３のアドレス及びサービスを解決するポート番号を変換する工程を更に備えることを特徴とする方法。
【請求項６】
請求項１記載の方法であって、前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号をデスティネーション・アドレスとして有するインタフェースで前記第１の装置から前記セッションの第１のデータ・パケットを受信し、前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号を前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号に変換し、該アドレス及びサービス・ポート番号を用いて前記第２のアドレス指定領域内の前記第２の装置に前記パケットを転送する工程を更に備えることを特徴とする方法。
【請求項７】
請求項１記載の方法であって、前記第１のアドレス指定領域の前記セッション・ポート番号は、前記第２のアドレス指定領域の前記サービス・ポート番号とは異なることを特徴とする方法。
【請求項８】
第１のアドレス指定領域を有する第１のネットワークと第２のアドレス指定領域を有する第２のネットワークとの間を接続し、前記第１のネットワークを介してインタフェース装置と通信する第１の計算機装置から前記第２のネットワーク内の第２の計算機装置へのセッションの起動を可能にするインタフェース装置であって、
前記第２の装置に関する少なくとも１つのクエリを受信するよう前記第１のネットワークに接続される対象の第１の入力であって、前記クエリが、前記第２の装置に関連した少なくとも装置名及びサービス名を備え、前記第２のネットワークに関連した前記第１のアドレス指定領域の第１のデスティネーション・アドレスを有する第１の入力と、
前記第１のネットワークに接続するための第１の出力と、
前記装置名及び前記サービス名に基づいて前記第２のアドレス指定領域内の前記第２の装置のサービスに関連した第２のアドレス及びサービス・ポート番号をルックアップするよう構成された、名前及びサービスを解決するユニットと、
アドレス及びポートを変換するテーブルと、
前記アドレス及びポートを変換するテーブルにおいて前記第２のアドレス指定領域内の前記第２の装置に属する前記第２のアドレス及びサービス・ポート番号に前記第１のアドレス指定領域の前記受信された第１のアドレス及びセッション・ポート番号をバインドし、かつ、
前記２つのネットワーク間で転送する際にセッションのパケットのヘッダにおいて前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号及び前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号がお互いに交換される、前記第１の装置から前記第２の装置へのセッションを起動させることが可能なように前記第１のアドレス指定領域の前記第１のアドレス及び前記セッション・ポート番号を備える前記クエリに対する少なくとも１つの回答として、前記第２のネットワークを離れるメッセージを前記第１の装置に供給するよう構成された制御ユニットとを備えることを特徴とするインタフェース装置。
【請求項９】
第１のアドレス指定領域を有する第１のネットワークへ接続する、計算機装置のシステムであって、前記第１のネットワークを介して、第１の計算機装置は、前記システムと通信することが可能であり、第２のアドレス指定領域を有する第２のネットワークを備え、該第２のネットワークは、
第２の計算機装置と、
前記第１のネットワークと前記第２のネットワークとの間に備えられたインタフェース装置とを備え、該インタフェース装置は、
前記第２の装置に関するクエリを受信するよう前記第１のネットワークに接続される対象の第１の入力であって、前記クエリが、前記第２の装置に関連した少なくとも装置名及びサービス名を備え、前記第２のネットワークに関連した前記第１のアドレス指定領域の第１のデスティネーション・アドレスを有する第１の入力と、
前記第１のネットワークに接続するための第１の出力と、
アドレス及びポートを変換するテーブルと、
前記アドレス及びポートを変換するテーブルにおいて前記第２のアドレス指定領域内の前記第２の装置に属する第２のアドレス及びサービス・ポート番号に前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号をバインドし、かつ、
前記第１のアドレス指定領域の前記第１のアドレス及び前記セッション・ポート番号を備える前記第１の装置の前記クエリに対する回答として、前記第２のネットワークを離れるメッセージを供給するよう構成された制御ユニットとを備え、
前記第２のネットワークは、前記２つのネットワーク間で転送する際にセッションのパケットのヘッダにおいて前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号及び前記第２のアドレス指定領域の前記第２のアドレス及び前記サービス・ポート番号がお互いに交換される、前記第１の装置から前記第２の装置へのセッションを起動させることが可能なように、前記装置名及び前記サービス名に基づいて前記第２のアドレス指定領域の前記第２の装置のサービスに関連した前記第２アドレス及び前記サービス・ポート番号をルックアップするよう構成された、名前及びサービスを解決するユニットを更に備えることを特徴とする、装置のシステム。
【請求項１０】
請求項９記載の、装置のシステムであって、前記第１の入力は、１つが前記装置名を有し、１つが前記サービス名を有する２つのクエリを受信するよう構成され、前記制御ユニットは、一方が前記第１のアドレスを有し、他方が前記セッション・ポート番号を有する２つのメッセージによって前記クエリに回答するよう構成されたことを特徴とする、装置のシステム。
【請求項１１】
請求項９記載の、装置のシステムであって、前記名前及びサービスを解決するユニットは、前記クエリに回答する際に、前記クエリに対する応答として前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号を有する前記メッセージを生成するよう構成され、前記インタフェース装置の前記制御ユニットは、前記応答メッセージ内の前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号を前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号によって置き換え、置き換えられた情報を備えた前記メッセージを前記第２のアドレス指定領域からの前記第１の装置に送るよう構成されることを特徴とする、装置のシステム。
【請求項１２】
請求項９記載の、装置のシステムであって、前記名前及びサービスを解決するユニットが前記インタフェース装置内に備えられることを特徴とする、装置のシステム。
【請求項１３】
請求項９記載の、装置のシステムであって、前記名前及びサービスを解決するユニットが、前記第２のネットワーク内の、名前及びサービスを解決するサーバ内に備えられることを特徴とする、装置のシステム。
【請求項１４】
請求項１３記載の、装置のシステムであって、前記クエリは、サービス解決ポート番号を更に備え、前記制御ユニットは、前記第２のアドレス指定領域の、前記名前及びサービスを解決するサーバに関連した前記第２のアドレス指定領域の第３のアドレス及びサービスを解決するポート番号に前記第１のアドレス及び前記サービス解決ポート番号を変換し、変換されたアドレス及びサービス解決ポート番号を備えた前記クエリを前記名前及びサービスを解決するサーバに転送するよう更に構成され、前記名前及びサービスを解決するサーバは、前記第３のアドレス及びサービスを解決するポート番号をソース・アドレスとして備えたメッセージとして前記クエリに対する前記応答を生成するよう構成され、前記制御ユニットは、前記応答が前記第２のネットワークを離れる前に前記第１のアドレス指定領域の前記第１のアドレス及びサービスを解決するポート番号に前記第２のアドレス指定領域の前記第３のアドレス及びサービスを解決するポート番号を変換するよう最後に構成されることを特徴とする、装置のシステム。
【請求項１５】
請求項９記載の、装置のシステムであって、前記インタフェース装置の前記第１の入力は、前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号をデスティネーション・アドレスとして有する前記第１の装置から前記セッションの第１のデータ・パケットを受信するよう更に構成され、前記アドレス及びポートを変換するテーブルは、前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号を前記第２のアドレス指定領域の前記第２のアドレス及びサービス・ポート番号に変換するよう構成され、前記制御ユニットは、該アドレス及びサービス・ポート番号を用いて前記第２のアドレス指定領域内の前記第２の装置に前記パケットを転送するよう構成されることを特徴とする、装置のシステム。
【請求項１６】
請求項9記載の、装置のシステムであって、前記第１のアドレス指定領域の前記セッション・ポート番号は、前記第２のアドレス指定領域の前記サービス・ポート番号とは異なることを特徴とする、装置のシステム。
【請求項１７】
第１のアドレス指定領域を有する第１のネットワークと第２のアドレス指定領域を有する第２のネットワークとの間のインタフェース装置上で用いる対象のコンピュータ・プログラムであって、第１の計算機装置は、前記第１のネットワークを介して前記インタフェース装置と通信することが可能であり、前記第２のネットワークは第２の計算機装置を備え、
前記インタフェース装置内にプログラム・コードがロードされると、
前記第２の計算機装置に関する前記第１の計算機装置からの少なくとも１つのクエリであって、該クエリが、前記第２の装置に関連した装置名及びサービス名を有し、前記第２のネットワークに関連した前記第１のアドレス指定領域の第１のデスティネーション・アドレスを有するクエリを受信し次第、
少なくとも前記装置名及びサービス名に基づいて前記第２のアドレス指定領域内の前記第２の装置のサービスに関連した第２のアドレス及びサービス・ポート番号をルックアップし、
前記第２のアドレス指定領域内の前記第２の装置の前記第２のアドレス及びサービス・ポート番号に前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号をバインドし、
前記２つのネットワーク間で転送する際にセッションのパケットのヘッダにおいて前記第１のアドレス指定領域の前記第１のアドレス及びセッション・ポート番号及び前記第２のアドレス指定領域の前記第２のアドレス及び前記サービス・ポート番号がお互いに交換される、前記第１の装置から前記第２の装置へのセッションを起動させることが可能なように前記第１のアドレス指定領域の前記第１のアドレス及び前記セッション・ポート番号を備える前記第２のネットワークを離れる少なくとも１つのメッセージによって、前記クエリに前記第１の装置に回答することを前記インタフェース装置に実行させるコンピュータ・プログラム・コードを有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータ・ネットワーク間の通信の分野に関し、特に、２つのコンピュータ・ネットワーク間のインタフェースに関する。本発明は、第１のアドレス指定領域を有する第１のネットワークを介して通信する第１の計算機装置から第２のアドレス指定領域を有する第２のネットワーク上の第２の計算機装置へのセッションの開始を可能にする方法、インタフェース装置、及び、計算機装置のシステム、並びに、上記方法を行うコンピュータ・プログラムに関する。
【背景技術】
【０００２】
コンピュータ・システムにおけるアドレス指定の分野では、別々の装置が用いるうえで利用可能な公衆アドレスが通常、不足している。このことは、局所システム全体に用いる公衆アドレスを1つ又はいくつかしか有しない局所ネットワークが多いことにつながった。その場合、局所システムは、こうした少数のアドレスを制御するゲートウェイを介してグローバル・ネットワークと通信することになる。通常、そうしたゲートウェイはこの場合、局所ネットワーク内の装置と通信するために局所アドレス指定システムを用いることになる。
【０００３】
グローバル・ネットワークを介して他の装置と局所ネットワーク内でそうした装置からのセッションを起動させるために、ゲートウェイには、他の装置と通信するために局所アドレスからグローバル・アドレスに変換するNAT（ネットワークアドレス変換器）ユニットが通常、備えられる。局所ネットワーク内の装置は次いで、局所ネットワークの外の装置とのセッションを開始することが可能であり、NAT装置は次いで、２つの装置が互いに通信するためにアドレスをどのようにして変換すべきかを示す、そうしたセッションのエントリをNATテーブル内に設定することになる。しかし、こうした類の既知のNAT装置には、通信セッションを局所ネットワークの外にある装置から起動させることを可能にせず、局所ネットワーク内のみから起動させることを可能にするという点で１つの課題が存在している。例えば、少なくとも一方側が着信セッションを受け入れることができなければならない、ピアツーピア・ネットワーキングを行う場合に、外部からセッションを起動させることができることに対する必要性が存在している。
【０００４】
インターネットソサエティは、P.  Srisuresh、  G.  Tsirtsis、  P.  Akkiraju、及びA.  Heffernanによる西暦1999年9月公表のRFC2694において、グローバル・ネットワークから局所ネットワーク内の装置へのセッションを起動させる一手法を開示している。上記刊行物には、局所ネットワークとグローバル・ネットワークとの間のインタフェースであるゲートウェイは、グローバル・ネットワークにおいて用いることが可能ないくつかのアドレスを有することが記載されている。ゲートウェイは、NATユニット及びDNS_ALG(ドメイン名システム・アプリケーション・レベル・ゲートウェイ)ユニットも備え、局所ネットワークはDNSサーバも備える。グローバル・ネットワーク上の装置は、セッションを開始したい場合、名前のクエリを送り、これは最終的にゲートウェイに達する。ゲートウェイはこのクエリをDNSサーバに転送し、DNSサーバは、クエリされた名前に関連した局所装置の局所アドレスをゲートウェイに戻す。ゲートウェイはそのグローバル・アドレスの１つを局所アドレスにバインドし、クエリへの回答としてグローバル・アドレスを戻す。グローバル・ネットワーク上の装置は次いでこのグローバル・アドレスとのセッションを開始することが可能であり、ゲートウェイは、バインディングによって、通信の宛先がどの装置かが直ぐに分かる。この解決策ではいくつかの課題が存在する。これは、局所ネットワーク・セッション上で装置毎に１つのグローバル・アドレスが確保されているということである。局所ネットワーク上の多くの装置への並行セッションが存在する場合、ゲートウェイに利用可能なグローバル・アドレスが多く存在しなければならず、これは、今日のシステムにおけるグローバル・アドレスの不足によって通常難しい。更に、局所ネットワークに関連したグローバル・アドレスを2つ以上有することは多くの場合、費用がかかり、このことは、欲しいアドレスの数が最低限に留まることにつながる。局所ネットワークが１つのアドレスしか有しない場合、この１つのアドレスは１つのセッションに拘束されることになり、より多くのインバウンド・セッションの可能性は存在しない。
【０００５】
上記刊行物は又、NAPT（ネットワークアドレス及びポートの変換）テーブルをゲートウェイ内に設けることが可能であることを簡単に記載している。しかし、これは、伝統的なＮＡＰＴの用途、すなわち、局所ネットワークから起動されるセッションの設定において用いられる可能性が最も高くなる。上記刊行物には、グローバル・ネットワークから局所ネットワークへ設定されたセッションがアドレス変換にＮＡＰＴをどのように用いることが可能であるかが記載されていない。
【０００６】
存在する別の装置には、いわゆるＤＮＳ（ドメイン名システム）ＳＲＶ（サービス）装置があり、これは、インターネットソサエティによって、「DNS  SRV  RR」と題するA.  Gulbrandsen、P.  Vixie及びL.  Esibovによる西暦2000年2月公表のRFC2782に記載されている。DNS  SRVは装置の名前及びサービスに関するクエリを受信し、クエリの結果としてアドレス及びポート番号を戻す。しかし、この刊行物は、この装置を用いる対象の環境に関して言及していない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
よって、グローバル・ネットワークから、限定数のグローバル・アドレスを有する局所ネットワーク上の複数装置への複数の並列インバウンド・セッションを可能にするやり方に対する必要性がなお存在している。
【課題を解決するための手段】
【０００８】
本発明の目的は、第１のアドレス指定領域を有する第１のネットワークを介して装置から、第２のアドレス指定領域を有する第２のネットワーク内の装置へ2つ以上のセッションを開始することが可能な手法を提供することであり、この手法は、第１のネットワークを介して通信する装置に対して透明である、すなわち、こうした装置は、第１のアドレス領域内の第２のネットワーク全体のアドレスを１つしか必要としないのと同時に、第２のネットワーク内の装置とどのように通信するかということの真の知識を有していなくてもよい。
【０００９】
本発明は、独立請求項によって規定している。
【００１０】
従属請求項は、効果的な実施例を規定している。
【００１１】
請求項２及び１０は、一方は装置名に関し、他方はサービス名に関する２つのクエリを解決する装置名及びサービス名を供給し、２つのメッセージによってこうしたクエリに応答することに関する。
【００１２】
請求項３及び１１は、第２のアドレス領域においてクエリへの応答を生成し、第２のアドレス及びサービス・ポート番号をゲートウェイのアドレス及びポート番号によって置き換えることに関する。
【００１３】
他の従属請求項は、クエリにおける特定のサービス・ポート番号を供給し、名前及びサービスを解決するユニットへのクエリの転送を容易にすることに関する。
【００１４】
本発明の実施例は、第１のアドレス指定領域内の１つのアドレスしか第２のネットワークに用いなくても、第２のネットワーク内の別々の装置とのいくつかの並列セッションを第１のネットワークから起動させることを可能にするという利点を有する。これは、ゲートウェイが第１のアドレス指定領域内に有しなければならないアドレスが１つのみであることを意味するものでなく、ゲートウェイは、そうしたアドレスをいくつか有することが可能である。本発明はよって、第１の装置及び第２の装置が何れもクライアント及びサーバとしてふるまい、インバウンド・セッションもアウトバウンド・セッションも有することが可能であるようなピアツーピア・ネットワーキングを可能にする。本発明の別の利点は、本発明が、既存のプロトコル、すなわちDNS  SRVプロトコルに基づいており、それによって本発明を実施するのが単純になる。
【００１５】
本発明の実施例の背景にある一般的な考えは、よって、第１の装置からのクエリを受信し次第、第１のアドレス指定領域と第２のアドレス指定領域との間のインタフェースに関連した第１のアドレス指定領域の第１のアドレス及びポ―ト番号を第２のアドレス指定領域内の第２の装置の第２のアドレス及びポート番号にバインドすることである。クエリから、第２の装置の第２のアドレス及びポート番号の名前及びサービスのルックアップを行う。第１のアドレス指定領域内のインタフェースの第１のアドレス及びポート番号を備える、クエリへの応答が次いで送られる。
【発明を実施するための最良の形態】
【００１６】
本発明の前述及びその他の局面は、以下で説明する実施例から明らかであり、そうした実施例を参照しながら明らかになるであろう。
【００１７】
次に、本発明を添付図面に関して更に詳細に説明する。
【実施例】
【００１８】
図１は、本発明の実施例、及びその環境の概略図である。図１は、この場合にはインターネットである第１のネットワーク１２に接続された、本発明によるインタフェース装置１０を示す。第１の計算機装置１４は第１のネットワーク１２に接続される。好ましい実施例ではゲートウェイであるインタフェース装置１０も第２のネットワーク１６に接続され、第２のネットワークは第２の計算機装置１８を備える。第１のネットワーク１２は第１のアドレス指定領域を有し、第２のネットワークは第２のアドレス指定領域を有する。第１のアドレス指定領域はここではIPアドレス指定領域、例えばIPv4であり、グローバルに用いられる一方、第２のアドレス指定領域は第２のネットワーク１６内で用いる局所アドレス指定領域である。この第２のアドレス指定領域も通常、IPアドレス指定を用いる。第２のネットワーク１６は好ましい実施例では、プライベート・ホーム・ネットワークである。しかし、本発明はプライベート・ホーム・ネットワークに限定されず、例えば、企業ネットワークにも用いることが可能である。第１の計算機装置１４は又、Xと表し、第２の計算機装置１８はYと表し、ゲートウェイ１０はGと表す。別々の装置はよって、別々の領域における別々のアドレスを有する。第１の装置１４は第１のアドレス指定領域においてアドレスAXを有し、ゲートウェイ１０は第１のアドレス指定領域において第１のアドレスAG１を有する一方、第２の装置１８は、第２のアドレス指定領域において第２のアドレスAYを有する。ゲートウェイ１０は又、第２のアドレス指定領域においてアドレスAG2を有する。第２の装置１８は通常のコンピュータであり得るが、これに限定されるものでない。これは、他の装置によってアクセス可能な、サービスを提供するコンピュータ・ネットワークにおいてアドレスを用いて接続可能な別の計算機装置（インターネット・ラジオ・サーバ、プリンタ、スキャナや何れかの他のタイプの機器など）でもあり得る。第２のネットワーク１６内に更に多くの装置があり得ることも認識されるべきである。第１の装置１４は、例えば、同様に、インターネット１２に接続し、クライアント機能を有する、すなわち、第２の装置１８のサービスへのアクセスを得る機能を有することが可能な何れかの適切な装置であり得る。第１の装置１４が、ゲートウェイを介してインターネットと通信するプラーベート・ネットワーク上又は局所ネットワーク上の装置であり得ることも認識されるべきである。本発明をよりうまく説明するために、インターネットに直接接続された装置として本明細書及び特許請求の範囲では示している。図１は、第１の装置１４から第２のネットワーク１６へ送られるクエリ２０、並びにそのクエリに対する応答２２も示す。
【００１９】
本発明によるゲートウェイ１０の単純化した実施例を、図２の概略構成図において示す。ゲートウェイ１０は、データ・パケットを受信するようインターネットに接続された第１の入力２４と、データ・パケットを送信するようインターネットにやはり接続された第１の出力２６とを有する。ゲートウェイは、データ・パケットを送信するよう第２のネットワークに接続された第２の出力２８、及びデータ・パケットを受信するよう第２のネットワークにやはり接続された第２の入力３０も有する。第１のレジスタ３４が第１の入力２４と第２の出力２８との間に接続される一方、第２のレジスタ３６が第２の入力３０と第１の出力３６との間に接続される。データ・パケットが進む方向は、矢印で示している。第１のレジスタ３４及び第２のレジスタ３６は何れも制御ユニット３２に接続され、この制御ユニット３２はDNS  SRV＿ALG（アプリケーション・レベル・ゲートウェイ）ユニットを備え、NAPT（ネットワークアドレス及びポートの変換）テーブル３８に接続され、名前及びサービスを解決するユニット４０に接続される。NAPT３８は、局所アドレス及び局所ポート番号をグローバル・アドレス及びグローバル・ポート番号に、すなわち、第２アドレス指定領域内のアドレス及びポート番号から第１のアドレス指定領域内のアドレス及びポート番号に、及び逆も同様に、変換するのに用いる。名前及びサービスを解決するユニット４０は、DNS  SRV（ドメイン名システムサービス）機能を備えたサーバである、すなわち、ドメイン名及びサービス名をアドレス及びポート番号にマッピングし、ここでは、第２のアドレス指定領域内のアドレス及びポート番号にマッピングする。図２もクエリ２０への応答として生成されるメッセージ４２も示し、この応答は、第２のネットワーク１６を離れるメッセージ２２に、次いで修正される。
【００２０】
図３は、図１及び図２からのメッセージ２０、２２及び４２を更に詳細に示す。メッセージそれぞれは、ソース・アドレス・フィールド４４、ソース・ポート番号フィールド４６、デスティネーション・アドレス・フィールド４８、デスティネーション・ポート番号フィールド５０及びペイロード５２を有し、フィールド４４−５０は、メッセージのヘッダを構成する。図４は、こうしたメッセージに基づいて図２のNAPTテーブル３８内に作成されたエントリを示す（セッションが起動された後であるが、何らかのパケットが受信される前である。）。テーブルの各行は、実行中のセッション専用のもの、又はたった今起動されたセッション専用のものである。単純化するように１つの行又はセッションしかここでは示していない。しかし、別々の装置間のセッションのいくつかの行があり、同じ２つの装置間の別々のセッション、あるいは、第１のネットワーク上のいくつかの装置から第２のネットワーク上の同じ装置へのいくつかのセッション、あるいは、第１のネットワーク上の同じ装置から第２のネットワーク上のいくつかの装置へのいくつかのセッションのいくつかの行が実際にはあることが認識されるべきである。第１の列５４は、セッションを有するか、又は起動する第１のネットワーク内の装置のアドレスに用い、ここでは空白のままにしている。第２の列５６は、第１のネットワーク上の装置のアドレスに関連したポート番号に用い、この列も空白のままにしている。これらは空白であるが、それは、第１のネットワーク上の装置のセッションをまだ開始していないからである。第３の列５８は、ここではゲートウェイの第１のアドレスAG1を有する第１のアドレス指定領域内の第２のネットワークのアドレスを対象としている。第４の列６０は、第１のアドレス指定領域内の第２のネットワークのポート番号を対象としており、ここでは、ポート番号PGHTTPである。第５の列６２は、セッションに係わっているか、係わる予定の装置の第２のアドレス指定領域に存在している第２のネットワークのアドレスを対象としており、この列はここでは、第２の装置の第２のアドレスAYを示す一方、第６の列６４は、第２のネットワーク上のアドレスに関して用いるポート番号を対象としており、この列はここではポート番号PYHTTPを示す。図５は、本発明による方法の流れ図を示す。
【００２１】
次に、本発明の第１の部分を、図１、図２、図３、図４及び図５を参照して説明する。
【００２２】
第１の装置１４は、ゲートウェイ１０を介して名前及びサービスを解決するユニット４０にクエリ２０を送って、第２の装置１８と通信するためのアドレスを得る、工程６６。このクエリは、回帰的又は非回帰的であり得る。図３の上部に示すこのクエリは、フィールド４４、４６にソース・アドレスAX及びソース・ポート番号PXを有し、デスティネーション・アドレスAG1及びデスティネーション・ポート番号PDNSをフィールド４８、５０に有する。アドレス及びポート番号は、アドレスAG１及びポート番号PDNSを供給する、第１のネットワーク内のDNSサーバ及び/又はDNS  SRVサーバを照会することによって明らかにすることができたものである。アドレスAG1は第１のアドレス指定領域内の第２のネットワーク又はゲートウェイ１０のアドレスである一方、ポート番号PDNSは名前及びサービスのクエリに用いる特別なポート番号である。クエリ２０は、クエリされる装置名「サーバ」、並びに、やはりクエリされるサービス名「http」を備えるペイロード５２を更に備える。この装置名は、第２の装置１８に関連したドメイン名である一方、サービス名は第２の装置によって提供されるサービスの名前である。このクエリには、第１のネットワーク１２内の他のDNSサーバ及び/又はDNS  SRVサーバに送られたいくつかの先行クエリが先行することができたものである。そうしたDNSサーバ及び/又はSRVサーバ毎に、そのサーバは、低い階層レベルでDNSサーバ及び/又はDNS  SRVサーバを第１の装置１４に示した。このようにして、第１の装置１４は、ゲートウェイ１０に直接接触する（名前及びサービスを解決するユニット４０が第２の装置１８の名前をアドレスにマッピングすることをはじめとする）までいくつかのDNSサーバ及び/又はDNS  SRVサーバをクエリすることができたものである。あるいは、クエリが最終的に名前及びサービスを解決するユニット４０に達するまで、次のDNSサーバ及び/又はDNS  SRVサーバに接触する第１のDNSサーバ及び/又はDNS  SRVサーバによってクエリを直接転送することが可能である。
【００２３】
ゲートウェイ１０は次いで、工程６８で、クエリ２０を第１の入力２４上に受信し、これを第１のレジスタ３４に転送する。次いで、制御ユニット３２は、アドレスAG1及びポート番号PDNSを解析し、このアドレス及びポート番号に応じて名前及びサービスを解決するユニット４０にクエリを転送する。ポート番号PDNSは、こうしたタイプのクエリに特化したサ―ビス解決ポート番号である。名前及びサービスを解決するユニット４０は、工程７０で、名前クエリに基づいて第２のアドレス指定領域においてアドレス及びポート番号のルックアップを行い、このようにして、第２のアドレス指定領域内における第２の装置１８のアドレスAY、並びに上記サービスに関連した第２の装置１８のポート番号PYHTTPを見つける。
【００２４】
名前及びサービスを解決するユニット４０は次いで、クエリ２０に対する応答を制御ユニット３２へ戻し、この応答は図３の中央に示す。ここでは、クエリへの応答４２はペイロード５２内に第２のアドレスAY及びサービス・ポート番号PYHTTPを備える。名前及びサービスを解決するユニット４０がゲートウェイ１０内に供給されるので、ソース・アドレス及びソース・ポート番号はAG２として設定され、第２のネットワーク１６上のゲートウェイ１０のアドレス、及びPDNSはフィールド４４及び４６に設定される。デスティネーション・アドレス及びポート番号もフィールド４８、５０にAX及びPXとして設定される。この応答データは、メッセージの形式で供給されなくてよく、制御ユニットに「未処理」データとして供給することが可能であり、その結果、制御ユニットが実際の応答メッセージを作成する。工程７２では、クエリが、ルックアップされたデータ、すなわち、アドレスAY及びポート番号PYHTTPによって、名前及びサービスを解決するユニット４０から回答される。制御ユニット３２は、工程７４で、ゲートウェイに関連した第１のアドレスAG1によって第２のアドレスAYを置き換え、応答のペイロード５２内のポート番号PGHTTPによってポート番号PYHTTPを置き換え、かつ、ゲートウェイ１０の第１のアドレスであるソース・アドレスAG1によってソース・アドレスAG2を置き換え、よって変更された応答又はメッセージ２２を第２のレジスタ３６に入れる。このポート番号PGHTTPは、セッションに選択されるセッション・ポート番号である。メッセージ２２は、図３の下部に示す。制御ユニット３２は又、工程７６で、第２の装置１８のアドレスAY及びポート番号PYHTTPと、ゲートウェイ１０のアドレスAG1とポート番号PGHTTPとの間のバインディングをNAPT内で行う。よって、セッションに対して、NAPT３８の第３の列５８がアドレスAG１を受信し、第４の列６０がセッション・ポート番号PGHTTPを受信し、第５の列６２がアドレスAYを受信し、第６の列がサービス・ポート番号PYHTTPを受信する。
【００２５】
制御ユニット３２は次いで工程７８で、調節された応答メッセージ２２を第１の出力２６を介して第２の装置１４に転送する。第１の装置１４は次いで、名前及びサービスのクエリに対する応答を受信する。この応答は、装置１８の名前に関連したものとして第２の装置１８の代わりにゲートウェイ１０を識別し、サービスに相当するものとしてゲートウェイのポート番号を識別する。第１の装置は次に、デスティネーション・アドレスとしての第１のアドレスAG１、及びポート番号としてのポート番号PGHTTPを用いてセッションを開始することが可能である。第１の装置１４はよって、１つのクエリをゲートウェイ１０に送り、応答を受信し次第、セッションを直ちに開始することが可能であり、この応答は１つの単一のデータ・パケット内で供給することが可能である。第１の装置１４はよって、セッションを開始する前に2度以上ゲートウェイ１０と通信する必要はない。しかし、ゲートウェイは、NAPTテーブル３８内で行われた設定によってデータ・パケットが第２の装置を対象とするということが分かるものである。セッション内の第１のパケットが次いで、ゲートウェイにおいて第１の装置１４から受信されると、第１の装置の使用アドレス及び使用ポート番号がNAPTテーブル３８の第１の列５４及び第２の列５６に設定されるという点で実際のバインディングが行われる。あるいは、第１の列５４及び第２の列５６にはデータは全く満たされない。NAPT３８がこうした列を全く有しないことも更に考えられる。その場合、デスティネーション・アドレスAG1及びポート番号PGHTTPを有するメッセージは、ヘッダ内のアドレスAY及びポート番号PYHTTPへNAPTテーブル３８内で見に行くことによって制御ユニット３２内で変換され、第２の装置１８に転送される。このようにして設定されたテーブル３８によって、パケットを第１の装置と第２の装置との間で交換することが可能である。前述したように、第１の装置は、第３のアドレス指定領域を有する局所ネットワークに備えることも可能である。この場合、第１の装置のアドレス及びポート番号も同様に、相当するゲートウェイ・アドレス及びポート番号に変換される。次いで、図３中のメッセージ内に供給される、第１の装置のアドレス及びポート番号が、第３のアドレス指定領域のゲートウェイのアドレス及びポート番号によって置き換えられることになる。
【００２６】
好ましい実施例では、名前及びサービスを解決するユニットはゲートウェイの一部である。別の実施例では、名前及びサービスを解決するユニットは、名前及びサービスを解決するためにゲートウェイが通信する第２のネットワーク上の別個のエンティティ又はサーバであり得る。この実施例は図６に略示する。図６では、名前及びサービスを解決するサーバには参照番号８０を付している。クエリ２０の変換版８２と、クエリ８４に対して生成された応答を図７に示す。図７では、こうしたメッセージ８２及び８４は、前述のメッセージと同じ形式を有する。ここでは、名前及びサービスを解決するサーバ８０に関連した第３のアドレスAS及びポート番号PDNSを有する第２のネットワークのクエリ８２に対するインバウンド・クエリ２０内のデスティネーション・アドレスAG１及びポート番号PDNSのアドレス及びポート番号の変換を行い、変換されたクエリ８２を名前及びサービスを解決するユニット８０に送る。名前及びサービスを解決するユニット８０は応答８４を行い、ここで、ソース・アドレスはユニット８０の第２アドレス指定領域内の第３の局所アドレスASであり、ポート番号PDNSもこの領域内にある。ゲートウェイ１０は次いで応答メッセージ内のソース・アドレス及びポート番号のアドレス及びポート番号の変換を行い、調節されたメッセージ２２を第１の装置に転送する。
【００２７】
考えられる別の変形は、名前及びサービスを解決するユニットを第２のネットワークの種々の終端装置に分散させることが可能であることである。
【００２８】
ゲートウェイ内の種々のユニットは通常、本発明による方法を行う適切なプログラム・コードを備える適切なプログラム・メモリとともに1つ又は複数のプロセッサの形態で備えられる。テーブルは通常、メモリの形態でも備えられる。これを行うソフトウェア又はプログラム・コードも、ゲートウェイにロードされると本発明による方法を行うことになるコンピュータ判読可能媒体の形態のコンピュータ・プログラム上に備えることが可能である。CDROMディスク８６の形態でのそうした媒体の１つを図８に表すが、種々の多くの媒体（ディスケットなど）が存在している。プログラム・コードは、第２のネットワークの外にあるサーバから遠隔でダウンロードすることも可能である。
【００２９】
前述のゲートウェイが、種々の入力レジスタ、出力レジスタ及びバッファ・レジスタの形態において更にいくつかのレジスタを備え得ることも理解されるべきである。その数は、本発明のより深い理解を得るために意図的に低く抑えている。
【００３０】
設定される新たな接続毎に、名前及びサービスを解決する新たなプロセスを実行しなければならない。したがって、第１の装置は、デスティネーションの装置及びサービスのアドレス及びポート番号を記憶すべきでない。
【００３１】
本発明はよって、第２のネットワークの第１のアドレス領域内で１つのアドレスしか必要とせず、かつ、いくつかのインバウンド・セッションをなお可能にする一方で、第２のネットワークの外からセッションを起動させる可能性を提供する。これは、ゲートウェイが第１のアドレス指定領域内に有しなければならないアドレスが１つのみであることを意味するものでなく、ゲートウェイは、そうしたアドレスをいくつか有することが可能である。本発明はよって、第１の装置及び第２の装置が何れもクライアント及びサーバとしてふるまい、インバウンド・セッションもアウトバウンド・セッションも有することが可能であるようなピアツーピア・ネットワーキングを可能にする。本発明の別の利点は、本発明が、既存のプロトコル、すなわちDNS  SRVプロトコルに基づいていることであり、それによって本発明を実施するのが簡単になる。更に別の利点は、NAPTテーブル内のバインディングを１つの段階で行うことが可能であることである。
【００３２】
名前及びサービスを解決するユニットにおいて用いるポート番号は、特定のサービス（本明細書ではHTTPサービスによって例示している）を規定する特定のポート番号であり、当然、別々のポート番号がその場合、別々のサービスを規定する。第２の装置の第２のアドレス及びサービス・ポート番号へのバインディングに選択される、ゲートウェイの第１のアドレスに関連したNAPTテーブル内のポート番号は通常、ゲートウェイ内に備えられたいくつかの空ポート番号のうちの次に利用可能なポート番号である。このポート番号は次いで、第２のネットワーク上の装置及びサービスを識別することにのみ用いられる。しかし、これは、第１の装置には分からないものである。しかし、ゲートウェイ内には予約されたポート番号がいくつか存在している。そうしたポート番号の１つは、受信パケットが名前及びサービスのクエリであることを示すサービス解決ポート番号PDNSである。このポート番号は、ゲートウェイ内のアドレス変換の前及び後にPDNSとして表される。しかし、このポート番号は、ゲートウェイ内に備えられる場合も第２のネットワーク内に備えられる場合も名前及びサービスを解決するユニットに送られる前にゲートウェイ内でも変換され得ることを認識すべきである。こうしたパケットは特定のポート番号に基づいて名前及びサービスを解決するユニットに自動転送される。
【００３３】
本発明はよって、第１のネットワークから第２のネットワークへのセッションの起動を容易にするシステム、インタフェース装置、方法及びコンピュータ・プログラムを提供するものである。
【００３４】
本発明に対して可能な変形はいくつか存在している。これらの変形は前述のものに加えて行うことが可能である。クエリは、アドレスに対するクエリとサービス名に対するクエリとの２つのクエリに分けることができる。この場合、２つの応答、すなわち、クエリ毎に１つの応答があることにもなる。本発明は、IPアドレス指定に限定されず、他のタイプのアドレス指定も可能である。ゲートウェイの第１の入力及び出力は単一の通信インタフェース内に組み入れることも可能である。ネットワークは固定ネットワークでなくてもよく、例えば、無線ネットワークであってもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明による、ゲートウェイを介して第２のネットワークに接続された第１のネットワークの概略図である。
【図２】本発明によるゲートウェイの概略構成図である。
【図３】セッションを起動させるために図１及び図２中の装置・ユニット間で送られるいくつかのメッセージを示す図である。
【図４】ゲートウェイ内に設けられるNAPTテーブルにおいて行われる、セッションのバインディングを示す図である。
【図５】本発明による、第１のネットワークから第２のネットワークへのセッションの起動の方法の流れ図である。
【図６】名前及びサービスを解決するサーバを備える第２のネットワークの別の実施例の概略図である。
【図７】名前及びサービスを解決するサーバとの間で第２のネットワーク内で送られるメッセージを示す図である。
【図８】本発明による方法を行うプログラム・コードが記憶されたコンピュータ判読可能媒体を略示する図である。
【図１】
2007526689.tif 000003
【図２】
2007526689.tif 000004
【図３】
2007526689.tif 000005
【図４】
2007526689.tif 000006
【図５】
2007526689.tif 000007
【図６】
2007526689.tif 000008
【図７】
2007526689.tif 000009
【図８】
2007526689.tif 000010
【国際調査報告】
2007526689.tif 000011
2007526689.tif 000012
2007526689.tif 000013