JP2005228228A - クライアントサーバシステム及びそのgui表示方法 - Google Patents

クライアントサーバシステム及びそのgui表示方法 Download PDF

Info

Publication number
JP2005228228A
JP2005228228A JP2004038264A JP2004038264A JP2005228228A JP 2005228228 A JP2005228228 A JP 2005228228A JP 2004038264 A JP2004038264 A JP 2004038264A JP 2004038264 A JP2004038264 A JP 2004038264A JP 2005228228 A JP2005228228 A JP 2005228228A
Authority
JP
Japan
Prior art keywords
gui
server
client terminal
user
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004038264A
Other languages
English (en)
Inventor
Masayoshi Sekiguchi
真良 関口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004038264A priority Critical patent/JP2005228228A/ja
Publication of JP2005228228A publication Critical patent/JP2005228228A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)

Abstract

【課題】移動体通信網をはじめとする高遅延かつ狭帯域な通信環境においても、迅速なレスポンスを行うGUI(Graphical User Interface)表示機能を備えるクライアントサーバシステム及びその表示方法を実現する。
【解決手段】サーバ1上で実行されるアプリケーション13のGUIをクライアント端末3に表示する際に、サーバ1は、クライアント端末3上に表示されるGUIに対してユーザが次に行う操作を、実際にユーザが行う前に予測し、その予測に基づいてあらかじめアプリケーション13を実行しておいた結果をクライアント端末3に送信する。クライアント端末3は、サーバ1から受信した予測結果を保存しておき、実際にユーザが操作を行った際、保存されている予測結果に基づいてGUI画面を表示する。クライアント端末とサーバとの間が、狭帯域かつ高遅延な通信環境で接続されていても、迅速なGUIのレスポンスを実現でき、効率的に作業を行うことができる。
【選択図】図1

Description

本発明は、サーバ上でアプリケーションを実行し、サーバとネットワークでつながれたクライアント端末から、サーバ上のアプリケーションを操作する、クライアントサーバシステムまたはサーバベースコンピューティングと呼ばれる技術分野に関し、特にクライアント端末へのグラフィックユーザインタフェース(GUI)の表示を高速化する技術に関する。
近年、携帯電話の普及により、携帯電話上でアプリケーションを実行する要求が高まっているが、携帯電話の処理能力は乏しく、別のサーバ上でアプリケーションを実行し、携帯電話上からその操作を行うクライアントサーバシステムが注目されている。
しかし、携帯電話はその通信特性から高遅延かつ狭帯域であり、クライアントサーバシステムには適さない通信網を備えている。
高遅廷な環境でクライアントサーバシステムを実現する方法が、特開2003−323402号公報に開示されており、関連性の高い一連の操作が完了するまで蓄積した後、一括してサーバに送信することにより高遅延網を経由した環境でも作業効率良く操作できるようにしている。
また、Microsoft社のTerminal Serviceや、Citrix社のMeta Frameをはじめとして、サーバとクライアント端末間で、画素をやり取りしてクライアント端末にGUIを表示する手法も知られている。これは、サーバ上で実行されるアプリケーションの画面を、画素単位でクライアント端末に送信する方式であり、クライアント端末側では、画素の情報を受信した後、それをそのまま表示するだけでよい。また、変更のあった画素のみを送信するなどして、データ量の削減を図っている。
特開2003−323402号公報 http://www.keyman.or.jp/search/30000031_1.html(サーバベースコンピューティング)
しかし、上記特許文献1に開示される従来技術は、通信回数を削減し通信遅延の影響を少なくすることはできるが、サーバに送信する際に通信遅延の影響を受けることは避けられない。また、蓄積するのは、カーソルの移動や日本語変換等の操作のみであり、画面遷移が発生する場合は通信遅延の影響を受ける。
一方、上記の画素をやり取りする手法を用いたクライアントサーバシステムでは、移動体通信網等の狭帯域な通信環境においては、非常にデータ量が多くなるので迅速なレスポンスを期待できないという問題点があった。
本発明の目的は、高遅延かつ狭帯域な通信環境においても、常に、ユーザが効率よく作業を行えるように、GUIの迅速なレスポンスを実現したクライアントサーバシステム及びそのGUI表示方法を提供することである。
上記目的を達成するために、本発明は、アプリケーションを実行すると共に該アプリケーションのグラフィックユーザインタフェース(GUI)の情報を送信するサーバと、前記サーバとの間で通信を行い、前記GUIの情報を受信して該情報に基づくGUIを表示すると共に該GUIに対するユーザ操作に基づく応答を前記サーバに送信するクライアント端末とからなるクライアントサーバシステムのGUI表示方法であって、前記サーバは、クライアント端末に表示しているGUIに対するユーザ操作に関して前記クライアント端末から受信する情報を予測し、該予測に基づいて変更した少なくとも1つのGUIの情報を前記クライアント端末に送信し、前記クライアント端末は、前記サーバから受信した前記予測に基づいて変更されたGUIの情報を記憶し、表示しているGUIに対するユーザ操作に対応する前記予測に基づいて変更されたGUIの情報が記憶されているときに、該記憶されているGUI情報に基づくGUIを表示することを特徴とする。
本発明によれば、クライアント端末に表示されているGUIに対して次に行われるユーザの操作をあらかじめ予測し、前記予測に基づいて、サーバからクライアント端末へGUI情報をあらかじめ送信しておき、クライアント端末に記憶しておくことにより、通信遅延の影響を全く受けることなく、即座にユーザインタフェースの画面を表示することができる。
また、本発明は、サーバとクライアント端末間の通信において、GUIコンポーネントの属性が、ユーザの操作等により変更された場合に、変更された部分のみを送信することにより、通信に必要なデータ量を削減する。
さらに、本発明は、クライアント端末は、GUIコンポーネントに対するユーザのある操作に対して、アプリケーションプログラムに前記操作をトリガとして何らかの処理を行う記述がある場合のみ、GUIコンポーネントに対するユーザの操作に対応するコマンドをサーバへ送信することにより、通信に必要なデータ量を削減する。
本発明によれば、高遅廷かつ狭帯域な通信環境で接続されたクライアントサーバシステムにおいて、クライアント端末に表示されているGUIに対して次に行われるユーザの操作を予測し、あらかじめ実行結果を計算しておくので、迅速なレスポンスを備えるユーザインタフェースを実現することができ、ユーザが効率的に作業を行うことができる。
また、狭帯域な通信環境でサーバとクライアント端末が接続されていても、サーバとクライアント端末との間の通信において、GUIコンポーネント単位でその属性に対応したコマンドを定義し、GUIコンポーネントの属性値を送受信しているので、サーバとクライアント端末間でやりとりされるデータ量を削減でき、狭帯域な通信環境においても、迅速なレスポンスを備えるGUI表示を実現し、ユーザが効率的に作業を行うことができる。
また、ユーザの操作等により、GUIコンポーネントの属性値に変更があった場合は、変更があったGUIコンポーネントの属性値のみをやりとりするため、さらにサーバとクライアント端末間でやりとりされるデータ量を削減することができ、狭帯域な通信環境においても、迅速なレスポンスを備えるGUI表示を実現し、ユーザが効率的に作業を行うことができる。
また、ユーザがGUIコンポーネントに対して何らかの操作を行った際、サーバ上のアプリケーションが、その操作をトリガとして何らかの処理を行うかどうかを判断し、行わない場合は、ユーザイベントをサーバに送信しないので、通信回数を削減することができ、サーバとクライアント端末間で送受信されるデータ量を削減できる。
次に、本発明の一実施形態について図面を用いて説明する。
図1は、本発明におけるクライアントサーバシステムの一実施形態を示す概略構成図である。図1に示されるように、本クライアントサーバシステムは、アプリケーションが実行されるサーバ1と、クライアント端末3とが、高遅廷かつ狭帯域な通信網2にて接続されている。
サーバ1は、周知のコンピュータ装置及びオペレーティングシステムプログラムを主体として構成され、コマンド生成解析機能部11と、ユーザイベント予測機能部12と、複数のGUIコンポーネントを含むサーバ1上で実行されるアプリケーション13を備えている。
コマンド生成解析機能部11には、各GUIコンポーネントのプロパティ(属性)をプロパティ毎にコマンドと対応付けたテーブルが予め記憶されている。このテーブルを用いて、コマンド生成解析機能部11は、通信網2を介してクライアント端末3から受信したコマンドを解析してこのコマンドに対応するGUIコンポーネントのプロパティをアプリケーション13に伝達すると共に、アプリケーション13から受け取った、GUIコンポーネントのプロパティをコマンドに変換した後、このコマンドを通信網2を介してクライアント端末3に送信する。
ユーザイベント予測機能部12は、クライアント端末3に表示されているGUIの情報をアプリケーション13から入力し、現在、クライアント端末3上に表示されているGUIに対して、ユーザが次に行う操作(以下、ユーザによる操作をユーザイベント称する)の予測を行う。さらに、予測されたユーザイベントが実施された場合のアプリケーションの実行結果を計算し、その実行結果であるGUIの情報、すなわちGUIコンポーネントのプロパティをユーザイベントの情報に対応付けてコマンド生成解析機能部11を介してクライアント端末3に送信する。ここで、ユーザイベントの予測は、ユーザが実行可能な操作のそれぞれに対して予め優先順位を決めておく方法、或いは過去にユーザが行った操作の履歴を蓄積しておいてこれを参照する方法、またはこれらの両方を用いる方法等が適用可能であり、本実施形態では、これらの双方を用いてユーザによって行われる確率の高い操作を優先して予測を行うようにしている。
アプリケーション13は、コマンド生成解析機能部11から伝達されたGUIコンポーネントのプロパティに基づいて実行を継続すると共に、クライアント端末3に表示するGUIの全ての情報或いは変更したGUIコンポーネントのプロパティのみをコマンド生成解析機能部11に送出する。
クライアント端末3は、例えば一般的にシンクライアント端末と称されるようなハードディスク装置やフレキシブルディスク装置を持たないコンピュータ装置からなり、コマンド生成解析機能部31と、イベント管理機能部32、ユーザインタフェース部33、予測結果記憶部34を備えている。
コマンド生成解析機能部31には、各GUIコンポーネントのプロパティ(属性)をプロパティ毎にコマンドと対応付けた上記と同様のテーブルが予め記憶されている。このテーブルを用いて、コマンド生成解析機能部31は、通信網2を介してサーバ1から受信したコマンドを解析してこのコマンドに対応するGUIコンポーネントのプロパティをイベント管理機能部32或いは予測結果記憶部34に送出すると共に、イベント管理機能部32を介してユーザインタフェース部33から受け取った、GUIコンポーネントのプロパティをコマンドに変換した後、このコマンドを通信網2を介してサーバ1に送信する。ここで、コマンド生成解析機能部31は、サーバ1からユーザイベント情報と共にこれに対応付けた変更後のGUI情報すなわち変更されたGUIコンポーネントのプロパティを受信したときは、これらを予測結果記憶部34に記憶させる。
イベント管理機能部32は、コマンド生成解析機能部31から受け取ったGUIコンポーネントとそのプロパティをユーザインタフェース部33に送出する。さらに、イベント管理機能部32は、ユーザインタフェース部33から受け取ったユーザイベントの情報に基づいて、このユーザイベントに対応するGUIの情報すなわちGUIコンポーネントのプロパティが予測結果記憶部34に記憶されているか否かを判定し、記憶されているときはその記憶されているGUIコンポーネントのプロパティをユーザインタフェース部33に送出する。また、ユーザイベントに対応するGUIの情報が予測結果記憶部34に記憶されていないときは、イベント管理機能部32は、ユーザインタフェース部33から受け取ったユーザイベントの情報に基づいてユーザイベントによって変更されたGUIコンポーネントのプロパティをコマンド生成解析機能部31を介してサーバ1に送信する。
ユーザインタフェース部33は、図示せぬ操作部と表示部を備え、イベント管理機能部32を介してコマンド生成解析機能部31から受け取ったGUIコンポーネントのプロパティに基づいて表示部にGUIを表示すると共に、操作部を介してユーザが行った操作の情報をイベント管理機能部32に送出する。
予測結果記憶部34は、コマンド生成解析機能部31からユーザイベント情報と共にこれに対応付けたGUIの情報すなわちGUIコンポーネントのプロパティを受け取ったときにこれらを記憶する。
上記システムにおいて、クライアント端末3では、サーバ1上で実行されるアプリケーション13の実行結果を表すGUIコンポーネントのプロパティに基づいて、ユーザインタフェース部32を介してユーザに対してGUIを表示する。また、クライアント端末3は、ユーザインタフェース部32の表示部に表示されたGUIに対するユーザイベントを受け取り、その操作内容を狭帯域な通信網2を介してサーバ1に送信する。これを受信したサーバ1は、サーバ1上で実行されているアプリケーション13にユーザイベントを伝え、ユーザイベントに基づいてアプリケーション12が実行される。さらに、サーバー1は、ユーザーイベント予測機能部12によって、現在、クライアント端末3上に表示されているGUIに対してユーザーが次に行う操作の予測を行い、その予測結果をクライアント端末に送信する。
また、サーバ1上のコマンド生成解析機能部11は、クライアント端末3から初めてアクセスされた場合等、サーバ1上で実行されているアプリケーション13の内部状態を全てクライアント端末3へ送信する必要がある場合は、アプリケーション12内に存在する各GUIコンポーネント13のプロパティ値をクライアント端末3へ送信する。
さらに、コマンド生成解析機能部11は、ユーザが何らかの操作を行い、アプリケーション13の状態が変更になった等、アプリケーション13の内部状態のうち変更のあった部分だけを、クライアント端末3へ送信する必要がある場合は、アプリケーション13内に存在する各GUIコンポーネントのうち、変更のあったGUIコンポーネントのみに関して、そのGUIコンポーネントがもつプロパティ値のうち変更のあったプロパティ値のみをクライアント端末3へ送信する。
一方、クライアント端末3は、ユーザがボタンを押す等の何らかの操作を行った場合、サーバ1上で実行されているアプリケーション13に、その操作をトリガとして何らかの処理を行う記述がある場合のみ、ユーザの行った操作を、サーバ1に送信する。
さらに、クライアント端末3は、サーバ1から受信した予測結果を予測結果記憶部34に保存しておく。クライアント端末3では、実際にユーザが何らかの操作を行った際、まず、クライアント端末3の予測結果記憶部34に保存されている予測結果を参照し、ユーザが実際に行った操作と、あらかじめ予測されていたユーザ操作とが一致した場合には、保存されている予測結果を取り出し、その予測結果からユーザインタフェース部33によってGUIを構築し、クライアント端末3上に表示する。
サーバ1上での予測は、ユーザのアイドル時間、つまり、ユーザが、ユーザインタフェース部33に表示されているGUIを見て、判断し、何らかのアクションを起こすまでの時間の内に1回以上行い、その結果をクライアント端末3に送信する。ユーザのアイドル時間が長ければ長いほど、多い回数すなわち多種の操作のそれぞれに対して予測を行うことができ、予測の精度をより高めることができる。
図2は、本実施形態におけるサーバ1上での予測処理の一例を表すフローチャート図である。
サーバ1においてユーザイベントの予測が開始されると、まず、現在クライアント端末3に表示されているGUIの状態を解析し、ユーザが実行可能な操作をリストアップする(S11)。続いて、優先度の高い順、つまり、ユーザが行う確率が高いと思われる順に、リストアップした操作の一覧をソートする(S12)。次に、リストが空かどうかを判定し(S13)、空でない場合は、先頭の予測を取り出す(S14)。取り出した予測、つまりユーザが行う可能性が高い操作をユーザが実行した場合のアプリケーション13の実行結果を計算し、その結果をクライアント端末3に送信する(S15)。
図3は、本実施形態におけるクライアント端末3上でユーザが何らかの操作を行った際のクライアント端末3が行う処理を表すフローチャート図である。
ユーザが何らかの操作、つまりユーザイベントを起こした場合、クライアント端末3では、まずユーザイベントが、クライアント端末3の予測結果記憶部34に保存されている予測結果と一致するか否かを判断する(S21)。これらが一致した場合、予測結果記憶部34から予測結果を取り出し(S22)、クライアント端末3の画面にGUIの描画を行う(S23)。また、ユーザの実際の操作が予測結果記憶部34に存在しなかった場合は、ユーザイベントの内容をサーバ1に送信する(S24)。これにより、サーバ1はアプリケーション13を実行し、実行結果をクライアント端末3に送信する。クライアント端末3では、サーバ1から実行結果を受信し(S25)、これに基づいてユーザインタフェース部33の表示部の画面にGUIの描画を行う(S26)。尚、クライアント端末3においてユーザイベントに対するGUI表示を行った後に予測結果記憶部34内の予測結果は全て消去される。
上記実施形態によれば、クライアント端末3に表示されているGUIに対して次に行われるユーザの操作をサーバ1においてあらかじめ予測し、この予測に基づいて、サーバ1からクライアント端末3へGUI情報をあらかじめ送信し、クライアント端末に記憶しておくので、通信遅延の影響を全く受けることなく、即座にユーザインタフェース部33の表示部にGUIの画面を表示することができる。これにより、高遅廷かつ狭帯域な通信環境で接続されたサーバ1とクライアント端末3からなるシステムにおいても、迅速なレスポンスを備えるユーザインタフェースを実現することができ、ユーザが効率的に作業を行うことができる。
狭帯域な通信環境でサーバ1とクライアント端末3が接続されていても、GUIコンポーネント単位でその属性に対応したコマンドを定義し、GUIコンポーネントの属性値を送受信することにより、サーバ1とクライアント端末3との間でやりとりされるデータ量を削減することができ、狭帯域な環境においても、迅速なレスポンスを備えるGUIを実現して、ユーザが効率的に作業を行うことができる。
また、ユーザの操作等により、GUIコンポーネントの属性値に変更があった場合は、変更があったGUIコンポーネントの属性値のみをやりとりするので、さらにサーバ1とクライアント端末3との間でやりとりされるデータ量を削減することができる。
また、ユーザがクライアント端末3に表示されているGUIにおけるGUIコンポーネントに対して何らかの操作を行った際、サーバ1上のアプリケーション13が、その操作をトリガとして何らかの処理を行うかどうかを判断し、行わない場合は、ユーザイベントをサーバ1に送信しないので、通信回数を削減することができ、サーバ1とクライアント端末3との間で送受信されるデータ量を削減することができる。
さらに、上記実施形態では、サーバ1とクライアント端末3との間の通信において、GUIコンポーネント単位でそのプロパティに対応したコマンドを定義し、GUIコンポーネントのプロパティ値を送受信することにより、サーバ1とクライアント端末3との間でやりとりされるデータ量を削減し、狭帯域な環境においても、迅速なレスポンスを備えるGUIを実現し、ユーザが効率的に作業を行うことができる。
また、サーバ1とクライアント端末3との間の通信において、GUIコンポーネントのプロパティ値が、ユーザの操作等により変更された場合に、変更された部分のみを送信するので、通信に必要なデータ量を削減することができる。
さらに、クライアント端末3は、GUIコンポーネントに対するユーザのある操作に対して、アプリケーション13にユーザイベントをトリガとして何らかの処理を行う記述がある場合のみ、GUIコンポーネントに対するユーザイベントに対応するコマンドをサーバ1へ送信するため、アプリケーション13で処理を記述していないユーザイベントを送信しない分、通信に必要なデータ量を削減することができる。
尚、上記実施形態では、GUIコンポーネント単位でそのプロパティに対応したコマンドを定義したが、この様なコマンド定義を行わずにサーバ1とクライアント端末3との間の通信を行い、上記のようにクライアント端末3に表示されているGUIに対して次に行われるユーザの操作をサーバ1においてあらかじめ予測し、この予測に基づいて、クライアント端末3におけるGUI表示を行うようにするだけでも迅速なレスポンスを備えるGUIを実現して、ユーザが効率的に作業を行うことができることは言うまでもないことである。
図4は、上記実施形態を具体化した一実施例のシステム構成を示す図である。本実施例では、ユーザの自宅42にあるサーバ43上で実行されているアプリケーション44に対して、ユーザが携帯電話をクライアント端末41として用いて、いつどこからでもアプリケーション44の操作を行うものである。クライアント端末41と自宅42にあるサーバ43との間は、インターネット45と、高遅延かつ狭帯域な移動体通信網46とを経由して接続されている。ここで、サーバ43は上記サーバ1と同一構成をなし、クライアント端末41は上記クライアント端末3と同一構成をなしている。
また、サーバ43は、先述のユーザイベント予測機能部12を備えており、ユーザがクライアント端末41を利用してサーバ43に接続している間、ユーザの次の操作を予測し、その予測結果をクライアント端末41に送信している。
以下、具体的な操作例を用いて説明する。
図5は、ある場面においてクライアント端末3上に表示された画面51の一例を示す図である。図に示した画面51は、ユーザがある操作を行うかどうかの確認を促している。
画面51が表示され、ユーザが画面51の意味を認識し、自身の意思を判断し、OKポタン52あるいはキャンセルボタン53を押すまでの間に、サーバ1上ではユーザの次の操作の予測を行う。サーバ1上のユーザイベント予測機能部12は、まず、ユーザが実行可能な操作のリストアップを行う。画面51の場合、ユーザが行える操作は、OKボタン52を押すかキャンセルボタン53を押すかの2つである。次に、ユーザイベント予測機能部12は、この2つの操作に対して優先順位を付ける。優先順位の付けかたには、前述したようにあらかじめ優先順位を決めておく等の静的な方法と、過去にユーザが行った履歴を参照する等の動的なものがある。ここでは、OKボタン52を押す確率が高いと予測したものとする。
優先順位の高い順にソートされた後、ユーザイベント予測機能部12は、予測リストから最も優先順位の高い予測である「OKボタンを押す」操作を取り出し、その操作をユーザが実行した場合のアプリケーション13の実行結果を計算する。そして、その実行結果をクライアント端末3に送信する。
クライアント端末3は、「OKボタンを押す」操作が実行された場合の実行結果をサーバ1から受信し、クライアント端末3内の予測結果記憶部34にその予測結果を保存する。
1回目の予測を終えた時点で、ユーザイベントがまだ発生していない場合、サーバ1上のユーザイベント予測機能部12は、予測リストから2番目に優先順位の高い予測である「キャンセルボタンを押す」操作を取り出し、その操作をユーザが実行した場合の、アプリケーション13の実行結果を計算する。そして、その実行結果をクライアント端末3に送信する。
クライアント端末3は、「キャンセルボタンを押す」操作が実行された場合の実行結果をサーバ1から受信し、クライアント端末3内の予測結果記憶部34にその予測結果を保存する。
サーバ1上のユーザイベント予測機能部12は、予測リストに、実行結果を計算していない予測がなくなるか、或いは次のユーザイベントが発生するまで、予測を繰り返し、その実行結果をクライアント端末3に送信する。
以下に、ユーザが「OKボタンを押す」操作を選んだ場合の動作について説明する。ユーザがOKボタン52を押すと、クライアント端末3内のイベント管理機能部32がそれを検知し、まず、クライアント端末3内の予測結果記憶部34に保存されている予測結果を参照する。
「OKボタンを押す」という操作に対する予測結果が存在した場合、イベント管理機能32は、予測結果を取り出し、その結果を基にユーザインタフェース33によって表示するためのGUIを構築し、クライアント端末3の画面に表示する。このように予め予測結果記憶部34に記憶されている予測結果を用いて表示を行うため、ユーザの操作から画面を表示するまで、通信が全く発生せず、通信遅延の影響を受けずに迅速なレスポンスを実現することができる。
一方、予測結果記憶部34に「OKボタンを押す」という操作に対する予測結果が存在しなかった場合、クライアント端末3は、ユーザが「OKボタンを押す」操作を行ったという情報をサーバ1に送信し、これを受けたサーバ1はアプリケーション13を実行し、その実行結果をクライアント端末3に送信する。クライアント端末3では、サーバ1から実行結果を受信し、その結果を基にユーザインタフェース33によって表示するためのGUIを構築し、クライアント端末3の画面に表示する。
以上の操作を、図6を用いて、詳細に説明する。
ユーザがある操作を行った後、サーバ1上でアプリケーション13が実行され、その実行結果がクライアント端末3に送信される(S31)。ただし、サーバ1とクライアント端末3との間は、高遅延な通信網2で接続されているため、クライアント端末3に実行結果が届くまで大きな通信遅延時間61が存在する。クライアント端末3は、サーバ1から実行結果を受け取るとすぐにユーザインタフェース部33によってGUIを構築し、クライアント端末3の画面に表示する(S32)。ユーザインタフェース部33が構築したGUIがクライアント端末3に表示された時点から、ユーザがこれを認識して判断し、何らかの操作を行うまで、つまり、ユーザの思考時間62の間に、サーバ1上のユーザイベント予測機能部12は、ユーザの次の操作の予測を行い(S33)、この予測結果をクライアント端末3に送信する(S34)。
クライアント端末3では、サーバ1から送信された予測結果を保存しておく。1回目の予測が終了した時点で、ユーザイベントがまだ発生していない場合は、2回目以降の予測(S35)と予測結果の送信(S36)を繰り返す。
クライアント端末3は、実際にユーザが操作を行った時点(S37)で、ユーザが行った操作と予測した操作との照合を行い(S38)、これらが一致した場合には、その予測結果を取り出し、ユーザインタフェース部33によってGUIを構築し、クライアント端末3の画面に表示する(S39)。
このため、予測が一致した場合には、ユーザが操作を行ってから、ユーザインタフェース部33によって構築されたGUIが表示されるまでの間に、サーバ1とクライアント端末3との間で、一切の通信は行われず、そのため、通信遅延の影響を全く受けず、迅速なレスポンスが可能となる。したがって、サーバ1とクライアント端末3との間で高遅延かつ狭帯域な通信網2を用いて通信を行う環境であっても、ユーザはクライアント端末3からユーザインタフェース部33を利用して、効率よく作業を行うことができる。
本発明のクライアントサーバシステムの一実施例の構成を示すブロック図である。 本発明のクライアントサーバシステムにおいて、サーバ上での予測の実施の一形態を表すフローチャート図である。 本発明のクライアントサーバシステムにおいて、クライアント端末上の実施の一形態を表すフローチャート図である。 本発明のクライアントサーバシステムの一実施例である、携帯電話から自宅のサーバを遠隔操作する図である。 本発明のクライアントサーバシステムにおける、画面の一例である。 本発明のクライアントサーバシステムの予測機能の効果を示す図である。
符号の説明
1…サーバ、2…高遅延・狭帯域な通信網、3…クライアント端末、11…コマンド解析部、12…ユーザイベント予測機能部、13…アプリケーション、31…コマンド解析部、32…イベント管理機能部、33…ユーザインタフェース、34…予測結果保存部、41…クライアント端末、42…自宅、43…サーバ、44…アプリケーション、45…インターネット、46…移動体通信網、51…確認画面、52…OKボタン、53…キャンセルボタン、61…通信遅延時間、62…ユーザ思考時間、63…ユーザ体感時間。

Claims (11)

  1. アプリケーションを実行すると共に該アプリケーションのグラフィックユーザインタフェース(GUI)の情報を送信するサーバと、前記サーバとの間で通信を行い、前記GUIの情報を受信して該情報に基づくGUIを表示すると共に該GUIに対するユーザ操作に基づく情報を前記サーバに送信するクライアント端末とからなるクライアントサーバシステムにおいて、
    前記サーバは、
    クライアント端末に表示しているGUIに対してユーザが実行する操作を予測する予測手段と、
    前記予測したユーザ操作に基づいて変更した少なくとも1つのGUIの情報を前記クライアント端末に送信する手段とを備え、
    前記クライアント端末は、
    前記予測に基づいて変更されたGUIの情報を前記サーバから受信して記憶する手段と、
    表示しているGUIに対するユーザ操作を入力する手段と、
    前記入力したユーザ操作に対応する前記予測に基づいて変更されたGUIの情報が記憶されているときに、該記憶されているGUI情報に基づくGUIを表示する手段とを備えている
    ことを特徴とするクライアントサーバシステム。
  2. 前記予測手段は、ユーザが実行可能な操作のそれぞれに対して予め優先順位を決めておきユーザの操作を予測する手段、或いは過去にユーザが行った操作の履歴を蓄積しておいてこれを参照してユーザの操作を予測する手段のうちの少なくとも一方を有している
    ことを特徴とする請求項1に記載のクライアントサーバシステム。
  3. 前記サーバは、
    前記GUIコンポーネントの属性を、コンポーネント単位で定義されたコマンドに変換する手段と、
    前記属性に対応するコマンドを前記クライアント端末に送信する手段と、
    前記クライアント端末から受信したコマンドに対応する属性に基づいて前記アプリケーションプログラムを実行する手段とを有し、
    前記クライアント端末は、
    前記GUIコンポーネントの属性を、各コンポーネント単位で定義されたコマンドに変換する手段と、
    前記サーバから受信したコマンドに対応する属性に基づいてGUIを表示する手段と、
    ユーザの操作によって変更されたGUIコンポーネントの属性に対応するコマンドを前記サーバに送信する手段とを有する
    ことを特徴とする請求項1に記載のクライアントサーバシステム。
  4. 前記サーバは、変更したGUIコンポーネントの属性に対応するコマンドのみを前記クライアント端末に送信する手段を有する
    ことを特徴とする請求項3記載のクライアントサーバシステム。
  5. 前記クライアント端末は、ユーザの操作によって変更されたGUIコンポーネントの属性をトリガとして前記サーバ上のアプリケーションプログラムが何らかの処理を行う記述を行っている場合のみ、該属性に対応するコマンドを前記サーバに送信する手段を有する
    ことを特徴とする請求項3又は4記載のクライアントサーバシステム。
  6. アプリケーションを実行すると共に該アプリケーションのグラフィックユーザインタフェース(GUI)の情報を送信するサーバと、前記サーバとの間で通信を行い、前記GUIの情報を受信して該情報に基づくGUIを表示すると共に該GUIに対するユーザ操作に基づく応答を前記サーバに送信するクライアント端末とからなるクライアントサーバシステムのGUI表示方法であって、
    前記サーバは、クライアント端末に表示しているGUIに対してユーザが実行する操作を予測し、該予測したユーザ操作に基づいて変更した少なくとも1つのGUIの情報を前記クライアント端末に送信し、
    前記クライアント端末は、前記予測に基づいて変更されたGUIの情報を前記サーバから受信して記憶し、表示しているGUIに対してユーザが実行した操作に対応する前記予測に基づいて変更されたGUIの情報が記憶されているときに、該記憶されているGUI情報に基づくGUIを表示する
    ことを特徴とするクライアントサーバシステムのGUI表示方法。
  7. 前記サーバは、前記クライアント端末に表示されているGUIに対してユーザが実行可能な操作のそれぞれに対して予め優先順位を決めておき、該優先順位にしたがってユーザの操作を予測する
    ことを特徴とする請求項6記載のクライアントサーバシステムのGUI表示方法。
  8. 前記サーバは、過去にユーザが行った操作の履歴情報を蓄積しておき、該蓄積されている履歴情報に基づいてユーザの操作を予測する
    ことを特徴とする請求項6記載のクライアントサーバシステムのGUI表示方法。
  9. 前記サーバと前記クライアント端末のそれぞれは、前記GUIコンポーネント単位で属性に対応付けて定義されたコマンドを記憶しており、
    前記サーバは、前記GUIコンポーネントの属性を、前記コンポーネント単位で定義されたコマンドに変換し、前記属性に対応するコマンドを前記クライアント端末に送信すると共に、前記クライアント端末から受信したコマンドに対応する属性に基づいて前記アプリケーションプログラムを実行し、
    前記クライアント端末は、前記GUIコンポーネントの属性を、各コンポーネント単位で定義されたコマンドに変換し、ユーザの操作によって変更されたGUIコンポーネントの属性に対応するコマンドを前記サーバに送信すると共に、前記サーバから受信したコマンドに対応する属性に基づいてGUIを表示する
    ことを特徴とする請求項6記載のクライアントサーバシステムのGUI表示方法。
  10. 前記サーバは、変更のあったGUIコンポーネントにおける変更のあった属性に対応するコマンドのみを前記クライアント端末に送信する
    ことを特徴とする請求項9記載のクライアントサーバシステムのGUI表示方法。
  11. 前記クライアント端末は、ユーザのGUIコンポーネントへの操作に対して、前記サーバ上のアプリケーションプログラムが前記操作をトリガとして、何らかの処理を行う記述を行っている場合のみ、前記操作の情報をサーバへ送信する
    ことを特徴とする請求項9又は10記載のクライアントサーバシステムのGUI表示方法。
JP2004038264A 2004-02-16 2004-02-16 クライアントサーバシステム及びそのgui表示方法 Pending JP2005228228A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004038264A JP2005228228A (ja) 2004-02-16 2004-02-16 クライアントサーバシステム及びそのgui表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004038264A JP2005228228A (ja) 2004-02-16 2004-02-16 クライアントサーバシステム及びそのgui表示方法

Publications (1)

Publication Number Publication Date
JP2005228228A true JP2005228228A (ja) 2005-08-25

Family

ID=35002871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004038264A Pending JP2005228228A (ja) 2004-02-16 2004-02-16 クライアントサーバシステム及びそのgui表示方法

Country Status (1)

Country Link
JP (1) JP2005228228A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221184A (ja) * 2006-02-14 2007-08-30 Matsushita Electric Works Ltd リモコン装置及び遠隔制御システム
CN102016895A (zh) * 2008-03-25 2011-04-13 高通股份有限公司 用于小窗口内容递送的输送优化的设备和方法
WO2012047470A2 (en) * 2010-09-27 2012-04-12 Google Inc. Using a touch-sensitive display of a mobile device with a host computer
JP2014164571A (ja) * 2013-02-26 2014-09-08 Nec Corp 仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラム
US9069575B2 (en) 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9110685B2 (en) 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US9680719B2 (en) 2012-05-24 2017-06-13 Mitsubishi Electric Corporation Communication system, client terminal, and server
US9747141B2 (en) 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US10114518B2 (en) 2014-11-20 2018-10-30 Ricoh Company, Ltd. Information processing system, information processing device, and screen display method

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221184A (ja) * 2006-02-14 2007-08-30 Matsushita Electric Works Ltd リモコン装置及び遠隔制御システム
US10061500B2 (en) 2008-03-25 2018-08-28 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9747141B2 (en) 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US10558475B2 (en) 2008-03-25 2020-02-11 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US10481927B2 (en) 2008-03-25 2019-11-19 Qualcomm Incorporated Apparatus and methods for managing widgets in a wireless communication environment
CN102016895A (zh) * 2008-03-25 2011-04-13 高通股份有限公司 用于小窗口内容递送的输送优化的设备和方法
US9069575B2 (en) 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
JP2011515779A (ja) * 2008-03-25 2011-05-19 クゥアルコム・インコーポレイテッド ウィジェットコンテンツ配信のための移送最適化のための、装置及び方法
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US9110685B2 (en) 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9269059B2 (en) 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
WO2012047470A3 (en) * 2010-09-27 2012-05-31 Google Inc. Using a touch-sensitive display of a mobile device with a host computer
WO2012047470A2 (en) * 2010-09-27 2012-04-12 Google Inc. Using a touch-sensitive display of a mobile device with a host computer
US9680719B2 (en) 2012-05-24 2017-06-13 Mitsubishi Electric Corporation Communication system, client terminal, and server
JP2014164571A (ja) * 2013-02-26 2014-09-08 Nec Corp 仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラム
US10114518B2 (en) 2014-11-20 2018-10-30 Ricoh Company, Ltd. Information processing system, information processing device, and screen display method

Similar Documents

Publication Publication Date Title
JP5451397B2 (ja) リモートインターラクションに応答してビデオコンテンツを配信するためのアーキテクチャー
JP2005228227A (ja) シンクライアントシステム及びその通信方法
CN111724785A (zh) 小程序的语音控制方法、设备及存储介质
US8892633B2 (en) Apparatus and method for transmitting and receiving a user interface in a communication system
CN102421028A (zh) 智能电视的控制方法、智能电视、遥控装置及控制***
EP4170650A1 (en) Speech control method for mini-program, and devices and storage medium
CN112104897B (zh) 视频获取方法、终端及存储介质
WO2010067618A1 (ja) 操作支援方法、操作支援システム、操作支援装置、及び操作支援プログラム
JP2005228228A (ja) クライアントサーバシステム及びそのgui表示方法
CN111880695A (zh) 一种屏幕共享方法、装置、设备及存储介质
CN102770827B (zh) 用于在终端的屏幕上显示多媒体内容的方法
CN114726906A (zh) 设备交互方法、装置、电子设备和存储介质
CN105812839B (zh) 视频流数据获取、页面数据传输方法、***及网络服务器
CN111143017B (zh) 云操作***交互处理方法、客户端及云操作***
WO2013003634A1 (en) Remote browsing session management
US20080036695A1 (en) Image display device, image display method and computer readable medium
CN112565818B (zh) 二三维一体化的操作站平台构建方法和电子设备
US20150271431A1 (en) Information Transmission Method and Wireless Display System
CN113515244B (zh) 基于投屏的终端遥控方法、装置、设备及存储介质
CN111147879B (zh) 直播节目缓存方法、***、设备和计算机存储介质
CN109657173B (zh) 一种网络资源加载方法及装置
CN113891441A (zh) 网络连接方法、装置和电子设备
KR20130078300A (ko) 단말로부터 요청된 가상 어플리케이션을 실행하는 서버 및 방법, 그리고 단말
JP2018036733A (ja) 通信制御装置、通信制御方法およびプログラム
KR101237504B1 (ko) 이종의 원격 제어 서비스를 지원하는 서버 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20060414

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20080529

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Effective date: 20080808

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20090611

Free format text: JAPANESE INTERMEDIATE CODE: A02