JP4553150B2 - 新規導入および抜き取りをシームレスに実行できる中間装置 - Google Patents

新規導入および抜き取りをシームレスに実行できる中間装置 Download PDF

Info

Publication number
JP4553150B2
JP4553150B2 JP2006511123A JP2006511123A JP4553150B2 JP 4553150 B2 JP4553150 B2 JP 4553150B2 JP 2006511123 A JP2006511123 A JP 2006511123A JP 2006511123 A JP2006511123 A JP 2006511123A JP 4553150 B2 JP4553150 B2 JP 4553150B2
Authority
JP
Japan
Prior art keywords
information processing
service
session
processing apparatus
information
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.)
Expired - Fee Related
Application number
JP2006511123A
Other languages
English (en)
Other versions
JPWO2005091151A1 (ja
Inventor
聡 山川
隆史 鳥居
航 桂島
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2005091151A1 publication Critical patent/JPWO2005091151A1/ja
Application granted granted Critical
Publication of JP4553150B2 publication Critical patent/JP4553150B2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、クライアントおよびサーバに代表されるような情報処理装置間のネットワークに論理的に配置される中間装置に関し、特に、それら情報処理装置が、通信に固有の情報を一時的に保持しつつ、その情報を用いて通信する環境において、情報処理装置によるサービスを拡張する新たなサービスを提供する中間装置に関する。
複数の情報処理装置がネットワークを介して相互に通信することにより、情報処理装置間でサービスが提供される。
例えば、クライアント・サーバシステムでは、クライアントとサーバが相互に通信することにより、サーバはサービスを提供し、クライアントはそのサービスを利用することができる。
また、クライアント・サーバシステムにおいて、サーバの提供するサービスを向上させたり、ある種のサービスを提供するためにサーバ間で連携したり、あるサービスを提供するサーバを他のサーバに移行したりなど、サービス提供構成が変更されることがある。このようなサービス提供構成の変更に中間装置が利用されることがある。
一方、ピアツーピア(peer to peer)システムは、複数のピアと呼ばれる情報処理装置で構成されている。ピアには、クライアントまたはサーバのように役割が固定されておらず、状況に応じて役割が変化する。ピアツーピアシステムの場合でもクライアント・サーバシステムと同様に、ピア間で相互に通信することにより、あるピアがサービスを提供し、あるピアがそのサービスを利用することができる。そして、ピアツーピアシステムでもサービス提供構成の変更の必要が生じることがあり、その変更に中間装置が利用されることがある。
また、これらのようなシステムでサービスを実現するために、情報処理装置が、通信のセッションに固有の状態情報を互いに交換して保持しつつ、その状態情報を利用して通信する手順を有する通信プロトコルが用いられることがある。
クライアントとサーバが、固有の状態情報を相互に交換して一定期間保持しつつ、その状態情報を利用して通信するシステムの代表的な例として、NFS(Network File System)、あるいはCIFS(Common Internet File System)といったデファクトスタンダードとなっているプロコトルを利用したものがある。
これらの通信プロトコルは、クライアントからサーバのストレージリソースにアクセスする形態のリモートファイルアクセスに用いられる。このような通信プロトコルを用いることで、クライアントは、あたかも自身の中のストレージリソースにアクセスするかのように、容易に、サーバのストレージリソースを利用することができる( 特開2003−203029号公報、およびW.Katsurashima, S.Yamakawa, T.Torii, J.Ishikawa, Y.Kikuchi, K.Yamaguti, K.Fujii and T.Nakashima,“NAS Switch: A Novel CIFS Server Virtualization,”Proceedings of 12th IEEE/11th NASA Goddard Conference on Mass Storage Systems & Technologies,April,2003.参照)。
特開2003−203029号公報には、NFSプロトコル環境において、複数のサーバのストレージリソースをあたかも1つのストレージリソースであるかのように統合してクライアントに提供する方式が提案されている。この方式によれば、通信パケット内の情報を変更して転送するスイッチ装置をクライアントとサーバの間に導入することによって、クライアントおよびサーバに特殊なソフトウェアまたはハードウェアを導入することなく、複数サーバのストレージリソースをあたかも1つのストレージリソースであるかのようにクライアントに提供することができる。
また、W.Katsurashima他の論文には、CIFSプロトコルが用いられる環境において、NFSプロトコル環境と同様に、クライアントおよびサーバに特殊なソフトウェアまたはハードウェアを導入することなく、複数サーバのストレージリソースを統合するスイッチ装置が提案されている。
これらの提案するところによれば、クライアントとサーバの間のネットワークに、スイッチ装置に代表される中間装置を配することにより、相互連携機能を持たないサーバ群の提供するサービスを統合できる。そのため、クライアント、またはクライアントを利用するユーザはサーバ装置群の構成を全く意識することなく、各サーバの提供するサービスを容易に利用することができる。また、システム管理者は、システムやサービスの稼動状況に応じて、クライアント側の設定を変更したり、アプリケーションを停止したりすることなく、サーバの追加または削除、サーバ間でのリソースの移行などの保守作業を行うことができる。
また、クライアントとサーバが、固有の状態情報を相互に交換して一定期間保持しつつ、その状態情報を利用して通信するシステムの他の代表例として、HTTP(Hyper Text Transfer Protocol)を利用したものがある。HTTPによれば、クライアントはサーバに格納されているWebコンテンツを利用可能である。クライアントはサーバにWebコンテンツを要求し、それに応じてサーバはWebコンテンツをクライアントに提供する。このクライアントからの要求を適切なサーバに振り分ける機能を持った中間装置は、Webスイッチまたはレイヤ7スイッチと呼ばれる。
この種の中間装置は、Webコンテンツの格納場所に応じて要求を振り分けることにより、複数のWebサーバを統合し、あたかも1台のWebサーバであるかのようにクライアントに見せることができる。そのため、CGIを使ったコンテンツやCOOKIEを用いたコンテンツなど、処理の異なるWebサービス毎にWebサーバを分けることで、クライアントからの要求による処理負荷を分散させ、かつ、分散された処理を担う各Webサーバとしてその負荷に見合った性能のものを設置することができる。そのため、Webサイトにおいて効率的にシステムを構築し、また、状況の変化に応じてシステムを変更することによりWebサービス自体を安定的に稼動させることができる。
上述したように、リモートファイルアクセスにおいてクライアントからのアクセスを複数のサーバに振り分けたり、Webサービスにおいてクライアントからのアクセスを複数のWebサーバに振り分けたりするような、中間装置によって提供されるサービスを、以下、中間装置提供サービスと称す。
上述したような中間装置を用いたシステムでは、予め中間装置がクライアントとサーバの間に設置され、クライアントのアクセス先が中間装置に設定されており、さらにクライアントが中間装置を経由して通信を開始していることが好ましい。その場合には、クライアント側の設定の変更やアプリケーションの停止などの操作をせずに、サーバ側システムの変更やリソース割り当ての変更の作業を実行できる。
しかし、必ずしもそのようにできない場合がある。例えば、既にクライアントとサーバの間で何らかのサービスが開始されているところに新たに中間装置を導入する場合、サーバ側システムの変更やリソース割り当ての変更をするには、アプリケーションを一旦停止したり、クライアント側の設定を変更したりする必要があった。
クライアントとサーバは相互に固有の状態情報を交換し、それを保持しつつ通信を行なっているので、サービスを提供する中間装置を新たに導入するためには、クライアント上のアプリケーションを一旦停止することによりサーバとクライアントの間の通信を遮断した状態で、クライアントの接続先をサーバから中間装置に変更する必要があった。
また、クライアントとサーバの間に配されていた中間装置を抜き取る場合も、導入時と同様に、クライアント上で稼動していたアプリケーションを一旦停止することによりクライアントとサーバの間の通信を遮断した後に、クライアントの接続先を中間装置からサーバへ変更する必要があった。ここでいう中間装置を抜き取る場合とは、中間装置をリプレースするときや、一時的な用途で利用されていた中間装置を取り除くときなどが考えられる。一時的な用途としては、既存のサーバをリプレースしたり、複数のサーバで提供されていたサービスを1つのサーバに統合したりするために、一時的に中間装置を用いることが考えられる。
本発明の目的は、クライアント上で稼動しているアプリケーションを停止したり、クライアントにおける接続先設定を変更することなく、新規導入および抜き取りをシームレスに実行できる中間装置を提供することである。
上記目的を達成するために、本発明の中間装置は、ネットワークを介して情報処理サービスを提供する第1の情報処理装置とその情報処理サービスを受ける第2の情報処理装置との間に設けられ、情報処理サービスに対する付加的なサービスである中間サービスを提供する中間装置であって、状態情報取得手段、中間サービス管理手段、および転送制御手段を有している。
状態情報取得手段は、情報処理サービスのために第1の情報処理装置と第2の情報処理装置の間に確立されているセッションの状態を維持するのに必要な状態情報を第1の情報処理装置または第2の情報処理装置から取得する。
中間サービス管理手段は、状態情報に基づいて、第1の情報処理装置と第2の情報処理装置の間で送受信される情報処理サービスのデータを、そのデータに中間サービスを適用して転送するための転送ルールを作成する。
転送制御手段は、転送ルールに従い、第1の情報処理装置と第2の情報処理装置の間に確立されていた既存のセッションの状態を、自身と第2の情報処理装置との間で維持しつつ、自身と第1の情報処理装置の間に新たなセッションを確立し、既存のセッションと新たなセッションを用いてデータを転送する。
本発明の一実施形態におけるシステムの構成を示すブロック図である。 中間装置の構成を示すブロック図である。 手順1によって中間装置を導入するときの処理の流れを示すフローチャートである。 手順2によって中間装置を導入するときの処理の流れを示すフローチャートである。 手順3によって中間装置を導入するときの処理の流れを示すフローチャートである。 中間装置を抜き取るときの処理の流れを示すフローチャートである。 第1の実施例におけるシステムの構成を示すブロック図である。 NFSプロトコルにおける各NFSサーバのファイルハンドルの例を示す表である。 第3の実施例におけるシステムの構成を示すブロック図である。 第4の実施例におけるシステムの構成を示すブロック図である。
本発明の一実施形態について図面を参照して詳細に説明する。
図1は、本発明の一実施形態におけるシステムの構成を示すブロック図である。図1を参照すると、本システムは、クライアント100、中間装置200、サーバ300、301、およびネットワークスイッチ150を有している。図1では、各装置について1つあるいは2つが例示されているが、各装置の数は任意である。
クライアント100、中間装置200、およびサーバ300、301の各々は、他の機器と通信するためにネットワーク接続用のインタフェースを有している。中間装置200はネットワーク1と、クライアント100はネットワーク2と、サーバ300はネットワーク3と、サーバ301はネットワーク4とそれぞれ接続されている。そして、ネットワーク1〜4はネットワークスイッチ150の各ポートに接続されている。この構成によりクライアント100、中間装置200、およびサーバ300、301は相互に通信可能となっている。
図1のネットワーク構成は一例であり、本発明はそれに限定されない。中間装置200を少なくとも論理的にクライアント100とサーバ300、301の間に設置可能であればよく、また、中間装置200が物理的にクライアント100とサーバ300、301の間に設置されてもよい。
サーバ300、301は、ネットワークを介してクライアント100に対して、WEBページの利用を可能にするサービス、またはファイルのデータに対するアクセスを可能とするサービスを含む情報処理に関するサービスを提供することができる。以下、サーバによって提供されるサービスを、以下、「情報処理サービス」という。
クライアント100はサーバ300、301にアクセスして、サーバ300、301によって提供される情報処理サービスを利用することができる。
ネットワークスイッチ150は、各ポート間の通信パケットの転送を行う機能の他、ポートミラーリングに代表されるような通信パケットのコピー転送機能を有している。ポートミラーリングとは、ある経路へ転送する通信パケットを他の経路へも転送する機能である。
中間装置200は、クライアント100とサーバ300、301との間に設置され、その間の通信パケットを転送すると共に、サーバによる情報処理サービスを向上させるための付加的なサービスを提供する。図2は中間装置200の構成を示すブロック図である。
図2を参照すると、中間装置200は、ネットワークインターフェース201、パケット転送制御部202、中間装置提供サービス管理部203、セッション監視部204、セッション解除制御部205、および情報収集部206を備えている。
パケット転送制御部202は、パケットの再構成、またはヘッダの組み換え等を行い、クライアント100とサーバ300、301の間でデータを転送する。その転送方法は、中間装置で扱われるプロトコル、中間装置によって提供されるサービス(以下、「中間装置提供サービス」という)の種類、および中間装置提供サービスに対してオペレータが行った設定によって定まる。本発明が対象とする中間装置提供サービスには様々な内容のサービスが含まれる。
中間装置提供サービスの内容はオペレータによって設定されることが考えられる。動作の一例を示すと、中間装置提供サービスが提供されていない状態では、パケット転送制御部202はクライアント100とサーバ300、301の間のパケットをそのまま転送するだけである。一方、中間装置提供サービスが提供されている状態では、パケット転送制御部202は、その転送ルールに従って、クライアント100とサーバ300、301の間のデータを転送する。このとき、通信パケットのヘッダを付け替えることによりデータを転送してもよく、また、通信パケットで送られるデータを抽出し、新たな通信パケットによりそのデータを転送してもよい。中間装置提供サービスは、サーバ300、301が提供する情報処理サービスに対する付加的なサービスであって、中間装置200によって提供される。データの転送先は、必ずしも送信元が指定した送信先と一致しない場合がある。
この中間装置提供サービスは、中間装置200がクライアント100とサーバ300、301の間のデータの転送先やヘッダもしくはデータを操作することにより実現される。そのため、中間装置提供サービスを提供するためには、所定の転送ルールが必要となる。ここで転送ルールとは、上述したように定まる転送方法を実現するための、データ転送に関する規則である。中間装置提供サービスの一例として、クライアント100からのアクセスを中間装置200が適切に複数のサーバ300、301に振り分けることにより、クライアント100に対して複数のサーバ300、301を統合して1つのサーバとして見せるというサービスが挙げられる。
中間装置提供サービス管理部203は、中間装置提供サービスの提供を制御する。その際、中間装置提供サービス管理部203は、オペレータが中間装置提供サービスに対して行った設定に基づき、パケット転送制御部202、セッション監視部204、セッション解除制御部205、または情報収集部206で行われるべき処理を決定し、各部に対して処理の実行を命令する。例えば、中間装置203は、セッション監視部204および情報収集部206で収集される情報とオペレータによる設定とに基づいて転送ルールを定め、その転送ルールに従ったデータ転送をパケット転送制御部202に指示する。
セッション監視部204は、クライアント100とサーバ300、301の間に設定されたセッションの状態を監視すると共に、そのセッション内でやりとりされるデータから、中間装置提供サービスの開始に必要なセッション情報を収集する。ここでセッション情報とは、各通信のセッションに関する固有の状態情報であり、セッションが設定されている間、そのセッションに対してのみ有効である。中間装置200がサーバ300とクライアント100の間にシームレスに入り込んで中間装置提供サービスを開始する場合、それまでサーバ300とクライアント100の間で維持されていたセッションの状態を代わりに維持することとなる。そのため、中間装置は、セッションの状態を維持するのに必要な状態情報を取得することが必要である。
セッション解除制御部205は、セッションを初期化する機能をもったプロトコルを中間装置200が扱う場合に、クライアント100およびサーバ300、301に対して、その間で既に確立されているセッションを初期化する命令を送信することができる。その際、セッション解除制御部205は、例えば、セッションを強制的に無効にする命令を送信すればよい。クライアント100およびサーバ300、301がこの命令を実行することによりセッションが初期化される。ここで、セッションの初期化とは、既存のセッションを一旦無効にし、その既存のセッションの状態を引き継ぐ新たなセッションを再び確立することである。
情報収集部206は、シームレスに中間装置提供サービスを開始するのに必要なサービス固有情報をクライアント100およびサーバ300、301からネットワーク経由で収集し、セッション監視部204で収集されたセッション情報と共に、中間装置提供サービス管理部202に送る。ここでサービス固有情報とは、サーバにより提供される情報処理サービスに固有の状態情報であり、複数のセッションに共通で用いられる。
(中間装置導入の手順)
中間装置200の導入手順として、利用されているネットワークプロトコル、中間装置提供サービス、および適用されるシステム環境に応じた、以下に示す3つの手順がある。ただし、中間装置200がいずれか1つの手順で導入される場合の他、適用先システムによっては複数の手順を組み合わせた手順で中間装置200が導入されることも考えられる。
(手順1)
ここでは、既にクライアント100とサーバ300の間でセッションが確立され、ネットワーク2、3を介して通信が行われている状態で中間装置200をシームレスに導入するときの手順について説明する。また、このとき中間装置200を導入すると共にサーバ301を追加するものとする。さらに、システム管理者などのオペレータによって、中間装置200で提供しようとする中間装置提供サービスに関する、環境設定や実行内容の設定等は予め中間装置200に登録されているものとする。このオペレータによって設定登録された情報は、中間装置提供サービス管理部203において管理される。
手順1の適用対象となる環境は、第三者が、クライアント100およびサーバ300上で稼動する情報処理サービスに関連する事象をセッション情報から知ることができる、あるいはできないというものである。中間装置200は、必要なセッション情報を取得しようとするが、必要な全てのセッション情報が取得できなければ、導入前から確立されていたセッションを導入後に再現することができない。例えば、中間装置200の導入前からクライアント100とサーバ300の間に既に張られているセッションが、クライアント100とサーバ300の間のネゴシエーションにより暗号化されている場合が考えられる。その場合、中間装置100はセッション上でやり取りされる情報を理解することができないため、セッションを再現することができない。
図3は、手順1によって中間装置を導入するときの処理の流れを示すフローチャートである。予め、クライアント100とサーバ300の間でセッションが確立され、ネットワーク2、3を用いて相互に通信している状況において、図3の手順が開始される。
中間装置提供サービス管理部203は、オペレータによって指定されたサービス設定から、中間装置提供サービスを実行するために取得する必要のある情報の一覧(以下、「必要情報一覧」という)を作成し、その必要情報一覧をセッション監視部204へ登録する(ステップS1)。
例えば、中間装置200で扱うべきプロトコルがTCP(TransmissionControl Protocol)であれば、中間装置提供サービス管理部203は、次のようにサービスを実行するための必要情報一覧を決める。
クライアント100とサーバ300間でセッション(TCPでは「コネクション」とも呼ばれる)が確立されると、クライアント100およびサーバ300の各々は、データの通信パケットにシーケンス番号を付加して送信する。また、そのシーケンス番号の付加された通信パケットを受信したクライアント100またはサーバ300は、その通信パケットに対して応答するとき、受信パケットに付加されていたシーケンス番号を“1”だけカウントアップして応答の通信パケットに付加する。クライアント100またはサーバ300は、その応答の通信パケットを受けると、そこに付加されたシーケンス番号を参照することで、自身の送信した通信パケットが相手に届いたことを確認する。さらに、TCPは、クライアント100およびサーバ300の受信バッファ量や、セッションの確立(開始)または解除(終了)といったセッションの状態をコントロールする機能をも含んでいる。
そのため、中間装置200は、クライアント100とサーバ300の間にシームレスに入ってTCPのセッションの途中から通信パケットを転送するためには、シーケンス番号、受信バッファ量、およびセッションの状態をセッション情報から収集し、転送開始前と後で不整合が生じないようなセッション情報を転送の通信パケットに付加する必要がある。この場合、中間装置200が必要とする情報は、シーケンス番号、受信バッファ量、およびセッションの状態の情報となる。
必要な情報が決定されすると、中間装置200およびサーバ301を新たにネットワークスイッチ150に接続する。これによりシステムは図1に示した物理構成となる。
ネットワークスイッチ150は、上述した通信パケットのコピー転送機能を用いて、ネットワーク2とネットワーク3の間に流れている通信パケットを中継装置200のネットワーク1へ転送するように設定しておく。そして、通信パケットが転送されてくるようになった中間装置200において、ネットワークインターフェース201を経由して得られたデータパケットはセッション監視部204に送られる。
セッション監視部204は、クライアント100とサーバ300との間で確立されていた既存のセッションで通信されているセッション情報を解析し、中間装置提供サービス管理部203により登録された取得情報一覧と合致するセッション情報を抽出する。そしてセッション監視部204は、そのセッション情報を、サーバ300からクライアント100へ提供されている情報処理サービスの事象と関連付けて、中間装置提供サービス管理部203へ通知する(ステップS2)。
ここで、取得情報一覧に挙げられている全ての情報を、中間装置200の導入前から確立されていたセッション群から取得可能か否か判定する(ステップS3)。
全ての情報が取得可能であれば、中間装置提供サービス管理部203は、それらの情報を取得し、取得した情報とオペレータによって指定されたサービス設定とから、通信パケットを適切に転送するため転送ルールを作成し、パケット転送制御部202へ登録する(ステップS4)。ただし、この時点では、転送ルールは単に登録されただけであり、未だ有効にされていない状態である。
ここで、セッション上を流れる通信パケットの経路をクライアント100からサーバ300まで直接に到達する経路から、クライアント100から中間装置200を経由してサーバ300に到達する経路へ変更する。その際、ネットワークスイッチ150の設定の変更、中間装置200またはサーバ300のIPアドレスの変更など、ネットワークスイッチ150に接続されているネットワークの構成に応じた方法が用いられる。
通信パケットの経路が中間装置200を経由するようになると、既存のセッションのクライアント100からサーバ300への通信パケットは、中間装置200では、ネットワークインターフェース201を介してパケット転送制御部202に到達するようになる。中間装置200は、中間装置200とサーバ300間に新たにセッションを確立し、クライアント100からの通信パケットのデータを中間装置200とサーバ300間に確立された新たなセッションを用いて転送するとともに、中間装置200の導入前から確立されていたセッションが切断されないように、予め取得していたセッション情報を元に、セッションを維持する(ステップS5)。
また、中間装置提供サービス管理部203は、クライアント100と中間装置200の間のセッション情報と、中間装置200とサーバ300の間のセッション情報との整合性が取れるように、パケット転送制御部202に新たな転送ルールを追加登録する。
中間装置200の導入前から確立されていた全てのセッションについて、転送ルールが完成し、2つのセッション間で整合性を取ってデータを転送できるようになると、中間装置提供サービス管理部203は、パケット転送制御部202に対して、予め登録された転送ルールを有効にするように指示する。パケット転送制御部202が転送ルールに従ってデータの転送を開始することにより、中間装置提供サービスの提供が開始される。
中間装置提供サービスが開始されると、転送ルールにより、クライアント100からのアクセスを新たに導入されたサーバ301へ転送する必要が生じたとき、中間装置200は、中間装置200とサーバ301の間に新たにセッションを確立してデータの転送を行う(ステップS6)。このとき、中間装置200は、クライアント100と中間装置200の間のセッションと、中間装置200とサーバ301の間のセッションとの間で、あるいはさらに中間装置200と既存のサーバ300のセッションを加えた3つのセッション間でデータを転送すると共に、それらセッションを維持する。
このようにして、中間装置200は、取得したセッション情報を用いて転送ルールを作成し、その転送ルールに従って、既存のセッションの状態をクライアント100との間に引継ぎ、かつサーバ300との間に新たなセッションを確立し、既存のセッションと新たなセッションを用いてデータを転送するので、自身の導入をクライアント100のユーザに意識させることなく、シームレスに導入されて中間装置提供サービスを開始することができる。
また、ステップS3の判定において、必要な情報が取得可能でなければ、中間装置提供サービス管理部203は、導入前から確立されていたセッションの通信パケットはそのまま転送してセッションを維持するように、パケット転送制御部202に指示する。必要な情報が取得可能でない場合とは、例えば、暗号化されているためセッション情報を解読できない場合が考えられる。また、クライアント100から新たなセッションの確立要求があると、中間装置提供サービス管理部202は、クライアント100との間でセッションを確立すると共に、サーバ300との間にもセッションを確立し、それら2つのセッション間でデータの転送を行うように、パケット転送制御部202に指示する(ステップS7)。
その結果、中間装置200において2つのセッション間でデータの転送をしているセッション、すなわち中間装置200の導入後に確立されたセッションのみが中間装置提供サービスの対象となる。
また、このときセッションに暗号化が必要であれば、中間装置200は、新規のセッションを確立するとき、クライアント100との間のセッション確立、およびサーバ300との間のセッション確立において暗号化の認証を行うことで、2つのセッションの間でのデータの転送を可能にする。
中間装置提供サービスが開始されると、クライアント100からの要求により新たに確立されたセッションのみを対象として、サーバ301へ転送する必要が生じたとき、中間装置200は、サーバ301との間に新たなセッションを確立してデータの転送を行う(ステップS8)。通常、あるセッションが無限期間継続されることはないので、いずれは全てのセッションが中間装置提供サービスの対象となる。
このように、全ての必要な状態情報を取得できないとき、中間装置200は、既存のセッションを対象外として中間装置提供サービスを開始し、かつ既存のセッションをそのまま継続させるので、既存のセッションで情報処理サービスを受けていたクライアント100のユーザにそれまでのサービスを最後まで継続提供しつつ、シームレスに中間装置200を導入し、中間装置提供サービスを開始することができる。
(手順2)
ここでは、手順1の場合と同様に、既にクライアント100とサーバ300の間でセッションが確立され、ネットワーク2、3を介して通信が行われている状態で中間装置200をシームレスに導入するときの手順について説明する。また、このとき中間装置200を導入すると共にサーバ301を追加するものとする。さらに、システム管理者などのオペレータによって、中間装置200で提供しようとする中間装置提供サービスに関する、環境設定や実行内容の設定等は予め中間装置200に登録されているものとする。このオペレータによって設定登録された情報は、中間装置提供サービス管理部203において管理される。
手順2の対象となる環境は、通信パケットを中間装置200にて転送するために必要となるサービス固有情報を、既存のプロトコルを用いてクライアント100またはサーバ300から直接取得しうる環境である。この場合、中間装置200は、クライアント100およびサーバ300から必要な情報を直接取得しようとする。
図4は、手順2によって中間装置を導入するときの処理の流れを示すフローチャートである。予め、クライアント100とサーバ300の間でセッションが確立され、ネットワーク2、3を用いて相互に通信している状況において、図4の手順が開始される。
中間装置提供サービス管理部203は、オペレータによって指定されたサービス設定から、中間装置提供サービスを実行するために取得する必要のあるサービス固有情報の一覧(以下、「必要サービス固有情報一覧」という)を作成し、必要サービス固有情報一覧を情報収集部206へ登録する(ステップS10)。
ここで、中間装置200およびサーバ301を新たにネットワークスッチ150に接続する。これによりシステムは図1に示した物理構成となる。
次に、情報収集部206は、中間装置提供サービス管理部203によって作成された必要サービス固有情報の一覧に記載されているサービス固有情報を、クライアント100およびサーバ300、301に問い合わせる。この問い合わせには、クライアント100およびサーバ300、301が予め備えているプロトコルが用いられる。情報収集部206は、得られたサービス固有情報を、サーバ300、301からクライアント100に提供されている情報処理サービスの事象と関連付けて、中間装置提供サービス管理部203に通知する(ステップS11)。その情報は中間装置提供サービス管理部203に保存される。
次に、中間装置提供サービス管理部203は、必要サービス固有情報一覧に挙げられている全ての情報が、クライアント100またはサーバ300、301から取得できたか否か判定する(ステップS12)。
全ての必要な情報が取得できていれば、中間装置提供サービス管理部203は、保存されたサービス固有情報と、オペレータによって指定されたサービス設定とから、中間装置提供サービスを適用した通信パケットのデータを適切に転送するための転送ルールを作成し、パケット転送制御部202に登録する(ステップS13)。
ステップS12の判定において、全ての必要な情報が取得できていなければ、中間装置提供サービス管理部203は、オペレータの入力による指示によってサービス固有情報を取得した後に(ステップS15)、ステップS13にて、そのサービス固有情報およびオペレータにより予め指定されたサービス設定とから、通信パケットを適切に転送するための転送ルールを作成し、パケット転送制御部202に登録する。なお、オペレータの入力により必要なサービス固有情報を登録することすらできない場合、中間装置提供サービスの提供は不可能である。
ここで、クライアント100とサーバ300間の通信パケットが搬送される経路をクライアント100からサーバ300まで直接に到達する経路から、クライアント100から中間装置200を経由してサーバ300に到達する経路へ変更する。その際、ネットワークスイッチ150の設定の変更、中間装置200またはサーバ300のIPアドレスの変更など、ネットワークスイッチ150に接続されているネットワークの構成に応じた方法が用いられる。
中間装置200のパケット転送制御部202に送られるようになった後、中間装置提供サービスの開始と共に、クライアント100からの通信パケットは、転送ルールに従ってサーバ300またはサーバ301へ転送される(ステップS14)。
(手順3)
ここでは、手順1、2の場合と同様に、既にクライアント100とサーバ300の間でセッションが確立され、ネットワーク2、3を介して通信が行われている状態で中間装置200をシームレスに導入するときの手順について説明する。また、このとき中間装置200を導入すると共にサーバ301を追加するものとする。さらに、システム管理者などのオペレータによって、中間装置200で提供しようとする中間装置提供サービスに関する、環境設定や実行内容の設定等は予め中間装置200に登録されているものとする。このオペレータによって設定登録された情報は、中間装置提供サービス管理部203において管理される。
手順3の対象となる環境は、様々ある通信プロトコルのうち、クライアントやサーバの突然の障害によって無効となったセッションの状態を回復する機能を備えたプロトコルが用いられている環境である。その種の通信プロトコルには、クライアントまたはサーバの障害によりセッションが無効となった後、その障害が回復すると、クライアントとサーバの間でセッションを再確立し、セッションの状態を障害発生前の状態に回復しようとする機能がある。本手順は、既に確立されているセッションの通信パケットの内容からは、必要な状態情報を取得できないような通信プロトコルが用いられている場合に有効である。その場合にも、中間装置200は、セッションを再確立させ、再確立の過程で必要な状態情報を取得することにより、シームレスに中間装置提供サービスを開始することができる。
図5は、手順3によって中間装置を導入するときの処理の流れを示すフローチャートである。予め、クライアント100とサーバ300の間でセッションが確立され、ネットワーク2、3を用いて相互に通信している状況において、図5の手順が開始される。
中間装置提供サービス管理部203は、オペレータによって指定されたサービス設定から、サービスを実行するために必要となる情報の一覧(以下、必要情報一覧)を作成し、その必要情報一覧をセッション監視部204へ登録する(ステップS20)。
ここで、中間装置200およびサーバ301を新たにネットワークスッチ150に接続する。これによりシステムは図1に示した物理構成となる。また、クライアント100とサーバ300間の通信パケット搬送の経路をクライアント100からサーバ300まで直接に到達する経路から、クライアント100から中間装置200を経由してサーバ300に到達する経路へ変更する。その際、ネットワークスイッチ150の設定の変更、中間装置200またはサーバ300のIPアドレスの変更など、ネットワークスイッチ150に接続されているネットワークの構成に応じた方法が用いられる。
次に、中間装置200は、セッション解除制御部205からクライアント100およびサーバ300に対して、セッションを無効あるいは初期化することを指示する命令を送信する(ステップS21)。このセッションを無効あるいは初期化する命令は、セッションを再確立させるために発せられる。
その命令を受け取ったクライアント100およびサーバ300は、セッションの回復機能により新たにセッションを確立しようとする。中間装置200は、セッション回復過程にあるクライアント100とサーバ300の間の通信パケットを収集すれば、セッションを確立する当初からセッション情報を全て取得することができる。そのセッション情報の収集作業はセッション監視部204にて行われ、集められたセッション情報は中間装置提供サービス管理部203に登録される(ステップS22)。
中間装置提供サービス管理部203は、オペレータによって指定されたサービス設定から、中間装置提供サービスを適用して通信パケットを適切に転送するための転送ルールを作成し、パケット転送制御部202へ登録する(ステップS23)。また、そのとき、中間装置提供サービス管理部203は、ステップS22で取得したセッション情報を、パケット転送のための補助情報としてパケット転送制御部202に通知する。
次に、中間装置提供サービス管理部203は、中間装置提供サービスの提供を開始する(ステップS24)。これにより、中間装置200は、クライアント100およびサーバ300、301の双方との間にセッションを確立し、転送ルールに基づき、異なるセッション間でデータを転送するようになる。
(中間装置抜き取りの手順)
ここでは、図1に示した様に中間装置200がサーバ300、301とクライアント100との間に一時的に導入されている状態から、その中間装置200をシームレスに抜き取るときの手順について説明する。
図6は、中間装置を抜き取るときの処理の流れを示すフローチャートである。
ここでは、一例として、中間装置200は、サーバ300によって提供されているサービスを、クライアントに意識させることなく、サーバ301に移すために、一時的に導入されたものであるとする。サーバ間の情報処理サービスの移行をクライアントに意識させないために、中間装置200は、サーバ300とサーバ301の情報処理サービスを統合しつつ、サーバ300のサービスをサーバ301に置き換えることができる。この場合、サーバ間での情報処理サービスの移行が完了すると、中間装置200は取り除かれる。
図6を参照すると、予め、サーバ300の提供していたサービスが中間装置200によってサーバ301へ移行された後に(ステップS30)、中間装置200の抜き取りが行われる。
中間装置200のパケット転送制御部202は、クライアント100から通信パケットを受信すると、それが新規なセッションの確立を要求する通信パケットであるか否か判断する(ステップS31)。
クライアント100からの通信パケットが新たなセッションの確立を要求する通信パケットであれば、中間装置200は、それを中間装置提供サービスの適用外とし、そのまま新たなサーバ301へ通信パケットを転送し、自らがセッションを確立することはない(ステップS32)。これにより、新たなセッションは、中間装置200の介在せずに、クライアント100とサーバ301の間で直接に確立される。
一方、クライアント100からの通信パケットが、既存のセッションのものであれば、中間装置200は、その通信パケットに対して中間装置提供サービスを適用し、今までどおり、クライアント100と中間装置200の間のセッションと、中間装置200とサーバ300またはサーバ301の間の2つのセッション間でデータを転送し(ステップS33)、ステップS31に戻る。
ステップS32の処理の後、パケット転送制御部202は、全てのセッションが中間装置提供サービスの適用外となったか否か判断する(ステップS34)。通常、あるセッションが無限期間継続されることはないので、いずれは全てのセッションが中間装置提供サービスの適用外となる。
ここで、全てのセッションが中間装置提供サービスの適用外となっていれば、通信パケットの経路を、中間装置200を経由しない経路へ変更する(ステップS35)。一方、ステップS34の判定で中間装置提供サービスの適用対象のセッションが残っていれば、中間装置200は、ステップS31に戻り、全てのセッションが中間装置提供サービスの対象外となるまで、そのサービスを継続する。
ステップS35が完了すれば、中間装置200は、ネットワークから切り離しされ、抜き取り可能な状態となる。
このように、中間装置200は、既存のセッションに対してはそのセッションが終了するまで中間装置提供サービスを継続適用し、新規のセッションについては中間装置提供サービスの適用外とし、全てのセッションが中間装置提供サービスの適用外となったことをもって抜き取り可能な状態と判断するので、既存セッションを利用しているユーザ、および新規セッションを利用しているユーザの双方に意識させることなく、クライアント100とサーバ300、301との間から抜き取られることができる。
{第1の実施例}
第1の実施例として、一般に用いられているNFSプロトコル環境に本発明の中間装置を適用した場合を例示する。中間装置提供サービスは、NFSクライアントからの複数のNFSサーバへのアクセスを統合し、NFSサーバの数や構成をNFSクライアントのユーザに意識させないというものである。
(NFSプロトコル環境での中間装置のシームレス導入)
NFSプロトコルにより、NFSサーバが、自身のストレージリソースへのアクセスを可能とする情報処理サービスをNFSクライアントに提供する環境において、中間装置をシームレスに導入する場合を例示する。この中間装置は、複数のNFSサーバのストレージリソースを統合してNFSクライアントに提供するためのものである。
図7は、第1の実施例におけるシステムの構成を示すブロック図である。図7には、中間装置および新たに追加されたNFSサーバが導入された後のシステムの構成が示されている。第1の実施例のシステムはNFSクライアント101、中間装置200、NFSサーバ302、303、およびネットワークスイッチ150を有している。図7では、各装置について1つあるいは2つが例示されているが、各装置の数は任意である。
NFSクライアント101、中間装置200、NFSサーバ300、301の各々は、他の機器との通信のためにネットワーク接続用のインタフェースを有している。中間装置200はネットワーク1と、NFSクライアント101はネットワーク2と、NFSサーバ302はネットワーク3と、NFSサーバ303はネットワーク4とそれぞれ接続されている。そして、ネットワーク1〜4はネットワークスイッチ150の各ポートに接続されている。この構成によりNFSクライアント101、中間装置200、およびNFSサーバ300、301は相互に通信可能となっている。
NFSサーバ302、303は、ネットワークを介してNFSクライアント101に情報処理サービスを提供することができる。NFSサーバ302、303が提供する情報処理サービスは、ストレージリソースへのアクセスをクライアントに提供するサービスであり、これをデータアクセスサービスと称する。
NFSクライアント101はNFSサーバ302、303にアクセスして、NFSサーバ302、303によって提供されるデータアクセスサービスを利用することができる。
ネットワークスイッチ150および中間装置200は図1、図2に示したものと同様のものである。
(導入手順)
NFSクライアント101とNFSサーバ302がNFSプロトコルを用いて互いに通信している環境に対して、中間装置200とNFSサーバ303をシームレスに導入する手順について説明する。ネットワーク2、3には、それらが同一のネットワークドメインとなるようなIPアドレスが付与されており、NFSクライアント101とNFSサーバ302は、ネットワーク2、3を介してNFSプロトコルにより通信している。
また、中間装置提供サービス管理部203では、オペレータによって指定されたサービス設定から、サービスを実行するために必要となるサービス固有の情報の一覧(必要サービス固有情報一覧)を作成し、情報収集部206へ登録する。
このような状況において、中間装置200のネットワーク1と、NFSサーバ303のネットワーク4とをネットワークスイッチ150に接続する。そして、ネットワーク1、4に、ネットワーク2、3と同一のネットワークドメインとなるようなIPアドレスを付与した後、ネットワーク1、4を起動する。また、中間装置200およびNFSサーバ303へのネットワーク設定も行う。
ネットワーク1、4が起動した後、新たなNFSサーバ303は自身のストレージリソースへのアクセスをクライアントに提供するデータアクセスサービスを起動し、NFSプロトコルによるストレージリソースへのアクセスを可能な状態にする。
中間装置200およびNFSサーバ303のネットワーク設定が終了した後、中間装置200の情報収集部206は、NFSサーバ302とNFSサーバ303によって提供されるNFSプロトコルによるデータアクセスサービスを統合するために必要なサービス固有情報をNFSサーバ302およびNFSサーバ303からNFSプロトコルを用いて収集する。
データアクセスサービスの統合とは、NFSクライアント101が、中間装置200を介してアクセスすることによって、NFSサーバ302とNFSサーバ303が、あたかも1つのNFSサーバ、つまり1つのストレージリソースとしてクライアントに提供されるようにすることである。
これを実現するために、中間装置200は、NFSクライアント101からのアクセス要求に対して、要求先がどこであるかを判断し、要求先のリソースが格納されているNFSサーバへ要求を転送すればよい。
NFSプロトコルでは、ディレクトリやファイルといったアクセス対象となるデータオブジェクトを一意に特定するためのIDとして、NFSサーバが生成したファイルハンドルと呼ばれる識別子が用いられる。そして、NFSクライアントがデータアクセスサービスを利用しようとするとき、NFSクライアントからの要求には、このファイルハンドルが必ず含まれている。
中間装置200は、各ファイルハンドルに、自身が統合するNFSサーバの各々の識別子を新たに組み込むことによって、容易に転送先のNFSサーバを特定することができる。
しかし、中間装置200の導入前から既にNFSクライアント101とNFSサーバ302の間で通信がされていれば、NFSサーバ302が生成したオリジナルのファイルハンドルがある。中間装置200は、シームレスな導入を実現するために、オリジナルのファイルハンドルをそのまま継続して使える状態としなければならない。そのため、中間装置200は、要求に含まれたオリジナルのファイルハンドルから、その要求の転送先であるNFSサーバ302またはNFSサーバ303を特定しなければならない。
ファイルハンドルの生成方法は、一般的には任意であるが、通常、各NFSサーバの実装によりパターン化されている。そして、生成されるファイルハンドルは、データオブジェクトを格納しているファイルシステムの情報や、格納しているデバイスの情報を含んでおり、これらの情報は、同一NFSサーバ内の各ファイルハンドルに共通なデータ列である。中間装置200は、この複数のファイルハンドルに共通するパターンの規則性を抽出できれば、各NFSサーバへ通信パケットを転送するために、NFSサーバを特定する識別子(以下、サーバ識別子と称す)として利用することができる。つまり、データオブジェクトを識別する情報であるファイルハンドルから、そのデータオブジェクトを有するサーバを識別可能なサーバ識別子を抽出すれば、そのサーバ識別子が、サービス固有情報として利用可能となる。中間装置200は、中間装置提供サービスにおいて通信パケットのデータを転送するために、データオブジェクトのファイルハンドルから宛先サーバを特定する必要がある。サーバ識別子が抽出できていれば、中間装置200は、既存の全てのファイルハンドルを取得して記録する必要が無く、ファイルハンドルの一部に含まれるサーバ識別子を見るだけで、宛先サーバを特定することができる。その結果、中間装置200は少ない処理および記憶容量で中間装置提供サービスを実現することができるようになる。
また、NFSのファイルハンドルのデータ長は、各NFSサーバにおいて、可変長または固定長である。例えばNFSサーバ間でファイルハンドルのデータ長が異なれば、そのデータ長を、通信パケットを各NFSサーバへ転送する際のサーバ識別子として用いることができる。
中間装置200は、NFSサーバ302およびNFSサーバ303から、NFSプロトコルを用いて複数のファイルハンドルを取得しておき、取得したファイルハンドルと、上述したファイルハンドル生成方法とから、データアクセスサービスの統合に必要となるサーバ識別子を抽出する。
図8は、NFSプロトコルにおける各NFSサーバのファイルハンドルの例を示す表である。図8のファイルハンドル表400には、AおよびBという2つのNFSサーバのファイルハンドルのデータパターンのリストが示されている。
NFSサーバAのリストによれば、左から3桁目〜6桁目が全てのファイルハンドルに共通の「cfde」である。また、NFSサーバBのリストによれば、左から3桁目〜6桁目が全てのファイルハンドルに共通の「0000」である。このことから、中間装置200は、3桁目〜6桁目のデータを、サーバの特定を可能にするサーバ識別子として抽出すればよい。
NFSサーバ302およびNFSサーバ303から取得したファイルハンドルから、特定パターンまたは特定データ長によるサーバ識別子を抽出できなければ、中間装置200はNFSサーバ302およびNFSサーバ303の全てのファイルハンドルを取得し、ファイルハンドルとNFSサーバとを対応付けてテーブル化して、そのテーブルを保持する。そして、中間装置200は、NFSクライアント101からの通信パケットを受けたときその通信パケットに含まれるファイルハンドルとテーブルを照合することにより、転送先のNFSサーバを特定する。
中間装置200では、上述のようにしてNFSプロトコルの通信パケットに含まれるNFSサーバのオリジナルのファイルハンドルから適切なNFSサーバを特定できるようにパケット転送制御部202へ登録し、データアクセスサービスを統合する中間装置提供サービスのための転送ルールを中間装置提供サービス管理203から転送制御部202に登録した後、中間装置提供サービスを開始する。そして、その後、クライアント101からの通信パケットが中間装置200を経由するようにネットワーク設定を変更する。図7の例では、NFSサーバ302のネットワーク3に付与されていたIPアドレスを中間装置200のネットワーク1に付与すると共に、ネットワーク3のIPアドレスを他のIPアドレスへ変更する。また、中間装置200に対して、ネットワーク3のIPアドレスを、NFSサーバ302への通信パケットの転送先アドレスとして登録する。これらの設定変更により、NFSクライアント101からの通信パケットが必ず中間装置200を経由するように経路が変更される。
一般に、NFSプロトコルは、その下位プロトコルに当たるトランスポート層に、TCPまたはUDP(Unified Datagram Protocol)を用いる。
TCPでは、一般的には、中間装置200がTCPセッションを継続させるために、シーケンス番号などの情報が不整合とならないようにする必要がある。これを行わないとTCPセッションが切断されてしまうこととなる。しかし、NFSプロトコルでは、TCPがNFSプロトコルと独立して制御されているため、一部例外を除いてTCPのセッションが切断されても、TCPの上位プロトコルであるNFSプロトコルの制御は影響を受けない。また、UDPでは、そもそもUDP自身にセッションという概念がない。
したがって、TCPであれば、通信パケットの転送先がNFSサーバ302から中間装置200へ変更されたとき、導入前のNFSクライアント101とNFSサーバ302の間のセッションを切断し、中間装置200とNFSクライアント101の間で新たなセッションを再確立すればよい。また、UDPであれば、通信パケットの転送先がNFSサーバ302から中間装置200へ変更されたとき、中間装置200はNFSクライアント101からの通信パケットをそのままNFSサーバ302に転送すればよい。このように、トランスポート層のプロトコルに関しては、NFSプロトコルの制御上、不整合を発生させることなく中間装置200で通信パケットを扱うことができる。
ただし、一部例外として、TCPを使ってNFSファイルシステムをソフトマウントしている場合、セッションが切断されると、NFSクライアントはセッション切断をエラーとして検出してしまう。したがって、TCPでソフトマウントしているNFSクアイアントが存在する場合には、そのNFSクライアントをオペレータにより中間装置200に予め登録した後、中間装置200を導入し、スイッチ150のポートミラーリングの機能により、ソフトマウントしているNFSクライアントのTCPセッションのセッション情報をセッション監視部204において取得し、中間装置提供サービス管理部203において転送ルールを作成して、パケット転送制御部202に登録しておく必要がある。
上述したように、NFSクライアント101からの通信パケットにはNFSサーバ302で生成されたオリジナルのファイルハンドルが含まれている。パケット転送制御部202は、NFSサーバ302およびNFSサーバ303から取得したファイルハンドル情報から抽出したファイルハンドルの特定パターン、またはNFSサーバ302およびNFSサーバ303の全てのファイルハンドルが登録されたテーブルを参照して転送先を決定する。
トランスポート層のプロトコルがTCPであれば、中間装置200は、パケット転送制御部202から、NFSサーバ302との間で新たにTCPセッションを確立するか、あるいはソフトマウントしているNFSクライアントのセッションについては、作成した転送ルールによりセッションを引き継ぎ、NFSクライアント101からの通信パケットをNFSサーバ302に転送する。トランスポート層のプロトコルがUDPであれば、中間装置200は、パケット転送制御部202を用いて、NFSクライアント101からの通信パケットをそのままNFSサーバ302に転送する。
また、中間装置200は、中間装置提供サービスである、データアクセスサービスを統合するサービスの稼動を開始すると、クライアント101から通信パケットを受けたとき、パケット転送制御部202において、それぞれのNFSサーバ生成のオリジナルのファイルハンドルを利用して、オペレータが設定した統合サービスの規則(内容)に基づいて適宜転送先をNFSサーバ302またはNFSサーバ303のいずれかに決定して転送することができる。
これにより、NFSクライアント101はNFSサーバ302とNFSサーバ303という2つのNFSサーバの存在を意識することなく、1つのNFSサーバとしてアクセスすることが可能となる。つまり、中間装置200の導入と、それによる中間装置提供サービスであるデータアクセスサービスの統合とがNFSクライアント101に対してシームレスに行われる。
{第2の実施例}
第2の実施例として、NLM(Network Lock Manager)プロトコル環境に本発明の中間装置を適用した場合を例示する。中間装置提供サービスの内容は、第1の実施例と同様である。
(NLMプロトコル環境での中間装置のシームレス導入)
ここでは、中間装置200が第1の実施例と同様に、NFSクライアント101とNFSサーバ302の間にシームレスに導入される例を示す。
NLMプロトコルは、ファイルのロック機能を提供するプロトコルであり、通常はNFSプロトコルが用いられている環境で用いられる。NFSプロトコルはロック機能を有していないため、NLMプロトコルがそれを補完する。NFSプロトコルおよびNLMプロトコルが利用されている環境において、ファイルをロックするために、ファイルのロックが状態情報としてNFSサーバおよびNFSクライアントに保存される。
この環境に中間装置をシームレスに導入し、NLMプロトコルのロック制御を不整合なく継続するには、中間装置は導入前のロックの状態情報を全て把握する必要がある。
ファイルのロック状態を知るための機能として、NLMプロトコルは、ファイルにかけられているロックを検査する命令を有している。中間装置200は、NFSクライアント101とNFSサーバ302の間のネットワークに入り込む前に、この命令を用いて、予めNFSサーバ302から提供されている各ファイルに対するロックの状態情報を順次取得することができる。しかし、NFSサーバ302が管理しているファイルの数が膨大な場合、全てのロックの状態情報を取得するには時間がかかる。そのため、各ファイルのロックの状態情報を順次取得している間に、取得済みファイルのロック状態が変わってしまう可能性があり、中間装置200は、導入時点での全てのファイルのロックの状態情報をロック検査命令によって正確に把握することは困難である。
また、NLMプロトコルは、NFSサーバが故障などでリブートした場合に備えて、リブート前に有効であったロックの状態情報を回復する機能を有している。さらに、NLMプロトコルは、NFSクライアントが故障などでリブートした場合に備えて、NFSサーバで保持していたロックの状態情報を破棄する機能を有している。中間装置200では、この機能を用いることで、中間装置導入前のロックの状態を把握することができる。
(導入手順)
NLMプロトコルは、一般的にNFSプロトコル利用環境で用いられるため、ここではシステムは図7に示した第1の実施例と同じ構成であるとする。
また、中間装置提供サービス管理部203では、オペレータによって指定されたサービス設定から、中間装置提供サービスを実行するために必要となるサービス固有の情報の一覧(必要サービス固有情報一覧)を作成し、セッション監視部204へ登録する。
まず、第1の実施例と同様に、中間装置200およびNFSサーバ303をネットワークスイッチ150に接続し、ネットワーク設定を変更する。次に、情報収集部206は、NFSプロトコルにより、NFSサーバ302に対してファイルアクセスを行っているNFSクライアントの一覧をNFSサーバ302から取得し、中間装置提供サービス管理部203へ送信する。このクライアント一覧は、NFSクライアントのIPアドレスおよびコンピュータ名の一覧であり、必ずNFSプロトコルと共に用いられるMOUNTプロトコルの命令(MOUNT_DUMP)を用いて取得できる。
クライアント一覧が取得された後、第1の実施例と同様にIPアドレスを変更して、本来であればNFSサーバ302へ送られる通信パケットが中間装置200へ送られるようにする。この経路変更の設定を行った後、中間装置提供サービス管理部203から、NFSクライアント一覧がセッション解除制御部205に送られ、セッション解除制御部205からクライアント一覧に含まれているNFSクライアント101に対して、NFSサーバ302がリブートしたものとして、リブート前まで有効であったロックが無効となったことを示す通知を送信する。この通知には、NLMプロトコルと共に用いられるSM(Status Monitor)プロトコルに用意されている命令(SM_NOTIFY)が用いられる。実際にはNFSサーバ302はリブートしていないが、中間装置200は、NFSサーバ302のロック状態を知るために、このSM_NOTIFY命令をダミーで送信する。
このSM_MOTIFY命令を受信したNFSクライアント101は、中間装置200の導入直前の時点で有効であったロックの状態を回復するため、ロックのかかっていた全てのファイルを再びロックするために再ロック要求を、NFSサーバ302に送信する。
この再ロック要求は中間装置200に送られるので、セッション監視部204は、この再ロック要求の内容から、NFSクライアント101がNFSサーバ302のファイルに対してかけていた全てのロックの状態を取得し、セッション解除制御部205へ登録する。
さらに、セッション解除制御部205は、SMプロトコルを用いて、NFSサーバ302にNFSクライアント101がリブートしたことを示す命令(SM_NOTIFY)を送信する。実際にはNFSクライアント101はリブートしていないが、中間装置200は、NFSサーバ302が保持しているロック状態をクリアするために、このSM_NOTIFY命令をダミーで送信する。これによりNFSサーバ302に保持されていたロックの状態情報がクリアされる。次に、セッション解除制御部205は、登録されているロックの状態情報を元に、NFSクライアント101からの再ロック要求をNFSサーバ302へ送る。また、正しくロックが保持できたファイルから、中間装置提供サービス管理部203へロックの状態情報が登録される。
なお、ここでは、一例として、中間装置200は、SMプロトコルによるNFSクライアント101がリブートしたことを示すSM_NOTIFY命令をNFSサーバ302に送信することとした。しかし、中間装置200は、それに代えて、NLMプロトコルに用意されている要求元が保持していたロックをすべて無効にする命令(NLM_FREEALL)を用いてもよい。これによってもNFSサーバ302が保持している全てのロックを無効にすることができる。
以上の一連の操作により、中間装置200は、中間装置200の導入直前に有効であった全てのロック状態情報を取得することができる。これにより、中間装置200は、自身が把握しているロックの状態と、NFSサーバ302における実際のロックの状態とを整合させることができる。
また、中間装置200の中間装置提供サービス管理部203にて把握しているロックの状態情報は、中間装置提供サービスの一環として利用される。例えば、中間装置200は、中間装置提供サービスの1つとして、各NFSサーバのストレージ容量の平滑化やアクセス負荷の分散を目的としてNFSサーバ302およびNFSサーバ303間でデータを移す処理を行うことが考えられる。その場合、データを移す処理をNFSクライアント101に隠蔽しながら実行することが望ましく、データの移行先にはデータ移行元と同じロックの状態を再現する必要がある。そのために中間装置提供サービス管理部203はロック状態情報をNLMのパケットの転送ルールへと反映させ、パケット転送制御部202へロックの状態情報をパケット転送の補助情報として登録する。
{第3の実施例}
第3の実施例として、CIFSプロトコル環境に本発明の中間装置を適用した場合を例示する。中間装置提供サービスの内容は第1および第2の実施例と同様である。
(CIFSプロトコル環境での中間装置のシームレス導入)
ここでは、中間装置は複数のCIFSサーバのストレージリソースの統合を目的として導入されるものとする。新たなCIFSサーバが導入され、中間装置が既存のCIFSサーバと新たに導入されたCIFSサーバとを統合するものである。
図9は、第3の実施例におけるシステムの構成を示すブロック図である。図9には、中間装置200および新規のCIFSサーバ305が導入された後のシステムの構成が示されている。
図9を参照すると、本実施例のシステムは、CIFSクライアント102、中間装置200、CIFSサーバ304、305、およびネットワークスイッチ150、151を有している。CIFSサーバ305が新たに導入されたCIFSサーバである。図9では、各装置について1つあるいは2つが例示されているが、各装置の数は任意である。
CIFSクライアント102、中間装置200,CIFSサーバ304、305の各々は、他の機器との通信のためにネットワーク接続用のインタフェースを有している。中間措置200はネットワーク1およびネットワーク5と、CIFSクライアント102はネットワーク2と、CIFSサーバ304はネットワーク3と、CIFSサーバ305はネットワーク4とそれぞれ接続されている。そして、ネットワーク1〜3はネットワークスイッチ150に接続され、ネットワーク4、5はネットワークスイッチ151に接続されている。この構成によりCIFSクライアント102、中間装置200、およびCIFSサーバ304、305は相互に通信可能となっている。
CIFSサーバ304、305は、ネットワークを介してCIFSクライアント102に情報処理サービスを提供することができる。CIFSサーバ302、303が提供するサービスは、ストレージリソースへのアクセスをクライアントに提供するサービスであり、これを「データアクセスサービス」と称する。
CIFSクライアント102はCIFSサーバ304、305にアクセスして、CIFSサーバ304、305によって提供されるデータアクセスサービスを利用することができる。
ネットワークスイッチ151はネットワークスイッチ150と同様のものであり、さらにネットワークスイッチ150および中間装置200は図1、図2に示したものと同様のものである。
(導入手順)
CIFSクライアント102とCIFSサーバ304の間でCIFSプロトコルのセッションが確立され、通信が行われている状況において、CIFSクライアント102とサーバ304間のネットワークに中間装置200をシームレスに導入する手順について説明する。
ここで、CIFSクライアント102とサーバ304が、ネットワークスイッチ150に接続されたネットワーク2、3を介してセッションを確立しており、通信している状況であるとする。そして、この状態から、中間装置200のネットワーク1をネットワークスイッチ150に接続し、中間装置200のネットワーク5およびCIFSサーバ305のネットワーク6をネットワークスイッチ151に接続する。
次に、ネットワーク2およびネットワーク3と同一のネットワークドメインとなるようなIPアドレスをCIFSサーバ305のネットワーク4に付与する。また、ネットワーク1とネットワーク5の間で中間装置200がネットワークブリッジとして機能するように中間装置200にネットワーク設定を行い、ネットワークを稼動させる。
中間装置200およびCIFSサーバ305へのネットワーク設定を行った後、CIFSサーバ304のネットワーク3をネットワークスイッチ150から抜き取り、ネットワークスイッチ151へ接続する。
このネットワーク3の接続の変更により、CIFSクライアント102からのCIFSプロトコルによる通信パケットは、ネットワーク1、中間装置200、ネットワーク5、およびネットワーク3を経由してCIFSサーバ304に送られるようになる。
CIFSプロトコルでは、セッションを確立したユーザを識別するために、CIFSクライアント102とCIFSサーバ304の間でのユーザ認証を行った後、そのセッション内のみで有効なユーザIDがCIFSサーバ304によって付与される。これにより、ユーザIDは、ユーザの認証情報であるユーザ名およびパスワードを第三者が取得できないような情報となっている。そのため、中間装置200は、CIFSクライアント102とCIFSサーバ304の間の通信パケットを収集しても、中間装置200の導入前に確立されていたセッションのユーザ情報を特定することができない。そこで、中間装置200は、中間装置導入前に確立されていたセッションについては、中間装置提供サービスの適用対象外として扱う。
一方、中間装置200の導入後にCIFSクライアント102から新規に確立されるセッションについては、中間装置200は、セッションを確立するときに送受信される通信パケットからユーザ認証情報を取得することができる。また、中間装置200は、CIFSプロトコルによるセッションが確立されるときに送受信される通信パケットを取得することにより、CIFSサーバのファイルにかけられているロックの状態などのセッション情報も漏れなく取得できる。それらを利用すれば、中間装置200はCIFSサーバとの間でセッションを確立し、CIFSクライアント102からの接続先となるCIFSサーバを、中間装置提供サービスのルールに基づいて変更することができる。このようにして、中間装置200は、中間装置200導入後にCIFSクライアント102から新規に確立されるセッションを、中間装置提供サービスの適用対象として扱う。
したがって、中間装置200では、中間装置提供サービス管理部203が、オペレータによって指定されたサービス設定によるパケット転送ルールに加え、中間装置200の導入前から確立されていたセッションを中間装置提供サービスの適用対象外として、その通信パケットをCIFSサーバに転送し、一方、中間装置200の導入後に構築されるセッションを中間装置提供サービスの適用対象として、その通信パケットをCIFSサーバに転送する転送ルールをパケット転送制御部202へ登録することにより、中間装置200の導入前から構築されていたセッションも中断することなく扱うことができるようになるので、中間装置200のシームレスな導入が可能となる。
{第4の実施例}
第4の実施例として、オンラインショッピングサイトに本発明の中間装置を適用した場合を例示する。中間装置提供サービスの内容は、複数のWEBサーバで提供されるWEBサービスを統合し、WEBクライアントのユーザに1つのWEBサービスとして提供するサービスである。例えば、ユーザは複数のオンラインショッピンサイトで販売されている商品を1回のアクセスで購入し、決済することができるというサービスが考えられる。
(オンラインショッピングサイト環境での中間装置のシームレス導入)
ここでは、中間装置はオンラインショッピングサイトを運用している複数のWEBサーバを統合し、個々のショッピングサイトを統合して、1つのショッピングサイトとして見せることを目的として導入されるものとする。
図10は、第4の実施例におけるシステムの構成を示すブロック図である。本システムは、中間装置200および、少なくとも2台以上のWEBサーバ306、307、決済サーバ308、少なくとも1台以上のWEBクライアント103、およびネットワークスイッチ150により構成される。
WEBクライアント103は、ネットワーク2からインターネット7を経由して、図10のサーバ群にアクセス可能であり、各WEBサーバからWEBコンテンツを取得して、情報を表示する。
WEBサーバ306、307は、ネットワーク3、4を経由してネットワークスイッチ150に接続されている。そして、WEBサーバ306、307は、オンラインショッピングにおける商品の選択までのWEBコンテンツをWEBクライアント103へ提供し、WEBクライアント103の情報と選択された商品情報を関連付けて1つのセッションとして管理する。さらに、WEBサーバ306、307は、そのセッション情報を決済サーバ308に送る。
決済サーバ308は、ネットワーク5を経由してネットワークスイッチ150に接続されたWEBサーバである。そして、決済サーバ308は、WEBサーバ306、307からのセッション情報を受けて、WEBクライアント103へ商品の支払い方法および配送方法を選択するためのWEBコンテンツを提供する。
なお、WEBクライアント103は、WEBサーバ306、307との間では、個人を特定するためのログイン作業や、暗号化通信を用いないものとし、決済サーバ308へアクセスする際にログイン作業や暗号化通信を用いるものとする。
ネットワークスイッチ150、および中間装置200は、図1、および図2に示したものと同様のものである。
以上のようなシステム上で、WEBクライアント103がオンラインショッピングサイトにアクセスして商品選択を行うとき、中間装置200は、WEBサーバ306とWEBサーバ307のオンラインショッピングサイトを統合し、WEBクライアント103からWEBサーバ306および307の両方のサイトの商品を選択可能とするような中間装置提供サービスをWEBクライアント103へ提供するものとする。
また、中間装置200には、オンラインショッピングサイトを運用するオペレータにより、予め、WEBサーバ306とWEBサーバ307のオンラインショッピングサイト統合のための設定がなされているものとする。例えば、WEBサーバ306で提供される商品選択ページに、WEBサーバ307で提供される商品を追加し、その追加した商品の情報を表示するための設定がなされている。
(導入手順)
WEBクライアント103とWEBサーバ306の間でセッションが確立され、通信が行われている状況において、WEBクライアント103とWEBサーバ306間のネットワークに中間装置200をシームレスに導入する手順について説明する。
ここで、WEBクライアント103とWEBサーバ306が、ネットワークスイッチ150に接続されたネットワーク2、3を介してセッションを確立しており、通信している状況であるとする。そして、この状態から、中間装置200のネットワーク1をネットワークスイッチ150に接続する。
中間装置200において、中間装置提供サービス管理部203は、オペレータによって指定されたサービス設定から、サービスを実行するために必要となる情報の一覧(必要情報一覧)を作成し、セッション監視部204へ登録する。この必要情報一覧には、セッションIDと商品番号が含まれる。このセッションIDは、WEBクライアント103とWEBサーバ306の間のセッション情報において各セッションを識別するための識別子である。この商品番号は、WEBサーバ306が提供している商品の中からWEBクライアントが選択した商品を示す番号である。
必要情報一覧が決定した後、中間装置200を新たにネットワークスッチ150に接続する。これによりシステムは図10に示した物理構成となる。
ネットワークスイッチ150は、通信パケットのコピー転送機能を用いて、ネットワーク2とネットワーク3の間に流れている通信パケットを中継装置200のネットワーク1へ転送するように設定しておく。そして、通信パケットが転送されてくるようになった中間装置200において、データパケットはネットワークインターフェース201を通してセッション監視部204に到達する。
セッション監視部204は、クライアント100とサーバ300の間で確立されていた既存のセッションで通信されているセッション情報を解析する。そして、セッション監視部204は、セッション情報から、セッションIDと、WEBクライアント103が選択した全ての商品の商品番号とを抽出し、中間装置提供サービス管理部203へ送る。
中間装置導入前から確立されていたセッションについての全てのセッションIDおよび商品番号を、セッション情報から取得できた場合、中間装置提供サービス管理部203は、それら取得した情報と、オペレータによって指定されたサービス設定とから、通信パケットを適切に転送するための転送ルールを作成し、パケット転送制御部202へ登録する。この場合の転送ルールとは、商品一覧を表示するWEBコンテンツのURLアドレスをWEBクライアント103が要求したとき、WEBサーバ306とWEBサーバ307のWEBコンテンツを統合するためのルールである。この転送ルールによれば、WEBサーバ306のWEBコンテンツが要求されたとき、WEBサーバ307の商品一覧のWEBコンテンツを取得し、WEBサーバ306のコンテンツと統合して1つのWEBコンテンツとしてWEBクライアント103へ返送することとなる。
転送ルールが作成されると、セッション上を流れる通信パケットの経路をWEBクライアント103からWEBサーバ306まで直接に到達する経路から、クライアント100から中間装置200を経由してWEBサーバ306に到達する経路へ変更する。その際、ネットワークスイッチ150の設定の変更、中間装置200またはサーバ300のIPアドレスの変更など、ネットワークスイッチ150に接続されているネットワークの構成に応じた方法が用いられる。
通信パケットの経路が中間装置200を経由するようになると、WEBクライアント103からサーバ306間で確立していたセッション上を流れる通信パケットは、中間装置200では、ネットワークインターフェース201を介してパケット転送制御部202に到達する。中間装置200は、WEBサーバ306との間に新たにセッションを確立し、クライアント100から送られる通信パケット内のデータを、新たに確立したセッションを用いてWEBサーバ306に転送するとともに、中間装置200の導入前から確立されていたセッションが切断されないように、あらかじめ取得していたセッション情報を元に、セッションを維持する。
さらに、中間装置提供サービス管理部203は、WEBクライアント103と中間装置200の間のセッション情報と、中間装置200とWEBサーバ306の間のセッション情報との整合性が取れるように、パケット転送制御部202に新たに転送ルールを追加する。この場合の転送ルールとは、WEBクライアント103とWEBサーバ306間で生成されていたセッションIDをWEBクライアント103と中間装置200間のセッションで用い、中間装置200とWEBクライアント103の間のセッションIDと、中間装置200とWEBサーバ306間のセッションIDとの変換を行うためのルールである。
中間装置200が導入される前から確立されていた全てのセッションが、中間装置200を経由し、かつWEBクライアント103と中間装置200の間のセッションと、中間装置200とWEBサーバ306の間のセッションとの2つのセッション間で整合性が取れるようになった後、中間装置提供サービス管理部203は、予め登録しておいた転送ルールを有効にするようにパケット転送制御部202に指示し、中間装置提供サービスを開始する。
中間装置提供サービスの提供が開始された後、WEBクライアント103が、特定のURLのWEBコンテンツを要求すれば、中間装置200は、コンテンツ統合の転送ルールにより、WEBサーバ307との間に新たにセッションを確立し、所望のWEBコンテンツを取得するとともに、WEBサーバ306からもWEBコンテンツを取得してそれらを統合する。そして、中間装置200は、既に選択済みの商品については、選択済みであることを示す情報をWEBコンテンツに記載した後、統合されたWEBコンテンツをWEBクライアント103へ返送する。このときも、WEBクライアント103と中間装置200間、中間装置200とWEBサーバ306間、および中間装置200とWEBサーバ307も含めた3つのセッション間で通信データを置き換えて、セッションを維持する。
また、WEBクライアント103が決済処理を要求すると、中間装置200は、決済要求をWEBサーバ306、307に送信し、WEBサーバ306およびWEBサーバ307から決済サーバ308に送信されるセッションIDと商品番号情報を中間装置200で受け取る。そして、中間装置200は、クライアントが中間装置導入前に確立していたセッションのセッションIDと、WEBサーバ306、307からの商品番号とをまとめて、決済サーバ308へ転送する。さらに、中間装置200は、決済サーバ308のWEBコンテンツへのURLを含むWEBコンテンツをWEBクライアント103へ返送する。
そして、中間装置200は、決済サーバ308とWEBクライアント103間の通信には何も関与しない。

Claims (31)

  1. ネットワークを介して情報処理サービスを提供する第1の情報処理装置と前記情報処理サービスを受ける第2の情報処理装置との間に設けられ、前記情報処理サービスに対する付加的なサービスである中間サービスを提供する中間装置であって、
    前記情報処理サービスのために前記第1の情報処理装置と前記第2の情報処理装置の間に確立されているセッションの状態を維持するのに必要な状態情報を該第1の情報処理装置または該第2の情報処理装置から取得する状態情報取得手段と、
    前記状態情報に基づいて、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記情報処理サービスのデータを、該データに前記中間サービスを適用して転送するための転送ルールを作成する中間サービス管理手段と、
    前記転送ルールに従い、前記第1の情報処理装置と前記第2の情報処理装置の間に確立されていた既存の前記セッションの状態を、自身と前記第2の情報処理装置との間で維持しつつ、自身と前記第1の情報処理装置の間に新たなセッションを確立し、前記既存のセッションと前記新たなセッションを用いて前記データを転送する転送制御手段とを有する中間装置。
  2. 前記状態情報取得手段は、前記状態情報の一部として、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記セッションに固有のセッション情報を取得するセッション監視手段を有する、請求項1記載の中間装置。
  3. 前記状態情報取得手段は、前記状態情報の一部として、前記第1の情報処理装置または前記第2の情報処理装置に問い合わせて前記情報処理サービスに固有のサービス固有情報を取得する情報収集手段を有する、請求項1記載の中間装置。
  4. 前記状態情報取得手段は、前記第1の情報処理装置上のアクセス対象の各々を特定するために既に付与されているアクセス対象識別情報を複数の前記アクセス対象について前記第1の情報処理装置または前記第2の情報処理装置に問合せて、得られた複数の該アクセス対象識別情報に共通する規則性を抽出することにより、前記アクセス対象を有する第1の情報処理装置を識別するための装置識別子を前記サービス固有情報の一部として取得する、請求項3記載の中間装置。
  5. 前記転送制御手段は、前記第1の情報処理装置と前記第2の情報処理装置の間の既存のセッションのデータは前記中間サービスを適用せずにそのまま転送する動作モードと、前記第2の情報処理装置から新たに前記情報処理サービスのセッション確立が要求されると、前記第2の情報処理装置および前記第1の情報処理装置の双方とセッションを確立し、該セッションを用いて前記情報処理サービスのデータに前記中間サービスを適用して該データを転送する動作モードとを有している、請求項1記載の中間装置。
  6. 前記状態情報取得手段は、前記第1の情報処理装置および前記第2の情報処理装置に前記セッションを一旦無効にして再確立させるための命令を発する解除制御手段を有し、該命令によりセッションが再確立される過程で前記状態情報を取得する、請求項1記載の中間装置。
  7. 前記中間サービスの内容は、予めオペレータにより登録されている、請求項1記載の中間装置。
  8. 前記情報処理サービスは前記第1の情報処理装置上のリソースに対する前記第2の情報処理装置からのアクセスを可能にするサービスであり、前記中間サービスは、前記第2の情報処理装置から前記第1の情報処理装置上の前記リソースに対するアクセスを前記中間装置で読み換えてアクセス先を変換するサービスである、請求項7記載の中間装置。
  9. 前記情報処理サービスは前記第1の情報処理装置上のWEBページに対する前記第2の情報処理装置からのアクセスを可能にするサービスであり、前記中間サービスは、複数の前記第1の情報処理装置による前記情報処理サービスを統合して前記第2の情報処理装置に提供するサービスである、請求項7記載の中間装置。
  10. 前記中間サービスの提供を終了するとき、前記転送制御手段は、
    前記第2の情報処理装置から新たに前記情報処理サービスのセッション確立を要求されると、前記第2の情報処理装置と前記第1の情報処理装置の間のデータをそのまま転送することにより、前記中間サービスの適用対象外として前記第1の情報処理装置と前記第2の情報処理装置の間で直接にセッションを確立させ、
    既に提供されている前記情報処理サービスについては、自身と前記第1の情報処理装置の間のセッションおよび自身と前記第2の情報処理装置の間のセッションを用いて、前記中間サービスを適用したデータを転送することを、該第2の情報処理装置による該情報処理サービスの利用が終了するまで継続する、請求項1記載の中間装置。
  11. ネットワークを介して情報処理サービスを提供する第1の情報処理装置と前記情報処理サービスを受ける第2の情報処理装置との間に中間装置を設け、前記中間装置により、前記情報処理サービスに対する付加的なサービスである中間サービスを提供するサービス提供方法であって、
    前記第1の情報処理装置と前記第2の情報処理装置の間に設置された前記中間装置が、前記情報処理サービスのために前記第1の情報処理装置と前記第2の情報処理装置の間に確立されているセッションの状態を維持するのに必要な状態情報を該第1の情報処理装置または該第2の情報処理装置から取得する第1のステップと、
    前記中間装置が前記状態情報に基づいて、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記情報処理サービスのデータを、該データに前記中間サービスを適用して転送するための転送ルールを作成する第2のステップと、
    前記中間装置が、前記転送ルールに従い、前記第1の情報処理装置と前記第2の情報処理装置の間に確立されていた既存の前記セッションの状態を前記中間装置と前記第2の情報処理装置の間で維持しつつ、前記中間装置と前記第1の情報処理装置の間に新たなセッションを確立し、前記既存のセッションと前記新たなセッションを用いて前記データを転送する第3のステップとを有するサービス提供方法。
  12. 前記第1のステップにおいて、前記中間装置は、前記状態情報の一部として、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記セッションに固有のセッション情報を取得する、請求項11記載のサービス提供方法。
  13. 前記第1のステップにおいて、前記中間装置は、前記状態情報の一部として、前記第1の情報処理装置または前記第2の情報処理装置に問い合わせて前記情報処理サービスに固有のサービス固有情報を取得する、請求項11記載のサービス提供方法。
  14. 前記中間装置は、前記第1の情報処理装置上のアクセス対象の各々を特定するために既に付与されているアクセス対象識別情報を複数の前記アクセス対象について前記第1の情報処理装置または前記第2の情報処理装置に問合せて、得られた複数の該アクセス対象識別情報に共通する規則性を抽出することにより、前記アクセス対象を有する第1の情報処理装置を識別するための装置識別子を前記サービス固有情報の一部として取得する、請求項13記載のサービス提供方法。
  15. 前記第1のステップにおいて、全ての必要な前記状態情報が取得できないとき、前記中間装置は、前記第1の情報処理装置と前記第2の情報処理装置の間の既存のセッションのデータは前記中間サービスを適用せずにそのまま転送し、前記第2の情報処理装置から新たに前記情報処理サービスのセッション確立が要求されると、前記第2の情報処理装置および前記第1の情報処理装置の双方とセッションを確立し、該セッションを用いて前記情報処理サービスのデータに前記中間サービスを適用して該データを転送する、請求項11記載のサービス提供方法。
  16. 第1のステップにおいて、前記中間装置は、前記第1の情報処理装置および前記第2の情報処理装置に前記セッションを一旦無効にして再確立させるための命令を発し、セッションが再確立される過程で前記状態情報を取得する、請求項11記載のサービス提供方法。
  17. 前記中間サービスの内容は、予めオペレータにより前記中間装置に登録されている、請求項11記載のサービス提供方法。
  18. 前記情報処理サービスは前記第1の情報処理装置上のリソースに対する前記第2の情報処理装置からのアクセスを可能にするサービスであり、前記中間サービスは、前記第2の情報処理装置から前記第1の情報処理装置上の前記リソースに対するアクセスを前記中間装置で読み換えてアクセス先を変換するサービスである、請求項17記載のサービス提供方法。
  19. 前記情報処理サービスは前記第1の情報処理装置上のWEBページに対する前記第2の情報処理装置からのアクセスを可能にするサービスであり、前記中間サービスは、複数の前記第1の情報処理装置による前記情報処理サービスを統合して前記第2の情報処理装置に提供するサービスである、請求項17記載のサービス提供方法。
  20. 前記中間サービスの提供を終了するとき、前記中継装置が、前記第2の情報処理装置から新たに前記情報処理サービスのセッション確立を要求されると、前記第2の情報処理装置と前記第1の情報処理装置の間のデータをそのまま転送することにより、前記中間サービスの適用対象外として前記第1の情報処理装置と前記第2の情報処理装置の間で直接にセッションを確立させる第4のステップと、
    既に提供されている前記情報処理サービスについては、該中間装置と前記第1の情報処理装置の間のセッションおよび該中間装置と前記第2の情報処理装置の間のセッションを用いて、前記中間サービスを適用したデータを転送することを、該第2の情報処理装置による該情報処理サービスの利用が終了するまで継続する第5のステップとをさらに有する、請求項11記載のサービス提供方法。
  21. ネットワークを介して情報処理サービスを提供する第1の情報処理装置と前記情報処理サービスを受ける第2の情報処理装置との間に設けられるコンピュータに実行させることにより、前記情報処理サービスに対する付加的なサービスである中間サービスを提供させるためのサービス提供プログラムであって、
    状態情報取得手段が、前記情報処理サービスのために前記第1の情報処理装置と前記第2の情報処理装置の間に確立されているセッションの状態を維持するのに必要な状態情報を該第1の情報処理装置または該第2の情報処理装置から取得する第1の処理と、
    中間サービス管理手段が、前記状態情報に基づいて、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記情報処理サービスのデータを、該データに前記中間サービスを適用して転送するための転送ルールを作成する第2の処理と、
    転送制御手段が、前記転送ルールに従い、前記第1の情報処理装置と前記第2の情報処理装置の間に確立されていた既存の前記セッションの状態を自身と前記第2の情報処理装置の間で維持しつつ、自身と前記第1の情報処理装置の間に新たなセッションを確立し、前記既存のセッションと前記新たなセッションを用いて前記データを転送する第3の処理とを前記コンピュータに行わせるサービス提供プログラム。
  22. 前記第1の処理において、前記状態情報の一部として、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記セッションに固有のセッション情報を取得する、請求項21記載のサービス提供プログラム。
  23. 前記第1の処理において、前記状態情報の一部として、前記第1の情報処理装置または前記第2の情報処理装置に問い合わせて前記情報処理サービスに固有のサービス固有情報を取得する、請求項21記載のサービス提供プログラム。
  24. 前記第1の情報処理装置上のアクセス対象の各々を特定するために既に付与されているアクセス対象識別情報を複数の前記アクセス対象について前記第1の情報処理装置または前記第2の情報処理装置に問合せて、得られた複数の該アクセス対象識別情報に共通する規則性を抽出することにより、前記アクセス対象を有する第1の情報処理装置を識別するための装置識別子を前記サービス固有情報の一部として取得する、請求項23記載のサービス提供プログラム。
  25. 前記第1の処理において、全ての必要な前記状態情報が取得できないとき、前記転送制御手段は、前記第1の情報処理装置と前記第2の情報処理装置の間の既存のセッションのデータは前記中間サービスを適用せずにそのまま転送し、前記第2の情報処理装置から新たに前記情報処理サービスのセッション確立が要求されると、前記第2の情報処理装置および前記第1の情報処理装置の双方とセッションを確立し、該セッションを用いて前記情報処理サービスのデータに前記中間サービスを適用して該データを転送する、請求項21記載のサービス提供プログラム。
  26. 第1の処理において、解除制御手段が、前記第1の情報処理装置および前記第2の情報処理装置に前記セッションを一旦無効にして再確立させるための命令を発し、前記状態情報取得手段が、セッションが再確立される過程で前記状態情報を取得する、請求項21記載のサービス提供プログラム。
  27. 前記中間サービスの内容は、予めオペレータにより前記中間装置に登録されている、請求項21記載のサービス提供プログラム。
  28. 前記情報処理サービスは前記第1の情報処理装置上のリソースに対する前記第2の情報処理装置からのアクセスを可能にするサービスであり、前記中間サービスは、前記第2の情報処理装置から前記第1の情報処理装置上の前記リソースに対するアクセスを読み換えてアクセス先を変換するサービスである、請求項27記載のサービス提供プログラム。
  29. 前記情報処理サービスは前記第1の情報処理装置上のWEBページに対する前記第2の情報処理装置からのアクセスを可能にするサービスであり、前記中間サービスは、複数の前記第1の情報処理装置による前記情報処理サービスを統合して前記第2の情報処理装置に提供するサービスである、請求項27記載のサービス提供プログラム。
  30. 前記中間サービスの提供を終了するとき、転送制御手段が、前記第2の情報処理装置から新たに前記情報処理サービスのセッション確立を要求されると、前記第2の情報処理装置と前記第1の情報処理装置の間のデータをそのまま転送することにより、前記中間サービスの適用対象外として前記第1の情報処理装置と前記第2の情報処理装置の間で直接にセッションを確立させる第4の処理と、
    前記転送制御手段が、既に提供されている前記情報処理サービスについては、自身と前記第1の情報処理装置の間のセッションおよび自身と前記第2の情報処理装置の間のセッションを用いて、前記中間サービスを適用したデータを転送することを、該第2の情報処理装置による該情報処理サービスの利用が終了するまで継続する第5の処理をさらに有する、請求項21記載のサービス提供プログラム。
  31. ネットワークを介して情報処理サービスを提供する第1の情報処理装置と前記情報処理サービスを受ける第2の情報処理装置との間において、前記情報処理サービスに対する付加的なサービスである中間サービスを提供させるためにコンピュータにより実行されるサービス提供プログラムであって、
    前記情報処理サービスのために前記第1の情報処理装置と前記第2の情報処理装置の間に確立されているセッションの状態を維持するのに必要な状態情報を該第1の情報処理装置または該第2の情報処理装置から取得する第1の処理と、
    前記状態情報に基づいて、前記第1の情報処理装置と前記第2の情報処理装置の間で送受信される前記情報処理サービスのデータを、該データに前記中間サービスを適用して転送するための転送ルールを作成する第2の処理と、
    前記転送ルールに従い、前記第1の情報処理装置と前記第2の情報処理装置の間に確立されていた既存の前記セッションの状態を自身と前記第2の情報処理装置の間で維持しつつ、自身と前記第1の情報処理装置の間に新たなセッションを確立し、前記転送ルールに従い、前記既存のセッションと前記新たなセッションを用いて前記データを転送する第3の処理とを前記コンピュータに行わせるサービス提供プログラム。
JP2006511123A 2004-03-19 2004-11-15 新規導入および抜き取りをシームレスに実行できる中間装置 Expired - Fee Related JP4553150B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004080337 2004-03-19
JP2004080337 2004-03-19
PCT/JP2004/016947 WO2005091151A1 (ja) 2004-03-19 2004-11-15 新規導入および抜き取りをシームレスに実行できる中間装置

Publications (2)

Publication Number Publication Date
JPWO2005091151A1 JPWO2005091151A1 (ja) 2008-02-07
JP4553150B2 true JP4553150B2 (ja) 2010-09-29

Family

ID=34993895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006511123A Expired - Fee Related JP4553150B2 (ja) 2004-03-19 2004-11-15 新規導入および抜き取りをシームレスに実行できる中間装置

Country Status (4)

Country Link
US (1) US7716337B2 (ja)
JP (1) JP4553150B2 (ja)
CN (1) CN100445969C (ja)
WO (1) WO2005091151A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245049B2 (en) * 2004-06-14 2012-08-14 Microsoft Corporation Method and system for validating access to a group of related elements
JP4566874B2 (ja) * 2005-10-04 2010-10-20 株式会社日立製作所 Ipネットワークにおけるストレージアクセス管理機能及びシステム
KR100656485B1 (ko) * 2006-02-13 2006-12-11 삼성전자주식회사 Pta 서비스 제공 방법 및 그 시스템
US20090132713A1 (en) * 2007-11-20 2009-05-21 Microsoft Corporation Single-roundtrip exchange for cross-domain data access
US7979558B2 (en) * 2008-08-06 2011-07-12 Futurewei Technologies, Inc. Remote session control
JP2011242949A (ja) * 2010-05-17 2011-12-01 Fujitsu Ltd ファイル管理プログラム、ファイル管理方法、及び情報処理装置
US9342274B2 (en) 2011-05-19 2016-05-17 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
US8881101B2 (en) 2011-05-24 2014-11-04 Microsoft Corporation Binding between a layout engine and a scripting engine
US20120311459A1 (en) * 2011-06-02 2012-12-06 Dashwire Inc. Facilitated content item transfer
US9177173B2 (en) * 2012-12-18 2015-11-03 Intel Corporation Handling repeated requests for the same user data
US9430452B2 (en) 2013-06-06 2016-08-30 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine
US9930067B1 (en) * 2014-12-18 2018-03-27 Amazon Technologies, Inc. Techniques for secure session reestablishment
US9712514B2 (en) * 2015-02-08 2017-07-18 Cyber-Ark Software Ltd. Super-session access to multiple target services
US9615255B2 (en) 2015-04-29 2017-04-04 Coronet Cyber Security Ltd Wireless communications access security
CN110166547B (zh) * 2019-05-20 2022-04-08 武汉虹信科技发展有限责任公司 终端远程访问控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331355A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2003054607A (ja) * 2001-08-09 2003-02-26 Ohtsu Tire & Rubber Co Ltd :The 容器用栓および容器
JP2003122589A (ja) * 2001-10-16 2003-04-25 Hitachi Ltd サービス処理方法及びその実施システム並びにその処理プログラム
JP2003203029A (ja) * 2001-11-02 2003-07-18 Nec Corp スイッチ方法、装置およびプログラム
WO2004003765A1 (ja) * 2002-07-01 2004-01-08 Kabushiki Kaisha Toshiba シームレスシステム及び記録媒体並びにコンピュータシステムの処理継続方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3379715B2 (ja) 1993-05-17 2003-02-24 日本電信電話株式会社 コネクション状態管理システム
US6807581B1 (en) * 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US6108701A (en) * 1998-07-20 2000-08-22 Lucent Technologies, Inc. Soft switch extension for internet protocol applications
JP2000132479A (ja) 1998-10-23 2000-05-12 Hitachi Ltd 分散オブジェクト環境におけるセッション維持方法
US6446200B1 (en) * 1999-03-25 2002-09-03 Nortel Networks Limited Service management
US6826613B1 (en) * 2000-03-15 2004-11-30 3Com Corporation Virtually addressing storage devices through a switch
US6601101B1 (en) * 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US6633761B1 (en) * 2000-08-11 2003-10-14 Reefedge, Inc. Enabling seamless user mobility in a short-range wireless networking environment
JP2002176432A (ja) 2000-12-05 2002-06-21 Sony Corp 通信中継装置、通信中継方法、および通信端末装置、並びにプログラム記憶媒体
US7254611B1 (en) * 2001-04-24 2007-08-07 E2 Open, Inc. Multi-hub connectivity in a system for collaborative planning
JP3756781B2 (ja) 2001-05-16 2006-03-15 三菱電機株式会社 データ中継装置及びデータ中継方法
JP4683518B2 (ja) 2001-07-24 2011-05-18 Kddi株式会社 不正侵入防止システム
JP2003087330A (ja) 2001-09-07 2003-03-20 Naoki Aoyama インターネット接続方法、プロバイダ選択方法
CN1204700C (zh) * 2001-12-29 2005-06-01 联想(北京)有限公司 长短距结合技术的无线通信系统及其实现方法
US20030154398A1 (en) * 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
US7171452B1 (en) * 2002-10-31 2007-01-30 Network Appliance, Inc. System and method for monitoring cluster partner boot status over a cluster interconnect

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331355A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2003054607A (ja) * 2001-08-09 2003-02-26 Ohtsu Tire & Rubber Co Ltd :The 容器用栓および容器
JP2003122589A (ja) * 2001-10-16 2003-04-25 Hitachi Ltd サービス処理方法及びその実施システム並びにその処理プログラム
JP2003203029A (ja) * 2001-11-02 2003-07-18 Nec Corp スイッチ方法、装置およびプログラム
WO2004003765A1 (ja) * 2002-07-01 2004-01-08 Kabushiki Kaisha Toshiba シームレスシステム及び記録媒体並びにコンピュータシステムの処理継続方法

Also Published As

Publication number Publication date
US7716337B2 (en) 2010-05-11
WO2005091151A1 (ja) 2005-09-29
JPWO2005091151A1 (ja) 2008-02-07
CN1926523A (zh) 2007-03-07
US20070192494A1 (en) 2007-08-16
CN100445969C (zh) 2008-12-24

Similar Documents

Publication Publication Date Title
JP4553150B2 (ja) 新規導入および抜き取りをシームレスに実行できる中間装置
US7146432B2 (en) Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
US6941366B2 (en) Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment
US8972475B2 (en) Network secure communications in a cluster computing environment
US7099904B2 (en) Computer system for allocating storage area to computer based on security level
US9112901B2 (en) Method and system for providing connection resiliency
JP4549408B2 (ja) ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
KR20030086226A (ko) 데이터 전송 방법 및 시스템
JP2003032277A (ja) ネットワーク機器の管理方法及びシステム
JP4915182B2 (ja) 情報の管理方法及び情報処理装置
US7107350B2 (en) Methods, systems and computer program products for security processing outbound communications in a cluster computing environment
US7437732B1 (en) Computer system having an authentication and/or authorization routing service and a CORBA-compliant interceptor for monitoring the same
JP2005020112A (ja) ネットワーク設定システム、管理装置、端末装置及びネットワーク設定方法
EP2538624B1 (en) Communication apparatus for communicating via a first relay server with a second relay server
US20180034633A1 (en) Cryptographic material sharing among entities with no direct trust relationship or connectivity
WO2004114043A2 (en) Single-point management system for devices in a cluster
JP5716107B1 (ja) ノード検出システム及び方法及び仮想ノードの機能制御装置及び方法
US20020184377A1 (en) One to many mapping of application service provision
CN107707581A (zh) 文件处理方法及装置
JP2006319909A (ja) データ通信の方法、ピアツーピア型のネットワーク、および情報処理装置
JP6100376B2 (ja) 中継処理装置、中継処理方法、およびプログラム
JP2006172241A (ja) 負荷分散装置,負荷分散方法および負荷分散プログラム
JP5784059B2 (ja) 通信制御方法、ローカル装置、情報処理端末、通信経路確立支援装置及びプログラム
JP5045723B2 (ja) アクセス管理用中継装置および中継通信システム
JP2009048530A (ja) iSCSI接続管理システム,iSCSI接続管理方法

Legal Events

Date Code Title Description
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: 20100623

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100706

LAPS Cancellation because of no payment of annual fees