JP2008210071A - クライアントサーバシステム - Google Patents
クライアントサーバシステム Download PDFInfo
- Publication number
- JP2008210071A JP2008210071A JP2007044857A JP2007044857A JP2008210071A JP 2008210071 A JP2008210071 A JP 2008210071A JP 2007044857 A JP2007044857 A JP 2007044857A JP 2007044857 A JP2007044857 A JP 2007044857A JP 2008210071 A JP2008210071 A JP 2008210071A
- Authority
- JP
- Japan
- Prior art keywords
- client
- server
- character information
- information
- character
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 サーバベースコンピューティング環境において,通信回線の障害発生時に作業ができなくなる。
【解決手段】文字入力作業中に,クライアントのバッファに文字情報を蓄積しておき,突発的な通信の切断時には,蓄積しておいた文字情報を利用して,クライアント単体で文字入力作業を継続し,通信回線の回復時に,入力文字情報をサーバに送信し,サーバ側で作業を継続できるようにする。
【選択図】 図2
【解決手段】文字入力作業中に,クライアントのバッファに文字情報を蓄積しておき,突発的な通信の切断時には,蓄積しておいた文字情報を利用して,クライアント単体で文字入力作業を継続し,通信回線の回復時に,入力文字情報をサーバに送信し,サーバ側で作業を継続できるようにする。
【選択図】 図2
Description
本発明は,サーバベースコンピューティング,シンクライアントシステム,シンクライアント−サーバ間の制御方法に関する。
近年企業の一般業務でのPCの利用が拡大するとともに、企業がPCを従業員に貸し与えるために、多くの投資を必要としている。また、従業員数の増大にともなって、個々のPCのOS(Operating System)や業務アプリケーションのバージョンアップ、バグフィックス、ウィルス対策、バックアップなどを効率的に管理することは困難なものになりつつある。
この管理コストを低減するための一手法として、サーバベースコンピューティング(あるいはクライアントサーバ形式)と呼ばれる形態のシステム運用手法がある。これは、主なプログラムやデータをサーバ装置(以下,サーバという)側に蓄積し、クライアント装置(以下,クライアントという)側に蓄積するデータを減らすものである(例えば特許文献1)。
サーバベースコンピューティングでは、演算処理やデータの蓄積は主にサーバ側で行われるため、クライアント側に個々にOSや業務に利用するアプリケーションのバージョンアップやバグフィックス、ウィルス対策やウィルス駆除などを行う必要性や頻度が減少し、全体の管理コストを低減できる。またハードウェアの置き換えはサーバ側を適宜行えばよいし、クライアント側は,性能や機能を削減してシンクライアント化することができるためコスト低減を図ることができる。
また,上記サーバベースコンピューティングでは,クライアント側でのキーボードやマウスの操作情報がサーバ側へ送信され,サーバ側で生成された画面情報をクライアント側に転送する処理形態を用いることができる。この形態では,情報の実体はサーバ側に保存されているため,クライアント側には情報の実体がなく,万が一,クライアントを紛失したり,盗難にあったりした場合でも情報が漏えいすることがないという効果がある。
一方で,サーバベースコンピューティングの可用性や利便性は,通信路の品質に大きく依存してしまうという課題がある。
この課題に対して,例えば特許文献2には,シンクライアント端末において,サーバ装置のグラフィカルユーザインタフェース(GUIという)を疑似し、この疑似されたGUIにおける操作内容を所定量まとめてサーバ装置に送信することにより、サーバとの間のネットワークの伝送遅延が大きいような環境であっても、GUI機能によって作業効率良く操作できるという技術が記載されている。
上述したように,上記処理形態では,クライアント側に情報の実体がないため,ユーザが意図しない通信路の切断など通信路に障害が起こった場合に,作業が中断され,処理を継続できなくなり,利便性や可用性が犠牲になってしまうという課題がある。
しかしながら,特許文献2の技術では,アプリケーション種別毎にGUIエミュレータを作成する必要があり多様なアプリケーションに対応するのは困難である。またクライアントにもGUIエミュレータを動作させるために処理能力が必要とされ,クライアントのコスト低減を図ることが困難となる。
したがって,上記処理形態において通信路が正常に使用できない場合の,利便性や可用性の確保と,コスト低減との両立が望まれている。
本発明は,サーバベースコンピューティングにおいて,クライアント側に情報の実体を置かないことを基本とする処理形態において,通信路が正常に使用できない状態になった場合であっても,クライアント側での入力作業の継続を可能とし,また通信路の回復時には,クライアント側に情報の実体を置かない基本の処理形態に戻って作業を継続可能とする方法とシステムを提供する。
より具体的には,入力装置操作情報から生成した,作業状態を復元するための情報をサーバから,クライアントに送信して蓄積させ,通信路が正常に使用できない場合に,クライアントにおいて,蓄積している文字情報を用いて,作業状態を復元し,ユーザの作業継続を可能とする。そして,通信路の回復時には,通信路を使用しなかった期間のクライアント側で処理した入力情報をサーバに移動し,通信路の回復時の作業状態をサーバで復元することにより,上述の基本処理形態での作業を可能とする。
作業状態を復元するための情報とは,例えば,文字コードや文字位置情報や,当該文字コードを挿入するのか削除するのかを示すフラグや,更新対象となるアプリケーションプログラムIDなどの,一つ以上の任意の組み合わせを含む。さらに,下線,フォント種別,文字サイズ,文字の色等の書式を示す情報の任意の一つ以上を付加してもよい。
本発明は,その一態様として,クライアント装置と,サーバ装置とが,ネットワークで接続され,クライアント装置と,サーバ装置とは,互いを接続する通信路を,ネットワーク上に確立する手段を備え,クライアント装置は,利用者の操作を受け付ける入力装置と,入力装置の操作から生成される入力装置操作情報を,通信路を介して,サーバ装置に送信する手段と,を備え,サーバ装置は,通信路を介して,クライアント装置から受信した入力装置操作情報に基づき,文字情報を生成する手段と,文字情報に基づく処理を行うサーバ側プログラム実行手段と,を備え,クライアント装置は,文字情報に基づく処理を行うクライアント側プログラム実行手段と,サーバ装置における,サーバ側プログラム実行手段による作業状態を,当該クライアント装置において復元するに必要な文字情報を取得し,蓄積する手段と,を備えるクライアントサーバシステムを提供する。
さらに,サーバ装置は,生成した文字情報を,通信路を介して,クライアント装置に送信する手段と,を備え,クライアント装置の文字情報を取得する手段は,送信された文字情報を蓄積する手段と,クライアント装置は,通信路を監視する手段と,通信路を監視する手段が,通信路が利用できなくなった,と判断した場合に,蓄積している文字情報を取得して,サーバ側プログラム実行手段による,判断時点以前の作業状態を復元する復元手段を備えてもよい。
さらに,クライアント装置の文字情報を取得する手段は,入力装置操作情報に基づき,文字情報を生成する手段を備え,クライアント装置は,さらに,当該クライアント装置において生成された文字情報を用いて,作業状態を復元する復元手段を備えてもよい。
さらに,クライアント装置は,復元した作業状態に対して,通信路が利用できなくなったと判断した時点以後に受け付けた入力操作情報に基づき,文字情報を生成する手段を備え,クライアント装置のクライアント側プログラム実行手段は,復元された状態に対して,生成された文字情報に基づく処理を行ってもよい。
さらに,クライアント装置は,判断時点以後は,受け付けた入力操作情報に基づき,文字情報を生成し,蓄積する手段を備えてもよい。
さらに,クライアント装置は,通信路を監視する手段が,通信路が回復したと判断した場合に,当該回復時点での当該クライアント側プログラム実行手段における作業状態を,サーバ側プログラム実行手段において復元するための復元情報を,サーバ装置へ送信する手段を備えてもよい。
さらに,クライアント装置の復元情報を送信する手段は,判断した時点から当該回復時点までの,当該クライアント側プログラム実行手段における作業状態を復元する情報を送信してもよい。
さらに,クライアント装置は,送信する手段による,通信路を介した,サーバ装置への入力装置操作情報の送信と,復元手段による作業状態の復元とを,平行して繰り返す手段を備えてもよい。
さらに,サーバ装置は,クライアント装置から,サーバ側プログラム実行手段の処理終了指示を受けた場合に,クライアント装置に,クライアント装置が蓄積している文字情報の消去を指示する手段を備え,クライアント装置は,文字情報の消去を指示された場合に,取得し,蓄積した文字情報を消去する手段を備えてもよい。
本発明のその他の特徴は,本明細書の記述および添付図面から明らかになるであろう。
本発明によれば,通信路が使用できない時においても,入力作業の継続が可能となり,利便性が向上する。
本発明の実施の形態について、図面を参照しながら以下に説明する。なお、図面中にて同一の参照番号を付したものは、同一の機能を有する構成要素を示し、重複した説明は省略する。
図1は本発明の第一の実施形態におけるシステム構成例を説明するための図であり,クライアント装置1000とサーバ1200とがネットワーク1110で接続されている。
クライアント装置(以下,クライアントという)1000は,CPU(Central Processing Unit)1010とメモリ1020と記憶装置1080と表示装置1120とキーボード1100とマウス1090から構成される。表示装置1120は,画面情報を表示するものであり,例えば液晶ディスプレイやCRTディスプレイなどである。キーボード1100とマウス1090は,ユーザからの入力情報を伝えるものであり,そのほか,例えばスタイラスとタッチパネル等,ユーザからの入力情報を伝達するものであるなら利用可能である。
記憶装置1080には,仮名漢字変換アプリケーションプログラム(以下仮名漢字変換APという)1040,テキストエディタプログラム(以下テキストエディタという)1050,遠隔操作アプリケーションプログラム(以下遠隔操作APという)1060,入力情報管理アプリケーションプログラム(以下,クライアント側入力情報管理APという)1070,OS(Operating System)1030が格納されている。
OSと各アプリケーションプログラムはメモリ1020にロードされてCPU1010で実行され,以下に説明する処理を実現する。また,OS1030には,図示していないマウス1090やキーボード1100のデバイスドライバが組み込まれている。メモリ1020は,揮発性であり,クライアント1000の電源がオフにされると内容が失われる。
各プログラムは,あらかじめ、記憶装置1080に格納されていても良いし、必要なときに、図示していない入出力インタフェースとクライアント端末1000が利用可能な媒体を介して、他の装置から記憶装置1080に導入されてもよい。媒体とは、たとえば、入出力インタフェースに着脱可能な記憶媒体、または通信媒体(すなわちネットワーク1110またはネットワーク1110を伝搬する搬送波やディジタル信号)を指す。
仮名漢字変換AP1040は,ローマ字やかなで入力された文章の読みから仮名漢字混じり文への変換を実現する。テキストエディタ1050は,文書を作成,編集するために用いる。遠隔操作AP1060は,ネットワーク1110を介してサーバ1200の遠隔操作を実現し,クライアント1000からキーボード1100とマウス1090の操作情報をサーバ1200へ送信し,サーバ1200からは画面情報を受信して表示する機能を実現する。
クライアント側入力情報管理AP1070は,詳細は後に説明するが,通信回線すなわち,ネットワーク1110の異常検知時にも文字入力を継続できるように,文字入力作業中に文字情報をクライアント1000のメモリバッファに一時格納するなどの機能を持つ。
ネットワーク1110の異常検知方法としては,例えば,クライアント1000とサーバ1200間でパケットが往復する時間であるラウンドトリップタイムを定期的に計測して,ラウンドトリップタイムがある一定の値以上であった場合には異常と判定する,という方法がある。その他の方法であっても良いし,2つ以上を組み合わせても良い。
クライアント1000とサーバ1200をつなぐ通信回線であるネットワーク1110としては,有線LANや無線LAN,電話回線,光ファイバ回線などが利用可能である。
サーバ1200は,CPU1250とメモリ1260と記憶装置1240から構成される。記憶装置1240には,仮名漢字変換AP1210,テキストエディタ1220,サーバ文字情報管理アプリケーション(サーバ側入力情報管理APという)1230,OS1270などのプログラムが格納されている。
各プログラムはメモリ1260にロードされてCPU1250で実行され,以下に説明する処理を実現する。例えば,サーバ側入力情報管理AP1230は,詳細は後に説明するが,文字入力作業中に文字情報をクライアント端末へ送信するなどの機能を持つ。
上記各プログラムは,あらかじめ、記憶装置1240に格納されていても良いし、必要なときに、図示していない入出力インタフェースとサーバ1200が利用可能な媒体を介して、他の装置から記憶装置1240に導入されてもよい。媒体とは、たとえば、入出力インタフェースに着脱可能な記憶媒体、または通信媒体(すなわちネットワーク1110またはネットワーク1110を伝搬する搬送波やディジタル信号)を指す。
図2は,ユーザ2000とクライアント1000とサーバ1200の処理の流れを説明するための図である。
ユーザ2000は,クライアント1000上で遠隔操作AP1060を起動してサーバ1200へのログインを行う(2030,2080,2190)。ログイン時の認証には,パスワード認証やICカード認証等を利用する。認証に成功すると,クライアント1000とサーバ1200との間にセッションが確立され,ログインしたことになり,以後,クライアント1000はサーバ1200を遠隔操作することが可能となる。
次に,ユーザ2000が遠隔操作により,サーバ1200のテキストエディタ1220を起動する(2040,2200)と,ユーザ2000のキーボード1100の操作によりキー入力(2050)されると,キーボード1100が操作されたキーに対応したスキャンコードをクライアント1000のOS1030あるいは図示していないBIOS(Basic Input/Output System)に送出し,OS1030またはBIOSが前記スキャンコードを対応するキーコードに変換し,操作されたキーに対応するキーコードを遠隔操作AP1060がサーバ1200へ送信する(2085)。
当該キーコードは,サーバ1200側のテキストエディタ1220により,英数字文字コードに変換され,さらに,必要に応じて,仮名漢字変換AP1210によって,日本語文字コードへの変換が行われる(2210)。以後,英数字文字コードと日本語文字コードをまとめて文字コードと表記する。
また,テキストエディタ1220の制御のためのキーコード(制御コードという)は,文字コードへ変換されず,テキストエディタに,例えば「貼り付け(Paste)」や「削除(Delete)」といった所定の動作を行わせる。
以後の説明では,「貼り付け」や「削除」などによる文字の入力を,テキストエディタのメニュー機能や制御コードにより行った場合においても,キーコードから文字コードに変換されて入力されたものとして扱う。
また,マウス1090の操作情報は,マウスポインタ座標とクリック情報などであり,キー入力と同様にサーバへ送信される。テキストエディタは,マウス操作情報によってカーソル位置の変更や範囲選択等を行う。
次にサーバ側入力情報管理AP1230は,テキストエディタ1220に入力された文字コードを,文字の位置情報などと共に後に詳述する文字情報として,クライアント1000へ送信する(2220)。
例えば,テキストエディタ1220が,メモリ領域への文字情報の格納方法を他のプログラムに提供するものであれば,サーバ側入力情報管理AP1230は,テキストエディタ1220のメモリ領域を監視することにより,文字がテキストエディタに入力されたことを認識し,1文字入力される毎に文字情報を送信してもよいし,定期的に一定の文字数をまとめて送信するなどしてもよい。
送信された文字情報は,クライアント側入力情報管理AP1070によってメモリ1020に確保された文字情報バッファ7000に格納される(2090)。また,サーバ側入力情報管理AP1230は,削除された文字の位置情報も文字情報に含めて送信する。クライアント側入力情報管理AP1070は,削除された文字の位置情報を受信することにより,文字情報バッファ7000に格納されている対応する文字を削除する。
キー入力(2050),文字入力(2210),文字情報送信(2220),文字情報バッファ7000への格納(2090)の一連の流れを繰り返すことにより,文字情報バッファ7000とサーバのテキストエディタ1220の内容を同期させておく。
ここで,
通信回線の遅延や切断が発生したものとする(2100)。クライアント側入力情報管理AP1070は,セッションの異常を検知する(2110)。例えばネットワークの伝送ビットレートが予め定めた値を下回った場合に高遅延による異常と判定したり,予め定めた時間,サーバからの応答がない場合を切断による異常と判定したりする。
通信回線の遅延や切断が発生したものとする(2100)。クライアント側入力情報管理AP1070は,セッションの異常を検知する(2110)。例えばネットワークの伝送ビットレートが予め定めた値を下回った場合に高遅延による異常と判定したり,予め定めた時間,サーバからの応答がない場合を切断による異常と判定したりする。
クライアント側入力情報管理AP1070は,テキストエディタ1050を起動する(2120)。クライアント側入力情報管理AP1070は,上記文字情報バッファに格納されているテキスト内容を上記テキストエディタにロードし,作業内容をクライアント1000側で復元する(2130)。これで,ユーザ2000は,作業の継続が可能になり,キー入力(2060),上記テキストエディタ1050への文字入力を繰り返して行う(2140)。
また,サーバ側とクライアント側でテキスト内容の同期がとれていない場合(すなわち,ステップ2090の前に,ステップ2100の異常が発生した場合)においても,作業内容の復元2130は,クライアント側入力情報管理AP1070が蓄積しているテキスト内容をテキストエディタにロードすることで実現する。併せて,最後に同期処理を行った時刻を利用者に表示してもよい。
通信回線が正常状態に回復すると(2150),遠隔操作AP1060は,再ログインを行い(2160),サーバ1200が再ログインを認証する(2230)。再ログインには,再度ユーザに対してパスワード認証やICカード認証を求めてもよいし,ある一定の時間内のセッション切断であってセッションキーやアクセス元IPアドレス等がセッション切断前と同一であれば,再認証なしで再ログインを許可するようにしても良い。
再認証に成功すると,クライアント1000とサーバ1200との間にセッションが確立され,再ログインしたことになり,以後,クライアント1000はサーバ1200を遠隔操作することが可能となる。
クライアント側入力情報管理AP1070は,セッションの回復を検知する(2170)。クライアント側入力情報管理AP1070は,上記テキストエディタに入力されているテキスト内容を文字情報バッファに格納し,次に文字情報バッファのテキスト内容をサーバ1200へ送信する(2175)。サーバ側入力情報管理AP1230は,送られてきた上記テキスト内容をテキストエディタにロードし,作業内容をサーバ1200側で復元する(2240)。文字情報バッファ7000の内容は,消去せずに維持する。
また,テキスト内容をサーバ1200へ送信する(2175)際には,テキスト内容の変更前を保持しておいて変更後と比較することにより変更部分だけを文字情報として送信してもよい。さらにクライアント1000側とサーバ1200側でテキスト内容が完全に同期がとれていなかった場合には,サーバ1200側に最後に同期処理を行った時刻を送信し,サーバ1200側では最後に同期処理を行ったテキスト内容に対して作業内容の復元を行う。また,作業状態の復元の前にサーバ側の最終作業状態は保存しておき,利用者に最終作業状態から始めるのか,あるいは,作業復元状態から始めるのかを選択させてもよい。
以降,キー入力2070,文字入力2260,文字情報送信2270,文字情報バッファ格納2280と同様の流れを繰り返すことにより,文字情報バッファとサーバのテキストエディタの内容を同期させておく。
なお,文字入力2260は,ステップ2085,2210に例示する,キーコード送信,文字コードへ変換という処理を含む処理である。
なお,文字入力2260は,ステップ2085,2210に例示する,キーコード送信,文字コードへ変換という処理を含む処理である。
図6は,文字情報の一例である。文字情報6000は,文字コード6010と文字位置情報6020と削除フラグ6030とテキストエディタID6040を含んで構成される。文字位置情報6020は,テキストエディタに入力されたテキスト中での当該文字の位置を表す情報である。削除フラグ6030は,当該文字位置の文字の削除操作を指示するフラグである。テキストエディタID6040は,サーバ1200で起動されて当該文字が入力されたテキストエディタ1220を識別するための識別子(例えば番号)である。
また,文字情報には,テキストエディタの画面上の入力位置を表すカーソルの位置情報を付加してもよい。
図7は,上述の文字情報バッファ7000の一例である。文字情報バッファ7000は,テキストエディタ毎にエントリを持つテーブルとして構成してもよい。各エントリはテキストエディタID6040とテキスト内容7020から構成される。
テキスト内容7020は,テキストの内容を表す文字コードの集合である。
テキスト内容7020は,テキストの内容を表す文字コードの集合である。
図4は,サーバ側入力情報管理AP1230がテキストエディタ1220に入力された文字を文字情報6000に変換する例と,クライアント側入力情報管理AP1070が文字情報6000を受信して文字情報バッファ7000を更新する例を説明するための図である。
テキストエディタ1220に文字が入力されると,サーバ側入力情報管理AP1230は,当該文字の文字コードと,先頭バイトからの当該文字の位置情報(図中では4バイト目)と,削除操作が行われたのかどうか(図中では削除操作ではないのでOFF)と,当該文字が入力されたテキストエディタID(図中では001番)を取得し,文字情報6000を作成し,クライアント1000へ送信する。
上述の通り,1文字入力される毎に文字情報6000を送信してもよいし,一定数の文字情報6000を記憶装置1240やメモリ1260に蓄積し,まとめて送信するなどしてもよい。
次に,上記文字情報6000を受信したクライアント側入力情報管理AP1070は,文字情報バッファ7000の当該テキストエディタIDを検索する。当該テキストエディタIDの項目が存在すれば,図中に示すように,テキスト内容の文字位置情報が示す文字位置に,当該文字コードを挿入する。当該テキストエディタIDが存在しなければ,新たにエントリを作成し,当該文字コードを挿入する。
また,サーバ1200のテキストエディタ1220とクライアント1000のテキストエディタ1050が取り扱える文字コード体系(たとえば,EUCやShift−JIS)や改行コードが異なる場合,クライアント側入力情報管理AP1070は,文字情報バッファへの格納の前と,サーバへの文字情報の送信2175の前に,文字コードおよび改行コードを変換する。
図8は,文字情報バッファ7000を消去する場合の一例を説明するための図である。
ユーザ2000からテキストエディタ終了指示(8000)によりテキストエディタ1220が終了される(8010)。次にサーバ側入力情報管理AP1230は,上記終了したテキストエディタ1220のIDとともに文字情報バッファ7000の消去命令をクライアント1000へ送信する(8020)。上記消去命令を受信したクライアント側入力情報管理AP1070は,文字情報バッファ7000における当該テキストエディタIDに対するエントリのテキスト内容を消去する(8030)。
また,クライアント1000がサーバ1200からログアウトしたり,クライアント1000の当該テキストエディタ1050を終了したり,ユーザ2000が文字情報バッファ7000の消去を指示したりした場合も,クライアント側入力情報管理AP1070がOS1030に指示されることにより,テキストエディタ1050の文字情報および文字情報バッファ7000を消去する。また,クライアント1000の電源をオフにした場合は,その文字情報バッファ7000の内容は揮発するので消去したことになる。
セッションの異常の検知2110とセッションの回復の検知2170は,ユーザ2000の操作を必要とせずに通信回線の状態を判定してオフライン作業からオンライン作業に切り替えるためのものであるが,ユーザが手動で切り替えてもよい。
例えば,図5に示すようにデスクトップ画面中にオンライン作業切り替え用ボタン5020とオフライン作業切り替えボタン5010を表示する。セッション確立状態でサーバ1200のデスクトップ画面上のオフライン切り替えボタンをユーザ2000が押下した場合,サーバ側入力情報管理AP1230はクライアント側入力情報管理AP1070にオフライン切り替え指示を送信し,クライアント側入力情報管理AP1070は図2中のテキストエディタ起動2120から始まる処理を行う。
また,通信回線が回復している状態でクライアント1000のデスクトップ画面上のオンライン切り替えボタンをユーザ2000が押下した場合,図2中の遠隔操作APによるログイン2160から始まる処理を行う。
以上述べたように,本実施例によれば,サーバ1200側テキストエディタへの文字入力と並行して,クライアント1000へ文字情報を送信してクライアント1000の文字情報バッファ7000へ文字情報を蓄積しておくことにより,ユーザ2000が予想しない通信路の異常時においても,蓄積されている文字情報を使ってテキスト入力作業を継続できる。
また,文字単位での追記や挿入や削除の場合,すなわち,変更がテキストの一部であった場合に,テキストの全体をクライアントに送信する必要がなく,変更のあった文字だけを送信すればよいため,通信量の削減の効果がある。
本発明の第二の実施形態について説明する。本実施形態におけるシステム構成を,実施例1と同様,図1に示す。
図3は,本発明の第二の実施形態におけるユーザ2000とクライアント1000とサーバ1200の処理の流れを説明するための図である。
ユーザ2000は,クライアント1000上で遠隔操作AP1060を起動してサーバ1200へのログインを行う(2030,2080,2190)。ログイン認証には,パスワード認証やICカード認証等を利用する。ログイン認証に成功すると,クライアント1000とサーバ1200との間にセッションが確立され,以後サーバ1200を遠隔操作することが可能となる。次に,ユーザ2000がサーバ1200のテキストエディタ1220を起動する(2200)。
上記テキストエディタの起動指示を受け取ると,サーバ側入力情報管理AP1230は,クライアント1000に対してテキストエディタ1050の起動指示を送信する(3030)。起動指示3030を受信したクライアント側入力情報管理AP1070は,テキストエディタ1050を起動する(3000)。サーバ側入力情報管理AP1230は,仮名漢字変換情報をクライアントへ送信する(3050)。
仮名漢字変換情報とは,仮名漢字変換AP1210においてユーザが個別に設定した辞書ファイルや変換学習情報などの仮名漢字変換のための設定情報である。仮名漢字変換情報を受信したクライアント側入力情報管理AP1070は,当該仮名漢字変換情報を仮名漢字変換AP1040に設定する(3040)。
実施例1と同様に,ユーザ2000がキー入力(2050)することにより,クライアント1000から,操作されたキーに対応するキーコードがサーバ1200へ送信される(2085)。当該キーコードは,サーバ1200側のテキストエディタ1220により,英数字文字コードあるいは,必要に応じて,仮名漢字変換AP1210によって日本語文字コードへの変換が行われ,テキストエディタ1220に文字入力が実行される(2210)。
また,本実施例においては,クライアント1000上で起動されているテキストエディタ1050にも上記キーコードが送られ,英数字文字コード,あるいは,仮名漢字変換AP1040によって日本語文字コードへの変換が行われ,上記サーバ上のテキストエディタに入力された文字と同一の文字が入力される(3010)。また,上記キーコードは,文字入力のためのキーコードであって,OSやテキストエディタへの制御信号としてのキーコードを含まない。
キー入力(2050),キーコード送信(2085),文字入力(2210,3010)の一連の流れを繰り返すことにより,クライアントのテキストエディタとサーバのテキストエディタの内容を同期させておく。
ここで,通信回線の遅延や切断が発生したものとする(2100)。クライアント側入力情報管理AP1070は,セッションの異常を検知する(2110)。例えばネットワークの伝送ビットレートが予め定めた値を下回った場合に高遅延による異常と判定したり,予め定めた時間,サーバからの応答がない場合を切断による異常と判定したりする。
本実施例においては,既に,ステップ3000でテキストエディタを起動済みであり,文字入力も継続して行っている(ステップ3010)ので,ユーザ2000は,引き続き,キー入力を行い(2060),クライアント1000上のテキストエディタへの文字入力が実行され(2140),この一連の流れが繰り返される。
通信回線が正常状態に回復すると(2150),遠隔操作AP1060は,再ログインを行い(2160),サーバ1200が再ログインを認証する(2230)。再ログインには,再度ユーザに対してパスワード認証やICカード認証を求めてもよいし,ある一定の時間内のセッション切断あってセッションキーやアクセス元IPアドレス等がセッション切断前と同一であれば,再認証なしで再ログインを許可するようにしても良い。
再認証に成功すると,クライアント1000とサーバ1200との間にセッションが確立され,再ログインしたことになり,以後,クライアント1000はサーバ1200を遠隔操作することが可能となる。
クライアント側入力情報管理AP1070は,セッションの回復を検知する(2170)。クライアント側入力情報管理AP1070は,上記テキストエディタに入力されているテキスト内容をサーバ1200へ送信する(2175)。サーバ側入力情報管理AP2240は,送られてきた上記テキスト内容をテキストエディタにロードし,作業内容をサーバ1200側で復元する(2240)。ユーザ2000からのキー入力(2070)により,上記テキストエディタに文字入力が実行される(2250)。また同時にクライアント1000上で起動されているテキストエディタ1050にも文字入力が実行される(3020)。
また,テキスト内容をサーバ1200へ送信する(2175)際には,テキスト内容の変更前を保持しておいて変更後と比較することにより変更部分だけを文字情報として送信してもよい。さらにクライアント1000側とサーバ1200側でテキスト内容が完全に同期がとれていなかった場合には,サーバ1200側に最後に同期処理を行った時刻を送信し,サーバ1200側では最後に同期処理を行ったテキスト内容に対して作業内容の復元を行う。また,作業状態の復元の前にサーバ側の最終作業状態は保存しておき,利用者に最終作業状態から始めるのか,あるいは,作業復元状態から始めるのかを選択させてもよい。
キー入力(2070),文字入力(2250,3020)の一連の流れをセッション確立中は繰り返すことにより,クライアントのテキストエディタとサーバのテキストエディタの内容を同期させておく。
以上述べたように,本実施例によれば,サーバ1200への文字入力と平行してクライアント1000でも文字入力を実行して文字を蓄積しておくことにより,ユーザが意図しない通信路の異常時においても,テキスト入力作業を継続できる。また,クライアント1000側とサーバ1200側で並行して文字入力を実行することにより,サーバ1200とクライアント1000間の通信を行うことなくクライアント1000側に文字を蓄積していくことが可能となる。
上記各実施形態における概念は,文字入力によるテキスト情報だけに限らず,様々な種類の情報に応用可能であることは明らかである。
例えば,プレゼンテーション作成の場合には,サーバ上の編集途中のプレゼンテーションファイルをクライアントへ送信し,クライアントは上記プレゼンテーションファイルをバッファに格納する。ネットワーク異常の際には,上記バッファに格納されたプレゼンテーションファイルをプレゼンテーション作成ツールにロードして編集作業を継続することが可能となる。プレゼンテーションファイルの送信タイミングは,一定時間ごとであってもよいし,一定量の変更が加えられたときに送信するものであってもよい。
このように,上記実施形態により,ネットワーク品質が低い環境においてもサーバ上の様々なアプリケーションを継続して利用可能となり,利便性を向上させることが可能となる。
1000:クライアント、1010:CPU、1020:メモリ、1030:OS、1040:仮名漢字変換AP、1050:テキストエディタ、1060:遠隔操作AP、1070:クライアント側入力情報管理AP、1080:記憶装置、1090:マウス、1100:、1110:ネットワーク、1200:サーバ、1210:仮名漢字変換AP、1220:テキストエディタ、1230:サーバ側入力情報管理AP、1240:記憶装置、1250:CPU、1260:メモリ、1270:OS。
Claims (9)
- クライアント装置と,サーバ装置とが,ネットワークで接続されるクライアントサーバシステムであって,
前記クライアント装置と,前記サーバ装置とは,互いを接続する通信路を,前記ネットワーク上に確立する手段を備え,
前記クライアント装置は,
利用者の操作を受け付ける入力装置と,
前記入力装置の操作から生成される入力装置操作情報を,前記通信路を介して,前記サーバ装置に送信する手段と,を備え,
前記サーバ装置は,
前記通信路を介して,前記クライアント装置から受信した前記入力装置操作情報に基づき,文字情報を生成する手段と,
前記文字情報に基づく処理を行うサーバ側プログラム実行手段と,を備え,
前記クライアント装置は,
文字情報に基づく処理を行うクライアント側プログラム実行手段と,
前記サーバ装置における,前記サーバ側プログラム実行手段による作業状態を,当該クライアント装置において復元するに必要な文字情報を取得し,蓄積する手段と,
を備える
ことを特徴とするクライアントサーバシステム。 - 請求項1に記載のクライアントサーバシステムにおいて,
前記サーバ装置は,
生成した前記文字情報を,前記通信路を介して,前記クライアント装置に送信する手段と,を備え,
前記クライアント装置の文字情報を取得する手段は,前記送信された文字情報を蓄積する手段と,
前記クライアント装置は,前記通信路を監視する手段と,
前記通信路を監視する手段が,前記通信路が利用できなくなった,と判断した場合に,前記蓄積している前記文字情報を取得して,前記サーバ側プログラム実行手段による,前記判断時点以前の作業状態を復元する復元手段を備える
ことを特徴とするクライアントサーバシステム。 - 請求項1記載のクライアントサーバシステムであって,
前記クライアント装置の文字情報を取得する手段は,前記入力装置操作情報に基づき,文字情報を生成する手段を備え,
前記クライアント装置は,さらに,当該クライアント装置において生成された前記文字情報を用いて,前記作業状態を復元する復元手段を備える
ことを特徴とするクライアントサーバシステム。 - 請求項1記載のクライアントサーバシステムであって,
前記クライアント装置は,復元した前記作業状態に対して,前記通信路が利用できなくなったと判断した時点以後に受け付けた前記入力操作情報に基づき,文字情報を生成する手段を備え,
前記クライアント装置のクライアント側プログラム実行手段は,前記復元された状態に対して,生成された前記文字情報に基づく処理を行う
ことを特徴とするクライアントサーバシステム。 - 請求項2記載のクライアントサーバシステムであって,
前記クライアント装置は,前記判断時点以後は,前記受け付けた入力操作情報に基づき,前記文字情報を生成し,蓄積する手段を備える
ことを特徴とするクライアントサーバシステム。 - 請求項4記載のクライアントサーバシステムであって,
前記クライアント装置は,前記通信路を監視する手段が,前記通信路が回復したと判断した場合に,当該回復時点での当該クライアント側プログラム実行手段における作業状態を,前記サーバ側プログラム実行手段において復元するための復元情報を,前記サーバ装置へ送信する手段を備える
ことを特徴とするクライアントサーバシステム。 - 請求項6記載のクライアントサーバシステムであって,
前記クライアント装置の前記復元情報を送信する手段は,前記判断した時点から当該回復時点までの,当該クライアント側プログラム実行手段における作業状態を復元する情報を送信する
ことを特徴とするクライアントサーバシステム。 - 請求項3記載のクライアントサーバシステムであって,
前記クライアント装置は,前記送信する手段による,前記通信路を介した,前記サーバ装置への入力装置操作情報の送信と,前記復元手段による前記作業状態の復元とを,平行して繰り返す手段を備える
ことを特徴とするクライアントサーバシステム。 - 請求項1記載のクライアントサーバシステムであって,
前記サーバ装置は,前記クライアント装置から,前記サーバ側プログラム実行手段の処理終了指示を受けた場合に,前記クライアント装置に,前記クライアント装置が蓄積している文字情報の消去を指示する手段を備え,
前記クライアント装置は,前記文字情報の消去を指示された場合に,前記取得し,蓄積した文字情報を消去する手段を備える
ことを特徴とするクライアントサーバシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007044857A JP2008210071A (ja) | 2007-02-26 | 2007-02-26 | クライアントサーバシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007044857A JP2008210071A (ja) | 2007-02-26 | 2007-02-26 | クライアントサーバシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008210071A true JP2008210071A (ja) | 2008-09-11 |
Family
ID=39786330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007044857A Withdrawn JP2008210071A (ja) | 2007-02-26 | 2007-02-26 | クライアントサーバシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008210071A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244106A (ja) * | 2009-04-01 | 2010-10-28 | Nec Corp | シンクライアント端末、シンクライアントシステム、同システムにおける文字入力制御方法及びプログラム |
EP2400395A1 (en) * | 2009-02-19 | 2011-12-28 | Nec Corporation | Information processing device, information processing system, information processing method, and program recording medium |
JP2012507098A (ja) * | 2008-10-30 | 2012-03-22 | アルカテル−ルーセント | 開始ウィジットから検索したデータによる終了ウィジットの操作方法 |
JP2015158719A (ja) * | 2014-02-21 | 2015-09-03 | コニカミノルタ株式会社 | 画像形成システム、画像形成装置、遠隔操作装置およびプログラム |
JP2019160007A (ja) * | 2018-03-15 | 2019-09-19 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理システム、情報処理方法、プログラム |
-
2007
- 2007-02-26 JP JP2007044857A patent/JP2008210071A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012507098A (ja) * | 2008-10-30 | 2012-03-22 | アルカテル−ルーセント | 開始ウィジットから検索したデータによる終了ウィジットの操作方法 |
EP2400395A1 (en) * | 2009-02-19 | 2011-12-28 | Nec Corporation | Information processing device, information processing system, information processing method, and program recording medium |
EP2400395A4 (en) * | 2009-02-19 | 2013-03-20 | Nec Corp | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD AND PROGRAMMING MEDIUM |
US8805920B2 (en) | 2009-02-19 | 2014-08-12 | Nec Corporation | Information processing apparatus, information processing system, information processing method and program storage medium |
JP2010244106A (ja) * | 2009-04-01 | 2010-10-28 | Nec Corp | シンクライアント端末、シンクライアントシステム、同システムにおける文字入力制御方法及びプログラム |
JP2015158719A (ja) * | 2014-02-21 | 2015-09-03 | コニカミノルタ株式会社 | 画像形成システム、画像形成装置、遠隔操作装置およびプログラム |
JP2019160007A (ja) * | 2018-03-15 | 2019-09-19 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理システム、情報処理方法、プログラム |
JP7103630B2 (ja) | 2018-03-15 | 2022-07-20 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理システム、情報処理方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6044604B2 (ja) | 端末装置、およびプログラム | |
JP5279247B2 (ja) | クライアント、サーバ及びそれらの制御方法、コンピュータプログラム | |
US11715068B2 (en) | Data processing apparatus, data processing system, data processing method, and non-transitory computer readable medium | |
CN112948340A (zh) | 数据同步方法、装置、电子设备及可读存储介质 | |
JP2009259153A (ja) | 情報処理装置及びその制御方法、並びに制御プログラム | |
JP2008210071A (ja) | クライアントサーバシステム | |
US20130207985A1 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
JP2009151480A (ja) | 契約製品提供方法、クライアント装置、サーバ、プログラム、および該プログラムを記録した記録媒体 | |
JP5223802B2 (ja) | サーバベース・コンピューティング・システム、サーバ装置、クライアント装置、およびプログラム | |
JPH09146859A (ja) | 端末管理機能付ネットワークシステム | |
JP5910589B2 (ja) | 認証システム、認証装置、認証方法、およびプログラム | |
JP2013022762A (ja) | 印刷装置、印刷装置の制御方法及びコンピュータプログラム | |
KR20050045193A (ko) | 프린터 드라이버를 이용하여 보안 출력하는 방법 및 시스템 | |
US20100049889A1 (en) | Information processing apparatus, KVM switch, remote system, and computer readable medium | |
JP5724973B2 (ja) | 携帯情報端末、情報管理システム、携帯情報端末の共有方法、およびコンピュータプログラム | |
JP2003030084A (ja) | データ転送装置及びデータ転送プログラム | |
JP2006172073A (ja) | プログラム、情報処理装置、及び操作履歴保存方法 | |
JP5193010B2 (ja) | 申告データ作成システム、申告データ作成方法、コンピュータ装置、接続管理サーバ、およびデータベースサーバ | |
JP5290499B2 (ja) | 画面記録プログラム | |
JP6015850B2 (ja) | 情報処理システム、サーバ装置、プログラム、および、情報処理方法 | |
WO2019142549A1 (ja) | 情報処理装置、及び情報処理方法 | |
JP2011134269A (ja) | 情報処理装置、情報処理方法、プログラム、記録媒体 | |
JP2010067281A (ja) | ログ提供装置及びログ提供方法 | |
JP3913888B2 (ja) | 書面作成システム、WWW(WorldWideWeb)サーバ及び記録媒体 | |
JP2012181622A (ja) | 情報処理サーバ、情報処理方法、情報処理システム、プログラム、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20090304 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100226 |