(57)【要約】【課題】Ｗｅｂページで受け付けた指示に応じてクライアントアプリケーションを動作させることの可能な仕組みを提供すること。【解決手段】情報処理装置１０１のＷｅｂブラウザに表示される画面を介して、情報処理装置１０１のクライアントアプリケーションに対する動作指示を受け付けると、これをＷｅｂサーバ１０２に登録する。情報処理装置１０１は、Ｗｅｂサーバ１０２に登録されたクライアントアプリケーションの動作指示を取得すると、この動作指示に応じてクライアントアプリケーションを実行する。【選択図】図１１
2016115015.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバから送信されるＷｅｂページを表示するよう制御する表示制御手段を備える情報処理装置と前記Ｗｅｂサーバとを含む情報処理システムであって、
前記Ｗｅｂサーバは、
前記情報処理装置で動作するクライアントアプリケーションに対する動作指示であって、前記Ｗｅｂページを介して前記情報処理装置から受信する動作指示を、前記情報処理装置ごとに記憶する記憶手段と、
前記情報処理装置からの要求に応じて、当該情報処理装置に対応する前記動作指示を当該情報処理装置に送信する動作指示送信手段と
を備え、
前記情報処理装置は、
前記Ｗｅｂサーバで記憶する、当該情報処理装置で動作するクライアントアプリケーションの動作指示の取得要求を前記Ｗｅｂサーバに送信する取得要求送信手段と、
前記取得要求送信手段に応じて前記Ｗｅｂサーバから送信される動作指示に応じて、前記クライアントアプリケーションを動作させる動作手段と
を備えることを特徴とする情報処理システム。
【請求項２】
前記Ｗｅｂサーバは、
前記情報処理装置とのセッションごとに識別情報を生成する識別情報生成手段を更に備え、
前記記憶手段は、前記動作指示を前記識別情報生成手段で生成された識別情報ごとに記憶し、
前記Ｗｅｂサーバは、
前記識別情報生成手段で生成された識別情報を前記情報処理装置に送信する識別情報送信手段を更に備え、
前記取得要求送信手段は、前記Ｗｅｂサーバから送信された識別情報を含めて前記動作指示の取得要求を送信し、
前記動作指示送信手段は、前記情報処理装置から送信された識別情報に対応する動作指示を当該情報処理装置に送信することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記取得要求送信手段は、前記Ｗｅｂサーバに対して所定の間隔で取得要求を送信することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、
前記動作手段で前記クライアントアプリケーションを動作させることに応じて、前記動作指示の削除要求を前記Ｗｅｂサーバに送信する削除要求送信手段を更に備え、
前記Ｗｅｂサーバは、
前記情報処理装置から送信された削除要求に応じて、前記記憶手段で記憶される動作指示を削除する動作指示削除手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
前記Ｗｅｂサーバは、
前記Ｗｅｂページを介して前記情報処理装置から前記動作指示を受信すると、前記記憶手段に記憶される動作指示のうち当該情報処理装置に対応する動作指示を、受信した動作指示に更新する動作指示更新手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
Ｗｅｂサーバから送信されるＷｅｂページを表示するよう制御する表示制御手段を備える情報処理装置と、前記情報処理装置で動作するクライアントアプリケーションに対する動作指示であって、前記Ｗｅｂページを介して前記情報処理装置から受信する動作指示を、前記情報処理装置ごとに記憶する記憶手段を備える前記Ｗｅｂサーバとを含む情報処理システムの制御方法であって、
前記Ｗｅｂサーバの動作指示送信手段が、前記情報処理装置からの要求に応じて、当該情報処理装置に対応する前記動作指示を当該情報処理装置に送信する動作指示送信ステップと
前記情報処理装置の取得要求送信手段が、前記Ｗｅｂサーバで記憶する、当該情報処理装置で動作するクライアントアプリケーションの動作指示の取得要求を前記Ｗｅｂサーバに送信する取得要求送信ステップと、
前記情報処理装置の動作手段が、前記取得要求送信ステップに応じて前記Ｗｅｂサーバから送信される動作指示に応じて、前記クライアントアプリケーションを動作させる動作ステップと
を備えることを特徴とする情報処理システムの制御方法。
【請求項７】
Ｗｅｂサーバから送信されるＷｅｂページを表示するよう制御する表示制御手段を備える情報処理装置と、前記情報処理装置で動作するクライアントアプリケーションに対する動作指示であって、前記Ｗｅｂページを介して前記情報処理装置から受信する動作指示を、前記情報処理装置ごとに記憶する記憶手段を備える前記Ｗｅｂサーバとを含む情報処理システムの制御方法を実行可能なプログラムであって、
前記Ｗｅｂサーバを、
前記情報処理装置からの要求に応じて、当該情報処理装置に対応する前記動作指示を当該情報処理装置に送信する動作指示送信手段
として機能させ、
前記情報処理装置を、
前記Ｗｅｂサーバで記憶する、当該情報処理装置で動作するクライアントアプリケーションの動作指示の取得要求を前記Ｗｅｂサーバに送信する取得要求送信手段と、
前記取得要求送信手段に応じて前記Ｗｅｂサーバから送信される動作指示に応じて、前記クライアントアプリケーションを動作させる動作手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂページで受け付けた指示に応じてクライアントアプリケーションを動作させることの可能な情報処理システム、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、所定の目的を達成するための様々なアプリケーションが提供されている。例えば、パーソナルコンピュータ等の情報処理装置にインストールされて動作するクライアントアプリケーションがある。このクライアントアプリケーションはユーザからの指示や情報処理装置自身の判断により、所定のフォルダに格納された実行形式のファイルを実行することで、これを起動することができる。
【０００３】
従来はこのようなクライアントアプリケーションが主流であったが、ネットワークやコンピュータの処理能力の向上に伴い、Ｗｅｂサーバで動作するＷｅｂアプリケーションが開発された。Ｗｅｂアプリケーションは、情報処理装置にインストールされたＷｅｂブラウザを介して操作するアプリケーションである。そのため、どのようなＷｅｂアプリケーションであってもＷｅｂブラウザとネットワーク環境さえあれば、Ｗｅｂアプリケーションを使用することができる。
【０００４】
このＷｅｂアプリケーションは手軽に使用することができる反面、ユーザインタフェースが限られてしまう問題がある。例えば、ファンクションキーをショートカットキーとして使用したくても、Ｗｅｂブラウザがこのファンクションキーに機能を割り当てているため、Ｗｅｂアプリケーションのショートカットキーとしては使用することができない。つまり、Ｗｅｂアプリケーションのユーザビリティはクライアントアプリケーションと比較すると劣ってしまう。
【０００５】
また、所定の目的を達成可能なアプリケーションがすべてＷｅｂアプリケーションとして提供されていればよいが、そうでない場合もある。この場合には所定の目的を達成可能なクライアントアプリケーションを併用することが考えられる。つまり、ユーザはＷｅｂブラウザでの操作を一旦止めて、情報処理装置の中のクライアントアプリケーションを起動するべく、メニューの表示等を行わなければならない。
【０００６】
このような手間を軽減するために、例えばマイクロソフト（登録商標）社のＣｌｉｃｋＯｎｃｅという技術や特許文献１に示すように、Ｗｅｂブラウザからクライアントアプリケーションを起動する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１９４６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このようにしてＷｅｂアプリケーションとクライアントアプリケーションの両方を起動させて、アクティブなウィンドウを切り替えながらアプリケーションを使用する。しかしながら、クライアントアプリケーションを動作させるためには結局、クライアントアプリケーションのウィンドウをアクティブにし、このウィンドウのユーザインタフェースを介して動作指示を行わなければならない。つまり、Ｗｅｂアプリケーションとクライアントアプリケーションがそれぞれ別のウィンドウで動作指示を受け付けるので、ウィンドウを切り替えて動作指示を行うことがユーザにとっては手間となっていた。
【０００９】
前述した技術や特許文献１は、Ｗｅｂブラウザからクライアントアプリケーションを起動させる仕組みについての開示はある。しかしながら、起動後にＷｅｂブラウザで受け付けたクライアントアプリケーションの動作指示に応じて、情報処理装置のクライアントアプリケーションを動作させる仕組みについては開示されていない。
【００１０】
そこで本発明は、Ｗｅｂページで受け付けた指示に応じてクライアントアプリケーションを動作させることの可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために本発明の情報処理システムは、Ｗｅｂサーバから送信されるＷｅｂページを表示するよう制御する表示制御手段を備える情報処理装置と前記Ｗｅｂサーバとを含む情報処理システムであって、前記Ｗｅｂサーバは、前記情報処理装置で動作するクライアントアプリケーションに対する動作指示であって、前記Ｗｅｂページを介して前記情報処理装置から受信する動作指示を、前記情報処理装置ごとに記憶する記憶手段と、前記情報処理装置からの要求に応じて、当該情報処理装置に対応する前記動作指示を当該情報処理装置に送信する動作指示送信手段とを備え、前記情報処理装置は、前記Ｗｅｂサーバで記憶する、当該情報処理装置で動作するクライアントアプリケーションの動作指示の取得要求を前記Ｗｅｂサーバに送信する取得要求送信手段と、前記取得要求送信手段に応じて前記Ｗｅｂサーバから送信される動作指示に応じて、前記クライアントアプリケーションを動作させる動作手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、Ｗｅｂページで受け付けた指示に応じてクライアントアプリケーションを動作させることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態における、情報処理システムのシステム構成の一例を示す図である。
【図２】情報処理装置１０１及びＷｅｂサーバ１０２のハードウェア構成の一例を示す図である。
【図３】情報処理装置１０１及びＷｅｂサーバ１０２の機能構成の一例を示す図である。
【図４】Ｗｅｂブラウザ３１０を介してクライアントアプリ３４０に動作指示を行う一連の処理の流れを示すフローチャートである。
【図５】セッション情報管理テーブル５００及びコマンド情報管理テーブル５１０のテーブル構成の一例を示す図である。
【図６】Ｗｅｂブラウザ３１０でメニュー画面６０２を表示した様子を示す図である。
【図７】Ｗｅｂブラウザ３１０でメニューの選択に応じて表示される画面の様子を示す図である。
【図８】動作指示登録処理の詳細な処理の流れを示すフローチャートである。
【図９】図８に続き、動作指示登録処理の詳細な処理の流れを示すフローチャートである。
【図１０】ログアウト処理の詳細な処理の流れを示すフローチャートである。
【図１１】Ｗｅｂサーバ１０２に登録されたコマンドＩＤに応じて、クライアントアプリ３４０を動作させる一連の処理の流れを示すフローチャートである。
【図１２】クライアントアプリ３４０を起動し、動作させた場合の様子を示す図である。
【図１３】第２の実施形態における、動作指示登録処理の詳細な処理の流れを示すフローチャートである。
【図１４】第２の実施形態における、Ｗｅｂサーバ１０２に登録されたコマンドＩＤに応じて、クライアントアプリ３４０を動作させる一連の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１５】
まず第１の実施形態について説明する。図１は、本実施形態における情報処理システムのシステム構成の一例を示す図である。本実施形態の情報処理システムは、情報処理装置１０１及びＷｅｂサーバ１０２を含み、これらがＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等のネットワーク１０３を介して、相互にデータ通信可能に接続されている。尚、図１のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例がある。
【００１６】
情報処理装置１０１は、パーソナルコンピュータ等の汎用のコンピュータ装置である。情報処理装置１０１にはＷｅｂブラウザがインストールされており、ユーザはＷｅｂブラウザを通じてＷｅｂサーバ１０２で動作するＷｅｂアプリケーションを利用することができるようになっている。また、情報処理装置にはクライアントアプリケーションがインストールされており、クライアントアプリケーションが表示する画面を通じて、クライアントアプリケーションを利用することが可能になっている。
【００１７】
Ｗｅｂサーバ１０２は、サーバ装置である。Ｗｅｂサーバ１０２ではＷｅｂアプリケーションが動作しており、情報処理装置１０１からの要求に応じてＷｅｂページを生成し、情報処理装置１０１に送信する。これを受けた情報処理装置１０１のＷｅｂブラウザに受信したＷｅｂページを表示させ、これに対して操作を受け付ける。そして受け付けた操作に応じてＷｅｂアプリケーションを動作させて、所定のサービスを提供する。
【００１８】
尚、Ｗｅｂサーバ１０２は、第１の実施形態または／及び第２の実施形態を実現するための機能を備える一または複数のサーバ装置である。本発明ではこれを装置と称するが、システムと称してもよい。
【００１９】
図２は、本発明の第１の実施形態における情報処理装置１０１及びＷｅｂサーバ１０２のハードウェア構成の一例を示す図である。
【００２０】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２１】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳという。）が格納されている。また、情報処理装置１０１及びＷｅｂサーバ１０２の実行する機能を実現するために必要な各種プログラム等が外部メモリ２１１に記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２２】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２３】
また、入力コントローラ２０５は、キーボードやマウス等のポインティングデバイスといった入力デバイス２０９からの入力を制御する。
【００２４】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器はＣＲＴや液晶ディスプレイでも構わない。
【００２５】
メモリコントローラ２０７は、ハードディスクやフレキシブルディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。外部メモリ２１１（記憶手段）は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
【００２６】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２７】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２８】
本発明の情報処理装置１０１及びＷｅｂサーバ１０２が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２９】
図３は、情報処理装置１０１及びＷｅｂサーバ１０２の機能構成の一例を示す図である。尚、図３に示す情報処理装置１０１及びＷｅｂサーバ１０２の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
【００３０】
情報処理装置１０１は機能部として、記憶部３０１、通信制御部３０２、表示制御部３０３、及びアプリケーション制御部３０４を備える。
【００３１】
記憶部３０１は、情報処理装置１０１で処理を実行するための各種データを外部メモリ２１１に記憶及び管理するための機能部である。特に第１の実施形態では、後述するアプリケーション郡が処理を実行するために必要な各種データを記憶及び管理している。
【００３２】
通信制御部３０２は、情報処理装置１０１とＷｅｂサーバ１０２との情報の送受信を制御するための機能部である。
【００３３】
表示制御部３０３は、Ｗｅｂサーバ１０２から送信される情報をディスプレイ２１０に表示させるための機能部である。特に第１の実施形態においては、情報処理装置１０１はＷｅｂサーバ１０２から送信された情報をＷｅｂブラウザで描画することによりディスプレイ２１０に表示させる（表示制御手段）。そのため、通信制御部３０２で受信した情報をＷｅｂブラウザの機能により描画し、描画された情報を表示制御部３０３によりディスプレイ２１０に表示させる。
【００３４】
アプリケーション制御部３０４は、情報処理装置１０１で動作する各種アプリケーションの動作を制御するための機能部である。情報処理装置１０１には、各種アプリケーションがインストールされ、動作可能となっている。
【００３５】
情報処理装置１０１にインストールされているアプリケーション群としては、Ｗｅｂブラウザ３１０、ポーリングアプリ３２０、ＣｌｉｃｋＯｎｃｅローダ３３０、及びクライアントアプリ３４０がある。これらのアプリケーションのうち、特にＷｅｂブラウザ３１０及びポーリングアプリ３２０が備える機能について、以下説明する。
【００３６】
Ｗｅｂブラウザ３１０は、操作受付部３１１、画面取得部３１２、操作内容送信部３１３、及び受信ファイル実行部３１４を備える。
【００３７】
操作受付部３１１は、Ｗｅｂブラウザ３１０で表示されるＷｅｂページに対する操作を受け付けるための機能部である。画面取得部３１２は、Ｗｅｂサーバ１０２に対してＷｅｂブラウザ３１０に表示する画面（すなわち、Ｗｅｂページ）の取得要求を送信するための機能部である。
【００３８】
操作内容送信部３１３は、操作受付部３１１で受け付けた操作に応じて、操作内容をＷｅｂサーバ１０２に送信するための機能部である。受信ファイル実行部３１４は、Ｗｅｂサーバ１０２から送信されたファイルを実行可能なアプリケーションを起動して、これを実行するための機能部である。
【００３９】
ポーリングアプリ３２０は、操作内容取得部３２１、モジュールリスト生成部３２２、モジュール取得部３２３、クライアントアプリ実行部３２４、及びコマンド実行部３２５を備える。
【００４０】
操作内容取得部３２１は、Ｗｅｂサーバ１０２から操作内容送信部３１３で送信された操作内容（すなわち、クライアントアプリケーションの動作指示）を取得するための機能部である。
【００４１】
モジュールリスト生成部３２２は、情報処理装置１０１にインストールされているクライアントアプリ３４０を構成するモジュールのリストを生成するための機能部である。モジュール取得部３２３は、Ｗｅｂサーバ１０２から送信されるクライアントアプリ３４０のモジュールを取得するための機能部である。
【００４２】
クライアントアプリ実行部３２４は、情報処理装置１０１にインストールされているクライアントアプリ３４０を実行するための機能部である。また、クライアントアプリ実行部３２４は、クライアントアプリ３４０がインストールされていない場合には、これをインストールしてからクライアントアプリ３４０を実行する。
【００４３】
コマンド実行部３２５は、操作内容取得部３２１で取得したクライアントアプリ３４０の動作指示に応じて、クライアントアプリ３４０を動作させるための機能部である。クライアントアプリ３４０は、このコマンド実行部３２５からの動作指示が受付可能な仕組みとなっている。
【００４４】
更に、ＣｌｉｃｋＯｎｃｅローダ３３０は、ＣｌｉｃｋＯｎｃｅの技術によりＷｅｂサーバからアプリケーションのダウンロード、インストール、及び実行をすることの可能なアプリケーションである。特に第１の実施形態では、Ｗｅｂサーバ１０２からポーリングアプリ３２０をダウンロードし、これを起動する役割を担う。第１の実施形態では、ＣｌｏｃｋＯｎｃｅの技術を用いた仕組みとして説明を行うが、特にこれに限らない。
【００４５】
クライアントアプリ３４０は、情報処理装置１０１で動作するクライアントアプリケーションである。クライアントアプリ３４０は、コマンド実行部３２５からの動作指示に応じて、所定の動作を実行する。以上が情報処理装置１０１の機能構成の一例である。
【００４６】
一方、Ｗｅｂサーバ１０２は、記憶部３５１、通信制御部３５２、画面生成部３５３、識別キー生成部３５４、コマンドＩＤ管理部３５５、及びモジュール管理部３５６を備える。Ｗｅｂサーバ１０２ではＷｅｂアプリケーションが動作しており、Ｗｅｂアプリケーションがこれらの機能部を備えている。
【００４７】
記憶部３５１は、Ｗｅｂサーバ１０２で処理を実行するための各種データを外部メモリ２１１に記憶及び管理するための機能部である。特に第１の実施形態では、後述する図５の各種データテーブルや、クライアントアプリ３４０を構成する最新のモジュールを記憶及び管理している。
【００４８】
通信制御部３５２は、情報処理装置１０１とＷｅｂサーバ１０２との情報の送受信を制御するための機能部である。画面生成部３５３は、情報処理装置１０１のＷｅｂブラウザ３１０に表示させるための画面（すなわち、Ｗｅｂページ）を生成するための機能部である。Ｗｅｂページは、ＨＴＭＬやＣＳＳ等の言語により生成される。
【００４９】
識別キー生成部３５４は、情報処理装置１０１とのセッションごとに一意な識別キーを発行するための機能部である。識別キーは、セッションごとに一意であればどのような情報でも構わない。
【００５０】
コマンドＩＤ管理部３５５は、情報処理装置１０１のＷｅｂブラウザ３１０から送信される、クライアントアプリ３４０の動作指示を示すコマンドＩＤを管理するための機能部である。モジュール管理部３５６は、クライアントアプリ３４０のクライアントアプリ３４０を構成する最新のモジュールを管理し、情報処理装置１０１で必要なモジュールを特定する。以上が、Ｗｅｂサーバ１０２の機能構成の一例である。
【００５１】
図４は、Ｗｅｂブラウザ３１０を介してクライアントアプリ３４０に動作指示を行う一連の処理の流れを示すフローチャートである。
【００５２】
まずステップＳ４０１では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の画面取得部３１２の機能により、初期画面の取得要求をＷｅｂサーバ１０２に送信する。
【００５３】
ステップＳ４０２では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１の初期画面の取得要求を受信し、Ｗｅｂアプリケーションに対するログインを実行する。そして、ステップＳ４０３では、Ｗｅｂサーバ１０２のＣＰＵ２０１は識別キー生成部３５４の機能により、識別キーを生成し、これを情報処理装置１０１とのセッションに対応づけて保存する（識別情報生成手段）。識別キー（識別情報）は、セッションごとに一意な情報である。識別キーを生成すると、図５に示すセッション情報管理テーブル５００にレコードを生成し、識別キー５０２にこれを格納する。
【００５４】
セッション情報管理テーブル５００は、Ｗｅｂサーバ１０２の外部メモリ２１１等で記憶及び管理されるデータテーブルである。セッション情報管理テーブル５００は、セッションＩＤ５０１、及び識別キー５０２という項目を備える。セッションＩＤ５０１は、情報処理装置１０１と通信することで発行されるセッションの識別情報（以下、セッションＩＤという。）である。識別キー５０２は、ステップＳ４０２でセッションごとに発行される識別情報である。セッションＩＤを識別キーの代わりとしてもよいが、情報処理装置１０１とＷｅｂサーバ１０２とのセッションが切れてしまった場合には、セッションＩＤが更新されてしまうので、識別キーを用いることが望ましい。また、以下ではセッション情報管理テーブル５００の１レコード分をセッション情報と称する。
【００５５】
ステップＳ４０４では、Ｗｅｂサーバ１０２のＣＰＵ２０１は画面生成部３５３の機能により、初期画面のＷｅｂページを生成し、通信制御部３５２の機能により生成した初期画面を情報処理装置１０１に送信する。
【００５６】
ステップＳ４０５では、情報処理装置１０１のＣＰＵ２０１は通信制御部３０２の機能により、Ｗｅｂサーバ１０２から送信された初期画面を受信する。そして、ステップＳ４０６では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、受信した初期画面をレンダリングし、表示制御部３０３の機能により情報処理装置１０１のディスプレイ２１０に表示させる。
【００５７】
初期画面の表示例を図６に示す。図６は、Ｗｅｂブラウザ３１０で初期画面を表示した場合の一例を示す図である。初期画面にはメニューボタン６０１が備えられており、この押下を検知するとメニュー一覧６０２を表示する。メニュー一覧６０２には、Ｗｅｂアプリケーションの画面を表示するためのメニューと、クライアントアプリ３４０の画面を表示するためのメニューが混在して表示される。このメニュー一覧６０２の中からユーザが表示したい画面を選択すると、対応するアプリケーションの画面が表示される。
【００５８】
また、初期画面には、クライアントアプリ終了ボタン６０３及びログアウトボタン６０４が備えられている。クライアントアプリ終了ボタン６０３は、メニュー一覧６０２から起動されたクライアントアプリ３４０の終了指示を受け付けるためのボタンである。ログアウトボタン６０４は、Ｗｅｂアプリケーションからログアウトするためのボタンである。
【００５９】
ステップＳ４０７では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の操作受付部３１１の機能により、初期画面が備えるボタンやメニューの押下を検知したか否かを判定する。ボタンやメニューの押下を検知したと判定した場合には、ステップＳ４０８に処理を進める。そうでない場合には、ステップＳ４１８に処理を進める。
【００６０】
ステップＳ４０８では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の操作内容送信部３１３の機能により、押下されたボタンやメニューに対応するコマンドＩＤを初期画面から取得し、これをＷｅｂサーバ１０２に送信する。第１の実施形態においてコマンドＩＤとは、Ｗｅｂアプリケーションまたはクライアントアプリ３４０に対する動作指示を示す識別情報である。初期画面に表示されるボタンやメニューに対応するコマンドＩＤが初期画面に含められているので、このコマンドＩＤを取得してＷｅｂサーバ１０２に送信する。
【００６１】
ステップＳ４０９では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１から送信されたコマンドＩＤを受信する。そして、ステップＳ４１０では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、受信したコマンドＩＤの示す処理がＷｅｂ画面（すなわち、Ｗｅｂページ）の表示であるか否かを判定する。すなわち、Ｗｅｂアプリケーションで生成するＷｅｂページの表示要求であるか否かを判定する。Ｗｅｂサーバ１０２では、コマンドＩＤ管理部３５５の機能により、コマンドＩＤごとに処理内容が対応付けられているので、これを用いて受信したコマンドＩＤに対応する処理内容を特定する。受信したコマンドＩＤの示す処理がＷｅｂ画面の表示であると判定した場合には、ステップＳ４１１に処理を進める。そうでない場合には、ステップＳ４１４に処理を進める。
【００６２】
ステップＳ４１１では、Ｗｅｂサーバ１０２のＣＰＵ２０１は画面生成部３５３の機能により、情報処理装置１０１から要求されたＷｅｂ画面を生成し、通信制御部３５２の機能により情報処理装置１０１にこれを送信する。
【００６３】
ステップＳ４１２では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の画面取得部３１２の機能により、Ｗｅｂサーバ１０２から送信されたＷｅｂ画面を受信する。そしてステップＳ４１３では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、受信したＷｅｂ画面をレンダリングし、表示制御部３０３の機能により情報処理装置１０１のディスプレイ２１０に表示させる。ステップＳ４１３の処理が完了したらステップＳ４１８に処理を進める。
【００６４】
図７は、ステップＳ４１３で情報処理装置１０１のディスプレイ２１０に表示されたＷｅｂ画面の一例を示す図である。図７では、図６のメニュー一覧６０２にある「ＣＣＣ画面」の表示要求を受け付けた場合の画面例である。Ｗｅｂブラウザ３１０はこのようにＷｅｂアプリケーションで生成された画面を表示し、情報の登録・更新・削除等を受け付ける。
【００６５】
一方ステップＳ４１４では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、受信したコマンドＩＤの示す処理がクライアントアプリ３４０の画面の表示であるか否かを判定する。受信したコマンドＩＤの示す処理がクライアントアプリ３４０の画面の表示であると判定した場合には、ステップＳ４１５に処理を進める。そうでない場合には、ステップＳ４１６に処理を進める。
【００６６】
ステップＳ４１５では、Ｗｅｂサーバ１０２のＣＰＵ２０１は、クライアントアプリの画面を表示するためにコマンドＩＤを登録する処理を実行する。動作指示登録処理の詳細は、後述する図８及び図９に示す。この処理によって、情報処理装置１０１にポーリングアプリ３２０がダウンロードされ、クライアントアプリ３４０のインストールやバージョンアップが行われる。そして、ポーリングアプリ３２０がＷｅｂサーバ１０２に対して定期的に問い合わせを行い、コマンドＩＤを取得するようになる。
【００６７】
ステップＳ４１６では、Ｗｅｂサーバ１０２のＣＰＵ２０１は、コマンドＩＤ管理部３５５の機能により、受信したコマンドＩＤの示す処理がＷｅｂアプリケーションからのログアウトであるか否かを判定する。受信したコマンドＩＤの示す処理がＷｅｂアプリケーションからのログアウトであると判定した場合には、ステップＳ４１７に処理を進める。そうでない場合には、一連の処理を終了する。
【００６８】
ステップＳ４１７では、Ｗｅｂサーバ１０２のＣＰＵ２０１は、Ｗｅｂアプリケーションからログアウトするための処理を実行する。ログアウト処理の詳細は、後述する図１０に示す。
【００６９】
Ｗｅｂサーバ１０２のＣＰＵ２０１は、前述したステップＳ４１１、ステップＳ４１５、ステップＳ４１７の処理が完了すると一連の処理を終了する。一方、ステップＳ４１８では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、Ｗｅｂブラウザ３１０の終了指示を検知したか否かを判定する。Ｗｅｂブラウザ３１０の終了指示を検知したと判定した場合には、ステップＳ４１９に処理を進める。そうでない場合には、ステップＳ４０７に処理を戻す。
【００７０】
ステップＳ４１９では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、Ｗｅｂブラウザ３１０の起動を終了する。このようにして、Ｗｅｂページを介してユーザからのアプリケーションの動作指示を受け付けて、その動作指示に応じた処理をＷｅｂサーバ１０２が実行する。
【００７１】
図８及び図９は、動作指示登録処理の詳細な処理の流れを示すフローチャートである。
【００７２】
まずステップＳ８０１では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、情報処理装置１０１とのセッションからセッションＩＤを取得する。そして、取得したセッションＩＤに対応する識別キーをセッション情報管理テーブル５００の識別キー５０２から取得する。
【００７３】
ステップＳ８０２では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、ステップＳ８０１で取得したセッションＩＤと対応するコマンドＩＤ５１２が図５に示すコマンド情報管理テーブル５１０に存在するか否かを判定する。ステップＳ８０１で取得したセッションＩＤと対応するコマンドＩＤ５１２が存在すると判定した場合には、ステップＳ８０４に処理を進める。ステップＳ８０１で取得したセッションＩＤと対応するコマンドＩＤ５１２が存在しないと判定した場合には、ステップＳ８０３に処理を進める。
【００７４】
コマンド情報管理テーブル５１０は、Ｗｅｂサーバ１０２の外部メモリ２１１に記憶及び管理されるデータテーブルである。コマンド情報管理テーブル５１０は、識別キー５１１、コマンドＩＤ５１２、及び更新日付５１３という項目を備える。識別キー５１１はセッション情報管理テーブル５００の識別キー５０２に対応する項目である。コマンドＩＤ５１２は、情報処理装置１０１からの動作指示を示すコマンドＩＤが格納される項目である。更新日付５１３は、コマンドＩＤ５１２が更新された日時を格納する項目である。以下、第１の実施形態ではこのコマンド情報管理テーブル５１０の１レコード分をコマンド情報と称する。
【００７５】
ステップＳ８０３では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、ステップＳ８０１で取得した識別キーとステップＳ４０９で受信したコマンドＩＤとをコマンド情報管理テーブル５１０に登録する。より具体的には、コマンド情報管理テーブル５１０に新たなレコードを作成し、ステップＳ８０１で取得した識別キーとステップＳ４０９で受信したコマンドＩＤとを識別キー５１１とコマンドＩＤ５１２にそれぞれ格納する。更に、更新日付５１３にこれらを登録した日時を格納する。
【００７６】
一方ステップＳ８０４では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、ステップＳ８０１で取得した識別キーが格納されたコマンド情報のコマンドＩＤ５１２にステップＳ４０９で受信したコマンドＩＤを格納する。すなわち、ステップＳ８０１で取得した識別キーに対応するコマンドＩＤ５１２を新たな動作指示に更新する（動作指示更新手段）。このように、ステップＳ８０３またはステップＳ８０４の処理によってＷｅｂページを介してユーザから指示された、クライアントアプリ３４０の動作指示を登録する。
【００７７】
ステップＳ８０５では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、ＣｌｉｃｋＯｎｃｅローダ３３０の起動要求を送信する。より具体的には、情報処理装置１０１に記憶されたＣｌｉｃｋＯｎｃｅローダ３３０を起動するためのファイル（拡張子が「．ａｐｐｌｉｃａｔｉｏｎ」のファイル）を情報処理装置１０１に送信する。このファイルには、Ｗｅｂサーバ１０２が管理するポーリングアプリ３２０の保存場所が含まれている。
【００７８】
ステップＳ８０６では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、ＣｌｉｃｋＯｎｃｅローダ３３０の起動要求（ＣｌｉｃｋＯｎｃｅローダ３３０を起動するためのファイル）を受信する。そしてステップＳ８０７では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、受信したファイルのＭＩＭＥタイプとあらかじめ関連付けられたアプリケーションである、ＣｌｉｃｋＯｎｃｅローダ３３０を起動する。
【００７９】
ステップＳ８０８では、情報処理装置１０１のＣＰＵ２０１はＣｌｉｃｋＯｎｃｅローダ３３０の機能により、受信したファイルが示すポーリングアプリ３２０の保存場所からポーリングアプリ３２０を送信するようＷｅｂサーバ１０２に要求する。つまり、ポーリングアプリ３２０のダウンロード要求を行う。このダウンロード要求は、ポーリングアプリ３２０の保存場所にアクセスするようＷｅｂブラウザ３１０に指示し、Ｗｅｂブラウザ３１０が保存場所を示すＵＲＬにアクセスすることで行う。
【００８０】
ステップＳ８０９では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１からのポーリングアプリ３２０のダウンロード要求を受信する。
【００８１】
ステップＳ８１０では、Ｗｅｂサーバ１０２のＣＰＵ２０１はモジュール管理部３５６が要求された保存場所からポーリングアプリ３２０を取得する。そして、ダウンロード要求を行った情報処理装置１０１とのセッションからセッションＩＤを特定し、このセッションＩＤに対応する識別キーをセッション情報管理テーブル５００から取得する。更に、通信制御部３５２の機能により、取得したポーリングアプリ３２０と識別キーとを情報処理装置１０１に送信する（識別情報送信手段）。
【００８２】
ステップＳ８１１では、情報処理装置１０１のＣＰＵ２０１はＣｌｉｃｋＯｎｃｅローダ３３０の機能により、Ｗｅｂサーバ１０２から送信されたポーリングアプリ３２０と識別キーとを受信する。
【００８３】
そしてステップＳ８１３では、情報処理装置１０１のＣＰＵ２０１は、すでにポーリングアプリ３２０が起動中であるか否かを判定する。ポーリングアプリが起動中であると判定した場合には、動作指示登録処理を終了する。ポーリングアプリが起動していないと判定した場合には、ステップＳ８１４に処理を進める。
【００８４】
ステップＳ８１４では、情報処理装置１０１のＣＰＵ２０１はＣｌｉｃｋＯｎｃｅローダ３３０の機能により、ステップＳ８１１で受信した識別キーを引数としてポーリングアプリ３２０を起動する。ポーリングアプリ３２０は起動すると、引数として渡された識別キーをＲＡＭ２０３に記憶する。そして、ステップＳ８１２では、情報処理装置１０１のＣＰＵ２０１はＣｌｉｃｋＯｎｃｅローダ３３０の機能により、ＣｌｉｃｋＯｎｃｅローダ３３０の起動を終了する。
【００８５】
ステップＳ８１５では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の機能により、引数としてＣｌｉｃｋＯｎｃｅローダ３３０から渡された識別キーがＷｅｂサーバ１０２に存在するか否かを確認する。すなわち、識別キーの確認要求をＷｅｂサーバ１０２に送信する。
【００８６】
ステップＳ８１６では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１から送信された識別キーの確認要求を受信する。ステップＳ８１７では、Ｗｅｂサーバ１０２のＣＰＵ２０１は識別キー生成部３５４の機能により、確認要求を受けた識別キーがセッション情報管理テーブル５００の識別キー５０２に存在するか否かを確認する。そしてステップＳ８１８では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、ステップＳ８１７の確認結果を情報処理装置１０１に送信する。
【００８７】
ステップＳ８１９では、情報処理装置１０１のＣＰＵ２０１は通信制御部３０２の機能により、Ｗｅｂサーバ１０２から送信された識別キーの確認結果を受信する。そしてステップＳ８２０では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の機能により、ステップＳ８１９で受信した確認結果を用いて識別キーが存在するか否かを判定する。識別キーが存在すると判定した場合には、図９のステップＳ８２２の処理を進める。識別キーが存在しないと判定した場合には、ステップＳ８２１に処理を進める。
【００８８】
ステップＳ８２１では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の機能により、ポーリングアプリ３２０の起動を終了する。そして、動作指示登録処理を終了する。
【００８９】
このように、ステップＳ８１５からステップＳ８２１の処理を実行することにより、識別キーがないにも関わらずポーリングアプリ３２０をダウンロードした情報処理装置１０１の動作指示登録処理を終了させることができる。ステップＳ８０８で前述した通り、ポーリングアプリ３２０は、前述したポーリングアプリ３２０の保存場所を示すＵＲＬさえ知っていれば、Ｗｅｂブラウザ３１０でダウンロードできてしまう。そのため、こういった不正な実行を防止するために、ステップＳ８１５乃至ステップＳ８２１を実行している。
【００９０】
引き続き、図９に説明を移す。ステップＳ８２２では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のモジュールリスト生成部３２２の機能により、情報処理装置１０１にインストールされているクライアントアプリ３４０を構成するモジュールのリストを生成する。情報処理装置１０１のアプリケーション制御部３０４が、クライアントアプリ３４０のインストール先を管理しており、このインストール先にあるモジュールのモジュール名とモジュールの生成日の一覧を含むファイルを生成する。まだクライアントアプリ３４０がインストールされていなければ、このリストは空の状態で生成される。
【００９１】
ステップＳ８２３では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のモジュール取得部３２３の機能により、ステップＳ８２２で生成したモジュールのリストをＷｅｂサーバ１０２に送信する。すなわち、これにより最新のモジュールのダウンロード要求を送信する。
【００９２】
ステップＳ８２４では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１から送信されたモジュールのリストを受信する。そして、ステップＳ８２５では、Ｗｅｂサーバ１０２のＣＰＵ２０１はモジュール管理部３５６の機能により、受信したリストが示すモジュールと管理しているモジュールとを比較し、最新のモジュールが存在するか否かを確認する。そして、最新のモジュールがあればこれを取得する。モジュール管理部３５６が管理しているモジュールの方が最新であるか否かは、モジュールの生成日で判断する。
【００９３】
ステップＳ８２６では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、ステップＳ８２５で取得したモジュールを情報処理装置１０１に送信する。この時、取得したモジュールがなければその旨を情報処理装置１０１に通知する。
【００９４】
ステップＳ８２７では、情報処理装置１０１のＣＰＵ２０１はモジュール取得部３２３の機能により、Ｗｅｂサーバ１０２から送信されたモジュールをダウンロードして取得する。そして、取得したモジュールを用いて、クライアントアプリ３４０のインストールまたはアップデートを実行する。受信したモジュールがなければ、ステップＳ８２７の処理は実行しない。
【００９５】
ステップＳ８２８では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ実行部３２４の機能により、クライアントアプリ３４０を起動させる。そして、ステップＳ８２９では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、クライアントアプリ３４０を起動する。以上のようにして、Ｗｅｂサーバ１０２にクライアントアプリ３４０の動作指示を登録し、情報処理装置１０１のクライアントアプリ３４０を起動する。この後、後述する図１１の一連の処理を実行することで、Ｗｅｂサーバ１０２に登録された動作指示に応じてクライアントアプリ３４０が動作することになる。
【００９６】
図１０は、ログアウト処理の詳細な処理の流れを示すフローチャートである。
【００９７】
ステップＳ１００１では、情報処理装置１０１のＣＰＵ２０１は識別キー生成部３５４の機能により、接続中の情報処理装置１０１のセッションからセッションＩＤを特定する。そして、特定したセッションＩＤを持つセッション情報を削除する。更に、削除するセッション情報に含まれる識別キーを持つコマンド情報も併せて削除する。ログアウトするということは、クライアントアプリ３４０に対する動作指示は終了するので、セッション情報やコマンド情報が削除される。
【００９８】
ステップＳ１００２では、情報処理装置１０１のＣＰＵ２０１は画面生成部３５３の機能により、正常にログアウトが完了した旨を通知する処理結果画面を生成し、通信制御部３５２の機能により、これを情報処理装置１０１に送信する。
【００９９】
ステップＳ１００３では、情報処理装置１０１のＣＰＵ２０１は通信制御部３０２の機能により、Ｗｅｂサーバ１０２から送信された処理結果画面を受信する。そして、ステップＳ１００４では、情報処理装置１０１のＣＰＵ２０１はＷｅｂブラウザ３１０の機能により、受信した処理結果画面をディスプレイ２１０に表示させる。以上がログアウト処理の説明である。
【０１００】
図１１は、Ｗｅｂサーバ１０２に登録されたコマンドＩＤに応じて、クライアントアプリ３４０を動作させる一連の処理の流れを示すフローチャートである。
【０１０１】
まずステップＳ１１０１では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の操作内容取得部３２１の機能により、Ｗｅｂサーバ１０２に登録された動作指示の取得要求をＷｅｂサーバ１０２に送信する（取得要求送信手段）。すなわち、ポーリングアプリ３２０がＲＡＭ２０３に記憶した識別キーに対応するコマンドＩＤの取得要求をＷｅｂサーバ１０２に送信する。
【０１０２】
ステップＳ１１０２では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１から送信されたコマンドＩＤの取得要求を受信する。ステップＳ１１０３では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、取得要求のあった識別キーに対応するコマンドＩＤを含むコマンド情報をコマンド情報管理テーブル５１０から取得する。
【０１０３】
ステップＳ１１０４では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、ステップＳ１１０３で取得したコマンド情報を情報処理装置１０１に送信する（動作指示送信手段）。取得要求のあった識別キーを含むコマンド情報が存在しなかった場合には、その旨を情報処理装置１０１に通知する。
【０１０４】
ステップＳ１１０５では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の操作内容取得部３２１の機能により、Ｗｅｂサーバ１０２から送信されたコマンド情報を受信する。
【０１０５】
ステップＳ１１０６では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の機能により、ポーリングアプリ３２０がＲＡＭ２０３に記憶している識別キーを含むコマンド情報がコマンド情報管理テーブル５１０に存在しているか否かを判定する。コマンド情報を受信していれば存在すると判定し、コマンド情報が存在しなかった旨の通知を受信した場合には存在していないと判定する。ＲＡＭ２０３に記憶している識別キーを含むコマンド情報が存在すると判定した場合には、ステップＳ１１０８に処理を進める。ＲＡＭ２０３に記憶している識別キーを含むコマンド情報が存在していないと判定した場合には、ステップＳ１１０７に処理を進める。
【０１０６】
ステップＳ１１０７では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の機能により、ポーリングアプリ３２０の起動を終了する。そして、図１１に示す一連の処理を終了する。情報処理装置１０１が保持する識別キーがＷｅｂサーバ１０２のコマンド情報管理テーブル５１０から削除されているということは、前述したログアウト処理が実行されている。そのため、これ以上動作指示を取得する必要がないため、このような処理を実行している。
【０１０７】
ステップＳ１１０８では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０の操作内容取得部３２１の機能により、ステップＳ１１０５で受信したコマンド情報にコマンドＩＤが含まれているか否かを判定する。コマンドＩＤが含まれていると判定した場合には、クライアントアプリ３４０に対する動作指示がなされているので、ステップＳ１１０９に処理を進める。コマンドＩＤが含まれていないと判定した場合には、動作指示はなされていないのでステップＳ１１０１に処理を戻す。そして所定時間経過したら、再度ステップＳ１１０１を実行する。このように、ポーリングアプリ３２０は、所定の間隔でＷｅｂサーバ１０２からコマンドＩＤを取得する。
【０１０８】
ステップＳ１１０９では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のコマンド実行部３２５の機能により、取得したコマンドＩＤが示す動作指示が特定の画面の表示指示であるか否かを判定する。ポーリングアプリ３２０は、コマンドＩＤに対応する動作指示の内容を記憶している。よって、これを用いることでどのコマンドＩＤがどの動作指示なのかを特定することができる。取得したコマンドＩＤが示す動作指示が特定の画面の表示指示であると判定した場合には、ステップＳ１１１０に処理を進める。そうでない場合には、ステップＳ１１１２に処理を進める。
【０１０９】
ステップＳ１１１０では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のコマンド実行部３２５の機能により、コマンドＩＤに応じた画面を表示するよう、クライアントアプリ３４０に要求する。
【０１１０】
ステップＳ１１１１では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、ポーリングアプリ３２０からの要求に応じた画面をディスプレイ２１０に表示させる（動作手段）。例えば、図６のメニュー一覧６０２から「ＡＡＡ画面」の選択を受け付けたとする。すると、前述した処理によって「ＡＡＡ画面」の表示要求に対応するコマンドＩＤがＷｅｂサーバ１０２に登録される。ポーリングアプリ３２０は、識別キーを用いてこのコマンドＩＤを取得すると、このコマンドＩＤが示す動作指示である「ＡＡＡ画面」の表示要求をクライアントアプリ３４０に行う。すると、図１２に示すようにＷｅｂブラウザ３１０とは別に起動しているクライアントアプリ３４０の画面が「ＡＡＡ画面」に切り替わる。このように、識別キーを用いることでＷｅｂサーバ１０２に登録された動作指示を取得し、この動作指示に応じた動作をクライアントアプリ３４０に実行させることができる。
【０１１１】
Ｗｅｂサーバ１０２から情報処理装置１０１のクライアントアプリ３４０に直接動作指示を行う方法も考えられるが、そのためには特定のポートを開放したり、特定のセキュリティ設定を解除したりする必要がある。企業においてはこのような設定はセキュリティ上好ましくないため、行うことができない。しかしながら、本発明の方法を用いることでこれを解決することができる。
【０１１２】
ステップＳ１１１２では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のコマンド実行部３２５の機能により、取得したコマンドＩＤが示す動作指示がクライアントアプリ３４０の終了指示であるか否かを判定する。クライアントアプリ３４０の終了指示は、図６のクライアントアプリ終了ボタン６０３の押下がなされることでＷｅｂサーバ１０２に登録される。取得したコマンドＩＤが示す動作指示がクライアントアプリ３４０の終了指示であると判定した場合には、ステップＳ１１１３に処理を進める。そうでない場合にはポーリングアプリ３２０が認識可能な動作指示ではないので、ユーザにエラーを通知して、ステップＳ１１０１に処理を戻す。
【０１１３】
ステップＳ１１１３では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のコマンド実行部３２５の機能により、クライアントアプリ３４０を終了するよう、クライアントアプリ３４０に要求する。
【０１１４】
ステップＳ１１１４では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、クライアントアプリ３４０を終了する。
【０１１５】
ステップＳ１１１５では、情報処理装置１０１のＣＰＵ２０１はポーリングアプリ３２０のコマンド実行部３２５の機能により、Ｓ１１１０またはＳ１１１３で実行された動作指示をＷｅｂサーバ１０２から削除するよう要求する（削除要求送信手段）。すなわち、ポーリングアプリ３２０がＲＡＭ２０３に記憶している識別キーに対応するコマンドＩＤをコマンド情報管理テーブル５１０から削除するよう、Ｗｅｂサーバ１０２に要求する。これが完了したら、ステップＳ１１０１に処理を戻す。
【０１１６】
ステップＳ１１１６では、Ｗｅｂサーバ１０２のＣＰＵ２０１は通信制御部３５２の機能により、情報処理装置１０１から送信されたコマンドＩＤの削除要求を受信する。そして、ステップＳ１１１７では、Ｗｅｂサーバ１０２のＣＰＵ２０１はコマンドＩＤ管理部３５５の機能により、情報処理装置１０１が保持する識別キーに対応するコマンドＩＤをコマンド情報管理テーブル５１０から削除する（動作指示削除手段）。こうすることで、実行済みの動作指示をＷｅｂサーバ１０２から削除できるので、ステップＳ１１０３で再度動作指示の取得を行う場合でも、実行済みの動作指示を取得することがなくなる。以上が図１１の説明である。
【０１１７】
次に第２の実施形態について説明する。第１の実施形態では、ポーリングアプリ３２０が所定の間隔でＷｅｂサーバ１０２に登録された動作指示を取得していたが、第２の実施形態はこの処理をクライアントアプリ３４０が実行する仕組みである。
【０１１８】
第２の実施形態は、第１の実施形態で説明した図９及び図１１の変形例であるため、それ以外については第１の実施形態と同様である。また、クライアントアプリ３４０が第１の実施形態におけるポーリングアプリ３２０の処理を実行するため、第２の実施形態では、ポーリングアプリ３２０が備える機能をクライアントアプリ３４０が備えている。
【０１１９】
以下、第２の実施形態について説明する。前述した通り、第２の実施形態は図９及び図１１の変形例であるので、これらに対応する図１３及び図１４について説明を行う。
【０１２０】
図１３は、図９の変形例であり、動作指示登録処理の詳細な処理の流れを示すフローチャートである。
【０１２１】
図１３のステップＳ８２２乃至ステップＳ８２７は、前述した図９のステップＳ８２２乃至ステップＳ８２２と同様であるので説明を省略する。
【０１２２】
ステップＳ１３０１では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ実行部３２４の機能により、ポーリングアプリ３２０がＲＡＭ２０３に記憶した識別キーを引数にして、クライアントアプリ３４０を起動させる。クライアントアプリ３４０の起動が完了したら、ポーリングアプリ３２０の機能によりポーリングアプリ３２０を終了する。
【０１２３】
ステップＳ１３０２では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、クライアントアプリ３４０を起動する。このとき、引数として受け取った識別キーをＲＡＭ２０３に記憶する。こうすることで、ポーリングアプリ３２０が持っていた識別キーをクライアントアプリ３４０に取得させる。
【０１２４】
図１４は、図１１の変形例であり、Ｗｅｂサーバ１０２に登録されたコマンドＩＤに応じて、クライアントアプリ３４０を動作させる一連の処理の流れを示すフローチャートである。
【０１２５】
まずステップＳ１４０１では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、Ｗｅｂサーバ１０２に登録された動作指示の取得要求をＷｅｂサーバ１０２に送信する。すなわち、クライアントアプリ３４０がＲＡＭ２０３に記憶した識別キーに対応するコマンドＩＤの取得要求をＷｅｂサーバ１０２に送信する。
【０１２６】
図１４のステップＳ１１０２乃至ステップＳ１１０４は、前述した図１１のステップＳ１１０２乃至ステップＳ１１０４と同様であるので説明を省略する。
【０１２７】
ステップＳ１４０２では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、Ｗｅｂサーバ１０２から送信されたコマンド情報を受信する。
【０１２８】
ステップＳ１４０３では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、クライアントアプリ３４０がＲＡＭ２０３に記憶している識別キーを含むコマンド情報がコマンド情報管理テーブル５１０に存在しているか否かを判定する。コマンド情報を受信していれば存在すると判定し、コマンド情報が存在しなかった旨の通知を受信した場合には存在していないと判定する。ＲＡＭ２０３に記憶している識別キーを含むコマンド情報が存在すると判定した場合には、ステップＳ１４０５に処理を進める。ＲＡＭ２０３に記憶している識別キーを含むコマンド情報が存在していないと判定した場合には、ステップＳ１４０４に処理を進める。
【０１２９】
ステップＳ１４０４では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、クライアントアプリ３４０の起動を終了する。そして、図１４に示す一連の処理を終了する。情報処理装置１０１が保持する識別キーがＷｅｂサーバ１０２のコマンド情報管理テーブル５１０から削除されているということは、前述したログアウト処理が実行されている。そのため、これ以上動作指示を取得する必要がないため、このような処理を実行している。
【０１３０】
ステップＳ１４０５では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、ステップＳ１４０２で受信したコマンド情報にコマンドＩＤが含まれているか否かを判定する。コマンドＩＤが含まれていると判定した場合には、クライアントアプリ３４０に対する動作指示がなされているので、ステップＳ１４０６に処理を進める。コマンドＩＤが含まれていないと判定した場合には、動作指示はなされていないのでステップＳ１４０１に処理を戻す。そして所定時間経過したら、再度ステップＳ１４０１を実行する。このように、クライアントアプリ３４０は、所定の間隔でＷｅｂサーバ１０２からコマンドＩＤを取得する。
【０１３１】
ステップＳ１４０６では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、取得したコマンドＩＤが示す動作指示が特定の画面の表示指示であるか否かを判定する。クライアントアプリ３４０は、コマンドＩＤに対応する動作指示の内容を記憶している。よって、これを用いることでどのコマンドＩＤがどの動作指示なのかを特定することができる。取得したコマンドＩＤが示す動作指示が特定の画面の表示指示であると判定した場合には、ステップＳ１４０７に処理を進める。そうでない場合には、ステップＳ１４０９に処理を進める。
【０１３２】
ステップＳ１４０７では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、コマンドＩＤから特定される動作指示に応じた画面をディスプレイ２１０に表示させる。
【０１３３】
ステップＳ１４０８では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、ステップＳ１４０７で実行された動作指示をＷｅｂサーバ１０２から削除するよう要求する。すなわち、クライアントアプリ３４０がＲＡＭ２０３に記憶している識別キーに対応するコマンドＩＤをコマンド情報管理テーブル５１０から削除するよう、Ｗｅｂサーバ１０２に要求する。これが完了したら、ステップＳ１４０１に処理を戻す。
【０１３４】
ステップＳ１４０９では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、取得したコマンドＩＤが示す動作指示がクライアントアプリ３４０の終了指示であるか否かを判定する。クライアントアプリ３４０の終了指示は、図６のクライアントアプリ終了ボタン６０３の押下がなされることでＷｅｂサーバ１０２に登録される。取得したコマンドＩＤが示す動作指示がクライアントアプリ３４０の終了指示であると判定した場合には、ステップＳ１４１０に処理を進める。そうでない場合にはクライアントアプリ３４０が認識可能な動作指示ではないので、ユーザにエラーを通知して、ステップＳ１４０１に処理を戻す。
【０１３５】
ステップＳ１４１０では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、ステップＳ１４１１で実行される動作指示をＷｅｂサーバ１０２から削除するよう要求する。すなわち、クライアントアプリ３４０がＲＡＭ２０３に記憶している識別キーに対応するコマンドＩＤをコマンド情報管理テーブル５１０から削除するよう、Ｗｅｂサーバ１０２に要求する。
【０１３６】
ステップＳ１４１１では、情報処理装置１０１のＣＰＵ２０１はクライアントアプリ３４０の機能により、クライアントアプリ３４０を終了する。以上が図１４の説明である。
【０１３７】
以上説明したように、第１の実施形態及び第２の実施形態によれば、Ｗｅｂページで受け付けた指示に応じてクライアントアプリケーションを動作させることが可能となる。
【０１３８】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１３９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１４０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１４２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１４３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１４４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１４７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１４８】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１４９】
１０１  情報処理装置
１０２  Ｗｅｂサーバ
１０３  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆコントローラ
２０９  入力デバイス
２１０  ディスプレイ
２１１  外部メモリ
【図１】
2016115015.tif 000003
【図２】
2016115015.tif 000004
【図３】
2016115015.tif 000005
【図４】
2016115015.tif 000006
【図５】
2016115015.tif 000007
【図６】
2016115015.tif 000008
【図７】
2016115015.tif 000009
【図８】
2016115015.tif 000010
【図９】
2016115015.tif 000011
【図１０】
2016115015.tif 000012
【図１１】
2016115015.tif 000013
【図１２】
2016115015.tif 000014
【図１３】
2016115015.tif 000015
【図１４】
2016115015.tif 000016