JP2008040772A - 接続管理システム、接続管理方法、および管理サーバ - Google Patents

接続管理システム、接続管理方法、および管理サーバ Download PDF

Info

Publication number
JP2008040772A
JP2008040772A JP2006214001A JP2006214001A JP2008040772A JP 2008040772 A JP2008040772 A JP 2008040772A JP 2006214001 A JP2006214001 A JP 2006214001A JP 2006214001 A JP2006214001 A JP 2006214001A JP 2008040772 A JP2008040772 A JP 2008040772A
Authority
JP
Japan
Prior art keywords
host
connection
data
session
client terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006214001A
Other languages
English (en)
Other versions
JP4950589B2 (ja
Inventor
Yoshiteru Kageyama
佳輝 蔭山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006214001A priority Critical patent/JP4950589B2/ja
Priority to US11/711,023 priority patent/US7818437B2/en
Publication of JP2008040772A publication Critical patent/JP2008040772A/ja
Application granted granted Critical
Publication of JP4950589B2 publication Critical patent/JP4950589B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】内部ネットワークセグメント50に設置されているホストPC52と外部ネットワーク60に接続されているクライアント端末10との接続を、外部ネットワーク60側で接続管理することなく容易に確立する。
【解決手段】管理サーバ51が、クライアント端末10からの接続要求に対して、ホストPCデータに基づいて接続の可否を決定し、接続可の場合にはセッション毎に一意のセッションIDを生成してリバースプロキシサーバ30およびホストPC52にセッションIDを通知するとともに接続開始要求を行い、ホストPC52が、接続開始要求を受けたあと受信したセッションIDを付加してデータを送信し、リバースプロキシサーバ30が、ホストPC52からのセッションIDが付加されたデータの受信に応じて当該データを送信し、クライアント端末10からのデータの受信に応じてセッションIDを付加して送信する。
【選択図】図2

Description

本発明は、外部ネットワークに接続されたクライアント端末と、そのクライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する接続管理システム、接続管理方法、および管理サーバに関するものである。
従来から、外部ネットワーク上のクライアントからイントラネット内のホストPCにアクセスするためのシステムがある。このシステムにおいては、ホストPCと外部ネットワーク上のクライアントとの通信を行う際に、二者間にファイアウォールが存在していても通信パケットが通過できるようにするため、その通信プロトコルをHTTP(HyperText Transfer Protocol)などのファイアウォールの通過を許可されたプロトコルに変換して送信し、イントラネット内のプロキシサーバで再度ホストPC向けへの通信プロトコルに変換し直すこととしている(特許文献1)。
ファイアウォールの内側にあるイントラネット内のサーバへの接続を外部ネットワーク上のクライアントから行うことができるようにするための技術は、従来からいくつか提案されている。例えば、クライアントプログラムとサーバプログラムとの通信を中継する中継サーバを設け、その中継サーバおよびクライアントにデータの送信先を示す経路情報を保持するためのテーブルを持たせておき、通信を開始するときに、その経路情報をクライアントから順にたどっていくことによってサーバまでの経路を特定し、クライアントからサーバまでの通信を確立することとしたものがある(特許文献2)。
特開2004−5427号公報 特開2001−251367号公報
上述した特許文献1に記載された発明では、内部ネットワークにクライアントからのパケットを入力することは可能とされているが、その後のホストPCまでの接続管理処理については考慮されていない。
また、上述した特許文献2に記載された発明では、サーバプログラムの待ち受けポートへ向かう通信パケットおよびその応答パケットについては各ファイアウォールにて事前に通過許可を受けていなくてはならない。すると、サーバにて提供するサービスが増えるごとに、各ファイアウォールにて通過許可のための処理を行う必要のある待ち受けポートが増えるので、その分ネットワーク全体のセキュリティが低下してしまうことにつながる。すなわち、ファイアウォールの設定にて通過許可するパケットを必要最小限度に抑えながら、クライアント/サーバ間の通信を確立する手法が必要であるが、そのような手法についてまで考慮されてはいない。
P2P(Peer to Peer)型の接続方法を用いたSkype(スカイプ:P2P技術を応用した音声通話ソフトウェア)の場合、呼び出し先のPCがNAT(Network Address Translation)ルータの内側にある場合にも通話が開始できるようにするため、SkypeをインストールしたPCの中からスーパーノードと呼ばれるサーバを選定している。スーパーノードへの制御用接続を、呼び出し先のPC、呼び出し元PCとも先に作成しておき、呼び出しが発生した際には制御用接続を用いてNATルータの内側にいる呼び出し先PCに呼処理開始を通知してNATルータの内側にいるホスト側から通信を開始させることで、NATルータを通過させるようにしている。しかし、P2P通信で唯一のサービスを提供することが前提となっているため、ホストPCが複数のユーザに同一のサービスを提供できる場合もしくは複数のホストPCが同一のサービスをユーザに対して提供できる場合に、サービスを振り分けるなどの機能は考慮されていない。また、サービス提供可能なホストPCの電源が一時的に落とされている場合に、それを自動的に立ち上げてサービス提供を開始させる機能についても考慮されていない。
本発明は、かかる問題点に鑑みてなされたもので、ホストPCがNATルータやファイアウォールで保護されているネットワークセグメント内部に設置されているホストPCと外部ネットワークに接続されているクライアント端末との接続を、外部ネットワーク側で接続管理することなく容易に確立できるようにすることを目的とする。
本発明に係る接続管理システムは、外部ネットワークに接続されたクライアント端末と、前記クライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する接続管理システムであって、前記外部ネットワークに接続された前記クライアント端末からのデータと、前記内部ネットワークセグメントに設置されたホストPCからのデータとをセッション毎に一意に定められたセッションIDを用いて中継するリバースプロキシサーバと、前記外部ネットワークに接続された前記クライアント端末から前記リバースプロキシサーバを介して受信した前記ホストPCへの接続要求に対して、前記ホストPCのホストPC名と前記ホストPCが提供可能なコンテンツとを含むホストPCデータに基づいて前記ホストPCへの接続の可否を決定し、接続可の場合には前記セッションIDを生成して前記リバースプロキシサーバおよび前記ホストPCに前記セッションIDを通知するとともに接続開始要求を行う管理サーバとを備え、前記ホストPCは、前記管理サーバからの接続開始要求を受けたあと、前記管理サーバから受信した前記セッションIDを付加してデータを送信し、前記リバースプロキシサーバは、前記ホストPCからの前記セッションIDが付加されたデータの受信に応じて当該データを前記クライアント端末に送信し、前記クライアント端末からのデータの受信に応じて当該データに前記セッションIDを付加して前記ホストPCに送信することを特徴とする。本発明に係る接続管理システムによれば、ホストPCがNATルータやファイアウォールで保護されているネットワークセグメント内部に設置されているホストPCと外部ネットワークに接続されているクライアント端末との接続を、外部ネットワーク側で接続管理することなく容易に確立することができるようになる。
本発明に係る接続管理方法は、外部ネットワークに接続されたクライアント端末と、前記クライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する接続管理方法であって、前記外部ネットワークに接続された前記クライアント端末から、該クライアント端末からのデータと前記ホストPCからのデータとを中継するリバースプロキシサーバを介して前記ホストPCへの接続要求を受信し、受信した接続要求に対して、前記ホストPCのホストPC名と前記ホストPCが提供可能なコンテンツとを含むホストPCデータに基づいて前記ホストPCへの接続の可否を決定し、接続可の場合には前記セッションIDを生成して前記リバースプロキシサーバおよび前記ホストPCに前記セッションIDを通知するとともに接続開始要求を行い、前記ホストPCは、前記接続開始要求を受けたあと、受信した前記セッションIDを付加してデータを送信し、前記リバースプロキシサーバは、前記ホストPCからの前記セッションIDが付加されたデータの受信に応じて当該データを前記クライアント端末に送信し、前記クライアント端末からのデータの受信に応じて当該データに前記セッションIDを付加して前記ホストPCに送信することを特徴とする。本発明に係る無線通信方法によれば、ホストPCがNATルータやファイアウォールで保護されているネットワークセグメント内部に設置されているホストPCと外部ネットワークに接続されているクライアント端末との接続を、外部ネットワーク側で接続管理することなく容易に確立することができるようになる。
本発明に係る管理サーバは、外部ネットワークに接続されたクライアント端末と、前記クライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する管理サーバであって、前記ホストPCのホストPC名と前記ホストPCが提供可能なコンテンツとを含むホストPCデータを記憶する記憶手段と、前記外部ネットワークに接続された前記クライアント端末からリバースプロキシサーバを介して受信した前記ホストPCへの接続要求に対して、前記ホストPCデータに基づいて前記ホストPCへの接続の可否を決定する接続決定手段と、該接続決定手段が接続可と決定した場合にセッション毎に一意に定められるセッションIDを生成し、前記クライアント端末からのデータと前記ホストPCからのデータとをセッションIDを用いて中継する前記リバースプロキシサーバおよび前記ホストPCに対して前記セッションIDを通知する通知手段と、前記ホストPCに対して、前記リバースプロキシサーバとの間で前記セッションIDを付加してデータ通信を行わせるための接続開始要求を行う開始要求手段とを備えることを特徴とする。
本発明によれば、ホストPCがNATルータやファイアウォールで保護されているネットワークセグメント内部に設置されているホストPCと外部ネットワークに接続されているクライアント端末との接続を、外部ネットワーク側で接続管理することなく容易に確立することができる接続管理システム、および接続管理方法、および管理サーバを提供することができる。
以下、図面に基づいて本発明の実施形態に係るネットワーク接続管理システムについて説明する。
[実施形態1]
図1は、ネットワーク接続管理システムの構成の例を示すブロック図である。図1に示すように、ネットワーク接続管理システムは、クライアント端末10と、ファイアウォール20と、リバースプロキシサーバ30と、NATルータ40と、内部ネットワークセグメント50とを含む。
内部ネットワークセグメント50内には、管理サーバ51と、複数のホストPC52,53,54とが設けられている。管理サーバ51と、複数のホストPC52,53,54とは、それぞれ、LANなどの通信ネットワークによって接続されている。管理サーバ51は、ホストPC52,53,54からリバースプロキシサーバ30までの接続を確立するためのサーバ装置である。なお、図1ではホストPC52,53,54を3台としているが、ホストPCの台数は何台であってもよい。
本例のネットワーク接続管理システムでは、リバースプロキシサーバ30が、インターネットなどの外部通信ネットワーク60に接続されたクライアント端末10からのアクセスを一旦受け付ける。なお、ここではクライアント端末が1台であるものとしているが、クライアント端末は何台接続されていてもよい。また、クライアント端末10から接続したいホストPC52,53,54は、内部ネットワークセグメント50内に設置されている。また、通信ネットワークの独立性を保つために、リバースプロキシサーバ30と内部ネットワークセグメント50との間にはNATルータ40が設置されている。
このため、リバースプロキシサーバ30からは、ホストPC52,53,54に直接アクセスすることはできない。内部ネットワークセグメント50内に設けられた管理サーバ51が、ホストPC52,53,54に関わるデータ(ホストPCデータ)を保持・管理し、リバースプロキシサーバ30からの接続要求を処理する。
次に、リバースプロキシサーバ30、管理サーバ51、およびホストPC52,53,54の内部機能について説明する。ここでは、ホストPC52,53,54のうちホストPC52について説明するが、他のホストPC53,54も同様である。
図2は、リバースプロキシサーバ30、管理サーバ51、およびホストPC52の内部機能を説明するためのブロック図である。
図2に示すように、リバースプロキシサーバ30は、プロトコル変換部31と、コマンド通信部32と、サービス通信部33とを含む。また、管理サーバ51は、コマンド通信部511と、サービス接続管理部512と、ホストPCデータ受信部513と、ホストPCデータDB514とを含む。なお、ホストPCデータDB514は、管理サーバ51の内部に設けられていても外部に設けられていてもよい。さらに、ホストPC52は、管理サーバ間通信部521と、ホストPCデータ取得部522と、サービス通信部523と、サービス内容DB524とを含む。なお、サービス内容DB524は、ホストPC52の内部に設けられていても外部に設けられていてもよい。
本例のネットワーク接続管理システムのように、外部通信ネットワーク60と内部ネットワークセグメント50との間にファイアウォール20が設置され、外部ネットワーク60と内部ネットワークセグメント50との間にアクセス制限が設けられているものが、一般的なネットワーク構成である。このような一般的なネットワーク構成である場合にも、クライアント端末10と内部ネットワークセグメント50内にあるホストPC52,53,54のいずれかとの間で接続が可能になるように、クライアント端末10およびリバースプロキシサーバ30は、ファイアウォールを通過できるプロトコルに変換するためのプロトコル変換部11を持つ。プロトコル変換部11は、本例では、クライアント端末10からのメッセージをその種類にしたがって接続処理に関するコマンドを扱うコマンド通信部32もしくはホストPC52,53,54との接続そのものに利用されるデータを扱うサービス通信部33のいずれかに振り分ける。
管理サーバ51は、ホストPCデータ受信部513で同一ネットワークセグメント内に設置されたホストPC52,53,54から接続管理に必要なホストPCデータを定期的に受信し、ホストPCデータDB514内のホストPCデータを更新する。なお、ホストPC52,53,54がホストPCデータDB514内の自己のホストPCデータを定期的に更新し、管理サーバ51のホストPCデータ受信部513が、ホストPCデータDB514内のホストPCデータを定期的に確認するようにしてもよい。
図3は、ホストPCデータDB514に格納されているホストPCデータの例を示す説明図である。図3に示すように、ホストPCデータは、ホストPC名、MAC(Media Access Control)アドレス、所属グループ名、提供可能なコンテンツなどのサービスを示す提供可能サービス名、接続可能なクライアント端末の最大数を示す接続最大数または発行可能なセッションIDの最大数を示すセッションID発行可能最大数、現在接続中のクライアント端末数、サービス可能ネットワークパケット量最大値、現ネットワークパケット量、などのホストPCに係る各種の情報を含む。ホストPCデータは、各ホストPC毎に設定される。
ホストPCデータのうち、「現ネットワークパケット量」はホストPC52のサービス通信部523から取得し、残りのデータはホストPCデータ取得部522から設定値を取得する。「所属グループ名」は、複数のホストPCが同一のサービスをユーザに対して提供できる場合に使用されるID値である。受信したホストPCデータをホストPCデータDB514に格納しておき、クライアント端末10からリバースプロキシサーバ30内のコマンド通信部32を経て管理サーバ51内のコマンド通信部511で受信した接続要求に対してホストPC52上のサービスへの接続を許可するかどうか、また複数のホストPCが同一のサービスをユーザに対して提供できる場合にどのホストPCに接続要求を送信するかを決める際のデータとする。
クライアント端末10からの接続要求を処理するためには、リバースプロキシサーバ30から管理サーバ51までの接続を事前に確立させておく必要がある。管理サーバ51のコマンド通信部511は、起動直後にリバースプロキシサーバ30のコマンド通信部32へ向けてTCP(Transmission Control Protocol)接続を開始する。管理サーバ51側から接続を開始することで、リバースプロキシサーバ30と管理サーバ51の間にNATルータ40が存在している場合でも容易に接続を開始することができる。負荷分散などの理由でリバースプロキシサーバ30が複数存在する場合は、接続要求処理用の接続はそれぞれのリバースプロキシサーバに対して確立しておくようにすればよい。
次に、リバースプロキシサーバ30がクライアント端末10から接続要求を受けた場合の管理サーバ51内部の処理について説明する。図4は、管理サーバ51が実行する接続管理処理の例を示すフローチャートである。
接続管理処理において、管理サーバ51は、クライアント端末10からの接続要求をリバースプロキシサーバ30を介して受信すると(ステップS101)、接続要求にて指定されたホストPCもしくは所属グループ名(複数のホストPCで同一のサービスを提供している場合)、および提供可能サービス名を用いてホストPCデータDB514を検索し、接続要求に合致するホストPCを抽出する(ステップS102)。
クライアント端末10からの「接続要求」には、ホストPC名もしくは所属グループ名および提供を希望するコンテンツを示す提供希望サービス名が含まれているものとする。管理サーバ51に接続したことのあるホストPCのホストPCデータはすべてホストPCデータDB514に残っているので、管理サーバ51は、ステップS102にて、接続要求に含まれるホストPC名もしくは所属グループ名および提供を希望するサービス名をキーに検索を行う。
次に、管理サーバ51は、検索したホストPC全てについて、現接続数が提供可能サービス数未満であり、かつ、現ネットワークパケット量がサービス可能ネットワークパケット量最大値未満であるか否か確認する(ステップS103)。
ステップS103における2つの条件を満たすホストPCが存在していなければ(ステップS104のN)、管理サーバ51は、接続要求を満たす現在サービス可能なホストPCが存在しないため、リバースプロキシサーバ30に対して接続拒否応答を行う(ステップS105)。
ステップS103における2つの条件を満たすホストPCが存在していた場合(ステップS104のY)、管理サーバ51は、ステップS103における2つの条件を満たすホストPCが複数存在していれば、現ネットワークパケット量が最小のホストPCを選出する(ステップS106)。なお、ステップS106では、単純に現ネットワークパケット量が最小のホストPCを選出することとしてもよいし、サービス可能ネットワークパケット量最大値と現ネットワークパケット量との差が最大のホストPCを選出することとしてもよい。また、ステップS106にて、接続最大数と現在接続中のクライアント端末数との差が最大のホストPCを選出することとしてもよい。
上記のようにして、ステップS103における2つの条件を満たすホストPCのうち1つを選出する。ここでは、ホストPC52が選出されたものとする。すると、管理サーバ51は、今回接続するサービス用に一意のセッションIDを生成し、選出されたホストPC52のサービス通信部523およびリバースプロキシサーバ30のサービス通信部33に対してセッションIDを通知し(ステップS107)、ホストPC52のサービス通信部523が無応答でなければ(ステップS108)、ホストPC52側からリバースプロキシサーバ30へ向けたサービス提供のための接続を開始させる(ステップS109)。
以後の通信パケットには、サービス自体のデータペイロードのほかにこのセッションIDを必ず付与するようにする。すなわち、ホストPC52は、管理サーバ51からの接続開始要求を受けたあと、管理サーバ51から受信したセッションIDを付加してデータを送信する。そして、リバースプロキシサーバ30は、ホストPC52からのセッションIDが付加されたデータの受信に応じて当該データをクライアント端末10に送信し、クライアント端末10からのデータの受信に応じて当該データにセッションIDを付加してホストPC52に送信する。このようにして、データ通信が実行される。このとき、ホストPC52のサービス通信部523が無応答になった場合には(ステップS108)、管理サーバ51は、ホストPC52の電源が一時的に切れていると判断をして、ホストPCデータ中のMACアドレスを使用して「Wake On LAN機能」を用いたマジックパケットを送信する(ステップS110)。その後、接続開始待ち状態となる(ステップS111)。
上述したように、本発明の第1実施形態によれば、クライアント端末10側にはリバースプロキシサーバ30から内側の内部ネットワークセグメント50の構成やホストPCの通信負荷などの状態を見せずに、ホストPCが複数のユーザに同一のサービスを提供できる場合もしくは複数のホストPCが同一のサービスをユーザに対して提供できる場合にも、どのホストPCにどのサービスを要求するかをホストPCが定期的に送信するネットワーク負荷などのデータをもとに判断し、適切なホストPCとの間で接続を行うことができるようになる。
すなわち、上述したように、外部ネットワーク60に接続されたクライアント端末10からのデータと、内部ネットワークセグメント50に設置されたホストPC52からのデータとをセッションIDを用いて中継するリバースプロキシサーバ30と、外部ネットワーク60に接続されたクライアント端末10からリバースプロキシサーバ30を介して受信したホストPC52への接続要求に対して、ホストPC52のホストPC名とホストPCが提供可能なコンテンツとを含むホストPCデータに基づいてホストPC52への接続の可否を決定し、接続可の場合にはセッション毎に一意のセッションIDを生成してリバースプロキシサーバ30およびホストPC52にセッションIDを通知するとともに接続開始要求を行う管理サーバ51とを備え、ホストPC52は、管理サーバ51からの接続開始要求を受けたあと、管理サーバ51から受信したセッションIDを付加してデータを送信し、リバースプロキシサーバ30は、ホストPC52からのセッションIDが付加されたデータの受信に応じて当該データをクライアント端末10に送信し、クライアント端末10からのデータの受信に応じて当該データにセッションIDを付加してホストPC52に送信することを特徴とするので、ホストPC52がNATルータ40やファイアウォール20で保護されている内部ネットワークセグメント50に設置されているホストPC52と外部ネットワーク60に接続されているクライアント端末10との接続を、外部ネットワーク60側で接続管理することなく容易に確立することができるようになる。
また、上述したように、NATルータ40やファイアウォール20で守られている内部ネットワークセグメント50にホストPC52がある場合にも、接続をホストPC52側から始めることができるため、ホストPC52のIPアドレスやポート番号、ファイアウォール20の設定などを、接続要求を送信したリバースプロキシサーバ30側が管理する必要なしに接続を確立することができる。
また、上述したように、ホストPC52の電源が一時的に切られているなどの不慮の事態が発生しても、管理サーバ51内のホストPCデータを参照することで、そのホストPC52にマジックパケットを送信し、「Wake on LAN機能」によってホストPC52を起動しなおすことも可能である。
なお、上述した実施の形態では特に言及していなかったが、ホストPC上で稼動する既存のサーバプログラムへの接続方法については、図5に示すようになる。
ホストPC52上で稼動する既存サーバプログラム524があるとする。通常、ファイアウォール20の外側にあるクライアント(図5ではリバースプロキシサーバ30が該当する)から既存サーバプログラム524へアクセスする場合には、既存サーバプログラム524の待ち受けポートXへの接続をファイアウォール20で許可する必要があるが、セキュリティを確保するためにファイアウォール20の外側から内側へ向かう接続を許可したくない場合にはこの方法を用いることができない。
そこで、ホストPC上で稼動させるサービス提供プログラム中のサービス通信部523を使用して、プロキシサーバ30と既存サーバプログラム524との通信が成立できるようにする。
サービス通信部523は、上述したように、管理サーバからの接続要求を受け取り、リバースプロキシサーバ30のサービス通信部33への接続を開始する機能を有する。この機能によってサービス提供用の接続が確立されるが、このときサービス通信部523から既存サーバプログラム524の待ち受けポート番号Xに向けた接続も開始する。このようにすると、リバースプロキシサーバ30側から既存サーバプログラム524へ直接接続することなくリバースプロキシサーバ30と既存サーバプログラム524とのデータ通信を行うことができる。
すなわち、ホストPC上で既存のサーバプログラムが稼動している場合に、リバースプロキシサーバ30側から直接サーバプログラムの待ち受けポートに接続せずにサーバプログラムとリバースプロキシサーバ30間の通信を確立することができる。これによって、内部ネットワークセグメント50のセキュリティポリシーを大きく変更せずに、より安全な方法で既存のサーバプログラムとも通信を行うことができる。
[実施形態2]
上述した第1の実施形態では、内部ネットワークセグメント50中に管理サーバ51が必ず存在し、ホストPC52,53,54は管理サーバ51との接続が確立できることが前提となっていた。現実には、常時管理サーバ51を立ち上げておくことは負担が大きい。そこで、内部ネットワークセグメント50中のホストPC群のうち、どれか1つが管理サーバの機能を兼ねることができるようにする。このようにするためのホストPC内のプログラム動作は、図6,図7に示すようになる。
図6,図7は、任意のホストPCを管理サーバとして機能させるために各ホストPCに実行させる処理の例を示すフローチャートである。図6は、起動時に実行される管理サーバ決定処理の例を示すフローチャートである。図7は、管理サーバ探索用ブロードキャストパケットの受信時の対応処理を示す探索用パケット応答処理の例を示すフローチャートである。本例では、図1に示す管理サーバ51は存在せず、ホストPC52,53,54のいずれかが管理サーバ51の機能を持つことになる。
管理サーバ決定処理において、ホストPCは、まず、起動時にブロードキャストパケットを送信し(ステップS201)、自己が属する内部ネットワークセグメント50内に管理サーバが存在しているかどうかをチェックする(ステップS202)。
管理サーバ機能がいずれかのホストPCで動作している場合は、後述するように(ステップS303参照)、ブロードキャストパケットに対して応答が返ってくる。
応答があった場合には(ステップS202のY)、ホストPCは、応答のあった管理サーバ機能が動作しているホストPCを同定し、管理サーバとの接続をTCP通信にて確立する(ステップS203)。接続が確立した後は、ホストPCは、上述した第1の実施形態と同様に、ホストPC名、ホストPCの所属するグループ名、提供可能なサービスの種類および最大提供サービス数、ホストPCの状態およびホストPCが送受信しているパケットの流量を計測したデータなどのホストPCデータを定期的に管理サーバとして機能しているホストPCに対して送信する(ステップS204)。
一方、ブロードキャストパケットに対して一定時間応答がなかった場合には(ステップS202のN)、ホストPCは、動作中の管理サーバがないと判断し、管理サーバとしての機能を自身で実行する。すなわち、ホストPCは、リバースプロキシサーバ30への接続を試み(ステップS206)、その接続が許可された場合に(ステップS207)、管理サーバとして動作を開始する(ステップS208)。
なお、管理サーバとの接続が切断されたことが検出できた場合には(ステップS205のY)、ホストPCは、ブロードキャストパケットを送信するところ(ステップS201)からやり直して再度管理サーバ機能を探索する。
上記の方法では、複数のホストPCが管理サーバ機能を実行しようとする可能性があるが、管理サーバの機能としてリバースプロキシサーバ30への接続を起動時に行う必要があるため、このときにリバースプロキシサーバ30側で管理サーバの送信元IPアドレスを手がかりに管理サーバとしての接続の許可・不許可を決めるようにすれば、内部ネットワークセグメント1つにつき1台管理サーバとして機能させることができる。
図8は、上記のようにして内部ネットワークセグメント50に複数の管理サーバが設定されないように制御するためのシーケンス図である。ここでは、管理サーバが未だ設定されていないときに、ホストPC52とホストPC53がほぼ同時に起動された場合を例に説明する。
先ず、ホストPC52が起動してブロードキャストパケットを送信したあと直ぐにホストPC53が起動してブロードキャストパケットを送信したとすると、ホストPC52に対して応答がないまま一定期間を経過したあと、ホストPC52は、リバースプロキシサーバ30に対して接続を試み、接続が許可されて管理サーバとして動作を開始する。一方、ホストPC53に対しても応答がないまま一定期間を経過するため、ホストPC53は、リバースプロキシサーバ30に対して接続を試みるが、既に管理サーバとして接続許可されたホストPC52があるため接続が不許可とされ、ブロードキャストパケットを再度送信することとなる。再度送信したブロードキャストパケットに対してはホストPC52から応答があるため、管理サーバとしてのホストPC52との接続を行い、データ送信を行うこととなる。
上記のように、ホストPCが、起動時に問い合わせ用のブロードキャストパケットを送信し、ブロードキャストパケットを送信したあと一定期間が経過するまでに管理サーバとして機能している他のホストPCからの応答がなかった場合、リバースプロキシサーバ30に対して管理サーバとしての接続依頼を行う構成としたので、内部ネットワークセグメント50ごとに必要な管理サーバを事前に決定することなくホストPCのどれか一台に管理サーバ機能を割り当てることができ、常時管理サーバが立ち上がっているかどうかを確認する必要をなくすことができる。
なお、上述した実施の形態においては特に言及していないが、ネットワーク接続管理システムを構成する各部は、各部に搭載されている処理プログラム(ネットワーク接続管理プログラム)に従って、上述した各種の処理を実行する。
本発明の一実施形態に係るネットワーク接続管理システムの構成の例を示すブロック図である。 リバースプロキシサーバ、管理サーバ、およびホストPCの内部機能を説明するためのブロック図である。 ホストPCデータDBに格納されているホストPCデータの例を示す説明図である。 接続管理処理の例を示すフローチャートである。 ホストPC上で稼動する既存のサーバプログラムへの接続方法の例を示すブロック図である。 管理サーバ決定処理の例を示すフローチャートである。 探索用パケット応答処理の例を示すフローチャートである。 内部ネットワークセグメントに管理サーバを1つだけ設定するためのシーケンス図である。
符号の説明
10…クライアント端末,20…ファイアウォール,30…リバースプロキシサーバ,40…NATルータ,50…内部ネットワークセグメント,51…管理サーバ,52〜54…ホストPC,60…外部通信ネットワーク

Claims (6)

  1. 外部ネットワークに接続されたクライアント端末と、前記クライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する接続管理システムであって、
    前記外部ネットワークに接続された前記クライアント端末からのデータと、前記内部ネットワークセグメントに設置されたホストPCからのデータとをセッション毎に一意に定められたセッションIDを用いて中継するリバースプロキシサーバと、
    前記外部ネットワークに接続された前記クライアント端末から前記リバースプロキシサーバを介して受信した前記ホストPCへの接続要求に対して、前記ホストPCのホストPC名と前記ホストPCが提供可能なコンテンツとを含むホストPCデータに基づいて前記ホストPCへの接続の可否を決定し、接続可の場合には前記セッションIDを生成して前記リバースプロキシサーバおよび前記ホストPCに前記セッションIDを通知するとともに接続開始要求を行う管理サーバとを備え、
    前記ホストPCは、前記管理サーバからの接続開始要求を受けたあと、前記管理サーバから受信した前記セッションIDを付加してデータを送信し、
    前記リバースプロキシサーバは、前記ホストPCからの前記セッションIDが付加されたデータの受信に応じて当該データを前記クライアント端末に送信し、前記クライアント端末からのデータの受信に応じて当該データに前記セッションIDを付加して前記ホストPCに送信する
    ことを特徴とする接続管理システム。
  2. 前記ホストPCデータは、同一のコンテンツを提供するホストPCが前記内部ネットワークセグメントに複数設置されている場合における当該ホストPC群のグループ名、接続可能なクライアント端末の最大数、クライアント端末との現在の接続数、現在の負荷状況、および最大許容負荷を含み、
    各ホストPCは、自己のホストPCデータを定期的に更新し、
    管理サーバは、前記外部ネットワークに接続された前記クライアント端末から前記リバースプロキシサーバを介して受信した接続要求が前記グループ名を指定した接続要求であった場合には、当該接続要求に対して、前記ホストPCデータに基づいて、接続の可能なホストPCが複数存在した場合には、接続可能なクライアント端末の最大数と現在の接続数との差が最大のホストPC、あるいは最大許容負荷と現在の負荷状況との差が最大のホストPCへの接続を許可する
    請求項1記載の接続管理システム。
  3. 前記ホストPCは、前記管理サーバからの接続開始要求に応じて、前記管理サーバから受信した前記セッションIDを前記リバースプロキシサーバに送信することで当該リバースプロキシサーバとの接続を開始するとともに、前記ホストPCに各種の処理を実行させるための既存サーバプログラムの待ち受けポート番号に向けた接続を開始し、前記リバースプロキシサーバとの接続を開始したあと、前記セッションIDを付加してデータを送信する請求項1または請求項2記載の接続管理システム。
  4. ホストPCは、
    起動時に、問い合わせ用のブロードキャストパケットを送信し、
    前記ブロードキャストパケットを送信したあと一定期間が経過するまでに管理サーバとして機能している他のホストPCからの応答がなかった場合、前記リバースプロキシサーバに対して管理サーバとしての接続依頼を行う
    請求項1から請求項3のうちいずれかに記載の接続管理システム。
  5. 外部ネットワークに接続されたクライアント端末と、前記クライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する接続管理方法であって、
    前記外部ネットワークに接続された前記クライアント端末から、該クライアント端末からのデータと前記ホストPCからのデータとを中継するリバースプロキシサーバを介して前記ホストPCへの接続要求を受信し、
    受信した接続要求に対して、前記ホストPCのホストPC名と前記ホストPCが提供可能なコンテンツとを含むホストPCデータに基づいて前記ホストPCへの接続の可否を決定し、
    接続可の場合には前記セッションIDを生成して前記リバースプロキシサーバおよび前記ホストPCに前記セッションIDを通知するとともに接続開始要求を行い、
    前記ホストPCは、前記接続開始要求を受けたあと、受信した前記セッションIDを付加してデータを送信し、
    前記リバースプロキシサーバは、前記ホストPCからの前記セッションIDが付加されたデータの受信に応じて当該データを前記クライアント端末に送信し、前記クライアント端末からのデータの受信に応じて当該データに前記セッションIDを付加して前記ホストPCに送信する
    ことを特徴とする接続管理方法。
  6. 外部ネットワークに接続されたクライアント端末と、前記クライアント端末に対してコンテンツを提供する内部ネットワークセグメントに設置されたホストPCとの接続を管理する管理サーバであって、
    前記ホストPCのホストPC名と前記ホストPCが提供可能なコンテンツとを含むホストPCデータを記憶する記憶手段と、
    前記外部ネットワークに接続された前記クライアント端末からリバースプロキシサーバを介して受信した前記ホストPCへの接続要求に対して、前記ホストPCデータに基づいて前記ホストPCへの接続の可否を決定する接続決定手段と、
    該接続決定手段が接続可と決定した場合にセッション毎に一意に定められるセッションIDを生成し、前記クライアント端末からのデータと前記ホストPCからのデータとをセッションIDを用いて中継する前記リバースプロキシサーバおよび前記ホストPCに対して前記セッションIDを通知する通知手段と、
    前記ホストPCに対して、前記リバースプロキシサーバとの間で前記セッションIDを付加してデータ通信を行わせるための接続開始要求を行う開始要求手段とを備える
    ことを特徴とする管理サーバ。
JP2006214001A 2006-08-07 2006-08-07 接続管理システム、接続管理方法、および管理サーバ Expired - Fee Related JP4950589B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006214001A JP4950589B2 (ja) 2006-08-07 2006-08-07 接続管理システム、接続管理方法、および管理サーバ
US11/711,023 US7818437B2 (en) 2006-08-07 2007-02-27 Connection management system, connection management method, and management server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006214001A JP4950589B2 (ja) 2006-08-07 2006-08-07 接続管理システム、接続管理方法、および管理サーバ

Publications (2)

Publication Number Publication Date
JP2008040772A true JP2008040772A (ja) 2008-02-21
JP4950589B2 JP4950589B2 (ja) 2012-06-13

Family

ID=39030591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006214001A Expired - Fee Related JP4950589B2 (ja) 2006-08-07 2006-08-07 接続管理システム、接続管理方法、および管理サーバ

Country Status (2)

Country Link
US (1) US7818437B2 (ja)
JP (1) JP4950589B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014524092A (ja) * 2011-07-15 2014-09-18 ダマカ、インク. 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8159949B2 (en) * 2007-05-03 2012-04-17 Abroadcasting Company Linked-list hybrid peer-to-peer system and method for optimizing throughput speed and preventing data starvation
JP2008287674A (ja) * 2007-05-21 2008-11-27 Olympus Corp 情報処理装置、クライアント装置、情報処理システム及びサービス接続方法
US9202238B2 (en) * 2009-01-30 2015-12-01 Nathan Harris Information processing and transmission systems
US9049182B2 (en) * 2009-08-11 2015-06-02 Novell, Inc. Techniques for virtual representational state transfer (REST) interfaces
WO2012079650A1 (en) * 2010-12-17 2012-06-21 Nokia Siemens Networks Oy User interaction for web resources
JP5436607B2 (ja) * 2012-04-16 2014-03-05 株式会社ソニー・コンピュータエンタテインメント サーバ、クライアント装置、調停方法、サービス要求方法、およびデータ配信システム
TWI667574B (zh) * 2016-07-19 2019-08-01 群暉科技股份有限公司 用來存取一網頁伺服器之方法與裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049702A1 (en) * 1999-03-16 2004-03-11 Novell, Inc. Secure intranet access
JP2005100344A (ja) * 2003-08-18 2005-04-14 Ricoh Co Ltd 情報処理装置、セッションの復旧方法、セッション復旧プログラム及び記録媒体
US20060031442A1 (en) * 2004-05-07 2006-02-09 International Business Machines Corporation Method and system for externalizing session management using a reverse proxy server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4307747B2 (ja) * 2001-01-25 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム
JP3692943B2 (ja) 2001-01-29 2005-09-07 株式会社日立製作所 通信クライアント装置
US20030154306A1 (en) * 2002-02-11 2003-08-14 Perry Stephen Hastings System and method to proxy inbound connections to privately addressed hosts
JP4315696B2 (ja) 2002-03-29 2009-08-19 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049702A1 (en) * 1999-03-16 2004-03-11 Novell, Inc. Secure intranet access
JP2005100344A (ja) * 2003-08-18 2005-04-14 Ricoh Co Ltd 情報処理装置、セッションの復旧方法、セッション復旧プログラム及び記録媒体
US20060031442A1 (en) * 2004-05-07 2006-02-09 International Business Machines Corporation Method and system for externalizing session management using a reverse proxy server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014524092A (ja) * 2011-07-15 2014-09-18 ダマカ、インク. 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法

Also Published As

Publication number Publication date
US20080034099A1 (en) 2008-02-07
JP4950589B2 (ja) 2012-06-13
US7818437B2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
JP4950589B2 (ja) 接続管理システム、接続管理方法、および管理サーバ
US8499083B2 (en) Relay device and communication system
KR101410927B1 (ko) 범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법및 시스템
JP4517997B2 (ja) ネットワーク管理装置およびネットワークシステム
WO2008134214A1 (en) System and method for managing broadcast and/or multicast based communication sessions for mobile nodes
EP2074791B1 (en) Communication system
JP2011028709A (ja) 集約されたホームネットワーク内のユーザプレゼンス管理方法およびホームネットワーク内のユーザプレゼンス管理装置
JP2008181427A (ja) シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム
JP2008187425A (ja) 中継装置、プログラム及び中継方法
JP2004139291A (ja) データ通信中継装置
JP2008225644A (ja) ゲートウェイ装置、ゲートウェイ装置の負荷分散方法及びゲートウェイ装置の負荷分散プログラム
JPWO2007039942A1 (ja) 端末装置及びサーバ装置及び指令装置
WO2007114251A1 (ja) 通信機器、通信機器が実行する方法、及びその方法を実装したソフトウェアを格納した記憶媒体
EP2642701B1 (en) Relay server and relay communication system
JP2007243803A (ja) 無線lan経路制御方式、無線lan管理装置、無線lanアクセス端末および無線lan経路制御方法
JP3992067B1 (ja) ネットワークシステム
JP6147415B2 (ja) ネットワークの変化に耐性のある、コンピュータネットワーク内のサービスディスカバリ方法
US20100257274A1 (en) Communication system, communication method, and shared-authentication apparatus
JP2012165269A (ja) 中継サーバ及び中継通信システム
JP2002368826A (ja) 中継サーバ及び中継システム
JP2003345686A (ja) ネット家電遠隔操作方法、装置およびプログラム
US7886078B2 (en) Connection support server and communication apparatus
Cisco PIM MIB Extension for IP Multicast
US20100268833A1 (en) Communication system, communication method, and communication session centralizing apparatus
JP4352645B2 (ja) 端末装置、中継装置、通信方法及びその通信プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120309

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees