(57)【要約】【課題】端末装置の操作性を向上させる。【解決手段】端末装置１２は、サーバ３０へ送信したコマンドに応じてサーバ３０から送信された画面データを受信し、画面を表示する。コマンド群特定部１６は、期間内に受け付けた操作に対応する１個以上のコマンドを含むコマンド群を期間毎に特定する。送信制御部１８は、コマンド群特定部１６が第１の期間に特定した第１のコマンド群をサーバ３０へ送信し、第１のコマンド群と、コマンド群特定部１６が第１の期間に後続する第２の期間に特定した第２のコマンド群と、が一致又は類似しているか判定する。そして送信制御部１８は、第１のコマンド群と第２のコマンド群とが一致又は類似と判定した場合、サーバ３０からの画面データの受信状況に応じて、第２のコマンド群をサーバ３０へ送信するか否かを制御する。【選択図】図１
2017161989.tif 000002
【特許請求の範囲】
【請求項１】
サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置に、
第１の期間内に受け付けた操作に対応する１個以上のコマンドを含む第１のコマンド群を特定し、特定した前記第１のコマンド群を前記サーバへ送信すると共に、
前記第１の期間に後続する第２の期間内に受け付けた操作に対応する１個以上のコマンドを含む第２のコマンド群を特定し、
前記第１のコマンド群と前記第２のコマンド群とが一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する処理を実行させるための送信制御プログラム。
【請求項２】
前記第２の期間内の最新の操作を受け付けたタイミングよりも前に、前記サーバから受信した前記画面データに基づく画面の更新が完了している場合は、前記第２のコマンド群を前記サーバへ送信させる請求項１記載の送信制御プログラム。
【請求項３】
前記サーバから前記画面データを受信中の場合は、前記第２のコマンド群を送信させずに破棄させる請求項１又は請求項２記載の送信制御プログラム。
【請求項４】
操作を受け付けてから、前記サーバから受信した前記画面データに基づく画面の更新が完了する迄の更新実績時間を計測しておき、
前記第２の期間内の最新の操作を受け付けたタイミングからの経過時間が前記更新実績時間以下の場合は前記第２のコマンド群を送信させずに破棄させ、前記経過時間が前記更新実績時間よりも長い場合は前記第２のコマンド群を前記サーバへ送信させる請求項１〜請求項３の何れか１項記載の送信制御プログラム。
【請求項５】
前記第１のコマンド群及び前記第２のコマンド群に含まれるコマンドの数が各々１個のときに、前記第１のコマンド群に含まれるコマンドに対応する操作の種別が前記第２のコマンド群に含まれるコマンドに対応する操作の種別と同一で、かつ、コマンドに座標情報が含まれ、前記第１のコマンド群に含まれるコマンドの座標情報が表す座標と前記第２のコマンド群に含まれるコマンドの座標情報が表す座標との差が所定範囲内の第１の場合、又は、コマンドに入力情報が含まれ、前記第１のコマンド群に含まれるコマンドの入力情報と前記第２のコマンド群に含まれるコマンドの入力情報が同一の第２の場合に、前記第１のコマンド群と前記第２のコマンド群とが類似していると判定する請求項１〜請求項４の何れか１項記載の送信制御プログラム。
【請求項６】
前記第１のコマンド群及び前記第２のコマンド群の少なくとも一方に含まれるコマンドの数が２個以上で、かつ、前記第１のコマンド群に含まれるコマンドの情報が前記第２のコマンド群に含まれるコマンドの情報と部分一致している場合に、前記第１のコマンド群と前記第２のコマンド群とが類似していると判定する請求項１〜請求項５の何れか１項記載の送信制御プログラム。
【請求項７】
サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置に、
第１の期間内に受け付けた操作に対応する１個以上のコマンドを含む第１のコマンド群を特定し、特定した前記第１のコマンド群を前記サーバへ送信すると共に、
前記第１の期間に後続する第２の期間内に受け付けた操作に対応する１個以上のコマンドを含む第２のコマンド群を特定し、
前記第１のコマンド群と前記第２のコマンド群とが一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する処理を実行させる送信制御方法。
【請求項８】
サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置であって、
期間内に受け付けた操作に対応する１個以上のコマンドを含むコマンド群を期間毎に特定する特定部と、
前記特定部が第１の期間に特定した第１のコマンド群を前記サーバへ送信すると共に、前記第１のコマンド群と、前記特定部が前記第１の期間に後続する第２の期間に特定した第２のコマンド群と、が一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する送信制御部と、
を含む端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は送信制御プログラム、送信制御方法及び端末装置に関する。
【背景技術】
【０００２】
操作ボタンの操作に応じた通信データの出力時間間隔を信号発生待機時間ｔwait以上に制御し、電源電圧Ｖが電圧Ｖref未満になると信号発生待機時間ｔwaitを通常時よりも長い値にする技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−３３６７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばシンクライアントシステムの端末装置のように、受け付けた操作に応じたコマンドをサーバへ送信し、サーバから画面データを受信して画面を表示する端末装置では、サーバと端末装置の間の通信遅延等に伴って以下のような問題が生ずる。
【０００５】
すなわち、上記の通信遅延等が発生すると、端末装置が操作を受け付けてから、受け付けた操作に応じた画面データをサーバから受信して画面の更新を完了する迄に、比較的長い時間が掛かることになる。この場合、ユーザは、画面が更新される前に、行った操作が受け付けられなかったと判断し、同様の操作を繰り返し行ってしまうことがあり、その後更新された画面がユーザの意図と相違する画面になることで、ユーザの利便性が損なわれることになる。
【０００６】
上記の問題に対し、前述の技術は、通信データの出力時間間隔を所定時間以上に制御する技術であり、繰り返し操作以外の操作であっても、所定時間未満で行われた操作が受け付けされないので、端末装置の操作性向上には寄与しない。
【０００７】
一つの側面では、本発明は、端末装置の操作性を向上させることが目的である。
【課題を解決するための手段】
【０００８】
一つの実施態様では、サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置において、以下の処理を行う。すなわち、第１の期間内に受け付けた操作に対応する１個以上のコマンドを含む第１のコマンド群を特定し、特定した前記第１のコマンド群を前記サーバへ送信する。また、前記第１の期間に後続する第２の期間内に受け付けた操作に対応する１個以上のコマンドを含む第２のコマンド群を特定する。そして、前記第１のコマンド群と前記第２のコマンド群とが一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する。
【発明の効果】
【０００９】
一つの側面として、端末装置の操作性を向上できる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るコンピュータ・システムの機能ブロック図である。
【図２】端末装置として機能するコンピュータの概略ブロック図である。
【図３】操作入力時処理を示すフローチャートである。
【図４】画面更新時処理を示すフローチャートである。
【図５】タイマタイムアウト時処理を示すフローチャートである。
【図６】類似操作判定処理を示すフローチャートである。
【図７】操作リストの一例を示す図表である。
【図８】複数の操作の時間間隔が所定時間以上の場合に、操作リストに登録される情報の一例を示す説明図である。
【図９】複数の操作の時間間隔が所定時間未満の場合に、操作リストに登録される情報の一例を示す説明図である。
【図１０】操作に伴って表示が切り替わる画面の一例を示すイメージ図である。
【図１１】実施形態における画面遷移の一例を示す概略図である。
【図１２】実施形態に係る処理を行わない場合の画面遷移の一例を示す概略図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。図１には本実施形態に係るコンピュータ・システム１０が示されている。コンピュータ・システム１０は端末装置１２及びサーバ３０を含み、端末装置１２とサーバ３０とはネットワーク３８を介して接続されている。
【００１２】
端末装置１２及びサーバ３０を含むコンピュータ・システム１０はシンクライアントシステムとして機能し、詳細は後述するが、サーバ３０は、端末装置１２に表示させる画面を表す画面データを生成して端末装置１２へ送信する。端末装置１２は、サーバ３０から受信した画面データが表す画面を表示すると共に、端末装置１２を使用しているユーザによる操作を受け付け、受け付けた操作に応じたコマンドをサーバ３０へ送信する。サーバ３０は、端末装置１２からコマンドを受信すると、受信したコマンドに応じて更新した画面の画面データを生成し、端末装置１２へ送信する。端末装置１２は、サーバ３０から受信した画面データが表す画面を表示し、これにより端末装置１２が表示する画面が更新される。
【００１３】
端末装置１２は入力部１４、コマンド群特定部１６、送信制御部１８、送受信部２０、画面制御部２２、出力部２４及び計測部２６を含んでいる。入力部１４は、端末装置１２を使用しているユーザが操作を入力するための機能部であり、例えば後述するキーボード４８及びポインティングデバイス５０を含んでいる。送受信部２０は、サーバ３０との間の情報の送受信を行う機能部であり、例えば後述する通信Ｉ／Ｆ(InterFace)部５８を含んでいる。出力部２４は、サーバ３０から受信した画面データが表す画面を出力する機能部であり、例えば後述する表示部を含んでいる。
【００１４】
コマンド群特定部１６は、ユーザが入力部１４を介して入力した操作を受け付けると共に、期間内に受け付けた操作に対応する１個以上のコマンドを含むコマンド群を期間毎に特定する。
【００１５】
送信制御部１８は、コマンド群特定部１６が第１の期間に特定した第１のコマンド群を送受信部２０によってサーバ３０へ送信させる。また送信制御部１８は、第１のコマンド群と、コマンド群特定部１６が第１の期間に後続する第２の期間に特定した第２のコマンド群と、が一致又は類似しているか否か判定する。そして送信制御部１８は、第１のコマンド群と第２のコマンド群とが一致又は類似していると判定した場合に、サーバ３０からの画面データの受信状況に応じて、第２のコマンド群を送受信部２０によってサーバ３０へ送信させるか否かを制御する。
【００１６】
画面制御部２２は、送受信部２０がサーバ３０から受信した画面データが表す画面を出力部２４に表示させる。計測部２６は、コマンド群特定部１６が操作を受け付けてから、サーバ３０から受信した画面データに基づく画面の更新が完了する迄の更新実績時間を計測する。
【００１７】
端末装置１２は、図２に示すコンピュータ４０で実現される。コンピュータ４０は、ＣＰＵ４２、メモリ４４、不揮発性の記憶部４６、キーボード４８、ポインティングデバイス５０、表示部５２、記録媒体５４に対するデータの読み出しおよび書き込みを行う読出書込装置(Ｒ／Ｗ)５６、及び、通信Ｉ／Ｆ部５８を含む。ＣＰＵ４２、メモリ４４、記憶部４６、キーボード４８、ポインティングデバイス５０、表示部５２、Ｒ／Ｗ５６及び通信Ｉ／Ｆ部５８は、バス６０を介して互いに接続されている。端末装置１２は、通信Ｉ／Ｆ部５８に接続されたネットワーク３８(図１参照)を経由してサーバ３０と通信可能とされている。なお、ポインティングデバイス５０はマウスであってもよいし、表示部５２の表示面に重畳配置されたタッチパネルであってもよい。
【００１８】
記憶部４６はＨＤＤ(Hard Disk Drive)、ＳＳＤ(Solid State Drive)、フラッシュメモリ等によって実現される。記憶部４６には、コンピュータ４０を端末装置１２として機能させるための端末制御プログラム６２が記憶されている。ＣＰＵ４２は、端末制御プログラム６２を記憶部４６から読み出してメモリ４４に展開し、端末制御プログラム６２に含まれる各プロセスを順次実行する。端末制御プログラム６２は、コマンド群特定プロセス６４、送信制御プロセス６６、画面制御プロセス６８及び計測プロセス７０を含む。
【００１９】
ＣＰＵ４２は、コマンド群特定プロセス６４を実行することで、図１に示すコマンド群特定部１６として動作する。また、ＣＰＵ４２は、送信制御プロセス６６を実行することで、図１に示す送信制御部１８として動作する。また、ＣＰＵ４２は、画面制御プロセス６８を実行することで、図１に示す画面制御部２２として動作する。また、ＣＰＵ４２は、計測プロセス７０を実行することで、図１に示す計測部２６として動作する。これにより、端末制御プログラム６２を実行したコンピュータ４０が端末装置１２として機能することになる。端末制御プログラム６２は開示の技術に係る送信制御プログラムの一例である。
【００２０】
また、記憶部４６には操作リスト記憶領域７２及び更新実績時間記憶領域７４が設けられている。操作リスト記憶領域７２には操作リスト(後述)が記憶され、更新実績時間記憶領域７４には計測部２６によって計測された更新実績時間が記憶される。
【００２１】
なお、端末装置１２は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００２２】
一方、図１に示すように、サーバ３０は、コマンド受信部３２、処理部３４及び画面生成部３６を含んでいる。コマンド受信部３２は端末装置１２から送信されたコマンドをネットワーク３８経由で受信する。処理部３４は、コマンド受信部３２が端末装置１２から受信したコマンドと、端末装置１２へ送信した最新の画面データと、に基づいて、端末装置１２を使用しているユーザが要求している処理を判定し、判定した処理を実行する。画面生成部３６は、処理部３４が実行した処理結果に基づき、端末装置１２に表示させる画面を表す画面データを生成し、生成した画面データを端末装置１２へ送信する。
【００２３】
次に本実施形態の作用を説明する。端末装置１２のコマンド群特定部１６は、ユーザにより入力部１４を介して操作が入力される度に、入力部１４から操作情報が入力されることで、図３に示す操作入力時処理を行う。
【００２４】
なお、ユーザにより入力部１４を介して入力される操作には、ポインティングデバイス５０を用いたクリック操作と、キーボード４８を用いたキー入力操作が含まれる。クリック操作が行われた場合、入力部１４からコマンド群特定部１６へは、操作情報として、入力された操作の種別がクリック操作であることを表す操作種別情報と、操作パラメータとして画面内のクリック位置を表す座標情報と、を含む情報が入力される。また、キー入力操作が行われた場合、入力部１４からコマンド群特定部１６へは、操作情報として、入力された操作の種別がキー入力操作であることを表す操作種別情報と、操作パラメータとしてキー入力されたキー入力情報と、を含む情報が入力される。
【００２５】
操作入力時処理のステップ１００において、コマンド群特定部１６は、計時中の操作時間タイマが有るか否か判定する。コマンド群特定部１６は、入力部１４から操作情報が入力される度に、入力された操作情報を図７に示す操作リスト８０に登録し、最新の操作情報の入力から所定時間ｔaが経過するとタイムアウトする操作時間タイマを操作リスト８０毎にスタートさせる。操作リスト８０は、ユーザによって入力された個々の操作毎に、操作種別、操作パラメータ及び操作時刻を登録したリストである。なお、所定時間ｔaの一例は100[m秒]であるが、これに限られるものではない。これにより、現時点より過去の所定時間ｔa以内の期間に操作情報が入力されていない場合はステップ１００の判定が否定され、現時点より過去の所定時間ｔa以内の期間に操作情報が入力されている場合はステップ１００の判定が肯定される。
【００２６】
ステップ１００の判定が否定された場合はステップ１０２へ移行する。ステップ１０２において、コマンド群特定部１６は、操作情報として入力された操作種別及びパラメータを登録すると共に、操作時刻として現時刻を登録した操作リスト８０を新規に作成し、作成した新規の操作リスト８０を操作リスト記憶領域７２に記憶させる。ステップ１０２の処理を行うとステップ１０８へ移行し、操作時間タイマをスタートさせ、操作時入力処理を終了する。
【００２７】
上記処理により、複数の操作の入力時間間隔が所定時間ｔa以上の場合、例として図８に操作リスト８０Ａ,８０Ｂとして示すように、入力された個々の操作毎に操作リスト８０が各々作成され、個々の操作リスト８０毎に操作時間タイマがスタートされる。なお、図８において、操作リスト８０Ａに情報を登録した操作は、第１の期間内に受け付けた操作の一例であり、操作リスト８０Ｂに情報を登録した操作は、第２の期間内に受け付けた操作の一例である。
【００２８】
また、ステップ１００の判定が肯定された場合はステップ１０４へ移行し、ステップ１０４において、コマンド群特定部１６は、計時中の操作時間タイマを停止させる。次のステップ１０６において、コマンド群特定部１６は、作成済みの最新の操作リスト８０に、操作情報として入力された操作種別及びパラメータを追加登録すると共に、操作時刻として現時刻を追加登録する。ステップ１０６の処理を行うとステップ１０８へ移行し、操作時間タイマをスタートさせ、操作時入力処理を終了する。
【００２９】
上記処理により、複数の操作の入力時間間隔が所定時間ｔa未満の場合には、例として図９に操作リスト８０Ｃとして示すように、所定時間ｔa未満の期間内に入力された複数の操作が一纏めの操作として同一の操作リスト８０に登録される。また、スタートされた操作時間タイマにより、同一の操作リスト８０に登録された複数の操作のうち最新の操作の操作時刻からの経過時間が計時される。なお、一纏めの操作として同一の操作リスト８０に登録される操作としては、例えば、ダブルクリック操作や、一纏めの文字列を連続入力する操作などが挙げられる。図９において、操作リスト８０Ｃに情報を登録した操作は、第１の期間内(又は第２の期間内)に受け付けた操作の一例である。
【００３０】
次に図４を参照し、計測部２６が行う画面更新時処理を説明する。画面制御部２２は、出力部２４に表示させる画面を更新すると、画面を更新したことを送信制御部１８及び計測部２６へ通知し、計測部２６は、画面制御部２２から画面の更新が通知されると、図４に示す画面更新時処理を行う。
【００３１】
画面更新時処理のステップ１２０において、計測部２６は、現在時刻を取得する。次のステップ１２２において、計測部２６は、操作リスト記憶領域７２に記憶された操作リスト８０を参照し、送受信部２０によって対応するコマンドがサーバ３０へ送信された操作のうちの最新の操作の操作時刻を取得する。
【００３２】
ステップ１２４において、計測部２６は、現在時刻とステップ１２２で取得した操作時刻との差分に相当する時間を演算し、演算した時間を更新実績時間として更新実績時間記憶領域７４に登録する。なお、計測部２６は、更新実績時間記憶領域７４に更新実績時間が既に登録されている場合には、既に登録されている更新実績時間を演算した時間で上書きして登録する。これにより、更新実績時間記憶領域７４には、端末装置１２とサーバ３０との間の最新の通信状態を反映した更新実績時間が記憶される。
【００３３】
次に図５を参照し、操作時間タイマがタイムアウトする度に、タイムアウトが通知されることで送信制御部１８が行うタイマタイムアウト時処理を説明する。タイマタイムアウト時処理のステップ１３０において、送信制御部１８は、タイムアウトした操作時間タイマに対応する処理対象の操作リスト８０を操作リスト記憶領域７２から取得する。なお、処理対象の操作リスト８０は、当該操作リスト８０に登録された操作のうちの最新の操作の操作時刻からの経過時間が所定時間ｔaに達した操作リスト８０である。
【００３４】
ステップ１３２において、送信制御部１８は、取得した処理対象の操作リスト８０に登録された操作の直前に行われた操作が登録された操作リスト８０(以下、前回の操作リスト８０という)が操作リスト記憶領域７２に記憶されているか否か判定する。
【００３５】
処理対象の操作リスト８０が、ユーザが端末装置１２を使用し始めて最初の操作を登録したリストであれば、操作リスト記憶領域７２には処理対象の操作リスト８０以外は記憶されていないので、ステップ１３２の判定は否定される。また、タイマタイムアウト時処理は、所定時間ｔa以上でかつ比較的短い時間間隔で入力された操作(処理対象及び前回の操作リスト８０に登録された操作)を対象として、同一又は類似の操作か否かを判定する(詳細は後述)。このため、処理対象の操作リスト８０より操作時刻が前の操作が登録された操作リスト８０が存在していたとしても、当該操作リスト８０に登録された操作の操作時刻からの経過時間が所定時間ｔb(＞ｔa)以上の場合はステップ１３２の判定は否定される。
【００３６】
ステップ１３２の判定が否定された場合はステップ１５０へ移行し、ステップ１５０において、送信制御部１８は、処理対象の操作リストに登録された１個以上の操作を各々コマンドに変換し、送受信部２０からサーバ３０へ送信させる。そして、タイマタイムアウト時処理を終了する。この場合、サーバ３０では、コマンド受信部３２がコマンドを受信し、処理部３４が、ユーザが要求している処理を判定して実行し、画面生成部３６が画面データを生成して端末装置１２へ送信する処理が行われる。
【００３７】
一方、操作リスト記憶領域７２に前回の操作リスト８０が記憶されていた場合には、ステップ１３２の判定が肯定されてステップ１３４へ移行し、ステップ１３４において、送信制御部１８は、操作リスト記憶領域７２から前回の操作リスト８０を取得する。ステップ１３６において、送信制御部１８は、処理対象の操作リスト８０を前回の操作リスト８０と比較し、操作時刻以外の情報(操作の数、操作の種別及び操作パラメータ)が全て一致しているか否かに基づいて、今回の操作が前回の操作と同一か否か判定する。ステップ１３６の判定が肯定された場合はステップ１４２へ移行する。
【００３８】
また、今回の操作が前回の操作と同一でないと判定した場合は、ステップ１３６の判定が否定されてステップ１３８へ移行する。ステップ１３８において、送信制御部１８は、処理対象の操作リスト８０に情報が登録された操作が前回の操作リスト８０に情報が登録された操作と類似か否かを判定する類似操作判定処理を行う。以下、図６を参照して類似操作判定処理を説明する。
【００３９】
類似操作判定処理のステップ１６０において、送信制御部１８は、処理対象及び前回の操作リスト８０に情報が登録された操作の数が各々１個か否か判定する。ステップ１６０の判定が肯定された場合はステップ１６２へ移行し、ステップ１６２において、送信制御部１８は、処理対象及び前回の操作リスト８０に情報が登録されている各々１個の操作の種別が同一か否か判定する。ステップ１６２の判定が否定された場合はステップ１７４へ移行する。ステップ１７４において、送信制御部１８は、今回の操作が前回の操作と非類似と判定し、類似操作判定処理を終了する。
【００４０】
また、ステップ１６２の判定が肯定された場合はステップ１６４へ移行し、ステップ１６４において、送信制御部１８は、処理対象及び前回の操作リスト８０に情報が登録されている各々１個の操作の種別がクリック操作か否か判定する。ステップ１６４の判定が肯定された場合はステップ１６６へ移行する。
【００４１】
ステップ１６６において、送信制御部１８は、処理対象及び前回の操作リスト８０に操作パラメータとして各々登録された座標値の差を演算し、演算した座標値の差が所定範囲内か否か判定する。ここで、座標値の判定に幅を持たせている(座標値の差が所定範囲内か否か判定している)のは、画面内の同一位置をクリックする意図でクリック操作が繰り返された場合でも、各回のクリック操作でクリック位置が完全に一致することは稀なためである。
【００４２】
なお、クリック操作におけるクリック位置のばらつきの大きさは、マウス等のポインティングデバイス５０を用いたクリック操作か、タッチパネルを用いたタップ操作か、等の操作に用いたデバイスの種類によっても相違する。このため、端末装置１２にポインティングデバイス５０とタッチパネルの何れを用いて操作が行われたかに応じて、上記の所定範囲の大きさを切り替えてもよい。
【００４３】
ステップ１６６の判定が肯定された場合、画面内の同一位置をクリックする意図でクリック操作が繰り返されたと判断できる。このため、ステップ１６６の判定が肯定された場合はステップ１７６へ移行する。ステップ１７６において、送信制御部１８は、今回の操作が前回の操作と類似と判定し、類似操作判定処理を終了する。また、ステップ１６６の判定が否定された場合は、画面内の同一位置をクリックする意図でクリック操作が繰り返されたとは判断できないので、ステップ１７４へ移行する。そして、ステップ１７４において、送信制御部１８は、今回の操作が前回の操作と非類似と判定し、類似操作判定処理を終了する。
【００４４】
また、処理対象及び前回の操作リスト８０に情報が登録されている各々１個の操作の種別がキー入力操作の場合には、ステップ１６４の判定が否定されてステップ１６８へ移行する。ステップ１６８において、送信制御部１８は、処理対象及び前回の操作リスト８０に各々登録された操作パラメータ(キー入力情報)を比較し、操作パラメータ(キー入力情報)が同一か否か判定する。
【００４５】
そして、ステップ１６８の判定が肯定された場合はステップ１７６へ移行し、ステップ１７６において、送信制御部１８は、今回の操作が前回の操作と類似と判定する。これにより、ユーザによってキーボード４８の同一のキーが繰り返し操作された場合に、類似操作と判定される。また、ステップ１６８の判定が否定された場合はステップ１７４へ移行し、ステップ１７４において、送信制御部１８は、今回の操作が前回の操作と非類似と判定する。
【００４６】
一方、処理対象の操作リスト８０及び前回の操作リスト８０の少なくとも一方に登録された操作の数が２個以上の場合には、ステップ１６０の判定が否定されてステップ１７０へ移行する。ステップ１７０において、送信制御部１８は、処理対象の操作リスト８０に登録されている操作の情報(操作種別及び操作パラメータ)を前回の操作リスト８０に登録されている操作の情報と先頭から順に比較する。そして、次のステップ１７２において、送信制御部１８は、処理対象の操作リスト８０に登録されている操作の情報が前回の操作リスト８０に登録されている操作の情報と部分一致しているか否か判定する。
【００４７】
なお、ステップ１７２の判定は、具体的には、例えば、処理対象の操作リスト８０及び前回の操作リスト８０に操作種別が同一の操作の情報が各々登録されていた場合に、操作の情報が部分一致していると判定することができる。また、これに代えて、処理対象の操作リスト８０及び前回の操作リスト８０に、先に説明したステップ１６６又はステップ１６８の判定が肯定される操作の情報が登録されていた場合に、操作の情報が部分一致していると判定してもよい。
【００４８】
これにより、ユーザによって同じような操作が繰り返し入力された場合に、ステップ１７２の判定が肯定される。一例として、前回の操作リスト８０に３回のスクロール操作が情報として登録され、処理対象の操作リスト８０に４回のスクロール操作が情報として登録されていた場合に、ステップ１７２の判定が肯定されることになる。
【００４９】
ステップ１７２の判定が肯定された場合はステップ１７６へ移行し、ステップ１７６において、送信制御部１８は、今回の操作が前回の操作と類似と判定する。また、ステップ１７２の判定が否定された場合はステップ１７４へ移行し、ステップ１７４において、送信制御部１８は、今回の操作が前回の操作と非類似と判定する。
【００５０】
上記のようにして類似操作判定処理を終了すると、タイマタイムアウト時処理(図５)のステップ１４０へ移行する。ステップ１４０において、送信制御部１８は、類似操作判定処理の結果に基づき、今回の操作が前回の操作と類似しているか否か判定する。ステップ１４０の判定が否定された場合はステップ１５０へ移行し、ステップ１５０において、送信制御部１８は、処理対象の操作リストに登録された１個以上の操作を各々コマンドに変換し、送受信部２０からサーバ３０へ送信させる。そして、タイマタイムアウト時処理を終了する。
【００５１】
一方、ステップ１４０の判定が肯定された場合はステップ１４２へ移行する。このように、今回の操作が前回の操作と同一又は類似と判定した場合にはステップ１４２へ移行する。ステップ１４２において、送信制御部１８は、処理対象の操作リスト８０に情報が登録された操作のうちの最新の操作の操作時刻よりも前に、画面を更新したことが画面制御部２２から通知されていたか(画面の更新が完了していたか)否か判定する。
【００５２】
ステップ１４２の判定が肯定された場合、処理対象の操作リスト８０に登録された最新の操作は更新後の画面に基づく操作である可能性がある。このため、ステップ１４２の判定が肯定された場合はステップ１５０へ移行し、ステップ１５０において、送信制御部１８は、処理対象の操作リストに登録された１個以上の操作を各々コマンドに変換し、送受信部２０からサーバ３０へ送信させる。
【００５３】
また、ステップ１４２の判定が否定された場合はステップ１４４へ移行し、ステップ１４４において、送信制御部１８は、端末装置１２の現在の状況がサーバ３０から画面データを受信中で、画面の更新は開始されていないか否か判定する。ステップ１４４の判定が肯定された場合、今回の操作が前回の操作と同一又は類似と判定しており、かつ画面の更新は開始されていない。このため、ステップ１４８へ移行し、ステップ１４８において、送信制御部１８は、処理対象の操作リスト８０をサーバ３０への送信対象から除外する処理を行い、タイマタイムアウト時処理を終了する。
【００５４】
この処理は、操作リスト記憶領域７２から処理対象の操作リスト８０を消去(破棄)することでも実現可能である。但し、本実施形態では処理対象の操作リスト８０を後で前回の操作リスト８０として参照するので、操作リスト記憶領域７２から前回の操作リスト８０を消去し、処理対象の操作リスト８０には送信するか否かを判定済みであることを表すフラグを付加する。
【００５５】
また、端末装置１２がサーバ３０から画面データを未受信等の場合には、ステップ１４４の判定が否定されてステップ１４６へ移行する。ステップ１４６において、送信制御部１８は、処理対象の操作リスト８０に情報が登録された操作のうちの最新の操作の操作時刻からの経過時間が、更新実績時間記憶領域７４に記憶された最新の更新実績時間よりも長いか否か判定する。ステップ１４６の判定が否定された場合は前述のステップ１４８へ移行し、ステップ１４８において、送信制御部１８は、処理対象の操作リスト８０をサーバ３０への送信対象から除外する処理を行い、タイマタイムアウト時処理を終了する。
【００５６】
一方、最新の操作の操作時刻からの経過時間が更新実績時間よりも長い場合、最新の操作に対応するコマンドは送信したものの、最新の操作が誤操作であったため、サーバ３０から新たな画面データが送信されない状況である可能性がある。例えば、ユーザが画面内の特定のボタンをクリックする意図でクリック操作を行ったものの、クリック位置が特定のボタンの表示範囲から外れていた場合には、サーバ３０で特定のボタンに対応する処理が行われず、サーバ３０からは画面データは送信されない。
【００５７】
上記の状況に陥ることを防止するため、ステップ１４６の判定が肯定された場合はステップ１５０へ移行し、ステップ１５０において、送信制御部１８は、処理対象の操作リスト８０に登録された操作をコマンドに変換してサーバ３０へ送信する。そしてタイマタイムアウト時処理を終了する。
【００５８】
端末装置１２が上述した処理(図３〜図６)を実行することによる作用について、図１０〜図１２を参照して更に説明する。以下の説明では、端末装置１２に図１０に示す画面Ａが当初表示され、ユーザによって画面Ａ内のボタン８２をクリックする操作が行われると画面Ａから画面Ｂへ遷移するものとする。また、ユーザによって画面Ｂ内のボタン８４をクリックする操作が行われると画面Ｂから画面Ｃへ遷移し、ユーザによって画面Ｃ内のボタン８６をクリックする操作が行われると画面Ｃから別の画面へ遷移するものとする。
【００５９】
端末装置１２が上述した処理(図３〜図６)を実行しない場合の処理シーケンスの一例を図１２に示す。図１２の左上に示すように、端末装置１２に画面Ａが表示されている状態で、ユーザによって画面Ａ内のボタン８２をクリックする操作が行われると、このクリック操作に対応するコマンドが端末装置１２からサーバ３０へ送信される。サーバ３０は、端末装置１２から受信したコマンドにより画面Ａ内のボタン８２をクリックする操作が行われたことを認識し、画面Ｂの画面データを生成して端末装置１２へ送信する(図１２の上側に示す「画面転送」も参照)。
【００６０】
図１２に示す処理シーケンスは、このときにサーバ３０から端末装置１２への通信の一時的な遅延により、ユーザによるボタン８２のクリック操作から、端末装置１２がサーバ３０から画面Ｂの画面データを受信する迄に時間が掛かった例を示している。端末装置１２がサーバ３０から画面Ｂの画面データを未受信の間、端末装置１２には画面Ａが表示され続けるので、ユーザによる画面Ａ内のボタン８２を再度クリックする繰り返し操作を誘発し易い。
【００６１】
この繰り返し操作が行われると、繰り返し操作に対応するコマンドが端末装置１２からサーバ３０へ送信される。ユーザによる操作は画面Ａ内のボタン８２を再度クリックする操作であるが、サーバ３０は、画面Ｂの画面データを端末装置１２へ既に送信しているので、端末装置１２から受信したコマンドにより画面Ｂ内のボタン８４をクリックする操作が行われたと誤認識する。そして、サーバ３０は、画面Ｃの画面データを生成して端末装置１２へ送信する(図１２の下側に示す「画面転送」も参照)。
【００６２】
その後、サーバ３０から端末装置１２への通信の一時的な遅延が回復すると、端末装置１２は、画面Ｂの画面データと画面Ｃの画面データをサーバ３０から連続して受信することになり、端末装置１２に表示されている画面は画面Ｃへ遷移する。ユーザによるボタン８２のクリック操作で意図した画面は画面Ｂであり、意図と相違する画面が表示されることでユーザの利便性が損なわれる。また、ユーザの繰り返し操作に対応するコマンドが端末装置１２からサーバ３０へ送信されることで、端末装置１２とサーバ３０との間の通信環境が更に悪化するという問題もある。
【００６３】
なお、サーバ３０による誤認識は、画面Ａ〜Ｃにおけるボタン８２〜８６の位置が同じであることも一因であるが、各画面におけるボタン等の配置はユーザの操作のし易さ等を考慮して設計されるので、画面自体を変更すると別の問題が生ずる。
【００６４】
一方、端末装置１２が前述した処理(図３〜図６)を実行した場合の処理シーケンスの一例を図１１に示す。端末装置１２が前述した処理(図３〜図６)を実行した場合、ユーザによって画面Ａ内のボタン８２を再度クリックする繰り返し操作が行われても、行われた繰り返し操作が前回の操作と同一又は類似の操作と判定される。このため、図１１に「コマンド破棄」と表記して示すように、端末装置１２からサーバ３０へは繰り返し操作に対応するコマンドは送信されず、サーバ３０で画面Ｃの画面データを生成する処理が行われることはない。
【００６５】
これにより、サーバ３０から端末装置１２への通信の一時的な遅延が回復すると、端末装置１２は、画面Ｂの画面データのみをサーバ３０から連続して受信するので、端末装置１２に表示されている画面はユーザの意図通りの画面Ｂへ遷移する。従って、端末装置１２の操作性が向上する。また、ユーザの繰り返し操作に対応するコマンドが端末装置１２からサーバ３０へ送信されないことで、端末装置１２とサーバ３０との間の通信環境が更に悪化することも回避される。
【００６６】
このように、本実施形態では、サーバ３０へ送信したコマンドに応じてサーバ３０から送信された画面データを受信する端末装置１２が、以下の処理を行う。すなわち、第１の期間内に受け付けた操作に対応する１個以上のコマンドを含む第１のコマンド群を特定し、特定した第１のコマンド群をサーバ３０へ送信する。また、第１の期間に後続する第２の期間内に受け付けた操作に対応する１個以上のコマンドを含む第２のコマンド群を特定する。そして、第１のコマンド群と第２のコマンド群とが一致又は類似していると判定した場合には、サーバ３０からの画面データの受信状況に応じて、第２のコマンド群をサーバ３０へ送信するか否かを制御する。これにより、ユーザの意図と相違する画面が表示されることが防止され、端末装置１２の操作性を向上させることができる。
【００６７】
また、本実施形態では、第２の期間内の最新の操作を受け付けたタイミングよりも前に、サーバ３０から受信した画面データに基づく画面の更新が完了している場合は、第２のコマンド群をサーバ３０へ送信させる。これにより、受け付けた最新の操作が更新後の画面に基づく操作である場合に、最新の操作を含む操作に対応する第２のコマンド群がサーバ３０に送信されるので、端末装置１２の操作性を更に向上させることができる。
【００６８】
また、本実施形態では、サーバ３０から画面データを受信中の場合は、第２のコマンド群を送信させずに破棄させる。この場合、第２のコマンド群は繰り返し操作に対応するコマンド群と判断できるので、第２のコマンド群を送信させずに破棄させることで、ユーザの意図と相違する画面が表示されることが防止され、端末装置１２の操作性を向上させることができる。
【００６９】
更に、本実施形態では、操作を受け付けてから、サーバ３０から受信した画面データに基づく画面の更新が完了する迄の更新実績時間を計測しておく。そして、第２の期間内の最新の操作を受け付けたタイミングからの経過時間が更新実績時間以下の場合は第２のコマンド群を送信させずに破棄させ、前記経過時間が更新実績時間よりも長い場合は第２のコマンド群をサーバ３０へ送信させる。これにより、誤操作によりサーバ３０から新たな画面データが送信されない状況に陥ることを防止することができる。
【００７０】
また、本実施形態では、第１のコマンド群及び第２のコマンド群に含まれるコマンドの数が各々１個のときに、以下の場合に第１のコマンド群と第２のコマンド群とが類似していると判定する。第１の場合は、第１のコマンド群及び第２のコマンド群に含まれるコマンドに対応する操作の種別が同一で、かつ、第１のコマンド群に含まれるコマンドの座標情報と第２のコマンド群に含まれるコマンドの座標情報との差が所定範囲内の場合である。また第２の場合は、第１のコマンド群及び第２のコマンド群に含まれるコマンドに対応する操作の種別が同一で、かつ、第１のコマンド群に含まれるコマンドの入力情報と第２のコマンド群に含まれるコマンドの入力情報が同一の場合である。これにより、コマンドが座標情報を含む場合にも入力情報を含む場合にも、第１のコマンド群と第２のコマンド群とが類似しているか否かを判定することができる。
【００７１】
また、本実施形態では、第１のコマンド群及び第２のコマンド群の少なくとも一方に含まれるコマンドの数が２個以上のときに、以下の場合に第１のコマンド群と第２のコマンド群とが類似していると判定する。すなわち、第１のコマンド群に含まれるコマンドの情報が第２のコマンド群に含まれるコマンドの情報と部分一致している場合である。これにより、第１のコマンド群及び第２のコマンド群の少なくとも一方に含まれるコマンドの数が２個以上の場合にも、第１のコマンド群と第２のコマンド群とが類似しているか否かを簡易な処理で判定することができる。
【００７２】
なお、上記では、受け付けた操作の情報を操作リスト８０に登録しておき、コマンド送信時に、操作リスト８０に登録した操作の情報をコマンドへ変換してサーバ３０へ送信する態様を説明したが、これに限定されるものではない。操作の受け付け時にコマンドに変換してリストに登録するようにしてもよい。
【００７３】
また、上記では送信制御プログラムの一例である端末制御プログラム６２が記憶部４６に予め記憶（インストール）されている態様を説明した。しかし、これに限定されるものではなく、送信制御プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、メモリカード等の記録媒体に記録されている形態で提供することも可能である。
【００７４】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００７５】
以上の実施形態に関し、更に以下の付記を開示する。
【００７６】
（付記１）
サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置に、
第１の期間内に受け付けた操作に対応する１個以上のコマンドを含む第１のコマンド群を特定し、特定した前記第１のコマンド群を前記サーバへ送信すると共に、
前記第１の期間に後続する第２の期間内に受け付けた操作に対応する１個以上のコマンドを含む第２のコマンド群を特定し、
前記第１のコマンド群と前記第２のコマンド群とが一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する処理を実行させるための送信制御プログラム。
【００７７】
（付記２）
サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置に、
第１の期間内に受け付けた操作に対応する１個以上のコマンドを含む第１のコマンド群を特定し、特定した前記第１のコマンド群を前記サーバへ送信すると共に、
前記第１の期間に後続する第２の期間内に受け付けた操作に対応する１個以上のコマンドを含む第２のコマンド群を特定し、
前記第１のコマンド群と前記第２のコマンド群とが一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する処理を実行させる送信制御方法。
【００７８】
（付記３）
前記第２の期間内の最新の操作を受け付けたタイミングよりも前に、前記サーバから受信した前記画面データに基づく画面の更新が完了している場合は、前記第２のコマンド群を前記サーバへ送信させる付記１記載の送信制御プログラム又は付記２記載の送信制御方法。
【００７９】
（付記４）
前記サーバから前記画面データを受信中の場合は、前記第２のコマンド群を送信させずに破棄させる付記１又は付記３記載の送信制御プログラム又は付記２又は付記３記載の送信制御方法。
【００８０】
（付記５）
操作を受け付けてから、前記サーバから受信した前記画面データに基づく画面の更新が完了する迄の更新実績時間を計測しておき、
前記第２の期間内の最新の操作を受け付けたタイミングからの経過時間が前記更新実績時間以下の場合は前記第２のコマンド群を送信させずに破棄させ、前記経過時間が前記更新実績時間よりも長い場合は前記第２のコマンド群を前記サーバへ送信させる付記１、付記３及び付記４の何れか１項記載の送信制御プログラム又は付記２〜付記４の何れか１項記載の送信制御方法。
【００８１】
（付記６）
前記第１のコマンド群及び前記第２のコマンド群に含まれるコマンドの数が各々１個のときに、前記第１のコマンド群に含まれるコマンドに対応する操作の種別が前記第２のコマンド群に含まれるコマンドに対応する操作の種別と同一で、かつ、コマンドに座標情報が含まれ、前記第１のコマンド群に含まれるコマンドの座標情報が表す座標と前記第２のコマンド群に含まれるコマンドの座標情報が表す座標との差が所定範囲内の第１の場合、又は、コマンドに入力情報が含まれ、前記第１のコマンド群に含まれるコマンドの入力情報と前記第２のコマンド群に含まれるコマンドの入力情報が同一の第２の場合に、前記第１のコマンド群と前記第２のコマンド群とが類似していると判定する付記１、付記３〜付記５の何れか１項記載の送信制御プログラム又は付記２〜付記５の何れか１項記載の送信制御方法。
【００８２】
（付記７）
前記第１のコマンド群及び前記第２のコマンド群の少なくとも一方に含まれるコマンドの数が２個以上で、かつ、前記第１のコマンド群に含まれるコマンドの情報が前記第２のコマンド群に含まれるコマンドの情報と部分一致している場合に、前記第１のコマンド群と前記第２のコマンド群とが類似していると判定する付記１、付記３〜付記６の何れか１項記載の送信制御プログラム又は付記２〜付記６の何れか１項記載の送信制御方法。
【００８３】
（付記８）
サーバへ送信したコマンドに応じて前記サーバから送信された画面データを受信する端末装置であって、
期間内に受け付けた操作に対応する１個以上のコマンドを含むコマンド群を期間毎に特定する特定部と、
前記特定部が第１の期間に特定した第１のコマンド群を前記サーバへ送信すると共に、前記第１のコマンド群と、前記特定部が前記第１の期間に後続する第２の期間に特定した第２のコマンド群と、が一致又は類似していると判定した場合には、前記サーバからの前記画面データの受信状況に応じて、前記第２のコマンド群を前記サーバへ送信するか否かを制御する送信制御部と、
を含む端末装置。
【００８４】
（付記９）
前記送信制御部は、前記第２の期間内の最新の操作を受け付けたタイミングよりも前に、前記サーバから受信した前記画面データに基づく画面の更新が完了している場合は、前記第２のコマンド群を前記サーバへ送信させる付記８記載の端末装置。
【００８５】
（付記１０）
前記送信制御部は、前記サーバから前記画面データを受信中の場合は、前記第２のコマンド群を送信させずに破棄させる付記８又は付記９記載の端末装置。
【００８６】
（付記１１）
操作を受け付けてから、前記サーバから受信した前記画面データに基づく画面の更新が完了する迄の更新実績時間を計測する計測部を更に含み、
前記送信制御部は、前記第２の期間内の最新の操作を受け付けたタイミングからの経過時間が前記更新実績時間以下の場合は前記第２のコマンド群を送信させずに破棄させ、前記経過時間が前記更新実績時間よりも長い場合は前記第２のコマンド群を前記サーバへ送信させる付記８〜付記１０３の何れか１項記載の端末装置。
【００８７】
（付記１２）
前記送信制御部は、前記第１のコマンド群及び前記第２のコマンド群に含まれるコマンドの数が各々１個のときに、前記第１のコマンド群に含まれるコマンドに対応する操作の種別が前記第２のコマンド群に含まれるコマンドに対応する操作の種別と同一で、かつ、コマンドに座標情報が含まれ、前記第１のコマンド群に含まれるコマンドの座標情報が表す座標と前記第２のコマンド群に含まれるコマンドの座標情報が表す座標との差が所定範囲内の第１の場合、又は、コマンドに入力情報が含まれ、前記第１のコマンド群に含まれるコマンドの入力情報と前記第２のコマンド群に含まれるコマンドの入力情報が同一の第２の場合に、前記第１のコマンド群と前記第２のコマンド群とが類似していると判定する付記８〜付記１１の何れか１項記載の端末装置。
【００８８】
（付記１３）
前記送信制御部は、前記第１のコマンド群及び前記第２のコマンド群の少なくとも一方に含まれるコマンドの数が２個以上で、かつ、前記第１のコマンド群に含まれるコマンドの情報が前記第２のコマンド群に含まれるコマンドの情報と部分一致している場合に、前記第１のコマンド群と前記第２のコマンド群とが類似していると判定する付記８〜付記１２の何れか１項記載の端末装置。
【符号の説明】
【００８９】
１０…コンピュータ・システム、１２…端末装置、１６…コマンド群特定部、１８…送信制御部、２２…画面制御部、２６…計測部、３０…サーバ、３６…画面生成部、４０…コンピュータ、４２…ＣＰＵ、４４…メモリ、４６…記憶部、４８…キーボード、５０…ポインティングデバイス、５２…表示部、６２…端末制御プログラム
【図１】
2017161989.tif 000003
【図２】
2017161989.tif 000004
【図３】
2017161989.tif 000005
【図４】
2017161989.tif 000006
【図５】
2017161989.tif 000007
【図６】
2017161989.tif 000008
【図７】
2017161989.tif 000009
【図８】
2017161989.tif 000010
【図９】
2017161989.tif 000011
【図１０】
2017161989.tif 000012
【図１１】
2017161989.tif 000013
【図１２】
2017161989.tif 000014