(57)【特許請求の範囲】
【請求項１】
サーバ装置とネットワークを介した通信を行う情報処理装置であって、
アプリケーションを実行する第１の処理手段と、
前記サーバ装置に備えられてアプリケーションを実行する第２の処理手段に前記ネットワークを介して接続し前記第２の処理手段の一部として機能する第２の処理部分と
を備え、
前記第１の処理手段は、アプリケーションを実行する処理手段を、前記第１の処理手段と前記第２の処理手段とのいずれか一方に切り替え、
前記第２の処理部分は、前記アプリケーションを実行する処理手段が前記第１の処理手段から前記第２の処理手段へ切り替えられたときに、前記サーバ装置における前記第２の処理手段の処理に応じた処理を前記第１の処理手段とは独立した状態で実行し、
さらに、前記第１の処理手段が、アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、前記第１の処理手段では前記アプリケーションとは別の処理が実行され、
さらにまた、前記第１の処理手段は、その別の処理が終了したときに、アプリケーションを実行する処理手段を、前記第２の処理手段から前記第１の処理手段に切り替えて戻すことを特徴とする情報処理装置。
【請求項２】
前記第１の処理手段が、アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、及び、前記第２の処理手段から前記第１の処理手段へ切り替えたとき、前記サーバ装置との間で、前記アプリケーションに関するデータを同期することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の処理手段から前記第２の処理手段への切り替えは、前記情報処理装置が収集した情報が予め定められた条件を満たしたときに行われることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記第１の処理手段から前記第２の処理手段への切り替えは、前記第１の処理手段で実行されるオペレーティングシステム又はミドルウェアが更新されるときに行われ、
前記第１の処理手段では、前記アプリケーションとは別の処理として、前記第１の処理手段で実行されるオペレーティングシステム又はミドルウェアの更新が実行されることを特徴とする請求項１乃至請求項３の何れか一つに記載の情報処理装置。
【請求項５】
前記第１の処理手段から前記第２の処理手段への切り替えは、前記第１の処理手段で実行されるオペレーティングシステム又はミドルウェアに異常が発生したときに行われ、
前記第１の処理手段では、前記アプリケーションとは別の処理として、前記異常からの回復処理が実行されることを特徴とする請求項１乃至請求項３の何れか一つに記載の情報処理装置。
【請求項６】
クライアント端末とネットワークを介した通信を行う情報処理装置であって、
アプリケーションを実行する第２の処理手段を備え、
前記第２の処理手段は、前記クライアント端末からの切り替え指示に従って、前記クライアント端末に備えられている第１の処理手段に代わってアプリケーションを実行し、かつ、アプリケーションを実行する処理手段が前記第１の処理手段から切り替えられたときに、前記クライアント端末に備えられて前記第２の処理手段の一部として前記第１の処理手段とは独立した状態で機能する第２の処理部分と通信する構成を有し、
前記第１の処理手段から前記第２の処理手段への切り替えは、前記第１の処理手段で実行されるオペレーティングシステム又はミドルウェアが更新されるときに行われ、
また、前記第１の処理手段がそのオペレーティングシステム又はミドルウェアの更新が終了したときに、前記クライアント端末からの切り替え指示に従った切り替え処理の後に、前記アプリケーションの実行を終了する
ことを特徴とする情報処理装置。
【請求項７】
アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、および、前記第２の処理手段から前記第１の処理手段へ切り替えたとき、前記クライアント端末との間で、前記アプリケーションに関するデータを同期することを特徴とする請求項６記載の情報処理装置。
【請求項８】
クライアント端末とネットワークを介した通信を行う情報処理装置であって、
アプリケーションを実行する第２の処理手段を備え、
前記第２の処理手段は、前記クライアント端末からの切り替え指示に従って、前記クライアント端末に備えられている第１の処理手段に代わってアプリケーションを実行し、かつ、アプリケーションを実行する処理手段が前記第１の処理手段から切り替えられたときに、前記クライアント端末に備えられて前記第２の処理手段の一部として前記第１の処理手段とは独立した状態で機能する第２の処理部分と通信する構成を有し、
前記第１の処理手段から前記第２の処理手段への切り替えは、前記第１の処理手段で実行されるオペレーティングシステム又はミドルウェアに異常が発生したときに行われ、
また、前記第１の処理手段がそのオペレーティングシステム又はミドルウェアの異常を回復する処理が終了したときに、前記クライアント端末からの切り替え指示に従った切り替え処理の後に、前記アプリケーションの実行を終了する
ことを特徴とする情報処理装置。
【請求項９】
アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、および、前記第２の処理手段から前記第１の処理手段へ切り替えたとき、前記クライアント端末との間で、前記アプリケーションに関するデータを同期することを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記第１の処理手段から前記第２の処理手段への切り替えは、前記情報処理装置が収集した情報が予め定められた条件を満たしたときに行われることを特徴とする請求項６乃至請求項９の何れか一つに記載の情報処理装置。
【請求項１１】
請求項１から５のいずれか１項に記載の情報処理装置をクライアント端末として備え、
請求項６から１０のいずれか１項に記載の情報処理装置をサーバ装置として備えることを特徴とする情報処理システム。
【請求項１２】
アプリケーションを実行する処理手段を、クライアント端末に備えられている第１の処理手段とサーバ装置に備えられている第２の処理手段とのいずれか一方に前記クライアント端末が切り替え、
前記クライアント端末に備えられて前記第２の処理手段の一部として機能する第２の処理部分は、前記アプリケーションを実行する処理手段が前記第１の処理手段から前記第２の処理手段へ切り替えられたときに、前記サーバ装置における前記第２の処理手段に応じた処理を前記第１の処理手段とは独立した状態で実行し、
また、アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、前記第１の処理手段では前記アプリケーションとは別の処理が実行され、
さらにまた、前記第１の処理手段は、その別の処理が終了したときに、アプリケーションを実行する処理手段を、前記第２の処理手段から前記第１の処理手段に切り替えて戻す
ことを特徴とする情報処理方法。
【請求項１３】
アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、及び、前記第２の処理手段から前記第１の処理手段への切り替えたとき、前記クライアント端末と前記サーバ装置との間で、前記アプリケーションに関するデータを同期することを特徴とする請求項１２記載の情報処理方法。
【請求項１４】
アプリケーションを実行する処理手段を、クライアント端末に備えられている第１の処理手段とサーバ装置に備えられている第２の処理手段とのいずれか一方に前記クライアント端末が切り替える処理と、
前記クライアント端末に備えられて前記第２の処理手段の一部として機能する第２の処理部分が、前記アプリケーションを実行する処理手段が前記第１の処理手段から前記第２の処理手段へ切り替えられたときに、前記サーバ装置における前記第２の処理手段に応じた処理を前記第１の処理手段とは独立した状態で実行する処理と、
アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、前記第１の処理手段で前記アプリケーションとは別の処理を実行させる処理と
前記第１の処理手段は、その別の処理が終了したときに、アプリケーションを実行する処理手段を、前記第２の処理手段から前記第１の処理手段に切り替えて戻す処理と
を情報処理装置に実行させるためのプログラムを記録した記録媒体。
【請求項１５】
アプリケーションを実行する処理手段を、前記第１の処理手段から前記第２の処理手段へ切り替えたとき、及び、前記第２の処理手段から前記第１の処理手段へ切り替えたとき、前記サーバ装置との間で、前記アプリケーションに関するデータを同期する処理を情報処理装置に実行させるためのプログラムを記録したことを特徴とする請求項１４記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラム記録媒体に関する。
【背景技術】
【０００２】
クライアント端末とサーバ装置とで通信を行う情報処理システムでは、クライアント端末におけるオペレーティングシステムやミドルウェア等の処理系はオープンになっている。これにより、処理系の変更やアプリケーションの追加などが容易に行われる。
【０００３】
このような処理系のオープン化が進む一方で、処理系を悪意ある第３者から保護したり、異常状態に陥った処理系の不具合を修正したりするために、ユーザは、処理系の更新又は再インストールを頻繁に行う必要がある。このような処理系の更新は、サーバ装置やＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のクライアント端末において一般的に行われている。現在では、携帯電話等のモバイル端末（移動体通信端末、携帯端末）の中にも、処理系がオープンになっている端末が出現している。このようなモバイル端末には、例えば、Ｇｏｏｇｌｅ社のＡｎｄｒｏｉｄやＡｐｐｌｅ社のｉＰｈｏｎｅなどがある。よって、今後は、ユーザは、モバイル端末をクライアント端末として使用する場合にも、処理系の更新が必要になることが予想される。
【０００４】
ほとんどの処理系の更新や再インストールは、再起動を伴う。再起動中はユーザは処理系を利用できないので、その処理系上で動作するアプリケーションも利用できないという問題がある。モバイル端末においては、特に、電話機能や電子メール機能などの基本機能はユーザが常時利用できることが望まれる。よって、ＰＣやサーバ装置と同様に、モバイル端末においてユーザが頻繁に処理系を更新する必要が生じると、再起動等により上記基本機能等が一時的に利用できなくなることが多くなるので、ユーザビリティの低下が懸念される。なお、処理系とその処理系上で動作するアプリケーションが利用できなくなる場合として、上述した処理系の更新や再インストールのときの他に、例えば、処理系に異常が発生したとき、特定の環境に到達したときなどがある。
【０００５】
このような、処理系の更新によってクライアント端末の機能が一時的に利用できなくなる問題を解決するために、例えば特許文献１に、クライアント端末又はサーバ装置のいずれかにおいて処理系を冗長化（二重化）する方法が開示される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２１００７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、処理系をサーバ装置側にて冗長化する場合、及び、クライアント端末側にて冗長化する場合のいずれにも、以下のような問題がある。
【０００８】
サーバ装置側にて冗長化構成が構築される場合、ユーザはクライアント端末として、例えばＶＮＣ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ）クライアントや、リモートデスクトップ等のリモート接続クライアント（画面転送クライアント）を用いて、サーバ装置に接続する。しかし、この構成では、ネットワークが常時接続されていることが前提であるため、ユーザはネットワークが利用できない環境では処理系を利用できないという問題がある。
【０００９】
クライアント端末側にて冗長化構成が構築される場合、クライアント端末は多くの冗長化のためのメモリやハードディスク等のリソースを備える必要がある。しかしながら、携帯電話等のモバイル端末は、備えられるリソースが制約されるので、処理系全体を冗長化することは困難であるという問題がある。
【００１０】
本発明は、上記事情に鑑みてなされたものであり、クライアント端末のアプリケーションが一時的に利用停止にされることがなく、継続して利用されることが可能な情報処理装置、情報処理システム、情報処理方法及びプログラム記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の情報処理装置は、第１および第２の処理部分を含む第２の処理系のうち第１の処理部分を備えるサーバ装置とネットワークを介した通信を行う情報処理装置であって、第１の処理系と、第２の処理部分を備え、第１の処理系は、アプリケーションを実行する処理系を、第１および第２の処理系のいずれか一方に切り替え、第２の処理部分は、アプリケーションを実行する処理系が第１の処理系から第１の処理部分へ切り替えられたときに、第１の処理部分から受信した処理を実行する。
【００１２】
本発明の第２の情報処理装置は、第１の処理系を備えるクライアント端末とネットワークを介した通信を行う情報処理装置であって、第１および第２の処理部分を含む第２の処理系のうち第１の処理部分を備え、第１の処理部分は、クライアント端末からの指示に従って、アプリケーションを実行する処理系を、第１および第２の処理系のいずれか一方に切り替え、第１の処理部分は、アプリケーションを実行する処理系が第１の処理系から第２の処理系へ切り替えられたときに、処理の一部をクライアント端末に送信する。
【００１３】
本発明の第１の情報処理システムは、上記第１の情報処理装置をクライアント端末として備え、上記第２の情報処理装置をサーバ装置として備える。
【００１４】
本発明の第１の情報処理方法は、第１の処理系と第１および第２の処理部分を含む第２の処理系のうち第２の処理部分を備えるクライアント端末と、第１の処理部分を備えるサーバ装置とがネットワークを介した通信を行う情報処理方法であって、アプリケーションを実行する処理系を、第１および第２の処理系のいずれか一方に切り替え、第２の処理部分は、アプリケーションを実行する処理系が第１の処理系から第１の処理部分へ切り替えられたときに、第１の処理部分から受信した処理を実行する。
【００１５】
本発明の第１のプログラム記録媒体は、第１および第２の処理部分を含む第２の処理系のうち第１の処理部分を備えるサーバ装置とネットワークを介した通信を行い、第１の処理系と、第２の処理部分とを備える情報処理装置に実行させるためのプログラムを記録した記録媒体であって、アプリケーションを実行する処理系を、第１および第２の処理系のいずれか一方に切り替える処理と、第２の処理部分が、アプリケーションを実行する処理系が第１の処理系から第１の処理部分へ切り替えられたときに、第１の処理部分から受信した処理を実行する処理とを情報処理装置に実行させるためのプログラムを記録する。
【００１６】
本発明の第２のプログラム記録媒体は、第１の処理系を備えるクライアント端末とネットワークを介した通信を行い、第１および第２の処理部分を含む第２の処理系のうち第１の処理部分を備える情報処理装置に実行させるためのプログラムを記録した記録媒体であって、クライアント端末からの指示に従って、クライアント端末からの指示に従って、アプリケーションを実行する処理系を、第１および第２の処理系のいずれか一方に切り替える処理と、アプリケーションを実行する処理系が第１の処理系から第２の処理系へ切り替えられたときに、処理の一部をクライアント端末に送信する処理とを情報処理装置に実行させるためのプログラムを記録する。
【発明の効果】
【００１７】
本発明によれば、クライアント端末のアプリケーションが一時的に利用停止にされることがなく、継続して利用されることが可能であるという効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る情報処理システムの構成の一例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理システムの動作の一例を示すシーケンスチャートである。
【図３】本発明の第１の実施形態に係る情報処理システムの動作の一例を示すシーケンスチャートである。
【図４】本発明の第２の実施形態に係る情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
第１の実施形態．
以下、本発明を実施するための形態（実施形態）について添付図面を参照して詳細に説明する。
【００２０】
まず、第１の実施形態の情報処理システムの概要について説明する。第１の実施形態の情報処理システムにおいて、クライアント端末とサーバ装置は互いに通信可能である。この第１の実施形態の情報処理システムは、クライアント端末でのオペレーティングシステムやミドルウェア等が更新されるときに、クライアント端末でのアプリケーションを実行するための処理系（アプリケーション実行系）を、クライアント端末ローカルの処理系からサーバ装置主体の処理系へと切り替える。情報処理システムはまた、上記切り替えを、オペレーティングシステムやミドルウェア等に異常が発生したとき、あるいは、特定の環境（位置、時間等）へ到達したときに、実行する。これにより、情報処理システムは、クライアント端末ローカルの処理系をバックグランドで継続して動作させることにより更新処理又は異常状態からの回復処理を可能にするとともに、サーバ装置においてクライアント端末から切り替えられたアプリケーションの処理を可能にする。また、情報処理システムは、処理系の切り替えを実行するときに、処理系間でデータ同期を行うことにより、切り替え後も最新のデータを利用可能にする。
【００２１】
次に、第１の実施形態の情報処理システムの構成について、図１を参照しながら説明する。第１の実施形態の情報処理システムは、図１に示すように、クライアント端末１００とサーバ装置２００を備える。クライアント端末１００とサーバ装置２００は、ネットワーク３００を介して通信可能である。
【００２２】
第１の実施形態のクライアント端末１００は、処理系１０１および処理系１０２を備える。クライアント端末１００は、処理系１０１または処理系１０２による情報処理サービスの提供を受けるときに、ユーザ（操作者）により使用される情報処理装置である。クライアント端末１００は、例えば、自動車等に搭載される電子機器、ＰＣ、携帯電話機、電子手帳、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ゲーム機器、腕時計、カーナビゲーションシステム、などである。
【００２３】
第１の実施形態のサーバ装置２００は、クライアント端末１００のユーザへ情報処理サービスを提供する情報処理装置である。サーバ装置２００は、例えば、クライアント端末１００と同様に、自動車等に搭載される電子機器、ＰＣ、携帯電話機、電子手帳、ＰＤＡ、ゲーム機器、腕時計、カーナビゲーションシステム、などである。
【００２４】
クライアント端末１００及びサーバ装置２００は、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリ、通信装置を備える。また、クライアント端末１００及びサーバ装置２００は、ハードディスク装置等の不揮発性の記憶装置や、キーボード、マウス、マイク等の入力装置、ディスプレイ、スピーカ等の出力装置を、外付けで備えても内蔵してもよい。
【００２５】
クライアント端末１００及びサーバ装置２００では、ＣＰＵがメモリに記憶される各種制御プログラムを実行することにより、クライアント端末１００やサーバ装置２００としての各種機能が実現される。なお、ＣＰＵにより実行される上記制御プログラムは、ネットワーク３００を介して他の情報処理装置から受信されてもよいし、予め制御プログラムを記録した記録媒体から読み出されてもよい。
【００２６】
ネットワーク３００は、クライアント端末１００とサーバ装置２００とを互いに通信可能に接続する通信路である。ネットワーク３００は、少なくとも一部が無線の通信路により構成されてもよい。
【００２７】
クライアント端末１００は、第１の処理系としての処理系１０１と、第２の処理系としての処理系１０２の一部とを備える。サーバ装置２００は、第２の処理系としての処理系１０２を備える。ユーザは、処理系１０１又は処理系１０２のどちらか一方を利用することにより、情報処理サービスの提供を、アプリケーション１４０又はアプリケーション２４０を介して、受けることができる。
【００２８】
処理系１０１は、汎用オペレーティングシステム１３０、アプリケーション１４０、データベース１５０、クライアント同期モジュール１６０、切替モジュール１７０、図示しないその他ファイルシステム等を備える。アプリケーション１４０は、ユーザへサービスを提供する。データベース１５０は、ユーザに関するデータを格納する。処理系１０１は、ユーザへの表示も含め、全ての処理をクライアント端末１００上で行う処理系である。
【００２９】
処理系１０２は、一部の要素がクライアント端末１００に備えられ、その他の要素がサーバ装置２００に備えられる。クライアント端末１００における処理系１０２は軽量クライアント２２０を備える。サーバ装置２００における処理系１０２は、汎用オペレーティングシステム２３０、アプリケーション２４０、データベース２５０、サーバ同期モジュール２６０、軽量クライアント受付アプリ２７０、図示しないその他ファイルシステム等を備える。処理系１０２においては、クライアント端末１００とサーバ装置２００は、互いにそれぞれ軽量クライアント２２０及び軽量クライアント受付アプリ２７０を介して接続される。処理系１０２のうち、入出力等の一部の処理以外の処理がサーバ装置２００により実行され、処理結果の表示出力、ユーザからの指示入力等の一部の処理がクライアント端末１００により実行される。
【００３０】
処理系１０１と処理系１０２の切り替えは、処理系１０１の切替モジュール１７０と制御システム１１０とが連動して行う。なお、制御システム１１０は、環境情報を観測および収集できる。環境情報には、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）位置、現在時刻、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）等の近距離通信により読取可能な情報などがある。
【００３１】
クライアント端末１００において、通常は、アプリケーションを実行する処理系（アプリケーション実行系）として処理系１０１が用いられる。一方、クライアント端末１００において、例えば処理系１０１を更新するとき又は処理系１０１に異常が発生したときに、アプリケーション実行系は処理系１０１から処理系１０２に切り替えられる。このとき、処理系１０１は、更新処理もしくは異常処理をバックグランドで継続して実行する。また、アプリケーションを実行する処理系が処理系１０１から処理系１０２に切り替えられるときに、各処理系が互いにデータ同期を行うことにより、切り替え後の実行処理系は最新のデータを利用できる。
【００３２】
なお、処理系１０１の汎用オペレーティングシステム１３０としては、例えば、Ｗｉｎｄｏｗｓ、Ｌｉｎｕｘ（登録商標）、Ｓｙｍｂｉａｎ等が用いられる。また、処理系１０２における軽量クライアント２２０としては、例えば、遠隔地のＰＣやサーバを操作するためのクライアントであるＶＮＣクライアントや、リモートデスクトップクライアント等が用いられる。また、軽量クライアント２２０として、例えばブラウザが用いられてもよい。
【００３３】
次に、第１の実施形態の情報処理システムの動作例について、図１及び図２を参照しながら説明する。ここでは、例として、スケジュール機能について説明する。ユーザは、クライアント端末１００の処理系１０１を用いて、データベース１５０に保存されているスケジュールデータを、アプリケーション１４０を介して参照することにより、自分のスケジュール内容の閲覧、スケジュールの追加、変更などを行うことができる（以下、スケジュール機能という）。また、ユーザは、クライアント端末１００及びサーバ装置２００の処理系１０２を用いて、データベース２５０に保存されているスケジュールデータを、アプリケーション２４０を介して参照することにより、自分のスケジュール内容の閲覧、及び、スケジュールの追加、変更などを行うことができる（以下、スケジュール機能という）。つまり、ユーザは、処理系１０１もしくは処理系１０２のどちらか一方を用いて、スケジュール機能を利用できる。
【００３４】
ここでは、例えば、ユーザは、処理系１０１のみをアプリケーション実行系として使用することにより、上記スケジュール機能を利用できる場合を説明する。これを通常状態と呼ぶ。通常状態のとき、ユーザは、クライアント端末１００がネットワーク３００に接続されていない状態でもスケジュール機能を利用できる。
【００３５】
通常状態において、クライアント端末１００の制御システム１１０は、処理系を切り替える必要があるか否かを判断する（ステップＡ１）。制御システム１１０は、例えば、オペレーティングシステムやミドルウェア等が更新されるとき、オペレーティングシステムやミドルウェア等に異常が発生したときに、処理系を切り替える必要があると判断する。制御システム１１０は、また、制御システム１１０が定期的に収集している環境情報（例えばＧＰＳ位置や現在時刻）が予め定められた値と一致したときに、処理系を切り替える必要があると判断する。
【００３６】
ここでは、例えば、処理系１０１に含まれる汎用オペレーティングシステム１３０が更新される必要が生じた場合を説明する。このとき、ユーザが処理系１０１及びアプリケーション１４０を一時的に利用できなくなることを、第１の実施形態では以下の動作により防止する。
【００３７】
汎用オペレーティングシステム１３０が更新される必要が生じたとき、制御システム１１０が、処理系を切り替える必要があると判断すると（ステップＡ１／ＹＥＳ）、クライアント同期モジュール１６０とサーバ同期モジュール２６０とが同期を行う（ステップＡ２、Ｂ１）。このとき、クライアント同期モジュール１６０が、サーバ同期モジュール２６０に対してデータの受信を要求することにより、同期通信が開始される。クライアント同期モジュール１６０は、データベース１５０に格納されているスケジュールデータをサーバ同期モジュール２６０に送信する。サーバ同期モジュール２６０は、そのスケジュールデータを受信し、データベース２５０に格納する。その後、サーバ同期モジュール２６０が、クライアント同期モジュール１６０に対して受信完了を通知することにより、同期通信は終了される。このように、データベース１５０および２５０内のスケジュールデータを、クライアント同期モジュール１６０およびサーバ同期モジュール２６０が同期させることにより、スケジュールデータの一部または全てが同じ状態に保たれる。
【００３８】
ここで、この同期が行われる理由について説明する。通常状態のとき、最新のスケジュールデータはクライアント端末１００のデータベース１５０に存在する。処理系が処理系１０１から処理系１０２へ切り替えられると、その後はサーバ装置２００がスケジュール機能を提供するが、上述したように最新のスケジュールデータはクライアント端末１００上に存在する。よって、処理系が切り替えられる前にクライアント端末１００とサーバ装置２００とが上述した同期を行い、サーバ装置２００のデータベース２５０のスケジュールデータを最新にする必要がある。すなわち、この同期により、処理系の切り替え前までにクライアント端末１００で生じたスケジュールデータの変更をサーバ装置２００に反映させ、切り替え後にサーバ装置２００が最新のスケジュールデータを利用できるようになる。
【００３９】
同期の終了後、処理系１０１から処理系１０２への切り替えが行われる（ステップＡ３）。このとき、切替モジュール１７０はアプリケーション１４０の実行を停止させる。また、軽量クライアント２２０は、切替指示を、ネットワーク３００を介してサーバ装置２００へ転送する。切替指示とは、アプリケーション実行系を、現在の処理系１０１から処理系１０２へ切り替えるための指示である。言い換えると、クライアント端末１００のアプリケーション１４０にて提供されているスケジュール機能を、サーバ装置２００のアプリケーション２４０にて提供されるように切り替えるための指示である。サーバ装置２００において、軽量クライアント受付アプリ２７０が、軽量クライアント２２０から切替指示を受信すると、アプリケーション２４０は、アプリケーション実行系としてスケジュール機能の提供を開始する。これにより、処理系の切替が終了する。このとき、ユーザは、処理系１０１の汎用オペレーティングシステム１３０の更新と同時に、処理系１０２をアプリケーション実行系とする上記スケジュール機能の利用を実施できる。これを切替状態と呼ぶ。このように、第１の実施形態では、オペレーティングシステムの更新を原因としてユーザがアプリケーションを一時的に利用できなくなることを防ぐことができる。
【００４０】
処理系の切り替えの後、処理系１０１において、汎用オペレーティングシステム１３０の更新がバックグラウンドで実行される（ステップＡ４）。この更新において、クライアント端末１００はサーバ装置２００とは別のサーバ装置（汎用オペレーティングシステムの提供元）と通信を行う。また、ステップＡ４におけるフォアグラウンドでは、軽量クライアント２２０と軽量クライアント受付アプリ２７０とがネットワーク通信を行うことにより、アプリケーション２４０にて提供されるスケジュール機能がクライアント端末１００上で実現される。
【００４１】
上記切替状態のときに、バックグラウンドで実行されていた汎用オペレーティングシステム１３０の更新が終了したとき（ステップＡ５／ＹＥＳ）、制御システム１１０は、再び処理系の切り替えが必要であると判断する。この切り替えは、アプリケーション実行系を処理系１０２から処理系１０１へ切り替える処理である。
【００４２】
クライアント同期モジュール１６０と、サーバ同期モジュール２６０とは、再び同期を行う（ステップＡ６、Ｂ２）。このとき、クライアント同期モジュール１６０が、サーバ同期モジュール２６０に対してデータの送信を要求することにより、同期通信が開始される。サーバ同期モジュール２６０はデータベース２５０に格納されているスケジュールデータをクライアント同期モジュール１６０に送信する。クライアント同期モジュール１６０はそのスケジュールデータを受信し、データベース１５０に格納する。その後、クライアント同期モジュール１６０が、サーバ同期モジュール２６０に対して受信完了を通知することにより、同期通信は終了する。このように、クライアント端末１００のデータベース１５０のスケジュールデータと、サーバ装置２００のデータベース２５０のスケジュールデータとを、クライアント同期モジュール１６０とサーバ同期モジュール２６０が同期させることにより、スケジュールデータの一部または全てが同じ状態に保たれる。よって、アプリケーション実行系が再び処理系１０２から処理系１０１へ切り替えられた後にも、クライアント端末１００が最新のスケジュールの内容を利用することができる。
【００４３】
同期の終了後、処理系１０２から処理系１０１への切り替えが行われる（ステップＡ７）。このとき、切替モジュール１７０はアプリケーション１４０の実行を再開する。また、軽量クライアント２２０は、切替指示を、ネットワーク３００を介してサーバ装置２００へ転送する。切替指示とは、アプリケーション実行系を、現在の処理系１０２から処理系１０１へ切り替えるための指示である。言い換えると、サーバ装置２００のアプリケーション２４０にて提供されているスケジュール機能を、クライアント端末１００のアプリケーション１４０にて提供されるように切り替えるための指示である。サーバ装置２００において、軽量クライアント受付アプリ２７０が、軽量クライアント２２０から切替指示を受信すると、アプリケーション２４０は、スケジュール機能の提供を停止する。これにより、処理系の切替が終了する。このとき、ユーザは、処理系１０１のみをアプリケーション実行系として、上記スケジュール機能を利用できる。以上の動作により、情報処理システムは通常状態に戻る。
【００４４】
以上が第１の実施形態の情報処理システムにおける動作例である。なお、上記説明では、処理系が切り替えられるときにまとめてデータの同期が行われるが、データが変更される度にデータの同期が行われてもよい。図３は、この場合の動作を示すフローチャートである。図３において図２と同じステップには同符号を付し、ここでの説明は省略する。図３では、処理系１０１から処理系１０２への切り替え後（ステップＡ３の後）、データベース２５０が変更される度に（ステップＢ３／ＹＥＳ）、サーバ同期モジュール２６０と、クライアント同期モジュール１６０とが同期を行う（ステップＢ２、Ａ６）。つまり、処理系１０２への切り替え後に、ユーザがアプリケーション２４０により提供されるスケジュール機能を利用して、例えばスケジュールデータを変更したとすると（ステップＢ３／ＹＥＳ）、変更されたスケジュールデータは、以下のように処理される。すなわち、変更されたスケジュールデータは、データベース２５０に格納されるとともに、クライアント端末１００へ送信され（ステップＢ２）、データベース１５０に格納される（ステップＡ６）。
【００４５】
なお、第１の実施形態の情報処理システムにおいて、制御システム１１０は、ネットワーク機能などの処理系１０２に必要な最低限の機能を含めるように構成されてもよい。これにより、処理系１０１の汎用オペレーティングシステム１３０が利用できない場合でも、処理系１０２及び制御システム１１０のみで機能の実行が可能になる。
【００４６】
また、第１の実施形態の情報処理システムにおいて、制御システム１１０は、クライアント端末１００上のデバイスへのアクセス手段を処理系１０１へ提供する機能や、処理系１０１及び処理系１０２を動作させるための最低限の機能を有していればよい。
【００４７】
以上説明したように、第１の実施形態によれば、以下の効果を奏することができる。
【００４８】
第１に、クライアント端末のオペレーティングシステム等の更新時や異常時に、アプリケーションを実行するための処理系が、クライアント端末ローカルの処理系からサーバ主体の処理系へと切り替えられるという効果が得られる。そして、切り替え後の処理系にて最新のデータが継続して利用できるという効果が得られる。その理由は、クライアント端末が、アプリケーションを実行するための処理系を２つ備え、一方の処理系の更新時又は異常時に、他方の処理系を利用できるためである。また、情報処理システムは、処理系を切り替えるときに、２つの処理系間でデータの同期を行うことにより、切り替え後の処理系においても切り替え前に利用していた最新のデータを継続して利用することができる。
【００４９】
第２に、アプリケーションを実行する処理系がクライアント端末ローカルの処理系からサーバ主体の処理系へと切り替えられたのちに以下のように動作できる。すなわち、サーバ主体の処理系が処理を実行中に、クライアント端末ローカルの処理系の更新処理又は異常状態からの回復処理が、クライアント端末のバックグランドで実施できるという効果が得られる。その理由は、クライアント端末ローカルの処理系と、サーバ主体の処理系とが、制御システム上の独立した処理系として構成されるためである。
【００５０】
第３に、携帯電話やＰＤＡのようなリソースが制約されるモバイル端末においても、省リソースでシステムの冗長系が構築できるという効果が得られる。その理由は、クライアント端末における２つの処理系のうち、サーバ主体の処理系は、クライアント端末上では入出力のみを行う軽量な処理系でよいためである。
【００５１】
第４に、制御システムが環境情報（例えば位置情報や現在時刻など）を用いて、２つの処理系を切り替えることにより、ユーザは状況に応じて適切な処理系を利用できる効果が得られる。例えば、ユーザは社内で利用するときにはクライアント端末ローカルの処理系を利用し、社外へ外出するときにはクライアント端末をシンクライアント端末として利用することができる。その理由は、制御システムがＧＰＳやＦｅｌｉｃａ等のセンサ情報をトリガとして、処理系をクライアント端末ローカルの処理系からサーバ主体の処理系に切り替えることができるためである。また、ユーザは社外でのセキュリティ確保を容易に行うことができる。ユーザは、サーバ主体の処理系へ切り替える際に、クライアント端末上のデータは消去してもよい。
【００５２】
第２の実施形態．
図４は、第２の実施形態に係る情報処理装置１０の構成を示すブロック図である。図に示すように、情報処理装置１０は、第１および第２の処理部分を含む第２の処理系のうち第１の処理部分を備えるサーバ装置とネットワークを介した通信を行う。情報処理装置１０は、第１の処理系１１と、第２の処理部分１２を備える。第１の処理系１１は、アプリケーションを実行する処理系を、第１および第２の処理系のいずれか一方に切り替え、第２の処理部分１２は、アプリケーションを実行する処理系が第１の処理系から第１の処理部分へ切り替えられたときに、第１の処理部分から受信した処理を実行する。
【００５３】
以上のように、第２の実施形態によれば、クライアント端末のアプリケーションが一時的に利用停止にされることがなく、継続して利用されることが可能であるという効果が得られる。
【００５４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【００５５】
例えば、上述した実施形態における動作は、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成によって実行されてもよい。
【００５６】
ソフトウェアにより処理が実行される場合には、処理シーケンスを記録したプログラムが、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールされ実行されてもよい。あるいは、各種処理を実行可能な汎用コンピュータにプログラムがインストールされ実行されてもよい。
【００５７】
例えば、プログラムは、記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録されてもよい。あるいは、プログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）されてもよい。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供されてもよい。
【００５８】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールされてもよいし、ダウンロードサイトからコンピュータに無線転送されてもよい。又は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送されてもよい。コンピュータは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールしてもよい。
【００５９】
また、上記実施形態で説明したシステムは、処理を上記実施形態で説明した手順に従って時系列的に実行するのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように、構築されてもよい。
【００６０】
また、上記実施形態で説明したシステムは、複数の装置の論理的集合として構成されてもよいし、各装置の機能を混在させて構成されてもよい。
【００６１】
本発明の情報処理装置は、第１の態様として、第１の処理系を備えるクライアント端末として用いられ、第２の処理系を備えるサーバ装置とネットワークを介した通信を行う情報処理装置であって、アプリケーションを実行する処理系を、第１の処理系から第２の処理系へ切り替える、及び、第２の処理系から第１の処理系へ切り替えることを特徴とする。
【００６２】
本発明の情報処理装置は、第２の態様として、第２の処理系を備えるサーバ装置として用いられ、第１の処理系を備えるクライアント端末とネットワークを介した通信を行う情報処理装置であって、クライアント端末からの指示に従って、アプリケーションを実行する処理系を、第１の処理系から第２の処理系へ切り替える、及び、第２の処理系から第１の処理系へ切り替えることを特徴とする。
【００６３】
本発明の情報処理システムは、本発明の第１の態様としての情報処理装置をクライアント端末として備え、本発明の第２の態様としての情報処理装置をサーバ装置として備えることを特徴とする。
【００６４】
本発明の情報処理方法は、第１の処理系を備えるクライアント端末と、第２の処理系を備えるサーバ装置とがネットワークを介した通信を行う情報処理方法であって、アプリケーションを実行する処理系を、第１の処理系から第２の処理系へ切り替える、又は、第２の処理系から第１の処理系へ切り替えることを特徴とする。
【００６５】
本発明のプログラムは、第１の態様として、第２の処理系を備えるサーバ装置とネットワークを介した通信を行い、第１の処理系を備えるクライアント端末に実行させるためのプログラムであって、アプリケーションを実行する処理系を、第１の処理系から第２の処理系へ切り替える処理、又は、第２の処理系から第１の処理系へ切り替える処理をコンピュータに実行させることを特徴とする。
【００６６】
本発明のプログラムは、第２の態様として、第１の処理系を備えるクライアント端末とネットワークを介した通信を行い、第２の処理系を備えるサーバ装置に実行させるためのプログラムであって、クライアント端末からの指示に従って、アプリケーションを実行する処理系を、第１の処理系から第２の処理系へ切り替える処理、又は、第２の処理系から第１の処理系へ切り替える処理をコンピュータに実行させることを特徴とする。
【００６７】
この出願は、２００９年２月１９日に出願された日本出願特願２００９−０３６４８３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００６８】
本発明は、場合に応じてアプリケーションを実行する主体を切り替える必要がある装置、機器、システム、方法、プログラム等に適用できる。
【符号の説明】
【００６９】
１００  クライアント端末
１０１  処理系
１０２  処理系
１１０  制御システム
１３０  汎用オペレーティングシステム
１４０  アプリケーション
１５０  データベース
１６０  クライアント同期モジュール
１７０  切替モジュール
２００  サーバ装置
２２０  軽量クライアント
２３０  汎用オペレーティングシステム
２４０  アプリケーション
２５０  データベース
２６０  サーバ同期モジュール
３００  ネットワーク
【図１】
0005585708.tif 000002
【図２】
0005585708.tif 000003
【図３】
0005585708.tif 000004
【図４】
0005585708.tif 000005