(57)【特許請求の範囲】
【請求項１】
データを保存可能なストレージシステムを用いて１以上のネットワークデバイスに関する管理データを管理する管理システムにおけるウェブサーバであって、
前記ネットワークデバイスの管理データを保持する複数の外部装置のそれぞれから、要求または管理データを受信する受信手段と、
前記受信手段による、管理データの送信に用いる接続情報の取得要求の受信に応じて、該取得要求の内容に基づき、前記外部装置の種類を示す情報を取得する取得手段と、
前記取得された前記外部装置の種類を示す情報を用いて決められる管理データの保存先を示す情報を含む接続情報を作成する作成手段と、
前記取得要求に対して前記作成された接続情報を応答する応答手段と、を有し、
前記外部装置によって、前記応答された接続情報を用いて管理データが前記ウェブサーバを介さずに前記ストレージシステムに送信される
ことを特徴とするウェブサーバ。
【請求項２】
前記外部装置の種類には、ネットワークデバイスと、１以上のネットワークデバイスの稼働状況を監視する監視装置と、１以上のネットワークデバイスの管理データを前記ストレージシステムとは異なるストレージを用いて保持する外部サーバと、が含まれることを特徴とする請求項１に記載のウェブサーバ。
【請求項３】
前記取得手段は、前記受信手段が受信した取得要求に含まれる前記外部装置が前記ウェブサーバにアクセスするための認証情報を用いて、前記外部装置の種類を示す情報を取得することを特徴とする請求項１または２に記載のウェブサーバ。
【請求項４】
前記外部装置が送信する管理データが、前記ウェブサーバを介さずに前記ストレージシステムに送信すべき第１の種類のデータである場合、前記外部装置から接続情報の取得要求が送信され、前記受信手段は前記要求として該取得要求を受信し、
前記外部装置が送信する管理データが、前記第１の種類のデータではない第２の種類のデータである場合、前記外部装置から、接続情報の取得要求が送信されることなく、前記第２の種類のデータが送信され、前記受信手段は前記管理データとして前記第２の種類のデータを受信することを特徴とする請求項１乃至３のいずれか１項に記載のウェブサーバ。
【請求項５】
前記受信手段が接続情報の取得要求を受信した場合、前記外部装置が前記ウェブサーバおよび前記ストレージシステムのどちらに管理データを送信すべきかを判定する送信先判定手段を更に有し、
前記応答手段は、前記ウェブサーバに送信すべきと判定された場合には前記ウェブサーバを示す情報を含む応答を送信し、前記ストレージシステムに送信すべきと判定された場合には前記作成手段により作成された前記接続情報を送信することを特徴とする請求項１乃至３のいずれか１項に記載のウェブサーバ。
【請求項６】
前記接続情報には、前記取得された前記外部装置の種類を示す情報を用いて決められる前記管理データの保存先を示す情報と、前記外部装置が前記ストレージシステムにアクセスするための認証情報とが含まれることを特徴とする請求項１乃至５のいずれか１項に記載のウェブサーバ。
【請求項７】
前記作成手段は、前記外部装置が前記ストレージシステムにアクセスするための認証情報の有効期間を指定して、接続情報を作成することを特徴とする請求項６に記載のウェブサーバ。
【請求項８】
前記作成手段は、前記取得要求に対応する管理データの種類に応じて、前記外部装置が前記ストレージシステムにアクセスするための認証情報の有効期間を指定して、接続情報を作成することを特徴とする請求項７に記載のウェブサーバ。
【請求項９】
前記外部装置が前記ストレージシステムに管理データを保存した時刻を管理する管理手段を更に有し、
前記作成手段は、前記管理手段が管理している前記時刻に基づく有効期間を指定して、接続情報を作成することを特徴とする請求項７または８に記載のウェブサーバ。
【請求項１０】
前記受信手段は、前記外部装置による前記接続情報を用いた前記ストレージシステムに対する管理データの保存の結果の通知を更に受信し、
前記作成手段は、前記保存の結果が失敗である場合に、該接続情報の作成時に指定された有効期間よりも長い有効期間を指定して新たな接続情報を作成し、
前記応答手段は、前記通知に対して、前記新たな接続情報を応答することを特徴とする請求項７乃至９のいずれか１項に記載のウェブサーバ。
【請求項１１】
前記受信手段は、前記外部装置による前記接続情報を用いた前記ストレージシステムに対する管理データの保存の結果の通知を更に受信し、
前記応答手段は、前記保存の結果が失敗である場合に、前記通知に対して、該管理データの送信先として前記ウェブサーバを示す情報を含む応答を送信することを特徴とする請求項７乃至９のいずれか１項に記載のウェブサーバ。
【請求項１２】
前記ウェブサーバは、１以上のサーバコンピュータにより動作する１以上の仮想マシンで実現されることを特徴とする請求項１乃至１１のいずれか１項に記載のウェブサーバ。
【請求項１３】
１以上のネットワークデバイスの管理データを保持する複数の外部装置と通信を行うウェブサーバと、データを保存可能なストレージシステムに保存されている管理データおよび前記ウェブサーバから転送される管理データを処理するアプリケーションサーバとを備える管理システムであって、
前記ウェブサーバは、
前記複数の外部装置のそれぞれから、要求または管理データを受信する受信手段と、
前記受信手段による管理データの受信に応じて、前記管理データを前記アプリケーションサーバに転送する転送手段と、
前記受信手段による、管理データの送信に用いる接続情報の取得要求の受信に応じて、該取得要求の内容に基づき、前記外部装置の種類を示す情報を取得する取得手段と、
前記取得された前記外部装置の種類を示す情報を用いて決められる管理データの保存先を示す情報を含む接続情報を作成する作成手段と、
前記作成手段により作成された接続情報に含まれる前記管理データの保存先を示す情報を前記アプリケーションサーバに通知する通知手段と、
前記取得要求に対して前記作成された接続情報を応答する応答手段と、を有し、
前記アプリケーションサーバは、
前記転送手段により転送された前記管理データ、および、前記通知手段による通知の内容で示される前記保存先に保存された前記管理データを処理する処理手段を有することを特徴とする管理システム。
【請求項１４】
前記転送手段は、前記受信手段により受信した前記管理データに応じた処理の後に、該管理データを前記アプリケーションサーバに転送することを特徴とする請求項１３に記載の管理システム。
【請求項１５】
データを保存可能なストレージシステムを用いて１以上のネットワークデバイスに関する管理データを管理する管理システムにおけるウェブサーバの制御方法であって、
前記ネットワークデバイスの管理データを保持する複数の外部装置のそれぞれから、要求または管理データを受信する受信工程と、
前記受信工程での、管理データの送信に用いる接続情報の取得要求の受信に応じて、該取得要求の内容に基づき、前記外部装置の種類を示す情報を取得する取得工程と、
前記取得された前記外部装置の種類を示す情報を用いて決められる管理データの保存先を示す情報を含む接続情報を作成する作成工程と、
前記取得要求に対して前記作成された接続情報を応答する応答工程と、を有し、
前記外部装置によって、前記応答された接続情報を用いて管理データが前記ウェブサーバを介さずに前記ストレージシステムに送信される
ことを特徴とする制御方法。
【請求項１６】
１以上のネットワークデバイスの管理データを保持する複数の外部装置と通信を行うウェブサーバと、データを保存可能なストレージシステムに保存されている管理データおよび前記ウェブサーバから転送される管理データを処理するアプリケーションサーバとを備える管理システムの制御方法であって、
前記ウェブサーバは、
前記複数の外部装置のそれぞれから、要求または管理データを受信する受信工程と、
前記受信工程での管理データの受信に応じて、前記管理データを前記アプリケーションサーバに転送する転送工程と、
前記受信工程での、管理データの送信に用いる接続情報の取得要求の受信に応じて、該取得要求の内容に基づき、前記外部装置の種類を示す情報を取得する取得工程と、
前記取得された前記外部装置の種類を示す情報を用いて決められる管理データの保存先を示す情報を含む接続情報を作成する作成工程と、
前記作成工程で作成された接続情報に含まれる前記管理データの保存先を示す情報を前記アプリケーションサーバに通知する通知工程と、
前記取得要求に対して前記作成された接続情報を応答する応答工程と、を有し、
前記アプリケーションサーバは、
前記転送工程で転送された前記管理データ、および、前記通知工程における通知の内容で示される前記保存先に保存された前記管理データを処理する処理工程を有することを特徴とする制御方法。
【請求項１７】
請求項１乃至１２のいずれか１項に記載の手段としてコンピュータに機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の外部装置からデータを受信して管理するシステムに関する。
【背景技術】
【０００２】
インターネット上にあるサーバで動作する各種アプリケーションを利用することができるサービスとして、クラウドサービスがある。ＩａａＳやＰａａＳなどのクラウドサービスでは、クラウドサービスベンダーが、ネットワークを介して、仮想マシンやストレージなどのリソースをシステム管理者に提供する。例えば、インターネット上のデータセンターに存在するサーバコンピュータ上で動作する複数の仮想マシンやストレージなどのリソースが提供される。仮想マシンとは、仮想化技術によって、サーバを物理的な構成にとらわれずに論理的な単位で分割または統合し、それぞれが独立したオペレーティングシステムをもって動作する論理的なコンピュータである。システム管理者は、クラウドサービスベンダーによって提供される仮想マシンやストレージなどのリソースを用いて、独自のサービスを提供するためのシステムを構築することができる。
【０００３】
クラウドサービス上に構築されるシステムは、例えば、ウェブサーバやアプリケーションサーバ、ストレージシステムなどを備える。ここで、ウェブサーバやアプリケーションサーバの機能は、仮想マシン群によって実現される。ウェブサーバは、システムの外部にある外部装置と通信を行い、外部装置からの要求を受信し、ウェブサーバやアプリケーションサーバがその要求に応じた処理を実行する。また、ウェブサーバは、外部装置からのデータを受信し、ストレージシステムやアプリケーションサーバに転送する機能も持つ。アプリケーションサーバでの処理を経たデータは、ストレージシステムで管理されるデータベースに格納される。ストレージシステムには、システムを実現するためのプログラムや、サービスを提供するための各種データなどが格納されている。
【０００４】
近年、クラウドサービスは急速に普及しており、クラウドサービスで扱われるデータの種類やデータの量が増えてきている。そうした背景から、システムを構成するリソースを効率よく利用し、外部からのデータの受信や処理の負荷を分散させることで、より大量のデータを同時に処理する仕組みが提案されている。
【０００５】
特許文献１には、クラウドサービス上に構築されるシステムに対する複数のリクエストを、負荷分散装置（ロードバランサー）を経由して、該システムを構築する複数のサーバに分散処理させる技術が開示されている。ここで、特許文献１では、負荷分散装置の処理性能が、該システムに対する複数のリクエストの処理のボトルネックとなり得ることに着目して、ある程度大きなデータサイズのリクエストを、負荷分散装置を経由せずに、要求元からサーバに直接送信している。これにより、負荷分散装置のデータ受信の処理負荷を軽減している。なお、このようにサーバに直接送信する際には、要求元が、負荷分散装置に対して事前にＩＰアドレスやホスト名などのアドレス情報を要求することで、送信先となるサーバを特定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−０２１８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、前述したようなクラウドサービス上に構築されるシステムには、様々な種類の外部装置から、様々なデータが送られてくる。それらの外部装置から送られてくるデータは、データサイズだけでなく、データの形式やデータの粒度などの違いがある。例えば、データの形式はＺＩＰやＸＭＬなどであり、データの粒度とはその内容に含まれる項目や単位など多さの度合いを指す。システム内のウェブサーバやアプリケーションサーバでは、データの形式や粒度に合わせた、処理負荷の異なるデータ処理を行う必要がある。とくに、ウェブサーバは、データの形式やデータの粒度などの違いを考慮して、外部装置から送られてくるデータのストレージシステムへの格納処理やアプリケーションサーバへの転送処理を行う場合があった。
【０００８】
該システムにおいて、特許文献１で開示される技術を適用すると、外部装置から送られてくるサイズの大きなデータについては、ウェブサーバを経由することなく、外部装置から直接、ストレージシステムに送信させることができる。これにより、該システム内のウェブサーバによるデータ受信に係る処理負荷を軽減できる。
【０００９】
しかしながら、前述したように、様々な外部装置から送られてくるデータは、データサイズだけでなく、データの形式やデータの粒度などの違いがある。そのため、ウェブサーバを経由しないために、ストレージシステムでは、形式や粒度に違いなどを考慮せずに、データが管理されてしまうことがあり得る。従って、該システム内のアプリケーションサーバなどによりストレージシステム内のデータを利用して行われる処理において、外部装置から直接、ストレージシステムに送信させる処理を適用する前と比べて、処理負荷が余分にかかるおそれがある。
【００１０】
また、ストレージシステムでは、外部装置の種類の違いなどを考慮せずに、データが管理されてしまうことがあり得る。例えば、システムでエラーが起こり、その原因を分析する必要がある場合に、このような管理が行われていると、ストレージシステムに保存されていたエラーの要因になり得るデータの送信元の特定が困難になってしまうといった課題もある。
【００１１】
そこで、本発明は、システムにおける外部装置からのデータの受信処理の負荷を抑えつつ、前述した少なくともいずれかの課題を解決し得る仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のウェブサーバは、データを保存可能なストレージシステムを用いて１以上のネットワークデバイスに関する管理データを管理する管理システムにおけるウェブサーバであって、前記ネットワークデバイスの管理データを保持する複数の外部装置のそれぞれから、要求または管理データを受信する受信手段と、前記受信手段による、管理データの送信に用いる接続情報の取得要求の受信に応じて、該取得要求の内容に基づき、前記外部装置の種類を示す情報を取得する取得手段と、前記取得された前記外部装置の種類を示す情報を用いて決められる管理データの保存先を示す情報を含む接続情報を作成する作成手段と、前記取得要求に対して前記作成された接続情報を応答する応答手段と、を有し、前記外部装置によって、前記応答された接続情報を用いて管理データが前記ウェブサーバを介さずに前記ストレージシステムに送信されることを特徴とするウェブサーバ。
【発明の効果】
【００１３】
本発明によれば、システムにおける外部装置からのデータの受信処理の負荷を抑えつつ、前述した少なくともいずれかの課題を解決し得る仕組みを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るシステムのネットワーク構成例を示す図
【図２】情報処理装置のハードウェアの構成例を示す図
【図３】外部装置の機能構成の一例を示す図
【図４】ウェブサーバ１０５１の機能構成の一例を示す図
【図５】アプリケーションサーバ１０５２の機能構成の一例を示す図
【図６】ストレージシステム１０６の機能構成の一例を示す図
【図７】本発明の実施形態に係るシステムの動作処理の一例を示すシーケンス図
【図８】外部装置の処理の一例を示す図
【図９】接続情報取得要求のリクエスト情報の一例を示す図
【図１０】ウェブサーバ１０５１の処理の一例を示すフローチャート
【図１１】接続情報の一例を示す図
【図１２】実施例２に係るウェブサーバ１０５１の機能構成の一例を示す図
【図１３】実施例２に係るシステムの動作処理の一例を示すシーケンス図
【図１４】実施例２に係る外部装置の処理の一例を示すフローチャート
【図１５】実施例２に係るウェブサーバ１０５１の処理の一例を示すフローチャート
【図１６】実施例３に係るウェブサーバ１０５１の処理の一例を示すフローチャート
【図１７】接続情報の有効期間保存方法の一例を示す図
【図１８】実施例４に係るウェブサーバ１０５１の処理の一例を示すフローチャート
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照して説明する。
【００１６】
（実施例１）
以下、本発明の一実施形態について図面を参照しながら説明する。
【００１７】
＜システムのネットワーク構成＞
図１は、本発明の実施形態に係るシステムのネットワーク構成例を示す図である。本発明では、クラウドサービスを用いて構築されるネットワークシステムとして、複数の顧客や各顧客が保有するネットワークデバイスを、ネットワークを介して遠隔地から管理するシステムを例に挙げて説明する。
【００１８】
サービス内容としては、具体的には、顧客の所有するネットワークデバイスの機器情報を収集した場合に、当該顧客の情報と関連付けて管理するサービスがある。ほかに、顧客のネットワークデバイスのログ情報や障害情報などの稼働情報を収集して、分析することで、顧客や販売会社の担当者のためにレポーティングを行うといったサービスがある。ほかにも、故障したネットワークデバイスの保守に必要な情報を販売会社の担当者のために電子メールなどで通知するといったサービスもある。
【００１９】
このようなサービスを提供するために、システムは、顧客ごとの顧客ネットワーク環境に存在するネットワークデバイスから様々なデータを収集して分析する。収集されるデータには、カウンタ情報、ログ情報、ステータス情報、機器情報などがある。以降、これらのデータを管理データと呼ぶ場合もある。カウンタ情報は、ネットワークデバイスの機能などの利用回数を示す情報である。ログ情報は、ネットワークデバイスの利用履歴を示す情報である。ステータス情報は、ネットワークデバイスの正常またはエラー発生などの状態を示す情報である。機器情報は、ネットワークデバイスの識別情報などである。これらのデータは、外部装置からシステムへ送信される。
【００２０】
図１の構成で、１００、１０１、１０４は、ネットワークデバイスの各種データを保持し、そのデータをシステムに送信する外部装置である。ここでは、外部装置の種類を例示して説明するが、外部装置の種類はこれらに限定されるわけではない。これらの外部装置から送られてくるデータは、外部装置の種類によってデータの形式やデータの粒度が異なる場合がある。そのため、データの形式やデータの粒度に適したデータの処理を行う必要がある。例えば、データの形式は、ＺＩＰやＸＭＬ、ＣＳＶなどであり、データの粒度とは、集計されるデータの単位が日毎または月毎などを指す。データの粒度としては、他にも、外部装置の種類の違いに依存した、監視項目の数の違いがある。
【００２１】
ネットワークデバイス１００は、自身で記録したカウンタ情報やログ情報、ステータス情報などを、インターネットなどのネットワークを介して、外部送信する機能を備える。
【００２２】
監視装置１０１は、顧客のネットワーク環境内に設置されるネットワークデバイス１００の稼働状況を監視する。監視装置１０１は、カウンタ情報やログ情報、ステータス情報などを、監視対象のネットワークデバイス１００から取得する。監視装置１０１と複数のネットワークデバイス１０２とは、ＬＡＮ１０３を介して接続されている。ＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋである。
【００２３】
なお、ネットワークデバイスには、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）やプリンタ、ネットワークカメラ、デジタル医療機器などの画像処理装置、テレビや空調機器などのネットワーク家電などが含まれる。他にも、ネットワークデバイスには、体重や血圧などの健康データを測定できる測定器、現金自動預け払い機なども含まれる。プリンタには、トナーなどを利用した電子写真方式のものや、インクを利用して印刷を行うインクジェット方式のものが存在する。管理システム１００は、それぞれの方式によって特有な稼働情報（例えば、トナー使用量やインク使用量）を収集して、異なる管理サービスを提供することも可能である。
【００２４】
外部サーバ１０４は、外部システム内のネットワークデバイス（不図示）から各種データを取得し、システムに送信する。
【００２５】
管理システム１０５は、ネットワークデバイス１００、監視装置１０１および外部サーバ１０４（以降、これらをまとめて外部装置と称する）から送られる各種管理データを受け付けて、管理するシステムである。管理システム１０５は、ウェブサーバ１０５１とアプリケーションサーバ１０５２とを含む。なお、管理システム１０５は、ストレージシステム１０６も含めて構成されてもよい。さらに、ウェブサーバ１０５１とアプリケーションサーバ１０５２とストレージシステム１０６とは、それぞれ遠隔地に設置されていてもよい。また、管理システム１０５は、複数のウェブサーバ１０５１や複数のアプリケーションサーバ１０５２を備え、各サーバに対してはロードバランサのような構成を前段に設置することでリクエストを分散処理させることが可能である。
【００２６】
ウェブサーバ１０５１は、外部装置と通信を行い、外部装置が送信するデータや要求を受け付けて処理するサーバである。ウェブサーバ１０５１は、受信したデータをアプリケーションサーバ１０５２に転送する。必要に応じて、ウェブサーバ１０５１は、受信したデータに対してデータ変換処理やデータ種別に応じた転送方式の選択的な決定処理などを行った後、アプリケーションサーバ１０５２に転送する。また、ウェブサーバ１０５１は、外部装置からの要求に対して応答する。
【００２７】
アプリケーションサーバ１０５２は、ウェブサーバ１０５１から転送されたデータを処理するサーバである。アプリケーションサーバ１０５２は、ウェブサーバ１０５１からの通知に従い、ストレージシステム１０６に保存されているデータを取得して処理する。例えば、アプリケーションサーバ１０５２の行う処理は、データフォーマット変換などである。このような処理によって、ネットワークデバイスの稼働状況がレポートとして出力され、レポーティングサービスが顧客に提供される。なお、アプリケーションサーバ１０５２が行う処理には、各種データの集計のために行われるバッチ処理が含まれる。
【００２８】
ストレージシステム１０６は、アプリケーションサーバ１０５２や外部装置から送られるデータを保存する。外部装置がストレージシステム１０６に直接データを送り、ストレージシステム１０６はそのデータを保存することもある。
【００２９】
ウェブサーバ１０５１、アプリケーションサーバ１０５２、ストレージシステム１０６はそれぞれ、１以上のサーバコンピュータ上で動作する１以上の仮想マシンである。本実施例のシステムは、ウェブサーバ１０５１、アプリケーションサーバ１０５２、ストレージシステム１０６で構成され、このシステムがクラウドサービス上に構築される。
【００３０】
また、外部装置と、ウェブサーバ１０５１、アプリケーションサーバ１０５２、ストレージシステム１０６とは、インターネット１０７を介して接続されている。
【００３１】
なお、外部装置がインターネット１０７を介した外部ネットワーク上にあり、ネットワークデバイス１００と外部装置とがインターネット１０７を介して接続するよう構成することも可能である。また外部装置と管理システム１０５とがＬＡＮ１０４を介してイントラネット接続するように構成することも可能である。
【００３２】
＜情報処理装置の内部構成＞
図２は、本発明の実施形態に係る情報処理装置のハードウェアの構成例を示す図である。本実施例における情報処理装置は、管理システムを構築するためのデータセンター上に存在するサーバコンピュータ、監視装置１０１および外部サーバ１０４である。サーバコンピュータは、ウェブサーバ１０５１、アプリケーションサーバ１０５２、ストレージシステム１０６などの仮想マシンが動作する環境である。
【００３３】
情報処理装置は、ＲＯＭ２５３に格納されているプログラムを実行するＣＰＵ２５１を備え、内部バス２５６を介して各デバイスを総括的に制御する。内部バス２５６には、ＲＡＭ２５２、ＲＯＭ２５３、記憶装置２５４、ネットワークＩ／Ｆ２５５、入出力Ｉ／Ｆ２５７が接続されている。
【００３４】
入出力Ｉ／Ｆ２５７は、例えば、ＰＳ／２やＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ  Ｉ／Ｆ）、アナログやデジタルのディスプレイＩ／Ｆを備える。入出力Ｉ／Ｆ２５７により、情報処理装置は、不図示のキーボードやマウス、ＣＲＴや液晶ディスプレイなどを接続することができる。
【００３５】
情報処理装置は、ネットワークＩ／Ｆ２５５によりＬＡＮ、イントラネット環境、インターネットを介した通信を行う。それにより、情報処理装置は、ネットワークデバイスや、他の情報処理装置と通信を行うことができる。
【００３６】
ＣＰＵ２５１は、ＲＡＭ２５２やＲＯＭ２５３と共にプログラムの実行処理を行う。さらに、ＣＰＵ２５１は、仮想化技術を実現するためのプログラムを実行することも可能である。また、ＣＰＵ２５１は、記憶装置２５４等の記録媒体にデータを記録する処理を行う。
【００３７】
記憶装置２５４は、外部記憶装置として機能し、様々な情報を記憶するほか、ＲＡＭ２５２に代わって、各種システム情報及び処理情報を保存することも可能である。
【００３８】
＜外部装置の機能構成＞
図３は、本発明の実施形態に係る外部装置の機能構成の一例を示すブロック図である。
【００３９】
保存部３０１は、カウンタ情報やログ情報、ステータス情報などのデータを保存する。具体的には、保存部３０１は、監視装置１０１および外部サーバ１０４内のＲＯＭ２５３や記憶装置２５４など、ネットワークデバイス１００内の記憶装置（不図示）などである。
【００４０】
送信部３０２は、保存部３０１が保存するデータを、管理システム１０５またはストレージシステム１０６へ送信する。例えば、カウンタ情報やログ情報など即時性の求められないデータは、スケジュールなどで決められた日時に送信され、エラーや障害情報のステータス情報は、随時、送信されるようにしてもよい。また、送信部３０２は、外部装置がストレージシステム１０６にデータを保存した結果を、ウェブサーバ１０５１に通知する。
【００４１】
受信部３０３は、ウェブサーバ１０５１またはストレージシステム１０６からの応答を受信する。応答の内容としては、外部装置が管理システム１０５へデータを送信した結果や、外部装置がストレージシステム１０６にデータを保存した結果などがある。また、受信部３０３は、ウェブサーバ１０５１から接続情報を受信する。接続情報については、図１１を用いて後述する。
【００４２】
なお、本実施例の外部装置の機能構成は、上述した構成に限られるわけではない。本実施例の外部装置は、上述した構成の他に、各装置に特有のハードウェアを制御するような構成も備えている。
【００４３】
＜ウェブサーバ１０５１の機能構成＞
図４は、本実施例におけるウェブサーバ１０５１の機能構成の一例を示す図である。
【００４４】
受信部４０１は、外部装置の送信部３０２が送信したデータを受信する。また、受信部４０１は、外部装置からの要求や、外部装置がストレージシステム１０６へデータを保存した結果などの通知を受信する。
【００４５】
外部装置情報取得部４０３は、要求の送信元となる外部装置の種類を示す情報を取得する。外部装置の種類には、ネットワークデバイス１００、監視装置１０１、外部サーバ１０４などがある。例えば、外部装置情報取得部４０３は、要求の中に含まれる認証情報をもとに、外部装置の種類を特定する。外部装置の種類を示す情報は、ウェブサーバ１０５１に割り当てられている記憶領域やストレージシステム１０６で、認証情報と関連付けて管理される。また、外部装置の種類を示す情報は、外部装置からの要求の中に含まれていてもよい。
【００４６】
接続情報作成部４０４は、外部装置がストレージシステム１０６にデータを保存する際に用いる接続情報を作成する。接続情報は、外部装置がデータをストレージシステム１０６に直接送信して保存する際に用いられる情報である。接続情報の作成方法などを含めた処理の詳細について、図１１を用いて後述する。
【００４７】
通知部４０２は、受信部４０１が受信したデータをアプリケーションサーバ１０５２へ転送する。その際、通知部４０２は、データに対して必要な処理を行った後、そのデータをアプリケーションサーバ１０５２に転送する場合もある。また、通知部４０２は、データをアプリケーションサーバ１０５２ではなくストレージシステム１０６に転送することもある。その場合、ストレージシステム１０６は受信したデータを保存する。
【００４８】
また、通知部４０２は、接続情報作成部４０４が作成した接続情報を外部装置やアプリケーションサーバ１０５２に送信する。さらに、通知部４０２は、外部装置からデータや通知を受信した結果を、外部装置に通知する。
【００４９】
＜アプリケーションサーバ１０５２の機能構成＞
図５は、本実施例におけるアプリケーションサーバ１０５２の機能構成の一例を示す図である。
【００５０】
受信部５０１は、ウェブサーバ１０５１から転送されたデータを受信する。また、受信部５０１は、ウェブサーバ１０５１によって送信された接続情報を受信する
取得部５０２は、受信部５０１が受信した接続情報に含まれるデータの保存先を示す情報を用いて、ストレージシステム１０６に格納されているデータを取得する。
【００５１】
処理部５０３は、受信部５０１が受信したデータや取得部５０２が取得したデータに対して必要な処理を行う。例えば、処理部５０３は、印刷ジョブのログやカウンタ値等をレポーティングして顧客に提供するために、レポートとして出力するための処理を行う。また、処理部５０３は、ネットワークデバイスで障害が発生したことを検知し、サービスマンにメール通知を行うための処理を行う。
【００５２】
＜ストレージシステム１０６の機能構成＞
図６は、本実施例におけるストレージシステム１０６の機能構成の一例を示す図である。
【００５３】
受信部６０１は、外部装置やウェブサーバ１０５１、アプリケーションサーバ１０５２から送られてきたデータを受信する。
【００５４】
保存部６０２は、受信部６０１で受信したデータを、ストレージシステム１０６内のＲＯＭ２５３や記憶装置２５４に保存する。
【００５５】
通知部６０３は、保存部６０２が保存した結果を外部装置やウェブサーバ１０５１、アプリケーションサーバ１０５２に通知する。
【００５６】
＜本実施例におけるシステムの一連の動作処理＞
図７は、本実施例におけるシステムの動作処理の一例を示すシーケンス図である。
【００５７】
本実施例では、カウンタ情報やログ情報、ステータス情報など、データの種類によって、ウェブサーバ１０５１とストレージシステム１０６のどちらにデータを送信すべきかを予め定めておき、それに従って、外部装置の送信部３０２がデータを送信する。外部装置は、例えばデータサイズが比較的大きくかつ即時性の求められないデータ（第１の種類のデータ）を、ウェブサーバ１０５１を経由せずに、ストレージシステム１０６に直接送信する。一方で、要求を行ってきた外部装置に対して処理結果の応答が必要となるなど、ある程度の即時性の求められるデータ（第２の種類のデータ）については、外部装置はウェブサーバ１０５１に対してデータを送信する。外部装置がデータをウェブサーバ１０５１に送信した場合、外部装置はデータをストレージシステム１０６に送信した場合よりも早く、処理結果の応答を受信することができる。
【００５８】
このように、データサイズが比較的大きくかつ即時性の求められないデータをウェブサーバ１０５１ではなくストレージシステム１０６に送信することで、ウェブサーバ１０５１によるデータの受信処理などの負荷を減らすことができる。ここで、ウェブサーバ１０５１が、データの種類などに応じて、管理システム１０５に対して通信を行うために外部装置が利用するＩ／Ｆを、あらかじめ定めておいてもよい。
【００５９】
なお、第２の種類のデータには、即時性の求められるデータ以外にも、データサイズが比較的小さいデータを含めてもよい。例えば、ネットワークデバイスの機器情報や、単発のエラーや障害情報を示すステータス情報などである。また、第２の種類のデータの種類などを特に定義せず、第１の種類のデータ以外を第２の種類のデータとしてもよい。
【００６０】
外部装置の送信部３０２が送信するデータが第２の種類のデータである場合の処理の流れをＳ７０１乃至Ｓ７０４で示す。また、外部装置の送信部３０２が送信するデータが第１の種類のデータである場合の処理の流れをＳ７０５乃至Ｓ７１５で示す。データの種類によって、これらの処理を切り替える。
【００６１】
まず、外部装置がウェブサーバ１０５１へ第２の種類のデータを送信する場合の処理の流れを説明する。
【００６２】
Ｓ７０１において、外部装置の送信部３０２が第２の種類のデータを送信し、そのデータをウェブサーバ１０５１の受信部４０１が受信する。なお、送信部３０２は、データを送信する前に、データを転送する転送要求をウェブサーバ１０５１に対して送信してもよい。
【００６３】
Ｓ７０２において、ウェブサーバ１０５１の通知部４０２は、外部装置へ、Ｓ７０１でのデータ受信結果を通知する。データ受信が正常に完了すると、次の処理に進む。
【００６４】
Ｓ７０３において、ウェブサーバ１０５１の通知部４０２は、アプリケーションサーバ１０５２へ、Ｓ７０２で受信したデータを転送する。必要に応じて、通知部４０２は、受信したデータに対してデータ変換などの処理を行った後、そのデータを、アプリケーションサーバ１０５２に転送するか、または、ストレージシステム１０６に送信して保存する。
【００６５】
Ｓ７０４において、アプリケーションサーバ１０５２の受信部５０１は、ウェブサーバ１０５１へ、Ｓ７０３でのデータ受信結果を通知する。
【００６６】
次に、外部装置がストレージシステム１０６へ第１の種類のデータを直接送信する場合の処理の流れを説明する。
【００６７】
Ｓ７０５において、外部装置の送信部３０２は、ストレージシステム１０６にアクセスするための接続情報の取得要求をウェブサーバ１０５１に対して送信する。接続情報の取得要求の詳細については、図９を用いて後述する。
【００６８】
Ｓ７０６において、ウェブサーバ１０５１の外部装置情報取得部４０３は、外部装置の種類を示す情報を取得する。この際、外部装置情報取得部４０３は、Ｓ７０５で送信された取得要求の中に含まれる認証情報などをもとにして、外部装置の種類を特定する。そして、ウェブサーバ１０５１の接続情報作成部４０４は、外部装置がストレージシステム１０６にアクセスするための接続情報を作成する。接続情報作成部４０４は、外部装置の種類を示す情報を用いて接続情報を作成する。接続情報の作成方法などを含めた処理の詳細について、図１１を用いて後述する。
【００６９】
Ｓ７０７において、通知部４０２は、Ｓ７０６で作成された接続情報を外部装置へ応答する。
【００７０】
Ｓ７０８において、外部装置の送信部３０２は、Ｓ７０７で受信した接続情報を用いて、ストレージシステム１０６へデータを送信して保存する。
【００７１】
Ｓ７０９において、ストレージシステム１０６の通知部６０３は、外部装置へ、Ｓ７０８でデータを保存した結果を通知する。
【００７２】
Ｓ７１０において、外部装置の送信部３０２は、ウェブサーバ１０５１へ、Ｓ７０８でのデータ保存結果を通知する。
【００７３】
Ｓ７１１において、ウェブサーバ１０５１の通知部４０２は、外部装置へ、Ｓ７１０での受信結果を通知する。
【００７４】
Ｓ７１２において、ウェブサーバ１０５１の通知部４０２は、Ｓ７０７で外部装置に送信した接続情報に含まれるデータ保存先を示す情報を、アプリケーションサーバ１０５２へ送信する。
【００７５】
Ｓ７１３において、アプリケーションサーバ１０５２の受信部５０２は、ウェブサーバ１０５１へ、Ｓ７１２での受信結果を通知する。
【００７６】
Ｓ７１４において、アプリケーションサーバ１０５２は、Ｓ７１２で送信されたデータの保存先を示す情報を用いて、ストレージシステム１０６へデータ取得要求を送信する。
【００７７】
Ｓ７１５において、ストレージシステム１０６の通知部６０３は、アプリケーションサーバ１０５２へ、Ｓ７１４での受信結果を通知し、該当するデータを送信する。なお、通知部６０３は、Ｓ７１４での受信結果を通知せずに、該当するデータのみを送信しても良い。
【００７８】
なお、Ｓ７０８で外部装置がストレージシステム１０６にデータを送信して保存した後、ストレージシステム１０６がウェブサーバ１０５１に対してその旨を通知し、Ｓ７１２に処理を進めてもよい。また、Ｓ７０８で外部装置がストレージシステム１０６にデータを送信して保存した後、ストレージシステム１０６がアプリケーションサーバ１０５２に対してデータの保存先を通知し、Ｓ７１４に処理を進めてもよい。
【００７９】
＜本実施例における外部装置の処理＞
図８は、本実施例における外部装置のデータ送信時における処理の一例を示すフローチャートである。
【００８０】
Ｓ８０１において、送信部３０２は、データを送信するタイミングか否かを判定する。例えば、送信部３０２は、外部装置内で管理されるスケジュールなどで決められた日時になると、カウンタ情報やログ情報をウェブサーバ１０５１に送信する。また、送信部３０２は、ネットワークデバイス１００のエラーや障害の発生に応じて、随時、ステータス情報などをウェブサーバ１０５１に送信する。データを送信するタイミングであると判断された場合には、Ｓ８０２に処理を進める。
【００８１】
Ｓ８０２において、送信部３０２は、これから送信するデータが、データサイズが比較的大きくかつ即時性の求められないデータである第１の種類のデータかどうかを確認する。第１の種類のデータではない場合、Ｓ８０３に処理を進める。また、第１の種類のデータである場合、Ｓ８０４に処理を進める。
【００８２】
なお、外部装置は、送信するデータの種類とデータの送信先とを対応付けたテーブルなどを保持し、そのテーブルを参照してＳ８０３とＳ８０４のどちらに処理を進めるかを決定してもよい。
【００８３】
Ｓ８０３において、送信部３０２は、取得部３０１が取得したデータを、管理システム１０５へ送信する。その後、受信部３０１は、ウェブサーバ１０５１からＳ８０３での送信結果を受信する。
【００８４】
次に、外部装置がストレージシステム１０６へデータを送信する場合の処理について説明する。
【００８５】
Ｓ８０４において、送信部３０２は、ウェブサーバ１０５１へ、接続情報の取得要求を送信する。
【００８６】
ここで、図９を用いて、外部装置が送信する接続情報取得要求のデータ構造を説明する。図９は、接続情報取得要求のリクエスト情報の一例を示す図である。
【００８７】
リクエスト９００は、ヘッダ９０１とボディ９０２とで構成される。ヘッダ９０１には、接続先のホスト名、コンテンツタイプ、コンテンツサイズ、認証情報、要求日時などが含まれる。ここで、ヘッダ９０１に含まれる認証情報は、外部装置がウェブサーバ１０５１など管理システム１０５内のシステムにアクセスするために必要な認証情報である。認証情報は、外部装置ごとにユニークな情報であり、各外部装置が予め保持している。
【００８８】
図８の説明に戻る。Ｓ８０５で、受信部３０３は、ウェブサーバ１０５１から送られる接続情報を受信する。
【００８９】
Ｓ８０６において、送信部３０２は、受信部３０１が受信した接続情報を用いて、取得部３０１が取得したデータを、ストレージシステム１０６へ送信する。その後、Ｓ８０７において、受信部３０３は、ストレージシステム１０６から、Ｓ８０６でのデータ保存結果の通知を受ける。
【００９０】
Ｓ８０８において、送信部３０２は、Ｓ８０７で受信したデータ保存結果をウェブサーバ１０５１へ通知する。
【００９１】
＜本実施例におけるウェブサーバの処理＞
図１０は、本実施例におけるウェブサーバ１０５１の処理の一例を示すフローチャートである。
【００９２】
Ｓ１００１において、受信部４０１は、外部装置からのデータまたは要求を受信したかどうかを判断する。受信部４０１が外部装置からデータまたは要求を受信したら、Ｓ１００２に処理を進める。その後、通知部４０２は、Ｓ１００１での受信結果を外部装置へ通知する。
【００９３】
Ｓ１００２において、受信部４０１は、受信した内容を確認する。受信部５０１が接続情報の取得要求以外の要求を受信した場合、Ｓ１００３に処理を進める。受信部５０１が接続情報の取得要求を受信した場合、Ｓ１００４に処理を進める。なお、受信部５０１がデータの転送要求を受信した場合、Ｓ１００３に処理を進めてもよい。また、受信部５０１がデータを受信した場合に、データの転送要求であるとみなして、Ｓ１００３に処理を進めてもよい。
【００９４】
Ｓ１００３において、通知部４０２は、受信部４０１が受信したデータをアプリケーションサーバ１０５２、またはストレージシステム１０６へ転送する。必要に応じて、通知部４０２は、受信したデータに対して、データの種類などに応じたデータ変換などの処理を行った後、そのデータ転送を行う。
【００９５】
次に、外部装置がストレージシステム１０６へデータを送信する場合のウェブサーバ１０５１の処理について説明する。
【００９６】
Ｓ１００４において、外部装置情報取得部４０３は、受信部４０１が受信した接続情報の取得要求のヘッダ９０１に含まれる認証情報をもとに、外部装置の種類を示す情報を取得する。前述したが、ウェブサーバ１０５１は、外部装置の種類を示す情報と認証情報との関連付けを管理している。外部装置情報取得部４０３は、要求に含まれる認証情報と関連付けられている外部装置の種類を示す情報を取得できる。なお、接続情報の取得要求の中に外部装置の種類を示す情報が含まれている場合、外部装置情報取得部４０３は、接続情報の取得要求の内容から外部装置の種類を示す情報を取得してもよい。
【００９７】
Ｓ１００５において、接続情報作成部４０４は、Ｓ１００４で外部装置情報取得部４０３が取得した外部装置の種類を示す情報を用いてデータの保存先を決定する。接続情報作成部４０４が、決定されたデータの保存先と、ファイル名とを指定することで、ストレージシステム１０６に接続情報を発行させる。これによって、接続情報作成部４０４は、接続情報を作成する。
【００９８】
ここで、図１１を用いて、接続情報について説明する。図１１は、接続情報の一例を示す図である。接続情報は、外部装置がデータをストレージシステム１０６に直接送信して保存する際に用いられる。外部装置がストレージシステム１０６にアクセスするための接続情報１１００には、ファイルパス１１０１と、ファイル名１１０２と、認証情報１１０３とが含まれる。ファイルパス１１０１は、データの保存先を示す情報である。ファイル名１１０２は、外部装置がストレージシステム１０６に保存するデータのファイル名を示す情報である。認証情報１１０３は、外部装置がストレージシステム１０６にアクセスするための認証情報である。認証情報が含まれることで、特定のクライアントからのみストレージシステム１０６に対してアクセスさせることができ、セキュリティが担保される。
【００９９】
前述したように、データの保存先を示す情報１１０１には、外部装置の種類を示す情報が含まれる。外部装置の種類によって送信されるデータの形式や粒度が異なり、それぞれに適したデータの処理が行われる必要がある。そのため、ストレージシステム１０６にデータを保存する際に、送信元となる外部装置の種類ごとにデータの保存先を区別しておけば、アプリケーションサーバ１０５２は、データの形式や粒度に適した処理方法を判別することが容易となる。結果として、データ処理にかかる負荷が低減される。
【０１００】
また、外部装置の種類ごとにデータの保存先を区別することで、ストレージシステム１０６に保存されているデータの送信元である外部装置を特定し易くなる。これは、デバッグの際に有効である。
【０１０１】
また、接続情報作成部４０４は、認証情報の有効期間を設定することもできる。具体的には、認証情報がどの時刻まで有効であるかが指定されることで、認証情報の有効期間は設定される。認証情報の有効期間を設定することで、万が一、当該接続情報が盗まれてストレージシステム１０６に大量のデータが送られたとしても、影響を最小限に抑えることができる。さらに、データの種類によって、認証情報の有効期間の長さを変えてもよい。例えば、ログデータ等の履歴情報は、カウンタ値等のスナップショットデータよりも、データサイズが大きく、データの通信時間が長くかかるため、スナップショットデータの有効期間よりも長い有効期間が設定される。また、カウンタ値等のスナップショットデータは、ログデータ等の履歴情報の有効期間よりも短い有効期間が設定される。
【０１０２】
また別の有効期間の設定方法として、接続情報作成部４０４は、外部装置との通信時刻を管理しておき、接続情報の作成時における最新の通信時刻と現在時刻との差から有効期間を定めてもよい。例えば、長い期間外部装置と通信が行えていない場合、その期間溜まっていたデータが一度に送信されてくるため、その分有効期間を通常より長めに設定する必要がある。
【０１０３】
図１０の説明に戻る。Ｓ１００６において、通知部４０２は、受信部５０１が受信した接続情報の取得要求に対して、接続情報作成部４０４が作成した接続情報を外部装置へ応答する。
【０１０４】
応答を受信した外部装置は、接続情報を用いてストレージシステム１０６にデータを送信する。外部装置が受信したデータの保存結果をウェブサーバ１０５１に通知する。
【０１０５】
Ｓ１００７において、受信部４０１は、外部装置から、ストレージシステム１０６へのデータ保存した結果の通知を受ける。
【０１０６】
Ｓ１００８において、受信部４０１は、Ｓ１００７で受けたデータ保存結果が成功であるか失敗であるかを判断する。保存結果が成功である場合には、Ｓ１００９に処理を進める。保存結果が失敗である場合には、本処理を終了する。
【０１０７】
Ｓ１００９において、通知部４０２は、アプリケーションサーバ１０５２へ、外部装置がストレージシステム１０６に保存したデータの保存先を通知する。
【０１０８】
以上のように、ストレージシステム１０６においてデータの送信元となる外部装置の種類ごとにデータの保存先を区別することで、アプリケーションサーバ１０５２は、データの形式や粒度に適した処理方法を判別することが容易となる。結果として、アプリケーションサーバなどによる処理においてデータ処理にかかる負荷が低減される。また、データの送信元となる外部装置の種類ごとにデータの保存先を区別することで、ストレージシステム１０６に保存されているデータの送信元である外部装置を特定し易くなる。これは、ウェブサーバ、アプリケーションサーバおよび外部装置などのソフトウェアプログラムのデバッグの際に有効である。
【０１０９】
（実施例２）
実施例１では、カウンタ情報やログ情報、ステータス情報など、データの種類によって、管理システム１０５とストレージシステム１０６のどちらかにデータを送信するかを予め定めておき、それに従って、外部装置の送信部３０２がデータを送信していた。それに対して、本実施例では、外部装置がデータを送信する前に、ウェブサーバ１０５１とストレージシステム１０６のどちらかにデータを送信するべきかを、外部装置がウェブサーバ１０５１に問い合わせるために、接続情報の取得要求を送信する。これによって、ウェブサーバ１０５１とストレージシステム１０６のどちらかに送信するかを柔軟に変更することができる。
【０１１０】
以下、本発明の一実施形態について図面を参照しながら説明する。以下、実施例１と同じ構成、同じステップについては同じ符号を用い、実施例１と異なる部分を中心に説明する。
【０１１１】
＜本実施例におけるウェブサーバの機能構成＞
図１２は、本実施例におけるウェブサーバ１０５１の機能構成の一例を示すブロック図である。
【０１１２】
本実施例におけるウェブサーバ１０５１は、実施例１におけるウェブサーバ１０５１の構成に対して、データ送信先判定部１２０５が追加される。
【０１１３】
データ送信先判定部１２０５は、外部装置からの問い合わせを受けた際に、外部装置がウェブサーバ１０５１とストレージシステム１０６のどちらかにデータを送信すべきかを判定し、データ送信先情報を作成する。データ送信先判定部１２０５は、外部装置から送信されるデータの種類やデータサイズによって送信先を判定してもよい。また他の方法として、データ送信先判定部１２０５は、ウェブサーバのＣＰＵ使用率など負荷状況を見て、送信先を判定してもよい。
【０１１４】
＜本実施例におけるシステムの一連の動作処理＞
図１３は、本実施例におけるシステムの動作処理の一例を示すシーケンス図である。本実施例では、外部装置がデータを送信する前に、ウェブサーバ１０５１とストレージシステム１０６のどちらかにデータを送信するべきかを、外部装置がウェブサーバ１０５１に問い合わせるようにする。Ｓ７０１〜Ｓ７０４、Ｓ７０８〜Ｓ７１５における処理は、図７の説明で示した通りである。
【０１１５】
Ｓ１３０１において、外部装置の送信部３０２は、ウェブサーバ１０５１に接続情報の取得要求を送信する。この取得要求には、外部装置の送信部３０２が送信しようとするデータの種類や内容などの情報が含まれる。
【０１１６】
Ｓ１３０２において、ウェブサーバ１０５１のデータ送信先判定部１２０５は、外部装置がウェブサーバ１０５１とストレージシステム１０６のどちらかにデータを送信すべきかを判定し、ウェブサーバ１０５１の通知部４０２は、判定された送信先を示す送信先情報を外部装置へ応答する。
【０１１７】
ここで、データの送信先がウェブサーバ１０５１と判定された場合には、ウェブサーバ１０５１を示す情報を含む送信先情報を応答する。また、データの送信先がストレージシステム１０６と判定された場合には、接続情報作成部４０４は、外部装置情報取得部４０３が取得した外部装置の種類を示す情報を用いて接続情報を作成し、通知部４０２は、送信先情報と接続情報とを応答する。この場合、通知部４０２は、データ送信先情報を送信せずに、接続情報作成部４０４が作成した接続情報のみを送信してもよい。
【０１１８】
＜本実施例における外部装置の処理＞
図１４は、本実施例における外部装置の処理の一例を示すフローチャートである。Ｓ８０１、Ｓ８０３、Ｓ８０６〜Ｓ８０８における処理は、図８の説明で示した通りである。
【０１１９】
Ｓ１４０１において、送信部３０２は、データ送信先情報の取得要求をウェブサーバ１０５１に送信する。データ送信先情報の取得要求には、外部装置の送信部３０２が送信しようとするデータの種類や内容などの情報が含まれる。
【０１２０】
Ｓ１４０２において、受信部３０３は、ウェブサーバ１０５１の通知部４０２から応答を受信する。この応答には、データ送信先を示す情報が含まれる。
【０１２１】
Ｓ１４０３において、送信部３０２は、データの送信先がストレージシステム１０６であるか否かを確認する。データの送信先がウェブサーバ１０５１である場合には、Ｓ８０３に処理を進める。また、データの送信先がストレージシステム１０６である場合には、Ｓ８０６に処理を進める。この場合、Ｓ１４０２で受信部３０３が受信した応答には、接続情報も含まれる。ウェブサーバ１０５１の通知部４０２は、例えば、データの送信先がウェブサーバ１０５１である場合は“１”の値を、データの送信先がストレージシステム１０６である場合には“２”の値を、外部装置に送信するようにする。無論、データ送信先情報の表現はこれ以外でもよい。
【０１２２】
＜本実施例におけるウェブサーバの処理＞
図１５は、本実施例におけるウェブサーバ１０５１の処理の一例を示すフローチャートである。Ｓ１００３〜Ｓ１００９における処理は、図７の説明で示した通りである。
【０１２３】
Ｓ１５０１において、受信部４０１は、外部装置からの接続情報取得要求を受信したかどうかを判断する。受信部４０１が外部装置から接続情報の取得要求を受信したら、Ｓ１５０２に処理を進める。その後、通知部４０２は、Ｓ１５０１での受信結果を外部装置へ通知する。
【０１２４】
Ｓ１５０２において、データ送信先判定部１２０５は、Ｓ１５０１で受信した外部装置からの要求に含まれるデータの種類を示す情報をもとに、データの送信先を判定し、送信先情報を作成する。さらに、データ送信先判定部１２０５は、データの種類によらず、ウェブサーバ１０５１のＣＰＵ使用率など負荷状況を見て、送信先を判定してもよい。例えば、ウェブサーバ１０５１のＣＰＵ使用率など負荷が低い場合は、データ送信先判定部１２０５は、データをウェブサーバ１０５１に送信すべきと判定する。また、ウェブサーバ１０５１のＣＰＵ使用率など負荷が高い場合は、データ送信先判定部１２０５は、データをストレージシステム１０６に送信すべきと判定する。
【０１２５】
Ｓ１５０３において、データの送信先がウェブサーバ１０５１であると判定された場合、処理をＳ１００６に進めて、通知部４０２は、外部装置に対して、データ送信先としてウェブサーバ１０５１を示す情報を含む応答を送信する。また、データの送信先がストレージシステム１０６であると判定された場合、処理をＳ１００４に進めて、外部装置の種類を示す情報を取得して接続情報を作成した後、ウェブサーバ１０５１の通知部４０２は、外部装置に対して、その接続情報を含む応答を送信する。
【０１２６】
Ｓ１５０４において、受信部４０１は、外部装置からのデータ受信を待機し、外部装置の送信部３０２が送信したデータを受信した場合に、処理をＳ１００３に進める。
【０１２７】
以上のように、外部装置がデータを送信する前に、管理システム１０５とストレージシステム１０６のどちらかにデータを送信するべきかを、外部装置がウェブサーバ１０５１に問い合わせるようにする。これによって、管理システム１０５とストレージシステム１０６のどちらかに送信するかを柔軟に変更することができる。
【０１２８】
（実施例３）
実施例１や実施例２では、外部装置がストレージシステム１０６へデータを保存した結果が失敗である場合、処理を終了していた。そして、次にデータを送信する時に、前回保存に失敗したデータを合わせて送信する仕組みになっていた。しかし、失敗の原因によっては、再度送信しても失敗するケースも存在する。例えば、送信するデータのデータサイズが大きいため、設定された接続情報に含まれる認証情報の有効期間内にデータの送信が完了せずに、ストレージシステム１０６へのデータ保存に失敗する場合などが考えられる。本実施例では、このような外部装置からストレージシステム１０６へのデータ保存失敗時に、処理を終了するのではなく、柔軟に対応する仕組みについて説明する。
【０１２９】
以下、本発明の一実施形態について図面を参照しながら説明する。以下、実施例１や実施例２と同じ構成、同じステップについては同じ符号を用い、実施例１や実施例２と異なる部分を中心に説明する。
【０１３０】
＜本実施例におけるウェブサーバの処理＞
図１６は、本実施例におけるウェブサーバ１０５１の処理の一例を示すフローチャートである。本処理では、外部装置からストレージシステム１０６へのデータ保存失敗時に、外部装置は、接続情報の有効期間を長く設定して再度作成される接続情報を用いてデータを送信する。Ｓ１００１〜Ｓ１００９における処理は、図１０の説明で示した通りである。
【０１３１】
Ｓ１６０１において、接続情報作成部４０４は、接続情報を作成した時の有効期間の情報を保存する。有効期間の情報は、ウェブサーバ１０５１に割り当てられた記憶領域、または、ストレージシステム１０６に保存される。
【０１３２】
図１７で、保存される有効期間の設定情報の一例を示す。データの種類ごとに、デフォルトの有効期間が保持される。前回設定有効期間には、接続情報を作成した際に使用した有効期間が設定される。通常、外部装置からの接続情報取得要求を受けた際には、接続情報作成部４０４はデフォルトの有効期間の値を設定して接続情報を作成する。
【０１３３】
Ｓ１００７で受信した保存結果が失敗である場合に、Ｓ１６０２において、ウェブサーバ１０５１の接続情報作成部４０４は、Ｓ１６０１で保存された前回設定有効期間を取得する。
【０１３４】
Ｓ１６０３において、接続情報作成部４０４は、前回設定有効期間よりも長い期間を設定して、接続情報を作成する。この後、接続情報作成部４０４は、再度Ｓ１６０１で、Ｓ１６０３で設定した有効期間を保存する。その後実行されるＳ１００６では、前述のＳ１００７で受信した失敗を示す保存結果の通知に対する応答として、通知部４０２は、Ｓ１６０３で設定した接続情報を送信する。
【０１３５】
以上のように、外部装置からストレージシステム１０６へのデータ保存結果が失敗だった場合に、接続情報の有効期間を長く設定して新たな接続情報を作成して外部装置へ送信する。これによって、外部装置からストレージシステム１０６へのデータ保存失敗時に、処理を終了するのではなく、柔軟に対応することができる。
【０１３６】
（実施例４）
実施例３では、外部装置からストレージシステム１０６へのデータ保存失敗時に、ウェブサーバ１０５１の接続情報作成部４０４は、前回設定有効期間よりも長い期間を設定して、接続情報を作成した。本実施例では、外部装置からストレージシステム１０６へのデータ保存失敗時に、データをストレージシステム１０６ではなく、ウェブサーバ１０５１に送信するようにする。例えば、ストレージシステム１０６が何かしらの理由でダウンしていることにより、ストレージシステム１０６へのデータ保存に失敗する場合などが考えられる。
【０１３７】
以下、本発明の一実施形態について図面を参照しながら説明する。以下、実施例１や実施例２と同じ構成、同じステップについては同じ符号を用い、実施例１や実施例２と異なる部分を中心に説明する。
【０１３８】
＜本実施例におけるウェブサーバの処理＞
図１８は、本実施例におけるウェブサーバ１０５１の処理の一例を示すフローチャートである。本処理では、外部装置からストレージシステム１０６へのデータ保存失敗時に、外部装置はデータをウェブサーバ１０５１に送信する。
【０１３９】
Ｓ１００１〜Ｓ１００９における処理は、図１０の説明で示した通りである。
【０１４０】
Ｓ１８０１において、通知部４０２は、Ｓ１００７で受信した保存結果が失敗である場合に、外部装置からの保存結果の通知に対して、データ送信先としてウェブサーバ１０５１を示す情報を含む応答を送信する。なお、Ｓ１８０１での応答は、例えば、接続情報作成部４０４によって作成される。
【０１４１】
以上のように、外部装置からストレージシステム１０６へのデータ保存結果が失敗だった場合に、ウェブサーバ１０５１は、データの送信先をウェブサーバ１０５１とする応答を外部装置に送信する。その後、外部装置は、該応答に従い、データをウェブサーバ１０５１に再送する。これによって、外部装置からストレージシステム１０６へのデータ保存失敗時に、処理を終了するのではなく、柔軟に対応することができる。
【０１４２】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【０１４３】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【０１４４】
４０１  受信部
４０２  通知部
４０３  外部装置情報取得部
４０４  接続情報作成部
【図１】
0006525761.tif 000002
【図２】
0006525761.tif 000003
【図３】
0006525761.tif 000004
【図４】
0006525761.tif 000005
【図５】
0006525761.tif 000006
【図６】
0006525761.tif 000007
【図７】
0006525761.tif 000008
【図８】
0006525761.tif 000009
【図９】
0006525761.tif 000010
【図１０】
0006525761.tif 000011
【図１１】
0006525761.tif 000012
【図１２】
0006525761.tif 000013
【図１３】
0006525761.tif 000014
【図１４】
0006525761.tif 000015
【図１５】
0006525761.tif 000016
【図１６】
0006525761.tif 000017
【図１７】
0006525761.tif 000018
【図１８】
0006525761.tif 000019