(57)【要約】【課題】管理が簡単で、既存の通信プログラムにも適用可能な通信方式を提供する。【解決手段】接続元の通信装置２００において、データ送信部２１２は、名前解決部２１３により提供される正引きのサービス２３１を利用して、通信プログラム２２１で指定された接続先の通信装置の名前１２０ｂからループバック用のアドレス２４１を取得し、取得したアドレス２４１を送信先のアドレスとして含む通信データ１１０ａを通信インタフェース２０１に入力する。通信ゲートウェイ部２１４は、名前解決部２１３により提供される逆引きのサービス２３２を利用して、通信インタフェース２０１によりループバックされる通信データ１１０ａの送信先のアドレスから名前１２０ｂを取得し、取得した名前１２０ｂを送信先の名前として記述したメッセージ１３０ａを中継装置３００に送信する。【選択図】図１
2016181803.tif 000002
【特許請求の範囲】
【請求項１】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前を指定する通信プログラムを実行するプログラム実行部と、
名前をアドレスに変換する正引きのサービスを利用して、前記プログラム実行部により実行される通信プログラムで指定された名前からアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記通信インタフェースに入力するデータ送信部と、
前記データ送信部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信先のアドレスから名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置との通信を中継する中継装置に送信する通信ゲートウェイ部と
を備える通信装置。
【請求項２】
前記通信インタフェースは、入力された通信データの送信先のアドレスと送信先のポート番号との組み合わせに対して当該通信データを出力し、
前記データ送信部は、前記通信インタフェースに入力する通信データに、前記プログラム実行部により実行される通信プログラムで指定されたポート番号を送信先のポート番号として含め、
前記通信ゲートウェイ部は、前記中継装置に送信するメッセージに、受信した通信データの送信先のポート番号を記述する請求項１に記載の通信装置。
【請求項３】
前記通信ゲートウェイ部は、前記中継装置に送信するメッセージに、前記通信装置の名前を送信元の名前として記述する請求項１又は２に記載の通信装置。
【請求項４】
前記通信ゲートウェイ部により受信される通信データは、ＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）パケットであり、
前記通信ゲートウェイ部により送信されるメッセージは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する中継インタフェースと、
請求項１から４のいずれか１項に記載の通信装置の名前と前記相手装置の名前とに個別に割り当てられたループバック用のアドレスが記録された記録媒体と、
前記通信装置から送信されたメッセージを受信し、前記記録媒体から、受信したメッセージに記述された送信先の名前に割り当てられたアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記中継インタフェースに入力する第１中継ゲートウェイ部と、
前記中継インタフェースによりループバックされる通信データを受信し、前記記録媒体から、受信した通信データの送信先のアドレスが割り当てられた名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置に送信する第２中継ゲートウェイ部と
を備える中継装置。
【請求項６】
前記第２中継ゲートウェイ部により受信される通信データは、ＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）パケットであり、
前記第１中継ゲートウェイ部により受信されるメッセージ及び前記第２中継ゲートウェイ部により送信されるメッセージは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである請求項５に記載の中継装置。
【請求項７】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前の通知を受ける通信プログラムを実行するプログラム実行部と、
前記相手装置との通信を中継する中継装置から送信されるメッセージを受信し、名前をアドレスに変換する正引きのサービスを利用して、受信したメッセージに記述された送信元の名前からアドレスを取得し、取得したアドレスを送信元のアドレスとして含む通信データを前記通信インタフェースに入力する通信ゲートウェイ部と、
前記通信ゲートウェイ部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信元のアドレスから名前を取得し、取得した名前を、前記プログラム実行部により実行される通信プログラムに通知するデータ受信部と
を備える通信装置。
【請求項８】
前記通信ゲートウェイ部により入力される通信データは、ＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）パケットであり、
前記通信ゲートウェイ部により受信されるメッセージは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである請求項７に記載の通信装置。
【請求項９】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースを備えるコンピュータのプログラム実行部が、通信相手である相手装置の名前を指定する通信プログラムを実行し、
前記コンピュータのデータ送信部が、名前をアドレスに変換する正引きのサービスを利用して、前記プログラム実行部により実行される通信プログラムで指定された名前からアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記通信インタフェースに入力し、
前記コンピュータの名前解決部が、前記データ送信部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供し、
前記コンピュータの通信ゲートウェイ部が、前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信先のアドレスから名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置との通信を中継する中継装置に送信する通信方法。
【請求項１０】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースを備えるコンピュータのプログラム実行部が、通信相手である相手装置の名前の通知を受ける通信プログラムを実行し、
前記コンピュータの通信ゲートウェイ部が、前記相手装置との通信を中継する中継装置から送信されるメッセージを受信し、名前をアドレスに変換する正引きのサービスを利用して、受信したメッセージに記述された送信元の名前からアドレスを取得し、取得したアドレスを送信元のアドレスとして含む通信データを前記通信インタフェースに入力し、
前記コンピュータの名前解決部が、前記通信ゲートウェイ部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供し、
前記コンピュータのデータ受信部が、前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信元のアドレスから名前を取得し、取得した名前を、前記プログラム実行部により実行される通信プログラムに通知する通信方法。
【請求項１１】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前を指定する通信プログラムを実行するプログラム実行部と、
名前をアドレスに変換する正引きのサービスを利用して、前記プログラム実行部により実行される通信プログラムで指定された名前からアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記通信インタフェースに入力するデータ送信部と、
前記データ送信部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と
を備えるコンピュータに、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信先のアドレスから名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置との通信を中継する中継装置に送信する処理
を実行させる通信ゲートウェイプログラム。
【請求項１２】
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前の通知を受ける通信プログラムを実行するプログラム実行部と
を備えるコンピュータに、
前記相手装置との通信を中継する中継装置から送信されるメッセージを受信し、名前をアドレスに変換する正引きのサービスを利用して、受信したメッセージに記述された送信元の名前からアドレスを取得し、取得したアドレスを送信元のアドレスとして含む通信データを前記通信インタフェースに入力する処理
を実行させ、
前記コンピュータは、
前記処理により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信元のアドレスから名前を取得し、取得した名前を、前記プログラム実行部により実行される通信プログラムに通知するデータ受信部と
をさらに備える通信ゲートウェイプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び中継装置及び通信方法及び通信ゲートウェイプログラムに関するものである。
【背景技術】
【０００２】
複数拠点にある複数台の機器がインターネット越しに通信する方式として以下のようなものがある（例えば、特許文献１参照）。
（１）第１方式：グローバルＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）アドレス及びＦＱＤＮ（Ｆｕｌｌｙ・Ｑｕａｌｉｆｉｅｄ・Ｄｏｍａｉｎ・Ｎａｍｅ）を機器ごとに割り当てる。
（２）第２方式：ＮＡＴ（Ｎｅｔｗｏｒｋ・Ａｄｄｒｅｓｓ・Ｔｒａｎｓｌａｔｉｏｎ）、ＮＡＰＴ（Ｎｅｔｗｏｒｋ・Ａｄｄｒｅｓｓ・ａｎｄ・Ｐｏｒｔ・Ｔｒａｎｓｌａｔｉｏｎ）といったアドレス変換技術を使用し、グローバルＩＰアドレスの配下で複数台の機器を接続する。これにより、グローバルＩＰアドレスは１つのみでよくなる。
（３）第３方式：ＶＰＮ（Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）を使用してインターネット上に仮想網を構築する。
（４）第４方式：ＳＯＣＫＳ（ＳＯＣＫｅｔ・Ｓｅｃｕｒｅ）を使用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１７２８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記第１方式には、以下のような課題がある。
・機器台数分のグローバルＩＰアドレス及びＦＱＤＮが必要である。
・インターネットのどこからでも通信が可能なため、セキュリティの観点からファイアウォールの設置や機器ごとの設計が必要である。
・上記２点に起因して、導入コスト及び導入期間が増大する。
【０００５】
上記第２方式には、以下のような課題がある。
・アドレス変換用装置への設定追加が必要である。
・接続先の機器をＦＱＤＮとポート番号との組み合わせで指定するので、通信アプリケーションでの接続先指定の煩雑さ、誤操作につながる。
【０００６】
上記第３方式には、以下のような課題がある。
・個々の機器には仮想網用のＩＰアドレスが設定されるが、機器の既存ＩＰアドレスとの競合等を考え、拠点ごとのネットワーク構成の把握や変更が必要である。
【０００７】
上記第４方式には、以下のような課題がある。
・通信アプリケーションがＳＯＣＫＳに対応している必要があり、使用できるアプリケーションが限られる。既存アプリケーションがＳＯＣＫＳに対応していなければ、改修が必要になる。
【０００８】
このように、従来技術では、ＦＱＤＮを使用したり、拠点ごとのネットワーク構成を把握したりする必要があるため、管理が煩雑である。また、既存アプリケーションの改修が必要になる場合もある。
【０００９】
本発明は、管理が簡単で、既存の通信プログラムにも適用可能な通信方式を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一の態様に係る通信装置は、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前を指定する通信プログラムを実行するプログラム実行部と、
名前をアドレスに変換する正引きのサービスを利用して、前記プログラム実行部により実行される通信プログラムで指定された名前からアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記通信インタフェースに入力するデータ送信部と、
前記データ送信部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信先のアドレスから名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置との通信を中継する中継装置に送信する通信ゲートウェイ部とを備える。
【００１１】
前記通信インタフェースは、入力された通信データの送信先のアドレスと送信先のポート番号との組み合わせに対して当該通信データを出力し、
前記データ送信部は、前記通信インタフェースに入力する通信データに、前記プログラム実行部により実行される通信プログラムで指定されたポート番号を送信先のポート番号として含め、
前記通信ゲートウェイ部は、前記中継装置に送信するメッセージに、受信した通信データの送信先のポート番号を記述する。
【００１２】
前記通信ゲートウェイ部は、前記中継装置に送信するメッセージに、前記通信装置の名前を送信元の名前として記述する。
【００１３】
前記通信ゲートウェイ部により受信される通信データは、ＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）パケットであり、
前記通信ゲートウェイ部により送信されるメッセージは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである。
【００１４】
本発明の一の態様に係る中継装置は、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する中継インタフェースと、
請求項１から４のいずれか１項に記載の通信装置の名前と前記相手装置の名前とに個別に割り当てられたループバック用のアドレスが記録された記録媒体と、
前記通信装置から送信されたメッセージを受信し、前記記録媒体から、受信したメッセージに記述された送信先の名前に割り当てられたアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記中継インタフェースに入力する第１中継ゲートウェイ部と、
前記中継インタフェースによりループバックされる通信データを受信し、前記記録媒体から、受信した通信データの送信先のアドレスが割り当てられた名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置に送信する第２中継ゲートウェイ部とを備える。
【００１５】
前記第２中継ゲートウェイ部により受信される通信データは、ＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）パケットであり、
前記第１中継ゲートウェイ部により受信されるメッセージ及び前記第２中継ゲートウェイ部により送信されるメッセージは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである。
【００１６】
本発明の一の態様に係る通信装置は、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前の通知を受ける通信プログラムを実行するプログラム実行部と、
前記相手装置との通信を中継する中継装置から送信されるメッセージを受信し、名前をアドレスに変換する正引きのサービスを利用して、受信したメッセージに記述された送信元の名前からアドレスを取得し、取得したアドレスを送信元のアドレスとして含む通信データを前記通信インタフェースに入力する通信ゲートウェイ部と、
前記通信ゲートウェイ部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信元のアドレスから名前を取得し、取得した名前を、前記プログラム実行部により実行される通信プログラムに通知するデータ受信部とを備える。
【００１７】
前記通信ゲートウェイ部により入力される通信データは、ＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）パケットであり、
前記通信ゲートウェイ部により受信されるメッセージは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである。
【００１８】
本発明の一の態様に係る通信方法では、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースを備えるコンピュータのプログラム実行部が、通信相手である相手装置の名前を指定する通信プログラムを実行し、
前記コンピュータのデータ送信部が、名前をアドレスに変換する正引きのサービスを利用して、前記プログラム実行部により実行される通信プログラムで指定された名前からアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記通信インタフェースに入力し、
前記コンピュータの名前解決部が、前記データ送信部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供し、
前記コンピュータの通信ゲートウェイ部が、前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信先のアドレスから名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置との通信を中継する中継装置に送信する。
【００１９】
本発明の一の態様に係る通信方法では、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースを備えるコンピュータのプログラム実行部が、通信相手である相手装置の名前の通知を受ける通信プログラムを実行し、
前記コンピュータの通信ゲートウェイ部が、前記相手装置との通信を中継する中継装置から送信されるメッセージを受信し、名前をアドレスに変換する正引きのサービスを利用して、受信したメッセージに記述された送信元の名前からアドレスを取得し、取得したアドレスを送信元のアドレスとして含む通信データを前記通信インタフェースに入力し、
前記コンピュータの名前解決部が、前記通信ゲートウェイ部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供し、
前記コンピュータのデータ受信部が、前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信元のアドレスから名前を取得し、取得した名前を、前記プログラム実行部により実行される通信プログラムに通知する。
【００２０】
本発明の一の態様に係る通信ゲートウェイプログラムは、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前を指定する通信プログラムを実行するプログラム実行部と、
名前をアドレスに変換する正引きのサービスを利用して、前記プログラム実行部により実行される通信プログラムで指定された名前からアドレスを取得し、取得したアドレスを送信先のアドレスとして含む通信データを前記通信インタフェースに入力するデータ送信部と、
前記データ送信部により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部とを備えるコンピュータに、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信先のアドレスから名前を取得し、取得した名前を送信先の名前として記述したメッセージを、前記相手装置との通信を中継する中継装置に送信する処理を実行させる。
【００２１】
本発明の一の態様に係る通信ゲートウェイプログラムは、
通信データの入力を受け、入力された通信データの送信先のアドレスに対して当該通信データを出力する通信インタフェースと、
通信相手である相手装置の名前の通知を受ける通信プログラムを実行するプログラム実行部とを備えるコンピュータに、
前記相手装置との通信を中継する中継装置から送信されるメッセージを受信し、名前をアドレスに変換する正引きのサービスを利用して、受信したメッセージに記述された送信元の名前からアドレスを取得し、取得したアドレスを送信元のアドレスとして含む通信データを前記通信インタフェースに入力する処理を実行させ、
前記コンピュータは、
前記処理により利用される正引きのサービスとして、前記相手装置の名前をループバック用のアドレスに変換するサービスを提供し、アドレスを名前に変換する逆引きのサービスとして、当該ループバック用のアドレスを前記相手装置の名前に変換するサービスを提供する名前解決部と、
前記通信インタフェースによりループバックされる通信データを受信し、前記名前解決部により提供される逆引きのサービスを利用して、受信した通信データの送信元のアドレスから名前を取得し、取得した名前を、前記プログラム実行部により実行される通信プログラムに通知するデータ受信部とをさらに備える。
【発明の効果】
【００２２】
本発明では、名前をアドレスに変換する正引きのサービスとして、任意の名前をループバック用のアドレスに変換するサービスが提供され、アドレスを名前に変換する逆引きのサービスとして、ループバック用のアドレスを任意の名前に変換するサービスが提供される。このように、本発明では、任意の名前を使用可能とすることで管理を簡単にし、かつ、ループバックを活用することで既存の通信プログラムにも適用可能とした通信方式を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１に係る通信システムの構成を示すブロック図。
【図２】実施の形態１に係る通信システムの構成を示すブロック図。
【図３】実施の形態１に係る通信システムの動作を示すフローチャート。
【図４】実施の形態１に係る通信システムの動作を示すフローチャート。
【図５】実施の形態１に係る通信システムの動作を示すフローチャート。
【図６】実施の形態１に係る通信システムの動作を示すフローチャート。
【図７】実施の形態１に係る通信システムの動作を示すフローチャート。
【図８】本発明の実施の形態に係る通信システムの通信装置及び中継装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一又は相当する部分には、同一符号を付している。実施の形態の説明において、同一又は相当する部分については、その説明を適宜省略又は簡略化する。
【００２５】
実施の形態１．
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。
【００２６】
＊＊＊構成の説明＊＊＊
図１及び図２を参照して、本実施の形態に係るシステムである通信システム１００の構成を説明する。
【００２７】
通信システム１００は、接続元の通信装置２００と、中継装置３００と、接続先の通信装置４００とを備える。
【００２８】
接続元の通信装置２００と、接続先の通信装置４００は、それぞれ任意の機器であってよいが、本実施の形態では、企業の拠点等に設置されるパーソナルコンピュータである。なお、後述する接続元の通信装置２００の構成と接続先の通信装置４００の構成との両方が、１台の機器に含まれていてもよい。即ち、１台の機器が、接続元の機器として他の接続先の機器と通信するとともに、接続先の機器として他の接続元の機器と通信してもよい。
【００２９】
中継装置３００は、データセンタ等に設置されるサーバコンピュータである。中継装置３００は、接続元の通信装置２００と接続先の通信装置４００との通信を中継する。
【００３０】
接続元の通信装置２００と、中継装置３００と、接続先の通信装置４００は、図示していないインターネット等のネットワークに接続される。接続元の通信装置２００と、中継装置３００は、ネットワークを介して互いに通信する。中継装置３００と、接続先の通信装置４００も、ネットワークを介して互いに通信する。
【００３１】
接続元の通信装置２００は、通信インタフェース２０１を備える。また、通信装置２００は、プログラム実行部２１１と、データ送信部２１２と、名前解決部２１３と、通信ゲートウェイ部２１４とを備える。
【００３２】
通信インタフェース２０１は、通信データ１１０ａの入力を受ける。通信インタフェース２０１は、入力された通信データ１１０ａの送信先のアドレスに対して当該通信データ１１０ａを出力する。
【００３３】
プログラム実行部２１１は、通信相手である相手装置の名前１２０ｂを指定する通信プログラム２２１を実行する。本実施の形態において、接続元の通信装置２００にとっての相手装置は、接続先の通信装置４００である。
【００３４】
データ送信部２１２は、名前をアドレスに変換する正引きのサービス２３１を利用して、プログラム実行部２１１により実行される通信プログラム２２１で指定された名前１２０ｂからアドレス２４１を取得する。データ送信部２１２は、取得したアドレス２４１を送信先のアドレスとして含む通信データ１１０ａを通信インタフェース２０１に入力する。
【００３５】
名前解決部２１３は、データ送信部２１２により利用される正引きのサービス２３１として、相手装置の名前１２０ｂをループバック用のアドレス２４１に変換するサービスを提供する。また、名前解決部２１３は、アドレスを名前に変換する逆引きのサービス２３２として、当該ループバック用のアドレス２４１を相手装置の名前１２０ｂに変換するサービスを提供する。
【００３６】
通信ゲートウェイ部２１４は、通信インタフェース２０１によりループバックされる通信データ１１０ａを受信する。通信ゲートウェイ部２１４は、名前解決部２１３により提供される逆引きのサービス２３２を利用して、受信した通信データ１１０ａの送信先のアドレスから名前１２０ｂを取得する。通信ゲートウェイ部２１４は、取得した名前１２０ｂを送信先の名前として記述したメッセージ１３０ａを中継装置３００に送信する。
【００３７】
通信ゲートウェイ部２１４は、任意の方法を用いてメッセージ１３０ａを中継装置３００に送信してよいが、本実施の形態では、中継装置３００のアドレスを送信先のアドレスとして含み、メッセージ１３０ａをペイロードに含む通信データ１１０ｂを通信インタフェース２０１に入力することで、通信インタフェース２０１を介してメッセージ１３０ａを中継装置３００に送信する。通信データ１１０ｂのフォーマットは、通信データ１１０ａのフォーマットと同じである。
【００３８】
本実施の形態において、通信データ１１０ａには、送信先のアドレスのほかに、送信先のポート番号も含まれる。よって、通信インタフェース２０１は、入力された通信データ１１０ａの送信先のアドレスと送信先のポート番号との組み合わせに対して当該通信データ１１０ａを出力する。また、本実施の形態において、通信プログラム２２１は、相手装置の名前１２０ｂのほかに、接続先のポート番号も指定する。よって、データ送信部２１２は、通信インタフェース２０１に入力する通信データ１１０ａに、プログラム実行部２１１により実行される通信プログラム２２１で指定されたポート番号を送信先のポート番号として含める。通信ゲートウェイ部２１４は、中継装置３００に送信するメッセージ１３０ａに、受信した通信データ１１０ａの送信先のポート番号を記述する。
【００３９】
本実施の形態において、通信データ１１０ａには、さらに、送信元のアドレスも含まれるが、データ送信部２１２は、通信インタフェース２０１に入力する通信データ１１０ａに、任意のアドレスを送信元のアドレスとして含めればよい。通信ゲートウェイ部２１４は、受信した通信データ１１０ａの送信元のアドレスに関係なく、中継装置３００に送信するメッセージ１３０ａに、接続元の通信装置２００の名前１２０ａを送信元の名前として記述する。
【００４０】
本実施の形態において、通信データ１１０ａには、さらに、送信元のポート番号も含まれる。通信プログラム２２１は、相手装置の名前１２０ｂと接続先のポート番号とのほかに、接続元のポート番号も指定する。よって、データ送信部２１２は、通信インタフェース２０１に入力する通信データ１１０ａに、プログラム実行部２１１により実行される通信プログラム２２１で指定されたポート番号を送信元のポート番号として含める。通信ゲートウェイ部２１４は、中継装置３００に送信するメッセージ１３０ａに、受信した通信データ１１０ａの送信元のポート番号を記述する。
【００４１】
本実施の形態において、通信ゲートウェイ部２１４により受信される通信データ１１０ａは、ＩＰパケットである。よって、通信データ１１０ａに含まれる送信元及び送信先のアドレスは、ＩＰアドレスである。ＩＰｖ４（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・ｖｅｒｓｉｏｎ・４）の場合、正引きのサービス２３１及び逆引きのサービス２３２で用いられるループバック用のアドレス２４１としては、「１２７．０．０．２」から「１２７．２５５．２５５．２５４」の範囲内の任意のＩＰアドレスを用いることができる。
【００４２】
本実施の形態において、通信ゲートウェイ部２１４により送信されるメッセージ１３０ａは、ＨＴＴＰＳ（Ｈｙｐｅｒ・Ｔｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ・ｏｖｅｒ・Ｓｅｃｕｒｅ・ｓｏｃｋｅｔｓ・ｌａｙｅｒ）メッセージである。
【００４３】
プログラム実行部２１１により実行される通信プログラム２２１は、既存のプログラムであってよく、本実施の形態のために独自の改修をする必要はない。例えば、プログラム実行部２１１が通信プログラム２２１として既存のリモートデスクトップのクライアントプログラムを実行する場合には、ユーザが接続先として相手装置の名前１２０ｂを入力するだけで、相手装置のリモートデスクトップのサービスに接続してサービスを利用することができる。ポート番号としては、リモートデスクトップに一般的に使用されている「３３８９」を用いることができる。プログラム実行部２１１が、メーラ等、他のクライアントプログラムを実行する場合についても同様である。
【００４４】
中継装置３００は、中継インタフェース３０１と、記録媒体３０２とを備える。また、中継装置３００は、第１中継ゲートウェイ部３１１と、第２中継ゲートウェイ部３１２とを備える。
【００４５】
中継インタフェース３０１は、通信データ１１０ｃの入力を受ける。中継インタフェース３０１は、入力された通信データ１１０ｃの送信先のアドレスに対して当該通信データ１１０ｃを出力する。
【００４６】
記録媒体３０２には、接続元の通信装置２００の名前１２０ａと接続先の通信装置４００の名前１２０ｂとに個別に割り当てられたループバック用のアドレス３２１，３２２が記録される。アドレス３２１に対するループバックの出力先としては第１中継ゲートウェイ部３１１、アドレス３２２に対するループバックの出力先としては第２中継ゲートウェイ部３１２が設定される。即ち、アドレス３２１は、第１中継ゲートウェイ部３１１に対応し、アドレス３２２は、第２中継ゲートウェイ部３１２に対応する。
【００４７】
第１中継ゲートウェイ部３１１は、接続元の通信装置２００から送信されたメッセージ１３０ａを受信する。第１中継ゲートウェイ部３１１は、記録媒体３０２から、受信したメッセージ１３０ａに記述された送信先の名前である、接続先の通信装置４００の名前１２０ｂに割り当てられたアドレス３２２を取得する。第１中継ゲートウェイ部３１１は、取得したアドレス３２２を送信先のアドレスとして含む通信データ１１０ｃを中継インタフェース３０１に入力する。
【００４８】
第２中継ゲートウェイ部３１２は、中継インタフェース３０１によりループバックされる通信データ１１０ｃを受信する。第２中継ゲートウェイ部３１２は、記録媒体３０２から、受信した通信データ１１０ｃの送信先のアドレスが割り当てられた名前１２０ｂを取得する。第２中継ゲートウェイ部３１２は、取得した名前１２０ｂを送信先の名前として記述したメッセージ１３０ｂを接続先の通信装置４００に送信する。
【００４９】
第２中継ゲートウェイ部３１２は、任意の方法を用いてメッセージ１３０ｂを接続先の通信装置４００に送信してよいが、本実施の形態では、接続先の通信装置４００のアドレスを送信先のアドレスとして含み、メッセージ１３０ｂをペイロードに含む通信データ１１０ｄを中継インタフェース３０１に入力することで、中継インタフェース３０１を介してメッセージ１３０ｂを接続先の通信装置４００に送信する。通信データ１１０ｄのフォーマットは、通信データ１１０ｃのフォーマットと同じである。
【００５０】
本実施の形態において、通信データ１１０ｃには、送信先のアドレスのほかに、送信先のポート番号も含まれる。よって、中継インタフェース３０１は、入力された通信データ１１０ｃの送信先のアドレスと送信先のポート番号との組み合わせに対して当該通信データ１１０ｃを出力する。第１中継ゲートウェイ部３１１は、中継インタフェース３０１に入力する通信データ１１０ｃに、受信したメッセージ１３０ａに記述された送信先のポート番号を含める。第２中継ゲートウェイ部３１２は、接続先の通信装置４００に送信するメッセージ１３０ｂに、受信した通信データ１１０ｃの送信先のポート番号を記述する。
【００５１】
本実施の形態において、通信データ１１０ｃには、さらに、送信元のアドレスも含まれる。よって、第１中継ゲートウェイ部３１１は、中継インタフェース３０１に入力する通信データ１１０ｃに、第１中継ゲートウェイ部３１１に対応するループバック用のアドレス３２１を送信元のアドレスとして含める。第２中継ゲートウェイ部３１２は、記録媒体３０２から、受信した通信データ１１０ｃの送信元のアドレスである、ループバック用のアドレス３２１が割り当てられた名前１２０ａを取得する。第２中継ゲートウェイ部３１２は、接続先の通信装置４００に送信するメッセージ１３０ｂに、取得した名前１２０ａを送信元の名前として記述する。
【００５２】
本実施の形態において、通信データ１１０ｃには、さらに、送信元のポート番号も含まれる。よって、第１中継ゲートウェイ部３１１は、中継インタフェース３０１に入力する通信データ１１０ｃに、受信したメッセージ１３０ａに記述された送信元のポート番号を含める。第２中継ゲートウェイ部３１２は、接続先の通信装置４００に送信するメッセージ１３０ｂに、受信した通信データ１１０ｃの送信元のポート番号を記述する。
【００５３】
本実施の形態において、第２中継ゲートウェイ部３１２により受信される通信データ１１０ｃは、ＩＰパケットである。よって、通信データ１１０ｃに含まれる送信元及び送信先のアドレスは、ＩＰアドレスである。ＩＰｖ４の場合、記録媒体３０２に記録されるループバック用のアドレス３２１，３２２としては、「１２７．０．０．２」から「１２７．２５５．２５５．２５４」の範囲内の別々のＩＰアドレスを用いることができる。
【００５４】
本実施の形態において、第１中継ゲートウェイ部３１１により受信されるメッセージ１３０ａ及び第２中継ゲートウェイ部３１２により送信されるメッセージ１３０ｂは、ＨＴＴＰＳメッセージである。
【００５５】
接続先の通信装置４００は、通信インタフェース４０１を備える。また、通信装置４００は、プログラム実行部４１１と、通信ゲートウェイ部４１２と、名前解決部４１３と、データ受信部４１４とを備える。
【００５６】
通信インタフェース４０１は、通信データ１１０ｅの入力を受ける。通信インタフェース４０１は、入力された通信データ１１０ｅの送信先のアドレスに対して当該通信データ１１０ｅを出力する。
【００５７】
プログラム実行部４１１は、通信相手である相手装置の名前１２０ａの通知を受ける通信プログラム４２１を実行する。本実施の形態において、接続先の通信装置４００にとっての相手装置は、接続元の通信装置２００である。
【００５８】
通信ゲートウェイ部４１２は、中継装置３００から送信されるメッセージ１３０ｂを受信する。通信ゲートウェイ部４１２は、名前をアドレスに変換する正引きのサービス４３１を利用して、受信したメッセージ１３０ｂに記述された送信元の名前１２０ａからアドレス４４１を取得する。通信ゲートウェイ部４１２は、取得したアドレス４４１を送信元のアドレスとして含む通信データ１１０ｅを通信インタフェース４０１に入力する。
【００５９】
名前解決部４１３は、通信ゲートウェイ部４１２により利用される正引きのサービス４３１として、相手装置の名前１２０ａをループバック用のアドレス４４１に変換するサービスを提供する。また、名前解決部４１３は、アドレスを名前に変換する逆引きのサービス４３２として、当該ループバック用のアドレス４４１を相手装置の名前１２０ａに変換するサービスを提供する。
【００６０】
データ受信部４１４は、通信インタフェース４０１によりループバックされる通信データ１１０ｅを受信する。データ受信部４１４は、名前解決部４１３により提供される逆引きのサービス４３２を利用して、受信した通信データ１１０ｅの送信元のアドレスから名前１２０ａを取得する。データ受信部４１４は、取得した名前１２０ａを、プログラム実行部４１１により実行される通信プログラム４２１に通知する。
【００６１】
本実施の形態において、通信データ１１０ｅには、送信先のアドレスのほかに、送信先のポート番号も含まれる。よって、通信インタフェース４０１は、入力された通信データ１１０ｅの送信先のアドレスと送信先のポート番号との組み合わせに対して当該通信データ１１０ｅを出力する。通信ゲートウェイ部４１２は、通信インタフェース４０１に入力する通信データ１１０ｅに、受信したメッセージ１３０ｂに記述された送信先のポート番号を含める。また、本実施の形態において、通信プログラム４２１は、特定のポート番号で接続を受け付ける。よって、データ受信部４１４は、そのポート番号と、受信した通信データ１１０ｅの送信先のポート番号とが一致した場合に、取得した名前１２０ａを通信プログラム４２１に通知する。
【００６２】
本実施の形態において、通信データ１１０ｅには、送信元のアドレスのほかに、送信元のポート番号も含まれる。通信ゲートウェイ部４１２は、通信インタフェース４０１に入力する通信データ１１０ｅに、受信したメッセージ１３０ｂに記述された送信元のポート番号を含める。データ受信部４１４は、取得した名前１２０ａのほかに、受信した通信データ１１０ｅの送信元のポート番号を通信プログラム４２１に通知する。これにより、通信プログラム４２１は、通知された名前１２０ａとポート番号とを指定して、接続の要求に対する応答を返すことができる。
【００６３】
本実施の形態において、通信ゲートウェイ部４１２により入力される通信データ１１０ｅは、ＩＰパケットである。よって、通信データ１１０ｅに含まれる送信元及び送信先のアドレスは、ＩＰアドレスである。ＩＰｖ４の場合、正引きのサービス４３１及び逆引きのサービス４３２で用いられるループバック用のアドレス４４１としては、「１２７．０．０．２」から「１２７．２５５．２５５．２５４」の範囲内の任意のＩＰアドレスを用いることができる。
【００６４】
本実施の形態において、通信ゲートウェイ部４１２により受信されるメッセージ１３０ｂは、ＨＴＴＰＳメッセージである。
【００６５】
プログラム実行部４１１により実行される通信プログラム４２１は、既存のプログラムであってよく、本実施の形態のために独自の改修をする必要はない。例えば、プログラム実行部４１１が通信プログラム４２１として既存のリモートデスクトップのサーバプログラムを実行する場合には、接続元として相手装置の名前１２０ａが通知されるだけで、相手装置をリモートデスクトップのサービスに接続させてサービスを提供することができる。プログラム実行部４１１が、メールサーバ等、他のサーバプログラムを実行する場合についても同様である。
【００６６】
上記のように、本実施の形態では、ネットワーク上に中継装置３００が設置される。個々の通信装置２００，４００に対し、任意の名前付け、望ましくは系統付けた名前付けがなされる。名前１２０ａ，１２０ｂは、「ａ００１．ｇｒｏｕｐ１．ｌｏｃａｌｈｏｓｔ」、「ａ００２．ｇｒｏｕｐ１．ｌｏｃａｌｈｏｓｔ」等、インターネット上では使用不可な独自のものが望ましい。そのような名前付けを採用すれば、インターネット上のＦＱＤＮとは競合しないため、管理しやすい名前を設定できる。よって、前述した第２方式のような課題が生じにくい。
【００６７】
本実施の形態では、メッセージ１３０ａ，１３０ｂを送受信するための通信プロトコルとして、ＨＴＴＰＳが用いられる。それぞれの通信装置２００，４００が中継装置３００に対し、ＨＴＴＰＳセッションを張れる環境のみがあればよい。したがって、通常のブラウザからのアクセスと同等の通信を行うことになり、既存のインターネット環境が利用できる。機器ごとのファイアウォールの設計も不要となる。これにより、導入コスト及び導入期間を削減できる。よって、前述した第１方式及び第３方式のような課題が生じにくい。
【００６８】
本実施の形態では、それぞれの通信装置２００，４００に設定された名前１２０ａ，１２０ｂに対し、ループバック用のアドレス２４１，４４１がマッピングされる。このマッピングの方式としては、既存のＤＮＳ（Ｄｏｍａｉｎ・Ｎａｍｅ・Ｓｙｓｔｅｍ）を流用することができる。即ち、通信装置２００，４００の名前解決部２１３，４１３は、ＤＮＳで実現することができる。その場合、名前解決部２１３，４１３がプライマリＤＮＳとして設定されることが望ましい。名前解決部２１３，４１３は、名前１２０ａ，１２０ｂを渡された場合、ループバック用のアドレス２４１，４４１をダイナミックに払い出す。また、名前解決部２１３，４１３は、払い出し済のアドレス２４１，４４１に対して、名前１２０ａ，１２０ｂの逆引きを可能とする。なお、払い出されるアドレス２４１，４４１は、固定されていてもよい。即ち、ダイナミックな払い出しではなく、スタティックな払い出しが行われてもよい。払い出しの管理は、中継装置３００及び相手装置のＤＮＳとは独立しており、連動させる必要はない。このように、既存のＤＮＳを流用して、独自の名前１２０ａ，１２０ｂとループバック用のアドレス２４１，４４１とを対応させることにより、既存のＤＮＳを利用する通信アプリケーションを変更することなく利用できる。よって、前述した第４方式のような課題が生じにくい。
【００６９】
＊＊＊動作の説明＊＊＊
図３から図７を参照して、通信システム１００の動作を説明する。ここでは、通信システム１００が備える通信装置２００，４００の間でリモートデスクトップの通信が行われる場合について説明する。通信装置２００，４００の動作は、本実施の形態に係る通信方法に相当する。通信装置２００，４００が備える通信ゲートウェイ部２１４，４１２の動作は、本実施の形態に係る通信ゲートウェイプログラムの処理手順に相当する。
【００７０】
接続元の通信装置２００の名前１２０ａは「Ａ」、接続先の通信装置４００の名前１２０ｂは「Ｂ」であるとする。ここでは、説明の便宜上、簡易な名前付けをしているが、前述したように、系統付けた名前付けが好ましい。
【００７１】
接続先の通信装置４００には、中継装置３００と通信するゲートウェイ機能を有する通信ゲートウェイ部４１２が導入され、待ち受けを行うポート番号が予め設定される。図３は、通信装置４００の通信ゲートウェイ部４１２が、通信装置４００の名前１２０ｂと待ち受け用のポート番号とをカプセル化して中継装置３００に伝え、待ち受けの状態となる動作を示している。
【００７２】
ステップＳ１１において、通信装置４００の通信ゲートウェイ部４１２は、待ち受け要求のＨＴＴＰＳメッセージを生成する。この待ち受け要求のＨＴＴＰＳメッセージには、通信装置４００の名前１２０ｂである「Ｂ」が接続先の名前として記述され、リモートデスクトップのポート番号である「３３８９」が接続先のポート番号として記述される。
【００７３】
ステップＳ１２において、通信装置４００の通信ゲートウェイ部４１２は、ステップＳ１２で生成した待ち受け要求のＨＴＴＰＳメッセージを中継装置３００に送信する。
【００７４】
中継装置３００には、通信装置２００，４００と通信するゲートウェイ機能を有する第１中継ゲートウェイ部３１１及び第２中継ゲートウェイ部３１２が導入され、通信装置２００，４００の名前１２０ａ，１２０ｂとループバック用のアドレス３２１，３２２とが予め対応付けられる。ここでは、通信装置２００の名前１２０ａである「Ａ」とループバック用のアドレス３２１である「１２７．１．１．１」とが対応付けられ、通信装置４００の名前１２０ｂである「Ｂ」とループバック用のアドレス３２２である「１２７．１．１．２」とが対応付けられているとする。図４は、中継装置３００の第２中継ゲートウェイ部３１２が、接続先の通信装置４００からの待ち受け要求を受け、待ち受け「ａｃｃｅｐｔ」の状態となる動作を示している。
【００７５】
ステップＳ２１において、中継装置３００の第２中継ゲートウェイ部３１２は、接続先の通信装置４００から送信された待ち受け要求のＨＴＴＰＳメッセージを受信する。
【００７６】
ステップＳ２２において、中継装置３００の第２中継ゲートウェイ部３１２は、記録媒体３０２から、ステップＳ２１で受信した待ち受け要求のＨＴＴＰＳメッセージに記述された接続先の名前「Ｂ」に割り当てられたアドレス３２２である「１２７．１．１．２」を取得する。また、第２中継ゲートウェイ部３１２は、ステップＳ２１で受信した待ち受け要求のＨＴＴＰＳメッセージに記述された接続先のポート番号「３３８９」も取得する。
【００７７】
ステップＳ２３において、中継装置３００の第２中継ゲートウェイ部３１２は、ソケットを接続先ソケットとして作成し、ステップＳ２２で取得したアドレス「１２７．１．１．２」及びポート番号「３３８９」を接続先ソケットに割り当て、待ち受け「ａｃｃｅｐｔ」の状態に移行する。
【００７８】
接続元の通信装置２００には、中継装置３００と通信するゲートウェイ機能を有する通信ゲートウェイ部２１４が導入され、待ち受けを行うポート番号が予め設定される。図５は、通信装置２００の通信ゲートウェイ部２１４が、通信プログラム２２１から名前１２０ｂとポート番号とを指定した接続要求があった場合に、指定された名前１２０ｂとポート番号とをカプセル化して中継装置３００に伝える動作を示している。
【００７９】
ステップＳ３１において、通信装置２００のプログラム実行部２１１は、リモートデスクトップの通信プログラム２２１を実行し、接続先の通信装置４００の名前１２０ｂである「Ｂ」の入力をユーザから受け付ける。リモートデスクトップの通信プログラム２２１は、入力された名前「Ｂ」とリモートデスクトップの接続先のポート番号である「３３８９」とリモートデスクトップの接続元のポート番号である「４９１５２」とを指定して接続要求を行う。
【００８０】
ステップＳ３２において、通信装置２００のデータ送信部２１２は、正引きのサービス２３１を利用して、ステップＳ３１で指定された名前「Ｂ」からループバック用のアドレス２４１である「１２７．２．１．２」を取得する。このとき、或いは、事前に、通信装置２００の名前解決部２１３では、名前「Ｂ」とアドレス「１２７．２．１．２」とが対応付けられる。データ送信部２１２は、接続要求のＩＰパケットを通信インタフェース２０１に入力する。この接続要求のＩＰパケットには、アドレス「１２７．２．１．２」が送信先のアドレスとして含まれ、ステップＳ３１で指定された接続先のポート番号「３３８９」が送信先のポート番号として含まれ、ステップＳ３１で指定された接続元のポート番号「４９１５２」が送信元のポート番号として含まれる。この接続要求のＩＰパケットは、前述した通信データ１１０ａに相当する。この接続要求のＩＰパケットは、通信インタフェース２０１によりループバックされる。
【００８１】
ステップＳ３３において、通信装置２００の通信ゲートウェイ部２１４は、ステップＳ３２でループバックされた接続要求のＩＰパケットを受信する。
【００８２】
ステップＳ３４において、通信装置２００の通信ゲートウェイ部２１４は、逆引きのサービス２３２を利用して、ステップＳ３３で受信した接続要求のＩＰパケットに含まれる送信先のアドレス「１２７．２．１．２」から名前「Ｂ」を取得する。通信ゲートウェイ部２１４は、ステップＳ３３で受信した接続要求のＩＰパケットに含まれる送信先のポート番号「３３８９」及び送信元のポート番号「４９１５２」も取得する。
【００８３】
ステップＳ３５において、通信装置２００の通信ゲートウェイ部２１４は、接続要求のＨＴＴＰＳメッセージを生成する。この接続要求のＨＴＴＰＳメッセージには、ステップＳ３４で取得された名前「Ｂ」が送信先の名前として記述され、ステップＳ３４で取得された送信先のポート番号「３３８９」が送信先のポート番号として記述され、通信装置２００の名前１２０ａである「Ａ」が送信元の名前として記述され、ステップＳ３４で取得された送信元のポート番号「４９１５２」が送信元のポート番号として記述される。この接続要求のＨＴＴＰＳメッセージは、前述したメッセージ１３０ａに相当する。
【００８４】
ステップＳ３６において、通信装置２００の通信ゲートウェイ部２１４は、ステップＳ３５で生成した接続要求のＨＴＴＰＳメッセージを中継装置３００に送信する。
【００８５】
図６は、中継装置３００の第１中継ゲートウェイ部３１１が、接続元の通信装置２００から名前１２０ｂとポート番号とを指定した接続要求があった場合に、指定された名前１２０ｂに対応するアドレス３２２を求め、待ち受け「ａｃｃｅｐｔ」の状態から接続「ｃｏｎｎｅｃｔ」の状態となる動作を示している。また、図６は、中継装置３００の第２中継ゲートウェイ部３１２が、接続要求を接続先の通信装置４００に伝える動作も示している。
【００８６】
ステップＳ４１において、中継装置３００の第１中継ゲートウェイ部３１１は、接続元の通信装置２００から送信された接続要求のＨＴＴＰＳメッセージを受信する。
【００８７】
ステップＳ４２において、中継装置３００の第１中継ゲートウェイ部３１１は、記録媒体３０２から、ステップＳ４１で受信した接続要求のＨＴＴＰＳメッセージに記述された送信先の名前「Ｂ」に割り当てられたアドレス３２２である「１２７．１．１．２」を送信先のアドレスとして取得する。また、第１中継ゲートウェイ部３１１は、記録媒体３０２から、ステップＳ４１で受信した接続要求のＨＴＴＰＳメッセージに記述された送信元の名前「Ａ」に割り当てられたアドレス３２１である「１２７．１．１．１」を送信元のアドレスとして取得する。第１中継ゲートウェイ部３１１は、接続要求のＨＴＴＰＳメッセージに記述された送信先のポート番号「３３８９」及び送信元のポート番号「４９１５２」も取得する。
【００８８】
ステップＳ４３において、中継装置３００の第１中継ゲートウェイ部３１１は、ソケットを接続元ソケットとして作成し、ステップＳ４２で取得した送信元のアドレス「１２７．１．１．１」及び送信元のポート番号「４９１５２」を接続元ソケットに割り当てる。そして、第１中継ゲートウェイ部３１１は、ステップＳ４２で取得した送信先のアドレス「１２７．１．１．２」及び送信先のポート番号「３３８９」を指定することで、接続元ソケットと、ステップＳ２３で作成した接続先ソケットとによる接続「ｃｏｎｎｅｃｔ」の状態に移行する。具体的には、第１中継ゲートウェイ部３１１は、接続元ソケットと接続先ソケットとの間にＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ・Ｃｏｎｔｒｏｌ・Ｐｒｏｔｏｃｏｌ）コネクションを確立する。前述した通信データ１１０ｃは、このＴＣＰコネクションを確立するために中継装置３００の内部でループバックにより送受信されるＩＰパケットである。
【００８９】
ステップＳ４４において、中継装置３００の第２中継ゲートウェイ部３１２は、接続要求のＨＴＴＰＳメッセージを生成する。この接続要求のＨＴＴＰＳメッセージには、接続先ソケットのアドレス「１２７．１．１．２」が割り当てられた名前「Ｂ」が送信先の名前として記述され、接続先ソケットのポート番号「３３８９」が送信先のポート番号として記述され、接続元ソケットのアドレス「１２７．１．１．１」が割り当てられた名前「Ａ」が送信元の名前として記述され、接続元ソケットのポート番号「４９１５２」が送信元のポート番号として記述される。この接続要求のＨＴＴＰＳメッセージは、前述したメッセージ１３０ｂに相当する。
【００９０】
ステップＳ４５において、中継装置３００の第２中継ゲートウェイ部３１２は、ステップＳ４４で生成した接続要求のＨＴＴＰＳメッセージを接続先の通信装置４００に送信する。
【００９１】
接続先の通信装置４００の名前解決部４１３では、接続先の通信装置４００の名前１２０ｂである「Ｂ」とループバック用のアドレス４４１である「１２７．３．１．２」とが対応付けられている。図７は、通信装置４００の通信ゲートウェイ部４１２が、通信プログラム４２１で接続を受け付けることで、ネットワーク越しの通信装置２００，４００同士の通信を可能とする動作を示している。
【００９２】
ステップＳ５１において、通信装置４００の通信ゲートウェイ部４１２は、中継装置３００から送信された接続要求のＨＴＴＰＳメッセージを受信する。
【００９３】
ステップＳ５２において、通信装置４００の通信ゲートウェイ部４１２は、正引きのサービス４３１を利用して、ステップＳ５１で受信した接続要求のＨＴＴＰＳメッセージに記述された送信元の名前「Ａ」からループバック用のアドレス４４１である「１２７．３．１．１」を取得する。このとき、或いは、事前に、通信装置４００の名前解決部４１３では、名前「Ａ」とアドレス「１２７．３．１．１」とが対応付けられる。また、通信ゲートウェイ部４１２は、正引きのサービス４３１を利用して、ステップＳ５１で受信した接続要求のＨＴＴＰＳメッセージに記述された送信先の名前「Ｂ」からループバック用のアドレス４４１である「１２７．３．１．２」を取得する。通信ゲートウェイ部４１２は、ステップＳ５１で受信した接続要求のＨＴＴＰＳメッセージに記述された送信元のポート番号「４９１５２」及び送信先のポート番号「３３８９」も取得する。通信ゲートウェイ部４１２は、接続要求のＩＰパケットを通信インタフェース４０１に入力する。この接続要求のＩＰパケットには、アドレス「１２７．３．１．１」が送信元のアドレスとして含まれ、送信元のポート番号「４９１５２」が送信元のポート番号として含まれ、アドレス「１２７．３．１．２」が送信先のアドレスとして含まれ、送信先のポート番号「３３８９」が送信先のポート番号として含まれる。この接続要求のＩＰパケットは、前述した通信データ１１０ｅに相当する。この接続要求のＩＰパケットは、通信インタフェース４０１によりループバックされる。
【００９４】
ステップＳ５３において、通信装置４００のデータ受信部４１４は、ステップＳ５２でループバックされた接続要求のＩＰパケットを受信する。
【００９５】
ステップＳ５４において、通信装置４００のデータ受信部４１４は、逆引きのサービス４３２を利用して、受信した接続要求のＩＰパケットに含まれる送信元のアドレス「１２７．３．１．１」から名前「Ａ」を取得する。このとき、データ受信部４１４は、受信した接続要求のＩＰパケットに含まれる送信元のアドレス「１２７．３．１．１」と、送信元のポート番号「４９１５２」と、送信先のアドレス「１２７．３．１．２」と、送信先のポート番号「３３８９」とを用いて、接続元の通信装置２００と接続先の通信装置４００との間に、リモートデスクトップの通信を行うためのＴＣＰコネクションを確立する。
【００９６】
ステップＳ５５において、通信装置４００のプログラム実行部４１１は、リモートデスクトップの通信プログラム４２１を実行する。通信装置４００のデータ受信部４１４は、ステップＳ５４で取得した名前「Ａ」を、この通信プログラム４２１に通知する。これにより、ステップＳ５４で確立されたＴＣＰコネクションを介してリモートデスクトップの通信が開始される。
【００９７】
＊＊＊効果の説明＊＊＊
本実施の形態では、名前をアドレスに変換する正引きのサービス２３１，４３１として、任意の名前１２０ａ，１２０ｂをループバック用のアドレス２４１，４４１に変換するサービスが提供され、アドレスを名前に変換する逆引きのサービス２３２，４３２として、ループバック用のアドレス２４１，４４１を任意の名前１２０ａ，１２０ｂに変換するサービスが提供される。このように、本実施の形態では、任意の名前を使用可能とすることで管理を簡単にし、かつ、ループバックを活用することで既存の通信プログラムにも適用可能とした通信方式を提供することができる。
【００９８】
本実施の形態では、インターネット越しの独自の名前１２０ａ，１２０ｂでの通信方式を実現することができる。この方式では、独自の名前１２０ａ，１２０ｂだけで機器間の相互通信が可能となる。そのため、拠点、機器ごとのネットワーク構成を把握する必要がない。また、独自の正引きのサービス２３１，４３１及び逆引きのサービス２３２，４３２を提供することにより、既存のアプリケーションへの改修が不要になる。独自の名前１２０ａ，１２０ｂと、ループバック用のアドレス２４１，４４１とのマッピングは、機器ごとに独立して行うことができるため、柔軟性及び拡張性が高く、管理が容易な通信システム１００を実現することができる。
【００９９】
このように、本実施の形態によれば、遠隔地にある複数の機器同士がインターネット上で独自に管理しやすい名前で既存のアプリケーションの改修なしで相互に通信可能となる。
【０１００】
以下では、図８を参照して、本発明の実施の形態に係る通信装置２００，４００及び中継装置３００のハードウェア構成例を説明する。
【０１０１】
通信装置２００，４００及び中継装置３００は、それぞれコンピュータである。通信装置２００，４００及び中継装置３００は、それぞれプロセッサ９０１、補助記憶装置９０２、メモリ９０３、通信装置９０４、入力インタフェース９０５、ディスプレイインタフェース９０６といったハードウェアを備える。プロセッサ９０１は、信号線９１０を介して他のハードウェアと接続され、これら他のハードウェアを制御する。入力インタフェース９０５は、入力装置９０７に接続されている。ディスプレイインタフェース９０６は、ディスプレイ９０８に接続されている。
【０１０２】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ・Ｃｉｒｃｕｉｔ）である。プロセッサ９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ・Ｓｉｇｎａｌ・Ｐｒｏｃｅｓｓｏｒ）、又は、ＧＰＵ（Ｇｒａｐｈｉｃｓ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）である。
【０１０３】
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、フラッシュメモリ、又は、ＨＤＤ（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）である。補助記憶装置９０２は、中継装置３００であれば、記録媒体３０２に相当する。
【０１０４】
メモリ９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）である。
【０１０５】
通信装置９０４は、データを受信するレシーバ９２１及びデータを送信するトランスミッタ９２２を含む。通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ・Ｉｎｔｅｒｆａｃｅ・Ｃａｒｄ）である。通信装置９０４は、通信装置２２０，４００であれば、通信インタフェース２０１，４０１、中継装置３００であれば、中継インタフェース３０１に相当する。
【０１０６】
入力インタフェース９０５は、入力装置９０７のケーブル９１１が接続されるポートである。入力インタフェース９０５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ・Ｓｅｒｉａｌ・Ｂｕｓ）端子である。
【０１０７】
ディスプレイインタフェース９０６は、ディスプレイ９０８のケーブル９１２が接続されるポートである。ディスプレイインタフェース９０６は、例えば、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ・Ｄｅｆｉｎｉｔｉｏｎ・Ｍｕｌｔｉｍｅｄｉａ・Ｉｎｔｅｒｆａｃｅ）端子である。
【０１０８】
入力装置９０７は、例えば、マウス、タッチペン、キーボード、又は、タッチパネルである。
【０１０９】
ディスプレイ９０８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ・Ｃｒｙｓｔａｌ・Ｄｉｓｐｌａｙ）である。
【０１１０】
補助記憶装置９０２には、通信装置２００であれば、プログラム実行部２１１、データ送信部２１２、名前解決部２１３、通信ゲートウェイ部２１４、中継装置３００であれば、第１中継ゲートウェイ部３１１、第２中継ゲートウェイ部３１２、通信装置４００であれば、プログラム実行部４１１、通信ゲートウェイ部４１２、名前解決部４１３、データ受信部４１４といった「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリ９０３にロードされ、プロセッサ９０１に読み込まれ、プロセッサ９０１によって実行される。補助記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ・Ｓｙｓｔｅｍ）も記憶されている。ＯＳの少なくとも一部がメモリ９０３にロードされ、プロセッサ９０１はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
【０１１１】
図８では、１つのプロセッサ９０１が示されているが、通信装置２００，４００及び中継装置３００がそれぞれ複数のプロセッサ９０１を備えていてもよい。そして、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
【０１１２】
「部」の処理の結果を示す情報やデータや信号値や変数値は、補助記憶装置９０２、メモリ９０３、又は、プロセッサ９０１内のレジスタ又はキャッシュメモリに記憶される。
【０１１３】
「部」を「サーキットリ」で提供してもよい。また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。「回路」及び「サーキットリ」は、プロセッサ９０１だけでなく、ロジックＩＣ、ＧＡ（Ｇａｔｅ・Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ・Ｓｐｅｃｉｆｉｃ・Ｉｎｔｅｇｒａｔｅｄ・Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ・Ｇａｔｅ・Ａｒｒａｙ）といった他の種類の処理回路をも包含する概念である。
【０１１４】
以上、本発明の実施の形態について説明したが、この実施の形態を部分的に実施しても構わない。例えば、この実施の形態の説明において「部」として説明するもののうち、いずれか１つのみを採用してもよいし、いくつかの任意の組み合わせを採用してもよい。なお、本発明は、この実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【０１１５】
１００  通信システム、１１０ａ  通信データ、１１０ｂ  通信データ、１１０ｃ  通信データ、１１０ｄ  通信データ、１１０ｅ  通信データ、１２０ａ  名前、１２０ｂ  名前、１３０ａ  メッセージ、１３０ｂ  メッセージ、２００  通信装置、２０１  通信インタフェース、２１１  プログラム実行部、２１２  データ送信部、２１３  名前解決部、２１４  通信ゲートウェイ部、２２１  通信プログラム、２３１  正引きのサービス、２３２  逆引きのサービス、２４１  アドレス、３００  中継装置、３０１  中継インタフェース、３０２  記録媒体、３１１  第１中継ゲートウェイ部、３１２  第２中継ゲートウェイ部、３２１  アドレス、３２２  アドレス、４００  通信装置、４０１  通信インタフェース、４１１  プログラム実行部、４１２  通信ゲートウェイ部、４１３  名前解決部、４１４  データ受信部、４２１  通信プログラム、４３１  正引きのサービス、４３２  逆引きのサービス、４４１  アドレス、９０１  プロセッサ、９０２  補助記憶装置、９０３  メモリ、９０４  通信装置、９０５  入力インタフェース、９０６  ディスプレイインタフェース、９０７  入力装置、９０８  ディスプレイ、９１０  信号線、９１１  ケーブル、９１２  ケーブル、９２１  レシーバ、９２２  トランスミッタ。
【図１】
2016181803.tif 000003
【図２】
2016181803.tif 000004
【図３】
2016181803.tif 000005
【図４】
2016181803.tif 000006
【図５】
2016181803.tif 000007
【図６】
2016181803.tif 000008
【図７】
2016181803.tif 000009
【図８】
2016181803.tif 000010