(57)【要約】【課題】  コンピュータ利用者の誤動作やネットワーク上の通信の負荷を減らすことができるようにする。【解決手段】  クライアントの画面のウィンドウに対して何らかの操作を行ない、サーバへの要求を行なった時に、操作を行われたウィンドウに対する操作を受け付けなくする。より、具体的には、このウィンドウを含む表示エリアに対して、ウィンドウ全体に透明のレイヤ（層）を皮膜し、レイヤの下にあるオブジェクト（ボタンやテキストボックスなど）に、マウスなどでの指定（クリック）の受付けを抑止する。【選択図】  図２
2007122306.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを利用してサーバと接続されるコンピュータ装置の表示画面に表示されるウィンドウに対する利用者からの入力を制御するウィンドウ入力制御方法において、前記コンピュータ装置は、
表示画面に、前記サーバ装置に対して情報を送信するための指示エリアを含むウィンドウを表示し、
入力手段を介して、前記指示エリアに対する利用者からの指示を受付け、
受付された指示に対応する情報を前記サーバに送信し、
前記サーバから前記指示に応じた応答に対する待機状態を検知し、
前記待機状態を検知している場合、前記ウィンドウに対する入力受付けを抑止することを特徴とするウィンドウ入力制御方法。
【請求項２】
請求項１に記載のウィンドウ入力制御方法において、
前記入力受付けの抑止は、前記ウィンドウを含む表示エリアに対して、透明なレイアを重畳することで実行することを特徴とするウィンドウ入力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの出力画面に対しマウス等の入力装置を利用して行われる操作に対する制御に関する。特に、当該コンピュータがサーバなど他のコンピュータとの通信中になされる、画面に対する操作の制御に関する。
【背景技術】
【０００２】
従来のクライアントサーバシステム、特にＷｅｂアプリケーションシステムは、クライアントからサーバに処理を要求してから、その回答が返るまでに、時間がかかることがある。その間に、クライアントから、同じ処理を要求したり、異なる処理を要求したりすることもできる。このような連続要求はサーバやネットワークに対する負荷となり、処理の回答にさらに時間がかかる原因ともなっている。システムによっては、誤動作の原因ともなる。
【０００３】
例えば、例えば特許文献１に記載されているように、サーバが処理を受け付けた際、フラグを登録することにより、フラグが登録されている時は、再度同じ処理を受け付けないという方法がある。
【０００４】
また、特許文献２に記載されているように、クライアント側の画面で操作できるウィンドウが複数ある場合、入力に応じて、ウィンドウの入力フォーカスを、マウスを使わずに自動的に切り替え、正しい処理をサーバに要求するように促すという方法がある。
【０００５】
【特許文献１】特開２００４−１７８４６１号公報
【特許文献２】特開平６−２８２４０３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来技術では、クライアントがサーバに処理を要求した後、再度サーバに処理を要求しなければ、同じ処理であるかどうかが分からない。このため、サーバやネットワークに対して負荷がかかってしまうという問題があった。また、操作できるウィンドウが複数ある場合に、フォーカスを自動的に制御しても、マウスで他のウィンドウをフォーカスし直すことによって、入力してほしくないウィンドウに対して入力処理ができてしまうという問題があった。
【０００７】
本発明の目的は、クライアントからサーバに対して不必要な処理の再要求を行なえなくすること、また、複数のウィンドウに対する誤操作を防ぎ、特定のウィンドウのみ操作を受け付けるようにすることにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明では、クライアントの画面のウィンドウに対して何らかの操作を行ない、サーバへの要求を行なった時に、操作を行われたウィンドウに対する操作を受け付けなくする（入力により要求される処理を抑止する）。
【０００９】
より、具体的には、このウィンドウを含む表示エリアに対して、ウィンドウ全体に透明のレイヤ（層）を皮膜し、レイヤの下にあるオブジェクト（ボタンやテキストボックスなど）に、マウスなどでの指定（クリック）の受付けを抑止する。本発明では、このように受付自体を抑止してもよいし、受付は行うがそれで要求される処理の開始を抑止することの少なくとも一方も含む。
【００１０】
透明である必要はないが、透明である方が、このような構成によると、操作直前の状態から変化がほとんど感じられず、操作した者にとっては違和感が少ない。
【００１１】
サーバに対して要求した処理が完了したことを検知すると、レイヤを消して、再度入力が可能な状態とすることができる。
【００１２】
また、レイヤに対してマウスでクリックすると、「ただいまサーバ処理中です」のようなメッセージを出すことも本発明に含まれる。
【発明の効果】
【００１３】
本発明によれば、コンピュータ利用者の誤動作やネットワーク上の通信の負荷を減らすことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面により詳細に説明する。
【００１５】
図１は、本発明を適用したＷｅｂアプリケーションシステムのブロック図を示したものである。１００〜１０３はクライアントＰＣ、２００はＷｅｂアプリケーションサーバ、３００はインターネットやイントラネットなどのネットワーク網を示す。本発明の実施の形態では、クライアントＰＣは３台しか示されていないが、実際にはこれ以上のクライアントＰＣが接続されている。
【００１６】
クライアントＰＣ１００は、画面１１０及び一時記憶領域１２０を持つ。画面１１０は、複数のウィンドウ１１１〜１１２を表示できる。サーバ２００は、コンテンツの内容を生成するプログラム２１０、スクリプトを生成するプログラム２２０、クライアントＰＣ１００からの要求を処理する業務処理プログラム２３０を実行することができる。クライアントからの要求によって、コンテンツの内容生成プログラム２１０で生成されたコンテンツは、クライアントＰＣ１００の画面１１０のウィンドウ１１１〜１１２を表示し、スクリプト生成プログラム２２０で生成されたスクリプト１２１を、クライアントＰＣ１００の一時記憶領域１２０に格納する。
【００１７】
次に、本Ｗｅｂアプリケーションシステムによる処理を図２のフローチャートに従って説明する。図２は、クライアントＰＣ１００がサーバ２００に対してコンテンツの表示要求を行ない、その表示したコンテンツからサーバに対して処理要求を行なう流れを示したものである。
【００１８】
クライアントＰＣ１００より、サーバ２００に対して、コンテンツの内容を表示するよう要求する（ステップ５０１）。クライアントＰＣ１００は、利用者からマウス等の入力デバイスの入力を受付け、これに基づいてサーバ２００に対して、コンテンツの要求情報を送信する。本実施の形態が対象としているシステムはＷｅｂアプリケーションであるため、要求方法は、ウィンドウ１１１からのＵＲＬ送信によるＨＴＴＰリクエストとなる。
【００１９】
サーバ２００は、クライアントＰＣ１００からの要求に対して、コンテンツ内容生成プログラム２１０とスクリプト生成プログラム２２０を実行し、コンテンツの表示内容とスクリプト１２１を生成する（ステップ５０２）。スクリプト１２１には、実行命令することにより透明のレイヤでウィンドウ内を皮膜する、という内容と、実行命令することにより皮膜を消す、という内容が記述されている。なお、ウィンドウ内を皮膜するとの記述は、ウィンドウ内全てであってもよい。また、所定の指示エリア（利用者が指示したものなど）を皮膜するとの記述でもよい。
【００２０】
生成したスクリプト１２１は、クライアントＰＣ１００の一時記憶領域１２０に配置する（ステップ５０３）。生成したコンテンツは、ウィンドウ１１１に表示する（ステップ５０４）。ウィンドウ１１１に表示したコンテンツより、サーバ２００に対して業務処理を要求する（ステップ５０５）。この要求は、主にコンテンツ内のボタンの押下等から起きる。サーバに業務処理を要求し、また、スクリプト１２１に対して、ウィンドウ１１１を透明のレイヤで皮膜するという実行命令を行なう。なお、ウィンドウ１１１に対するレイアの皮膜は、ウィンドウ１１１の全域でもよいし、ウィンドウ１１１の所定エリアとしてもよい。つまり、サーバ２００に対して、二重要求を抑止可能な形で皮膜すればよい。全域の皮膜であれば、ウィンドウの大きさを取得し、そのウィンドウの大きさに合わせてレイヤの座標を決定して皮膜する。所定エリアの皮膜であれば、実行命令をする際、座標を引数で与えて、レイヤの座標を決定して皮膜する。この場合、利用者の入力エリアを皮膜する方法でもよい。この手法の場合、ステップ５０１での要求相手であるサーバ２００に対する指示を行なうための入力エリアに対して皮膜をし、他のサーバに対する入力エリアは皮膜しなくともよい。これにより、スクリプト１２１は、ウィンドウ１１１を透明のレイヤで皮膜する（ステップ５０６）。
【００２１】
ウィンドウ１１１を皮膜している間に、サーバ２００は業務処理プログラム２３０を実行し、クライアントＰＣ１００からの業務処理に対する結果を出力する（ステップ５０７）。サーバ２００からの処理結果をウィンドウ１１１に表示する場合、ウィンドウ１１１に施した皮膜は、サーバ２００からの処理結果を上書きするため、消滅する。クライアントＰＣ１００は、サーバ２００からの通信内容が、ステップ５０１の要求に対する結果か否かを判断し、この結果である場合、上記の消滅処理を行ってもよい。また、サーバ２００からの処理結果が他のウィンドウ１１２に表示する場合（ステップ５０８）、今後、ウィンドウ１１１からの処理要求も受け付けるには、スクリプト１２１に対して、実行命令することにより、ウィンドウ１１１の透明のレイヤを消滅させることができる（ステップ５０９）。
【００２２】
今回の実施例では、図３に示すように、１つのウィンドウに対して操作を行なうパターンＡと、図４に示すように、複数のウィンドウに対して操作を行なうパターンＢの２つがある。パターンＡでは、ウィンドウ１１１のテキスト入力エリア７０１に文字を入力し、ボタン７０３を押下することにより、サーバに業務処理の要求をすることができる。その際、スクリプト１２１が実行され、網掛け７０３のように、ウィンドウ１１１を透明のレイヤで皮膜する。これにより、テキスト入力エリア７０１やボタン７０２に対しての操作を受け付けなくすることができる。
【００２３】
パターンＢでは、ウィンドウ１１１のボタン７０２を押下しても、ウィンドウ１１２のボタン７０５を押下しても、サーバに業務処理の要求をすることができる。ここで、ボタン７０２が押下された場合、ボタン７０５は押下されないようにしたいとする。この場合、ボタン７０２が押下されると、スクリプト１２１が実行され、網掛け７０６のように、ウィンドウ１１２を透明のレイヤで皮膜する。これにより、ウィンドウ１１２のテキスト入力エリア７０４やボタン７０５に対しての操作を受け付けなくすることができる。また、透明のレイヤ、すなわち網掛け７０３や網掛け７０５に対し、マウスのクリックがあった場合に、画面に「ただいまサーバ処理中です」のようなメッセージを出し、操作が受け付けられないことを利用者に伝えることができる。
【産業上の利用可能性】
【００２４】
本発明によれば、コンピュータとのハードウエア資源に対する入力制御を施すことが可能になる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態を示すシステム概要図
【図２】図1における業務処理の手順を示すフローチャート
【図３】レイヤを皮膜する具体例を示す図
【図４】複数のウィンドウを操作できる状態でレイヤを皮膜する具体例を示す図
【符号の説明】
【００２６】
１００〜１０２…クライアントＰＣ
１１０…画面
１１１〜１１２…ウィンドウ
１２０…一時記憶領域
１２１…透明レイヤ生成スクリプト
２００…Ｗｅｂアプリケーションサーバ
２１０…コンテンツ内容生成プログラム
２２０…スクリプト生成プログラム
２３０…業務処理プログラム
３００…ネットワーク
【図１】
2007122306.tif 000003
【図２】
2007122306.tif 000004
【図３】
2007122306.tif 000005
【図４】
2007122306.tif 000006