(57)【特許請求の範囲】
【請求項１】
サーバデータベースを備えるサーバ装置と、
ネットワークを介して前記サーバ装置に接続可能なクライアント端末と
を備え、
前記クライアント端末は、
前記サーバデータベースと共通のデータを格納するクライアントデータベースと、
ＵＲＩに基づいて識別されるリクエストを発行するクライアントプロセス実行部と、
前記クライアント端末の動作環境情報と前記サーバ装置からの指示に基づいて振り分けルールを生成するクライアント実行制御部と、
前記リクエストの振り分け先を決定する振り分け部であって、前記振り分けルールに基づいて、前記リクエストを前記クライアント端末および前記サーバ装置の内のいずれが処理すべきかを決定し、決定された振り分け先が前記サーバ装置であるとき、前記リクエストを前記サーバ装置に振り分け、振り分け後に前記サーバ装置から受信された処理結果を前記クライアントプロセス実行部に戻す振り分け部と、
前記振り分け部によって決定された振り分け先が前記クライアント端末であるとき、前記振り分け部から前記リクエストを受けて実行し、前記リクエストの実行によって得られた処理結果を前記振り分け部に通知するクライアント側サーバプロセス実行部と、
同期ルールを参照して、前記クライアントデータベースおよび前記サーバデータベース間でデータが共通となるように、前記クライアントデータベースの一部または全てを前記サーバデータベースの対応する部分と同期させるクライアント同期モジュールと
を備え、
前記同期ルールは、
前記クライアント同期モジュールが前記リクエストの振り分けに連動して同期を実行できるように、同期のタイミングが前記リクエストのＵＲＩに関連づけられており、
前記サーバ装置は、
前記ネットワークを介して前記クライアント端末から前記リクエストを受信すると、前記リクエストを実行し、前記リクエストの実行によって得られた処理結果を前記振り分け部に通知するサーバ側サーバプロセス実行部と、
前記サーバ装置の動作環境情報に基づいて、前記クライアント実行制御部へ前記振り分けルールを生成するための指示を与えるシステム実行制御部と、
を更に備え、
前記クライアント端末の前記クライアント側サーバプロセス実行部は、クライアントプロセス実行部、クライアント実行制御部、前記振り分け部および前記クライアント同期モジュールとは独立した構成をとっている
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記動作環境情報は、
ＣＰＵ使用率、実行メモリ使用率、ハードディスク使用率、ネットワーク回線の状態、ネットワーク回線速度の少なくとも一つを含む
情報処理システム。
【請求項３】
請求項１または２に記載の情報処理システムにおいて、
前記クライアント端末は、
クライアント環境情報記憶部と、
前記クライアント端末の動作環境情報を収集して、前記クライアント環境情報記憶部に格納するためのクライアント環境情報収集部と
を備え、
前記サーバ装置は、
サーバ環境情報記憶部と、
前記サーバ装置の動作環境情報を収集して、前記サーバ環境情報記憶部に格納するサーバ環境情報収集部と
を備える
情報処理システム。
【請求項４】
請求項１乃至３いずれか一つに記載の情報処理システムにおいて、
前記サーバ装置は、
前記同期ルールを参照して、前記クライアントデータベースおよび前記サーバデータベース間でデータが共通となるように、前記サーバデータベースの一部または全てを前記クライアントデータベースの対応する部分と同期させるサーバ同期モジュールを備え、
前記サーバ装置の前記サーバ側サーバプロセス実行部は、前記システム実行制御部および前記サーバ同期モジュールとは独立した構成をとっている
情報処理システム。
【請求項５】
請求項４に記載の情報処理システムにおいて、
前記クライアント実行制御部は、
前記振り分けルールに基づいて、前記振り分け部を制御して前記リクエストの振り分け先を決定させ、
前記クライアント端末の前記動作環境情報と、前記同期ルールとに基づいて、前記クライアント同期モジュールを制御する
情報処理システム。
【請求項６】
請求項１乃至４のいずれか一つに記載の情報処理システムにおいて、
前記クライアント端末は、
前記クライアントプロセス実行部からの前記リクエストを振り分ける方法、及び、前記クライアントデータベースを前記サーバデータベースと同期する方法を記述したクライアントポリシを有し、
前記クライアント実行制御部は、
前記クライアント端末の動作環境情報と前記クライアントポリシと前記サーバ装置からの指示とに基づいて、振り分けルールと同期ルールを生成し、
前記サーバ装置は、
前記クライアントプロセス実行部からのリクエストの振り分け方法、及び、前記クライアントデータベースを前記サーバデータベースと同期する方法を記述したサーバポリシを備え、
前記システム実行制御部は、
前記サーバ装置の動作環境情報と、前記サーバポリシとに基づいて、前記振り分けルールと前記同期ルールを生成し、前記指示を前記クライアント端末に送信する
情報処理システム。
【請求項７】
請求項１乃至６のいずれか一つに記載の情報処理システムに記載のクライアント端末。
【請求項８】
請求項１乃至６のいずれか一つに記載の情報処理システムに記載のサーバ装置。
【請求項９】
情報処理システムで用いられる情報処理方法であって、
前記情報処理システムは、
サーバデータベースを有するサーバ装置と、
ネットワークを介して前記サーバ装置に接続可能なクライアント端末と
を備え、
前記クライアント端末は、
前記サーバデータベースと共通のデータを格納するクライアントデータベースと、
クライアントプロセス実行部と、
クライアント実行制御部と、
振り分け部と、
クライアント側サーバプロセス実行部と、
クライアント同期モジュールと
を備え、
前記クライアント端末の前記クライアント側サーバプロセス実行部は、クライアントプロセス実行部、クライアント実行制御部、前記振り分け部および前記クライアント同期モジュールとは独立した構成をとっており、
当該情報処理方法は、
前記サーバ装置の動作環境情報に基づいて、前記サーバ装置が前記クライアント端末に振り分けルールを生成するための指示を与えるステップと、
前記クライアント端末の動作環境情報と前記サーバ装置からの前記指示に基づいて振り分けルールを前記クライアント端末の前記クライアント実行制御部が生成するステップと、
前記クライアント端末の前記クライアントプロセス実行部が、クライアントプロセスを実行して、ＵＲＩに基づいて識別されるリクエストを発行するステップと、
前記クライアント端末の前記振り分け部が、前記振り分けルールに基づいて、前記リクエストを前記クライアント端末および前記サーバ装置の内のいずれが処理すべきかを決定するステップと、
決定された振り分け先が前記クライアント端末であるとき、
前記振り分け部が前記リクエストを前記クライアント端末に振り分けるステップと、
前記クライアント端末の前記クライアント側サーバプロセス実行部が、前記振り分け部から前記リクエストを受けて実行し、前記リクエストの実行によって得られた処理結果をクライアントプロセスに返すステップと、
決定された振り分け先が前記サーバ装置であるとき、
前記クライアント端末の前記振り分け部が前記リクエストを前記サーバに振り分けるステップと、
前記リクエストを前記サーバ装置が処理し、処理結果を前記クライアントプロセスに返すステップと、
同期ルールを参照して、前記クライアント端末の前記クライアント同期モジュールが、前記クライアントデータベースおよび前記サーバデータベース間でデータが共通となるように、前記クライアントデータベースの一部または全てを前記サーバデータベースの対応する部分と同期させるステップと
を備え、
前記同期ルールは、
前記クライアント同期モジュールが前記リクエストの振り分けに連動して同期を実行できるように、同期のタイミングが前記リクエストのＵＲＩに関連づけられている
情報処理方法。
【請求項１０】
請求項９記載の情報処理方法において、
前記動作環境情報は、
ＣＰＵ使用率、実行メモリ使用率、ハードディスク使用率、ネットワーク回線の状態、ネットワーク回線速度の少なくとも一つを含む
情報処理方法。
【請求項１１】
請求項９または１０に記載の情報処理方法において、
前記クライアント端末の動作環境情報を前記クライアント端末が収集するステップと、
前記サーバ装置の動作環境情報を前記サーバ装置が収集するステップと
を更に備える
情報処理方法。
【請求項１２】
請求項９乃至１１いずれか一つに記載の情報処理方法において、
前記サーバ装置は、
前記クライアント端末に前記指示を与えるステップを実行するシステム実行制御部と、
決定された振り分け先が前記サーバ装置であるとき、前記処理結果を前記クライアントプロセスに返すステップを実行するサーバ側サーバプロセス実行部と、
サーバ同期モジュールと
を備え、
前記サーバ側サーバプロセス実行部は、前記システム実行制御部および前記サーバ同期モジュールとは独立した構成をとっており、
当該情報処理方法は、
前記サーバ同期モジュールが、前記同期ルールを参照して、前記クライアントデータベースおよび前記サーバデータベース間でデータが共通となるように、前記サーバデータベースの一部または全てを前記クライアントデータベースの対応する部分と同期させるステップ
を更に備える
情報処理方法。
【請求項１３】
請求項１２に記載の情報処理方法において、
前記クライアント同期モジュールが同期を実行するステップは、
前記クライアント端末の動作環境情報と、前記同期ルールとに基づいて、前記クライアント実行制御部が前記クライアント同期モジュールを制御するステップ
を備える
情報処理方法。
【請求項１４】
請求項９乃至１２のいずれか一つに記載の情報処理方法において、
前記クライアント端末は、
前記クライアントプロセス実行部からの前記リクエストを振り分ける方法、及び、前記クライアントデータベースを前記サーバデータベースと同期する方法を記述したクライアントポリシを有し、
前記クライアント端末の前記クライアント実行制御部が前記振り分けルールを生成するステップは、
前記クライアント端末の動作環境情報と前記クライアントポリシと前記サーバ装置からの指示とに基づいて、前記振り分けルールと前記同期ルールを生成するステップ
を備え、
前記サーバ装置は、
前記クライアントプロセス実行部からのリクエストの振り分け方法、及び、前記クライアントデータベースを前記サーバデータベースと同期する方法を記述したサーバポリシを備え、
前記システム実行制御部が前記指示を与えるステップは、
前記サーバ装置の動作環境情報と、前記サーバポリシとに基づいて、前記振り分けルールと前記同期ルールを生成し、前記指示を前記クライアント端末に送信するステップ
を備える
情報処理方法。
【請求項１５】
請求項９乃至１４のいずれか一つに記載の情報処理方法を実現するための計算機実行可能なプログラムコードを格納した計算機読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法に関し、クライアント／サーバ情報処理方法と、そのためのクライアント／サーバ情報処理システムに関する。
【背景技術】
【０００２】
近年、クライアント／サーバシステムが普及し、それでは、クライアント端末とサーバ装置とがネットワークを介して通信可能に接続され、クライアント端末から送信されるリクエストに応じてサーバ装置が所定の情報処理を実行することにより、クライアント端末のユーザに情報処理サービスが提供されている。
また、特開２００７−２２６７１９号公報、特開平９−１９８３５７号公報、特開２００６−１０７１８５号公報、特開平９−０１６５３４号公報に記載のように、サーバ装置が実行中のアプリケーションの情報処理が、クライアント端末やサーバ装置の動作環境に応じてクライアント端末に移行され実行される技術も開発されている。【０００３】
特開２００７−２２６７１９号公報では、運用環境が変化しても、アプリケーションが効率的に実行されている。サーバは、第１のプラットフォームにより構成情報を確定し、クライアントはクライアント構成情報をサーバからダウンロードする。サーバおよびクライアントは、それぞれサーバ構成情報およびクライアント構成情報に応じて構造体を組み立てて、実行する。また、サーバおよびクライアントは、それぞれ、リバランスアドバイザーを周期的にコールするリバランスコントローラによってリバランスの処理を開始するか否かを決定する。こうして、現在の運用環境に応じて構造体を構成する機能単位の移動または交換をともなう動的な再展開（リバランス）が行なわれる。【０００４】
また、特開平９−１９８３５７号公報では、クライアント／サーバシステムにおいて、アプリケーションプログラムの起動による負荷が効果的に分散されている。クライアント／サーバシステムにおいて、サーバは、自身のＣＰＵ負荷情報を取得し、自身が有するアプリケーションプログラムの起動を制御する。クライアントは、サーバのＣＰＵ負荷情報の値が負荷のしきい値以上の場合はクライアント内のアプリケーションプログラムの起動を要求し、負荷のしきい値以下の場合はサーバ内のアプリケーションプログラムの起動を要求する。また、クライアントは、その起動要求に応じてそれぞれのアプリケーションプログラムの起動を制御する。【０００５】
さらに、特開２００６−１０７１８５号公報では、サーバベースコンピューティング環境において、ネットワーク接続不可の場所でも、ユーザに、サーバで実現されている環境と同じ環境が端末上に安全に提供される。サーバ上に仮想計算機が構築され、クライアントにより仮想計算機上でアプリケーションプログラムが実行される。クライアントを切り離す時、仮想計算機を構築するために必要なデータがファイル化され、クライアントにそのまま転送される。クライアント上では、受け取ったファイルを用いて構築された仮想計算機上で処理が継続される。【０００６】
一方、特開平９−０１６５３４号公報には、ネットワークで結合された均一あるいは不均一に分散された計算機の環境において、ユーザーからのジョブがサーバ上に効率よく分散実行される。ユーザーからのジョブに係るアプリケーションプログラムのプロセスフローに対して、クライアントプロセスとサーバプロセス間にエージェントプロセスが生成される。エージェントは、計算機に関する静的性能と動的な負荷状況の変動などハードウェア資源に関する情報と、計算機環境内のプログラムモジュールと随伴するデータなどソフトウェア資源に関する情報とに基づいて、クライアントプロセスにより依頼されたジョブがサーバプロセスに分配され実行される。【０００７】
ここで、サーバ装置により実行されているアプリケーションプログラムの処理をクライアント端末に移行する際には、クライアント端末とサーバ装置との間で互いの動作状況を確認するために通信を行わなければならない。そのため、これまでの技術では、クライアント端末とサーバ装置との間が通信不可能な状態になった場合には情報処理の移行を行うことが困難であった。【０００８】
特開２００７−２２６７１９号公報に記載の技術では、環境の変化に基づいてモジュールの再構成を行う際、クライアントからサーバへ環境情報を通知するための通信やクライアントへモジュールをダウンロードするための通信が発生する。このため、ネットワークが切断される状況には対応できない。特に、このような状況をサーバの環境情報だけでは判断できず、クライアント側でのみ判断する必要がある。また、サーバとの送受信ができないので、サーバから対策用のソフトウェアの受信もできない。【０００９】
また特開平９−１９８３５７号公報に記載の技術は、サーバのＣＰＵ負荷情報を取得するための通信が必要となるので、ネットワークが切断された状況には対応できない。【００１０】
また、特開２００６−１０７１８５号公報では、ユーザがクライアントをサーバから切り離す時、その時点の個人環境情報がそのままクライアント上に複製されることが開示されている。しかしながら、新幹線乗車中のトンネル通過時における切断のように、予期せぬ切断に対する個人環境情報の複製についてはなんら示されていない。【００１１】
さらに、特開平９−０１６５３４号公報は、クライアントとサーバが共にプロセスを有し、負荷状況に応じてプロセスを発生または消去する旨が開示されている。しかしながら、この場合も、クライアント端末とサーバ装置との間が通信不可能な状態になった場合には情報処理の移行を行うことは困難である。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−２２６７１９号公報
【特許文献２】特開平９−１９８３５７号公報
【特許文献３】特開２００６−１０７１８５号公報
【特許文献４】特開平９−０１６５３４号公報
【発明の概要】
【００１３】
本発明は、クライアント端末とサーバ装置との間で通信が不可能な状態になった場合であっても、情報処理の移行を行うことが可能な情報処理システム、サーバ装置、クライアント端末、情報処理方法を提供することを目的とする。
【００１４】
本発明の第１の観点では、情報処理システムは、ネットワークを介して接続されたクライアント端末とサーバ装置とを備えている。前記クライアント端末は、クライアントデータベースと、リクエストを発行するクライアントプロセス実行部と、前記クライアント端末の動作環境情報と前記サーバ装置からの指示に基づいて振り分けルールを生成するクライアント実行制御部と、前記振り分けルールに基づいて、前記リクエストを前記クライアント端末内で処理すべきか、前記サーバ装置で処理すべきかを決定し、前記サーバ装置で処理すべきと決定されたとき前記リクエストを前記サーバ装置に振り分け、受信された処理結果を前記クライアントプロセス実行部に戻す振り分け部と、前記リクエストを前記クライアント端末内で処理すべきと決定されたとき、前記リクエストを実行して、処理結果を前記振り分け部に通知するクライアント側サーバプロセス実行部とを備えている。前記サーバ装置は、サーバデータベースと、前記ネットワークを介して前記クライアント端末から受信される前記リクエストを実行して処理結果を前記振り分け部に通知するサーバ側サーバプロセス実行部と、前記サーバ装置の動作環境情報に基づいて、前記クライアント実行制御部へ前記指示を与えるシステム実行制御部とを備えている。前記クライアントデータベースと前記サーバデータベースは、共通のデータを格納し、前記リクエストは、前記サーバデータベースに宛てたものである。
【００１５】
本発明の第２の観点では、情報処理方法は、クライアントデータベースを有するクライアント端末と、サーバデータベースを有するサーバ装置とを備え、前記クライアント端末と前記サーバ装置はネットワークを介して接続された環境で実行される。情報処理方法は、前記サーバ装置の動作環境情報に基づいて、前記サーバ装置から前記クライアント端末に指示を与えるステップと、前記クライアント端末の動作環境情報と前記サーバ装置からの指示に基づいて振り分けルールを生成するステップと、前記クライアント端末内で、クライアントプロセスを実行してリクエストを発行するステップと、前記クライアント端末内で、前記振り分けルールに基づいて、前記リクエストを前記クライアント端末内で処理すべきか、前記サーバ装置で処理すべきかを決定するステップと、前記リクエストを前記クライアント端末内で処理すべきと決定されたとき、前記クライアント端末内で前記リクエストを実行して、処理結果をクライアントプロセスに返すステップと、前記サーバ装置で処理すべきと決定されたとき前記リクエストを前記サーバ装置内で処理し、処理結果を前記クライアントプロセスに返すステップとを備えている。前記クライアントデータベースと前記サーバデータベースは、共通のデータを格納し、前記リクエストは、前記サーバデータベースに宛てたものである。
上記の情報処理方法を実現するための計算機実行可能なプログラムコードを格納した計算機読み取り可能な記録媒体も本発明に含まれる。
【００１６】
本発明に係るクライアント／サーバシステムにおいて、通常サーバで行われるアプリケーションの情報処理をクライアントおよびサーバの動作環境に応じて、効率的にクライアント／サーバ間で移行できる。特にネットワークが切断された状態においても、クライアントのみで継続的にアプリケーションを実行できるという効果を有する。
【図面の簡単な説明】
【００１７】
本発明の長所や特徴は、添付図面を参照しての以下の説明を通して説明される。
【図１】図１は、本発明の実施の形態による情報処理システムの構成を示すブロック図である。
【図２】図２は、本発明におけるクライアントポリシの一例を示す説明図である。
【図３】図３は、本発明におけるサーバポリシの一例を示す説明図である。
【図４】図４は、本発明におけるクライアントデータベースのデータ構造の一例を示す図である。
【図５】図５は、本発明におけるサーバデータベースのデータ構造の一例を示す図である。
【図６】図６は、本発明におけるクライアント実行制御部の動作を示す流れ図である。
【図７】図７は、本発明におけるクライアント処理の動作を示す流れ図である。
【図８】図８は、本発明におけるクライアント同期モジュールの動作を示す流れ図である。
【図９】図９は、本発明におけるシステム実行制御部の動作を示す流れ図である。
【図１０】図１０は、本発明におけるサーバ処理の動作を示す流れ図である。
【図１１】図１１は、本発明におけるサーバ同期モジュールの動作を示す流れ図である。
【発明を実施するための形態】
【００１８】
以下に、本発明に係る情報処理システム１０００について、添付図面を参照して詳細に説明する。
【００１９】
本発明の実施形態に係る情報処理システム１０００では、図１に示されるように、クライアント端末１００とサーバ装置２００とがネットワーク３００で通信可能に接続されている。クライアント端末１００は、サーバ装置２００から情報処理サービスの提供を受ける際にユーザが使用する情報処理装置であり、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や携帯電話機、電子手帳、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、腕時計、カーナビゲーションシステム、自動車等に搭載される電子機器により構成されている。また、サーバ装置２００は、ユーザへ情報処理サービスを提供する情報処理装置であり、クライアント端末１００と同様に、例えばＰＣや携帯電話機、電子手帳、ＰＤＡ、腕時計、カーナビゲーションシステム、自動車等に搭載される電子機器により構成されている。ネットワーク３００は、クライアント端末１００とサーバ装置２００とを通信可能に接続する通信路である。ネットワーク３００は、少なくとも一部が無線の通信路により構成されていても良い。
【００２０】
クライアント端末１００及びサーバ装置２００の各々は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ及び通信装置を備える。また、ハードディスク装置等の不揮発性の記憶装置や、キーボード、マウス、マイク等の入力装置、ディスプレイ、スピーカ等の出力装置を適宜備えている。ＣＰＵがメモリに記憶されている各種プログラムを実行することにより、クライアント端末１００やサーバ装置２００としての各種機能が実現される。この場合、ＣＰＵにより実行されるプログラムは、ネットワーク３００を介して他の情報処理装置からダウンロードされても良いし、プログラムを記録した記録媒体からクライアント装置にロードされてもよい。
【００２１】
ユーザは、クライアント端末１００を使用することにより、ネットワーク３００を介してサーバ装置２００にアクセスし、サーバ装置２００のサーバデータベース２６０に記憶されているスケジュールデータ（図５を参照）を参照する。これにより、ユーザは、自分のスケジュール内容の閲覧、及び、スケジュールの追加、変更などを行うことができる。
【００２２】
また、クライアント端末１００は、サーバ装置２００のサーバデータベース２６０に記憶されているスケジュールデータのうちの一部、例えば直近１週間分のスケジュールデータをクライアントデータベース１６０にも格納しておく。もちろんクライアント端末１００は、サーバデータベース２６０に記憶されているスケジュールデータの全体をクライアントデータベース１６０に記憶しても良い。
【００２３】
本実施形態に係る情報処理システム１０００によれば、クライアント端末１００のクライアントデータベース１６０にもスケジュールデータが記憶されているので、クライアント端末１００とサーバ装置２００とが通信できない状況になった場合であっても、クライアント端末１００が、サーバデータベース２６０に記憶されているスケジュールデータにアクセスする制御から、クライアントデータベース１６０に記憶されているスケジュールデータにアクセスする制御に切り替えることが可能である。これにより、ユーザは、サーバーへのアクセスが不可能となってもスケジュールの閲覧編集サービスの提供を継続して受けることが可能である。
【００２４】
例えば、ユーザが、新幹線に乗車しながらクライアント端末１００を使用してサーバデータベース２６０のスケジュールデータを閲覧している間に、新幹線がネットワーク３００に繋がらないトンネル内に入った場合を考える。この場合には、クライアント端末１００がクライアントデータベース１６０に記憶されているスケジュールデータを参照する制御に切り替えるので、ユーザは、クライアント端末１００に格納されているスケジュールデータを閲覧することができる。
【００２５】
また、ユーザは、ネットワークにつながらないトンネル内において、スケジュールの書き込みを行うことが可能である。この場合、クライアント端末１００は、書き込まれたデータを、一旦、クライアント端末１００内のクライアントデータベース１６０に格納する。その後、ネットワーク３００が接続可能な状態になったことを検知した時点で、クライアントデータベース１６０がサーバデータベース２６０と同期される。そのため、ユーザが、後に会社のパソコン等からスケジュールを閲覧した場合でも、トンネル内で書き込んだスケジュールが反映されている。なお、ここで同期とは、クライアントデータベース１６０に記憶されているデータの内容と、サーバデータベース２６０に記憶されているデータの内容とを一致させることをいう。
【００２６】
サーバデータベース２６０に記憶されているスケジュールデータの一例を図５に示す。またクライアントデータベース１６０に記憶されているスケジュールデータの一例を図４に示す。図５に示されるように、サーバデータベース２６０に記憶されているスケジュールデータは、一例としてユーザ別に割り振られたＩＤ番号と、イベントの年月日と開始時刻と終了時刻を含む時刻情報と、イベントの発生場所情報と、イベントの主題情報と含む情報がＩＤ番号毎に記録格納されている。また図４に示されるように、クライアントデータベース１６０に記憶されているスケジュールデータは、図５同様に、一例として個人別に割り振られたＩＤ番号と、イベントの年月日と開始時間と終了時間を含む時間情報と、イベントの発生場所情報と、イベントの主題情報と含む情報がＩＤ番号毎に複数件記録格納されている。
【００２７】
＜クライアント端末＞
次に本実施形態に係るクライアント端末１００の構成について説明する。
図１に示されるように、本実施形態にかかるクライアント端末１００は、クライアント環境情報収集部１１０と、クライアント実行制御部１２０と、振り分け部１３０と、クライアント同期モジュール１４０と、サーバアプリケーション実行プラットフォーム１５０と、クライアントプロセスを実行する実行部５００と、クライアントポリシを格納する格納部４００と、クライアント環境情報記憶部１７０とを備える。サーバアプリケーション実行プラットフォーム１５０は、サーバプロセス実行部５１０とクライアントデータベース１６０とを備える。
【００２８】
クライアント環境情報記憶部１７０は、動作環境情報を格納している。この動作環境情報は、例えばクライアント端末１００がＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行するとき計測される。この動作環境情報はＯＳによって随時更新される。動作環境情報は、クライアント端末１００の動作環境の状態を示す情報であり、ＣＰＵ使用率や、メモリ使用率、ハードディスク使用率、ネットワーク回線の接続状態、ネットワーク回線速度などの少なくとも一つを含む。
【００２９】
クライアント環境情報収集部１１０は、クライアント端末１００の動作環境情報をクライアント環境情報記憶部１７０から取得する。クライアント環境情報収集部１１０は、自らクライアント端末１００の動作環境の状態を計測することにより動作環境情報を取得してもよい。また、ＯＳによって計測できない環境情報は、クライアント環境情報収集部１１０が計測する。
【００３０】
サーバプロセス実行部５１０は、クライアント端末１００のサーバアプリケーション実行プラットフォーム１５０上で実行されるプログラムである。クライアント端末１００がサーバプロセスを実行することにより、サーバ装置２００がサーバプロセス５１１を実行することにより実現される情報処理の全体あるいは一部と同一の処理が実現される。
【００３１】
クライアントプロセスは、クライアント端末１００の実行部５００により実行されるプログラムである。クライアント端末１００の実行部５００はクライアントプロセスを実行して、サーバプロセスに対して情報処理の実行要求を発行したり、サーバプロセスから情報処理の実行結果を受け取ったりする。つまり、クライアント端末１００内でサーバプロセスが実行されるとき、ネットワーク３００を介さずに、サーバプロセスとしてのスケジュールアプリケーションが実行される。なお、クライアントプロセスは、例えばブラウザなどのフロントエンドプログラムにより構成することができる。
【００３２】
クライアントポリシ格納部４００は、クライアントプロセスの実行部５００からリクエスト（例えばＵＲＬを指定したデータの閲覧要求など）が出力された場合に、そのリクエストをクライアント端末１００で処理すべきか、あるいはサーバ装置２００で処理すべきかをクライアント実行制御部１２０が判定するための判定基準であるクライアントポリシを格納している。また、クライアントポリシ格納部４００には、クライアント端末１００あるいはサーバ装置２００のそれぞれが上記リクエストを処理する際に使用される各ストレージの特定情報や、各ストレージの同期方法、同期タイミング等の判定基準も含まれている。
【００３３】
クライアント実行制御部１２０は、クライアント端末１００の動作環境情報とこの判定基準との比較の結果に応じて、リクエストをクライアント端末１００とサーバ装置２００のいずれで処理すべきかの処理主体判定や、ストレージの同期を実行すべきか否かを判定する。
【００３４】
振り分け部１３０は、クライアント端末１００の動作環境情報とクライアントポリシ４００との比較の結果に応じて、クライアント実行制御部１２０により判定されたリクエストの処理主体にリクエストを振り分ける。クライアント端末１００により処理されるべきリクエストを、振り分け部１３０は、クライアント端末１００のサーバプロセスに引き渡す。一方、サーバ装置２００によりを処理されるべきリクエストを、振り分け部１３０は、ネットワーク３００を介してサーバ装置２００に送信して、サーバ装置２００のサーバプロセスに引き渡す。
【００３５】
クライアント同期モジュール１４０は、クライアント実行制御部１２０による同期処理を行うべきか否かの判定結果に応じて、クライアントポリシの記載に従って、ストレージ間の同期を行う。
【００３６】
クライアントポリシ４００の一例を図２に示す。図２に示されるように、クライアントポリシ４００は、「Ｓｅｒｖｅｒ」欄、「Ａｐｐｌｉｃａｔｉｏｎ」欄、「Ｒｅｑｕｅｓｔ」欄、「その他」欄を備える。「Ｓｅｒｖｅｒ」欄には、クライアント端末１００に対して情報処理サービスを提供するサーバ装置２００を特定する情報（例えばサーバ装置２００の名称やＩＰアドレス等）が記載される。図２に示す例では、「ｓａｍｐｌｅ＿ｓｅｒｖｅｒ」と記載されている。「Ａｐｐｌｉｃａｔｉｏｎ」欄には、クライアント端末１００がサーバ装置２００から提供を受ける情報処理サービスの内容を示す情報が記載される。図２に示す例では、「Ｓｃｈｅｄｕｌｅ」と記載されている。「Ｒｅｑｕｅｓｔ」欄には、クライアント端末１００が上記情報処理サービスの提供を受ける際に、クライアントプロセスからサーバ装置２００に出されるリクエストを特定する情報が記載される。図２に示す例では、２種類のリクエストが記載されている。各「Ｒｅｑｕｅｓｔ」欄には、リクエストが出された場合に、そのリクエストをクライアント端末１００あるいはサーバ装置２００のどちらに処理させるかを判定するための判定基準が記載されている。クライアント実行制御部１２０は、この判定基準を動作環境情報と比較することにより、上記リクエストの処理主体を判定する。
【００３７】
判定基準の内容として、「標準動作」、「条件」、「同期ストレージ」、「同期タイプ」、「同期タイミング」が規定されている。「標準動作」欄にはそのリクエストの処理主体の第１次候補が記載される。「条件」欄には、処理主体の第２次候補および、第２次候補が選択されるための条件が記載される。環境情報の内容がこの条件を満たした場合には第２次候補が選択されることになる。なお「条件」欄が記載されていない場合には、第１次候補が処理主体として選択される。
「同期ストレージ」欄には、サーバ装置２００のストレージと内容を一致（同期）させる必要があるクライアント端末１００のストレージを示す情報が記載される。「同期タイプ」欄には同期の方法が記載される。「ＣＯＰＹ」と記載されている場合は、クライアント端末１００のストレージに記憶されている情報の複製をサーバ装置２００のストレージに書き込むことにより同期を行うことを示している。また「ＭＯＶＥ」と記載されている場合は、クライアント端末１００のストレージに記憶されている情報の複製をサーバ装置２００のストレージに書き込んだ後、クライアント端末１００のストレージに記憶されている情報を消去する方法により同期を行うことを示す。
「同期タイミング」欄には、同期処理を行う契機を示す情報が記載される。環境情報の内容がこの情報の内容と一致した場合には、同期処理が開始されることになる。例えば所定の時刻到来により同期処理を開始させるようにすることもできるし、クライアント端末１００とサーバ装置２００との間が通信可能になったことが検出された場合に同期処理を開始させるようにすることもできる。「その他」欄には、上記「Ｒｅｑｕｅｓｔ」欄に記載されるリクエスト以外のリクエストに対する処理主体が記載される。
【００３８】
図２に示す例では、サーバ名は、「ｓａｍｐｌｅ＿ｓｅｖｅｒ（サンプルサーバ）」であり、アプリケーション名は、「Ｓｃｈｅｄｕｌｅｒ（スケジューラー）」である。また、Ｒｅｑｕｅｓｔ／ｌｏｏｋ＿ｓｃｈｅｄｕｌｅ＿ｔｈｉｓ＿ｗｅｅｋ．ｈｔｍｌ」（スケジュール確認要求）においての条件は次の通りである。標準動作は、「クライアント端末において処理」であり、同期すべきデータである同期ストレージは「クライアントデータベースＡにおける直近１週間データ」である。同期方法である同期タイプは、複製を意味する「ＣＯＰＹ（複写）」である。同期時刻である同期タイミングは、「毎日２４：００」である。
また、「Ｒｅｑｕｅｓｔ／ｗｒｉｔｅ＿ｓｃｈｅｄｕｌｅ．ｃｇｉ」（スケジュール書き込み要求）においての条件は次の通りである。標準動作は、「サーバ装置において処理」である。条件は、「ネットワーク接続ができない場合はクライアント端末へ処理移行」である。同期すべきデータである同期ストレージは「クライアントデータベースＢ」である。同期方法である同期タイプは、複製後削除を意味する「ＭＯＶＥ（移動）」である。同期時刻である同期タイミングは、「ネットワークが接続可能になり次第」である。その他条件は、「サーバ装置において処理」である。
【００３９】
「条件」は動作環境情報を用いて記述される。条件を満たさない場合、クライアントポリシに記述されている標準動作が適用される。また、リクエスト毎に必要なデータベース（テーブル単位など粒度はさまざま）を記述することができる。このデータベースの記述は、リクエスト要求を振り分けるために必要なデータ分散の結果、クライアント端末１００とサーバ装置２００との間でデータの一貫性を保つために同期を行うときに必要となる。また、各データベースに対して、同期するタイミング（同期タイミング）や、どのように同期するか（同期タイプ）が記述される。クライアントデータベース１６０は、クライアントポリシ４００に記述された同期タイミングで、サーバデータベース２６０と同期される。同期タイミングとしては、例えば、”ネットワークに接続したら即時に行う”や、”一定時間おきに行う”などを指定することができる。同期タイプとしては、データをサーバ装置２００側へ移行する際、クライアントデータベース１６０から削除するＭＯＶＥ方式や、クライアントデータベース１６０内にもレプリカをもつＣＯＰＹ方式などを指定することができる。
【００４０】
クライアント端末１００は、動作環境情報の一つである”ネットワーク接続の状態”に基づいて、クライアントプロセス実行部５００からのリクエストの処理環境（クライアント端末１００のサーバアプリケーション実行プラットフォーム１５０で処理させるか、サーバ装置２００のサーバアプリケーション実行プラットフォーム２５０で処理させるか）を選択することができる。つまり、ネットワーク接続可能な場合は、サーバ装置２００側でリクエストを処理して、ネットワーク接続不可の場合には、クライアント端末１００内で処理することで、継続的にサーバアプリケーションを実行できる。
【００４１】
クライアント端末１００がネットワーク接続不可の状態から、ネットワーク接続可能な状態へ移行した際に、クライアント端末１００内での処理の際に更新されたクライアントデータベース１６０とサーバデータベース２６０とを自動的に同期することにより、データの一貫性を保ちつつ、シームレスに処理を移行できる。また、同期する必要がないデータや、更新されることが少ないデータは、クライアントデータベース１６０に配置される。それらのデータを用いた処理はクライアント端末１００で行なわれる。これにより、ネットワーク通信量を軽減することができる。
【００４２】
＜サーバ装置＞
次に本実施形態に係るサーバ装置２００の構成について説明する。図１に示されるように、本実施形態に係るサーバ装置２００は、サーバ環境情報収集部２１０と、システム実行制御部２２０と、サーバ同期モジュール２４０と、サーバアプリケーション実行プラットフォーム２５０と、サーバ環境情報記憶部２７０と、サーバポリシ格納部４１０と、を備える。サーバアプリケーション実行プラットフォーム２５０は、サーバプロセス実行部５１１とサーバデータベース２６０とを備える。
【００４３】
サーバ装置２００は、ユーザへ情報処理サービスを提供する情報処理装置である。また、サーバ装置２００は、サーバ装置２００の動作環境に応じて、サーバ装置２００により実行されるべき情報処理の一部または全部をクライアント端末１００に移行することができる。例えば、サーバ装置２００は、ＣＰＵの負荷が増大した場合に、処理の一部をクライアント端末１００に移行することができる。
【００４４】
サーバ環境情報記憶部２７０は動作環境情報を格納している。この動作環境情報は、例えばサーバ装置２００がＯＳを実行することによって計測される。この動作環境情報はＯＳによって随時更新されている。動作環境情報は、サーバ装置２００の動作環境の状態を示す情報であり、ＣＰＵ使用率や、メモリ使用率、ハードディスク使用率、ネットワーク回線の接続状態、ネットワーク回線速度などの少なくとも一つを含む。
【００４５】
サーバ環境情報収集部２１０は、サーバ装置２００の動作環境情報をサーバ環境情報記憶部２７０から取得する。サーバ環境情報収集部２１０は、サーバ装置２００の動作環境の状態を計測することにより環境情報を取得してもよい。また、ＯＳによって計測できない環境情報は、サーバ環境情報収集部２１０によって計測される。
【００４６】
サーバポリシ格納部４１０は、クライアントプロセス５００から発行されたリクエスト（例えばＵＲＬを指定したデータの閲覧要求など）に対応する情報処理を、クライアント端末１００あるいはサーバ装置２００のどちらに処理させるかをシステム実行制御部２２０が判定するための判定基準としてのサーバポリシを格納する。またサーバポリシ格納部４１０は、クライアント端末１００あるいはサーバ装置２００のそれぞれが上記リクエストを処理する際に使用する各ストレージの特定情報や、各ストレージの同期方法、同期タイミング等の判定基準を含んでいてもよい。
【００４７】
システム実行制御部２２０は、サーバ装置２００の環境情報とこの判定基準との比較の結果に応じて、リクエストの処理主体の判定を行う。サーバ同期モジュール２４０は、システム実行制御部２２０による同期を行うか否かの判定結果に応じて、サーバポリシ４１０に記載されている各ストレージの同期を行う。
【００４８】
サーバポリシの一例を図３に示す。図３に示すサーバポリシは、クライアントプロセス実行部５００からサーバ装置２００に向けて発行される各リクエストを特定する情報（図３の例では、／ｆｕｎｃｔｉｏｎ．ｃｇｉ）と対応付けて、「標準動作」、「条件」、「同期必要ストレージ」が規定されている。「標準動作」欄にはそのリクエストの処理主体の第１次候補が記載される。
【００４９】
「条件」欄には、処理主体の第２次候補および、第２次候補が選択されるための条件が記載される。サーバ装置２００の環境情報の内容がこの条件を満たした場合には第２次候補が選択される。なお「条件」欄が記載されていない場合には、第１次候補が処理主体として選択される。「条件」は、動作環境情報を用いて記述される。図３では、標準動作の内容が記載され、サーバ装置２００からクライアント端末１００への処理主体の移行条件が記載される。例えば、サーバ装置２００が備えるＣＰＵの負荷の５分間のアベレージが９０％を上回る場合等が条件として設定されている。同期の必要性についても記載される。その他のサーバポリシの内容は、クライアントポリシ４００と同様である。「同期必要ストレージ」欄には、クライアント端末１００のストレージと内容を一致（同期）させる必要があるサーバ装置２００のストレージを示す情報が記載される。
【００５０】
続いて、本システムの動作について図６〜１１を参照して詳細に説明する。
＜初期設定処理＞
初期設定処理には、クライアントプロセスの実行部５００から出されるリクエストの振り分け処理と、クライアント端末１００のストレージとサーバ装置２００のストレージとの同期処理とが含まれる。なお、本実施形態に係る初期設定処理は、所定時間毎に周期的に実行されるが、ユーザによるクライアント端末１００への操作入力をトリガーとして実行されてもよい。また、ネットワーク３００に接続される、図示しない外部機器から送信されるコマンド等に応じて実行されてもよい。
【００５１】
図６を参照して、クライアント端末１００が起動されるとき、まずクライアント実行制御部１２０は、クライアントポリシ格納部４００からポリシ情報を読み込む（ステップＳ１）。続いて、クライアント実行制御部１２０は、所定の時間が経過するまで待機する（ステップＳ２）。所定の時間が経過したとき、クライアント環境情報収集部１１０が動作環境情報を収集する（ステップＳ３）。収集された動作環境情報はクライアント環境情報記憶部１７０に格納される。クライアント実行制御部１２０は、収集された動作環境情報とクライアントポリシとに基づいて、既存のルールのための条件と異なる条件が発生したか否かを検出する。こうして、クライアント実行制御部１２０はルールの再生成の必要性を判定する（ステップＳ４）。ルールの再生成の必要がないときは、動作フローはステップＳ２に戻る。ルール再生性の必要があると判断された場合は、クライアント実行制御部１２０は、クライアントポリシに基づいて振分けルールを生成する（ステップＳ５）。続いて、クライアント実行制御部１２０は、クライアントポリシに基づいてデータベースを同期させるための同期ルールを生成する（ステップＳ６）。ここで、クライアント実行制御部１２０は、生成された振分けルールを振り分け部１３０へ通知する（ステップＳ７）。また、クライアント実行制御部１２０は、クライアント同期モジュール１４０へ同期ルールを通知する（ステップＳ８）。通知後、動作フローは、ステップＳ２へ戻る。
【００５２】
＜振り分け処理＞
続いて、図７を参照してクライアント端末１００における振り分け部１３０による振分け処理について説明する。振り分け処理では、振り分け部１３０は、クライアントプロセス実行部５００からリクエストを受け付ける（ステップＳ９）。振り分け部１３０は、クライアント同期モジュール１４０を介して同期ルールを参照する（ステップＳ１０）。振り分け部１３０により参照された同期ルールと、クライアントプロセス実行部５００から受信されたリクエストとから同期する必要性を判定する（ステップＳ１１）。同期する必要がある場合は、クライアント同期モジュール１４０は、クライアントデータベース１６０とサーバデータベース２６０の同期を図るために、クライアント同期要求をサーバ装置２００のサーバ同期モジュール２４０に送る（ステップＳ１２）。サーバ動機モジュール２４０は、クライアント同期要求に応答して、サーバデータベース２６０のデータの一部を読み出し、ネットワーク３００を介してクライアント端末１００のクライアント同期モジュール１４０に送信する。クライアント同期モジュール１４０は、サーバ装置２００から受信されたデータをクライアントデータベース１６０に格納する。こうして、同期を達成する。ステップＳ１１で同期を確立必要がないと判定されたとき、及びステップＳ１２の処理の後、ステップＳ１３が実行され、振り分け部１３０は、振分けルールを参照する（ステップＳ１３）。振り分け部１３０は、振分けルールに基づいて、リクエストをクライアント端末１００で処理するか、サーバ装置２００で処理するかを判定する（ステップＳ１４）。クライアント端末１００で処理すべき場合は、クライアント端末１００内のサーバプロセス実行部５１０がリクエストを処理する（ステップＳ１５）。続いて、処理結果をクライアントプロセスに返す（ステップＳ１８）。クライアント端末１００で処理しない場合は、振り分け部１３０は、リクエストをサーバプロセス実行部５１１へ送る（ステップＳ１６）。続いて、振り分け部１３０は、サーバ装置２００からリクエストの処理結果（レスポンス）を受け取り、（ステップＳ１７）。処理結果をクライアントプロセス実行部５００へ送り返す（ステップＳ１８）。
【００５３】
＜クライアント端末による同期処理＞
続いて、図８を参照して、クライアント端末１００による同期処理について説明する。クライアント同期モジュール１４０は、所定の時間が経過するまで待機する（ステップＳ１９）。続いて、クライアント同期モジュール１４０は、同期ルールを参照して（ステップＳ２０）、同期する必要があるか否かを判定する（ステップＳ２１）。同期の必要がないと判定されたときは、動作フローはステップＳ１９に戻り、一定時間の経過を待つ。一方、同期の必要があると判定されたときは、クライアント同期モジュール１４０は、同期を行うためにクライアント同期要求をサーバ装置２００のサーバ同期モジュール２４０に送信する。こうして、前述のようにして、同期が達成される（ステップＳ２３）。このほか、クライアント同期モジュール１４０は、サーバ装置２００からサーバ同期要求を受信したときも（ステップＳ２２）、同期処理を行う（ステップＳ２３）。この場合、クライアント同期モジュール１４０は、同期の確立のために必要なデータをクライアントデータベース１６０から読み出し、サーバ同期モジュール２４０に送信する。サーバ同期モジュール２４０は、受信データをサーバデータベース２６０に格納する。クライアント端末では、クライアントデータベース１６０はそのままにしておく場合と、読み出されたデータを削除する場合がある。
【００５４】
＜同期ルール提供処理＞
続いて、サーバ装置２００が備えるサーバ同期モジュール２４０とクライアント端末１００が備えるクライアント同期モジュール１４０へ同期ルールを提供する動作フローについて図９を参照して説明する。
システム実行制御部２２０は、サーバ装置の格納部４１０に格納されたサーバポリシを読み込み、解釈する（ステップＳ３１）。その後、システム実行制御部２２０は、所定の時間が経過するまで待機する（ステップＳ３２）。所定の時間が経過したとき、サーバ環境情報収集部２１０は動作環境情報を収集する（ステップＳ３３）。収集された動作環境情報はサーバ環境情報記憶部２７０に格納される。システム実行制御部２２０は、収集された動作環境情報とサーバポリシとに基づいて、既存のルールのための条件と異なる条件が発生したか否かを検出する。こうして、システム実行制御部２２０は、ルールの再生成の必要性を判定する（ステップＳ３４）。ルールの再生成の必要がないときは、動作フローは、ステップＳ３２に戻る。ルールの再生成の必要があると判断されたときは、システム実行制御部２２０は、振分けルールを生成する（ステップＳ３５）。続いて、システム実行制御部２２０は、データベースを同期させるための同期ルールを生成する（ステップＳ３６）。ここで、システム実行制御部２２０は、生成された振分けルールをクライアント実行制御部１２０へ通知する（ステップＳ３７）。また、システム実行制御部２２０は、サーバ同期モジュール２４０と、クライアント実行制御部１２０を介しクライアント同期モジュール１４０とへ、同期ルールを通知する（ステップＳ３８）。通知後、動作フローはステップＳ３２へ戻る。
【００５５】
＜サーバプロセスの処理＞
次に、図１０を参照して、サーバプロセス実行部５１１の動作について説明する。サーバプロセス実行部５１１は、クライアント端末１００の振り分け部１３０からリクエストを受信する（ステップＳ３９）、そのリクエストを処理する（ステップＳ４０）。サーバプロセス実行部５１１は、リクエストの処理結果を、クライアント端末１００の振り分け部１３０へ返す（ステップＳ４１）。
【００５６】
＜サーバ装置による同期処理の流れ＞
次に図１１を参照して、サーバ装置２００による同期処理について説明する。
サーバ同期モジュール２４０は、システム実行制御部２２０から受け取った同期ルールに従ってサーバ装置２００とクライアント端末１００との同期を達成する。同期は、より詳細にはネットワーク３００を介して、サーバ同期モジュール２４０とクライアント同期モジュール１４０との間で行われる（ステップＳ４６）。同期は、クライアントデータベース１６０の一部もしくは全てと、サーバデータベース２６０の一部もしくは全ての間のデータ間で行なわれる。さらに、サーバ同期モジュール２４０は、同期ルールに従い（ステップＳ４３）、定期的に同期を行うこと（ステップＳ４２）が可能である。つまり、サーバ同期モジュール２４０は、所定の時間が経過するまで待機する（ステップＳ４２）。続いてサーバ同期モジュール２４０は、同期ルールを参照して（ステップＳ４３）、同期する必要があるかを判定する（ステップＳ４４）。同期の必要があると判定された場合は、サーバ同期モジュール２４０は、同期を行う（ステップＳ４６）。一方、サーバ同期モジュール２４０は、クライアント端末１００から同期リクエストを受けた場合も同期処理を行う（ステップＳ４６）。その後、動作フローはステップＳ４２に戻り、一定時間の経過が待たれる。
【００５７】
これらの仕組みを使えば、サーバ装置２００への負荷が増大した際に、必要に応じて、サーバ装置２００における処理の一部についてシステム実行制御部２２０を通じて、クライアント端末１００へ移行させることにより、迅速に負荷の分散を行うことが可能になる。また、クライアント端末１００では、その移行された処理においては、ネットワーク３００を介す必要がないため、高速に結果を表示することが可能となる。
【００５８】
また、図１に示されるように、クライアント端末１００およびサーバ装置２００におけるサーバアプリケーション実行プラットフォーム１５０、２５０は、その他のモジュールとは独立した構成になっているので、既存のサーバアプリケーションを変更なしに利用することができる。従って、本発明の導入コストを抑えることができる。
【００５９】
以上本発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６０】
なお、本願は、日本特許出願番号２００８−１２７７５９に基づいて条約上の優先権を主張する。その開示内容は、参照によりここに組み込まれる。
【図１】
0005455069.tif 000002
【図２】
0005455069.tif 000003
【図３】
0005455069.tif 000004
【図４】
0005455069.tif 000005
【図５】
0005455069.tif 000006
【図６】
0005455069.tif 000007
【図７】
0005455069.tif 000008
【図８】
0005455069.tif 000009
【図９】
0005455069.tif 000010
【図１０】
0005455069.tif 000011
【図１１】
0005455069.tif 000012