(57)【要約】【課題】従来、非同期通信を行った場合に、入力された情報と、サーバで行われている処理とに不整合が生じる可能性があるという問題があった。【解決手段】ユーザから入力を受け付ける入力受付部１０２と、入力に応じた処理を行う処理部１０３と、処理部１０３による処理に応じて、要求情報をサーバに送信する送信部１０４と、送信部１０４による要求情報の送信に応じて、要求情報に対する応答情報を、サーバから非同期通信によって受信する受信部１０５と、送信部１０４が要求情報を送信してから、受信部１０５が要求情報に対する応答情報を受信するまで、入力受付部１０２が受け付けた入力に応じた処理が行われないように制御する制御部１０６とを具備する制御装置１により、通信に関係する情報に対するユーザからの入力に応じた処理を行わないことで、ユーザに入力された情報と、サーバで行われている処理とに不整合を生じさせないようにできる。【選択図】図１
2015049746.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから入力を受け付ける入力受付部と、
前記入力受付部が受け付けた入力に応じた処理を行う処理部と、
前記処理部による入力に応じた処理に応じて、処理を要求する情報である要求情報をサーバに送信する送信部と、
前記送信部による要求情報の送信に応じて、当該要求情報に対する応答の情報である応答情報を、前記サーバから非同期通信によって受信する受信部と、
前記送信部が要求情報を送信してから、前記受信部が当該要求情報に対する応答情報を受信するまで、前記入力受付部が受け付けた入力に応じた前記処理部による処理が行われないように制御する制御部とを具備する制御装置。
【請求項２】
複数のウィンドウを表示する表示部をさらに具備し、
前記入力受付部は、
前記表示部が表示したウィンドウを介して入力を受け付け、
前記制御部は、
前記送信部が要求情報を送信してから、前記受信部が当該要求情報に対する応答情報を受信するまで、当該要求情報に応じた入力で用いられたウィンドウに関する入力に応じた処理が行われないように制御する、請求項１記載の制御装置。
【請求項３】
前記制御部は、
前記送信部が要求情報を送信してから、前記受信部が当該要求情報に対する応答情報を受信するまで、当該要求情報に応じた入力を受け付けた際に介されたウィンドウの前面に透明なダミーウィンドウを表示するように前記表示部を制御し、
前記処理部は、前記ダミーウィンドウを介して受け付けられた入力に応じた処理を行わない、請求項２記載の制御装置。
【請求項４】
入力受付部と、処理部と、送信部と、受信部と、制御部とを用いて処理される制御方法であって、
前記入力受付部が、ユーザから入力を受け付ける入力受付ステップと、
前記処理部が、前記入力受付ステップで受け付けた入力に応じた処理を行う処理ステップと、
前記送信部が、前記処理ステップによる入力に応じた処理に応じて、処理を要求する情報である要求情報をサーバに送信する送信ステップと、
前記受信部が、前記送信ステップによる要求情報の送信に応じて、当該要求情報に対する応答の情報である応答情報を、前記サーバから非同期通信によって受信する受信ステップと、
前記制御部が、前記送信ステップで要求情報を送信してから、前記受信ステップで当該要求情報に対する応答情報を受信するまで、前記入力受付ステップで受け付けた入力に応じた前記処理ステップによる処理が行われないように制御する制御ステップとを具備する制御方法。
【請求項５】
コンピュータを、
ユーザから入力を受け付ける入力受付部、
前記入力受付部が受け付けた入力に応じた処理を行う処理部、
前記処理部による入力に応じた処理に応じて、処理を要求する情報である要求情報をサーバに送信する送信部、
前記送信部による要求情報の送信に応じて、当該要求情報に対する応答の情報である応答情報を、前記サーバから非同期通信によって受信する受信部、
前記送信部が要求情報を送信してから、前記受信部が当該要求情報に対する応答情報を受信するまで、前記入力受付部が受け付けた入力に応じた前記処理部による処理が行われないように制御する制御部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期通信を行っている間に、ユーザの入力に対する処理を制御する制御装置等に関するものである。
【背景技術】
【０００２】
従来、操作性を向上させるために、同期通信を用いていた画面遷移を、非同期通信で行うための方法が開発されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−３９６６８号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非同期通信を行うと、通信を行っている間であっても、ユーザの入力が受け付けられるため、入力された情報と、サーバで行われている処理とに不整合が生じる可能性がある。
【０００５】
上記問題に対し、本発明の目的は、非同期通信を行っても、ユーザに入力された情報と、サーバで行われている処理とに不整合を生じさせないようにすることである。例えば、サーバで処理が行われている場合に、ユーザがその処理に関する設定情報を変更すると、サーバでの処理が終了した後に表示される処理結果と、表示されている設定情報とが異なってしまうことがある。そのような不整合が起こらないようにすることが目的である。
【課題を解決するための手段】
【０００６】
本第一の発明の制御装置等は、ユーザから入力を受け付ける入力受付部と、入力受付部が受け付けた入力に応じた処理を行う処理部と、処理部による入力に応じた処理に応じて、処理を要求する情報である要求情報をサーバに送信する送信部と、送信部による要求情報の送信に応じて、要求情報に対する応答の情報である応答情報を、サーバから非同期通信によって受信する受信部と、送信部が要求情報を送信してから、受信部が要求情報に対する応答情報を受信するまで、入力受付部が受け付けた入力に応じた処理部による処理が行われないように制御する制御部とを具備する制御装置である。
【０００７】
かかる構成により、非同期通信を行った場合であっても、その通信に関係する情報に対するユーザからの入力に応じた処理が行われないようにできる。これにより、ユーザに入力された情報と、サーバで行われている処理とに不整合を生じさせないようにできる。
【０００８】
また、本第二の発明の制御装置は、第一の発明に対して、複数のウィンドウを表示する表示部をさらに具備し、入力受付部は、表示部が表示したウィンドウを介して入力を受け付け、制御部は、送信部が要求情報を送信してから、受信部が要求情報に対する応答情報を受信するまで、要求情報に応じた入力で用いられたウィンドウに関する入力に応じた処理が行われないように制御する、制御装置である。
【０００９】
かかる構成により、ウィンドウ単位で、その通信に関係する情報に対するユーザからの入力に応じた処理が行われないようにできる。これにより、例えば、特定のウィンドウだけに対して、端末装置におけるユーザからの入力に応じた処理が行われないようにできる。
【００１０】
また、本第三の発明の制御装置は、第二の発明に対して、制御部は、送信部が要求情報を送信してから、受信部が要求情報に対する応答情報を受信するまで、要求情報に応じた入力を受け付けた際に介されたウィンドウの前面に透明なダミーウィンドウを表示するように表示部を制御し、処理部は、ダミーウィンドウを介して受け付けられた入力に応じた処理を行わない、制御装置である。
【００１１】
かかる構成により、例えば、その通信に関係する情報に対するユーザからの入力を、透明なモーダルウィンドウを用いて処理しないようにできる。
【発明の効果】
【００１２】
本発明による制御装置等によれば、非同期通信を行う場合に、その通信に関係する情報に対するユーザからの入力に応じた処理を行わないことで、ユーザに入力された情報と、サーバで行われている処理とに不整合を生じさせないようにできる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１における制御装置のブロック図
【図２】同実施の形態における制御装置の動作の一例を示すフローチャート
【図３】同実施の形態におけるディスプレイの表示の一例を示す図
【図４】同実施の形態におけるディスプレイの表示の一例を示す図
【図５】同実施の形態におけるディスプレイの表示の一例を示す図
【図６】同実施の形態におけるコンピュータシステムの外観の一例を示す図
【図７】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００１４】
以下、制御装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１５】
（実施の形態１）
本実施の形態において、クライアント側での動作に対して、非同期に発生するサーバからの応答について、サーバからの応答を受信するまで、クライアント端末に表示されているウィンドウ等を介して受け付けた入力に対する処理を行わない制御装置１について説明する。
【００１６】
図１は、本実施の形態における制御装置１のブロック図である。制御装置１は、表示部１０１、入力受付部１０２、処理部１０３、送信部１０４、受信部１０５、および制御部１０６を備える。制御装置１は、例えば、業務用途で利用されるソフトウェア（以下、ソフトと称す）である業務ソフトを実行する装置である。業務ソフトは、例えば、会計ソフトや、販売管理ソフト、給与管理ソフト、人事管理ソフト等である。また、複数の業務ソフトを統合しており、複数の業務ソフトの機能を切り替えて利用できる業務統合ソフトであっても良い。また、１または２以上の制御装置１は、ネットワーク１００を介してサーバ２と接続されている。ネットワーク１００は、有線、または無線の通信回線であり、例えば、インターネットやイントラネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、公衆電話回線等である。サーバ２は、制御装置１からの要求に応じて処理を行い、制御装置１に応答情報を送信する。サーバ２は、上記のように制御装置１と通信するサーバであれば、どのようなサーバであっても良い。例えば、サーバ２は、Ｗｅｂページを公開するサーバであっても良く、Ｗｅｂサービスを公開するサーバであっても良く、データベースを公開するサーバであっても良く、その他の情報または関数を公開するサーバであっても良い。
【００１７】
表示部１０１は、複数のウィンドウを表示する。そのウィンドウは、ＯＳが管理しているウィンドウであっても良く、アプリケーションが管理しているウィンドウであっても良い。ウィンドウは、例えば、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、および、ＣＵＩ（Ｃｈａｒａｃｔｅｒ  Ｕｓｅｒ  Ｉｓｎｔｅｒｆａｃｅ）やＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）における画面に表示される領域の単位である。ＧＵＩにおける画面の単位は、例えば、Ｗｉｎｄｏｗｓ（登録商標）等のいわゆるウィンドウのことであっても良い。また、ウィンドウは、ダイアログのことであっても良く、ダイアログのことでなくても良い。また、ウィンドウは、Ｗｉｎｄｏｗｓ（登録商標）等のいわゆるウィンドウおよびダイアログの内部に配置されている、オブジェクトであっても良く、オブジェクトでなくても良い。オブジェクトは、例えば、ＧＵＩにおけるテキストボックスや、ボタン、メニュー、リストボックス（コンボボックス、またはセレクトボックス）等のユーザが操作可能なコントロールであっても良く、画面領域のことであっても良い。画面領域は、領域を示すパネルであっても良く、タブ等のボタンで切り替えられる切り替え領域であっても良い。なお、表示部１０１は、同時に２以上のウィンドウを表示しても良く、別々のタイミングに２以上のウィンドウを表示しても良い。
【００１８】
表示部１０１は、ダミーウィンドウを表示しても良い。ダミーウィンドウは、非同期通信の際に、ユーザから受け付けた入力に応じた処理を行わないようにするために、ユーザが入力の対象と考えているウィンドウの前面に配置されるウィンドウである。ダミーウィンドウは、モーダルウィンドウであっても良く、他のオブジェクトであっても良い。モーダルダイアログとは、そのダイアログを閉じない限り、他のウィンドウに対する操作をできなくするダイアログである。ダミーウィンドウは、透明であることが好適であるが、不透明であっても良い。ダミーウィンドウが不透明である場合は、ユーザが操作しようとするオブジェクトが見える程度の透明度を持っていることが好適である。
【００１９】
入力受付部１０２は、ユーザから入力を受け付ける。入力とは、インタフェースを介して、ユーザから制御装置１に送られるあらゆる操作を示すものである。例えば、入力は、キーボードからの文字列入力、マウスによるリストボックスの設定、およびボタンのクリック等である。入力受付部１０２は、表示部１０１が表示した１，または２以上のウィンドウを介して入力を受け付けても良い。なお、受け付けとは、キーボードやマウス、タッチパネル等の入力デバイスから入力された情報の受け付けを示す概念である。
【００２０】
処理部１０３は、入力受付部１０２が受け付けた入力に応じた処理を行う。入力に応じた処理とは、例えば、キーボードからの文字列入力に応じた画面上に文字列を表示する処理、マウスのクリック入力に応じたリストボックスを変更する処理、およびマウスのクリック入力により押下されたボタンに応じた処理等、入力受付部１０２が受け付けた入力に応じて実行されるあらゆる処理である。また、処理部１０３は、表示部を制御して処理の結果を表示するようにしても良い。
【００２１】
また、処理部１０３は、入力受付部１０２が受け付けた入力に応じた処理の課程で、送信部１０４および受信部１０５を制御して、サーバ２と通信しても良く、通信しなくても良い。サーバ２と通信を行う場合の処理部１０３は、後述する要求情報を作成しても良い。また、サーバ２と通信を行う場合の処理部１０３は、後述する応答情報に応じた処理を行っても良く、処理を行わなくても良い。なお、処理部１０３が送信部１０４と受信部１０５とを制御して行うサーバ２との通信は、非同期通信である。また、処理部１０３は、入力を受け付けたウィンドウを識別するウィンドウ識別情報を取得しても良い。ウィンドウ識別情報は、制御部１０６が、ユーザの入力に対する処理を制御するために用いる情報である。
【００２２】
送信部１０４は、処理部１０３による入力に応じた処理に応じて、処理を要求する情報である要求情報をサーバ２に送信する。要求情報は、例えば、ＨＴＴＰサーバに対するリクエストであっても良く、ＦＴＰサーバに対するリクエストであっても良く、データベースサーバに対するリクエストであっても良い。データベースサーバに対するリクエストは、データベースへ接続するための情報であっても良く、接続が完了したデータベースに対して、データベースを操作するデータベース操作言語（ＭＤＬ）が含まれる情報であっても良い。各リクエストの仕様の詳細は、公知であるため説明を省略する。要求情報は、サーバ２で行われる処理を識別する情報が含まれていても良く、含まれていなくても良い。サーバ２で行われる処理を識別する情報が含まれていない場合は、サーバ２における処理が１種類しかない場合であっても良い。要求情報は、サーバ２で行われる処理に必要な情報が含まれていても良く、含まれていなくても良い。また、要求情報は、応答情報との対応をとるためのＩＤ等の識別情報が含まれていても良く、上記両方の情報が含まれていても良い。応答情報については、後述する。
【００２３】
送信部１０４は、入力受付部１０２が受け付けた１つの入力に応じて、１回のみ要求情報を送信しても良く、２回以上要求情報を送信しても良い。送信部１０４が、１つの入力に応じて、２回以上情報を送信する場合は、要求情報は、１回目に送信される情報のみのことであっても良い。この場合は、送信部１０４によって送信される２回目以降に送信される情報は、送信情報といっても良い。
【００２４】
受信部１０５は、送信部１０４による要求情報の送信に応じて、その要求情報に対する応答の情報である応答情報を、サーバ２から非同期通信によって受信する。応答情報は、例えば、サーバ２での処理が正常に終了したかどうかを示すフラグであっても良く、サーバ２での処理の結果であっても良い。また、応答情報との対応をとるための識別情報が要求情報に含まれている場合は、応答情報は、その識別情報を含んでいても良い。
【００２５】
送信部１０４が、１つの入力に応じて、２回以上情報を送信する場合は、応答情報は、１つの入力に応じて最後に送信される情報に対する応答の情報のみでも良い。この場合は、最後に送信される要求情報以前の情報に対応する応答の情報は、受信情報としても良い。例えば、データベースサーバであるサーバ２に対して、送信部１０４が「サーバ２が備える図示しないデータベースへ接続するための要求情報」、および「接続が完了したデータベースからデータを取得するための送信情報」を送信する場合に、受信部１０５は、「サーバ２が備える図示しないデータベースへ接続するための要求情報」に応じた「データベースとの接続が確立したことを示す受信情報」と、「接続が完了したデータベースからデータを取得するための送信情報」に応じた「データベースから取得したデータである応答情報」とを受信する。つまり、この場合の受信部１０５は、「データベースへ接続するための要求情報」に対する「データベースから取得したデータである応答情報」を受信したと考えることもできる。これにより、複数回の通信が行われる場合であっても、要求情報を送信してから応答情報を受信するまで、つまり、１つの入力に応じた処理に関する通信が完了するまでを、一つの処理の単位としてあつかうことができる。これにより、サーバ２との通信が複数回行われる場合であっても、制御部１０６は、１つの入力に応じた処理が行われている間は、ユーザの入力に応じた処理をさせないように制御できる。なお、複数回の通信が行われる場合は、制御部１０６は、要求情報を特定しても良い。制御部１０６は、入力の受け付けで用いられたウィンドウ識別するウィンドウ識別情報と、そのウィンドウ識別情報に対応するサーバ２との通信回数とを対応付けた情報を用いて最後に受信する応答情報を特定しても良く、処理部１０３から処理が終了したことを示す通知を受け取ることで、最後に受信した情報を応答情報と特定しても良く、所定の期間、新たに要求情報が送信されない場合に、最後に受信した情報を応答情報と特定しても良い。なお、ウィンドウ識別情報と、そのウィンドウ識別情報に対応するサーバ２との通信回数とを対応付けた情報は、図示しない格納部に格納されていても良い。
【００２６】
なお、処理部１０３は、入力受付部１０２が受け付けた入力を制御部１０６に出力しても良く、送信部１０４が要求情報を送信したことを制御部１０６に出力しても良く、受信部１０５が応答情報を受信したことを制御部１０６に出力しても良い。
【００２７】
制御部１０６は、送信部１０４が要求情報を送信してから、受信部１０５がその要求情報に対する応答情報を受信するまで、入力受付部１０２が受け付けた入力に応じた処理部１０３による処理が行われないように制御する。以下、送信部１０４が要求情報を送信してから、受信部１０５がその要求情報に対する応答情報を受信するまでの期間を要求期間ともいう。制御部１０６は、要求期間に、入力に用いられたアプリケーションに関する入力に応じた処理が行われないように制御しても良く、要求期間に要求情報に応じた入力で用いられたウィンドウに関する入力に応じた処理が行われないように制御しても良い。入力に応じた処理が行われないような制御とは、例えば、要求情報に応じた入力を受け付けた際に介されたウィンドウの前面にダミーウィンドウを表示するような制御であっても良い。制御部１０６は、要求期間に受け付けた入力に対して結果として処理が行われないようにすればどのように制御しても良い。例えば、制御部１０６は、入力を破棄することで、処理が行われないようにしても良く、入力を破棄するよう処理部１０３を制御して、処理が行われないようにしても良く、入力に対して何もしないよう処理部１０３を制御して、処理が行われないようにしても良い。なお、上記制御による処理は、入力受付部１０２が入力を受け付けない処理と考えても良い。
【００２８】
要求情報に応じた入力で用いられたウィンドウとは、例えば、処理部１０３が要求情報を作成するのに用いた情報を有するウィンドウであっても良く、その要求情報を作成するきっかけとなったクリック操作等の入力が行われたウィンドウであるカレントウィンドウであっても良い。要求情報を作成するのに用いた情報を有するウィンドウは、例えば、カレントウィンドウと同じであっても良く、異なるウィンドウであっても良い。カレントウィンドウと異なるウィンドウは、例えば、カレントウィンドウのオーナーウィンドウであっても良く、カレントウィンドウをオーナーに持つオーナー付きウィンドウであっても良く、その他のウィンドウであっても良い。なお、オーナー付きウィンドウは、カレントウィンドウの子ウィンドウであっても良い。
【００２９】
制御部１０６は、処理を行わないように制御するウィンドウに対して、操作ができないようにグレーアウトするように表示部１０１を制御しても良く、操作ができないようにダミーウィンドウを配置するように表示部１０１を制御しても良い。ダミーウィンドウは、表示されているウィンドウの一部の領域に対して操作ができないように配置するように表示部１０１を制御しても良く、表示されているウィンドウの全部の領域に対して操作ができないように配置するように表示部１０１を制御しても良い。ダミーウィンドウを表示する場合は、制御部１０６は、ダミーウィンドウを介して受け付けた入力に対する処理を行わないように制御しても良い。ダミーウィンドウを介して受け付けられた入力に対する処理を行わないということは、制御装置１は、最前面のウィンドウに対するイベントのみを認識するシステムであることが好適であるが、最前面のウィンドウ以外のウィンドウに対してもイベントを認識するシステムであっても良い。後者の場合は、制御部１０６は、入力の受け付けに用いられたウィンドウにダミーウィンドウ等が含まれていた場合に、処理部１０３による処理が行われないように制御しても良い。
【００３０】
制御部１０６は、要求期間に入力受付部１０２が上記ウィンドウを識別する識別情報を受け付けた場合に、処理部１０３がそのウィンドウに関する処理を行わないように制御しても良い。処理を行わないように制御するウィンドウが、カレントウィンドウではない場合、または、処理を行わないように制御するウィンドウが、カレントウィンドウ内のオブジェクトである場合は、制御部１０６は、処理を行わないように制御するウィンドウを、入力で用いられたウィンドウ識別情報と、処理が行われないように制御するウィンドウを識別するウィンドウ識別情報とを対応付けたウィンドウ制御情報を用いて特定しても良い。なお、ウィンドウ制御情報は、図示しない格納部に格納されていても良い。
【００３１】
表示部１０１は、制御部１０６の制御によって、入力に応じた処理が行われないウィンドウ、およびオブジェクトに対して、処理が行われない状態であることを明示するアイコン等の図形、またはテキストを表示しても良く、表示しなくても良い。また、制御部１０６は、操作できない項目をグレーにして入力を受け付けないことを示しても良い。
【００３２】
表示部１０１は、ディスプレイデバイスを含むと考えても良く、含まないと考えても良い。表示部１０１は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
【００３３】
処理部１０３、および制御部１０６は、通常、ＭＰＵやメモリ等から実現され得る。処理部１０３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３４】
送信部１０４、および受信部１０５は、通常、無線または有線の通信手段で実現される。
【００３５】
次に、制御装置１の動作について図２のフローチャートを用いて説明する。なお、本フローチャートでは、１つの入力に対して、１回のみサーバ２との通信を行う場合について説明している。
【００３６】
（ステップＳ２０１）入力受付部１０２は、ユーザの入力を受け付けたかどうかを判断する。入力を受け付けた場合は、ステップＳ２０２へ進み、受け付けなかった場合は、ステップＳ２０８へ進む。
【００３７】
（ステップＳ２０２）処理部１０３は、入力がダミーウィンドウに対する入力かどうかを判断する。ダミーウィンドウに対する入力の場合は、ステップＳ２０１へ戻り、ダミーウィンドウに対する入力ではない場合は、ステップＳ２０３へ進む。
【００３８】
（ステップＳ２０３）処理部１０３は、ステップＳ２０１で受け付けた入力に応じた処理を実行する。
【００３９】
（ステップＳ２０４）処理部１０３は、ステップＳ２０１で受け付けた入力に応じた処理において、サーバ２との通信が必要かどうかを判断する。サーバ２との通信が必要な場合は、ステップＳ２０５へ進み、サーバ２との通信が不要な場合は、ステップＳ２０１へ戻る。
【００４０】
（ステップＳ２０５）処理部１０３は、ステップＳ２０１で受け付けた入力に応じた要求情報を作成する。
【００４１】
（ステップＳ２０６）送信部１０４は、ステップＳ２０５で作成された要求情報を送信する。
【００４２】
（ステップＳ２０７）制御部１０６は、ステップＳ２０１で入力を受け付けたウィンドウの前面にダミーウィンドウを表示するよう表示部１０１を制御する。よって、表示部１０１は、ダミーウィンドウを表示する。そして、ステップＳ２０１へ戻る。
【００４３】
（ステップＳ２０８）受信部１０５は、応答情報を受信したかどうかを判断する。応答情報を受信した場合は、ステップＳ２０９へ進み、受信しなかった場合は、ステップＳ２０１へ戻る。
【００４４】
（ステップＳ２０９）制御部１０６は、ダミーウィンドウを削除するよう表示部１０１を制御する。よって、表示部１０１は、ダミーウィンドウを表示しないようにする。
【００４５】
（ステップＳ２１０）処理部１０３は、ステップＳ２０８で受信した応答情報に応じた処理を実行する。そして、ステップＳ２０１へ戻る。
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００４６】
以下、本実施の形態における制御装置１の具体的な動作について説明する。本具体例において、制御装置１は、決算報告に関する書類を作成する装置であるものとする。なお、本具体例では、損益計算書を作成する場合について説明する。また、本具体例において、サーバ２は、送信部１０４から送信される要求情報を受信し、要求情報に応じた決算報告に関する書類を作成し、作成した書類である応答情報を、受信部１０５に送信するサーバ装置である。また、本具体例において、"ｃＩＳ"は、"ｃｒｅａｔｅ  Ｉｎｃｏｍｅ  Ｓｔａｔｅｍｅｎｔ"の略であり、損益計算書の作成を要求するコマンドとして用いられる文字列であるとする。
【００４７】
ユーザは、制御装置１の電源を入れ、業務を開始したとする。そして、ユーザは、制御装置１に対して、決算報告に関する書類を作成するための「決算報告書作成」ウィンドウを表示するよう入力する。すると、入力受付部１０２は、その入力を受け付ける（ステップＳ２０１）。入力を受け付けると、処理部１０３が、入力受付部１０２が受け付けた入力に応じた決算報告書作成ウィンドウを表示するための処理を行う（ステップＳ２０２からステップＳ２０４）。これにより、表示部１０１によってディスプレイには、図３のように「決算報告書作成」ウィンドウがディスプレイに表示される。
【００４８】
ユーザは、「損益計算書作成」ボタンをクリックしたとする。入力受付部１０２は、その入力を受け付ける（ステップＳ２０１）。すると、処理部１０３が、入力受付部１０２が受け付けた入力に応じた損益計算書を作成する処理を行う（ステップＳ２０２からステップＳ２０３）。処理部１０３は、損益計算書を作成するために、２０１２年４月１日から２０１３年３月３１日までの決算報告書を作成するための要求情報「ｆｒｏｍ："２０１２．０４．０１"，ｔｏ："２０１３．０３．３１"，ｃｏｍｍａｎｄ："ｃＩＳ"」を作成する（ステップＳ２０５）。そして、送信部１０４は、要求情報「ｆｒｏｍ："２０１２．０４．０１"，ｔｏ："２０１３．０３．３１"，ｃｏｍｍａｎｄ："ｃＩＳ"」をサーバ２に対して送信する（ステップＳ２０６）。送信部１０４が要求情報をサーバ２に対して送信すると、制御部１０６は、「決算報告書作成」ウィンドウの前面にダミーウィンドウを表示するよう、表示部１０１を制御する（ステップＳ２０７）。するとディスプレイには、図４のようにディスプレイに表示される。なお、図４における点線部分は透明なダミーウィンドウの領域を示すものである。
【００４９】
ここで、ユーザは、損益精算書を作成するための通信を行っている最中に、誤って「貸借対照表作成」ボタンをクリックしたとする。すると、入力受付部１０２は、その入力を、ダミーウィンドウを介した入力として受け付ける（ステップＳ２０１）。処理部１０３は、この入力がダミーウィンドウに対する入力であるため、受け付けた入力を破棄する（ステップＳ２０２）。
【００５０】
ある程度の時間が経過すると、受信部１０５は、サーバ２で作成された応答情報「損益計算書」を受信する（ステップＳ２０８）。受信部１０５が応答情報を受信すると、制御部１０６は、ダミーウィンドウを削除する（ステップＳ２０９）。そして、処理部１０３は、応答情報「損益計算書」を表示するための処理を行う（ステップＳ２１０）。すると、表示部１０１によって、ディスプレイに表示されている「決算報告書作成」ウィンドウには、図５のように損益計算書がディスプレイに表示される。
【００５１】
以上、本実施の形態によれば、非同期通信を行っている期間に、その通信に関係する情報に対するユーザの入力に応じた処理を行わないようにできる。また、非同期通信を行っている期間に、特定のウィンドウのみに対する入力に応じた処理を行わないようにできる。また、非同期通信を行っている期間に、その通信に関係する情報に対するユーザからの入力を、透明なモーダルウィンドウを用いて処理しないようにできる。
【００５２】
また、本実施の形態では、制御装置１に表示部１０１を含む場合について説明したが、制御装置１には、表示部１０１が含まれていなくても良い。制御装置１に表示部１０１が含まれていない場合は、制御部１０６は、要求期間における、オブジェクトに対する入力が行われないように制御するようにしても良い。
【００５３】
また、本実施の形態における制御装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、プログラムは、コンピュータを、ユーザから入力を受け付ける入力受付部と、入力受付部が受け付けた入力に応じた処理を行う処理部、処理部による入力に応じた処理に応じて、処理を要求する情報である要求情報をサーバに送信する送信部、送信部による要求情報の送信に応じて、要求情報に対する応答の情報である応答情報を、サーバから非同期通信によって受信する受信部、送信部が要求情報を送信してから、受信部が要求情報に対する応答情報を受信するまで、入力受付部が受け付けた入力に応じた処理部による処理が行われないように制御する制御部として機能させるためのプログラムである。
【００５４】
なお、本実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されても良く、または、複数の装置によって分散処理されることによって実現されても良い。また、本実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の手段で実現されても良いことは言うまでもない。
【００５５】
また、本実施の形態において、各構成要素は、専用のハードウェアにより構成されても良く、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されても良い。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行手段が読み出して実行することによって、各構成要素が実現され得る。
【００５６】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得手段や、情報を出力する出力手段等におけるモデムやインターフェースカード等のハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【００５７】
図６は、上記プログラムを実行して、上記実施の形態による本発明を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。
【００５８】
図６において、コンピュータシステム１１００は、ＣＤ−ＲＯＭドライブ１１０５、ＦＤドライブ１１０６を含むコンピュータ１１０１と、キーボード１１０２と、マウス１１０３と、モニタ１１０４とを備える。
【００５９】
図７は、コンピュータシステム１１００の内部構成を示す図である。図７において、コンピュータ１１０１は、ＣＤ−ＲＯＭドライブ１１０５、ＦＤドライブ１１０６に加えて、ＭＰＵ１１１１と、ブートアッププログラム等のプログラムを蓄積するためのＲＯＭ１１１２と、ＭＰＵ１１１１に接続され、アプリケーションプログラムの命令を一時的に蓄積すると共に、一時記憶空間を提供するＲＡＭ１１１３と、アプリケーションプログラム、システムプログラム、およびデータを蓄積するハードディスク１１１４と、ＭＰＵ１１１１と、ＲＯＭ１１１２等を相互に接続するバス１１１５とを備える。なお、コンピュータ１１０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいても良い。
【００６０】
コンピュータシステム１１００に、上記実施の形態による本発明等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ１１２１、またはＦＤ１１２２に蓄積されて、ＣＤ−ＲＯＭドライブ１１０５、またはＦＤドライブ１１０６に挿入され、ハードディスク１１１４に転送されても良い。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ１１０１に送信され、ハードディスク１１１４に蓄積されても良い。プログラムは実行の際にＲＡＭ１１１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ１１２１やＦＤ１１２２、またはネットワークから直接、ロードされても良い。
【００６１】
プログラムは、コンピュータ１１０１に、上記実施の形態による本発明の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいても良い。コンピュータシステム１１００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【００６２】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。また、本発明における各手段の「部」は、「手段」や「回路」と読み替えても良い。
【産業上の利用可能性】
【００６３】
以上のように、本発明にかかる制御装置等は、非同期通信を行う場合に、その通信に関係する情報に対するユーザからの入力に応じた処理を行わないことで、ユーザに入力された情報と、サーバで行われている処理とに不整合を生じさせないようにできるという効果を有し、制御装置等として有用である。
【符号の説明】
【００６４】
１  制御装置
２  サーバ
１０１  表示部
１０２  入力受付部
１０３  処理部
１０４  送信部
１０５  受信部
１０６  制御部
【図１】
2015049746.tif 000003
【図２】
2015049746.tif 000004
【図３】
2015049746.tif 000005
【図４】
2015049746.tif 000006
【図５】
2015049746.tif 000007
【図６】
2015049746.tif 000008
【図７】
2015049746.tif 000009