(57)【要約】【課題】ネットワークを介したデータの取得を適切に実行することのできる情報処理装置、情報処理方法、及び情報処理プログラムの提供を目的とする。【解決手段】ネットワークを介して接続するコンピュータに対して、前記コンピュータにおいて実装されているインタフェースの遠隔呼び出しによってデータの取得要求を行う第一のデータ取得手段と、前記遠隔呼び出しのタイムアウトを検知するタイムアウト検知手段と、前記タイムアウトの検知に応じ、前記遠隔呼び出しとは異なる通信プロトコルによって前記データを取得する第二のデータ取得手段とを有することにより上記課題を解決する。【選択図】図１
2008158895.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続するコンピュータに対して、前記コンピュータにおいて実装されているインタフェースの遠隔呼び出しによってデータの取得要求を行う第一のデータ取得手段と、
前記遠隔呼び出しのタイムアウトを検知するタイムアウト検知手段と、
前記タイムアウトの検知に応じ、前記遠隔呼び出しとは異なる通信プロトコルによって前記データを取得する第二のデータ取得手段とを有することを特徴とする情報処理装置。
【請求項２】
前記タイムアウトが検知されたときの前記遠隔呼び出しに係る前記データの識別情報を記憶するタイムアウトデータ記憶手段を有し、
前記取得要求に係るデータが前記記憶手段に記憶されていないときは、当初より前記第二のデータ手段によって前記データを取得することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記タイムアウトの検知に応じ、前記第二の取得手段によって前記データを取得するか否かをユーザに選択させる確認手段を有し、
前記ユーザによって前記データの取得が要求されたときに前記第二の取得手段によって前記データを取得することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
コンピュータが実行する情報処理方法であって、
ネットワークを介して接続するコンピュータに対して、前記コンピュータにおいて実装されているインタフェースの遠隔呼び出しによってデータの取得要求を行う第一のデータ取得手順と、
前記遠隔呼び出しのタイムアウトを検知するタイムアウト検知手順と、
前記タイムアウトの検知に応じ、前記遠隔呼び出しとは異なる通信プロトコルによって前記データを取得する第二のデータ取得手順とを有することを特徴とする情報処理方法。
【請求項５】
前記タイムアウトが検知されたときの前記遠隔呼び出しに係る前記データの識別情報を記憶装置に記録するタイムアウトデータ記録手順を有し、
前記取得要求に係るデータが前記記憶装置に記録されていないときは、当初より前記第二のデータ手順によって前記データを取得することを特徴とする請求項４記載の情報処理方法。
【請求項６】
前記タイムアウトの検知に応じ、前記第二の取得手順によって前記データを取得するか否かをユーザに選択させる確認手順を有し、
前記ユーザによって前記データの取得が要求されたときに前記第二の取得手順によって前記データを取得することを特徴とする請求項４又は５記載の情報処理方法。
【請求項７】
コンピュータに、
ネットワークを介して接続するコンピュータに対して、前記コンピュータにおいて実装されているインタフェースの遠隔呼び出しによってデータの取得要求を行う第一のデータ取得手順と、
前記遠隔呼び出しのタイムアウトを検知するタイムアウト検知手順と、
前記タイムアウトの検知に応じ、前記遠隔呼び出しとは異なる通信プロトコルによって前記データを取得する第二のデータ取得手順とを実行させるための情報処理プログラム。
【請求項８】
前記タイムアウトが検知されたときの前記遠隔呼び出しに係る前記データの識別情報を記憶装置に記録するタイムアウトデータ記録手順を有し、
前記取得要求に係るデータが前記記憶装置に記録されていないときは、当初より前記第二のデータ手順によって前記データを取得することを特徴とする請求項７記載の情報処理プログラム。
【請求項９】
前記タイムアウトの検知に応じ、前記第二の取得手順によって前記データを取得するか否かをユーザに選択させる確認手順を有し、
前記ユーザによって前記データの取得が要求されたときに前記第二の取得手順によって前記データを取得することを特徴とする請求項７又は８記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関し、特にネットワークを介してデータを取得する情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
近年は、サーバシステムに対してネットワークを介して処理要求を行うアプリケーションを実装するためのプラットフォームが充実しており、ネットワーク通信を意識せずにコーディングを行うことが可能となっている。具体的には、サーバシステム側に実装されている関数やオブジェクト等を、ローカルな関数やオブジェクトを利用する場合と同様の記述によって利用することができる。このような技術は、一般的にＲＰＣ（Remote Procedure Call）又は分散オブジェクト技術と呼ばれている。
【特許文献１】特許第３５４３７９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＲＰＣ等による関数又はメソッド（以下「関数」で総称する。）の遠隔呼び出しによって、サーバシステム側に存在する画像ファイル等、情報量の大きなデータを取得しようとした場合、呼び出された関数の復帰に時間を要し、プラットフォームの仕様等によって当該遠隔呼び出しがタイムアウトしてしまうことがある。この場合、アプリケーションは、当該データを取得することができず、要求されたサービスを適切に提供できなくなってしまうという問題がある。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、ネットワークを介したデータの取得を適切に実行することのできる情報処理装置、情報処理方法、及び情報処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、ネットワークを介して接続するコンピュータに対して、前記コンピュータにおいて実装されているインタフェースの遠隔呼び出しによってデータの取得要求を行う第一のデータ取得手段と、前記遠隔呼び出しのタイムアウトを検知するタイムアウト検知手段と、前記タイムアウトの検知に応じ、前記遠隔呼び出しとは異なる通信プロトコルによって前記データを取得する第二のデータ取得手段とを有することを特徴とする。
【０００６】
このような情報処理装置では、ネットワークを介したデータの取得を適切に実行することができる。
【発明の効果】
【０００７】
本発明によれば、ネットワークを介したデータの取得を適切に実行することのできる情報処理装置、情報処理方法、及び情報処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるデータ検索システムの構成例を示す図である。図１において、データ検索システム１は、Ｗｅｂサーバ１０、データ管理サーバ２０、及び一台以上のクライアント装置３０より構成されており、これらはＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない）によって接続されている。
【０００９】
データ管理サーバ２０は、データ管理ＤＢ２１、ＥＪＢ（Enterprise Java（登録商標）Beans）サービス２２、及びＦＴＰ（File Transfer Protocol）サービス２３等より構成されている。データ管理ＤＢ２１は、文書ごとに文書情報を管理するデータベースであり、データ管理サーバ２０の記憶装置に構築されている。文書情報は、書誌情報、文書ファイル及び画像ファイル等より構成される。文書ファイルは、例えば、テキスト形式又はＰＤＦ（Portable Document Format）形式によって当該文書の本文が格納されたファイルである。画像ファイルは、当該文書に添付される図面等の画像データが格納されたファイルである。なお、各文書は、文書番号又は文書名等の識別情報によって識別される。
【００１０】
ＥＪＢサービス２２は、データ管理ＤＢ２１に管理されている文書情報を提供するための各種のメソッド（インタフェース）を備えたＥＪＢコンポーネントである。ＥＪＢサービス２２のメソッドとしては、例えば、文書情報の条件検索を行うためのメソッド、指定された文書番号に係る書誌情報を取得するためのメソッド、指定された文書番号に係る文書ファイルを取得するためのメソッド、指定された文書番号の画像ファイルを取得するためのメソッド（以下「画像取得メソッド」という。）等がある。
【００１１】
ＦＴＰサービス２３は、要求されたデータをＦＴＰによって転送するモジュールである。
【００１２】
Ｗｅｂサーバ１０は、Ｊａｖａ（登録商標）プラットフォーム１１及びデータ検索アプリケーション１２等を有する。Ｊａｖａ（登録商標）プラットフォーム１１は、Ｊａｖａ（登録商標）環境を実現するソフトウェアである。
【００１３】
データ検索アプリケーション１２は、Ｊａｖａ（登録商標）プラットフォーム１１上で動作するＷｅｂアプリケーションであり、例えば、Ｊａｖａ（登録商標）サーブレットとして実装される。データ検索アプリケーション１２は、Ｗｅｂページを介して送信されるクライアント装置３０からの要求（ＨＴＴＰリクエスト）に応じて、データ管理サーバ３０より文書情報を検索又は取得する。データ検索アプリケーション１２は、検索又は取得された文書情報を表示させるＨＴＭＬ（HyperText Markup Language）データ（Ｗｅｂページ）を生成し、当該ＨＴＭＬデータをクライアント装置３０に返信する。
【００１４】
データ検索アプリケーション１２は、データ管理サーバ２０より文書情報を取得する機能として、プロトコル切替部１２１、ＥＪＢ通信部１２２、ＦＴＰ通信部１２３、及びタイムアウトデータテーブル１２４等を有する。
【００１５】
ＥＪＢ通信部１２２は、データ管理サーバ２０のＥＪＢサービス２１のメソッドをＲＭＩ（Remote Method Invocation）に基づいて遠隔呼び出しすることにより、データ管理ＤＢ２１に管理されている文書情報を取得する。ＲＭＩとは、Ｊａｖａ（登録商標）環境においてＲＰＣ（Remote Procedure Call：関数又はメソッドの遠隔呼び出し）を実現するための技術である。ＲＭＩを実現するための機能は、Ｊａｖａ（登録商標）プラットフォーム１１に実装されている。
【００１６】
ＦＴＰ通信部１２３は、ＥＪＢ通信部１２２では取得できなかった画像ファイルを、データ管理サーバ２０のＦＴＰサービス２３とＦＴＰ通信を行うことにより取得する。
【００１７】
ＥＪＢ通信部１２２によって画像ファイルが取得できないといった事態は、ＥＪＢサービス２２の画像取得メソッドの呼び出しがタイムアウトになってしまった場合に発生する。すなわち、画像ファイルのデータサイズが大きかったり、ネットワークの負荷が高かったりした場合に、予め設定された時間（タイムアウト値）内に画像ファイルの転送が完了できず、画像取得メソッドは、タイムアウトによってエラーを返却する。
【００１８】
プロトコル切替部１２１は、画像取得メソッドのタイムアウトが発生した場合に、取得対象とされている画像ファイルの取得をＦＴＰ通信部１２３に実行させる。
【００１９】
タイムアウトデータテーブル１２４は、画像取得メソッドのタイムアウトにより、ＥＪＢ通信部１２２では取得できなかった画像ファイルに係る文書の文書番号を記憶しておくためのテーブルである。
【００２０】
クライアント装置３０は、ＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistance）、又は携帯電話等、Ｗｅｂブラウザ３１を備えた装置である。
【００２１】
Ｗｅｂサーバ１０のハードウェア構成について説明する。図２は、本発明の実施の形態におけるＷｅｂサーバのハードウェア構成例を示す図である。図２のＷｅｂサーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００２２】
Ｗｅｂサーバ１０での処理を実現するプログラム（データ検索アプリケーション１２等）は、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。例えば、タイムアウトテーブル１２４は、補助記憶装置１０２に記録される。
【００２３】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従ってＷｅｂサーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２４】
なお、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。
【００２５】
以下、Ｗｅｂサーバ１０の処理手順について説明する。図３は、Ｗｅｂサーバの処理手順を説明するためのフローチャートである。ここでは、クライアント装置３０より、或る文書の画像ファイルの取得が要求された場合を例とする。
【００２６】
ステップＳ１０１において、データ検索アプリケーション１２は、或る文書（例えば、文書一覧において選択された文書）の画像ファイルの取得要求をＷｅｂブラウザ３１より受け付ける。当該要求には、当該文書の文書番号が含まれている。続いて、プロトコル切替部１２１は、タイムアウトデータテーブル１２４に当該文書番号が登録されているか否かを確認する（Ｓ１０２）。
【００２７】
当該文書番号は登録されていない場合（Ｓ１０３でＮｏ）、プロトコル切替部１２１は、ＥＪＢ通信部１２２に画像ファイルの取得を指示する。ＥＪＢ通信部１２２は、画像取得メソッドを遠隔呼び出しすることにより、画像ファイルの取得をＥＪＢサービス２２に要求する（Ｓ１０４）。
【００２８】
画像取得メソッドにおいてタイムアウトが発生すると（Ｓ１０５でＹｅｓ）、プロトコル切替部１２１は、当該タイムアウトを検知し、当該文書番号をタイムアウトデータテーブル１２４に登録する（Ｓ１０６）。続いて、プロトコル切替部１２１は、ＦＴＰ通信部１２３に当該画像ファイルの取得を指示する。ＦＴＰ通信部１２３は、文書番号に基づいてＦＴＰサービス２３に対して当該画像ファイルの取得を要求する（Ｓ１１１）。画像ファイルは、ＦＴＰによってＦＴＰサービス２３からＦＴＰ通信部１２３に転送される。データ検索アプリケーション１０は、取得された画像ファイルをＷｅｂブラウザ３１に送信する（Ｓ１１２）。
【００２９】
一方、タイムアウトが発生しない場合は（Ｓ１０５でＮｏ）、画像取得メソッドの戻り値として画像ファイルが取得される。したがって当該画像データがＷｅｂブラウザ３１に返信される（Ｓ１１２）。
【００３０】
また、ステップＳ１０３において、当該文書番号がタイムアウトデータテーブル１２４に登録されている場合、プロトコル切替部１２１は、当初から（ＥＪＢ通信部１２２を用いることなく）ＦＴＰ通信部１２３に当該画像ファイルの取得を指示する。この場合。ＦＴＰ通信部１２３によって画像ファイルが取得される（Ｓ１１１）。
【００３１】
なお、図３では、タイムアウトが発生した場合に、自動的にＦＴＰによって画像ファイルが取得される例を示したが、ＦＴＰによって画像ファイルを取得するか否かをユーザに選択させるようにしてもよい。
【００３２】
図３において説明した処理を、具体的なケースに分けて説明する。図４は、画像ファイルの取得処理の第一の例を示すシーケンス図である。図４では、取得対象の画像ファイルに係る文書番号がタイムアウトデータテーブル１２４に登録されていない場合について説明する。図４におけるステップ番号は、図３と対応している。
【００３３】
ステップＳ１０１において、クライアント装置３０のＷｅｂブラウザ３１からＷｅｂサーバ１０のデータ検索アプリケーション１２に対して、画像ファイルの取得要求が送信される。続いて、プロトコル切替部１２１は、タイムアウトデータテーブル１２４に当該文書番号が登録されているか否かを確認する（Ｓ１０２）。当該文書番号は登録されていない場合、ＥＪＢ通信部１２２は、画像取得メソッドを遠隔呼び出しすることにより、画像ファイルの取得をＥＪＢサービス２２に要求する（Ｓ１０４）。
【００３４】
画像取得メソッドにおいてタイムアウトが発生すると（Ｓ１０５）、プロトコル切替部１２１は、当該文書番号をタイムアウトデータテーブル１２４に登録する（Ｓ１０６）。続いて、データ検索アプリケーション１２は、タイムアウトの発生を通知するためのダイアログを表示させるようＷｅｂブラウザ３１に返信する（Ｓ１０７−１）。Ｗｅｂブラウザ３１は、当該ダイアログを表示させ、改めて画像ファイルの取得を行うか否かをユーザに問い合わせる。ユーザによって、当該ダイアログに対して画像ファイルの取得指示が入力されると（Ｓ１０８）、Ｗｅｂブラウザ３１は、画像ファイルの取得要求をデータ検索アプリケーション１２に送信する（Ｓ１０９）。
【００３５】
データ検索アプリケーション１２のＦＴＰ通信部１２３は、ＦＴＰ通信によってデータ管理サーバ２０のＦＴＰサービス２３に当該画像ファイルの取得を要求する（Ｓ１１１−１）。ＦＴＰサービス２３は、要求に応じ当該画像ファイルをＦＴＰによって返信する（Ｓ１１１―２）。データ検索アプリケーション１２は、当該画像ファイルをＷｅｂブラウザ３１に返信する（Ｓ１１２）。
【００３６】
また、図５は、画像ファイルの取得処理の第二の例を示すシーケンス図である。図５では、取得対象の画像ファイルに係る文書番号がタイムアウトデータテーブル１２４に登録されている場合について説明する。図５におけるステップ番号は、図３又は図４と対応している。ステップＳ１０１及びＳ１０２は、図４と同様であるためその説明は省略する。
【００３７】
当該文書番号がタイムアウトデータテーブル１２４に登録されている場合、データ検索アプリケーション１２は、ＦＴＰによって画像ファイルを取得するか否かを問い合わせるためのダイアログを表示させるようＷｅｂブラウザ３１に返信する（Ｓ１０７−２）。Ｗｅｂブラウザ３１は、当該ダイアログを表示させ、ＦＴＰによって画像ファイルの取得を行うか否かをユーザに問い合わせる。ユーザによって、当該ダイアログに対して画像ファイルの取得指示が入力されると（Ｓ１０８−１）、Ｗｅｂブラウザ３１は、画像ファイルの取得要求をデータ検索アプリケーション１２に送信する（Ｓ１０９）。以降は、図４において説明したようにステップＳ１１１−１以降の処理が実行される。
【００３８】
上述したように、本発明の実施の形態におけるＷｅｂサーバ１０は、ＥＪＢサービス２２の画像取得メソッドの遠隔呼び出しがタイムアウトした場合に、ＦＴＰによって画像ファイルを取得する。したがって、クライアント装置３０から画像ファイルの取得要求を適切に実行することができる。
【００３９】
また、Ｗｅｂサーバ１０は、一度タイムアウトが発生した画像ファイルについては、その識別情報をタイムアウトテーブル１２４に記憶しておく。したがって、同一の画像ファイルの取得が再度要求された場合、当初よりＦＴＰによって画像ファイルを取得することができ、レスポンスを向上させることができる。
【００４０】
なお、本実施の形態では、ＲＰＣの呼び出しがタイムアウトした場合の代替手段としてＦＴＰによる通信を例として説明したが、他の通信方法によってデータを取得するようにしてもよい。例えば、ソケット通信によって取得してもよいし、ＨＴＴＰによって取得してもよい。
【００４１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態におけるデータ検索システムの構成例を示す図である。
【図２】本発明の実施の形態におけるＷｅｂサーバのハードウェア構成例を示す図である。
【図３】Ｗｅｂサーバの処理手順を説明するためのフローチャートである。
【図４】画像ファイルの取得処理の第一の例を示すシーケンス図である。
【図５】画像ファイルの取得処理の第二の例を示すシーケンス図である。
【符号の説明】
【００４３】
１        データ検索システム
１０      Ｗｅｂサーバ
１１      Ｊａｖａ（登録商標）プラットフォーム
１２      データ検索アプリケーション
２０      データ管理サーバ
２１      データ管理ＤＢ
２２      ＥＪＢサービス
２３      ＦＴＰサービス
３０      クライアント装置
３１      Ｗｅｂブラウザ
１００    ドライブ装置
１０１    記録媒体
１０２    補助記憶装置
１０３    メモリ装置
１０４    演算処理装置
１０５    インタフェース装置
１２１    プロトコル切替部
１２２    ＥＪＢ通信部
１２３    ＦＴＰ通信部
１２４    タイムアウトデータテーブル
Ｂ        バス
【図１】
2008158895.tif 000003
【図２】
2008158895.tif 000004
【図３】
2008158895.tif 000005
【図４】
2008158895.tif 000006
【図５】
2008158895.tif 000007