説明

シンクライアントシステム

【課題】セキュリティを担保しつつ、高い操作性を確保するため、アプリケーション間連携が必要な作業と、オフラインの作業をスムーズに切り替えることがきる仕組みを提供する。
【解決手段】シンクライアントサーバ上でファイルを指定するだけで、通信環境に応じたアクセス手段(シンクライアントサーバ上でアプリが起動するか、シンクライアントサーバ上のデータをWebサーバ上にコピーし、シンクライアント上のWebブラウザでWebサーバへアクセスする)によって、シンクライアントサーバに格納されていたデータを編集することが可能であり、シンクライアントとシンクライアントサーバとの間のネットワーク品質に応じて、シンクライアントで動作するプログラムを切り替えるプログラムを有するシンクライアントシステム。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示される主題は、ネットワークを介してサーバを安全に遠隔操作することを可能にするセキュアリモートアクセスシステムに関する。
【背景技術】
【0002】
携帯端末の紛失などに起因した、情報漏えいのセキュリティ事故が絶えない。そこで、シンクライアントサーバにプログラムやデータを格納し、シンクライアント端末(以下、シンクライアント、またはTC(Thin Client)という)はデータを持たない画面転送型のシンクライアントシステムが提供されている。シンクライアントは、ネットワークを介してシンクライアントサーバへアクセスしてキーボード、マウスなどからの入力を送信し、シンクライアントサーバは、シンクライアントサーバにおける処理結果の画面データをシンクライアントに転送し、シンクライアントは転送された画面データを表示させることによりリモートからサーバ上で稼動するPCデスクトップを操作する。このシステムにより、利用者がシンクライアントを紛失しても、データを紛失するリスクが低くなる。
【0003】
非ブロードバンド環境や、通信品質の悪いネットワーク環境では、画面転送速度が低くなり、画面描画が頻繁に行われる。例えば、動画表示のアプリケーションプログラムでは、画面描画に時間がかかり、利用者からの入力に対する応答も遅くなり、操作性が悪くなる。また、画面転送型のシステムでは、シンクライアントサーバと通信ができないオフライン環境において、シンクライアントに画面を表示することができない。
【0004】
そこで、画面転送型のシンクライアントシステムのオフライン時の対策として、サーバからダウンロードして携帯端末に記憶したセキュアデータを使用できるようにし、所定のタイミングにより消去することでセキュリティを確保することにより、一時的にサーバとの通信が切断された場合でも、操作の続行を可能とするとともに、情報漏えいに対する高いセキュリティレベルを実現したシンクライアント端末が提案されている(特許文献1)。
【0005】
また、画面転送型のシンクライアントシステムに限らずオフライン時にWebコンテンツやデータを閲覧する方法として、HTML5のオフライン機能がある。このHTML 5 仕様は、ローカルにデータを保存する SQL-based database API と、ユーザがネットワークに接続していないときでもアプリケーションを利用できるようにする offline application HTTP cache を提供している(非特許文献1)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009-181460号公報(段落0061、0062)
【特許文献2】特開2010-045618号公報(段落0032〜0047、0055)
【非特許文献】
【0007】
【非特許文献1】Anne van Kesteren、"HTML5 Offline Web Applications"、[online]、[平成22年7月7日検索]、インターネット<URL: http://www.w3.org/TR/2008/NOTE-offline-webapps-20080530/>
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記特許文献1では、オフライン時の操作性を向上させるために、データやプログラムを利用者が操作する端末に格納すると、端末を紛失した場合に情報が漏えいする可能性があり、セキュリティ上問題がある。
【0009】
特許文献1では、サーバからクライアント端末に一時的にダウンロードしたデータを削除する方法について述べられているが、サーバからダウンロードしたデータを更新した場合、更新した結果をサーバへ反映させるための方法についてのべられていない。
【0010】
また、非特許文献1で述べられているオフライン機能は、オフライン時にWebコンテンツやデータを閲覧することが可能であるが、シンクライアントサーバで動作するアプリケーションプログラムと同等の機能を提供するWebアプリケーションプログラムが必要である。
【0011】
利用者が使いたいアプリケーションプログラムと同等のWebアプリケーション版のプログラムは必ずしも提供されているとは限らないため、使おうとするアプリケーションプログラムによって、利用者はシンクライアントサーバで動作するアプリケーションプログラムか、それと同等の機能を提供するWebアプリケーションプログラムかを使い分ける必要がある。
【0012】
さらに、非特許文献1で述べられている方法では、オフライン時にWebコンテンツやデータを閲覧することが可能であるが、アプリケーション間の連携ができない。ここでアプリケーション間の連携とは、単純なコピーバッファでのデータ交換だけではなく、アプリケーション間で、マクロやスクリプトを用いてそれぞれのデータを連携させることにより、新たな複合アプリケーションを作り上げることを意味する。これを実現するためには、アプリケーション間のデータ交換方法を定めた規格と、アプリケーション上にマクロやスクリプトを実行する環境が必要であり、非特許文献1で述べられている方法ではこれらの要件をサポートしていないため実現が困難となる。
【0013】
また、画面転送型のシンクライアントシステムでは、利用者による処理対象データが、シンクライアント端末側に存在しないため、シンクライアント端末を紛失したり、盗まれたりしても、また、同じ端末を複数人で共用しても、情報漏えいの虞がない、という特徴を備える。
【0014】
しかし、オフライン処理によりシンクライアント端末側にデータが存在すると、上記特徴が失われる虞がある。
【0015】
この課題に対して、シンクライアント端末と利用者が携帯する携帯端末とで、情報を連携させることにより、上記問題の軽減を図ることが考えられる。
【0016】
シンクライアント端末と他の装置との情報連携に関しては、携帯電話端末とシンクライアント端末とセンタ装置からなるシステムで、センタ装置へ接続するための認証済み情報を携帯電話端末とシンクライアント端末との間で連携し、携帯電話端末で生成した認証済み情報をシンクライアント端末に引き継ぐシステムが提案されている(特許文献2)。
【0017】
しかしながら、特許文献2において、携帯電話端末とシンクライアント(TC)端末との間で連携される情報は、認証済み情報に関するものであり、TC端末上で作業されたデータの格納については触れられていない。
【課題を解決するための手段】
【0018】
本明細書で開示されるのは、クライアント端末でアプリケーションプログラムのデータを出力、編集、保存する場合の情報漏えいを防ぐことにより、セキュリティを担保するとともに、端末が接続されているサーバとの通信路の品質によらない、高い操作性を備えるシンクライアントシステムである。
【0019】
例えば、開示されるシンクライアントシステムは、セキュリティを担保しつつ、高い操作性を確保するため、画面転送型のシンクライアントシステムによりアプリケーションプログラムを利用したアプリケーション間連携が必要な作業と、Webクライアントプログラムを利用した作業とをスムーズに切り替える仕組みを備える。
【0020】
より具体的には、
シンクライアントサーバと、Webサーバと、シンクライアント端末と、がネットワークで接続されたシンクライアントシステムであって、
シンクライアントサーバは、ネットワークを介して接続されたシンクライアント端末から、対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を受信した場合、アプリケーションプログラムを、シンクライアントサーバで実行するか否かを判定し、
シンクライアントサーバでは実行しないと判定した場合に、シンクライアントサーバは、アプリケーションプログラムの識別子と対象とするファイルの識別子とファイル識別子が示すファイルのデータとを、Webサーバへ送信し、
Webサーバは、アプリケーションプログラムの識別子と対象とするファイルの識別子と受信したファイルのデータの格納先の識別子とに基づき、アクセス先情報を生成し、
Webサーバは、シンクライアントサーバへ、生成したアクセス先情報を送信し、
シンクライアントサーバは、受信したアクセス先情報をシンクライアント端末に送信し、
シンクライアント端末は、
シンクライアントサーバから受信したアクセス先情報に基づいて、Webサーバに接続し、
アプリケーションプログラムを実行し、対象とするファイルの作成または更新を行うことを特徴とするシンクライアントシステムが開示される。
【0021】
さらに、上記Webサーバおよび/またはシンクライアントサーバは、作成または更新の対象とするファイルのステータスを管理するテーブルを備え、
シンクライアントサーバは、アプリケーションプログラムを起動し、対象とするファイルを読み込む前にテーブルを参照し、
対象とするファイルが変更されている場合は、対象とするファイルを更新するか否かの問い合わせを、シンクライアント端末の画面に表示し、
シンクライアント端末に入力された更新するか否かの指示にしたがった後に、アプリケーションプログラムを起動してもよい。
【0022】
さらに、上記シンクライアントサーバは、
シンクライアント端末と接続するネットワークの負荷状態を検出し、
負荷状態と、予め備える起動ポリシーとに基づき、アプリケーションプログラムを、シンクライアントサーバで実行するか否かを判定してもよい。
【0023】
さらに上記起動ポリシーは、アプリケーションプログラムの種類、シンクライアントサーバとシンクライアント端末との間のネットワークの状態、シンクライアントサーバの状態、アプリケーションプログラムが読み込むファイルの種類とアプリケーションプログラムを起動する方法との対応関係と、を含むものであってもよい。
【0024】
また、上記シンクライアント端末として、
シンクライアントサーバと接続して、作成または更新の対象とするファイルを指定し、対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を送信し、
アプリケーションプログラムを、シンクライアントサーバで実行しないことが判定された場合に、シンクライアントサーバからアクセス先情報を受信し、
受信したアクセス先情報に基づき、Webサーバへ接続し、対象とするファイルを作成または更新することを特徴とする構成が開示される。
【0025】
また、上記シンクライアントサーバとして、
シンクライアント端末から受信したファイル名を伴うアプリケーションプログラムの実行指示に基づき、
アプリケーションプログラムの起動を、当該シンクライアントサーバにおいて行うか否かを判定し、
アプリケーションプログラムの起動を当該シンクライアントサーバにおいて行わない場合、実行指示により指定されたファイルをWebサーバに送信し、
クライアント端末が、Webサーバに送信されたファイルにアクセスする場合に必要な、アクセス先情報とアクセスに必要な認証情報とをWebサーバから受信し、
WebサーバにアクセスするWebクライアントプログラムの起動指示と、受信した、アクセス先情報と、認証情報と、をシンクライアント端末に送信することを特徴とする構成が開示される。
【0026】
さらに、上記シンクライアントサーバは、アプリケーションプログラムの起動判定を、シンクライアント端末とシンクライアントサーバとの間のネットワークの負荷状態と、起動を指定されたアプリケーションプログラムの識別子と、アプリケーションプログラムが利用するファイルの識別子と、当該シンクライアントサーバの負荷状態と、に基づいて行ってもよい。
【0027】
また、上記Webサーバとして、
シンクライアントサーバに対して、作成または更新の対象とするファイルを指定し、対象とするファイルを作成または更新するアプリケーションプログラムを起動する、シンクライアント端末による操作情報に基づき、
アプリケーションプログラムの識別子と、対象とするファイルと、シンクライアント端末を利用するユーザの識別子とを、シンクライアントサーバから受信し、
識別子に基づき当該Webサーバで起動されるアプリケーションプログラムを、シンクライアント端末で実行されるWebクライアントプログラムが利用する際に必要なアクセス先情報を生成し、
生成したアクセス先情報をシンクライアントサーバに送信することを特徴とする構成が開示される。
【0028】
さらに、上記Webサーバは、シンクライアント端末で実行されるWebクライアントプログラムから受信する情報が、所定の条件を満足する場合、ファイルとアプリケーションプログラムとを、シンクライアント端末に送信してもよい。
【0029】
上記Webサーバにおける所定の条件とは、たとえば、当該アクセス先情報を生成する際に用いたユーザの識別子と、Webクライアントプログラムから送信されたユーザ識別子とをアクセス制御用データに格納されるルールに基づき、アクセスの可否を判定し、アクセス可能であることである。
【0030】
さらに、上記Webサーバにおける所定の条件とは、Webサーバより送信されたデータを遠隔で削除できる機能を有していいて、遠隔で削除できる機能が動作するように設定されている場合に、機密性の程度が高いファイルを携帯端末に格納できるように、携帯端末をファイルの保存先として指定できることである。
【0031】
また、本明細書で開示されるのは、シンクライアントサーバに格納されているファイルをシンクライアント端末の入力装置を用いて指定し、当該ファイルに対応づけられているアプリケーションプログラムを起動する指示を入力した時、当該ファイルをシンクライアント端末上で動作するWebクライアントプログラムを用いて編集するのに必要なモバイルコードと当該ファイルのデータとを前記シンクライアント端末と通信機能で接続した携帯端末に格納することを特徴とするシンクライアントシステムである。
【0032】
さらに、上記携帯端末は、上記Webサーバより送信されたファイルとアプリケーションプログラムもしくは、ファイルを格納した後、ファイルが変更されたり削除されたりした場合、自らの端末を識別する識別子とファイルを識別する識別子とファイルの状態(例えば、変更、削除、別名保存)とを関連付けたデータを、シンクライアント端末もしくはWebサーバに送信するように構成しても良い。
【0033】
さらに、上記携帯端末が、Webサーバより送信されたデータを遠隔で削除できる機能を有しているかどうか、遠隔で削除できる機能が動作するように設定されているかどうかを示すデータに基づき、ファイルの内容の機密性の程度に応じた格納先に、上記携帯端末が該当するかどうかのデータを、データ書き出し可能媒体リストとして、Webサーバに格納されるアクセス制御データに登録するように構成しても良い。
【0034】
さらに、上記シンクライアント端末は、上記Webサーバより送信されたファイルとアプリケーションプログラムもしくは、ファイルの格納先を表示し、利用者からの入力に応じてデータを格納する機能を有しており、ファイルの格納先は、携帯端末がファイルの格納先に該当するリストに含まれるかどうかで判定し、含まれている場合データの先として携帯端末を表示し、含まれていない場合は表示しないように構成しても良い。
【0035】
また、開示されるシンクライアントシステムにおいて、リモートデスクトップウィンドウ内に表示されたアイコンをシンクライアント端末の画面の中でリモートデスクトップウィンドウの外にドラッグアンドドロップすることで、シンクライアントサーバに格納されたファイルをWebサーバを介して、シンクライアント端末もしくは、携帯端末の二次記憶装置に格納するように、シンクライアントシステムを構成してもよい。
【0036】
上記態様によれば、以下の効果が得られる。
【0037】
本明細書の開示によれば、シンクライアントサーバ上のデータを編集可能とするWebアプリケーションプログラムと、そのデータとをWebサーバに格納することによって、シンクライアント上で稼動するWebクライアントプログラムを用いてシンクライアントサーバで編集していたデータを、シンクライアントサーバを介さずに編集することが可能となる。
【0038】
さらに、本明細書の開示によれば、WebアプリケーションプログラムとWebアプリケーションプログラムが使用するデータとをあらかじめシンクライアントにダウンロードすれば、シンクライアントがネットワークに接続できない環境においても、Webクライアントプログラムを起動することで、Webアプリケーションプログラムを起動し、データの編集が可能となる。
【0039】
このように、本明細書の開示によれば、画面転送型によるシンクライアントサーバ上での作業と、WebサーバへWebブラウザを用いてアクセスする作業と、シンクライアント上でのオフラインによる作業と、を必要に応じて切り替えることが可能である。また、切り替えて作業するために必要なデータの更新処理を実行する機能を提供することで、利用者の切替作業の負担を軽減するとともに、データの更新をし忘れることを防ぐことが可能になる。
【0040】
本明細書の開示によれば、起動ポリシーデータに、利用者が操作する計算機端末とその端末とネットワークを介して接続する計算機との間の通信環境に応じて、アプリケーションプログラムが用いるデータへのアクセス方法を切り替えることが可能になるため、通信環境が悪い場合、より操作性の高いアクセス方法を使用することができるとともに、同一のデータに対するアクセス方法を切り替えることによって、利用者が新たにデータを入力しなおす必要がないため、操作性が向上する。
【0041】
また、開示によれば、オフライン時の作業に必要なデータをシンクライアントとは別の装置に格納するので、複数の利用者が1台のシンクライアントを共有でき、一方、一人の利用者が、手元の端末に保存したデータを用いて、異なるシンクライアントを利用して、オフライン作業を継続できるシンクライアントシステムが実現可能になる。
【発明の効果】
【0042】
開示によれば、情報漏えいを防ぐとともに、シンクライアントとサーバとの通信路の品質によらない、高い操作性を備えるシンクライアントシステムが実現可能になる。
【図面の簡単な説明】
【0043】
【図1】開示するシンクライアントシステムのシステム構成を例示する図。
【図2】開示するシンクライアントシステムのプログラム構成を例示する図。
【図3】開示するシンクライアントシステムの全体の処理フローを例示する図。
【図4】開示するシンクライアントシステムを用いて、編集用のアプリケーションプログラム(AP)がシンクライアントサーバ(TCS)で起動するまでのシーケンスを例示する図。
【図5】シンクライアント(TC)におけるAP実行のための準備処理に関するシーケンスを例示する図。
【図6】TC上で編集されたファイルを保存する処理に関するシーケンスを例示する図。
【図7】起動ポリシーテーブルのテーブル構成を例示する図。
【図8】TCS20に格納されるアプリケーションプログラム用データのファイル更新状態管理テーブル210のテーブル構成を例示する図。
【図9】Webサーバ30に格納されるアプリケーションプログラム用データのファイル更新状態管理テーブル210のテーブル構成を例示する図。
【図10】アプリケーションプログラム用データのファイル更新状態管理テーブルとステータスパラメータ管理テーブルのテーブル構成を例示する図。
【図11A】切替プログラム103の処理を例示するフローチャート。
【図11B】切替プログラムにおける入力待ち処理の詳細を例示するフローチャート。
【図12】アプリケーション監視プログラム203の処理を例示するフローチャート。
【図13】切替ブローカプログラム204の処理を例示するフローチャート。
【図14】データ管理ブローカプログラム205の処理を例示するフローチャート。
【図15】データ管理プログラム302の処理を例示するフローチャート。
【図16】Webクライアントプログラム104とWebサーバプログラム303の処理を例示するフローチャート。
【図17】TC10の画面を例示する図。
【図18】TC10の画面を例示する図。
【図19】開示するシンクライアントシステムを用いてオフラインで編集用アプリケーションプログラムを利用する際の処理フローを例示する図。
【図20】シンクライアント(TC)においてオフラインで編集用アプリケーションプログラムを実行のための準備処理に関するシーケンスを例示する図。
【図21】TC10の画面を例示する図。
【図22A】TC10の画面を例示する図。
【図22B】TC10の画面を例示する図。
【図22C】TC10の画面を例示する図。
【図23】TC10の画面を例示する図。
【図24】図1に開示するシンクライアントシステムに、外部記憶装置として追加する携帯端末50の構成を例示する図。
【発明を実施するための形態】
【0044】
第一の実施形態について、図1〜図18を用いて説明する。第一の実施形態では、シンクライアントシステムを用いて文書ファイルを新規に作成したり、作成済みのファイルを編集したりする場合について示すものである。
【0045】
図1は、本実施形態に係るシンクライアントシステム(以下、本システム)の全体構成を示す。本システムは、シンクライアントサーバ機能を有するシンクライアントサーバ計算機とWebアプリケーションサーバ機能を有するWebサーバ計算機と、それらのサーバ計算機と通信するシンクライアント端末とで構成されるシンクライアントシステムである。なお、1台のサーバ装置が、シンクライアントサーバ機能とWebアプリケーションサーバ機能とを備えてもよい。
【0046】
Webアプリケーションサーバ機能とは、Webクライアントプログラムからの要求に応じて、データもしくは、Webアプリケーションプログラム(以下Webアプリプログラム)を要求元のプログラムに送信する送信機能および、Webクライアントプログラムで動作するWebアプリプログラムとともに動作することでWebサーバ上のデータを更新する機能を有するデータ管理機能とする。Webアプリプログラムとは、Webクライアントプログラム上で動作するモバイルコードである。
【0047】
このシステムは、ネットワーク40を介して接続されたシンクライアント端末10(以下TCと記載する)、シンクライアントサーバ20(以下TCSと称す)、Webサーバ30とを含んで構成される。図では、TCS20とWebサーバ30とは別々の計算機としているが、一つの計算機としてもよい。
【0048】
また、TC10、TCS20、Webサーバ30は、図では1台ずつ表示しているがそれぞれ複数台の計算機がネットワークに接続されてもよい。
【0049】
さらに、ネットワーク40は、企業内ネットワーク、インターネット、携帯電話の通信網など複数のネットワークから構成されている。例えば、TC10(TC10−1)とTCS20が企業内ネットワークに接続し、企業内ネットワークに接続するTC10とは異なるTC10(TC10−2)とWebサーバ30とがインターネットに接続する場合がある。
【0050】
TC10は、利用者のGUI操作のインタフェースを担当する装置として機能し、CPU11と、メモリ12と、二次記憶装置13と、ネットワークインタフェース14と、USB(Universal Serial Bus)などの外部デバイス用のインタフェース15と、利用者からの操作入力を取得するキーボードなどの入力部17とデータを出力する表示部などの出力部18と、これらが互いに接続されるバス等の内部通信線(以下、バスという)16を含んで構成される。
【0051】
TCS20は、利用者が利用するアプリケーションプログラムの実行を担当する装置であり、CPU21と、メモリ22 と、二次記憶装置23と、ネットワークインタフェース24と、これらが互いに接続されるバスなどの内部通信線(バスという)25を含んで構成される。
【0052】
Webサーバ30は、TCS20から送信されたアプリケーションプログラム用のデータ(以下アプリ用データ)220の管理と、TC10からの要求に基づき、Webアプリケーションプログラム(以下Webアプリプログラム)304およびアプリケーションプログラム用のデータ(以下アプリ用データ)320とをTC10へ送信するための装置であり、CPU31と、メモリ32と、二次記憶装置33 と、ネットワークインタフェース34と、これらが互いに接続されるバスなどの内部通信線(バスという)35を含んで構成される。
【0053】
図2は、本システムのプログラム構成を例示する図である。
【0054】
利用者は、本システムを用いて、アプリケーションプログラムによってファイルを作成したり、作成したファイルのデータを編集し、保存したりして、ファイル編集処理を実行する。ファイル編集処理は、「リモートのファイル編集処理」「ローカルのファイル編集処理」があり、ローカルのファイル編集処理のうち、TC10がネットワークに接続しない場合の処理をオフライン処理と呼ぶ。
【0055】
「リモートのファイル編集処理」とは、TCS20上で起動したアプリケーションプログラムがTCS20に格納されたファイルを編集する処理である。利用者が操作する計算機がアプリケーションプログラムを実行する計算機と異なるので「リモート」と呼ぶ。
【0056】
「ローカルのファイル編集処理」とは、Webサーバ30からダウンロードしたWebアプリプログラムをTC10上で起動するWebクライアントプログラム上で動作させて、TC10に一時的に保存したファイルを編集する処理である。利用者が操作する計算機とアプリケーションプログラムにあたるWebアプリプログラムを実行する計算機とが同じであるので「ローカル」と呼ぶ。
【0057】
アプリケーションプログラムは、文書作成ソフトウェア、表計算ソフトウェア、プレゼンテーション資料作成ソフトウェアなどがある。以下では、アプリケーションプログラムの一つとして、プレゼンテーション資料作成ソフトウェアを用いる場合を想定する。
【0058】
アプリケーションプログラムで作成するデータは、ファイルとして管理される。ファイルは、ファイル名で識別され、格納される記憶媒体の記憶領域名(記憶媒体の識別子とディレクトリ名の組合せなど)とファイル名との組み合わせで一意に識別される。またファイル名は、拡張子を含んでおり、例えば「sample.txt」のファイル名のファイルの場合、「.」の後ろに続く文字列「txt」が拡張子となる。拡張子とアプリケーションプログラムとは対応付けることが可能であり、ファイル名を指定して、ファイルを開く指示をすることによって、ファイル名に対応付けられたアプリケーションプログラムを起動し、ファイル名が示すファイルのデータを読み込む。この仕組みは、当業者の知るところであるため、詳細説明を割愛する。
【0059】
まず、TC10に格納されるプログラムおよびデータについて説明する。
【0060】
TC10において、オペレーティングシステム(OS)101と、切替プログラム103、リモート描画クライアントプログラム102とWebクライアントプログラム104とは、メモリに適宜ロードされて記憶されている。これらのプログラムは、CPU11で実行されて、以下に説明する所定の機能を実現する。
【0061】
OS101は、入出力機能、メモリや二次記憶装置の読み書きの管理機能、通信機能などについて、アプリケーションプログラムで利用される共通の基本的な処理を実行する。
【0062】
切替プログラム103は、利用者がTC10で操作可能な操作内容を示すメニューを表示し、利用者からの指示内容に応じてリモート描画クライアントプログラム102もしくは、Webクライアントプログラム104を起動し処理を開始する。さらに切替プログラム103は、TCS20で動作する切替ブローカプログラム204からの割り込み処理に応じた処理を実行する。
【0063】
ネットワーク状態テーブル110は、TC10とTCS20との間のネットワークの状態を測定した値(スループットやレイテンシ)やTC10とTCS20との間の接続方式(インターネット、イントラネット、携帯電話網などのネットワークの種類や有線LAN、無線LAN、データ通信カード、電力線などのネットワークに接続する際の通信手段の種類)を示すデータを通信環境のデータとして格納している。なお、ネットワーク状態テーブルは、通信環境のデータとだけでなく、後述するファイル更新状態テーブル330と同様のデータを格納することで、一時保存データ120に格納したファイルの更新状態を格納してもよい。
【0064】
一時保存データ120は、後述するオフライン処理で使用するWebアプリプログラムや編集用データであるアプリケーション用データを格納しており、メモリ12上のデータが、適宜、二次記憶装置13や外部記憶媒体19に格納される。
【0065】
ユーザ識別子データ130は、利用者を一意に識別するためのデータであり、外部記憶媒体19に格納され、外部デバイスインタフェース15を介して、メモリ12に適宜ロードされて記憶されている。なお、ユーザ識別子データ130は、二次記憶装置13に格納されていてもよい。
【0066】
Webクライアントプログラム104が実行された結果得られるデータは、メモリ12もしくは、二次記憶装置13もしくは、外部記憶媒体19に格納される一時保存データ120に保存される。また、Webクライアントプログラム104が後述するWebサーバ30にアクセスし、WebアプリプログラムとそのWebアプリプログラムが使用するアプリ用データとをネットワークインタフェースを介して取得すると、これらのデータはメモリ12上にあるだけでなく、一時保存データ120として格納することもある。
【0067】
一時保存データ120への保存は、TC10で動作する切替プログラム103によって表示されるメニューに対するユーザ入力もしくは、TCS20の切替ブローカプログラム204からの指示に基づき切替プログラム103が指示するか、もしくは、リモート描画クライアントプログラム102によって表示されたメニューに対するユーザ入力により実行される。
【0068】
次に、TCS20に格納されるプログラムおよびデータについて説明する。
【0069】
TCS20において、OS201と、リモート描画サーバプログラム202と、アプリケーション監視プログラム203(以下アプリ監視プログラム)と、アプリケーションプログラム206(以下、AP206)とデータ管理ブローカプログラム205と切替ブローカプログラム204は、二次記憶装置23に記憶され、これらのプログラムは、メモリ22にロードされCPU21で実行されて、以下に説明する機能を実現する。
【0070】
また、起動ポリシー230、アプリ用データ220、状態テーブル210は、二次記憶装置23に格納されており、それらのデータを使用するプログラムが起動される際に、メモリにロードされ、更新されたデータは、所定のタイミングで二次記憶装置23に格納される。
【0071】
リモート描画サーバプログラム202は、TC10のリモート描画クライアントプログラムからの要求に応じて処理を実行する。アプリ監視プログラム203は、OS201を介して、リモート描画サーバプログラム202が取得したユーザ操作検出データを取得することをきっかけとしてアプリケーションプログラムをTCS20で実行するか、TC10で実行するかを判定する。切替ブローカプログラム204は、アプリ監視プログラム203、データ管理ブローカプログラム205、TC10の切替プログラム103からの入力を待ち、データを渡してきたプログラムに応じて対応する処理を実行する。データ管理ブローカプログラム205は、TCS20に格納されるアプリ用データ220を状況に応じてTCS20もしくはTC10で編集できるようにデータの複製や複製したデータの同期などを管理するプログラムである。
【0072】
次に、Webサーバ30に格納されるプログラムおよびデータについて説明する。
【0073】
Webサーバ30において、OS301、Webサーバプログラム303と、Webアプリプログラム304と、データ管理プログラム302は、二次記憶装置33に記憶され、これらのプログラムはメモリ32にロードされ、CPU31で実行されて、以下に説明する機能を実現する。
【0074】
また、二次記憶装置33にはアプリ用データ320および、このアプリ用データ320に対するアクセス制御用のデータ310、ファイル更新状態管理テーブル330、ステータスパラメータ管理テーブル340のデータが格納されている。
【0075】
なお、各プログラムやデータは、予め各装置の二次記憶装置に格納されていても良いし、必要なときに、各装置が利用可能な媒体を介して、他の装置から上記二次記憶装置に導入されてもよい。媒体とは、たとえば、上記外部デバイスインタフェースに着脱可能な記憶媒体、または通信媒体(すなわち、上記ネットワークインタフェースに接続する有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号)を指す。また、アプリ用データ220、320は、NAS(Network Attached Storage)に格納されて、NASが提供するアクセス制御の機能によりユーザからのアクセスを受けてもよい。アプリ用データ320は、アプリ用データ220のうち、利用者に指定された一部もしくはすべてのファイルを複製したものである。ただし、AP206とWebアプリプログラム304とで、扱うデータ形式が異なる場合は、複製の際適宜データを変換しそれぞれのプログラムで扱うことができる形式とする。
【0076】
図3を用いて、本システムを用いた第一の実施形態の処理フローを説明する。
【0077】
TCS20、Webサーバ30、TC10の電源が投入され、各計算機のOSが起動する。OSの起動後、各計算機は、以下のプログラムも起動する。TC10は、切替プログラム103、TCS20は、アプリ監視プログラム203、切替ブローカプログラム204、データ管理ブローカプログラム205、Webサーバ30は、データ管理プログラム302、Webサーバプログラム303を起動する(F1)。
【0078】
次に、システムは、利用者が本システムを使用するためのログイン情報を取得する(F2)。ログイン情報の取得方法には、TC10の画面に、利用者を識別する識別子(ID)とパスワードとを入力させる画面を表示し、利用者がキーボードなどの入力装置を用いてデータを入力したり、利用者の生体情報(指紋、掌紋、指の静脈や虹彩などを撮像した画像など)を取得するデバイスを介して取得したり電子タグなどに格納されたデータを読み取り装置を用いて取得したりする方法がある。
【0079】
利用者がTC10の計算機にログインすると、TC10の出力部17には、利用者が次の操作を指定するための選択肢がメニューとして表示される。表示された選択肢を利用者が選択する方法や画面例は、図17、図18で後述する。利用者がTC10とTCS20とを接続してTCS20にログインする指示を出すと、TC10とTCS20の接続処理が開始する(F6)。リモート描画クライアントプログラム102とリモート描画サーバプログラム202によって、TC10とTCS20が接続すると、TCS20で動作するアプリケーションプログラムの起動をTC10の入力部18を介して指定することが可能となる。接続後の詳細は、図4で後述する。
【0080】
TC10とTCS20が接続している時、利用者がAPを起動する指示を入力するとシステムはAPの起動の指示を取得する(F7)。処理内容の詳細は、図4で後述し、アプリケーションプログラムの起動を利用者が指示する際に表示される画面例は図18(a)で後述する。TCS20は、APの起動を検知すると、TC10とTCS20の間のネットワーク40の通信状況や、TCS20における計算機の処理能力の状態に関するデータを取得する(F8)。
【0081】
次に、F7で取得した利用者が指示したAPの起動に必要な指示内容と、F8で取得したデータとを後述する起動ポリシー230に基づいて、APを起動する計算機がTC10になるか、TCS20になるかを判定する。TC10とTCS20とを接続するネットワーク40がブロードバンドやLANのように回線状態が良い場合は、F11に進み、ナローバンドのような通信回線の状態が悪い場合や、TCS20の計算機負荷が高い場合などは、F21に進む(F9)。アプリケーションプログラムをTCS20で実行するか、TC10のブラウザ上で実行するかを利用者からの入力に基づき決定する場合、利用者からの入力を受け付ける際に表示される画面例は図18(b) で後述する。
【0082】
TCS20におけるAP実行のための準備処理(F11)は、TC10とTCS20とを接続するネットワーク40の回線状態が良い場合などに、TCS20に格納されたAP206が起動し、アプリ用データ220として格納されたファイルを読み込む処理である。詳細は、図4で後述する。TCS20でアプリケーションプログラムが起動した際に、表示される画面例は図18(c) で後述する。
【0083】
TCS上でのファイル編集処理(F12)は、リモートのファイル編集処理である。TCS20でAP206が起動された場合、編集されるデータは、TCS20に格納されるアプリ用データ220であり、データの保存処理は当業者の知るところであるため、ここでは詳細説明を割愛する。
【0084】
編集されたファイルの保存処理(F13)は、編集されたファイルを保存する利用者の指示に応じて、編集結果をTCS20に格納されたアプリ用データ220として上書き保存するもしくは、別の名称で保存する処理である。
【0085】
保存処理が終了した後、利用者の操作に応じて、AP206を終了し、TCS20をログオフする(F14)。
【0086】
一方、通信回線の状態が悪い場合などは、TC10でアプリケーションプログラムを実行するための準備処理として、編集環境の準備やWebクライアントプログラム104の起動を実行する。詳細は図5を用いて後述する(F21)。TC10で起動するWebクライアントプログラム上でWebアプリプログラムが動作する際に表示される画面例は、図18(d)と図22で後述する。
【0087】
F22は、ローカルのファイル編集処理である。
【0088】
ローカルで編集されたファイルは、利用者の指示に応じて保存処理される。この保存処理では、利用者が操作する計算機だけでなく、操作する計算機とは異なる計算機で保存処理が実行されるため、リモートでの保存処理と呼ぶ(F23)。
【0089】
起動しているWebクライアントプログラム104は、利用者の操作に応じて終了する(F24)。
【0090】
次に、図4を用いて、図3で示したF6からF11までの処理を、TC10に格納されたプログラムとTCS20に格納されたプログラムとが実行する処理のシーケンスに従い説明する。図4の破線で囲んだ四角の中の処理は、図3のF6〜F11に対応している。
【0091】
なお、シーケンス図やフローチャートにおける各ステップは、ステップ101をS101のようにステップをSと略して記載する。また、同じ番号は、処理内容が同じ場合を示す。さらに、以下に説明する処理は、CPUがそれぞれの機能を実現するプログラムを実行することにより、実現されるものであるが、説明の便宜上、プログラムを実行主体として説明する。
【0092】
F6の処理の詳細を説明する。
【0093】
利用者がTC10を用いてTCS20へ接続するまでのシーケンスを説明する。利用者が切替プログラム103を用いてTCS20への接続を指定すると、リモート描画クライアントプログラム102が起動して、TCS20への接続処理が開始する(SQ111)。利用者がTC10を用いてTCS20へ接続し利用する場合、以下の技術が、画面転送型のシンクライアントシステムとして知られている。
【0094】
リモート描画クライアントプログラム102が利用者からの入力情報(キーボードおよびマウスの操作など)を処理し、リモート描画サーバプログラム202に転送する(SQ113)。リモート描画サーバプログラム202は、リモート描画クライアントプログラム102より受け取った入力情報を、OS201を介してTCS20上で動作するプログラムへ渡し、入力情報に応じた処理結果を利用者への出力情報として、TC10のリモート描画クライアントプログラム102に転送する(SQ115)。リモート描画クライアントプログラム102は、リモート描画サーバプログラム202から受け取った利用者への出力情報(ディスプレイ出力或いはスピーカ出力など)を処理する。このように、画面転送型のシンクライアントシステムでは、リモート描画クライアントプログラムとリモート描画サーバプログラムとのやり取りによりTC10からの入力情報を使って、TCS20上で処理した結果をTC10に出力する。
【0095】
F7の処理の詳細を説明する。
【0096】
利用者がTC10の入力装置を用いて操作した内容を示す利用者からの入力情報 (ユーザ操作)は、リモート描画クライアントプログラム102からリモート描画サーバプログラム202へ送られる(SQ117)。リモート描画サーバプログラム202は、OS201を介して受信したユーザ操作をアプリ監視プログラム203に渡し(SQ119)、アプリ監視プログラム203は、受け取ったユーザ操作に基づきユーザ操作検出データを生成する(ユーザ操作検出データの詳細は図12のS232で説明する)。
【0097】
ユーザ操作とは、TC10の入力装置を利用者が操作することによって入力することであり、キーボードからの文字入力の内容や、TC10の出力装置、たとえば画面に表示されたGUIに対する入力がある。GUIに対する入力は、画面に表示された領域(ボタン)をマウスのようなポインティングデバイスでクリックすることで次に実行する処理内容を指定したり、表示されるファイル名やアイコンを、マウスの右ボタンのクリックにより選択し、その結果表示されるメニューに示された操作内容を指定したり、アイコンと呼ぶファイルを示す部品をドラッグアンドドロップと呼ぶ操作で移動させることで、異なるディレクトリの間でファイルを複製させたり移動させたりする処理がある。操作内容は、表示されたファイル名もしくは、キーボードを用いて入力したファイル名を指定して、ファイル名の拡張子にあらかじめ関連付けられたアプリケーションを起動する指示や、起動中のアプリケーションプログラムが呼び出しているファイルに対する変更や変更を保存する指示などがある。
【0098】
F8では、アプリ監視プログラム203が、後述する状態テーブル210にデータを格納する(詳細は図12のS233で説明する)。F9では、起動ポリシー230に基づき、TCS20でAP206を起動するかどうかを判定する(詳細は図12のS234で説明する)。
【0099】
アプリ監視プログラム203の判定の結果が、TCS20である場合、AP206を起動し(SQ121)、TC10から送られてくるユーザ操作は、リモート描画サーバプログラム202とリモート描画クライアントプログラム102を介して、起動されたAP206に引き渡される(SQ123、SQ125)(F11)。
【0100】
次に、図5を用いて、図3で示したF21の処理を、TC10に格納されたプログラム、TCS20に格納されたプログラムとWebサーバ30に格納されたプログラムとが実行する処理のシーケンスに従い説明する。F21は、F9において、アプリ監視プログラム203が「ファイル編集処理を実行する計算機がTC10である」と判定した結果実行される処理である。なお、データ保存プログラム502は、本実施例の構成要素には含まれず、第二の実施例で説明する。
【0101】
アプリ監視プログラム203は、ユーザ操作検出データを切替ブローカプログラム204へ渡す(この処理は図12 S237で後述)。切替ブローカプログラム204は、ユーザ操作検出データをデータ管理ブローカプログラム205へ渡す(この処理は図13 S243で後述)。データ管理ブローカプログラム205は、ユーザ操作検出データとアプリ用データ220から参照したファイルとユーザ識別子などをデータ管理プログラム302へ渡す(この処理は図14 S253で後述)。
【0102】
データ管理プログラム302は、受け取ったデータに基づき、ファイルをアプリ用データ320に格納し(この処理の詳細は図15 S322で後述)、ユーザ識別子とユーザ操作検出データなどに基づき、後述するアクセス先情報と切替パラメータを生成し、状態テーブル330にアクセス先情報を格納する(この処理は図15 S323で後述)。データ管理プログラム302は、生成されたアクセス先情報と切替パラメータをデータ管理ブローカプログラム205に渡す(この処理は図15 S324で後述)。
【0103】
データ管理ブローカプログラム205は、受け取ったアクセス先情報を状態テーブル210に格納し、アクセス先情報と切替パラメータとを切替ブローカプログラム204へ渡す(図14 S256で後述)。
【0104】
切替ブローカプログラム204は、アクセス先情報と切替パラメータとを、切替プログラム103へ送る(図13 S245で後述)。
【0105】
切替プログラム103は、切替ブローカプログラム204からアクセス先情報と切替パラメータとを受け取ると、切替パラメータに基づきTC10で動作するプログラムを切り替えるための切替制御用データを生成し、切替制御用データに基づき、Webクライアントプログラム104を起動させる(図11(B) S1397で後述)。
【0106】
Webクライアントプログラム104は、切替プログラム103が受け取ったアクセス先情報に基づき、Webサーバ30へアクセスする。この時ユーザ識別子をあわせて送信し、Webサーバ30のアクセス制御用データ310を用いれば、Webサーバ30へのシングルサインオンが可能である。
【0107】
Webサーバプログラム303は、Webクライアントプログラム104からのリクエスト受信し、リクエストに基づきWebアプリプログラム304を用いてアプリ用データ320のデータを参照する(SQ147、SQ149)。参照したデータおよびWebアプリプログラムをレスポンスとして送信する。
【0108】
この結果、Webクライアントプログラム104には、WebアプリプログラムとデータとがTC10にダウンロードされる(SQ151)。このようにして、TC10でWebクライアントプログラム104が起動し、Webサーバプログラム303を介して、Webアプリプログラム304がTC10のWebクライアントプログラム104上とWebサーバ30上で起動している。以上の処理により、TC10におけるAP実行のための準備処理が完了する。
【0109】
次に、図6を用いて、図3で示したF23の処理を、TC10に格納されたプログラム、TCS20に格納されたプログラムとWebサーバ30に格納されたプログラムとが実行する処理のシーケンスに従い説明する。
【0110】
図5のF21の処理が完了すると、Webクライアントプログラム104上で動作するWebアプリプログラムは、利用者からの入力を取得し、入力に応じたWebサーバプログラム303の処理結果を表示し、利用者が指示するファイルに対する編集処理を実行する。
【0111】
ファイルに対する更新の指示が入力されると、Webクライアントプログラム104は、一時保存データ120として格納されたファイルに対する更新データを、Webサーバ30へ送信し(SQ161)、Webサーバプログラム303は更新データを受信し、受信した更新データに基づきアプリ用データ320を更新する。
【0112】
データ管理プログラム302は、アプリ用データ320のデータの更新状況を監視しており、アプリ用データ320が更新されることを検知すると更新フラグをONにし、ファイル更新状態管理テーブル330を更新する。データ管理プログラム302は、アプリ用データ320の更新を監視していてもよいし、アプリ用プログラム304からデータの更新要求の通知を受信してもよい。
【0113】
次にデータ管理プログラム302は、更新されたアプリ用データと更新日時や更新者などのデータをデータ管理ブローカプログラム205へ送信する(SQ167)。
【0114】
データ管理ブローカプログラム205は、受信したデータに基づき、アプリ用データ220と状態テーブル210とを更新し(図14 S257で後述)、更新完了をデータ管理プログラム302に通知する(図14 S258で後述)。データ管理プログラム302は、更新完了の通知を受信すると(図15 S328で後述)、アプリ用プログラム304にデータ更新の完了を通知し(図15 S329で後述)、Webサーバプログラム303、Webクライアントプログラム104を介して利用者にデータの更新完了を知らせる。
【0115】
次に、TC10、TCS20、Webサーバ30上で動作する各プログラムの処理フローを図7〜図10のテーブル構成図と図11〜図16のフローチャートとを用いて説明する。
【0116】
まず図7〜図10で示したテーブル構成図に格納されるデータの詳細を説明する。
【0117】
図7を用いて、TCS20に格納される起動ポリシー230のテーブル構成を説明する。
【0118】
起動ポリシー230は、テーブル230に格納されるポリシーを識別するID欄、アプリケーションプログラムを識別するID(以下、アプリID)を格納するアプリID欄231、アプリケーションプログラムを起動する計算機を識別するアプリケーション起動計算機欄233、条件テーブル250のデータを識別する条件IDを格納する条件ID欄232からなる。アプリケーション識別テーブル240は、アプリIDを格納するアプリID欄241と、アプリIDで識別されるアプリケーションプログラムの実行プログラムがTCS20に格納されている領域を示す実行プログラムのTCS上の格納先欄242、242で示すプログラムと同等の機能を有するWebアプリケーションプログラムが格納されている領域を示すWebサーバ上の格納先欄243と、それらのプログラムに対応付けられているファイルの拡張子を格納する拡張子欄244からなる。
【0119】
条件テーブル250は、アプリケーションを起動する計算機を判定する際の条件を格納する。条件は、アプリケーションプログラムを起動する際の、TC10、TCS20、TC10とTCS20との間のネットワークの状態などを示すパラメータを一つ以上組み合わせたもので、条件IDで区別する。パラメータには、通信環境に関するデータ、アプリケーションプログラムを起動する際に使用するファイルに関するデータ(ファイルサイズ、ファイルの種類など)、TC10及びTCS20の計算機処理能力の状態(メモリ使用量、メモリ使用率、CPUの使用率、起動しているアプリケーションプログラムの数、実行されているプロセス数、画面に表示しているウィンドウの数、あらかじめ指定したアプリケーションプログラムが起動しているかどうかを示す識別子、表示している画面の解像度や表示させる色のビット数など)がある。
【0120】
条件テーブル250のテーブル構成の一例を示す。条件ID欄251は条件IDを格納し、通信環境ID欄252は、通信環境テーブル260に格納する通信環境に関するデータを識別するIDを格納し、ファイル種別欄253は、アプリケーションプログラムが読み込むファイルの種別を格納する。
【0121】
通信環境テーブル260は、TC10とTCS20との間の通信環境に関するデータとして、通信手段、通信網の種類、ネットワークの状態を測定した値などを組み合わせて通信環境を区分して、区分した通信環境毎に通信環境IDを付与する。
【0122】
図8を用いて、TCS20に格納される状態テーブル210のテーブル構成を説明する。
【0123】
状態テーブル210は、アプリ用データ220に格納されるファイルを識別する識別子を格納するインデックス欄211、TCS20でファイルを識別するファイル名欄212、ファイル名欄で示すデータがTCS20のサーバ内に格納されているディレクトリを示すTCSサーバ内ディレクトリ欄213、ファイル名欄212で示すデータを読み込み実行する、アプリケーションプログラムを識別するアプリIDを格納するアプリID欄214、インデックス欄331もしくはファイル名欄332に格納されるデータで識別されるデータをWebサーバ30経由で編集する際にWebクライアントプログラムが指定するアクセスするために必要なアクセス先情報を格納するインターネットアドレス欄215、TCS20に格納されているデータが、Webサーバ30コピーしたデータもしくはTC10に格納されたデータとの同期ができている場合(「済」を示すデータが格納される)と、同期ができていない場合(「未済」を示すデータが格納される)を識別するデータを格納するシンクロ欄216、後述するステータス番号を格納するステータス番号欄217、Webサーバ30のデータと最後に同期した日時を格納する最終更新日時欄218、インデックス欄211もしくはファイル名欄212に格納されるデータで識別されるデータをWebサーバ30を介して編集可能な利用者を識別するユーザIDを格納するUserID欄219を含んで構成される。
【0124】
さらに、状態テーブル210は、条件テーブル250に格納されるデータと同じ種類のデータを持つ(図示せず)。
【0125】
図9を用いて、Webサーバ30に格納されるファイル更新状態管理テーブル330のテーブル構成を説明する。ファイル更新状態管理テーブル330には、TCS20に格納されているファイルが、Webサーバ30やTC10にコピーされているか、コピー後編集されているか、編集されたデータがTCS20のデータと同期されているか、TC10で新規に作成されたデータが、Webサーバ30やTCS20に格納されているか、などのファイルの複製や改変の状態や同期の状態を管理するためのデータを格納する。
【0126】
ファイル更新状態管理テーブル330は、アプリ用データ320に格納されるファイルを識別する識別子を格納するインデックス欄331、TCS20でファイルを識別するファイル名欄332、ファイル名欄で示すデータがTCS20のサーバ内に格納されているディレクトリを示すTCSサーバ内ディレクトリ欄333、ファイル名欄332で示すデータを読み込み実行する、アプリケーションプログラムを識別するアプリIDを格納するアプリID欄334、インデックス欄331もしくはファイル名欄332に格納されるデータで識別されるデータをWebサーバ30経由で編集する際にWebクライアントプログラムが指定するアクセスするために必要なアクセス先情報を格納するインターネットアドレス欄335、Webサーバ30上のデータが、TCS20に格納されているデータもしくはTC10にダウンロードしたデータとの同期ができている場合(「済」を示すデータが格納される)と、同期ができていない場合(「未済」を示すデータが格納される)を識別するデータを格納するシンクロ欄336、後述するステータス番号を格納するステータス番号欄337、アプリ用データ320に格納されるファイルが最後に更新された日時を格納する最終更新日時欄338、インデックス欄331もしくはファイル名欄332に格納されるデータで識別されるデータをWebサーバ30で編集する指示を実行した利用者を識別するユーザIDを格納するUserID欄339を含んで構成される。TCSサーバ内ディレクトリ欄333のデータは、TCS20が複数台ある場合は、それぞれのTCS20を識別するデータを含んだ値とする。アプリ用データ320に格納されたファイルが、格納後に一度も編集されていない場合、すなわちステータスNoが1の場合は、最終更新日時欄338の日時は、アプリ用データ320に複製された日時を示す。
【0127】
ファイル更新状態管理テーブル330と後述するステータスパラメータ管理テーブル340は、Webサーバ30に格納されているが、TCS20にも格納され同期をとられてもよく、TCS20とWebサーバ30のいずれからもアクセス可能なネットワークディスクなどに格納されても良い。
【0128】
図10を用いて、ステータスパラメータ管理テーブル340のテーブル構成を説明する。
【0129】
ステータスパラメータ管理テーブル340は、TCS20に格納されているアプリ用データのファイルの複製がどの計算機もしくは記憶媒体上にあり、ファイルに対するアクセス状況がどのような状態かを説明したStatus説明欄342、複製されたデータが変更されているかどうかのファイルの変更状態を示すファイル状態欄343と、Webサーバ30に格納されているアプリ用データとTC10にダウンロードされて、一時保存データとして格納されたファイルとの間でデータの同期が完了しているかどうかを示すシンクロ状態欄344とを、ステータス番号欄340に格納したステータス番号毎に格納している。
【0130】
また、TC10以外の端末にデータがダウンロードされる場合は、どの端末にダウンロードされているかを示すデータを含んでもよい。さらに、ファイルに対するアクセス状態の1つとして、端末にダウンロードしたデータが、端末から削除されたかどうかを示す状態を含んでも良い。
【0131】
次にTC10で動作するプログラムが実行する処理を説明する。TC10のOSが起動すると、切替プログラム103が起動する。切替プログラム103は、ポインティングデバイスからの入力に応じて、利用者からの入力をリモート描画クライアントプログラム102もしくは、Webクライアントプログラムもしくは、切替プログラムのいずれかのプログラムに対して切り替えて渡す。また、切替プログラム103は、ポインティングデバイス以外からの入力デバイスからの入力を渡すプログラムを切り替える。リモート描画クライアントプログラム102は、切替プログラム103が起動した後、利用者からの指示があると起動する。Webクライアントプログラムは、切替プログラム103が起動した後、切替プログラム103からの制御もしくは、利用者からの指示があると起動する。
【0132】
図11(a)、図11(b)を用いて、切替プログラム103が実行する処理を説明する。
【0133】
切替プログラム103は、利用者がTC10の電源を投入することでOSが起動され、ログイン処理が実行されると、起動する。切替プログラム103が起動すると、切替プログラムは、メニューを表示し利用者からの入力を待つ(S131)。利用者が選択したメニューに応じた処理を実行する。終了処理が指示されれば(S132)、切替プログラムを終了するとともに、ログアウトする。
【0134】
選択したメニューに応じて、リモート描画クライアントプログラム102を起動し、TCS20に接続する処理か(S136)、Webクライアントプログラム104を起動し、Webサーバ30に接続する処理か(S137)、オフライン処理か(S138)を実行する。これらいずれかの処理を実行した後は、入力部17からのユーザ操作もしくは、ネットワークインタフェース14を介して入力されるTCS20からの割り込み入力を待ち(S139)、入力に応じた処理を実行する。リモート描画クライアントプログラム102でTCS20に接続する場合もしくは、Webクライアントプログラム103でWebサーバ30に接続する場合は、通信手段を設定する(S134)。
【0135】
図11(b)に、図11(a)のステップ139の詳細フローを示す。ユーザ操作もしくは、TCS20からの入力がないかを待ち(S1391)、入力があれば、リモート描画クライアントプログラム102、Webクライアントプログラム104のいずれも終了であるかどうかを判定する(S1392)。終了ならば、図4のS132に戻り、終了でなければ、ユーザ操作による入力かTCSからの入力かによって処理を分岐する(S1393)。入力が、ユーザ操作による入力の場合はS1394 、TCS20からの入力の場合S1397へ進む。
【0136】
ステップ1394では、ユーザ操作による入力がリモート描画クライアントプログラム102によって表示された領域(図22(a)の1607、図22(b)の1703や1705)であるか、Webクライアントプログラム104によって表示された領域(図22(a)の1601、図22(b)の1704や1706)であるか、切替プログラム104によって表示された領域(図22(a)の1608や1609、図22(b)の1702や1707)であるかに応じて、対応する処理を実行する。リモート描画クライアントプログラム102によって表示された領域に対する入力である場合は、S1395 に進み、入力データをリモート描画サーバプログラム202へ送信する。Webクライアントプログラム104によって表示された領域に対する入力である場合は、S1396に進み、Webクライアントプログラムに対する入力として処理を実行する。切替プログラム104によって表示された領域に対する入力である場合は、切替プログラムが提供する処理を実行する(S1398)。
【0137】
TC10の画面に、これら三つの領域が表示されている場合の画面例を図22に示す。ファイルアイコンのドラッグアンドドロップの操作のように、これらの領域をまたがる操作の場合は、ドラッグアンドドロップするファイルアイコンが表示されていた領域に対する処理とみなし、ドロップ先の領域からはファイルのコピー先のディレクトリ名を検出する。例えば、領域1703に表示されたファイルのアイコンを領域1702にドラッグアンドドロップする操作で、アイコンの示すファイルをオフライン準備処理する操作とみなしたり、領域1702に表示されたアイコンが示すファイルを領域1703にドラッグアンドドロップする操作で、アイコンの示すファイルをTCS20へアップロードする操作と見なしたりする。
【0138】
ステップ1397では、TCS20の切替ブローカプログラム204から送信されたアクセス先情報と切替パラメータとを受信する。受信した切替パラメータに基づき、切替制御用データを生成する。
【0139】
例えば、切替パラメータが「Open」の場合、Webクライアントプログラム104を起動し、アクセス先情報に基づきWebサーバ30にアクセスさせるためのコマンドを切替制御用データとして生成し、そのコマンドを実行する。一方、切替パラメータが「Copy」の場合、アクセス先情報に基づきWebサーバ30にアクセスし、オフライン処理で必要なWebアプリプログラムのデータと編集対象のデータとをWebサーバ30より取得し、一時保存データ120に格納するためのコマンドを切替制御用データとして生成し、そのコマンドを実行する。アクセス先情報は、一時保存データ120に格納してもよい。
【0140】
切替プログラム103と切替ブローカプログラム204とは、リモート描画クライアント102とリモート描画サーバ202とが接続を確立した際に、それとあわせて接続を確立する。
【0141】
このようにして本実施例では、利用者が、TC10の入力装置を用いて、アプリケーションプログラムを起動するための操作に関する指示をした場合、切替プログラム103は、TCS20で動作するAP206がアプリ用のデータを操作するか、Webサーバ30で動作するWebアプリプログラム304がデータを操作するかを判定し、前者なら、リモート描画クライアントプログラム102によって、リモート描画サーバプログラム202から送られてくる画面データを表示するように、後者なら、TC10に搭載されたWebクライアントプログラム104を起動するように、制御を切り替える。リモート描画サーバプログラムから送られてくる画面データの内容は、TCS20でAP206が起動したこと表わす画面データである。
【0142】
次にTCS20で動作するプログラムが実行する処理を説明する。
【0143】
図12を用いて、アプリ監視プログラム203が実行する処理を説明する。
【0144】
アプリ監視プログラム203は、リモート描画サーバプログラム202、データ管理ブローカプログラム205、切替ブローカプログラム204とともに、OSが起動された後起動される。
【0145】
アプリ監視プログラム203は、OS201を介して、リモート描画クライアントプログラム102から送られたユーザ操作を監視する(S231)。
【0146】
ユーザ操作があるとその内容に基づき「ユーザ操作検出データ」を生成し、そのデータに応じて操作内容を判定する(S232)。
【0147】
ユーザ操作検出データは、「ファイル名」「ファイルの格納先(フルパスのディレクトリ名やメモリ上のアドレス)」「ファイル名に基づくアプリID」「操作内容」及び、「ファイルのコピーや移動の操作の場合は、ファイルをコピーする格納先」からなる。操作内容は、(1)アプリケーションプログラムの起動を伴う処理と(2)ファイルのコピーを伴う処理と(3)それ以外とに分けられ、(1)の場合は、S233に進み、(2)の場合はS237へ進む(3)場合は、S231に戻る。
【0148】
S233では、TCS20の負荷状態やTC10とTCS20とを接続するネットワーク40の負荷状態を検出する。ステップ233で検出するデータは、条件テーブル250で示すようなネットワーク40の状態やTCS20の負荷状態を示すデータであり、状態テーブル210に格納される。ネットワークの負荷状態は、後述するS247でネットワーク状態テーブル110に格納されているものを参照してもよい。
【0149】
ステップ234では、起動ポリシー230、ユーザ操作検出データの内容、TCS20とネットワーク40の負荷状態とに基づき、アプリケーションプログラムを起動する計算機がどの計算機になるかを判定し、S235で判定の結果に基づき処理を分岐する。
【0150】
起動ポリシーに基づき、アプリケーションプログラムを起動する計算機を判定する具体例を示す。
【0151】
利用者が「bbb.ppt」という名称のファイルを編集するため、画面に表示されたファイルのアイコンをダブルクリックした場合を例にとる。
【0152】
ユーザ操作検出データは、アイコンが示すファイル名に基づき、ファイル名「bbb.ppt」を取得し、アイコンが表示されている場所に基づき、ファイルの格納先「c:\Doc\home\dir1」を取得し、ファイルの拡張子「ppt」とテーブル240に基づき、ファイルに対応づけられたアプリケーションプログラムを特定し、そのアプリID「A1」を取得し、操作内容は、ダブルクリックの操作に基づき、アプリケーションプログラムを起動してファイルを開く「Open」の処理であることを取得する。
【0153】
TCS20とネットワーク40の負荷状態の一例として、通信環境IDに「ブロードバンド」か「非ブロードバンド」を取得し、TCS20の負荷を示す指標として、アプリケーションプログラムが開くファイルの種別として「描画ソフト」か「動画ファイル」を取得する。
【0154】
「ブロードバンド」で「描画ソフト」ならば、テーブル250に基づき、条件IDはC1となり、「非ブロードバンド」で「描画ソフト」ならば条件IDはC2, 「ブロードバンド」で「動画ファイル」ならば条件IDはC3となる。
【0155】
このようにして取得したアプリIDと条件IDを起動ポリシー230に基づき、判定すると、アプリIDがA1、条件IDがC1の場合は、アプリケーションプログラムは、TCSで起動し、アプリIDがA1、条件IDがC2の場合は、アプリケーションプログラムは、TCで起動するという判定結果となる。
【0156】
ステップ235では、このようにして得た判定の結果、TCS20でアプリケーションを起動する場合はS236に進みAP206を起動し、TC20でアプリケーションプログラムを起動しないすなわち、TC10で起動する場合はS237に進み、切替ブローカプログラム204にユーザ操作検出データの内容を渡す。
【0157】
なお、アプリ監視プログラム203は、図18(b)で示す画面を表示し、利用者が1402を選択した場合にはS237、1403を選択した場合にはS236に進んでもよい。
【0158】
図13を用いて、切替ブローカプログラム204が実行する処理を説明する。
【0159】
切替ブローカプログラム204は、ほかのプログラムからの割り込み処理を待ち(S241)、割り込みしてきたプログラムに応じて処理を実行する。アプリ監視プログラム203からの割り込みがある場合は(S242)、データ管理ブローカプログラム205にユーザ操作検出データを渡し(S243)、データ管理ブローカプログラム205から割り込みがある場合は(S244)、切替プログラム103に切替パラメータとアクセス先情報とを送信し(S245)、切替プログラム103から割り込みがある場合は(S246)、ネットワークの状態に関するデータを受け取り、ネットワーク状態テーブル110に書き込む(S247)。
【0160】
図14を用いて、データ管理ブローカプログラム205が実行する処理を説明する。
【0161】
データ管理ブローカプログラム205は、ほかのプログラムからの割り込み処理を待ち(S251)、割り込みしてきたプログラムに応じて処理を実行する。切替ブローカプログラム204からの割り込みがある場合は(S252)、ユーザ操作検出データに基づいて、アプリ用データ220から読み出したデータとユーザ操作検出データとを、データ管理プログラム302に渡すとともにファイルの更新状況を状態テーブル210に格納する(S253)。状態テーブル210は、アプリケーション用データ220に格納されるファイルの更新状態とTC10とTCS20との間のネットワークの接続状況の状態とに関するデータを格納している。
【0162】
状態テーブル210に格納されるデータについて図8を用いて説明する。
【0163】
インデックス211に格納される値は、ユニークな値となるようにデータ管理ブローカプログラム205が生成してもよいし、TC10でファイルを編集したり、新規に作成したりして生成されたファイルがWebサーバ30を介してアップロードされて、アプリ用データ220に格納されるタイミングで、Webサーバ30のデータ管理プログラム302が採番したデータをもちいてもよい。データ管理ブローカプログラム205が採番した値とデータ管理プログラム302が採番した番号とは、番号の採番規則によって区別できるようにすると、オリジナルのデータがTCS20のデータなのか、TC10で編集、作成したデータなのかを区別することができる。
【0164】
ファイル名212、TCサーバ内ディレクトリ213、アプリID214は、ユーザ操作検出データに基づき生成する。
【0165】
シンクロ欄216には、ファイルをWebサーバ30に送信した時点では、「済」を示す値が格納され、Webサーバ30からTC10にデータがダウンロードされると、Webサーバ30からの通知に基づき「済」から「未済」を示す値に変更される。
【0166】
StatusNo欄217は、アプリ用データ220に格納されたデータに対する利用者からのアクセス状況示す「ステータスナンバー」を設定する。ステータスナンバーは、テーブル340に示す内容応じた値である。テーブル340は、Webさーば30だけでなくTCS20にも格納されている。最終更新218は、アプリ用データ220に格納されたファイルに対して更新された最終の日時である。ユーザID219は、TCS20にログインする利用者を識別するユーザ識別子である。1台のTCS20に対して、複数の利用者がアクセスする場合、格納したファイルに対するアクセス制御を行うため、アクセス可能な利用者の識別子を格納する。
【0167】
図14の説明に戻る。
【0168】
データ管理プログラム302からの割り込みがある場合は(S254)、図15で後述する更新フラグを判定する(S255)。更新フラグが「OFF」ならばS256 に進み、更新フラグが「ON」ならば、S257に進む。ステップ256では、切替ブローカプログラム204にアクセス先情報と切替パラメータとを送信し、アクセス先情報を状態テーブル210にに保存する。一方、ステップ257では、ファイルの更新結果をアプリ用データ220に格納し、ファイルの更新状況を状態テーブル210に格納する。ステップ258では、データ管理プログラム302に更新結果を送信する。
【0169】
次にTCS20で動作するプログラムが実行する処理を説明する。
【0170】
Webサーバ30のOSが起動するとWebサーバプログラム303とデータ管理プログラム302は、起動する。Webアプリプログラム304は、Webクライアントプログラム104からのリクエストに応じてWebサーバプログラム303がレスポンスする際に呼び出されてコンテンツの一部としてWebクライアントプログラム104へ送信され、TC10上で実行される。これらのWebアプリプログラムを用いた動作については、当業者の知るところであるため詳細には述べない。Webアプリプログラム304には、動画再生プログラム、ワープロソフト、表計算ソフトや描画ソフトなどがあり、通常のアプリケーションプログラムと類似の機能を有するものもある。
【0171】
図15を用いて、データ管理プログラム302が実行する処理を説明する。
【0172】
データ管理プログラム302は、Webアプリプログラムにおけるデータの更新を監視しており(S320)、更新がある場合は、更新フラグを「ON」にしてS325 へ進み、更新がない場合はS321 へ進む。
【0173】
更新フラグとは、アプリ用データ320に対する更新状況を示すフラグである。更新された場合「ON」に設定し、更新結果がアプリ用データ220と同期をとると「OFF」に設定する。
【0174】
S321では、データ管理プログラム302は、データ管理ブローカプログラム205からの割り込みを待ち(S321)、割り込みがあれば、アプリ用データとユーザ識別子とを受信し、アプリ用データは、アプリ用データ320に格納し、ユーザ識別子とユーザ操作検出データに基づきファイル更新状態管理テーブル330にデータを格納する。
【0175】
ファイル更新状態管理テーブル330に格納されるデータについて説明する。インデックス331に格納される値は、ユニークな値となるようにデータ管理プログラム302が生成してもよいし、TCS20からアプリ用データであるファイルを受信する時にファイルの管理データとしてTCS20から受信した値を用いてもよい。TCS20から受信した値とWebサーバ30で採番した番号とは番号の採番規則で区別できるようにすると、オリジナルのデータがTCS20のデータなのか、TC10で編集、作成したデータなのかを区別することができる。ファイル名332、TCサーバ内ディレクトリ333、アプリID334は、前述したファイルの管理データとしてTC20から受信した値を用いる。シンクロ336には、ファイルをTCS20からコピーした時点では、「済」が格納され、ファイルのデータが変更されると、「済」から「未済」の値に変更される。StatusNo欄337は、アプリ用データ320に格納されたデータに対する利用者からのアクセス状況示す「ステータスナンバー」を設定する。ステータスナンバーは、テーブル340に示す内容応じた値である。最終更新338は、アプリ用データ320に格納されたファイルに対して更新された最終の日時である。ユーザID339は、TCS20からファイルが送信された時にあわせて送られてきたユーザ識別子である。Webサーバ30には複数の利用者がアクセスする場合、格納したファイルに対するアクセス制御を行うため、アクセス可能な利用者の識別子を格納する。
【0176】
図15の説明に戻る。
【0177】
S323においてデータ管理プログラム302は、使用するアプリケーションの種類を特定するアプリケーションの識別子、アプリケーションプログラムがアクセスするファイル名などを示すオペランド、ユーザの識別子に基づき、アクセス先情報を生成し、ファイル更新状態管理テーブル330のインターネットアドレス欄355に格納する。アクセス先情報はURLの形式で記述されており、Webアプリプログラムの種類、送信されたアプリ用のデータの格納先、当該データへアクセス可能なユーザの識別子が、直接もしくは間接的に表現されている。また、ユーザ操作検出データに基づき、切替パラメータを生成する。切替パラメータとは、TC10でアクセス先情報に基づきWebクライアントプログラム104を起動するのか、オフライン処理で使用するデータをTC10にダウンロードさせるのかを区別するためのデータである。例えば、ユーザ操作検出データの操作内容が「ファイルを開く」ならば、切替パラメータは、「Open」とし、ユーザ操作検出データの操作内容が「ファイルをコピー」ならば、切替パラメータは、「Copy」とする。
【0178】
S324において、データ管理プログラム302は、S323で生成したアクセス先情報と、切替パラメータとをデータ管理ブローカ205へ送信する。
【0179】
一方、利用者がWebアプリケーションプログラムを用いた操作の結果、データの更新を保存する場合、および、S320で監視した結果、データの更新を検知した場合について説明する。
【0180】
S325において、データ管理プログラム302は、ファイル更新状態管理テーブル330を参照し、TCS20に格納されているアプリ用データ220の格納先をTCSサーバ内ディレクトリ欄333を参照して取得する。
【0181】
S326において、更新条件を取得する。
【0182】
更新条件とは、アプリ用データ220と、アプリ用データ320や一時保存データ120に格納されたアプリ用データとのデータの間で同期をとるかどうかを決定する条件である。テーブル210やテーブル330のシンクロ欄216や336が「未済」である場合や図18(e)に示される画面で利用者から指定される場合(1406が指定される場合同期をとる)に条件を満たすものとする。
【0183】
データ管理プログラム302は、S325で取得したTCS20上での格納先のファイルと同期させるため、更新結果をデータ管理ブローカプログラム205に更新されたファイル(もしくは変更部分の差分データ)を送り(S327)、更新完了の通知をデータ管理ブローカプログラム205から受信すると、状態テーブル330を更新し、一時保存ファイルを削除し、更新フラグをOFFにして(S328)、更新完了をWebアプリプログラム304に通知する(S329 )。Webアプリプログラムは、Webサーバプログラム303、Webクライアントプログラム104を介して利用者に、更新完了を出力する。
【0184】
以上の処理によって、TCS20に格納されたアプリ用データ220をTC10で動作するWebクライアントプログラム104とWebサーバ30より取得するWebアプリプログラム304とを用いて編集することが可能となる。
【0185】
図16を用いてTC10で動作する、Webクライアントプログラム104の処理内容とWebクライアントプログラム104に対応して動作するWebサーバプログラム303の処理内容を説明する。
【0186】
Webクライアントプログラム104は起動すると、切替ブローカプログラム204から切替プログラム103を介してアクセス先情報を取得する(S141)。切替プログラムによって一時保存データを呼び出す場合は、Webクライアントプログラム104の起動時に切替プログラム103が一時保存データを指し示すアクセス先情報を指定する。
【0187】
次にユーザ識別情報を取得する(S142)。ユーザ識別情報は、ユーザ識別子データ130に格納されており、外部デバイスインタフェース15を介してTC10へ利用者がログインする際に取得したものをメモリ上に格納していてもよい。S143では、アクセス先情報とユーザ識別子データとを用いてWebサーバもしくはTC10の一時保存データであるローカルデータへアクセスする(S143)。ローカルデータへアクセスする処理をオフライン処理と呼ぶ。Webサーバへアクセスする場合はセッションを確立し、アクセス先情報に基づいた画面を表示し(S144)、ユーザ入力に応じた以下のステップと図16(b)の各ステップを実行する。なお、Webサーバ30と通信せずに、TC10の二次記憶装置に格納されているデータへアクセスする場合は、Webサーバ30とのセッションは確立しない。
【0188】
S145では、S144で表示された画面に対するユーザ入力を待ち、入力があればS146に進み、なければ入力を待つ。S146では、入力されたユーザ入力が終了に関する入力でなければ、S147にすすみ、終了に関する入力ならば、Webクライアントプログラム104を終了する。終了前に、編集中のデータが保存されていなければ保存の要否を確認し、保存が必要であれば保存処理を実行する。
【0189】
S147では、入力されたユーザ入力がWebサーバへのアクセスに関する入力ならば、ユーザ入力に応じたデータをWebサーバ303へ送信し、Webクライアントプログラム104上で動作するWebアプリプログラムに対する入力ならば、入力に対する処理を実行する。
【0190】
S148では、S147において、Webサーバへデータを送信していた場合には、Webサーバからのレスポンスデータを受信し表示する。S147でWebアプリプログラムに対する入力に応じた処理を実行していた場合は、処理結果を表示する。
【0191】
S148の処理が完了すれば、S145へ戻る。
【0192】
Webサーバプログラム303は、Webクライアントプログラム104からのユーザ入力に応じたデータを受信し(S332)、アクセス制御用データ320を用いてユーザ認証を実施し(S333)、Webクライアントプログラム104から受信したデータに応じた処理を実行し(S334)、S334の処理結果に応じたデータをWebクライアントに送信する。
【0193】
次に、図17と図18を用いてTC10に表示される画面例を説明する。
【0194】
図17は、切替プログラムが表示するメニューの画面を例示した図である。
【0195】
利用者は、図17に示すようなGUI(グラフィカルユーザインタフェース)などを用いて、次に実行する処理を指定する。GUIを用いて指定する方法としては、たとえば図17の領域1301に画面で位置を指定する記号(ポインター)をあわせて、ポインティングデバイスのボタンを押下することで領域1301が示すメニューを選択したものとみなす方法がある。
【0196】
TC10に利用者がログインした後、利用者は希望する作業に応じたメニューを図17に示す画面例を用いて指定する。利用者が選択可能な作業は、「TCS20に接続する」「Webサーバ30へ接続する」「ネットワークに接続せず、TC10でオフライン作業をする」「TC10をログアウトする」の4種類となる。メニュー画面の表示方法は、図17(a)を表示し、1301が選択された場合、図17(a)を非表示と図17(b)を表示し、いずれかの通信手段のメニューが選択された後、図17(b)を非表示にし、図17(c)を表示する方法がある。
【0197】
図17(a)で例示したメニューを態様を変えて、画面上に表示し、非表示としなければ、オンライン処理とオフライン処理とを容易に切替可能である。
【0198】
図17(a)の1301が選択された場合、図11(a)のS133の判定がYesの処理が実行され、1302が選択された場合、図11(a)のS133の判定がNoの処理が実行される。図11(a)のS134では、図17(b)のメニューで通信手段が指定され、図17(b)が非表示となった後、図17(c)が表示され、1304が選択された場合、図11(a)のS136の処理が実行され、1305が選択された場合、S137が実行される。
【0199】
また、接続先の指定画面と通信手段の指定画面の順序の組み合わせを適宜変更し、図17(d)を表示し、1306もしくは1307が選択された場合に、図17(d)を非表示とし、図17(b)を表示する方法もある。
【0200】
図18は、リモート描画クライアントプログラム102によって、シンクライアントサーバ20へログインした後にTC10に表示される画面例である。
【0201】
(a)は、TCS20に格納されるアプリ用データのファイル名を表示し、表示したファイル名をポインターで指定した際の画面を表示した例である。利用者がアプリケーションプログラムを用いて開くファイル名は、1401で示すようなほかのファイル名と異なる態様で表示する。
【0202】
(b)は、TCS20でAP206を起動するかどうかを利用者が指定する画面の画面例である。図5のS234の判定結果でS235の分岐処理を実行する前に(b)の画面をTC10に表示する。表示されたメニューに対して利用者が1402を指定した場合S237に進み、1403を指定した場合S236に進み、1404を指定した場合は、S231に戻る。
【0203】
(c)は、(a)で指定されたファイルが、AP206によって開かれてTCS20においてAP206が起動した場合に表示される画面例である。TC10の出力部には、(a)と(c)が出力される。
【0204】
(d)は、(a)で指定されたファイルに対応するデータが、Webクライアントプログラム104によってTC10で表示された場合の画面例である。
【0205】
(e)は、TCS20のアプリ用データ220が、Webサーバ30のアプリ用データ320やTC10の一時保存データに複製されている場合、TCS20のデータがそれ以外に複製されたデータと異なる場合もしくは、TCS20以外に複製されたデータがTCS20のデータと異なる場合に、変更されたデータを保存するファイル名をもとのファイル名とするか異なるファイル名とするかを指定する画面例である。たとえば、図6のSQ165で、データ管理プログラム302が、アプリケーションプログラムの変更を検知した際、TCS20のアプリ用データ220のデータを更新する前に、(e)を表示し、1406が選択された場合は、アプリ用データ320に対する変更内容をアプリ用データ220に反映させ、1407が選択された場合は、アプリ用データ220に格納されたデータに対するファイル名とは別のファイル名を指定する処理を実行する。1408が選択された場合、アプリ用データ220に対する保存処理をキャンセルする。
【0206】
次に、オフライン処理について、図19〜図23を用いて説明する。
【0207】
画面転送型のシンクライアントシステムでは、TC10とTCS20の間のネットワークがオフラインの場合、TC10の画面にTCS20の処理結果が表示されない。そこで、予めWebサーバ30からWebアプリプログラム304とアプリ用データ320とをTC10の一時保存データ120に格納しておき、TC10がネットワーク接続していないオフライン状態であっても、TC10に格納されているWebクライアントプログラム104を起動し、一時保存データ120に格納したプログラムとデータとを用いることによって、データの編集を可能にする。この処理をオフライン処理と呼ぶ。
【0208】
また、オフライン処理を実行するためには、オフライン処理を実行する前に予め、プログラムとデータとをWebサーバ30からTC10にダウンロードして、一時保存データ120に格納する必要がある。一時保存データ120にWebアプリプログラムとそのWebアプリプログラムで使用するデータとをダウンロードし格納する処理をオフライン準備処理と呼ぶ。
【0209】
図19を用いて、オフライン処理とオフライン準備処理が実行される場合のシンクライアントシステムの処理の流れを説明する。
【0210】
本システムは、各計算機の電源が投入され、OSや各種プログラムが起動し、利用者のログイン情報を取得する。F1、F2の処理は前述の通りであるため、詳細を割愛する。
【0211】
利用者のログイン処理が完了すると、TC10の出力部17に、利用者が次の操作を指定するための選択肢がメニューとして表示される。例えば、図17の1301を選択した場合、オンライン処理を利用者が指定したものとし、F4に進み、1302を選択した場合、オフライン処理を利用者が指定したものとし、F41に進む。
【0212】
ここでまず、ネットワークを接続してシステムを利用する「オンライン処理」の場合について、F4以降の処理を説明する。F4では、TC10もしくは、外部記憶媒体19に保存されている一時保存データ120の更新状況が確認される。更新状況の確認は、例えば、一時保存データに格納したファイルをWebサーバ30からダウンロードしたダウンロード日時、Webサーバ30へアップロードしたアップロード日時、TC10で編集し保存した保存日時を管理データとして記憶しておき、ダウンロード日時より保存日時が新しいか、保存日時がアップロードより新しい場合は、F5に進み、それ以外の場合は、通信手段を選択し、F6に進み、TCS20へログインする。変更がある場合は、一時保存データをアップロードし、TCS20やWebサーバに保存されているアプリ用データと同期させ(F5)、F6に進み、TCS20にログインする。
【0213】
TCS20にログインが完了すれば、TC10におけるオフライン処理のための準備処理(オフライン準備処理)を実行することが可能になる。オフライン準備処理の詳細は、図20を用いて詳細に後述する。オフライン準備処理が完了すれば、利用者はTCS20をログオフし処理を終了する。もちろん、TCS20をログオフせずに、オフライン準備処理以外の処理を実行したり、TCS20をログオフ後、TC10のWebクライアントプログラム104を用いた処理を実行したりしてもよい。
【0214】
次に、「オフライン処理」の場合について、F41以降の処理を説明する。オフライン処理では、Webクライアントプログラム104が起動する(F41)。Webクライアントプログラム104は、一時保存データ120を読み込む。一時保存データとして格納されるデータは、Webアプリプログラムで編集するデータ、WebサーバへアクセスするためのURL、操作履歴がある。
【0215】
読み込まれたデータを用いて、TC上でオフラインにおけるファイル編集処理が実行され(F43)、利用者からの入力やシステムの自動保存機能により、TC10におけるオフライン機能で編集されたデータがTC10もしくは、外部記憶媒体19に保存される(F44)。
【0216】
保存が終了すれば、利用者の操作に応じてWebクライアントプログラムを終了し、全体処理を終了する。
【0217】
図20を用いて図19のF31で示したオフライン準備処理の詳細を説明する。
【0218】
オフライン準備処理とは、指定したファイル名とファイル名の拡張子に関連づけられたアプリケーションプログラムを起動することなく、ファイル名が示すデータと、ファイル名の拡張子に関連づけられたアプリケーションプログラムに対応するWebアプリプログラムのデータとをWebサーバ30からTC10にダウンロードする処理である。
【0219】
ファイル名に対するGUIを用いて準備処理を起動できるので、TCS20で編集していたファイルをTC10でオフライン処理するために必要なデータとして、オフライン処理しようとするファイルをTCS20上のアプリケーションを起動しなくてもTC10に格納することが可能である。そのため、ネットワーク接続した事務所の環境で編集していたデータをネットワーク接続ができない環境において作業で編集するための手続きが簡略化できる。また、AP206を起動し、起動時間を待つことなくオフライン環境で作業する準備ができるので、たとえば出張前に、出かける直前まで作業していたデータを簡単に持ち出してオフライン環境で作業するための準備が可能となる。
【0220】
また、オフライン準備処理を実行するためのGUIを備えたプログラムを用いて、オフライン準備処理のプログラムを起動後、オフライン処理するファイルを指定してもよい。
【0221】
画面に表示されたファイルのアイコンをある領域から別な領域へ移動させること(ドラッグアンドドロップと呼ぶ)によって、アイコンでしめされたファイルをコピーする操作を指定する方法がある。
【0222】
TCS20に格納されたアプリ用データ220のファイルをTC10の一時保存データ120として保存する場合、オフライン準備処理を実行する。オフライン準備処理を開始する利用者によるユーザ操作として、ファイルを示すアイコンをドラッグアンドドロップする操作がある。
【0223】
以下、図を用いて説明する。利用者は、リモート描画クライアントプログラム102が表示する画面で、TCS20に格納されているファイルのファイル名を確認できる。利用者が、入力部18を用いて、TC10を用いてオフライン処理で編集したいファイルを指定し、オフライン準備処理を実行することを指示する操作を行うと、アプリ監視プログラム203は、ユーザ操作検出データを取得する(SQ201)。このユーザ操作検出データは、切替ブローカ204、データ管理ブローカプログラム205を介して、Webサーバ30のデータ管理プログラム302に渡される(SQ202)。
【0224】
データ管理プログラム302は、受信したユーザ操作検出データと利用者に指定されたファイルのデータと受信して、ファイルのデータをアプリ用データ320に格納し、格納したファイルに関する管理データをテーブル330に格納し、
アクセス先情報と切替パラメータを生成し、状態テーブル330にアクセス先情報とのデータを格納し、アクセス先情報と切替パラメータをデータ管理ブローカプログラム205に送信する。
【0225】
データ管理ブローカプログラム205は、アクセス先情報と切替パラメータを受信し、状態テーブル210それをに格納し、受信したアクセス先情報と切替パラメータを切替ブローカブログラム204に渡し、切替ブローカプログラム204は、切替パラメータに基づき切替制御用データを生成し、アクセス先情報と切替制御用データとを、TC10の切替プログラム103に送信する。
【0226】
切替プログラム103は、アクセス先情報と切替制御用データを受信し、「切替制御用データ」に基づき、Webクライアントプログラムを起動してアクセス先情報に基づくの画面を表示する。表示した画面に対する利用者の入力に応じて、Webサーバ30より、アプリ用データとWebアプリプログラムとを取得し、一時保存データ120として格納する。
【0227】
次に、TC10に表示される画面例を図21〜図23を用いて説明する。
【0228】
図21(a)がその画面例である。領域1501は、TC10の一時保存データ120に格納されたデータを表示していることを示す領域である。「名前」の部分は、一時保存データ120に格納されているファイルのファイル名を示している。「サーバアドレスの部分」は、ファイル名が示すデータが、TCS20に格納されたどのデータの複製であるかを示している。「更新」の部分は、TCS20に格納されたデータを複製した後の変更の有無を示しており、日時が表示されている場合は、変更がありその日時が最終更新日時を示し、「−」が表示されている場合は、複製後の変更がないことを示している(図では時刻のみ表示)。
【0229】
そして「ダウンロード」の部分は、オフライン準備処理においてWebサーバ30からWebアプリプログラムとアプリ用データとをダウンロードする処理が、完了しているのか、Webサーバ30におけるオフライン準備処理が完了し、TC10にダウンロードが可能な状態か、Webサーバ30におけるオフライン準備処理が完了せず、ダウンロードがまだ不可能な状態なのかを示している。
【0230】
図21(b)は、オフライン処理で一時保存データ120に格納されたデータを編集した後、利用者がデータを保存する指示を出した際に表示される画面である。1502のメニューが選択されると、一時保存データ120に格納されるアプリ用のデータが更新され、そのデータが更新された状態であることがファイルの更新状態として、一時保存データ120として保存される。
【0231】
1504のメニューが選択されると、データは更新されず、編集中のデータは破棄される。図21の(c)の1506は、オフライン準備処理を開始するメニューの一例である。このメニューは、オフライン準備処理を行うファイルを少なくともひとつ選択した後、ポインティングデバイスを用いた特定の入力(たとえば右クリック)が入力された場合表示される。
【0232】
図21(d)は、1506のメニューが表示された後に表示される確認用の画面である。1507が選択されるとオフライン準備処理が実行され、1508が選択されると(c)の画面で選択されたファイルが解除され、オフライン準備処理も実行されない。
【0233】
TC10に表示された際の画面構成を図22に示す。1601、1704、1706はWebクライアントプログラム104への指示を受け付ける領域である。1602は、リモート描画クライアントプログラム102への指示を受け付ける領域の一部であり、TCS20に格納されるデータのファイル名を表示させるプログラムの出力結果である。1607、1703、1705は、リモート描画クライアントプログラム102の出力結果の領域であり、1608、1702、1707は、切替プログラムへの指示を受け付ける領域である。Webクライアントプログラム104への指示を受け付ける領域は、複数あってもよい。
【0234】
図23は、TC10にログインした後、たとえば図17(c)の1305(d)の1307のメニューが選択されて、Webクライアントプログラム104が起動した場合の画面例である。この時、Webサーバへアクセスするためのアクセス先情報は、TC10のメモリや一時保存ファイルや外部記憶媒体19に格納したURLとし、ユーザ毎に異なるデータとしてもよい。
【0235】
第二の実施形態について、図24、図5、6、20を用いて説明する。
【0236】
第二の実施形態は、第一の実施例のシステム構成に、遠隔操作によりデータを消去できるデータ格納装置としての携帯端末を追加した構成のシンクライアントシステムである。
【0237】
本実施例における携帯端末50は、図24に示すように、少なくとも通信部54もしくは、外部デバイスインタフェース55を有し、また、メモリ52もしくは、二次記憶装置53を有しており、中央処理装置51がメモリ52上に格納されるプログラム(501〜504)の処理を実行する情報処理装置である。
【0238】
通信部54は、TC10との通信もしくは、ネットワーク40−1との通信を行う。外部デバイスインタフェース55は、携帯端末50が通信部54を持たない場合、通信機能を持つ他の端末と接続するためのインタフェースである。ネットワーク40は、例えばインターネットのようなオープンなネットワークであり、ネットワーク40−1は、インターネットへ接続するためのネットワークで、携帯電話網などの予め登録された端末が接続できるネットワークである。もちろん、ネットワーク40−1が公衆無線LANや構内LANのようにネットワーク接続の許可を予め必要としないネットワークであってもよい。また、外部デバイスインタフェース55は、外部記憶媒体59などのデバイスとのデータの入出力や、TC10と通信する装置(図示せず)とデータを送受信したり、ネットワーク40と通信する装置(図示せず)とデータを送受信したりする。また、携帯端末50は、携帯端末を操作する利用者の入力を受け付けるキーボード、タッチパネルなどの入力部58と、携帯端末における処理結果や状態を出力する表示部やスピーカーなどの出力部57とを備えており、これらがバスなどの内部通信線56で互いに接続される。
【0239】
メモリ52に格納されるプログラムと二次記憶装置53に格納される一時保存データとを説明する。
【0240】
OS501は、入出力機能、メモリや二次記憶装置の読み書きの管理機能、通信機能などについて、アプリケーションプログラムで利用される共通の基本的な処理を実行する。
【0241】
データ保存プログラム502は、TC10もしくは、Webサーバ30から取得したデータを一時保存データ520として二次記憶装置に保存する。一時保存データ520は、メモリ52に格納されてもよい。通信制御プログラムは、通信部もしくは、外部デバイスインタフェースを介して接続する通信装置によって、TC10もしくはWebサーバ30と通信する際の通信処理を制御するプログラムである。ログイン情報生成プログラム504は、外部記憶媒体59もしくは、二次記憶装置53もしくはメモリ52に格納されるユーザ識別子データと入力部を介して利用者から入力されるデータに基づき、TC10にログインする際に必要となるログイン情報を生成するプログラムである。
【0242】
なお、TC10、TCS20、携帯端末50は、図では1台ずつ表示しているがそれぞれ複数台の計算機がネットワークに接続されてもよい。
【0243】
次に、携帯端末50とTC10との間に通信路を確保する方法について説明する。携帯端末の通信部54とTC10のネットワークインタフェースとの間で通信路を確立する場合には、接続要求に対してログイン情報生成プログラム504などで生成した認証情報を用いる。通信路の確保に関する手順には、たとえば、特許文献2(段落0055)に開示されている方法がある。
【0244】
本実施例における携帯端末50は、遠隔操作によりデータを消去することにより、情報漏えいを防止する機能を備える。
【0245】
切替プログラム103は、外部記憶媒体や携帯端末がTC10に外部記憶装置として接続しているかどうかを検知し、外部記憶媒体の種類や携帯端末の種類や携帯端末の固体識別番号(例えばMACアドレスやuidとよばれる端末のIDなど)とに基づき、携帯端末50が当該機能(遠隔でデータを削除できる機能)を備えるか、を調べる。さらに、携帯端末が当該機能を備えていても有効に設定されているか、を、TC10が調べた結果を取得し、外部記憶媒体に指定できるかどうかを判定し、指定可能な外部記憶媒体の一覧データ(データ書き出し可能媒体リスト)として、Webサーバ30のアクセス制御データ310に登録する。
【0246】
リストには、携帯端末を識別する識別子と設定内容と、機密性の程度毎に外部記憶装置として認識可能かどうかを示すフラグとの組み合わせで格納されてよい。
【0247】
TC10と携帯端末50との間に通信路が確保された場合、または、TC10の外部デバイスインタフェース15を介して携帯端末50とが接続された場合、携帯端末50は、TC10の外部記憶装置として認識するかどうかを判定する。判定の際には、前述の、アクセス制御データ310に登録されたデータ書き出し可能媒体リストに携帯端末50が含まれるかどうかを、携帯端末50の固体識別番号をキーとして判定し、含まれる場合は、外部記憶装置として認識し、含まれない場合は外部記憶装置として認識しない。
【0248】
もし、確認できない場合は、携帯端末50は外部記憶装置として認識されないよう、切替プログラム103もしくは、TC10にダウンロードした、Webクライアントプログラム104上で動作する、Webアプリプログラム304が設定する。
【0249】
次に図5、6、20を用いてWebサーバ30から、データを取得した際に携帯端末50にデータを格納する際の処理について説明する。
【0250】
図5で示すように、TC10のWebクライアントプログラム104が、Webサーバ30からWebアプリプログラムと、Webアプリプログラムで編集するデータとを受信すると、通信部を介して、携帯端末50にそれらのデータを受信し、データ保存プログラム502が一時保存データとして保存する。
【0251】
TCS20に格納されるアプリ用データ220のファイルは、予め分類されており、予め指定されたファイルをアプリ用データ320に格納しようとする時、前記分類結果に応じて、ファイルの格納先を指定するデータを生成し、ファイルの格納先を示すデータに基づき、TC10で動作する切替プログラム103もしくは、Webクライアントプログラム104がファイルをTC10の二次記憶装置もしくは、外部記憶媒体19もしくは、携帯端末50に格納する。
【0252】
TCS20には、ファイルの分類区分と、各々の区分に対応してファイルを格納できる格納先の対応関係を示すデータが保管されている。例えば、機密性の程度が低いファイルの格納先は、携帯端末50でも外部記憶媒体19のいずれにも格納できるが、分類区分がファイルの機密性の程度に基づく区分である場合、機密性の程度が高いファイルの格納先として外部記憶媒体は指定できないよう、切替プログラム103もしくは、TC10にダウンロードした、Webクライアントプログラム104上で動作する、Webアプリプログラム304が制御する。
【0253】
また、携帯端末に、メール送信機能があれば、TC10から通信機能を介してデータを受信し、データ保存プログラム502によって一時保存データとして受信したデータを保存した際、受信したデータのファイル名とTC10に格納されているユーザ識別子データで示される利用者名と、受信日時とを、予め登録してある宛先に知らせるメールを送信することが可能である。メール送信機能は、ネットワーク40−1を介して送信する。
【0254】
また、携帯端末50の二次記憶装置53は、携帯端末50とは別の携帯端末や計算機からの遠隔操作により、一時保存データとして保存したデータを消去する。この消去動作により、情報漏えいを防ぐことが可能になる。
【0255】
第二の実施例では、図6で示すTC10のWebクライアントプログラムを起動してデータを更新する際、一時保存ファイル120からではなく、携帯端末50の一時保存データ520が用いられる。データ保存プログラム502は、ログイン情報生成プログラム504と通信制御プログラム503によって確立された、TC10と携帯端末50との間の通信路を介して、データをTC10に送る。
【0256】
第二の実施例では、図19のオンライン処理におけるF4の処理では、一時保存データはTC10もしくは、外部記憶媒体19だけでなく、携帯端末50に格納されている一時保存データの更新状況も確認する。変更がある場合、携帯端末50に格納されているデータは、通信部54でTC10と接続し、TC10を介してWebサーバ30にデータをアップロードしてもよいし、ネットワーク40−1を介してWebサーバ30に接続し、アップロードしてもよい。
【0257】
第二の実施例では、図20のオフライン準備処理において、Webアプリプログラムとアプリ用データをWebサーバから取得する際、Webサーバへアクセスする際に必要なアクセス先情報は、TC10を介して携帯端末50に格納するが、アクセス先情報を取得した後、携帯端末50で動作するWebクライアントプログラム(図示せず)を用いて、ネットワーク40−1を介してWebサーバ30からWebアプリプログラムとアプリ用データとを取得する。

【特許請求の範囲】
【請求項1】
シンクライアントサーバと、Webサーバと、シンクライアント端末と、がネットワークで接続されたシンクライアントシステムであって、
前記シンクライアントサーバは、前記ネットワークを介して接続された前記シンクライアント端末から、対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を受信した場合、前記アプリケーションプログラムを、前記シンクライアントサーバで実行するか否かを判定し、
前記シンクライアントサーバでは実行しないと判定した場合に、前記シンクライアントサーバは、前記アプリケーションプログラムの識別子と前記対象とするファイルの識別子と前記ファイル識別子が示すファイルのデータとを、前記Webサーバへ送信し、
前記Webサーバは、前記アプリケーションプログラムの識別子と前記対象とするファイルの識別子と受信したファイルのデータの格納先の識別子とに基づき、アクセス先情報を生成し、
前記Webサーバは、前記シンクライアントサーバへ、生成した前記アクセス先情報を送信し、
前記シンクライアントサーバは、受信した前記アクセス先情報を前記シンクライアント端末に送信し、
前記シンクライアント端末は、
前記シンクライアントサーバから受信した前記アクセス先情報に基づいて、前記Webサーバに接続し、
前記アプリケーションプログラムを実行し、前記対象とするファイルの作成または更新を行う
ことを特徴とするシンクライアントシステム。
【請求項2】
請求項1に記載のシンクライアントシステムにおいて、
前記Webサーバおよび/または前記シンクライアントサーバは、作成または更新の対象とするファイルのステータスを管理するテーブルを備え、
前記シンクライアントサーバは、前記アプリケーションプログラムを起動し、前記対象とするファイルを読み込む前に前記テーブルを参照し、
前記対象とするファイルが変更されている場合は、前記対象とするファイルを更新するか否かの問い合わせを、前記シンクライアント端末の画面に表示し、
前記シンクライアント端末に入力された前記更新するか否かの指示にしたがった後に、前記アプリケーションプログラムを起動する
ことを特徴とするシンクライアントシステム。
【請求項3】
請求項1または2に記載のシンクライアントシステムにおいて、
前記シンクライアントサーバは、
前記シンクライアント端末と接続する前記ネットワークの負荷状態を検出し、
前記負荷状態と、予め備える起動ポリシーとに基づき、前記アプリケーションプログラムを、前記シンクライアントサーバで実行するか否かを判定する
ことを特徴とするシンクライアントシステム。
【請求項4】
請求項3に記載のシンクライアントシステムにおいて、
前記起動ポリシーは、前記アプリケーションプログラムの種類、前記シンクライアントサーバと前記シンクライアント端末との間のネットワークの状態、前記シンクライアントサーバの状態、前記アプリケーションプログラムが読み込むファイルの種類と前記アプリケーションプログラムを起動する方法との対応関係と、を含む
ことを特徴とするシンクライアントシステム。
【請求項5】
シンクライアントサーバと、Webサーバと、シンクライアント端末と、がネットワークで接続されたシンクライアントシステムに用いるシンクライアント端末であって、
前記シンクライアントサーバと接続して、作成または更新の対象とするファイルを指定し、前記対象とするファイルを作成または更新するアプリケーションプログラムを起動する操作情報を送信し、
前記アプリケーションプログラムを、前記シンクライアントサーバで実行しないことが判定された場合に、前記シンクライアントサーバからアクセス先情報を受信し、
受信した前記アクセス先情報に基づき、前記Webサーバへ接続し、前記対象とするファイルを作成または更新する
ことを特徴とするシンクライアント端末。
【請求項6】
シンクライアントサーバと、Webサーバと、シンクライアント端末とがネットワークで接続されたシンクライアントシステムに用いるシンクライアントサーバであって、
前記シンクライアント端末から受信したファイル名を伴うアプリケーションプログラムの実行指示に基づき、
前記アプリケーションプログラムの起動を、当該シンクライアントサーバにおいて行うか否かを判定し、
前記アプリケーションプログラムの起動を当該シンクライアントサーバにおいて行わない場合、前記実行指示により指定されたファイルを前記Webサーバに送信し、
前記クライアント端末が、前記Webサーバに送信された前記ファイルにアクセスする場合に必要な、アクセス先情報と前記アクセスに必要な認証情報とをWebサーバから受信し、
前記WebサーバにアクセスするWebクライアントプログラムの起動指示と、受信した、前記アクセス先情報と、前記認証情報と、を前記シンクライアント端末に送信する
ことを特徴とするシンクライアントサーバ。
【請求項7】
請求項6に記載のシンクライアントサーバにおいて、
前記アプリケーションプログラムの起動判定を、前記シンクライアント端末と前記シンクライアントサーバとの間のネットワークの負荷状態と、起動を指定された前記アプリケーションプログラムの識別子と、前記アプリケーションプログラムが利用する前記ファイルの識別子と、当該シンクライアントサーバの負荷状態と、に基づいて行う
ことを特徴とするシンクライアントサーバ。
【請求項8】
シンクライアントサーバと、Webサーバと、シンクライアント端末とがネットワークで接続されたシンクライアントシステムに用いるWebサーバであって、
前記シンクライアントサーバに対して、作成または更新の対象とするファイルを指定し、前記対象とするファイルを作成または更新するアプリケーションプログラムを起動する、前記シンクライアント端末による操作情報に基づき、
前記アプリケーションプログラムの識別子と、前記対象とするファイルと、前記シンクライアント端末を利用するユーザの識別子とを、前記シンクライアントサーバから受信し、
前記識別子に基づき当該Webサーバで起動されるアプリケーションプログラムを、前記シンクライアント端末で実行されるWebクライアントプログラムが利用する際に必要なアクセス先情報を生成し、
生成した前記アクセス先情報を前記シンクライアントサーバに送信する
ことを特徴とするWebサーバ。
【請求項9】
請求項8に記載のWebサーバにおいて、
前記シンクライアント端末で実行される前記Webクライアントプログラムから受信する情報が、所定の条件を満足する場合、前記ファイルと前記アプリケーションプログラムとを、前記シンクライアント端末に送信する
ことを特徴とするWebサーバ。
【請求項10】
請求項9に記載のWebサーバにおいて、
前記所定の条件とは、当該アクセス先情報を生成する際に用いたユーザの識別子と、Webクライアントプログラムから送信されたユーザ識別子とをアクセス制御用データに格納されるルールに基づき、アクセスの可否を判定し、アクセス可能である
ことを特徴とするWebサーバ。
【請求項11】
請求項1から4のいずれか一に記載のシンクライアントシステムにおいて、
前記シンクライアント端末は、前記シンクライアントサーバに格納されているファイルを指定し、当該ファイルに対応づけられているアプリケーションプログラムを起動する指示を入力した時、当該ファイルを、当該シンクライアント端末上で動作するWebクライアントプログラムを用いて編集するのに必要なモバイルコードと当該ファイルのデータとを、外部記憶媒体として、前記シンクライアント端末へ通信機能で接続した携帯端末に格納する
ことを特徴とするシンクライアントシステム。
【請求項12】
請求項11のシンクライアントシステムにおいて、
当該ファイルの機密性の程度に応じて、前記携帯端末を、前記外部記憶媒体として指定できるか否かを制御する
ことを特徴とするシンクライアントシステム。
【請求項13】
シンクライアント端末と通信機能で接続可能な、メール送信機能を有する携帯端末であり、
前記シンクライアント端末から前記通信機能を介してファイルを受信すると、前記メール送信機能により、予め登録した宛先に、受信した前記ファイル名と前記ファイルを受信した利用者名と受信した日時とを示すメールを送信する
ことを特徴とする携帯端末。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22A】
image rotate

【図22B】
image rotate

【図22C】
image rotate

【図23】
image rotate

【図24】
image rotate