(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】通信システム及び通信方法
(51)【国際特許分類】
H04L 45/74 20220101AFI20240117BHJP
【FI】
H04L45/74
(21)【出願番号】P 2020009480
(22)【出願日】2020-01-23
【審査請求日】2022-09-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】津村 遼
(72)【発明者】
【氏名】亀澤 寛之
(72)【発明者】
【氏名】中尾 隆史
(72)【発明者】
【氏名】古澤 慧
(72)【発明者】
【氏名】井浦 陽一郎
(72)【発明者】
【氏名】三好 俊介
(72)【発明者】
【氏名】百武 恭汰
(72)【発明者】
【氏名】井上 良信
(72)【発明者】
【氏名】江▲崎▼ 裕
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2010-192947(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/74
(57)【特許請求の範囲】
【請求項1】
公衆ネットワークに接続された第1転送装置
、複数の第2転送装置
、及び第3転送装置を有し、
前記第1転送装置は
、
プライベートネットワーク内のサーバが提供する
複数のサービス
の1つを要求
し、前記複数のサービスの1つに応じた仮想URLを宛先とするリクエストメッセージを、他のネットワーク内のクライアント装置から受信し、
前記第3転送装置に転送する第1転送部を有し、
前記第3転送装置は、前記リクエストメッセージを前記第2転送装置に転送し、
前記第2転送装置は、
前記プライベートネットワーク内の前記サーバの
前記サービスに応じたURLと、前記仮想URLとの対応関係が登録されたURLテーブルと、
前記複数のサービスの各々が属するグループを識別するサービスグループIDの1つに対応する転送プログラムに従って動作する回路であって、前記第3転送装置から転送された前記リクエストメッセージを、前記URLテーブルに基づき、前記仮想URLに対応する前記URLを宛先として前記サーバに転送する第2転送部とを有
し、
前記第1転送部は、前記クライアント装置に対応する前記サービスグループIDのうち、前記仮想URLに応じた前記サービスグループIDを前記リクエストメッセージに付与し、
前記第3転送装置は、前記リクエストメッセージに付与された前記サービスグループIDに対応する前記第2転送装置の前記転送プログラムに前記リクエストメッセージを転送することを特徴とする通信システム。
【請求項2】
前記第1転送装置は、ユーザにより設定された第1クライアントID及び前記仮想URLの対応関係が登録されたIDテーブルを有し、
前記第1転送部は、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致する場合、前記リクエストメッセージを前記第
3転送装置に転送し、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致しない場合、前記リクエストメッセージを前記第
3転送装置に転送しないことを特徴とする請求項1に記載の通信システム。
【請求項3】
前記IDテーブルには、さらに前記仮想URL及び
前記サービスグループIDと、前記第1クライアントIDとの対応関係が登録され、
前記第1転送部は、前記第1転送部に割り当てられた
前記第2クライアントIDが前記第1クライアントIDに一致する場合、前記IDテーブルに基づき、前記仮想URLに対応する前記サービスグループID及び前記第2クライアントIDを前記リクエストメッセージに付与して前記第
3転送装置に転送することを特徴とする請求項2に記載の通信システム。
【請求項4】
前記第2転送部は、前記サーバから前記リクエストメッセージに対するレスポンスメッセージを受信したとき、
前記レスポンスメッセージに含まれるURLが、前記URLテーブル内の前記URLに一致する場合、前記レスポンスメッセージ
に含まれるURLを
、該URLに一致した前記URLテーブル内の前記URLに対応する前記仮想URLに書き換えて前記レスポンスメッセージを前記第1転送装置に転送することを特徴とする請求項1乃至
3の何れかに記載の通信システム。
【請求項5】
公衆ネットワークに接続された第1転送装置
、複数の第2転送装置
、及び第3転送装置を用い、
前記第1転送装置は
、プライベートネットワーク内のサーバが提供する
複数のサービス
の1つを要求
し、前記複数のサービスの1つに応じた仮想URLを宛先とするリクエストメッセージを、他のネットワーク内のクライアント装置から受信し、
前記第3転送装置に転送し、
前記第3転送装置は、前記リクエストメッセージを前記第2転送装置に転送し、
前記第2転送装置は、
前記プライベートネットワーク内の前記サーバの
前記サービスに応じたURLと、前記仮想URLとの対応関係が登録されたURLテーブルを用い、
前記複数のサービスの各々が属するグループを識別するサービスグループIDの1つに対応する転送プログラムに従って回路を動作させることにより、前記第3転送装置から転送された前記リクエストメッセージを、前記URLテーブルに基づき、前記仮想URLに対応する前記URLを宛先として前記サーバに転送
し、
前記第1転送装置は、前記クライアント装置に対応する前記サービスグループIDのうち、前記仮想URLに応じた前記サービスグループIDを前記リクエストメッセージに付与し、
前記第3転送装置は、前記リクエストメッセージに付与された前記サービスグループIDに対応する前記第2転送装置の前記転送プログラムに前記リクエストメッセージを転送することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、通信システム及び通信方法に関する。
【背景技術】
【0002】
クラウド上のサービスの構築及び利用の際、クライアント装置から、サービスを提供するサーバにアクセスする手段が設けられる。アクセス手段としては、例えばHTTPなどのウェブ技術によりAPI(Application Programming Interface)にアクセスする方法が用いられることがある。APIへのアクセスを確立するため、例えば、VPN(Virtual Private Network)や専用線を利用する方法、または、URL(Uniform Resource Locator)によりインターネットにAPIを公開する方法が用いられる。
【0003】
VPNや専用線を利用する場合、低位のネットワーク層でシステム同士が接続されるため、多様なプロトコルを通信に用いることができる。しかし、ネットワークを透過するプロトコルの種類が多いため、通信経路の両端のセキュリティを同一のレベルにまで高めるなどの高セキュリティのネットワーク運用が求められる。また、IPルーティングなどを用いてネットワークを統合する設計が必要となる。
【0004】
また、インターネットにAPIを公開する場合、インターネットを介した各種のネットワーク攻撃への対策として、例えばAPIゲートウェイと呼ばれる専用のソフトウェアが導入される。なお、特許文献1には、モバイル端末のアプリケーションからイントラネット内のリソースにアクセスする技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記の何れの方法も高度な専門知識を必要とするため、システム構築などに必要なコストが増加するおそれがある。したがって、例えばクラウドシステムを試験やイベントなどで一時的に利用する場合や、複数の会社間で互いに特定のAPIだけにアクセスさせる場合、高いコストに見合わないおそれがある。
【0007】
これに対し、ネットワーク間ではなく、APIを中継するため、HTTP(HyperText Transfer Protocol)の中継技術を用いてAPIのエンドポイント間を中継する方法がある。HTTPの中継には、例えばプロキシ技術が用いられる。HTTPを中継する複数のソフトウェアを連携させれば、HTTPによる閉域網を構築することが可能であるため、HTTPにTLS(Transport Layer Security)のプロトコルを組み合わせて、安全なポイントツーポイント(Point-To-Point)の通信網を構築することができる。
【0008】
しかし、クライアント装置が設置されたデータセンタと、サービスを提供するサーバが設置されたデータセンタとが互いに異なる管理者により運営されている場合、HTTPによる閉域網の通信において、URLの名前解決が問題となる。例えばイントラネットのようなプライベートネットワーク内で運用されるサーバのURLは、インターネットなどの公衆通信網には公開されていない。
【0009】
このため、一般的に提供されるDNS(Domain Name System)による名前解決が不可能であり、例えばデータセンタ間でURLが重複するなどの障害が発生して、クライアント装置からサーバにアクセスできない。
【0010】
そこで本件は、プライベートネットワーク内のサービスに他のネットワーク内のクライアント装置からアクセスすることができる通信システム及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
1つの態様では、通信システムは、公衆ネットワークに接続された第1転送装置、複数の第2転送装置、及び第3転送装置を有し、前記第1転送装置は、プライベートネットワーク内のサーバが提供する複数のサービスの1つを要求し、前記複数のサービスの1つに応じた仮想URLを宛先とするリクエストメッセージを、他のネットワーク内のクライアント装置から受信し、前記第3転送装置に転送する第1転送部を有し、前記第3転送装置は、前記リクエストメッセージを前記第2転送装置に転送し、前記第2転送装置は、前記プライベートネットワーク内の前記サーバの前記サービスに応じたURLと、前記仮想URLとの対応関係が登録されたURLテーブルと、前記複数のサービスの各々が属するグループを識別するサービスグループIDの1つに対応する転送プログラムに従って動作する回路であって、前記第3転送装置から転送された前記リクエストメッセージを、前記URLテーブルに基づき、前記仮想URLに対応する前記URLを宛先として前記サーバに転送する第2転送部とを有し、前記第1転送部は、前記クライアント装置に対応する前記サービスグループIDのうち、前記仮想URLに応じた前記サービスグループIDを前記リクエストメッセージに付与し、前記第3転送装置は、前記リクエストメッセージに付与された前記サービスグループIDに対応する前記第2転送装置の前記転送プログラムに前記リクエストメッセージを転送する。
【0012】
1つの態様では、通信方法は、公衆ネットワークに接続された第1転送装置、複数の第2転送装置、及び第3転送装置を用い、前記第1転送装置は、プライベートネットワーク内のサーバが提供する複数のサービスの1つを要求し、前記複数のサービスの1つに応じた仮想URLを宛先とするリクエストメッセージを、他のネットワーク内のクライアント装置から受信し、前記第3転送装置に転送し、前記第3転送装置は、前記リクエストメッセージを前記第2転送装置に転送し、前記第2転送装置は、前記プライベートネットワーク内の前記サーバの前記サービスに応じたURLと、前記仮想URLとの対応関係が登録されたURLテーブルを用い、前記複数のサービスの各々が属するグループを識別するサービスグループIDの1つに対応する転送プログラムに従って回路を動作させることにより、前記第3転送装置から転送された前記リクエストメッセージを、前記URLテーブルに基づき、前記仮想URLに対応する前記URLを宛先として前記サーバに転送し、前記第1転送装置は、前記クライアント装置に対応する前記サービスグループIDのうち、前記仮想URLに応じた前記サービスグループIDを前記リクエストメッセージに付与し、前記第3転送装置は、前記リクエストメッセージに付与された前記サービスグループIDに対応する前記第2転送装置の前記転送プログラムに前記リクエストメッセージを転送する。
【発明の効果】
【0013】
1つの側面として、プライベートネットワーク内のサービスに他のネットワーク内のクライアント装置からアクセスすることができる。
【図面の簡単な説明】
【0014】
【
図2】クライアント側の転送サーバの一例を示す構成図である。
【
図4】サービス側の転送サーバの一例を示す構成図である。
【
図5】転送サーバ間の設定処理の一例を示すシーケンス図である。
【
図6】クライアント処理サーバからサービス提供サーバにリクエストメッセージを転送する処理の一例を示すシーケンス図である。
【
図7】クライアント側の転送部によるリクエストメッセージの転送処理の一例を示すフローチャートである。
【
図8】ルータの転送部によるリクエストメッセージの転送処理の一例を示すフローチャートである。
【
図9】サービス側の転送部によるリクエストメッセージの転送処理の一例を示すフローチャートである。
【
図10】サービス側の転送部によるレスポンスメッセージの転送処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
(通信システムの構成)
図1は、通信システム900の一例を示す構成図である。通信システム900は、クライアントにクラウド上のサービスを提供し、一例としてデータセンタ9a,9b及びクラウドサービスシステム9cの通信機器を含む。
【0016】
クライアント側のデータセンタ9aの通信機器には、転送サーバ1及びクライアント処理サーバ5が含まれる。データセンタ9aにはLAN(Local Area Network)91が設けられ、クライアント処理サーバ5及び転送サーバ1はLAN91に接続されている。LAN91はネットワークの一例であり、クライアント処理サーバ5はクライアント装置の一例である。
【0017】
クライアント処理サーバ5にはクライアントプログラム5pが実装されている。クライアント処理サーバ5は、クライアントプログラム5pに従い、不図示のクライアント端末(スマートフォンなど)と通信することによりクライアント端末からのサービスの要求するリクエストメッセージを生成する。クライアント処理サーバ5は、リクエストメッセージを、LAN91を介して転送サーバ1に送信する。
【0018】
転送サーバ1は、LAN91及びインターネット90に接続されている。転送サーバ1には、複数の転送プログラム1p-1~1p-n(n:正の整数)が実装されている。データセンタ9aの管理者C_adminは、クライアントを識別するCID(クライアントID、Client Identifier)を指定して転送プログラム1p-1~1p-nを起動する。このため、転送サーバ1では、クライアントごとの転送プログラム1p-1~1p-nが実行される。なお、転送プログラム1p-1~1p-nは、共通の転送サーバ1で実行されるが、複数の転送サーバ1でそれぞれ実行されてもよい。
【0019】
転送サーバ1は、転送プログラム1p-1~1p-nに従って、クライアント処理サーバ5からリクエストメッセージを受信し、インターネット90に送信する。転送サーバ1は、不図示のゲートウェイ装置を介してリクエストメッセージを送信してもよいし、転送サーバ1に設けられたゲートウェイ機能によりリクエストメッセージを送信してもよい。
【0020】
クラウドサービスシステム9cの通信機器には、LAN93を介して互いに接続されたルータ3及び管理サーバ4が含まれる。クラウドサービスシステム9cは、クライアントにクラウド上のサービスを提供するための通信経路を提供するSaaS(Software as a Service)である。ルータ3にはルータプログラム3pが実装され、管理サーバ4にはコントローラプログラム4pが実装されている。
【0021】
ルータ3は、インターネット90及びLAN93に接続され、ルータプログラム3pに従って、転送サーバ1からインターネット90を介してリクエストメッセージを受信して、サービス側のデータセンタ9bに転送する。ルータ3は、一例としてHTTPSにより転送サーバ1と通信する。管理サーバ4は、リクエストメッセージの転送に必要な制御テーブルを生成してルータ3に設定する。なお、ルータ3及び管理サーバ4の動作の詳細は後述する。
【0022】
サービス側のデータセンタ9bの通信機器には、転送サーバ2及びサービス提供サーバ6が含まれる。データセンタ9bにはLAN92が設けられ、サービス提供サーバ6及び転送サーバ2はLAN92に接続されている。LAN92は、イントラネットの一部であり、インターネット90から分離されたプライベートネットワークの一例である。また、サービス提供サーバ6は、プライベートネットワーク内のサーバの一例である。
【0023】
転送サーバ2は、インターネット90及びLAN92に接続されている。これにより、データセンタ9aの転送サーバ1とデータセンタ9bの転送サーバ2は、インターネット90に接続されたルータ3を介して互いに通信する。インターネット90は公衆ネットワークの一例であり、転送サーバ1は第1転送装置の一例であり、転送サーバ2は第2転送装置の一例である。
【0024】
転送サーバ2には、複数の転送プログラム2p-1~2p-m(m:正の整数)が実装されている。データセンタ9bの管理者S_adminは、サービスが属するグループを識別するSGID(サービスグループID、Service Groupe Identifier)を指定して転送プログラム2p-1~2p-mを起動する。このため、転送サーバ2では、グループごとの転送プログラム2p-1~2p-mが実行される。なお、転送プログラム2p-1~2p-mは、共通の転送サーバ2で実行されるが、複数の転送サーバ2でそれぞれ実行されてもよい。
【0025】
転送サーバ2は、一例としてHTTPSによりルータ3と通信する。転送サーバ2は、転送プログラム2p-1~2p-mに従って、ルータ3からリクエストメッセージを受信し、サービス提供サーバ6に送信する。ルータ3は、複数の転送プログラム2p-1~2p-mのうち、リクエストメッセージのSGIDに応じた転送プログラムにリクエストメッセージを転送する。転送サーバ2は、不図示のゲートウェイ装置を介してリクエストメッセージを受信してもよいし、転送サーバ2に設けられたゲートウェイ機能によりリクエストメッセージを受信してもよい。
【0026】
サービス提供サーバ6には、互いに異なるサービスを提供する複数のサービスプログラム6p-1~6p-k(k:正の整数)が実装されている。サービス提供サーバ6は、複数のサービスプログラム6p-1~6p-kのうち、リクエストメッセージの要求先のサービスに該当するサービスプログラムに従ってクライアントにサービスを提供する。サービスプログラム6p-1~6p-kは、それぞれ、クライアントが利用可能なAPIを備える。なお、サービスプログラム6p-1~6p-kは、共通のサービス提供サーバ6で実行されるが、複数のサービス提供サーバ6でそれぞれ実行されてもよい。
【0027】
サービスプログラム6p-1~6p-kには、それぞれ、イントラネット内の位置を示すURLとしてサービスURLが割り当てられている。サービスURLは、インターネット90上に公開されないため、クライアント側のデータセンタ9a内のLAN91では、インターネット90内のDNS(Domain Name System)を用いてもサービスURLの名前解決ができず、サービスURLに対応するIP(Internet Protocol)アドレスの検索が不可能である。
【0028】
このため、データセンタ9aの管理者C_adminは、サービスURLに代わる仮想URLを生成する。仮想URLは、サービスプログラム6p-1~6p-kの位置をサービスURLの代わりに示す仮想的なURLである。
【0029】
クライアント処理サーバ5は、仮想URLを宛先とするリクエストメッセージを生成する。仮想URLは、LAN91において、DNSにより名前解決される。このため、リクエストメッセージは、仮想URLに応じた転送プログラム1p-1~1p-nに転送される。
【0030】
転送プログラム1p-1~1p-nは、管理者C_adminから指定されたCIDと、クライアント処理サーバ5から受信したリクエストメッセージの仮想URLとに対応するSGIDを、CIDとともにリクエストメッセージに付与してルータ3に送信する。ルータ3は、サービス側のデータセンタ9bの転送サーバ2の転送プログラム2p-1~2p-mのうち、リクエストメッセージのSGIDに対応する転送プログラムにリクエストメッセージを転送する。
【0031】
転送プログラム2p-1~2p-mは、リクエストメッセージの仮想URLに対応するサービスURLを宛先として、リクエストメッセージをサービスプログラム6p-1~6p-kに転送する。サービスURLは、LAN92を含むイントラネット内では有効であるため、DNSにより名前解決される。このため、リクエストメッセージは、サービスURLに応じたサービスプログラム6p-1~6p-kに転送される。
【0032】
したがって、プライベートネットワークであるLAN92内のサービスにLAN91内のクライアント処理サーバ5からアクセスすることができる。
【0033】
転送サーバ1は、リクエストメッセージの転送処理において、ルータ3からインターネット90を介して送信される制御テーブルに基づきCID及び仮想URLからSGIDを検索する。転送サーバ2は、リクエストメッセージの転送処理において、ルータ3からインターネット90を介して送信される制御テーブルに基づき仮想URLからサービスURLを検索する。
【0034】
管理サーバ4は、サービス側のデータセンタ9bの管理者S_adminからCID、SGID、サービスURL、及び仮想URLの組み合わせの入力を受けて制御テーブルを生成する。管理サーバ4は、ルータ3に制御テーブルを送信する。
【0035】
ルータ3は、管理サーバ4から受信した制御テーブルから、転送サーバ1,2ごとに異なる制御テーブルを生成して転送サーバ1,2に送信する。また、ルータ3は、管理サーバ4から受信した制御テーブルから、SGIDからサービス側のデータセンタ9bの転送サーバ2の転送プログラム2p-1~2p-mを検索するための制御テーブルを生成してリクエストメッセージの転送処理に用いる。ここで、ルータ3は第3転送装置の一例である。なお、転送サーバ1,2及びルータ3の各制御テーブルは後述する。
【0036】
(クライアント側の転送サーバ1の構成)
図2は、クライアント側の転送サーバ1の一例を示す構成図である。転送サーバ1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、HDD(Hard Disk Drive)13、通信ポート14、及びユーザインタフェース部(ユーザIF)15を有する。CPU10は、互いに信号の入出力ができるように、ROM11、RAM12、HDD13、通信ポート14、及びユーザIF15と、バス19を介して接続されている。
【0037】
ROM11には、転送プログラム1p-1~1p-nが格納されている。RAM12は、CPU10のワーキングメモリとして機能する。通信ポート14は、例えばNIC(Network Interface Card)であり、LAN91及びインターネット90上のCPU10の通信を処理する。ユーザIF15は、CPU10と、例えばパーソナルコンピュータなどのユーザの端末との間の通信を処理する。なお、ユーザIF15は、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specified Integrated Circuit)などのハードウェアにより構成される。
【0038】
CPU10は、管理者C_adminからユーザIF15経由で転送プログラム1p-1~1p-nの起動の指示を受け付ける。CPU10は起動指示対象の転送プログラム1p-1~1p-nをROM11から読み込み、起動指示で指定されたCIDを転送プログラム1p-1~1p-nに割り当てる。
【0039】
CPU10は、ROM11から転送プログラム1p-1~1p-nの何れかを読み込むと、機能として転送部100を形成する。転送部100は、ルータ3から通信ポート14を介して制御テーブル130を受信してHDD13に保存する。なお、転送部100には、起動指示で指定されたCIDが割り当てられている。
【0040】
制御テーブル130には、CID、仮想URL、及びSGIDの対応関係が登録されている。CID、仮想URL、及びSGIDの対応関係は、サービス側のデータセンタ9bの管理者S_adminが管理サーバ4に対して設定する。これにより、SGIDに該当するサービスプログラム6p-1~6p-kを利用可能なクライアントが規定される。
【0041】
転送部100は、仮想URLを宛先とし、LAN92内のサービス提供サーバ6が提供するサービスを要求するリクエストメッセージを、他のLAN91内のクライアント処理サーバ5から受信し、サービス側のデータセンタ9bの転送サーバ2に転送する。なお、転送部100は第1転送部の一例である。
【0042】
転送部100は、宛先の仮想URLに従ってリクエストメッセージを、通信ポート14を介してクライアント処理サーバ5から受信する。転送部100は、リクエストメッセージの仮想URLを制御テーブル130内の仮想URLと照合する。転送部100は、照合の結果、仮想URL同士が一致した場合、CIDの照合を行う。
【0043】
転送部100は、転送部100に割り当てられたCIDが、制御テーブル130内の当該仮想URLに対応するCIDに一致する場合、リクエストメッセージをルータ3に転送し、転送部100に割り当てられたCIDが、制御テーブル130内の当該仮想URLに対応するCIDに一致しない場合、リクエストメッセージをルータ3に転送しない。
【0044】
このため、管理者S_adminにより制御テーブル130に設定されたCIDの転送部100だけがリクエストメッセージを転送することができる。例えばCID「KKx0193yava0」の転送部100は、仮想URL「https://Service_C.co.jp」のリクエストメッセージを受信した場合、制御テーブル130による照合の結果、CIDと仮想URLの組み合わせが制御テーブル130の内容と一致するため、リクエストメッセージを転送する。
【0045】
しかし、他のCID「Pxhimah1090x」の転送部100は、仮想URL「https://Service_C.co.jp」のリクエストメッセージを受信した場合、CIDと仮想URLの組み合わせが制御テーブル130の内容と一致しないため、リクエストメッセージを転送しない。このため、正当なクライアントだけがサービスにアクセスすることができる。なお、制御テーブル130内のCIDは第1クライアントIDの一例であり、転送部100のCIDは第2クライアントIDの一例である。また、制御テーブル130はIDテーブルの一例である。
【0046】
また、制御テーブル130には、CIDとSGIDの対応関係も登録されている。SGIDは、複数のサービスをグループ単位で扱うための識別子であり、複数の仮想URLの間で共通である。例えば仮想URL「https://Service_C.co.jp」及び仮想URL「https://Service_Y.co.jp」には共通のSGID「Abcdef01294au0xa」が割り当てられている。
【0047】
転送部100は、転送部100に割り当てられたCIDが、制御テーブル130内の当該仮想URLに対応するCIDに一致する場合、制御テーブル130に基づき、当該仮想URLに対応するSGID及びCIDをリクエストメッセージに付与してサービス側のデータセンタ9bの転送サーバ2に転送する。このため、転送サーバ1,2は、クライアントごとに、複数のサービスプログラム6p-1~6p-kによるサービスの通信におけるTLS(HTTPS)などのセキュリティ設定などを共通化することができる。
【0048】
転送部100は、リクエストメッセージに自己のCID及び該当SGIDを付与し、通信ポート14を介してルータ3に転送する。
【0049】
(ルータ3の構成)
図3は、ルータ3の一例を示す構成図である。ルータ3は、CPU30、ROM31、RAM32、ストレージメモリ33、及び通信ポート34を有する。CPU30は、互いに信号の入出力ができるように、ROM31、RAM32、ストレージメモリ33、及び通信ポート34と、バス39を介して接続されている。
【0050】
ROM31には、ルータプログラム3pが格納されている。RAM32は、CPU30のワーキングメモリとして機能する。通信ポート34は、例えばNICであり、インターネット90上のCPU30の通信を処理する。
【0051】
CPU30は、ROM31からルータプログラム3pを読み込むと、機能として転送部300を形成する。転送部300は、管理サーバ4から送信された制御テーブルから新たに制御テーブル330を生成してストレージメモリ33に保存する。
【0052】
制御テーブル330には、SGIDと転送プログラムIDの対応関係が登録されている。転送プログラムIDは、転送サーバ2で動作する転送プログラム2p-1~2p-mを識別する識別子であり、一例としてその符号2p-1~2p-mが例示されている。
【0053】
転送部300は、制御テーブル130に基づき、リクエストメッセージを、リクエストメッセージに付与されたSGIDに応じた転送プログラム2p-1~2p-mに転送する。転送部300は、例えばSGIDが「Abcdef01294au0xa」である場合、リクエストメッセージを転送プログラム2p-1に転送する。リクエストメッセージは、インターネット90を介してサービス側の転送サーバ2に送信される。なお、転送部300は第3転送部の一例である。
【0054】
(サービス側の転送サーバ2の構成)
図4は、サービス側の転送サーバ2の一例を示す構成図である。転送サーバ2は、CPU20、ROM21、RAM22、HDD23、通信ポート24、及びユーザインタフェース部(ユーザIF)25を有する。CPU20は、互いに信号の入出力ができるように、ROM21、RAM22、HDD23、通信ポート24、及びユーザIF25と、バス29を介して接続されている。
【0055】
ROM21には、転送プログラム2p-1~2p-mが格納されている。RAM22は、CPU20のワーキングメモリとして機能する。通信ポート24は、例えばNICであり、LAN92及びインターネット90上のCPU20の通信を処理する。ユーザIF25は、CPU20と、例えばパーソナルコンピュータなどのユーザの端末との間の通信を処理する。なお、ユーザIF25は、例えばFPGAやASICなどのハードウェアにより構成される。
【0056】
CPU20は、管理者S_adminからユーザIF25経由で転送プログラム2p-1~2p-mの起動の指示を受け付ける。CPU20は起動指示対象の転送プログラム2p-1~2p-mをROM21から読み込み、起動指示で指定されたSGIDを転送プログラム2p-1~2p-mに割り当てる。
【0057】
CPU20は、ROM21から転送プログラム2p-1~2p-mの何れかを読み込むと、機能として転送部200を形成する。転送部200は、ルータ3から通信ポート24を介して制御テーブル230を受信してHDD23に保存する。なお、転送部200には、起動指示で指定されたSGIDが割り当てられている。
【0058】
制御テーブル230には、サービスURL、仮想URL、及びSGIDの対応関係が登録されている。サービスURL、仮想URL、及びSGIDの対応関係は、サービス側のデータセンタ9bの管理者S_adminが管理サーバ4に対して設定する。これにより、クライアント側の仮想URLがサービス提供サーバ6のサービスURLの関係が規定される。なお、制御テーブル230はURLテーブルの一例であり、サービスURLはサービス提供サーバ6のサービスに応じたURLの一例である。
【0059】
転送部200は、クライアント側の転送サーバ1から転送されたリクエストメッセージを、制御テーブル230に基づき、仮想URLに対応するサービスURLを宛先としてサービス提供サーバ6に転送する。このため、転送部200は、仮想URLがサービス側のLAN92内で無効であっても、仮想URLに対応するサービスURLを制御テーブル230から取得してサービス提供サーバ6に転送することができる。なお、転送部200は第2転送部の一例である。
【0060】
ここで、サービスURLは、サービスプログラム6p-1~6p-kごとに存在するため、リクエストメッセージはサービスURLに応じたサービスプログラム6p-1~6p-kに転送される。
【0061】
また、制御テーブル230では、異なるサービスURL及び仮想URLの組み合わせに対して共通のSGIDが対応付けられている。このため、転送部200は、クライアント側の転送部100とともに、SGIDごとに複数のサービスプログラム6p-1~6p-kによるサービスの通信におけるTLS(HTTPS)などのセキュリティ設定などを共通化することができる。
【0062】
また、ルータ3の転送部300は、リクエストメッセージに付与されたSGIDに基づき、SGIDに対応する転送プログラム2p-1~2p-mの転送部200にリクエストメッセージを転送する。このため、転送部300は、SGIDごとに複数のサービスプログラム6p-1~6p-kによるサービスの通信におけるTLS(HTTPS)などのセキュリティ設定などを共通化することができる。
【0063】
(転送サーバ1,2間の通信経路の設定処理のシーケンス)
図5は、転送サーバ1,2間の設定処理の一例を示すシーケンス図である。サービス側のデータセンタ9bの管理者S_adminは、パーソナルコンピュータなどの端末から管理サーバ4に対し、クライアントに応じたCIDの生成を依頼する。管理サーバ4(コントローラプログラム4p)は、依頼に応じてCIDを生成して(符号S1)管理者S_adminに通知する。
【0064】
管理者S_adminは、クライアント側のデータセンタ9aの管理者C_adminに対しCIDを通知する。管理者C_adminは、データセンタ9a内の転送サーバ1に対し、通知されたCIDを指定して転送プログラム1p-1の起動を指示する(符号S2)。
【0065】
次に転送サーバ1(転送プログラム1p-1)は、認証情報とともに接続要求をルータ3に送信する。ルータ3(ルータプログラム3p)は、認証情報に基づいて転送サーバ1を認証して(符号S3)、接続要求に対する応答を転送サーバ1に送信する。
【0066】
また、クライアント側のデータセンタ9aの管理者C_adminは、クライアントが要求するサービスに該当するサービスプログラム6p-1~6p-kに対応する仮想URLを決定し、サービス側のデータセンタ9bの管理者S_adminに通知する。管理者S_adminは、仮想URLに応じたサービスURLを取得して、パーソナルコンピュータなどの端末から管理サーバ4に対し、サービスURLに対応するSGIDの生成を依頼する。なお、SGIDには1または複数のサービスURLが対応する。
【0067】
管理サーバ4は、依頼に応じSGIDを生成して(符号S4)、管理者S_adminの端末に通知する。管理者S_adminは、データセンタ9b内の転送サーバ2に対し、通知されたSGIDを指定して転送プログラム2p-1の起動を指示する(符号S5)。
【0068】
次に転送サーバ2(転送プログラム2p-1)は、認証情報とともに接続要求をルータ3に送信する。ルータ3(ルータプログラム3p)は、認証情報に基づいて転送サーバ2を認証して(符号S6)、接続要求に対する応答を転送サーバ2に送信する。
【0069】
サービス側のデータセンタ9bの管理者S_adminは、パーソナルコンピュータなどの端末から管理サーバ4に対し、互いに対応するCID、SGID、サービスURL、及び仮想URLの組み合わせを登録する。管理サーバ4は、その組み合わせに従って制御テーブル(制御TBL)を生成する(符号S7)。管理サーバ4は、制御テーブルをルータ3に送信する。ルータ3は、管理サーバ4から受信した制御テーブルに基づいて制御テーブル130,230,330を生成し、制御テーブル130,230を転送サーバ1,2にそれぞれ送信する。
【0070】
このように、通信システム900は、CID、SGID、サービスURL、及び仮想URLの組み合わせに基づいて、クライアント側の転送サーバ1からルータ3を介してサービス側の転送サーバ2に至る通信経路を形成する。
【0071】
(リクエストメッセージの転送のシーケンス)
図6は、クライアント処理サーバ5からサービス提供サーバ6にリクエストメッセージ(リクエストMSG)を転送する処理の一例を示すシーケンス図である。本処理は、上記の通信システム900を用いた通信方法の一例である。
【0072】
クライアント処理サーバ5(クライアントプログラム5p)は、クライアントの端末からの要求に従って、仮想URLを宛先として、LAN92内のサービス提供サーバ6を要求するリクエストMSGを生成してクライアント側の転送サーバ1に送信する。
【0073】
転送サーバ1では、転送プログラム1p-1~1p-nのうち、制御テーブル130に基づいて、仮想URLに対応するCIDの転送プログラム1p-1の転送部100がリクエストMSGを転送する。転送部100は、自己のCID及びリクエストMSGの仮想URLの組み合わせが制御テーブル130のCID及び仮想URLの組み合わせに一致した場合、仮想URLに対応するSGIDを検索して(符号S11)、CID及びSGIDをリクエストMSGに付与して、リクエストMSGをルータ3に転送する。
【0074】
このため、制御テーブル130に登録されたCIDのクライアントだけが、仮想URLに対応するSGIDのサービスにアクセスすることができる。また、転送部100は、SGIDごとに複数のサービスプログラム6p-1~6p-kによるサービスの通信におけるTLS(HTTPS)などのセキュリティ設定などを共通化することができる。
【0075】
ルータ3(ルータプログラム3p)は、制御テーブル330に基づいて、転送プログラム2p-1~2p-mのうち、リクエストMSGのSGIDに応じた転送プログラム2p-1を特定する(符号S12)。ルータ3の転送部300は、特定した転送プログラム2p-1を宛先としてリクエストMSGを、インターネット90を介してサービス側の転送サーバ2に転送する。
【0076】
このため、転送部300は、SGIDごとに複数のサービスプログラム6p-1~6p-kによるサービスの通信におけるTLS(HTTPS)などのセキュリティ設定などを共通化することができる。
【0077】
転送サーバ2は、転送プログラム2p-1の転送部200によりリクエストMSGを受信する。転送部200は、制御テーブル230に基づき、仮想URLに対応するサービスURLを検索する(符号S13)。転送部200は、検索したサービスURLを宛先として、リクエストMSGをサービス提供サーバ6に転送する。
【0078】
サービス提供サーバ6では、サービスプログラム6p-1~6p-kのうち、サービスURLに応じたサービスプログラムがリクエストMSGを受信して、リクエストMSGに応じたレスポンスメッセージ(レスポンスMSG)を生成する(符号S14)。サービス提供サーバ6は、レスポンスMSGをサービス側の転送サーバ2に送信する。
【0079】
転送サーバ2の転送部200は、レスポンスMSGにサービスURLが含まれる場合、制御テーブル230に基づき、サービスURLに対応する仮想URLを検索する(符号S15)。転送部200は、サービスURLを削除して、仮想URLをレスポンスMSGに付与する。転送サーバ2は、ルータ3を介してクライアント側の転送サーバ1にレスポンスMSGを転送する。
【0080】
このように、転送部200は、サービス提供サーバ6からリクエストMSGに対する応答メッセージを受信したとき、制御テーブル230に基づき、レスポンスMSGの送信元のサービスURLを仮想URLに書き換えてレスポンスMSGを転送サーバ1に転送する。このため、サービス側のデータセンタ9b内のサービスのサービスURLが、クライアント側のデータセンタ9aに漏れることが抑制される。このため、クライアント処理サーバ5がレスポンスメッセージを受信したとき、クライアントプログラム5pが、レスポンスメッセージ中のヘッダ内のサービスURLを宛先として新たなリクエストメッセージを送信することが防止される。
【0081】
転送サーバ1は、レスポンスMSGをクライアント処理サーバ5に転送する。クライアント処理サーバ5(クライアントプログラム5p)はレスポンスMSGを受信する。これにより、クライアント処理サーバ5は、サービスプログラム6p-1~6p-kのうち、リクエストMSGの仮想URLに応じたサービスURLのサービスプログラムとコネクションを確立して通信することができる。したがって、クライアントは、例えばサービス側のデータセンタ9bのサービス提供サーバ6のAPIを利用することができる。
【0082】
(転送部100,200,300の転送処理)
図7は、クライアント側の転送部100によるリクエストMSGの転送処理の一例を示すフローチャートである。転送部100は、クライアント処理サーバ5から通信ポート14を介してリクエストMSGを受信する(ステップSt1)。転送部100は、リクエストMSGの宛先である仮想URLが制御テーブル130内の仮想URLに一致するか否かを判定する(ステップSt2)。つまり、転送部100は、リクエストMSGの仮想URLと制御テーブル130内の仮想URLを照合する。
【0083】
転送部100は、リクエストMSGの仮想URLと制御テーブル130内の仮想URLが一致しない場合(ステップSt2のNo)、エラーメッセージ(エラーMSG)をクライアント処理サーバ5に送信する(ステップSt7)。
【0084】
転送部100は、リクエストMSGの仮想URLと制御テーブル130内の仮想URLが一致した場合(ステップSt2のYes)、制御テーブル130から自己のCID及び仮想URLの組み合わせに対応するSGIDを検索する(ステップSt3)。次に転送部100は、CID及び仮想URLに対応するSGID(該当SGID)の有無を判定する(ステップSt4)。
【0085】
転送部100は、該当SGIDが無い場合(ステップSt4のNo)、エラーメッセージ(エラーMSG)をクライアント処理サーバ5に送信する(ステップSt7)。このため、転送部100は、リクエストMSGをルータ3に転送しない。
【0086】
また、転送部100は、該当SGIDが有る場合(ステップSt4のYes)、リクエストMSGにCID及び該当SGIDを付与する(ステップSt5)。このため、転送部100は、SGIDを単位としてセキュリティ設定を行ことができる。
【0087】
次に転送部100は、通信ポート14を介してリクエストMSGをルータ3に転送する(ステップSt6)。このようにして、転送部100はリクエストMSGの転送処理を行う。
【0088】
図8は、ルータ3の転送部300によるリクエストMSGの転送処理の一例を示すフローチャートである。転送部300は、転送サーバ1から通信ポート34を介してリクエストMSGを受信する(ステップSt11)。
【0089】
転送部300は、リクエストMSGに付与されたSGIDに対応するサービス側の転送プログラム2p-1~2p-mを制御テーブル230から検索する(ステップSt12)。次に転送部300は、SGIDに対応する転送プログラム2p-1~2p-m(該当プログラム)の有無を判定する(ステップSt13)。
【0090】
転送部300は、該当プログラムが無い場合(ステップSt13のNo)、エラーメッセージ(エラーMSG)を転送サーバ1に送信する(ステップSt15)。このため、転送部300は、リクエストMSGをサービス側の転送サーバ2に転送しない。
【0091】
また、転送部300は、該当プログラムが有る場合(ステップSt13のYes)、リクエストMSGをサービス側の転送サーバ2に転送する(ステップSt14)。このようにして、転送部300はリクエストMSGの転送処理を行う。
【0092】
図9は、サービス側の転送部200によるリクエストMSGの転送処理の一例を示すフローチャートである。転送部200は、転送サーバ2から通信ポート24を介してリクエストMSGを受信する(ステップSt21)。転送部200は、制御テーブル230から、リクエストMSGに付与された仮想URLに対応するサービスURLを検索する(ステップSt22)。次に転送部200は、仮想URLに対応するサービスURL(該当URL)の有無を判定する(ステップSt23)。
【0093】
転送部200は、該当URLが無い場合(ステップSt23のNo)、エラーメッセージ(エラーMSG)をルータ3に送信する(ステップSt25)。このため、転送部200は、リクエストMSGをサービス提供サーバ6に転送しない。
【0094】
また、転送部200は、該当URLが有る場合(ステップSt23のYes)、該当URLを宛先としてリクエストMSGをサービス提供サーバ6に転送する(ステップSt24)。サービス提供サーバ6では、複数のサービスプログラム6p-1~6p-kのうち、該当URLに応じたサービスプログラムがリクエストMSGを受信してレスポンスMSGを生成する。このようにして、転送部200はリクエストMSGの転送処理を行う。
【0095】
図10は、サービス側の転送部200によるレスポンスMSGの転送処理の一例を示すフローチャートである。転送部200は、複数のサービスプログラム6p-1~6p-kのうち、サービスURLに応じたサービスプログラムからレスポンスMSGを受信する(ステップSt31)。
【0096】
転送部200は、レスポンスMSGにサービスURLが含まれるか否かを判定する(ステップSt32)。転送部200は、レスポンスMSGにサービスURLが含まれていない場合(ステップSt32のNo)、レスポンスMSGをルータ3に転送する(ステップSt36)。
【0097】
また、転送部200は、レスポンスMSGにサービスURLが含まれている場合(ステップSt32のYes)、制御テーブル230から、サービスURLに対応する仮想URLを検索する(ステップSt33)。次に転送部200は、サービスURLに対応する仮想URLの有無を判定する(ステップSt34)。転送部200は、サービスURLに対応する仮想URLが無い場合(ステップSt34のNo)、レスポンスMSGをルータ3に転送する(ステップSt36)。
【0098】
また、転送部200は、サービスURLに対応する仮想URLが有る場合(ステップSt34のYes)、レスポンスMSG内の仮想URLをサービスURLに書き換えて(ステップSt35)、レスポンスMSGをルータ3に転送する(ステップSt36)。このため、サービスURLは、ルータ3及びクライアント側の転送サーバ1に漏洩しない。このようにして、転送部200はレスポンスMSGの転送処理を行う。
【0099】
(通信システム900の適用例)
図11は、通信システム900の適用例を示す図である。パブリッククラウド7及びイントラネット8は、例えばファイアウォールなどのセキュリティ設定によりインバウンド通信が許可されておらず、アウトバウンド通信のみが許可されている。
【0100】
パブリッククラウド7には、クライアントがインターネットを介してアクセスすることができ、転送プログラムXとCICD(Continuous Integration Continuous Delivery)環境70が実装されている。CICD環境70の管理者(CICD管理者)は転送プログラムを起動する。パブリッククラウド7は、インターネット上のルータプログラムZを介してイントラネット8と接続されている。
【0101】
イントラネット8には、CICD環境70から直接的にアクセスすることができず(符号82参照)、転送プログラムY、リポジトリ管理サービス80、及びリポジトリ81が実装されている。リポジトリ管理サービス80の管理者(サービス管理者)は転送プログラムYを起動する。
【0102】
本例の転送プログラムXは上記の転送プログラム1p-1~1p-nの1つに該当し、本例の転送プログラムYは上記の転送プログラム2p-1~2p-mの1つに該当する。また、ルータプログラム3pは上記のルータプログラムZに該当する。さらに、本例のCICD環境70は上記のクライアント処理サーバ5に該当し、本例のリポジトリ管理サービス80は上記のサービスプログラム6p-1~6p-kに該当する。
【0103】
クライアントは、上述した通信方法により、CICD環境70から転送プログラムX,Y及びルータプログラムZを介してリポジトリ管理サービス80にアクセスすることができる。
【0104】
これまで述べたように、通信システム900は、インターネット90に接続された転送サーバ1,2を有する。転送サーバ1は、仮想URLを宛先とし、LAN92内のサービス提供サーバ6が提供するサービスを要求するリクエストメッセージを、他のLAN91内のクライアント処理サーバ5から受信し、転送サーバ2に転送する転送部100を有する。
【0105】
転送サーバ2は、制御テーブル230及び転送部200を有する。制御テーブル230には、プライベートネットワークであるLAN92内のサービス提供サーバ6のサービスに応じたサービスURLと、仮想URLとの対応関係が登録されている。転送部200は、転送サーバ1から転送されたリクエストメッセージを、制御テーブル230に基づき、仮想URLに対応するサービスURLを宛先としてサービス提供サーバ6に転送する。
【0106】
上記の構成によると、転送サーバ1の転送部100は、クライアント処理サーバ5から仮想URLを用いてリクエストメッセージを受信して、インターネット90上の他の転送サーバ2に転送する。転送サーバ2の転送部200は、転送サーバ1から転送されたリクエストメッセージを、制御テーブル230に基づき、仮想URLに対応するサービスURLを宛先としてサービス提供サーバ6に転送する。このため、リクエストメッセージは、LAN92内でサービスURLに応じたサービスに転送される。
【0107】
したがって、プライベートネットワークであるLAN92内のサービスに他のLAN91内のクライアント処理サーバ5からアクセスすることができる。
【0108】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 公衆ネットワークに接続された第1転送装置及び第2転送装置を有し、
前記第1転送装置は、
仮想URLを宛先とし、プライベートネットワーク内のサーバが提供するサービスを要求するリクエストメッセージを、他のネットワーク内のクライアント装置から受信し、前記第2転送装置に転送する第1転送部を有し、
前記第2転送装置は、
前記プライベートネットワーク内の前記サーバのサービスに応じたURLと、前記仮想URLとの対応関係が登録されたURLテーブルと、
前記第1転送装置から転送された前記リクエストメッセージを、前記URLテーブルに基づき、前記仮想URLに対応する前記URLを宛先として前記サーバに転送する第2転送部とを有することを特徴とする通信システム。
(付記2) 前記第1転送装置は、ユーザにより設定された第1クライアントID及び前記仮想URLの対応関係が登録されたIDテーブルを有し、
前記第1転送部は、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致する場合、前記リクエストメッセージを前記第2転送装置に転送し、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致しない場合、前記リクエストメッセージを前記第2転送装置に転送しないことを特徴とする付記1に記載の通信システム。
(付記3) 前記IDテーブルには、さらに前記仮想URL及び他の仮想URLに割り当てられた共通のサービスグループIDと、前記第1クライアントIDとの対応関係が登録され、
前記第1転送部は、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致する場合、前記IDテーブルに基づき、前記仮想URLに対応する前記サービスグループID及び前記第2クライアントIDを前記リクエストメッセージに付与して前記第2転送装置に転送することを特徴とする付記2に記載の通信システム。
(付記4) 前記公衆ネットワークに接続された第3転送装置を有し、
前記第3転送装置は、前記サービスグループIDに基づいて前記リクエストメッセージを前記第1転送部から前記第2転送部に転送する第3転送部を有することを特徴とする付記3に記載の通信システム。
(付記5) 前記第2転送部は、前記サーバから前記リクエストメッセージに対するレスポンスメッセージを受信したとき、前記URLテーブルに基づき、前記レスポンスメッセージの送信元の前記URLを前記仮想URLに書き換えて前記レスポンスメッセージを前記第1転送装置に転送することを特徴とする付記1乃至4の何れかに記載の通信システム。
(付記6) 公衆ネットワークに接続された第1転送装置及び第2転送装置を用い、
前記第1転送装置は、仮想URLを宛先とし、プライベートネットワーク内のサーバが提供するサービスを要求するリクエストメッセージを、他のネットワーク内のクライアント装置から受信し、前記第2転送装置に転送し、
前記第2転送装置は、
前記プライベートネットワーク内の前記サーバのサービスに応じたURLと、前記仮想URLとの対応関係が登録されたURLテーブルを用い、
前記第1転送装置から転送された前記リクエストメッセージを、前記URLテーブルに基づき、前記仮想URLに対応する前記URLを宛先として前記サーバに転送することを特徴とする通信方法。
(付記7) 前記第1転送装置は、ユーザにより設定された第1クライアントID及び前記仮想URLの対応関係が登録されたIDテーブルを有し、
前記第1転送装置は、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致する場合、前記リクエストメッセージを前記第2転送装置に転送し、前記第1転送部に割り当てられた第2クライアントIDが前記第1クライアントIDに一致しない場合、前記リクエストメッセージを前記第2転送装置に転送しないことを特徴とする付記6に記載の通信方法。
(付記8) 前記IDテーブルには、さらに前記仮想URL及び他の仮想URLに割り当てられた共通のサービスグループIDと、前記第1クライアントIDとの対応関係が登録され、
前記第1転送装置は、前記第1転送装置に割り当てられた第2クライアントIDが前記第1クライアントIDに一致する場合、前記IDテーブルに基づき、前記仮想URLに対応する前記サービスグループID及び前記第2クライアントIDを前記リクエストメッセージに付与して前記第2転送装置に転送することを特徴とする付記7に記載の通信方法。
(付記9) 前記公衆ネットワークに接続された第3転送装置が、前記サービスグループIDに基づいて前記リクエストメッセージを前記第1転送装置から前記第2転送装置に転送することを特徴とする付記8に記載の通信方法。
(付記10) 前記第2転送装置は、前記サーバから前記リクエストメッセージに対するレスポンスメッセージを受信したとき、前記URLテーブルに基づき、前記レスポンスメッセージの送信元の前記URLを前記仮想URLに書き換えて前記レスポンスメッセージを前記第1転送装置に転送することを特徴とする付記6乃至9の何れかに記載の通信方法。
【符号の説明】
【0109】
1,2 転送サーバ
3 ルータ
5 クライアント装置
6 サービス提供サーバ
90 インターネット
91,92 LAN
130,230,330 制御テーブル
900 通信システム
6p-1~6p-k サービスプログラム