説明

処理の所要時間を予め提供する技術

【課題】サーバ装置の稼動効率を向上させると共に、クライアント装置の使用者の待ち時間を短縮する。
【解決手段】サーバ装置と通信するクライアント装置であって、少なくとも1つの表示オブジェクトを含むページを画面に表示する表示部と、当該表示オブジェクトが使用者の操作を受けたことに応じて前記サーバ装置に処理のリクエストを送信する送信部と、当該処理のリクエストに応じて前記サーバ装置によって実行される処理の所要時間の見積もりを、使用者の前記操作に先立って予め取得する取得部と、取得した当該所要時間の見積もりを、当該表示オブジェクトに対応付けて出力する出力部とを備えるクライアント装置を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント装置がサーバ装置と通信する技術に関する。特に、本発明は、クライアント装置がサーバ装置に対し処理をリクエストする技術に関する。
【背景技術】
【0002】
近年、例えばJ2EE(Java 2 Enterprise Edition)などの普及によって、ウェブ・アプリケーションシステムが広く用いられるようになってきている(非特許文献1を参照。)。ウェブ・アプリケーションシステムは、同時に多数のクライアント装置からのリクエストを処理できるように設計されている場合が多い。しかしながら、同時に処理するリクエストが多すぎると、処理に時間がかかりすぎてしまう。この結果、クライアント装置の使用者の待ち時間を増加させたり、使用者の利便性を低下させたりしてしまう場合がある。
【非特許文献1】Java EE & Web サービスの説明。インターネット、URL「http://sdc.sun.co.jp/java/j2ee/index.html」、2007年11月28日検索。
【発明の開示】
【発明が解決しようとする課題】
【0003】
これに対し、システムの開発に際しては、多数のリクエストを効率的に処理させるための様々な技術が用いられている。例えば、受信したリクエストを、キュー型のデータ領域に一時的に蓄える技術がその一例である。他の処理が終了するなどしてサーバ・コンピュータの負荷が低下した場合には、ウェブ・アプリケーションシステムはそのデータ領域から次のリクエストを取得して処理する。このような制御により、サーバ・コンピュータの負荷を適切な水準に維持して、処理の所要時間を短縮できる。
【0004】
一方、受信するリクエストの中には、使用者にとって重要度が低いものが含まれる場合がある。その場合、使用者は、処理完了までの待ち時間が長すぎるならば、そのようなリクエストをそもそも送信したくないかも知れない。上記技術では、既に受信したリクエストを全て処理することを前提としているため、そのような不要なリクエストであっても、他の重要なリクエストと共に処理しようとしていた。
【0005】
このように、これまでの技術では、既に受信したリクエストを全て処理することを前提としており、そもそもあまり必要でないリクエストの送信を抑制することはできない。例えば、使用者は、送信しようとしているリクエストがどの程度の負荷をサーバ装置に与えるか、あるいは、現在のサーバ装置の負荷などを予め知ることはできないので、そのリクエストを送信すべきか否かを判断できなかった。
【0006】
そこで本発明は、上記の課題を解決することのできるクライアント装置、サーバ装置、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の第1の形態においては、サーバ装置と通信するクライアント装置であって、少なくとも1つの表示オブジェクトを含むページを画面に表示する表示部と、当該表示オブジェクトが使用者の操作を受けたことに応じて前記サーバ装置に処理のリクエストを送信する送信部と、当該処理のリクエストに応じて前記サーバ装置によって実行される処理の所要時間の見積もりを、使用者の前記操作に先立って予め取得する取得部と、取得した当該所要時間の見積もりを、当該表示オブジェクトに対応付けて出力する出力部とを備えるクライアント装置を提供する。また、当該クライアント装置としてコンピュータを機能させる方法およびプログラムを提供する。
【0008】
また、本発明の第2の形態においては、クライアント装置と通信するサーバ装置であって、記憶装置と、前記クライアント装置からリクエストされた処理の所要時間を計測して、当該処理の所要時間を、当該処理の識別情報に対応付けて前記記憶装置に格納する計測部と、前記クライアント装置から、処理の所要時間の見積もりを返信するリクエストを受けたことに応じて、当該処理の識別情報に対応する所要時間を前記記憶装置から読み出して、読み出した当該所要時間に基づく情報を前記クライアント装置に返信する返信部とを備えるサーバ装置を提供する。また、当該サーバ装置としてコンピュータを機能させる方法およびプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係る情報システム10の全体構成を示す。情報システム10は、サーバ装置100と、複数のクライアント装置200(例えばクライアント装置200−1〜N)とを備える。サーバ装置100は、基本的なハードウェアとして、例えばネットワーク・インターフェイス・カードなどの通信インターフェイス102と、例えばハードディスクドライブなどの記憶装置104とを有する。そして、サーバ装置100は、記憶装置104から読み出したプログラムをCPUにより実行することで、ウェブサーバ106として機能する。
【0011】
クライアント装置200−1は、基本的なハードウェアとして、例えばネットワーク・インターフェイス・カードなどの通信インターフェイス202と、例えばハードディスクドライブなどの記憶装置204と、例えば表示デバイス・入力デバイスなどのユーザインターフェイス208とを有する。そして、クライアント装置200−1は、記憶装置204から読み出したプログラムをCPUにより実行することで、ウェブブラウザ206として機能する。なお、クライアント装置200−2〜Nのそれぞれはクライアント装置200−1と略同一であるから、以降相違点を除き説明を省略する。
【0012】
また、サーバ装置100は、通信ネットワーク15を介してクライアント装置200−1〜Nのそれぞれに接続している。通信ネットワーク15は、例えばインターネットなどの公衆の通信回線であってもよいし、例えば企業内ネットワークなどのプライベートな通信回線であってもよい。ウェブサーバ106は、この通信ネットワーク15を介して、クライアント装置200−1〜Nのそれぞれにおいて動作するウェブブラウザ206と通信する。具体的には、ウェブブラウザ206は、処理のリクエストをウェブサーバ106に対し送信する。ウェブサーバ106は、そのリクエストに応じた処理を実行して、その実行結果をレスポンスとしてウェブブラウザ206に返信する。
【0013】
ウェブサーバ106が同時期に多数のウェブブラウザ206からリクエストを受信した場合においては、ウェブサーバ106における処理の時間がかかり過ぎてしまう場合がある。これに対し、本実施形態に係る情報システム10においては、クライアント装置200−1〜Nの使用者に対し、処理の所要時間の見積もりを予め通知することで、リクエストの送信の抑制を図る。その一例を図2に示す。
【0014】
図2は、本実施形態に係るユーザインターフェイス208により表示される画面の一例を示す。(a)に、あるウェブページの一例を示す。このウェブページは、表示オブジェクトとして、「キーワードを入力して提出ボタンを押して下さい」という文字列、キーワードの入力欄、および、提出ボタンを含む。図2(a)の例では、入力欄には「ABCD」というキーワードが既に入力されている。この状態において、マウスなどの入力装置により提出ボタンがクリックされると、「ABCD」というキーワードがクライアント装置200−1からサーバ装置100へのリクエストに含めて送信される。これを受けてウェブサーバ106による処理が開始される。
【0015】
図2(b)は、そのウェブページの提出ボタンに、マウスなどのカーソルのフォーカスが当てられた状態を示す。提出ボタンにフォーカスが当てられると、ウェブブラウザ206は、その提出ボタンがクリックされたことに応じてウェブサーバ106により実行される処理の所要時間の見積もりを表示する。ここでは、例えばツールチップなどの中に、所要時間の見積もりを示すシンボル、具体的には時間を示す数値などが表示されている。
【0016】
このように、使用者は提出ボタンを実際にクリックしなくても、その提出ボタンにフォーカスを当てることで、それをクリックしたならば処理に費やされるであろう所要時間を予め知ることができる。これにより、例えば重要でない処理の所要時間が長すぎる場合には、使用者の判断でリクエストそれ自体の送信を取り止めることが期待される。この結果、ウェブサーバ106は真に必要な処理のみを効率的に実行できる。以降、これを実現する構成について説明をすすめる。
【0017】
図3は、本実施形態に係るウェブブラウザ206の機能構成をユーザインターフェイス208と併せて示す。ウェブブラウザ206は、受信部300と、表示部310と、送信部370とを有する。受信部300は、表示部310に表示するべきページを示すファイルをサーバ装置100から受信する。このファイルは、例えば、既に送信部370により送信されたリクエストに対するレスポンスとしてサーバ装置100から返信されるものである(1)。
【0018】
具体的には、このファイルは、ページに含めて表示するべき少なくとも1つの表示オブジェクトを示す。表示オブジェクトは、例えば文字列または画像などの他、使用者の操作を受け付けるためのボタン、ハイパーリンクまたはプルダウンメニューなどであってよい。この表示オブジェクトは、使用者の選択操作を受け付けると共に、当該選択操作を受け付けた状態において入力操作を更に受け付ける。
【0019】
選択操作とは、例えば、ポインティング・デバイスのカーソルをその表示オブジェクトに重ねてフォーカスを当てる操作である。これに代えて、選択操作とは、キーボードの方向キーやタブキーによってカーソルをその表示オブジェクトに合わせる操作であってよい。一方、入力操作とは、ポインティング・デバイスによりその表示オブジェクトをクリックする操作である。これに代えて、入力操作とは、キーボードのエンターキーを押下する操作であってよい。
【0020】
一例として、これらの表示オブジェクトは、HTML(Hypertext Mark−up Language)などのページ記述言語、および、JavaScriptなどのプログラム言語で定義されていてよい。なお、表示オブジェクトによっては、単にシンボルを表示するだけであって、使用者の操作を受け付けなくてよい。
【0021】
表示部310は、受信したそのファイルに基づいて、少なくとも1つの表示オブジェクトを含むページを表示デバイス320の画面325に表示する。また、ウェブブラウザ206は、そのファイル中のプログラムを実行することにより制御システム30として機能する。制御システム30は、取得部330と、出力部350とを有する。取得部330は、送信部370が送信する処理のリクエストに応じてサーバ装置100によって実行される処理の所要時間の見積もりを、使用者の入力操作に先立って予め取得する。
【0022】
その一例として、取得部330は、所要時間の見積もりを、受信部300により受信されたファイルに含めてサーバ装置100から取得してよい。これに代えて、取得部330は、所要時間の見積もりをサーバ装置100によりクライアント装置200−1に返信させるリクエストを、送信部370に指示してサーバ装置100に対し送信してよい(2)。これに対し、受信部300は、サーバ装置100から所要時間の見積もりを受信する(3)。取得部330は、このようにして所要時間の見積もりを取得して、出力部350に対し出力する。
【0023】
所要時間の見積もりは、サーバ装置100によって予め生成されたものであってよい。例えば、所要時間の見積もりは、既にサーバ装置100により実行された処理について計測された所要時間の履歴に基づく統計的な量でよい。例えば、所要時間の見積もりは、既に実行された処理の所要時間の平均値であってよいし、所定期間内における処理の所要時間の中央値または最大値であってもよい。好ましくは、所要時間の見積もりは、新たに送信しようとしているリクエストに応じた処理と同種類の、過去の処理の所要時間に基づいて算出されてよい。
【0024】
出力部350は、表示したその表示オブジェクトが使用者の選択操作を受けたことに応じて、その表示オブジェクトに対応付けて、取得したその所要時間の見積もりを出力する。例えば、出力部350は、その所要時間の見積もりを示す音声を音声デバイス360により出力させてよい。この場合、所要時間の長さは、例えば音の高さ、音の大きさまたは音色などに反映されてよい。これに代えて、出力部350は、表示したその表示オブジェクトに対応付けて、その表示オブジェクトについて取得した所要時間の見積もりを示すシンボルを画面325に表示してよい。
【0025】
なお、所要時間の見積もりとは、必ずしも、所要時間それ自体を示す数値情報に限定されない。例えば、所要時間の見積もりとは、所要時間が所定の基準値よりも長いかまたは短いかを区別する情報であってもよい。また、所要時間の見積もりとは、サーバ装置100の処理負荷の大きさを示す数値であってよい。一般に、処理負荷が大きければ所要時間が長くなることから、処理負荷の大きさは所要時間の見積もりを示すこととなるからである。
【0026】
更に他の例として、出力部350は、その表示オブジェクトの色彩または形状を、その所要時間の見積もりを識別可能なように変更して、画面325に表示させることで、所要時間の見積もりを出力してよい。例えば、所要時間の長い表示オブジェクトを、赤などの目立ち易い色彩で着色してよい。また、画面325は、所要時間の長い表示オブジェクトに縁取りを付して表示してよい。形状の変更には、大きさの変更も含まれる。例えば、画面325は、所要時間の短い表示オブジェクトを他の表示オブジェクトと比較して大きく表示してもよい。
【0027】
送信部370は、当該表示オブジェクトが使用者の入力操作を受けたことに応じて、サーバ装置100に処理のリクエストを送信する(4)。これを受けて、クライアント装置200においてはウェブブラウザ206の処理が開始される。処理の完了までには、予め通知されていた所要時間の見積もりと同程度の時間がかかることが予想される。
【0028】
ここで、見積もりの精度を高めるためには、サーバ装置100の状態変化に追従して所要時間の見積もりを変更することが好ましい。例えば、取得部330が定期的に所要時間をリクエストすれば、そのような状態変化に追従できる。また、取得部330は、選択操作を受けた表示オブジェクトのみについて、選択操作を受けたことを条件に所要時間の見積もりを取得すれば、最新の状態の所要時間を取得できる。
【0029】
一方で、選択操作を受けた表示オブジェクトの全てについて所要時間をリクエストしようとすれば、使用者が選択操作を繰り返した結果、多数のリクエストが送信され、通信ネットワーク15の負荷を必要以上に増加させてしまう。これに対し、取得部330は、ウェブページ中の全ての表示オブジェクトではなく予め定められた一部の表示オブジェクトのみについて、その表示オブジェクトが選択操作を受けたことを条件にリクエストを送信してもよい。
【0030】
また、他の例として、取得部330は、キュー332およびキュー管理部335を有することで、そのような過剰なリクエストの送信を防止してよい。具体的には、キュー332は、先入れ後出しキューであり、何れかの表示オブジェクトが選択操作を受ける毎に、見積もりを返信させるリクエストを順次格納する。そして、キュー管理部335は、選択操作を受けたタイミングに関わらず、例えば定期的に、キューから順次そのリクエストを取り出してサーバ装置100に送信する。これにより、選択操作を一時期に頻繁に受けすぎたことによる過剰なリクエストの送信を防止できる。
【0031】
図4は、本実施形態に係るウェブサーバ106の機能構成を示す。ウェブサーバ106は、HTTPサーバ40と、アプリケーション・サーバ45とを有する。HTTPサーバ40は、例えばHTTP(Hypertext Transfer Protocol)などに準拠したリクエストをクライアント装置200−1〜Nから受信する。また、HTTPサーバ40は、そのリクエストに応じたアプリケーション・サーバ45による処理の結果をレスポンスとしてクライアント装置200−1〜Nに返信する。
【0032】
アプリケーション・サーバ45は、計測部400と、サービス部410と、返信部420とを有する。計測部400は、クライアント装置200−1〜Nのそれぞれから処理のリクエストを受け付ける。ここでは例えばクライアント装置200−1からリクエストを受け付けたことを前提に説明をすすめる。そして、サービス部410は、そのリクエストに応じて処理を実行する。具体例として、サービス部410は、たとえばウェブサービスなどを処理するためのアプリケーション・プログラムであってよく、一例としてそのプログラムはJ2EEによって開発されたものであってよい。処理の結果は、例えばHTMLのページなどのデータとして、レスポンスに含めてクライアント装置200−1に返信される。
【0033】
計測部400は、リクエストされたその処理の所要時間を計測して、当該処理の所要時間を、当該処理の識別情報に対応付けて記憶装置104に格納する。所要時間の計算は、具体的には、サーブレットフィルタなどのような、処理の開始および/または終了時において仮想機械の機能により自動的に呼び出されるメソッドにより実現されてよい。一例として、処理の終了時刻から開始時刻を引き算すれば、処理の所要時間を算出できる。
【0034】
さらに、計測部400は、当該処理の所要時間を、当該処理の属するグループの識別情報に対応付けて記憶装置104に格納してもよい。その一例を図5に示す。
図5は、本実施形態に係る記憶装置104のデータ構造の具体例を示す。記憶装置104は、処理の識別情報を、その処理が属するグループの識別情報、その処理の回数の履歴、および、その処理の所要時間の合計に対応付けて記憶している。計測部400は、新たに処理が完了する毎に、その処理の識別情報およびその処理の属するグループの識別情報に対応するレコードの、処理の回数をインクリメントする。また、計測部400は、当該レコードの所要時間の合計に、当該新たな処理について計測した所要時間を加算する。
【0035】
ここで、ある処理が属するグループは、例えば、その処理の性質に応じて定められていてよい。その処理の性質とは、例えば、主としてCPUの処理力を集中的に使用するか、または、主としてファイル入出力の機能を集中的に使用するか、などである。これに代えて、ある処理が属するグループは、例えば、その処理を要求したクライアント装置200の性能に応じて定められていてよい。サーバ装置100の状態が同一であっても、クライアント装置200の性能によって処理の完了までの使用者の待ち時間は異なる場合がある。このような場合には、処理の所要時間をクライアント装置200の性能に基づいてグループ化することで、所要時間の精度を更に高めることができる。
【0036】
更に他の例として、グループは、その処理を要求した使用者が属するグループを示してもよい。具体例として、グループの識別情報「304」は、高い利用料の支払などを条件に優遇された使用者のグループを示す。一方、グループの識別情報「302」は、優遇されていない使用者のグループを示す。サービス部410の機能によれば、使用者がどちらのグループに属するかによって、要求される処理の実行優先度を異ならせることができる。そのような場合には、処理の所要時間も使用者のグループに応じて大きく異なる場合がある。このような場合に備えて、記憶装置104は、処理を要求する使用者の属するグループごとに、所要時間の履歴を記憶してもよい。この場合には、返信部420は、使用者の属するグループの識別情報、および、要求される処理の識別情報の組に対応するレコードを記憶装置104から検索して、そのレコードに基づいて所要時間の見積もりを算出してよい。
【0037】
図4の説明に戻る。返信部420は、クライアント装置200−1〜Nから、処理の所要時間の見積もりを返信するリクエストを受け付ける。ここでは、クライアント装置200−1からそのリクエストを受け付けたものとして説明をすすめる。そのリクエストを受けたことに応じて、返信部420は、当該処理の識別情報に対応する所要時間を記憶装置104から読み出して、読み出した当該所要時間に基づく情報を、そのリクエストに対するレスポンスとしてクライアント装置200−1に返信する。当該所要時間に基づく情報とは、上述のように、例えば、所要時間の平均値などであってよい。
【0038】
なお、返信部420は、所要時間の見積もりを、ウェブページに含めて返信させるべく、サービス部410に対し通知してよい。これにより、サービス部410は、処理結果などを示すレスポンスに含めて、その処理時間の見積もりを返信できる。
【0039】
さらに、返信部420は、常にサーバ装置100の状態変化に敏感に追従させるため、記憶装置104に記憶された所要時間を定期的にクリアしてもよい。また、返信部420は、記憶装置104の各レコードに最終更新時刻を対応付けて記憶させておき、その最終更新時刻から現在時刻までが所定期間よりも長い場合には、そのレコードを記憶装置104から削除してよい。
【0040】
以上、図4および図5を参照して説明したように、ウェブサーバ106は、各処理の所要時間の情報をリアルタイムに順次更新しているので、所要時間の返信のリクエストを受けると最新の所要時間の情報を直ちに返信できる。これにより、クライアント装置200−1〜Nの使用者はサーバ装置100の状態を精度良く把握して、リクエスト送信の可否を適切に判断できる。
【0041】
図6は、本実施形態に係るサーバ装置100およびクライアント装置200の処理の流れの第1例を示す。この第1例においては、各表示オブジェクトについての処理の所要時間の見積もりは、サーバ装置100から定期的に取得される。そして、表示オブジェクトが選択操作を受けたことに応じて、その見積もりが出力される。
【0042】
具体的には、まず、返信部420は、既に受けていたリクエストに応じて、例えばウェブページなどのデータを含むファイルをクライアント装置200−1に対し送信する(S700)。このファイルには、各表示オブジェクトに対応して、処理の所要時間の見積もりが対応付けて記録されていてよい。
【0043】
受信部300は、ウェブページなどのデータを含むそのファイルをサーバ装置100から受信する(S710)。表示部310は、そのファイルに基づいて、そのウェブページを画面325に表示する(S720)。取得部330は、ページが表示されてから、または、前回に同様の判断をしてから、予め定められた期間が経過したかどうかを判断する(S730)。
【0044】
当該期間が経過したことを条件に(S730:YES)、取得部330は、表示している予め定められた表示オブジェクトについて、当該表示オブジェクトが入力操作を受けたことに応じて実行される処理の所要時間の見積もりを、サーバ装置100から取得する(S740)。具体的には、そのような見積もりを返信させる旨のリクエストを、取得部330がサーバ装置100に対し送信してよい。これを受けて、返信部420は、所要時間の見積もりを記憶装置104から読み出して返信する(S750)。
【0045】
次に、出力部350は、表示した何れかの表示オブジェクトが使用者の選択操作を受けたか否かを判断する(S760)。そのような選択操作を受けたことに応じて(S760:YES)、出力部350は、その表示オブジェクトに対応付けて、取得したその所要時間の見積もりを出力する(S770)。
【0046】
出力の頻度が高くなって使用者の操作の妨げになることを防ぐため、操作から出力までにはある程度の遅延時間を設けることが望ましい。例えば、出力部350は、表示した当該表示オブジェクトが使用者の選択操作を受け始めてから、選択操作を受け続けたまま予め定められた継続時間が経過したことを条件に、取得した当該所要時間の見積もりを出力してよい。
【0047】
次に、送信部370は、当該表示オブジェクトが使用者の入力操作を受けたかどうかを判断する(S780)。入力操作を受けていなければ(S780:NO)、クライアント装置200−1はS730に処理を戻して、所定時間が経過したかどうかを判断する。一方、入力操作を受けたことに応じて(S780)、サーバ装置100に処理のリクエストを送信する(S790)。
【0048】
これを受けて、サーバ装置100においてはウェブサーバ106の処理が開始される(S795)。また、クライアント装置200においては計測部400により処理の所要時間が計測される。この結果S700に処理が戻り、次のページがサーバ装置100からクライアント装置200−1に送信される。
【0049】
以上、この第1例によれば、所要時間の見積もりは選択操作の毎ではなく所定の時間間隔で取得されるので、選択操作を高頻度で受けたとしてもサーバ装置100およびクライアント装置200−1間の通信量を一定にすることができる。
【0050】
図7は、本実施形態に係るサーバ装置100およびクライアント装置200の処理の流れの第2例を示す。この第2例においては、一律に所定の表示オブジェクト全てについて所要時間が取得されるのではなく、選択操作を受けた表示オブジェクトについてのみ、その選択操作を受けることを条件として、所要時間の見積もりが取得される。
【0051】
具体的には、まず、返信部420は、既に受けていたリクエストに応じて、例えばウェブページなどのデータを含むファイルをクライアント装置200−1に対し送信する(S800)。受信部300は、ウェブページなどのデータを含むそのファイルをサーバ装置100から受信する(S810)。表示部310は、そのファイルに基づいて、そのウェブページを画面325に表示する(S820)。
【0052】
次に、取得部330は、表示した何れかの表示オブジェクトが使用者の選択操作を受けたか否かを判断する(S830)。選択操作を受けたことを条件に(S830:YES)、キュー332は、その選択操作を受けた表示オブジェクトについて、その表示オブジェクトに対応するリクエストを格納する(S840)。このリクエストは、その表示オブジェクトが入力操作を受けたことに応じて実行される処理の所要時間の見積もりを返信させるためのリクエストである。格納されたリクエストは、例えば後述のS875において、選択操作とは非同期的に処理される。
【0053】
次に、出力部350は、当該リクエストに応じて所要時間の見積もりが既に取得されたかどうかを判断する(S850)。既に取得されている場合には(S850:YES)、出力部350は、その所要時間の見積もりを出力する(S860)。但し、古すぎる情報の出力を防止するため、好ましくは、出力部350は、取得した当該所要時間の見積もりを、取得部330が取得してから予め定められた基準時間が経過していないことを条件に出力し、取得部330が取得してから基準時間が経過した場合には出力しない。
【0054】
一方、まだ取得されていない場合、即ち、取得部330が所要時間の見積もりをサーバ装置100から取得する処理を開始してから終了するまでの間は、出力部350は、取得部330が所要時間の見積もりを取得中である旨を出力する(S870)。
【0055】
次に、キュー管理部335は、選択操作を受けたタイミングに関わらず、例えば定期的に、キューから順次そのリクエストを取り出してサーバ装置100に送信する(S875)。リクエストを取り出す順序は、原則として、キュー332に格納された順序の逆順(LIFO:Last In First Out)であることが望ましい。但し、有用な情報を優先して取得するという観点から、順序を入れ替えてもよい。
【0056】
例えば、キュー管理部335は、ある表示オブジェクトについて既に取得した所要時間の見積もりが、より長い場合に、当該所要時間の見積もりがより短い場合と比較して、当該表示オブジェクトについての当該返信させるリクエストをより優先して、キュー332から取り出してよい。これを実現するためには、キュー332が、各リクエストに対応付けて、前回にそれと同一のリクエストに応じて返信された所要時間を格納しておけばよい。このように制御することで、所要時間の見積もりが長いために使用者がその見積もり時間が短くなるのを待っており、その見積もり時間が注目を集めている状況においては、その所要時間の見積もりをより頻繁に更新できる。
【0057】
次に、送信部370は、当該表示オブジェクトが使用者の入力操作を受けたかどうかを判断する(S885)。入力操作を受けていなければ(S885:NO)、クライアント装置200−1はS830に処理を戻して、選択操作を受けたか否かを判断する。入力操作を受けたことに応じて(S885:YES)、送信部370は、サーバ装置100に処理のリクエストを送信する(S890)。
【0058】
これを受けて、サーバ装置100においてはウェブサーバ106の処理が開始される(S895)。また、クライアント装置200においては計測部400により処理の所要時間が計測される。この結果S800に処理が戻り、次のページがサーバ装置100からクライアント装置200−1に送信される。
【0059】
以上、この第2例によれば、所要時間の見積もりは選択操作を受けた表示オブジェクトに限って取得されるので、サーバ装置100およびクライアント装置200−1間の通信量を低減できる。さらに、キュー332を用いることで、選択操作を頻繁に受けることによりリクエストが高頻度で送信されることを防ぐことができる。
【0060】
図8は、本実施形態に係るサーバ装置100またはクライアント装置200−1として機能するコンピュータのハードウェア構成の一例を示す。コンピュータは、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
【0061】
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示デバイス320上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【0062】
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、例えば通信インターフェイス102または通信インターフェイス202などの一例であり、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、例えば記憶装置104または記憶装置204などの一例であり、コンピュータが使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
【0063】
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、コンピュータの起動時にCPU1000が実行するブートプログラムや、コンピュータのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、例えば音声デバイス360に作用して音声を出力させる。また、入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入力デバイス340を接続する。
【0064】
コンピュータに提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出されコンピュータにインストールされて実行される。プログラムがコンピュータ等に働きかけて行わせる動作は、図1から図7において説明したサーバ装置100またはクライアント装置200−1における動作と同一であるから、説明を省略する。
【0065】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータに提供してもよい。
【0066】
以上、本実施形態に係る情報システム10によれば、クライアント装置200の使用者は処理の所要時間を予め把握できるので、重要度の低い不要なリクエストの送信を控え、また、サーバ装置100の処理負荷が高すぎる場合にはリクエストの送信を遅らせるなどの判断をすることができる。この結果、例えば反応が遅くて待ちきれずに、何度も同じリクエストを送信してしまうなど、負荷が増加した場合に生じる悪循環を未然に防止して、サーバ装置100を効率的に動作させることができる。更に、本実施形態に係る技術は、多数の処理をサーバ装置100により効率的に実行させるような既存技術の置き換えとしてのみではなく、そのような既存技術と組み合わせて使用することもできる。
【0067】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。例えば、所要時間の見積もりは、ウェブページとは別の画面に表示されてよい。一例として、例えばヒートマップなどのように、所要時間の見積もりを示す色パネルを、表示オブジェクトの配列順と同じ順序で配列した画面が表示されてもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【0068】
【図1】図1は、本実施形態に係る情報システム10の全体構成を示す。
【図2】図2は、本実施形態に係るユーザインターフェイス208により表示される画面の一例を示す。
【図3】図3は、本実施形態に係るウェブブラウザ206の機能構成をユーザインターフェイス208と併せて示す。
【図4】図4は、本実施形態に係るウェブサーバ106の機能構成を示す。
【図5】図5は、本実施形態に係る記憶装置104のデータ構造の具体例を示す。
【図6】図6は、本実施形態に係るサーバ装置100およびクライアント装置200の処理の流れの第1例を示す。
【図7】図7は、本実施形態に係るサーバ装置100およびクライアント装置200の処理の流れの第2例を示す。
【図8】図8は、本実施形態に係るサーバ装置100またはクライアント装置200として機能するコンピュータのハードウェア構成の一例を示す。
【符号の説明】
【0069】
10 情報システム
15 通信ネットワーク
30 制御システム
40 HTTPサーバ
45 アプリケーション・サーバ
100 サーバ装置
102 通信インターフェイス
104 記憶装置
106 ウェブサーバ
200 クライアント装置
202 通信インターフェイス
204 記憶装置
206 ウェブブラウザ
208 ユーザインターフェイス
300 受信部
310 表示部
320 表示デバイス
325 画面
330 取得部
332 キュー
335 キュー管理部
340 入力デバイス
350 出力部
360 音声デバイス
370 送信部
400 計測部
410 サービス部
420 返信部

【特許請求の範囲】
【請求項1】
サーバ装置と通信するクライアント装置であって、
少なくとも1つの表示オブジェクトを含むページを画面に表示する表示部と、
当該表示オブジェクトが使用者の操作を受けたことに応じて前記サーバ装置に処理のリクエストを送信する送信部と、
当該処理のリクエストに応じて前記サーバ装置によって実行される処理の所要時間の見積もりを、使用者の前記操作に先立って予め取得する取得部と、
取得した当該所要時間の見積もりを、当該表示オブジェクトに対応付けて出力する出力部と
を備えるクライアント装置。
【請求項2】
前記表示オブジェクトは、使用者の選択操作を受け付けると共に、当該選択操作を受けた状態において入力操作を更に受け付け、
前記取得部は、前記所要時間の見積もりを、使用者の前記入力操作に先立って予め取得し、
前記出力部は、表示した当該表示オブジェクトが使用者の前記選択操作を受けたことに応じて、取得した当該所要時間の見積もりを出力し、
前記送信部は、表示した当該表示オブジェクトが使用者の前記入力操作を受けたことに応じて、前記サーバ装置に対し前記処理のリクエストを送信する
請求項1に記載のクライアント装置。
【請求項3】
前記取得部は、既に前記サーバ装置により実行された処理について計測された所要時間の履歴に基づく情報を、新たに送信する前記処理のリクエストに応じて処理される処理の所要時間の見積もりとして、前記サーバ装置から取得する、請求項2に記載のクライアント装置。
【請求項4】
前記取得部は、前記所要時間の見積もりを、前記表示部に表示するべきページを示すファイルに含めて前記サーバ装置から取得する、請求項2に記載のクライアント装置。
【請求項5】
前記取得部は、前記所要時間の見積もりを定期的に前記サーバ装置から取得して、取得した当該所要時間の見積もりにより、既に取得していた所要時間の見積もりを更新する、請求項4に記載のクライアント装置。
【請求項6】
前記取得部は、前記所要時間の見積もりを、当該表示オブジェクトが使用者から前記選択操作を受けたことに応じて前記サーバ装置から取得する、請求項2に記載のクライアント装置。
【請求項7】
前記取得部は、前記所要時間の見積もりを前記サーバ装置により前記クライアント装置に返信させるリクエストを、前記サーバ装置に送信する、請求項6に記載のクライアント装置。
【請求項8】
前記取得部は、
何れかの表示オブジェクトが前記選択操作を受ける毎に、前記返信させるリクエストを順次格納する先入れ後出しキューと、
前記キューから順次前記返信させるリクエストを取り出して前記サーバ装置に送信するキュー管理部と
を有する、請求項7に記載のクライアント装置。
【請求項9】
前記キュー管理部は、ある表示オブジェクトについて既に取得した所要時間の見積もりが、より長い場合に、当該所要時間の見積もりがより短い場合と比較して、当該表示オブジェクトについての前記返信させるリクエストをより優先して、前記キューから取り出す、請求項8に記載のクライアント装置。
【請求項10】
前記出力部は、前記ページに含まれる表示オブジェクトに対応付けて、当該表示オブジェクトについて取得した前記所要時間の見積もりを示すシンボルを前記表示部に表示させる、請求項2に記載のクライアント装置。
【請求項11】
前記出力部は、前記ページに含まれる表示オブジェクトの色彩を、当該表示オブジェクトについて取得した前記所要時間の見積もりを識別可能に変更して前記画面に表示させることで、当該所要時間の見積もりを出力する、請求項2に記載のクライアント装置。
【請求項12】
前記出力部は、前記ページに含まれる表示オブジェクトの形状を、当該表示オブジェクトについて取得した前記所要時間の見積もりを識別可能に変更して前記画面に表示させることで、当該所要時間の見積もりを出力する、請求項2に記載のクライアント装置。
【請求項13】
前記出力部は、前記ページに含まれる表示オブジェクトが使用者の前記選択操作を受けたことに応じて、当該表示オブジェクトについて取得した前記所要時間の見積もりを示す音声を出力する、請求項2に記載のクライアント装置。
【請求項14】
前記出力部は、取得した前記所要時間の見積もりを、前記取得部が取得してから予め定められた基準時間が経過していないことを条件に出力し、前記取得部が取得してから前記基準時間が経過した場合には出力しない、請求項2に記載のクライアント装置。
【請求項15】
前記出力部は、前記取得部が前記所要時間の見積もりを前記サーバ装置から取得する処理を開始してから終了するまでの間は、前記取得部が前記所要時間の見積もりを取得中である旨を出力する、請求項2に記載のクライアント装置。
【請求項16】
前記出力部は、表示した当該表示オブジェクトが使用者の前記選択操作を受け始めてから、前記選択操作を受け続けたまま予め定められた継続時間が経過したことを条件に、取得した当該所要時間の見積もりを出力する、請求項2に記載のクライアント装置。
【請求項17】
クライアント装置と通信するサーバ装置であって、
記憶装置と、
前記クライアント装置からリクエストされた処理の所要時間を計測して、当該処理の所要時間を、当該処理の識別情報に対応付けて前記記憶装置に格納する計測部と、
前記クライアント装置から、処理の所要時間の見積もりを返信するリクエストを受けたことに応じて、当該処理の識別情報に対応する所要時間を前記記憶装置から読み出して、読み出した当該所要時間に基づく情報を前記クライアント装置に返信する返信部と
を備えるサーバ装置。
【請求項18】
前記計測部は、計測した当該処理の所要時間を、さらに、当該処理が属するグループの識別情報に対応付けて前記記憶装置に格納し、
前記返信部は、前記クライアント装置から、処理の所要時間の見積もりを返信するリクエストを受けたことに応じて、当該処理が属するグループの識別情報に対応する所要時間を前記記憶装置から読み出して、読み出した当該所要時間に基づく情報を前記クライアント装置に返信する
請求項17に記載のサーバ装置。
【請求項19】
クライアント装置をサーバ装置と通信させる方法であって、
前記クライアント装置に、少なくとも1つの表示オブジェクトを含むページを画面に表示させるステップと、
前記クライアント装置に、当該表示オブジェクトが使用者の操作を受けたことに応じて前記サーバ装置に処理のリクエストを送信させるステップと、
前記クライアント装置に、当該処理のリクエストに応じて前記サーバ装置によって実行される処理の所要時間の見積もりを、使用者の前記操作に先立って予め取得させるステップと、
前記クライアント装置に、取得した当該所要時間の見積もりを、当該表示オブジェクトに対応付けて出力させるステップと
を備える方法。
【請求項20】
コンピュータを、サーバ装置と通信するクライアント装置として機能させるプログラムであって、
前記コンピュータを、
少なくとも1つの表示オブジェクトを含むページを画面に表示する表示部と、
当該表示オブジェクトが使用者の操作を受けたことに応じて前記サーバ装置に処理のリクエストを送信する送信部と、
当該処理のリクエストに応じて前記サーバ装置によって実行される処理の所要時間の見積もりを、使用者の前記操作に先立って予め取得する取得部と、
取得した当該所要時間の見積もりを、当該表示オブジェクトに対応付けて出力する出力部として機能させるプログラム。
【請求項21】
サーバ装置を、クライアント装置と通信させる方法であって、
前記サーバ装置により、前記クライアント装置からリクエストされた処理の所要時間を計測させて、当該処理の所要時間を、当該処理の識別情報に対応付けて記憶装置に格納させるステップと、
前記サーバ装置が、前記クライアント装置から、処理の所要時間の見積もりを返信するリクエストを受けたことに応じて、前記サーバ装置に、当該処理の識別情報に対応する所要時間を前記記憶装置から読み出させて、読み出させた当該所要時間に基づく情報を前記クライアント装置に返信させるステップと
を備える方法。
【請求項22】
記憶装置を有するコンピュータを、サーバ装置として機能させるプログラムであって、
前記コンピュータを、
クライアント装置からリクエストされた処理の所要時間を計測して、当該処理の所要時間を、当該処理の識別情報に対応付けて前記記憶装置に格納する計測部と、
前記クライアント装置から、処理の所要時間の見積もりを返信するリクエストを受けたことに応じて、当該処理の識別情報に対応する所要時間を前記記憶装置から読み出して、読み出した当該所要時間に基づく情報を前記クライアント装置に返信する返信部として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−157625(P2009−157625A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−334693(P2007−334693)
【出願日】平成19年12月26日(2007.12.26)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100104156
【弁理士】
【氏名又は名称】龍華 明裕
【Fターム(参考)】