(57)【要約】【課題】クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できること。【解決手段】第１情報処理装置と第２情報処理装置とが通信接続される情報処理システムであって、第１情報処理装置が取得しても実行できないプログラムを第２情報処理装置にインストールすることを、第１情報処理装置から第２情報処理装置に依頼し、依頼されて第２情報処理装置にインストールしたプログラムの実行と第１情報処理装置におけるプログラムに対する操作とを同期させることを特徴とする。【選択図】  図１
2013200703.tif 000002
【特許請求の範囲】
【請求項１】
第１情報処理装置と第２情報処理装置とが通信接続される情報処理システムであって、
前記第１情報処理装置が取得しても実行できないプログラムを前記第２情報処理装置にインストールすることを、前記第１情報処理装置から前記第２情報処理装置に依頼するインストール依頼手段と、
前記インストール依頼手段によって依頼された前記プログラムを、前記第２情報処理装置にインストールするプログラムインストール手段と、
前記第２情報処理装置にインストールした前記プログラムの実行と前記第１情報処理装置における前記プログラムに対する操作とを同期させる同期手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記インストール依頼手段は、前記第１情報処理装置が取得しても実行できない前記プログラムを前記第１情報処理装置から消去することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記プログラムインストール手段は、前記第１情報処理装置が取得しても実行できなかった場合、前記第１情報処理装置から前記第２情報処理装置に、前記プログラムを送信するプログラム送信手段を有することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記プログラムインストール手段は、前記第１情報処理装置が取得しても実行できそうにない場合、前記第１情報処理装置からの指示にしたがって、前記第２情報処理装置に前記プログラムをインストールするインストール指示手段を有することを特徴とする請求項１または２に記載の情報処理システム。
【請求項５】
前記同期手段は、前記プログラムのうち、前記第１情報処理装置が実行可能な部分は前記第１情報処理装置で実行させる分割実行制御手段を有し、
前記分割実行制御手段は、前記第１情報処理装置からの分割実行の承認を受けた場合に分割処理を実行させることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
前記第１情報処理装置が取得しても実行できないプログラムは、前記第１情報処理装置が前記プログラムを実行するためのソフトウェア条件やハードウェア条件を満たしていないプログラムであることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理システム。
【請求項７】
前記第１情報処理装置が取得しても実行できないプログラムは、前記第１情報処理装置が前記プログラムによる外部装置との通信条件を満たしていないプログラムであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理システム。
【請求項８】
前記同期手段は、
前記第１情報処理装置の性能を保持する第１情報処理装置データベースと、
前記第１情報処理装置データベースを参照して、前記プログラムの実行中の操作および入出力を前記第１情報処理装置の性能に合わせて変換する変換手段と、
を有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理システム。
【請求項９】
前記第１情報処理装置データベースは、前記第１情報処理装置の構成をさらに保持し、
前記同期手段は、前記第１情報処理装置データベースを参照して、前記プログラムの実行中に、前記プログラムが対象とする装置の構成を前記第１情報処理装置の構成に合わせて変更する変更手段を有することを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記同期手段は、前記第１情報処理装置が前記プログラムの実行結果を処理する能力が無い場合に、前記第１情報処理装置に接続された入出力機器と情報のやり取りを直接に行なうよう制御する入出力制御手段を有することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理システム。
【請求項１１】
前記第２情報処理装置におけるプログラムおよびインストールに関連する履歴を蓄積する蓄積手段と、
前記蓄積手段に蓄積された履歴を前記第１情報処理装置に提供する提供手段と、
をさらに備えることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理システム。
【請求項１２】
第１情報処理装置と第２情報処理装置とが通信接続される情報処理システムの情報処理方法であって、
前記第１情報処理装置が取得しても実行できないプログラムを前記第２情報処理装置にインストールすることを、前記第１情報処理装置から前記第２情報処理装置に依頼するインストール依頼ステップと、
前記インストール依頼ステップにおいて依頼された前記プログラムを、前記第２情報処理装置にインストールするプログラムインストールステップと、
前記第２情報処理装置にインストールした前記プログラムの実行と前記第１情報処理装置における前記プログラムに対する操作とを同期させる同期ステップと、
を含むことを特徴とする情報処理方法。
【請求項１３】
他の情報処理装置が実行できないプログラムをインストールする依頼を、前記他の情報処理装置から受信する受信手段と、
前記プログラムをインストールするプログラムインストール手段と、
インストールした前記プログラムの実行を前記他の情報処理装置における前記プログラムに対する操作に同期させる同期手段と、
を備えることを特徴とする情報処理装置。
【請求項１４】
前記プログラムインストール手段は、前記第１情報処理装置から送信された前記プログラムを受信するプログラム受信手段を有することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記プログラムインストール手段は、前記他の情報処理装置からの指示にしたがって、配信された前記プログラムを受信してインストールすることを特徴とする請求項１３に記載の情報処理装置。
【請求項１６】
前記同期手段は、前記プログラムのうち、前記他の情報処理装置が実行可能な部分は前記他の情報処理装置で実行させる分割実行制御手段を有することを特徴とする請求項１３乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記同期手段は、
前記第１情報処理装置の性能を保持する第１情報処理装置データベースと、
前記第１情報処理装置データベースを参照して、前記プログラムの実行中の操作および入出力を前記第１情報処理装置の性能に合わせて変換する変換手段と、
を有することを特徴とする請求項１３乃至１６のいずれか１項に記載の情報処理装置。    
【請求項１８】
前記第１情報処理装置データベースは、前記第１情報処理装置の構成をさらに保持し、
前記同期手段は、前記第１情報処理装置データベースを参照して、前記プログラムの実行中に、前記プログラムが対象とする装置の構成を前記第１情報処理装置の構成に合わせて変更する変更手段を有することを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
前記同期手段は、前記第１情報処理装置が前記プログラムの実行結果を処理する能力が無い場合に、前記第１情報処理装置に接続された入出力機器と情報のやり取りを直接に行なうよう制御する入出力制御手段を有することを特徴とする請求項１３乃至１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記プログラムおよび前記プリグラムのインストールに関連する履歴を蓄積する蓄積手段と、
前記蓄積手段に蓄積された履歴を前記第１情報処理装置に提供する提供手段と、
をさらに備えることを特徴とする請求項１３乃至１９のいずれか１項に記載の情報処理装置。
【請求項２１】
他の情報処理装置が実行できないプログラムをインストールする依頼を、前記他の情報処理装置から受信する受信ステップと、
前記プログラムをインストールするプログラムインストールステップと、
インストールした前記プログラムの実行を前記他の情報処理装置における前記プログラムに対する操作に同期させる同期ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項２２】
他の情報処理装置が実行できないプログラムをインストールする依頼を、前記他の情報処理装置から受信する受信ステップと、
前記プログラムをインストールするプログラムインストールステップと、
インストールした前記プログラムの実行を前記他の情報処理装置における前記プログラムに対する操作に同期させる同期ステップと、
をコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
【請求項２３】
自装置が実行できないプログラムを、他の情報処理装置にインストール依頼するインストール依頼手段と、
前記他の情報処理装置がインストールした前記プログラムの実行に自装置における前記プログラムに対する操作を同期する同期手段と、
を備えることを特徴とする情報処理装置。
【請求項２４】
前記インストール依頼手段は、前記第１情報処理装置が取得しても実行できない前記プログラムを消去することを特徴とする請求項２３に記載の情報処理装置。
【請求項２５】
前記自装置が実行できなかった場合、前記他の情報処理装置に、前記プログラムを送信するプログラム送信手段をさらに備えることを特徴とする請求項２３または２４に記載の情報処理装置。
【請求項２６】
前記自装置が実行できなかった場合、前記他の情報処理装置に、配信された前記プログラムを受信してインストールするよう指示することを特徴とする請求項２３乃至２５のいずれか１項に記載の情報処理装置。
【請求項２７】
前記同期手段は、前記プログラムのうち、前記自装置が実行可能な部分を分割処理を実行することを特徴とする請求項２３乃至２６のいずれか１項に記載の情報処理装置。
【請求項２８】
前記自装置が取得しても実行できないプログラムは、前記自装置が前記プログラムを実行するためのソフトウェア条件やハードウェア条件を満たしていないプログラムであることを特徴とする請求項２３乃至２７のいずれか１項に記載の情報処理装置。
【請求項２９】
前記自装置が取得しても実行できないプログラムは、前記自装置が前記プログラムによる外部装置との通信条件を満たしていないプログラムであることを特徴とする請求２３乃至２８のいずれか１項に記載の情報処理システム。
【請求項３０】
自装置が実行できないプログラムを、他の情報処理装置にインストール依頼するインストール依頼ステップと、
前記他の情報処理装置がインストールした前記プログラムの実行に自装置における前記プログラムに対する操作を同期する同期ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項３１】
自装置が実行できないプログラムを、他の情報処理装置にインストール依頼するインストール依頼ステップと、
前記他の情報処理装置がインストールした前記プログラムの実行に自装置における前記プログラムに対する操作を同期する同期ステップと、
をコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取得したアプリケーションを実行できない場合に、その実行を外部装置に委託する技術に関する。
【背景技術】
【０００２】
特許文献１には、シンクライアント端末と、シンクライアント端末の操作によりアプリケーションを実行するサーバとの間における、通信を効率化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２８２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、プログラムによっては、クライアント（クライアント装置のユーザ）がプログラムを取得したけれども、クライアント装置にインストールできなかったり、クライアント装置で実行できなかったりするという課題がある。上記文献に記載の技術は、サーバが保有するアプリケーションを実行することで、シンクライアント装置による仮想的なアプリケーション実行を実現する技術である。シンクライアント装置自体がアプリケーションを実行することを前提とした技術ではないため、上述の課題を解決することはできなかった。
【０００５】
本発明の目的は、クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できるようにするという課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るシステムは、
第１情報処理装置と第２情報処理装置とが通信接続される情報処理システムであって、
前記第１情報処理装置が取得しても実行できないプログラムを前記第２情報処理装置にインストールすることを、前記第１情報処理装置から前記第２情報処理装置に依頼するインストール依頼手段と、
前記インストール依頼手段によって依頼された前記プログラムを、前記第２情報処理装置にインストールするプログラムインストール手段と、
前記第２情報処理装置にインストールした前記プログラムの実行と前記第１情報処理装置における前記プログラムに対する操作とを同期させる同期手段と、
を備えることを特徴とする。
【０００７】
上記目的を達成するため、本発明に係る方法は、
第１情報処理装置と第２情報処理装置とが通信接続される情報処理システムの情報処理方法であって、
前記第１情報処理装置が取得しても実行できないプログラムを前記第２情報処理装置にインストールすることを、前記第１情報処理装置から前記第２情報処理装置に依頼するインストール依頼ステップと、
前記インストール依頼ステップにおいて依頼された前記プログラムを、前記第２情報処理装置にインストールするプログラムインストールステップと、
前記第２情報処理装置にインストールした前記プログラムの実行と前記第１情報処理装置における前記プログラムに対する操作とを同期させる同期ステップと、
を含むことを特徴とする。
【０００８】
上記目的を達成するため、本発明に係る装置は、
他の情報処理装置が実行できないプログラムをインストールする依頼を、前記他の情報処理装置から受信する受信手段と、
前記プログラムをインストールするプログラムインストール手段と、
インストールした前記プログラムの実行を前記他の情報処理装置における前記プログラムに対する操作に同期させる同期手段と、
を備えることを特徴とする。
【０００９】
上記目的を達成するため、本発明に係る方法は、
他の情報処理装置が実行できないプログラムをインストールする依頼を、前記他の情報処理装置から受信する受信ステップと、
前記プログラムをインストールするプログラムインストールステップと、
インストールした前記プログラムの実行を前記他の情報処理装置における前記プログラムに対する操作に同期させる同期ステップと、
を含むことを特徴とする。
【００１０】
上記目的を達成するため、本発明に係るプログラムは、
他の情報処理装置が実行できないプログラムをインストールする依頼を、前記他の情報処理装置から受信する受信ステップと、
前記プログラムをインストールするプログラムインストールステップと、
インストールした前記プログラムの実行を前記他の情報処理装置における前記プログラムに対する操作に同期させる同期ステップと、
をコンピュータに実行させることを特徴とする。
【００１１】
上記目的を達成するため、本発明に係る装置は、
自装置が実行できないプログラムを、他の情報処理装置にインストール依頼するインストール依頼手段と、
前記他の情報処理装置がインストールした前記プログラムの実行に自装置における前記プログラムに対する操作を同期する同期手段と、
を備えることを特徴とする。
前記自装置が取得しても実行できないプログラムは、前記自装置が前記プログラムによる外部装置との通信条件を満たしていないプログラムであることを特徴とする。
【００１２】
上記目的を達成するため、本発明に係る方法は、
自装置が実行できないプログラムを、他の情報処理装置にインストール依頼するインストール依頼ステップと、
前記他の情報処理装置がインストールした前記プログラムの実行に自装置における前記プログラムに対する操作を同期する同期ステップと、
を含むことを特徴とする。
【００１３】
上記目的を達成するため、本発明に係るプログラムは、
自装置が実行できないプログラムを、他の情報処理装置にインストール依頼するインストール依頼ステップと、
前記他の情報処理装置がインストールした前記プログラムの実行に自装置における前記プログラムに対する操作を同期する同期ステップと、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】本発明の第２実施形態に係る情報処理システムの処理を説明する図である。
【図３】本発明の第２実施形態に係る情報処理システムの構成を示すブロック図である。
【図４Ａ】本発明の第２実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図４Ｂ】本発明の第２実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図５】本発明の第２実施形態に係るクラウドサーバの機能構成を示すブロック図である。
【図６】本発明の第２実施形態に係るクライアント装置の機能構成を示すブロック図である。
【図７】本発明の第２実施形態に係るクライアントＤＢの構成を示す図である。
【図８】本発明の第２実施形態に係るクライアント装置ＤＢの構成を示す図である。
【図９】本発明の第２実施形態に係るインストールプログラムＤＢの構成を示す図である。
【図１０】本発明の第２実施形態に係るクラウドサーバのハードウェア構成を示すブロック図である。
【図１１Ａ】本発明の第２実施形態に係るデータ変換ＤＢの構成を示す図である。
【図１１Ｂ】本発明の第２実施形態に係るプログラム実行テーブルの構成を示す図である。
【図１１Ｃ】本発明の第２実施形態に係るデータ変換用テーブルの構成を示す図である。
【図１２】本発明の第２実施形態に係るクラウドサーバの処理手順を示すフローチャートである。
【図１３Ａ】本発明の第２実施形態に係るプログラムインストール処理の処理手順を示すフローチャートである。
【図１３Ｂ】本発明の第２実施形態に係るインストールプログラム実行処理の処理手順を示すフローチャートである。
【図１４】本発明の第２実施形態に係るクライアント装置のハードウェア構成を示すブロック図である。
【図１５】本発明の第２実施形態に係るクライアント装置の自装置性能テーブルの構成を示す図である。
【図１６】本発明の第２実施形態に係るクライアント装置の処理手順を示すフローチャートである。
【図１７Ａ】本発明の第２実施形態に係るクラウドサーバに対するインストール操作処理の処理手順を示すフローチャートである。
【図１７Ｂ】本発明の第２実施形態に係るクラウドサーバに対するプログラム実行操作処理の処理手順を示すフローチャートである。
【図１８Ａ】本発明の第３実施形態に係る情報処理システムの処理を説明する図である。
【図１８Ｂ】本発明の第３実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図１９Ａ】本発明の第４実施形態に係る情報処理システムの処理を説明する図である。
【図１９Ｂ】本発明の第４実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図２０Ａ】本発明の第５実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図２０Ｂ】本発明の第５実施形態に係る情報処理システムの他の動作手順を示すシーケンス図である。
【図２１】本発明の第５実施形態に係るクラウドサーバの機能構成を示すブロック図である。
【図２２】本発明の第５実施形態に係るプログラム処理分割テーブルの構成を示す図である。
【図２３】本発明の第５実施形態に係るプログラム処理分割処理の処理手順を示フローチャートである。
【図２４】本発明の第６実施形態に係る情報処理システムの構成を説明するブロック図である。
【図２５】本発明の第６実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図２６】本発明の第６実施形態に係るクラウドサーバの機能構成を示すブロック図である。
【図２７】本発明の第６実施形態に係るプロトコル変換テーブルの構成を示す図である。
【図２８】本発明の第７実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図２９】本発明の第７実施形態に係るクラウドサーバの機能構成を示すブロック図である。
【図３０】本発明の第７実施形態に係るシステム変更テーブルの構成を示す図である。
【図３１】本発明の第８実施形態に係る情報処理システムの構成を説明するブロック図である。
【図３２】本発明の第８実施形態に係る情報処理システムの動作手順を示すシーケンス図である。
【図３３】本発明の第８実施形態に係る通信プロトコルスタックを示す図である。
【図３４】本発明の第９実施形態に係る情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１７】
本実施形態における「プログラム」との文言は、記憶媒体からあるいは通信媒体を介してコンピュータにインストールされ実行処理される、ＯＳ（オペレーションシステム）や、ドライバ、アプリケーションのプログラムと、それに使用されるＤＢ（データベース）などのデータを含む概念として使用されている。また、本実施形態においては、「インストールプログラム」との文言は、既にインストールして実行が可能なプログラムを指すものとする。また、本実施形態では、繁雑さを避けるために「プログラムのインストール」と「インストールプログラムの実行」とを分けて説明しているが、実行できないプログラムはインストールされたとは言えず、実際には明確に分離できるものではない。また、本実施形態においては、「クライアント装置」と「クライアント」とは異なる対象を示しており、「クライアント」との文言は、「クライアント装置」を所有するユーザ、あるいは「クライアント装置」を使用するユーザを表わす。
【００１８】
［第１実施形態］
本発明の第１実施形態としての情報処理システム１００について、図１を用いて説明する。情報処理システム１００は、第１情報処理装置１０１と第２情報処理装置１０２とが通信接続されるシステムである。
【００１９】
図１に示すように、情報処理システム１００は、インストール依頼部１１０と、プログラムインストール部１２０と、同期部１３０と、を含む。インストール依頼部１１０は、第１情報処理装置１０１が取得しても実行できないプログラム１０１ａを第２情報処理装置１０２にインストールすることを、第１情報処理装置１０１から前記第２情報処理装置１０２に依頼する。プログラムインストール部１２０は、インストール依頼部１１０によって依頼されたプログラム１０１ａを、第２情報処理装置１０２にインストールする。同期部１３０は、第２情報処理装置１０２にインストールしたプログラム１０１ａの実行１０２ａと第１情報処理装置１０１におけるプログラム１０１ａに対する操作１０１ｂとを同期させる。
【００２０】
本実施形態によれば、クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できる。
【００２１】
［第２実施形態］
次に、本発明の第２実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、クアイアント装置がプログラムをインストールできない場合、あるいはプログラムを実行できない場合に、当該プログラムをクライアント装置からクラウドサーバ（アプリケーションサーバを含む）へプログラム送信する。そして、当該プログラムをクラウドサーバにインストールして実行する。
【００２２】
本実施形態によれば、クライアントが取得したがインストールできなかったあるいは実行できなかったプログラムをクラウドサーバに送信して、クラウドサーバにおいてクライアント装置と同期しながらインストールするので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的にプログラムが実行できる。
【００２３】
《情報処理システムの処理》
図２は、本実施形態に係る情報処理システム２００の処理を説明する図である。
【００２４】
図２の左図は、クライアント装置２１０を構成する表示部２１１の表示画面である。表示画面には、プログラムＡ２３１を購入して、ＣＤ／ＤＶＤデバイス２１２の記憶媒体２１２ａやプログラム配信サーバ２３０からインストールを試みたが、失敗に終わったことがメッセージ２１１ａにより表示されている。メッセージ２１１ａには、失敗の理由となったソフトウェア条件（ＯＳや必要とするソフトウェアなど）やハードウェア条件（ＣＰＵ能力やメモリ容量、入出力機器や通信機器の能力など）も表示されるのが望ましい。
【００２５】
図２の左図で、クライアント装置２１０により、購入したプログラムＡがインストールあるいは実行できないことを報知されたクライアントは、中央図のように、クライアント装置２１０からプログラムＡをクラウドサーバ２２０にインストールして実行することを依頼する。クライアント装置２１０の表示部２１１には、依頼メッセージ２１１ｂが表示されている。クラウドサーバ２２０へのインストール依頼には、クライアントがプログラムＡを購入したことを証明するプログラム購入情報を付加して、プログラムＡをクラウドサーバ２２０に送信する。この時に、クライアント装置２１０がプログラムＡを保持可能であれば、クライアント装置２１０が保持したプログラムＡを送信する。しかし、クライアント装置２１０がプログラムＡを読み込めない場合もある。その場合には、クライアント装置２１０は、ＣＤ／ＤＶＤデバイス２１２の記憶媒体２１２ａやプログラム配信サーバ２３０からのプログラムＡのデッドコピーを、そのままクラウドサーバ２２０に送信することになる。
【００２６】
図２の右図は、クラウドサーバ２２０に送信されたプログラムＡ２２１を、クラウドサーバ２２０にインストール中のクライアント装置２１０の表示部２１１の表示画面の例を図示している。図２の右図では、インストールの開始手順において、クライアントにプロダクトキーの入力を要求するメッセージ２１１ｃが表示されている。なお、図２の右図はＣＤ／ＤＶＤデバイス２１２の記憶媒体２１２ａからのプログラムのインストールを例にしており、プログラム配信サーバ２３０からインストールの場合は異なるメッセージとなる。
【００２７】
図２には図示しないが、クラウドサーバ２２０が、プログラムＡのインストールを完了した後、クライアント装置２１０は、仮想的にプログラムＡを実行する。あるいは、クライアント装置２１０とは異なるクライアント装置においても、クライアント認証がされればクラウドサーバ２２０にインストールされたプログラムＡを仮想的に実行可能である。キーボード２１３やポインティングデバイス２１４は、異なるクライアント装置であるデスクトップ型ＰＣやノート型パＰＣであってもよいことを示している。
【００２８】
《情報処理システムの構成》
図３は、本実施形態に係る情報処理システム２００の構成を示すブロック図である。
【００２９】
情報処理システム２００は、ネットワークを介して接続された、クライアント装置３１１〜３１６と、クラウドサーバ２２０と、プログラム配信サーバ２３０とを備える。
【００３０】
クライアント装置３１１〜３１６は、図２のクライアント装置２１０に対応し、携帯端末であるクライアント装置３１１〜３１３やノート型ＰＣであるクライアント装置３１４やデジタルテレビであるクライアント装置３１５やデスクトップ型ＰＣであるクライアント装置３１６を含む。クライアント装置３１１〜３１６は、自分ではインストールあるいは実行ができない購入プログラムをクラウドサーバ２２０に送信して、インストールあるいは実行をクラウドサーバ２２０に依頼する第１情報処理装置である。
【００３１】
クラウドサーバ２２０は、クライアントを登録するクライアントＤＢ３２１を有する（図７参照）。また、クラウドサーバ２２０は、クライアント装置３１１〜３１６の性能情報を格納するクライアント装置ＤＢ３２２を有する（図８参照）。また、クラウドサーバ２２０は、クライアント装置３１１〜３１６からの依頼を受けてインストールしたプログラムを保持するインストールプログラムＤＢ３２３を有する（図９参照）。
【００３２】
プログラム配信サーバ２３０はインストールするプログラムを保持し、クライアント装置３１１〜３１６あるいはクラウドサーバ２２０にプログラムを配信提供する。なお、図２には、１つのプログラム配信サーバ２３０しか図示していないが、数に制限はない。
【００３３】
《情報処理システムの動作手順》
図４Ａ及び図４Ｂは、本実施形態に係る情報処理システム２００の動作手順を示すシーケンス図である。以下、クライアント装置３１１〜３１６は、クライアント装置３１１を代表させて説明する。
【００３４】
まず、図４Ａに従って、クライアント装置３１１ではインストールや実行ができなかった購入プログラムの、クラウドサーバ２２０への仮想インストール（代替インストール）の動作手順を説明する。
【００３５】
ステップＳ４０１において、クライアント装置３１１は、ＤＶＤデバイス２１２やプログラム配信サーバ２３０から所望のプログラムのインストールを試みる。ここで、図３の左図のように、クライアント装置にプログラムのインストールあるいは実行が失敗したことが報知されたとする。そして、中央図のように、クライアントがプログラムのクラウドサーバ２２０へのインストールおよび実行の依頼を指示すると、ステップＳ４０３において、クライアント装置３１１はクラウドサーバ２２０へのインストールおよび実行の依頼を行なう。ステップＳ４０５において、プログラムと、クライアントＩＤやクライアント装置ＩＤと共にクライアント装置の能力情報と、そして、プログラムを購入したことを証明するプログラム購入情報とが、クライアント装置３１１からクラウドサーバ２２０に送信される。
【００３６】
次に、クライアント装置３１１は、ステップＳ４０６において、インストールに失敗した、あるいはインスロール後に実行できなかったプログラムをクライアント装置３１１から消去する。かかる消去をクライアント装置において自動的に行なうことで、クライアントがプログラムを探して消去するという煩わしい操作から解放される。クライアントは、クライアント装置に表示された依頼用ボタンをクリック（タッチ）するのみで、後の処理は自動的に行なわれることになる。また、ライセンスを追加せずにサーバにプログラムをインストールすることが可能となる。
【００３７】
クラウドサーバ２２０では、ステップＳ４０７において、クライアント装置３１１から受信したプログラムの仮想ＰＣでのインストールを開始する。そして、ステップＳ４０９において、インストール処理手順を実行する。プログラムインストール処理の中で、例えば図２の右図に示したようにクライアントのプロダクトキー入力が必要であれば、ステップＳ４１１においてクライアント指示あるいは入力を問い合わせる。ステップＳ４１３において、問い合わせ画面がクラウドサーバ２２０からクライアント装置３１１に送信される。
【００３８】
ステップＳ４１５において、クライアント装置３１１は、受信した問い合わせ画面を表示する。なお、この問い合わせ画面は、必要であればクラウドサーバ２２０がクライアント装置３１１の出力能力に合わせたプロトコルおよび画面データに変換する。例えば、クライアント装置３１１が前世代の装置である場合や、一方、プログラムが旧世代のプログラムである場合などには、変換が必須である。ステップＳ４１７において、クライアント装置３１１は、クライアントの問い合わせ画面への応答入力を取得する。そして、クライアント装置３１１は、ステップＳ４１９において、取得した応答入力のデータをクラウドサーバ２２０に送信する。
【００３９】
クラウドサーバ２２０は、ステップＳ４２１において、クライアント装置３１１からの応答データを受信する。なお、この受信処理においても、必要であればクラウドサーバ２２０がクライアント装置３１１の入力能力に基づいて、クラウドサーバ２２０やプログラムのプロトコルおよび入力データに合うように変換する。
【００４０】
以上のように、インストール処理手順に合わせて、上記クラウドサーバ２２０とクライアント装置３１１とがやり取りをしながらインストールを進める。そして、ステップＳ４２３において、インストールの完了を判定する。インストール完了でなければ、ステップＳ４０９に戻って、インストール処理手順を進める。インストール完了であればステップＳ４２５に進んで、インストール完了をクライアント装置３１１に通知する。
【００４１】
ステップＳ４２７において、クラウドサーバ２２０からクライアント装置３１１に送信されたインストール完了情報は、ステップＳ４２９において、クライアント装置３１１に表示される。これで、プログラムのクラウドサーバ２２０への仮想インストール（代替インストール）が完了する。
【００４２】
次に、図４Ｂを参照して、クラウドサーバ２２０に仮想インストールされたプログラムを実行する動作手順を説明する。
【００４３】
ステップＳ４３１において、クライアント装置３１１は、インストールプログラムの実行を指示する。なお、他のクライアント装置３１２〜３１６であってもよい。ステップＳ４３３においては、プログラム開始指示が、クライアント装置ＩＤおよびクライアントＩＤと共に、クライアント装置３１１からクラウドサーバ２２０に送信される。
【００４４】
クラウドサーバ２２０は、ステップＳ４３５において、クライアントを認証した上で、インストールプログラムを仮想ＰＣで実行開始する。そして、ステップＳ４３７において、プログラム処理手順を実行する。
【００４５】
プログラム実行処理の中に、クライアントへの問い合わせやクライアント装置へのデータ出力が必要であれば、ステップＳ４３９において、クライアントへの問い合わせやクライアント装置へのデータ出力を行なう。ステップＳ４４１において、問い合わせあるいは出力データがクラウドサーバ２２０からクライアント装置３１１に送信される。問い合わせあるいは出力データを受信したクライアント装置３１１は、ステップＳ４４３において、問い合わせを表示したり、データを出力したりする。なお、この問い合わせ画面や出力データでは、インストール時と同様に、必要であればクラウドサーバ２２０がクライアント装置３１１の出力能力に合わせたプロトコルおよび画面データ、出力データに変換する。
【００４６】
また、プログラム実行処理の中に、クライアントからの問い合わせへの応答やクライアント装置からのデータ入力が必要であれば、ステップＳ４４５において、クライアント装置３１１は、問い合わせへの応答や入力データを取得する。そして、ステップＳ４４７において、問い合わせへの応答あるいは入力データがクライアント装置３１１からクラウドサーバ２２０に送信される。問い合わせへの応答あるいは入力データを受信したクラウドサーバ２２０は、ステップＳ４４９において、応答データを受信あるいは入力データを受信する。なお、この受信処理においても、必要であればクラウドサーバ２２０がクライアント装置３１１の入力能力に基づいて、クラウドサーバ２２０やインストールプログラムのプロトコルおよび入力データに合うように変換する。
【００４７】
以上のように、プログラム処理手順に合わせて、上記クラウドサーバ２２０とクライアント装置３１１とがやり取りをしながらインストールを進める。そして、ステップＳ４５１において、プログラムの実行終了を判定する。実行終了でなければ、ステップＳ４３７に戻って、プログラム実行手順を進める。実行終了であればステップＳ４５３に進んで、実行終了をクライアント装置３１１に通知する。
【００４８】
ステップＳ４５５において、クラウドサーバ２２０からクライアント装置３１１に送信された処理結果は、ステップＳ４５７において、クライアント装置３１１に出力される。なお、この出力処理においても、必要であればクラウドサーバ２２０がクライアント装置３１１の出力能力に基づいて、クラウドサーバ２２０やインストールプログラムのプロトコルおよびデータをクライアント装置３１１に合うように変換する。これで、プログラムのクラウドサーバ２２０への仮想実行処理（いわゆる、仮想アプリケーション）が終了する。
【００４９】
なお、本実施形態における「インストール処理」は、プログラムを実際にロードする処理と共に、既にインストールされているがアクティベートされていないプログラムを、代替インストール依頼に応答してアクティベートさせる処理も含むものである。この場合のプログラムの購入ライセンスの問題については、アクティベートによってカウントアップすることで対処可能である。かかる処理の場合には、図４ＡのステップＳ４０５〜Ｓ４２９の処理は省略可能である。
【００５０】
このように、本実施形態においては、クラウドサーバ２２０にプログラムのインストールを依頼すれば、所望の時刻にどのクライアント装置からでもインストールプログラムを実行して処理結果を取得できる。
【００５１】
《クラウドサーバの機能構成》
図５は、本実施形態に係るクラウドサーバ２２０の機能構成を示すブロック図である。
【００５２】
クラウドサーバ２２０は、ネットワーク３４０を介して他のサーバやクライアント装置と通信する通信制御部５１０を有する。リクエスト分析部５２０は、通信制御部５１０が受信したクライアント装置からのリクエストを分析する。本例では、クライアント装置からの、プログラムのインストールやインストールプログラムの実行を依頼するリクエストを分析する。
【００５３】
クライアント登録／認証／判別部５３０は、リクエストに含まれるクライアント情報をクライアントＤＢ３２１に登録したり、クライアントＤＢ３２１を参照して認証情報に基づく認証やクライアントの判定をしたりする。その結果、クライアント装置からのプログラムのインストールやインストールプログラムの実行の依頼受付をする。
【００５４】
クライアント装置登録部５４０は、リクエストに含まれるクライアント装置の能力を含むクライアント装置情報をクライアント装置ＤＢ３２２に登録する。プログラム登録部５５０は、リクエストに含まれるクライアント装置からインストールを依頼され送信されたプログラムをプログラム受信し、クライアントＩＤに対応付けてインストールプログラムＤＢ３２３に登録する。
【００５５】
インストール実行部５６０は、リクエストに含まれるクライアントのインストール依頼を受けて、クラウドサーバ２２０へのクライアント装置から送信されたプログラムのインストールを実行する。ここで、送信データ変換部５８０および受信データ変換部５９０は、インストール処理手順中のクライアントへの問い合わせ／応答時に、クライアント装置の入出力データをクラウドサーバ２２０内のプログラムの入出力データに変換する。
【００５６】
インストールプログラム実行部５７０は、リクエストに含まれるクライアントのインストールプログラムの実行依頼を受けて、クラウドサーバ２２０におけるインストールプログラムの実行を行なう。ここでも、送信データ変換部５８０および受信データ変換部５９０は、インストールプログラム実行手順中のクライアントへの問い合わせ／応答時に、また。データ出力やデータ入力において、クライアント装置の入出力データをクラウドサーバ２２０内のインストールプログラムの入出力データに変換する。
【００５７】
《クライアント装置の機能構成》
図６は、本実施形態に係るクライアント装置３１１〜３１６の機能構成を示すブロック図である。
【００５８】
クライアント装置３１１〜３１６は、タッチパネルやキーボードなどからなる操作部６１０と、情報をクライアントに出力する出力部６７０として表示部６７１や音声出力部６７２と、クライアントが情報を入力する入力部６４０としてデータ入力部６４１や音声入力部６４２とを有する。
【００５９】
操作部６１０から入力されたクライアントの指示は、リクエスト送信部６２０に送られる。リクエスト送信部６２０では、クライアントによるプログラムのインストール依頼、あるいはインストールプログラムの実行依頼を受けて、それぞれ対応するリクエストメッセージを生成して、通信制御部６３０を介してクラウドサーバ２２０に送信する。リクエストメッセージには、クライアントＩＤやクライアント装置ＩＤやプログラム購入情報、プログラムデータなどの必要情報が付与される。
【００６０】
送信データ生成部は、入力部６４０から入力されたデータを送信データに変換して、通信制御部６３０を介してクラウドサーバ２２０に送信する。受信データ取得部は、通信制御部６３０を介してクラウドサーバ２２０から受信した受信データを取得して、出力部６７０に出力できる出力データに変換する。
【００６１】
（クライアントＤＢ）
図７は、本実施形態に係るクライアントＤＢ３２１の構成を示す図である。なお、図７のクライアントＤＢ３２１の構成は一例であって、これに限定されない。
【００６２】
クライアントＤＢ３２１は、クライアント情報を記憶するクライアント情報ＤＢ７１０と、クライアントの契約レベルを保持する契約レベルＤＢ７２０とを有する。
【００６３】
クライアント情報ＤＢ７１０は、クライアントＩＤ７１１に対応付けて、パスワードや認証ＩＤなどの認証情報７１２と、クライアントのクラウドサーバ２２０におけるサービスレベルでもある契約レベル７１３とを記憶する。
【００６４】
契約レベルＤＢ７２０は、契約レベル７２１に対応付けて、その内容である、仮想アプリケーション実行７２２、プログラムの仮想インストール７２３、仮想ＰＣ構築７２４、プログラム／データの保存期間７２５を記憶する。ここで、○印はそのサービスが提供されることを示し、×はそのサービスが提供されないことを示す。
【００６５】
（クライアント装置ＤＢ）
図８は、本実施形態に係るクライアント装置ＤＢ３２２の構成を示す図である。なお、図８のクライアント装置ＤＢ３２２の構成は一例であって、これに限定されない。
【００６６】
クライアント装置ＤＢ３２２は、クライアント装置ＩＤ８０１に対応付けて、そのクライアント装置を構成する構成要素であるシステム機器８０２を記憶する。システム機器８０２には、入出力機器などの装置や、ＣＰＵやメモリなどの部品なども含まれる。
【００６７】
各システム機器８０２に対応付けて、メーカ８０３。機種８０４、ハードウェア性能８０５、ソフトウェア性能８０６、取扱可能データ８０７を記憶する。これらの情報は、クラウドサーバ２２０が、クライアント装置と通信する場合の通信プロトコルや、データを入出力する場合のコマンド体系やデータフォーマットなどを、クライアント装置に合わせて変換するために使用される。
【００６８】
（インストールプログラムＤＢ）
図９は、本実施形態に係るインストールプログラムＤＢ３２３の構成を示す図である。なお、図９のインストールプログラムＤＢ３２３の構成は一例であって、これに限定されない。
【００６９】
インストールプログラムＤＢ３２３は、インストールプログラムＩＤ９０１に対応付けて、インストールプログラムデータ９０２、プログラムに所有権を有するクライアントＩＤ９０３、プログラム提供者９０４、購入契約済フラグ９０５、インストール日時９０６、保存期間９０７を記憶する。なお、プログラム提供者９０４は、プログラム配信サーバ２３０であってもよい。
【００７０】
《クラウドサーバのハードウェア構成》
図１０は、本実施形態に係るクラウドサーバ２２０のハードウェア構成を示すブロック図である。
【００７１】
図１０で、ＣＰＵ１０１０は演算制御用のプロセッサであり、プログラムを実行することで図５のクラウドサーバ２２０の各機能構成部を実現する。ＲＯＭ１０２０は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部５１０は通信制御部であり、本実施形態においては、ネットワーク３４０を介してクライアント装置３１１〜３１６やプログラム配信サーバ２３０と通信する。なお、ＣＰＵ１０１０は１つに限定されず、複数のＣＰＵであっても、あるいは画像処理用のＧＰＵ(Graphics Processing Unit)を含んでもよい。
【００７２】
ＲＡＭ１０４０は、ＣＰＵ１０１０が一時記憶のワークエリアとして使用するランダムアクセスメモリである。ＲＡＭ１０４０には、本実施形態の実現に必要なデータを記憶する領域が確保されている。クライアント装置ＩＤ１０４１は、通信中のクライアント装置の識別子である。クライアント装置情報１０４２は、通信中のクライアント装置およびそれを構成する機器の能力情報を含む情報である。クライアントＩＤ／認証情報１１４３は、プログラムのインストールあるいはインストールプログラムの実行を依頼したクライアントのクライアントＩＤと認証情報のデータである。プログラム１０４４は、クライアントからインストールを依頼されたプログラムである。プログラム購入情報１０４５は、クライアントがプログラム１０４４を購入していることを証明する情報である。プログラム実行テーブル１０４６は、インストールプログラムを実行する時にその実行を管理するためのテーブルである。データ変換用テーブル１０４７は、本クラウドサーバ２２０と通信中のクライアント装置間のプロトコルやデータフォーマットなどの違いを調整するためのテーブルである。インストール用送受信データ１０４８は、プログラムをインストール中にクライアント装置と送受信するデータである。インストールプログラム用送受信データ１０４９は、インストールプログラムを実行中にクライアント装置と送受信するデータである。
【００７３】
ストレージ１０５０には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。クライアントＤＢ３２１は、図７に示したデータベースである。クライアント装置ＤＢ３２２は、図８に示したデータベースである。インストールプログラムＤＢ３２３は、図９に示したデータベースである。データ変換ＤＢ１０５１は、通信する装置間のプロトコルやデータフォーマットなどの変換を、装置の組合せに対応付けて格納するデータベースである。
【００７４】
ストレージ１０５０には、以下のプログラムが格納される。クラウドサーバ制御プログラム１０５２は、本クラウドサーバ２２０の全体を制御するプログラムである。プログラムインストール制御モジュール１０５３は、クラウドサーバ制御プログラム１０５２において、クライアントが依頼したクライアント所有のプログラムを本クラウドサーバ２２０へインストールするためのモジュールである（図１３Ａ参照）。インストールプログラム実行モジュール１０５４は、クラウドサーバ制御プログラム１０５２において、クライアント装置に代わって仮想的にインストールプログラムを実行するモジュールである（図１３Ｂ参照）。クライアント装置用データ変換モジュール１０５５は、クラウドサーバ制御プログラム１０５２において、プログラムのインストール中およびインストールプログラムの実行中に、クライアント装置と本クラウドサーバ２２０との間の情報交換を加納にするプロトコル変換／データ変換のためのモジュールである。
【００７５】
なお、図１０には、本実施形態に必須なデータやプログラムのみが示されており、本実施形態に関連しないデータやプログラムは図示されていない。
【００７６】
（データ変換ＤＢ）
図１１Ａは、本実施形態に係るデータ変換ＤＢ１０５１の構成を示す図である。
【００７７】
データ変換ＤＢ１０５１は、第１装置１１０１と第２装置１１０２との組み合わせに対応付けて、データ変換のためのデータ変換テーブル１１０３とプロトコル変換のためのプロトコル変換テーブル１１０４とを記憶する。
【００７８】
（プログラム実行テーブル）
図１１Ｂは、本実施形態に係るプログラム実行テーブル１０４６の構成を示す図である。
【００７９】
プログラム実行テーブル１０４６は、インストールプログラムＩＤ１１１１とクライアントＩＤ１１１２とに対応付けて、現在使用中のクライアント装置ＩＤ１１１３、実行の開始時間１１１４および終了時間１１１５、実行中か待機中が中断かなどのプログラムの状況１１１６を記憶する。
【００８０】
（データ変換用テーブル）
図１１Ｃは、本実施形態に係るデータ変換用テーブル１０４７の構成を示す図である。
【００８１】
データ変換用テーブル１０４７は、インストールプログラムとクライアント装置を構成する入出力機器との間でデータ変換が必要か否かを記憶する変換要否テーブル１１２０と、使用するデータ変換テーブルを記憶する変換データテーブル１１３０とを有する。変換要否テーブル１１２０は、インストールプログラムＩＤ１１２１に対応して、通信中のクライアント装置を構成する入出力機器１１２２を記憶する。そして、入出力機器１１２２に対応する入出力データ１１２３と、その組合せ結果から判定したデータ変換要否１１２４とを記憶する。変換データテーブル１１３０は、クライアント装置の入出力データ１１３１とインストールプログラムの使用データ１１３２との組合せからデータ変換ＤＢ１０５１を参照して判定された使用するデータ変換テーブル１１３３を記憶する。
【００８２】
なお、図１１Ｃにおいては、インストールプログラムについて説明したが、インストール前のプログラムにおいても、クライアント装置との間でデータ変換が必要な場合は同様にデータ変換用テーブル１０４７が使用される。
【００８３】
《クラウドサーバの処理手順》
図１２は、本実施形態に係るクラウドサーバ２２０の処理手順を示すフローチャートである。このフローチャートは、図１０のＣＰＵ１０１０がＲＡＭ１０４０を使用して実行し、図５の機能構成部を実現する。
【００８４】
まず、ステップＳ１２１１において、プログラムのインストール指示をクライアント装置から受信したか否かを判定する。また、ステップＳ１２３１において、インストールプログラムの実行をクライアント装置から受信したか否かを判定する。
【００８５】
プログラムのインストール指示であればステップＳ１２１３に進んで、クライアント情報を取得する。ステップＳ１２１５においては、取得したクライアント情報に含まれるプログラム購入情報からインストール指示されたプログラムをクライアントが所有するかを確認する。すなわち、クライアントがプログラムを購入済みかのデータを確認する。所有の確認ができなければ、プログラムをインストールせずに処理を終了する。
【００８６】
クライアントの所有が確認できればステップＳ１２１７に進んで、インストールするプログラムをクライアント装置から受信する。続いて、ステップＳ１２１９において、クライアント装置の能力を取得する。なお、クライアント情報、プログラム、クライアント装置の能力は、同時に１つのメッセージでクライアント装置から受信してもよい。次に、ステップＳ１２２１において、プログラムインストール処理を実行する（図１３Ａ参照）。プログラムインストールが完了すると、ステップＳ１２２３において、インストール完了通知あるいはエラー通知をクライアント装置に送信して、インストール処理を終了する。
【００８７】
一方、インストールプログラムの実行指示であればステップＳ１２３３に進んで、クライアント情報を取得する。ステップＳ１２３５においては、取得したクライアント情報に含まれるクライアント認証情報からクライアントを認証する。クライアント認証ができなければ、インストールプログラムを実行せずに処理を終了する。
【００８８】
クライアント認証ができればステップＳ１２３７に進んで、クライアント装置の能力を取得する。なお、クライアント情報、クライアント装置の能力は、同時に１つのメッセージでクライアント装置から受信してもよい。次に、ステップＳ１２３９において、インストールプログラム実行処理を実行する（図１３Ｂ参照）。インストールプログラムの実行が終了すると、ステップＳ１２４１において、実行結果をクライアント装置に送信して、インストールプログラムの実行処理を終了する。
【００８９】
（プログラムインストール処理）
図１３Ａは、本実施形態に係るプログラムインストール処理Ｓ１２２１の処理手順を示すフローチャートである。本実施形態においては、プログラムインストールの手順中、クライアント装置を操作するクライアントは、あたかもクライアント装置にインストールしているかのように操作手順を行なう。すなわち、本実施形態では、クラウドサーバ２２０にインストール処理を全て投げてしまうことはない。
【００９０】
なお、図１３Ａは、プログラムのインストール処理の初期手順のみを示すが、その説明のみで本実施形態の特徴的処理を表わしているので、以降の手順は省略している。また、図１３Ａにおいては、クラウドサーバ２２０とクライアント装置との間でテータ変換が必要な場合のステップを破線で図示している。データ変換をしなくてもデータ交換が可能な場合には破線で図示したステップのデータ変換はスキップする。
【００９１】
まず、ステップＳ１３１１において、クライアント装置を操作するクライアントがインストールの開始を指示するための問い合わせ画面を送信する。その場合に、データ変換が必要であれば、ステップＳ１３１３において、問い合わせ画面をデータ変化して送信する。ステップＳ１３１５において、クライアントの応答を待って、応答がなければステップＳ１３３５においてインストールエラーを記憶する。
【００９２】
クライアント装置からインストール開始の指示応答があればステップＳ１３１９に進んで、プログラムのインストールを開始する。この場合にも、データ変換が必要であれば、ステップＳ１３１７において、応答データを変換してプログラムが解析可能なデータとする。次に、ＣＤ／ＤＶＤからのプログラムのインストールであれば、ステップＳ１３２１において、クライアントによるプロダクトキーの入力をクライアント装置に要求する。この場合も、データ変換が必要であれば、ステップＳ１３２３において、プロダクトキー要求画面をデータ変化して送信する。ステップＳ１３２５において、クライアントによるプロダクトキーの入力を受信するのを待って、受信するとステップＳ１３２９において、プロダクトキーがインストールするプログラムに付随するプロダクトキーと対応するかを判定する。この場合にも、データ変換が必要であれば、ステップＳ１３２７において、応答データを変換してプログラムが解析可能なデータとする。
【００９３】
ステップＳ１３２９の判定でプロダクトキーが対応しなければ、ステップＳ１３３３においてインストールエラーをクライアント装置に送信する。ステップＳ１３２９の判定でプロダクトキーが対応すれば、インストール手順の次に進む。前述のように、この先のインストール手順は省略する。ステップＳ１３３１においては、インストールの完了か否かを判定する。完了すれば、ステップＳ１３３３において、インストール完了を記憶してリターンする。
【００９４】
（インストールプログラム実行処理）
図１３Ｂは、本実施形態に係るインストールプログラム実行処理Ｓ１２３９の処理手順を示すフローチャートである。本実施形態においては、インストールプログラム実行の手順中、クライアント装置からのクライアントの操作が必要な場合、あるいは、クライアント装置とのデータ交換がある場合、あたかもクライアントはクライアント装置に操作しているかのように処理する。なお、図１３Ａと同様に、図１３Ｂにおいては、クラウドサーバ２２０とクライアント装置との間でテータ変換が必要な場合のステップを破線で図示している。データ変換をしなくてもデータ交換が可能な場合には破線で図示したステップのデータ変換はスキップする。
【００９５】
まず、ステップＳ１３３０において、インストールプログラムの実行を開始する。そして、ステップＳ１３４１においては、クライアントへの問い合わせがあるか否かを判定する。また、ステップＳ１３５１においては、クライアント装置へのデータ出力を要するか否かを判定する。また、ステップＳ１３６１においては、クライアント装置からのデータ入力を要するか否かを判定する。
【００９６】
インストールプログラムからクライアントへの問い合わせがある場合は、ステップＳ１３４３において問い合わせをクライアント装置に送信して、ステップＳ１３４５において、クライアント装置の応答を待つ。データ変換が必要な場合は、ステップＳ１３４３においてデータ変換してクライアント装置に送信する。問い合わせへの応答があればステップＳ１３４７において応答を取得する。この場合も、データ変換が必要な場合は、ステップＳ１３４７においてデータ変換して取得する。
【００９７】
インストールプログラムからクライアント装置へのデータ出力があればステップＳ１３５３に進んで、クライアント装置にデータを出力する。データ変換が必要な場合は、ステップＳ１３５３においてデータ変換してクライアント装置に送信する。
【００９８】
インストールプログラムからクライアント装置へのデータ入力要請があればステップＳ１３６３に進んで、クライアント装置にデータ入力指示を送信する。データ変換が必要な場合は、ステップＳ１３６３においてデータ変換してクライアント装置に送信する。ステップＳ１３６５においてクライアント装置からのデータ入力を待って、データ入力があればステップＳ１３６７において入力データを取得する。この場合も、データ変換が必要な場合は、ステップＳ１３６７においてデータ変換して取得する。
【００９９】
《クライアント装置のハードウェア構成》
図１４は、本実施形態に係るクライアント装置３１１〜３１６のハードウェア構成を示すブロック図である。
【０１００】
図１４で、ＣＰＵ１４１０は演算制御用のプロセッサであり、プログラムを実行することで図６のクライアント装置３１１〜３１６の各機能構成部を実現する。ＲＯＭ１４２０は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部６３０は通信制御部であり、本実施形態においては、ネットワークを介してクラウドサーバ２２０と通信する。なお、ＣＰＵ１４１０は１つに限定されず、複数のＣＰＵであっても、あるいは画像処理用のＧＰＵを含んでもよい。
【０１０１】
ＲＡＭ１４４０は、ＣＰＵ１４１０が一時記憶のワークエリアとして使用するランダムアクセスメモリである。ＲＡＭ１４４０には、本実施形態の実現に必要なデータを記憶する領域が確保されている。自装置ＩＤ１４４１は、自クライアント装置の識別子である。自装置情報１４４２は、自装置の構成や性能などの情報である。クライアントＩＤ／認証情報１４４３は、クライアントが入力したクライアントＩＤおよび認証情報のデータである。プログラム１４４４は、クラウドサーバ２２０にインストールを依頼するプログラムである。プログラム購入情報１４４５は、クライアントがプログラム１４４４を既に購入したことを証明する情報である。入出力データ１４４６は、入出力インタフェース１４６０を介して入出力される入出力データを示す。送受信データ１４４７は、通信制御部６３０を介して送受信される送受信データを示す。
【０１０２】
ストレージ１４５０には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。自装置性能テーブル１４５１は、自装置を構成する構成要素の性能を記憶するテーブルである（図１５参照）。また、プログラム１４５２は、このクライアント装置がインストールしたいプログラムを読み込みことができる場合に、記憶したプログラムである。ストレージ１４５０には、以下のプログラムが格納される。クライアント装置制御プログラム１４５３は、本クライアント装置３１１〜３１６の全体を制御する制御プログラムである。インストール判定モジュール１４５４は、クライアント装置制御プログラム１４５３において、自装置にプログラムがインストールできたか／あるいはできるかを判定するモジュールである。インストール依頼モジュール１４５５は、クライアント装置制御プログラム１４５３において、クラウドサーバ２２０にプログラムのインストールを依頼するモジュールである。データ入出力制御モジュール１４５６は、入出力インタフェース１４６０を介する入出力機器のデータ入出力を制御するモジュールである。
【０１０３】
入出力インタフェース１４６０は、入出力機器との入出力データをインタフェースする。入出力インタフェース１４６０には、タッチパネル、マイク。カメラ、ＧＰＳ(Global Positioning System)位置生成部などの入力部６４０が接続される。また、入出力インタフェース１４６０には、表示部やスピーカなどの出力部６７０が接続される。さらに、入出力インタフェース１４６０には、インストールするプログラムを格納した記憶媒体２１２ａからプログラムを呼び出すＤＶＤデバイス２１２が接続される。
【０１０４】
なお、図１４には、本実施形態に必須なデータやプログラムのみが示されており、本実施形態に関連しないデータやプログラムは図示されていない。
【０１０５】
（クライアント装置性能テーブル）
図１５は、本実施形態に係るクライアント装置３１１〜３１６の自装置性能テーブル１４５１の構成を示す図である。
【０１０６】
自装置性能テーブル１４５１は、性能として自装置の動作条件を示す動作条件テーブル１５１０と、自装置を構成する各機器の性能を示す機器性能テーブル１５２０とを有する。動作条件テーブル１５１０は、各項目１５１１についての性能データ１５１２を記憶する。また、機器性能テーブル１５２０は、各機器１５２１に対応付けて、メーカ１５２２、機種やバージョン１５２３、性能データ１５２４を記憶する。
【０１０７】
《クライアント装置の処理手順》
図１６は、本実施形態に係るクライアント装置３１１〜３１６の処理手順を示すフローチャートである。このフローチャートは、図１４のＣＰＵ１４１０がＲＡＭ１４４０を使用して実行し、図６の機能構成部を実現する。
【０１０８】
まず、ステップＳ１６１１において、所望プログラムのインストール開始か否かを判定する。また、ステップＳ１６３１においては、インストールプログラムの実行指示か否かを判定する。
【０１０９】
所望プログラムのインストール開始であればステップＳ１６１３に進んで、インストールが可能であるか否かが判定される。インストールが可能であればステップＳ１６１５に進んで、自装置でインストール処理を実行する。
【０１１０】
インストール不可であればステップＳ１６１７に進んで、インストール不可であることをクライアントに報知する（図２の左図参照）。続いて、ステップＳ１６１９において、クライアントがインストール不可のプログラムのインストールをクラウドサーバ２２０に依頼する操作をしたか否かを判定する（図２の中央図参照）。クライアントが依頼操作をしなかった場合は処理を終了する。
【０１１１】
クライアントがクラウドサーバ２２０でのインストールを依頼するとステップＳ１６２１に進んで、プログラムの購入を証明するプログラム購入情報をクラウドサーバ２２０に送信する。そして、インストールを依頼するプログラムを送信する。なお、プログラム購入情報とプログラムとは、１つのメッセージで送信してもよい。そして、ステップＳ１６２５において、クラウドサーバ２２０に対してインストートに必要な操作処理を行なう（図１７Ａ参照）。なお、クラウドサーバ２２０がクライアント装置からのクライアントの操作無しに自動インストール処理を行なう場合には、ステップＳ１６２５はスキップされる。
【０１１２】
インストールプログラムの実行指示であればステップＳ１６３３に進んで、クライアナトＩＤおよびクライアントの認証情報をクラウドサーバ２２０に送信する。そして、ステップＳ１６３５において、クラウドサーバ２２０に対してインストールプログラム実行に必要な操作処理を行なう（図１７Ｂ参照）。なお、クラウドサーバ２２０がクライアント装置からのクライアントの操作無しに自動プログラム実行処理を行なう場合には、ステップＳ１６３５はスキップされる。
【０１１３】
（インストール操作処理）
図１７Ａは、本実施形態に係るクラウドサーバに対するインストール操作処理Ｓ１６２５の処理手順を示すフローチャートである。
【０１１４】
ステップＳ１７１１において、クラウドサーバ２２０から問い合わせの受信を待つ。問い合わせの受信があればステップＳ１７１３に進んで、表示部６７１に問い合わせを表示する（図２の右図参照）。ステップＳ１７１５においては、問い合わせに対するクライアントの応答入力を待つ。クライアントの応答入力があればステップＳ１７１７に進んで、応答入力をクラウドサーバ２２０に送信する。以降、必要な問い合わせ／応答を繰り返すが、図１７Ａでは省略する。
【０１１５】
そして、ステップＳ１７１９において、クラウドサーバ２２０からのインストール完了通知を待つ。インストール完了通知の受信があればステップＳ１７２１に進んで、インストール完了を表示部６７１に表示する。
【０１１６】
なお、ステップＳ１７１３とＳ１７２１においては、音声出力を行なってもよい。
【０１１７】
（プログラム実行操作処理）
図１７Ｂは、本実施形態に係るクラウドサーバに対するプログラム実行操作処理Ｓ１６３５の処理手順を示すフローチャートである。
【０１１８】
まず、ステップＳ１７３１において、クラウドサーバ２２０からのインストールプログラム実行中の問い合わせ受信か否かを判定する。また、ステップＳ１７４１においては、クラウドサーバ２２０からクライアント装置への出力データの受信か否かを判定する。また、ステップＳ１７５１においては、クラウドサーバ２２０からの入力データの要求であれか否かを判定する。
【０１１９】
問い合わせの受信があればステップＳ１７３３に進んで、表示部６７１に問い合わせを表示する。ステップＳ１７３５においては、問い合わせに対するクライアントの応答入力を待つ。クライアントの応答入力があればステップＳ１７３７に進んで、応答入力をクラウドサーバ２２０に送信する。なお、ステップＳ１７３３においては、音声出力を行なってもよい。
【０１２０】
クラウドサーバ２２０からの出力データを受信するとステップＳ７４３１に進んで、出力データをクライアント装置に接続された出力部６７０に出力する。
【０１２１】
クラウドサーバ２２０からの入力データ要求であればステップＳ１７５３に進んで、表示部６７１に入力データ要求を表示する。ステップＳ１７５５においては、入力データ要求に対するクライアントの入力操作を待つ。クライアントの入力操作があればステップＳ１７５７に進んで、入力部６４０からの入力データをクラウドサーバ２２０に送信する。なお、ステップＳ１７５３においては、音声出力を行なってもよい。
【０１２２】
［第３実施形態］
次に、本発明の第３実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２実施形態と比べると、クライアント装置からクラウドサーバにプログラムを送信するのでなく、クライアントが購入契約しようとするプログラムを直接、クラウドサーバにインストールして実行する点で異なる。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１２３】
本実施形態によれば、クライアントが取得したがインストールできそうにないあるいは実行できそうにないプログラムを、クラウドサーバによって代替配信させてインストールするので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的に実行できる。
【０１２４】
（情報処理システムの処理）
図１８Ａは、本実施形態に係る情報処理システム１８００の処理を説明する図である。なお、第２実施形態の図２と同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１２５】
図１８Ａの左図は、クライアント装置２１０を構成する表示部２１１の表示画面である。表示画面には、プログラムＡをインストールして実行するための条件メッセージ１８１１が、プログラムＡ２３１を配信するプログラム配信サーバ２３０から送信されて表示されている。条件メッセージ１８１１には、ソフトウェア条件（ＯＳや必要とするソフトウェアなど）やハードウェア条件（ＣＰＵ能力やメモリ容量、入出力機器や通信機器の能力など）が表示される。なお、クライアントは、インストールおよび実行の条件を、プログラム配信サーバ２３０からでなく他の媒体を介して得ることも可能である。
【０１２６】
図１８Ａの左図で、クライアント装置２１０によりプログラムＡがインストールあるいは実行できないことを認知したクライアントは、中央図のように、クライアント装置２１０からプログラムＡをクラウドサーバ２２０にインストールして実行することを依頼する。クライアント装置２１０の表示部２１１には、依頼メッセージ１８１２が表示されている。
【０１２７】
ところで、本実施形態のインストール依頼の場合、第２実施形態のように、クライアント装置２１０がインストールするプログラムを取得していないので、プログラムはプログラム配信サーバ２３０からクラウドサーバ２２０にダウンロードすることになる。したがって、クライアントがプログラムＡを購入する情報をプログラム配信サーバ２３０に通知する必要がある。本実施形態においては、クライアント装置２１０からクラウドサーバ１８２０を経由してプログラムＡを購入することにより、クラウドサーバ１８２０にプログラムＡがインストールされる。
【０１２８】
そこで、クラウドサーバ１８２０へのインストール依頼には、クライアントがプログラムＡを購入することを許諾したクライアント許諾情報と、例えばクレジッドカードＮｏ．などの購入を証明するプログラム購入情報とを、クライアント装置２１０からクラウドサーバ１８２０に送信する。クラウドサーバ１８２０は、クライアント装置２１０から受信したクライアント許諾情報とプログラム購入情報とを、クラウドサーバ１８２０を契約相手としてプログラム配信サーバ２３０に送信する。これに対して、プログラム配信サーバ２３０からのプログラムＡのクラウドサーバ１８２０へのインストールが実現される。
【０１２９】
図１８Ａの右図は、クラウドサーバ１８２０にインストールされたプログラムＡ１８２１の実行開始時の、クライアント装置２１０の表示部２１１の表示画面の例を図示している。図１８Ａの右図では、インストールされたプログラムＡの実行開始手順において、クライアントにクライアントＩＤとマスワードとの入力を要求するメッセージ１８１３が表示されている。なお、クライアント装置２１０とは異なるクライアント装置においても、クライアント認証がされればクラウドサーバ２２０にインストールされたプログラムＡを実行可能である。キーボード２１３やポインティングデバイス２１４は、異なるクライアント装置であるデスクトップ型ＰＣやノート型パＰＣであってもよいことを示している。
【０１３０】
（情報処理システムの動作手順）
図１８Ｂは、本実施形態に係る情報処理システム１８００の動作手順を示すシーケンス図である。なお、図１８Ｂにおいて、第２実施形態の図４と同様の手順には同じステップ番号を付して、説明は省略する。
【０１３１】
まず、ステップＳ１８０１において、クライアント装置からプログラム配信サーバ２３０に所望のプログラムについて、そのインストール条件を問い合わせる。ステップＳ１８０３において、当合わせを受信したプログラム配信サーバ２３０は、ステップＳ１８０５において、所望プログラムのインストール条件を送信する。ステップＳ１８０７においてインストール条件を受信したクライアント装置は、ステップＳ１８０９において、受信したインストール条件を表示する。
【０１３２】
クライアントは、クライアント装置に表示された所望プログラムのインストール条件を見て、当該クライアント装置ではインストールが無理だと判断すると、ステップＳ１８１１において、クラウドサーバ１８２０に代替インストールを依頼する。クラウドサーバ１８２０への代替インストール依頼には、ステップＳ１８１３のように、クライアント情報、クライアント装置情報、クライアントの所望プログラムとプログラム購入意志とを含むプログラム情報が含まれる。クラウドサーバ１８２０は、ステップＳ１８１５において、受信したクライアント情報によりクライアントを認証すると、ステップＳ１８１７において、プログラム配信サーバ２３０にプログラムのインストールを要請する。プログラムのインストール要請には、クライアント情報、プログラム情報、そして、インストール依頼元としてクラウドサーバアドレスが含まれる。
【０１３３】
プログラム配信サーバ２３０では、ステップＳ１８１９において、クラウドサーバ１８２０から受信したクライアント情報からクライアントを認識する。そして、クライアント認証ができれば、ステップＳ１８２１において、プログラム情報に対応するプログラムにインストールを開始する。ここで、プログラムのインストール先はクラウドサーバ１８２０であり、インストール手順において操作を行なうのはクライアント装置のクライアントである。
【０１３４】
クラウドサーバ１８２０は、ステップＳ１８２３においてプログラム配信サーバ２３０からインストール開始を指示され、ステップＳ４０７において当該プログラムをクラウドサーバ１８２０の仮想ＰＣに対しインストールを開始する。そして、ステップＳ１８２５、Ｓ１８２７、Ｓ４０９において、インストール処理手順が、プログラム配信サーバ２３０とクラウドサーバ１８２０との間で順次に進行する。
【０１３５】
そのインストール処理手順の進行中に、プログラム配信サーバ２３０からクライアントに、プログラム購入契約を含む問い合わせがある場合には、ステップＳ１８２９において、問い合わせをクラウドサーバ１８２０に送信する。問い合わせは、ステップＳ１８３１のように、クラウドサーバ１８２０を経由してクライアント装置に送信され、表示される。ステップＳ４１７におけるその問い合わせに対する応答も、ステップＳ１８３３のように、クラウドサ０バ１８２０を経由してプログラム配信サーバ２３０に送信される。プログラム配信サーバ２３０は、ステップＳ１８３５において、クライアント装置からのクライアントの応答を受信する。そして、次のインストール手順に進む。
【０１３６】
ステップＳ１８３７においては、プログラム配信サーバ２３０がインストール完了か否かを判定する。インストール完了でなければステップＳ１８２５に戻って、次のインストール手順に進む。インストール完了であればステップＳ２８３９において、インストール完了通知をクラウドサーバ１８２０に送信する。インストール完了通知は、ステップＳ１８４１のように、クラウドサーバ１８２０を経由してクライアント装置に送信される。クライアント装置では、ステップＳ４２９において、インストール完了を表示してクライアントに報知する。
【０１３７】
［第４実施形態］
次に、本発明の第４実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第３実施形態と比べると、クライアントが購入契約したプログラムをクラウドサーバに譲渡して、クラウドサーバにインストールして実行する点で異なる。その他の構成および動作は、第および第３実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１３８】
本実施形態によれば、クライアントが取得したがインストールできそうにないあるいは実行できそうにないプログラムを、クラウドサーバにインストールするように契約譲渡するので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的に実行できる。
【０１３９】
（情報処理システムの処理）
図１９Ａは、本実施形態に係る情報処理システムの処理を説明する図である。なお、図１９Ａの処理において、第３実施形態の図１８Ａと同様の処理には同じ参照番号を付して、説明を省略する。
【０１４０】
図１９Ａの左図は、図１８Ａの左図と同様である。図１９Ａの左図で、クライアント装置２１０によりプログラムＡがインストールあるいは実行できないことを認知したクライアントは、中央図のように、クライアント装置２１０からプログラムＡをクラウドサーバ２２０にインストールして実行することを依頼する。クライアント装置２１０の表示部２１１には、依頼メッセージ１９１２が表示されている。
【０１４１】
本実施形態においても、第３実施形態と同様に、クライアントがプログラムＡを購入する情報をプログラム配信サーバ２３０に通知する必要がある。本実施形態においては、クライアント装置２１０とプログラム配信サーバ２３０との間で、あらかじめプログラム購入契約を行ない。その購入契約情報を、クライアントがクライアント装置からクラウドサーバ１９２０を経由してプログラム配信サーバ２３０に送信することで、クラウドサーバ１９２０へのプログラムのインストールを実現する。そのため、図１９Ａの中央図のように、クライアント装置２１０は、プログラム配信サーバ２３０と所望プログラムの購入契約を交わす。その後、その購入契約情報を、クラウドサーバ１９２０を経由してプログラム配信サーバ２３０に送信することで、クラウドサーバ１９２０へのプログラムのインストールを実現する。
【０１４２】
図１９Ａの右図は、クラウドサーバ１８２０にインストールされたプログラムＡ１８２１の実行開始時の、クライアント装置２１０の表示部２１１の表示画面の例を図示しており、図１８Ａの右図と同様である。
【０１４３】
（情報処理システムの動作手順）
図１９Ｂは、本実施形態に係る情報処理システムの動作手順を示すシーケンス図である。なお、図１９Ｂにおいて、第２実施形態の図４あるいは第３実施形態の図１８Ｂと同様の手順には同じステップ番号を付して、説明は省略する。また、本実施形態のインストール手順処理は、第３実施形態の図１８Ｂと同様であるので、図１９Ｂには、インストール開始までの手順を示し、以降は省略する。
【０１４４】
ステップＳ１８０１〜Ｓ１８０９は、図１９Ａの左図に対応する、インストール条件の問い合わせ処理である。
【０１４５】
ステップＳ１９０１とＳ１９０３において、クライアントはクライアント装置を操作してプログラム配信サーバ２３０と、所望プログラムの購入契約を交わす。そして、クライアントは、プログラム購入契約情報を取得する。
【０１４６】
クライアント装置は、ステップＳ１９１１において、クラウドサーバ１９２０に代替インストールを依頼する。本実施形態においては、クライアントが既にプログラム配信サーバ２３０と購入契約済みであるので、ステップＳ１９１３においては、プログラム購入契約情報とクライアント装置情報をクラウドサーバ１９２０に送信する。
【０１４７】
クラウドサーバ１９２０は、ステップＳ１９１５において、プログラム購入契約情報とクラウドサーバアドレスとをプログラム配信サーバ２３０に送信することで、以降、図１８Ｂと同様のインストール手順が開始される。
【０１４８】
［第５実施形態］
次に、本発明の第５実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２乃至第４実施形態と比べると、クラウドサーバにインストールされたプログラムの一部を分割してクライアント装置が分担実行する点で異なる。また、その分担実行を行なうか／クラウドサーバに全て実行させるかをクライアントが選択できる。その他の構成および動作は、第２乃至第４実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１４９】
本実施形態によれば、クライアント装置とクラウドサーバとでプログラムを分割して協働処理するので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的に実行できる。また、クライアントの認証情報の漏洩やクライアント装置の感染を極力防ぎこともできる。
【０１５０】
《情報処理システムの動作手順》
図２０Ａは、本実施形態に係る情報処理システム２０００の動作手順２０００−１を示すシーケンス図である。なお、図２０Ａにおいては、プログラムのクラウドサーバ２０２０へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図２０Ａの処理において、第２実施形態の図４と同様の動作手順には同じステップ番号を付して、説明を省略する。
【０１５１】
インストールプログラムの実行指示をクライアント装置から受信したクラウドサーバ２０２０は、ステップＳ２００１において、クライアント装置情報を取得する。クライアント装置情報は、あらかじめ登録されたクライアント装置ＤＢからクライアナト装置ＩＤに基づいて取得してもよいし、クライアント装置から受信してもよい。ステップＳ２００３においては、取得したクライアント装置情報に基づいて、インストールプログラム中からクライアント装置が実行可能な部分を選別する（図２２参照）。そして、ステップＳ２００５において、選別されたインストールプログラムの部分をクライアント装置にダウンロードし、ステップＳ４３５において、クラウドサーバ２０２０の実行部分を仮想ＰＣで開始する。一方、クライアント装置は、ステップＳ２００７において、クラウドサーバ２０２０からダウンロードされた選別プログラムを受信して、実行を開始する。
【０１５２】
ここで、本実施形態において必須の制御は、クラウドサーバ２０２０のプログラム実行と、クライアント装置のプログラム実行との同期を取ることである。同期は、制御信号あるいはメッセージで行なわれる場合も、データの入出力により行なわれる場合もある。図２０においては、クラウドサーバ２０２０のステップＳ４３７におけるプログラム処理手順実行と、クライアント装置のステップＳ２００９におけるプログラム処理手順実行との同期を取る。ステップＳ２０１１における同期信号の送受信による同期と、ステップＳ２０１３においける入出力情報の送受信とが行なわれる。なお、ステップＳ２０１１およびＳ２０１３は、それぞれの同期処理を象徴的に図示している。
【０１５３】
クライアント装置では、ステップＳ２０１５において、クライアントのプログラム終了指示を待つ。プログラム終了指示がなければステップＳ２００９に戻って、処理を続行する。プログラム終了指示があればステップＳ２０１７に進んで、終了情報をクラウドサーバ２０２０に送信する。ステップＳ２０１９における終了情報を受信して、クラウドサーバ２０２０はインストールプログラムの処理を終了する。
【０１５４】
図２０Ｂは、本実施形態に係る情報処理システム２０００の動作手順２０００−２を示すシーケンス図である。なお、図２０Ｂにおいては、図２０Ａと同様のステップＳ４３５あるいはＳ２００５以降の動作手順は省略している。また、図２０Ａと同様の動作手順には同じステップ番号を付して、説明を省略する。
【０１５５】
インストールプログラムにクライアント装置で分割実行できる部分がある場合、ステップＳ２０２１において、クラウドサーバ２０２０からクライアント装置に対して、分割処理をクライアント装置で行なうか否かを問い合わせる。ステップＳ２０２３において、クライアントにより分割処理をクライアント装置で実行するか否かの応答が入力される。クラウドサーバ２０２０は、ステップＳ２０２５において、クライアント装置からの応答が分割実行の承認であれば、以下図２０Ａの処理を行なう。しかしながら、分割実行拒否であれば、選別されたプログラム部分のダウンロードは行なわずに、クラウドサーバ２０２０においてインストールプログラムを全て実行することになる。
【０１５６】
なお、かかる分割実行否のクライアントの応答は、クライアントの認証情報の漏洩やクライアント装置の感染を防ぐ意味もあるので、以降、クラウドサーバ２０２０は、認証情報が必要であればクダウドサーバ２０２０の認証情報を仮認証情報として使用し、クライアント装置との情報交換を極力さけるように動作するのが望ましい。
【０１５７】
《クラウドサーバの機能構成》
図２１は、本実施形態に係るクラウドサーバ２０２０の機能構成を示すブロック図である。なお、図２１においては、第２実施形態の図５と同様の機能構成部は同じ参照番号を付して、説明は省略する。また、図２１においては、プログラムがプログラム配信サーバ２３０から直接、クラウドサーバ２０２０にインストールされる場合の構成（第３および第４実施形態参照）を示すが、クライアント装置からのアップロードであってもよい。
【０１５８】
プログラムインストール部２１５１は、プログラム登録部２１５０およびインストール実行部２１６０と協働して、プログラム配信サーバ２３０からプログラムをインストールする。クライアント装置からアップロードする場合は、図５と同様に、プログラムインストール部２１５１が無い構成となる。
【０１５９】
インストールプログラム分割部２１７１は、プログラム処理分割テーブル２１７１ａ（図２２参照）を有し、クライアント装置が実行可能なインストールプログラムの部分を分割する。分割したインストールプログラムの部分は、分割プログラムダウンロード部２１７２によって、クライアント装置にダウンロードされる。なお、インストールプログラムがクライアント装置からアップロードされた場合は、分割プログラムをダウンロードせずに分割プログラムを識別する識別子のみのクライアント装置への送信でよい。
【０１６０】
分割実行問合部２１７３は、図２０Ｂに動作手順に対応した処理を行なうオプションの機能構成部である。分割実行問合部２１７３は、分割実行が可能な場合に、クライアント装置に分割実行するか否かを問い合わせる。クライアント装置からのクライアントの応答が分割処理実行であれば、分割プログラムをダウンロードして、インストールプログラムの分割処理を行なわせる。しかしながら、クライアント装置からのクライアントの応答が分割処理非実行であれば、分割プログラムをダウンロードせずにクラウドサーバ２０２０で全インストールプログラムを実行させる。
【０１６１】
インストールプログラム実行部２１７０は、クラアイント装置にダウンロードした分割プログラムのクライアント装置での実行と、残るインストールプログラムのクラウドサーバ２０２０での実行とを同期させて、インストールプログラムを実行する。
【０１６２】
このインストールプログラム分割部２１７１とインストールプログラム実行部２１７０と分割実行問合部２１７３とにより、分割実行制御部を構成する。
【０１６３】
（プログラム処理分割テーブル）
図２２は、本実施形態に係るプログラム処理分割テーブル２１７１ａの構成を示す図である。
【０１６４】
プログラム処理分割テーブル２１７１ａは、インストールプログラムＩＤ２２０１に対応付けて、インストールプログラムの実行を指示したクライアント装置のクライアント装置ＩＤ２２０２、そのクライアント装置情報に含まれる能力情報２２０３を記憶する。そして、クライアント装置の能力情報２２０３に基づいて分割したクライアント装置への分割プログラム２２０４、その分割プログラム２２０４のクライアント装置へのダウンロード済フラグ２２０５を記憶する。
【０１６５】
（プログラム処理分割処理の処理手順）
図２３は、本実施形態に係るインストールプログラム分割処理の処理手順を示フローチャートである。図２３の左側はクライアント装置のフローチャートであり、図２３の右側はクラウドサーバ２０２０のフローチャートである。図２３は、クライアント装置とクラウドサーバ２０２０との同期を主に説明するフローチャートであり、特殊な手順を示しているが、この手順を異なる処理にも敷衍可能である。
【０１６６】
クライアント装置は、ステップＳ２３１１において、ダウンロードされた分担プログラムを実行する。また、クラウドサーバ２０２０は、ステップＳ２３５１において、残る分担プログラムを実行する。
【０１６７】
まず、クライアント装置において、入力デバイスからの入力を待つ場合を示す。なお、この入力デバイスからの入力がクラウドサーバ２０２０にも必要な入力である場合は、クラウドサーバ２０２０はクライアント装置からの入力データの受信を待つことになる。デバイス入力待ちでも、クラウドサーバ２０２０へのデータ送信でもなければ、クライアント装置はステップＳ２３２１に進む。
【０１６８】
デバイス入力待ちであれば、クライアント装置はステップＳ２３１３からＳ２３１５に進んで、デバイス入力を取得する。そして、クラウドサーバ２０２０へのデータ送信であれば、ステップＳ２３１７からＳ２３１９に進んで、デバイス入力されたデータをクラウドサーバ２０２０に送信する。一方、クラウドサーバ２０２０は、クライアント装置からのデータ受信待ちであればステップＳ２３５３からＳ２３５５に進んで、クライアント装置のステップＳ２３１９と同期して、クライアント装置からのデータを受信する。
【０１６９】
次に、クライアント装置において、出力デバイスからの出力を待つ場合を示す。なお、この出力デバイスからの出力がクラウドサーバ２０２０にも必要な出力である場合は、クラウドサーバ２０２０はクライアント装置への出力データの送信を待つことになる。デバイス出力待ちでも、クラウドサーバ２０２０からのデータ受信でもなければ、クライアント装置はステップＳ２３２９に進む。
【０１７０】
クラウドサーバ２０２０は、クライアント装置へのデータ送信待ちであればステップＳ２３５７からＳ２３５９に進んで、クライアント装置へデータを送信する。一方、クライアント装置は、クラウドサーバ２０２０からのデータ受信であれば、ステップＳ２３２１からＳ２３２３に進んで、クラウドサーバ２０２０のステップＳ２３５９と同期して、クラウドサーバ２０２０からのデータを受信する。そして、クライアント装置は、デバイス出力待ちであればステップＳ２３２５からＳ２３２７に進んで、デバイス出力を行なう。
【０１７１】
クライアント装置は、ステップＳ２３２９において、クライアントによるプログラム終了指示を待つ。終了指示があればステップＳ２３３１において、終了情報をクラウドサーバ２０２０に送信する。クラウドサーバ２０２０は、ステップＳ２３６１において、クライアント装置からの終了情報を受信して、インストールプログラムの実行を終了する。
【０１７２】
［第６実施形態］
次に、本発明の第６実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２乃至５実施形態と比べると、インストールしたいプログラム実行において必要となる通信能力として外部装置との通信条件をクライアント装置が満たさない場合に、クライアント装置から仮想的にプログラムを実行できるよう構成した点で異なる。その他の構成および動作は、第２乃至第５実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１７３】
本実施形態によれば、通信能力をクライアント装置が満たさないプログラムをクラウドサーバがインストールして実行するので、クライアント装置がそのプログラム実行において必要となる通信能力を仮想的に実現できる。
【０１７４】
《情報処理システムの構成》
図２４は、本実施形態に係る情報処理システム２４００の構成を説明するブロック図である。なお、図２４において、第２実施形態の図３と同様の構成要素には同じ参照番号を付して、説明は省略する。
【０１７５】
クラウドサーバ２４２０は、クライアント装置３１１〜３１６の通信プロトコルを、クラウドサーバ２４２０から外部装置への通信プロトコルへ変換するプロトコル変換テーブル２４２４を有する。その外部装置としては、例えば、Ｗｅｂサイトサーバ２４５０やＳＮＳサーバ２４６０がネットワーク３４０に接続されている。しかし、外部装置はこれに限定されない。
【０１７６】
《情報処理システムの動作手順》
図２５は、本実施形態に係る情報処理システム２４００の動作手順を示すシーケンス図である。なお、図２５においては、プログラムのクラウドサーバ２０２０へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図２５においては、第２実施形態の図４および第５実施形態の図２０と同様の動作手順には同じステップ番号を付して、説明は省略する。
【０１７７】
ステップＳ２５０１において、クライアント装置の通信情報の送受信と、クラウドサーバ２４２０の通信情報の送受信との間で、必要であれば通信プロトコルやデータ変換によって、通信を実現する。さらに、ステップＳ２５０３において、外部通信先の装置との通信交換が可能なように、通信プロトコルやデータ変換をする。
【０１７８】
かかる通信プロトコル変換やデータ変換によって、クライアント装置の通信能力に関係なく、クラウドサーバ２０２０にインストールしたインストールプログラムを実現可能になる。
【０１７９】
《クラウドサーバの機能構成》
図２６は、本実施形態に係るクラウドサーバ２４２０の機能構成を示すブロック図である。なお、図２６においては、第２実施形態の図５と同様の機能構成部は同じ参照番号を付して、説明は省略する。
【０１８０】
プロトコル変換部２６１０は、プロトコル変換テーブル（図２７参照）を有し、クライアント装置の通信プロトコルによって外部通信先の装置の通信プロトコルに合わせてデータの送受信が可能なように、プロトコル変換を行なう。そして、インストールプログラム実行部２６７０は、プロトコル変換部２６１０によって変換された通信プロトコルによって、クライアント装置と外部通信先の装置との通信を実現する。
【０１８１】
（プロトコル変換テーブル）
図２７は、本実施形態に係るプロトコル変換テーブル２４２４の構成を示す図である。
【０１８２】
プロトコル変換テーブル２４２４は、クライアント装置の通信能力２７０１と、クラウドサーバの通信能力２７０２と、外部通信先の通信能力２７０３との組合せに対応付けて、プロトコルの変換情報２７０４と、入出力データの変換情報２７０５とを記憶する。
【０１８３】
［第７実施形態］
次に、本発明の第７実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２乃至第６実施形態と比べると、インストールしたいプログラムが対象とする装置の入出力能力をクライアント装置が満たさない場合に、クライアント装置から仮想的にプログラムを実行できるよう構成した点で異なる。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１８４】
本実施形態によれば、入出力能力をクライアント装置が満たさないプログラムをクダウドサーバがインストールして実行するので、クライアント装置がそのプログラムの入出力を仮想的に実現できる。
【０１８５】
《情報処理システムの動作手順》
図２８は、本実施形態に係る情報処理システム２８００の動作手順を示すシーケンス図である。なお、図２８においては、プログラムのクラウドサーバ２０２０へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図２８においては、第２実施形態の図４および第５実施形態の図２０と同様の動作手順には同じステップ番号を付して、説明は省略する。
【０１８６】
ステップＳ２８０１において、インストールプログラムの実行指示を受信したクラウドサーバ２８２０は、クライアント装置情報を取得する。本例の場合は、クライアント装置の入出力デバイスの構成および能力を取得する。次に、ステップＳ２８０３においては、イントールプログラムとクライアント装置の入出力デバイスの情報とから、イントールプログラムが意図する入出力デバイスと代替可能なクライアント装置の入出力デバイスを決定する。例えば、表示デバイスと音声入出力デバイスとは代替可能である。
【０１８７】
ステップＳ２８０５において、クラウドサーバ２８２０は、入出力情報の送受信で入出力デバイスの代替処理を行なう。具体的には、デバイスに応じた制御信号の変換と、データフォーマットの変換を行なう。
【０１８８】
《クラウドサーバの機能構成》
図２９は、本実施形態に係るクラウドサーバ２８２０の機能構成を示すブロック図である。なお、図２６においては、第２実施形態の図５と同様の機能構成部は同じ参照番号を付して、説明は省略する。
【０１８９】
入出力デバイス代替決定部２９７０は、入出力デバイス代替テーブル（図３０参照）を有し、インストールプログラムが使用する入出力デバイスを、クライアント装置が有する入出力デバイスに代替させる。入力デバイス代替制御部２９８０は、入出力デバイス代替決定部２９７０の指示に従い、クライアント装置の入力デバイスとの制御信号と入力データを、インストールプログラムの入力デバイスが処理可能なように変換制御する。出力デバイス代替制御部２９９０は、入出力デバイス代替決定部２９７０の指示に従い、インストールプログラムによる出力デバイスへの出力がクライアント装置の出力デバイスで処理可能なように、制御信号と出力データを変換制御する。
【０１９０】
（システム変更テーブル）
図３０は、本実施形態に係る入出力デバイス代替テーブル２９７１の構成を示す図である。
【０１９１】
入出力デバイス代替テーブル２９７１は、インストールプログラムＩＤ３００１とインストールプログラムが使用する入出力デバイス３００２、および、クライアント装置ＩＤ３００３とクライアント装置が有する入力デバイス３００４を記憶する。そして、それら情報に対応付けて、代替えするデバイス代替情報３００５とデバイス代替パラメータ３００６とを記憶する。
【０１９２】
［第８実施形態］
次に、本発明の第８実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２乃至第７実施形態と比べると、クライアント装置に代わってプログラムをインストールしたクラウドサーバが、クライアント装置をスルーして入出力機器に対して、直接、入出力処理をするように入出力制御を行なう点で異なる。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１９３】
本実施形態によれば、クライアント装置が認知できない入出力機器に対してもクラウドサーバがデータ入出力を処理するので、インストールしたいプログラムの入出力能力をクライアント装置に接続した入出力機器が仮想的に実現できる。
【０１９４】
《情報処理システムの構成》
図３１は、本実施形態に係る情報処理システム３１００の構成を説明するブロック図である。なお、図３１において、第２実施形態の図２と同様の構成要素には同じ参照番号を付して、説明は省略する。
【０１９５】
クラウドサーバ３１２０へのプログラムの代替インストールまでの処理は、図２と同様である。本実施形態においては、図３１の右図のように、インストールプログラムの実行において、携帯端末であるクライアント装置３１２が、インストールされたプログラムＡの実行にかかる入出力データを処理不能である。そのため、クラウドサーバ３１２０がクライアント装置３１２にＵＳＢ(Universal Serial Bus)３１２ａで接続されたルータ３１７０を介して、直接、デジタルテレビであるクライアント装置３１５、キーボード３１８０、ポインティングデバイス３１９０との入出力を行なう。
【０１９６】
かかる処理により、クライアント装置の性能に関わらず、クラウドサーバ３１２０とクライアントとのコミュニケーションが可能となる。なお、クライアント装置３１２と入出力機器とのインタフェースはＵＳＢに限定されない。
【０１９７】
《情報処理システムの動作手順》
図３２は、本実施形態に係る情報処理システム３１００の動作手順を示すシーケンス図である。なお、図３２においては、プログラムのクラウドサーバ２０２０へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図３２においては、第２実施形態の図４と同様の動作手順には同じステップ番号を付して、説明は省略する。
【０１９８】
まず、ステップＳ３２０１において、処理結果を取得するクライアント装置３１１〜３１６を、ＵＳＢケーブルでルータ３１７０を介して、入出力機器群に接続する。そして、ステップＳ４３１において、クライアント装置からインストールプログラムの実行指示がクラウドサーバ３１２０に対し行なわれる。
【０１９９】
クラウドサーバ３１２０は、ステップＳ３２０３において、クライアント装置情報を取得し、ステップＳ３２０５において、クライアント装置の能力を判定する。本例では、クラウドサーバ３１２０が実行するインストールプログラムにおいて入出力データの処理が可能か否かを判定する。以下、入出力データの処理が不可能な場合に処理を示す。
【０２００】
ステップＳ３２０７において、クラウドサーバ３１２０は、クライアント装置をパスして、直接、ルータ３１７０を介して入出力装置に能力を問い合わせる。そして、入出力機器は、ステップＳ３２０９において、直接、クラウドサーバ３１２０に応答を返す。クラウドサーバ３１２０は、ステップＳ４３５においてインストールプログラムを仮想ＰＣで実行開始した後、ステップＳ３２１１において、ＵＳＢ対応の入出力ドライバを起動する。
【０２０１】
インストールプログラムの実行中も、クラウドサ０バ３１２０は入出力機器と直接、送受信を行なう。ステップＳ３２１３においては、制御信号などによる同期が取られる。ステップＳ３２１５においては、入出力情報における同期が取られる。そして、ステップＳ３２１７において、入出力機器からクライアントによるプログラム終了指示を待つ。プログラム終了指示があるとステップＳ３２１９に進んで、終了情報が、直接、クラウドサーバ３１２０に送信される。ステップＳ３２２１におけるプログラム終了情報を受信して、インストールプログラムの実行が終了する。
【０２０２】
（通信プロトコルスタック）
図３３は、本実施形態に係る通信プロトコルスタックを示す図である。
【０２０３】
図３３において、ＵＳＢプロトコルスタック３３１０は、ＵＳＢケーブル上を入出力機器からルータ間においてやる取りされるＵＳＢパケットの基本構成である。イサーネット（登録商標）がＵＳＢパケットに付加されたプロトコルスタック３３２０は、ルータ３１７０とリクエスト元のクライアント装置間のＬＡＮ(Local Area Network)上を伝送される。そして、ＩＰ層がさらに付加されたプロトコルスタック３３３０は、リクエスト元のクライアント装置とクラウドサーバ３１２０間のＩＰネットワーク上を伝送される。
【０２０４】
このようなプロトコルスタックの構成とすることで、リクエスト元のクライアント装置の処理性能に関係なく、処理結果を出力あるいは編集可能となる。
【０２０５】
［第９実施形態］
次に、本発明の第９実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２乃至第８実施形態と比べると、クラウドサーバが、クライアント装置に代替してインストールしたプログラムの関連情報や、インストールに関連する情報の履歴を蓄積することで、他のクライアントの情報提供する点で異なる。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０２０６】
本実施形態によれば、クラウドサーバがプログラムの関連情報やインストールに関連する情報の履歴を蓄積するので、プログラムの情報及びプログラムのインストールに係る情報をクライアントで共有することができる。
【０２０７】
《情報処理システムの構成》
図３４は、本実施形態に係る情報処理システム３４００の構成を示すブロック図である。なお、図３４において、第２実施形態の図３と同様の機能構成部には同じ参照番号を付して、説明を省略する。
【０２０８】
情報処理システム３４００におけるクラウドサーバ３４２０は、クラウドサーバ３４２０がインストールして実行するプログラムの履歴をゐくせきしたインストールプログラムＤＢ３２３と関連付けた、インストール関連情報ＤＢ３４２４とプログラム感染情報ＤＢ３４２５とを有している。
【０２０９】
インストール関連情報ＤＢ３４２４は、プログラムインストール時のインストール条件や望ましいインストール方法などの情報をプログラムに対応付けて蓄積している。特に、クライアント装置からインストールの代替を依頼されたプログラムについては、クライアント装置にインストール出来なかった理由やプログラムが実行出来なかった理由の履歴が蓄積されている。一方、その後の情報として、今のクライアント装置であっても、どのようにしたらインストールやプログラム実行が可能であったのかのヒントも蓄積されている。従って、クライアント装置からアクセスすることで、あるいは、クラウドサーバ３４２０からの情報提供することで、クライアントの適切なインストール処理を支援できる。
【０２１０】
一方、プログラム感染情報ＤＢ３４２５には、インストールプログラムＤＢ３２３に蓄積されたプログラムのインストール時の感染情報や、実行中の実行履歴として、外部装置との通信や他のプログラムとのデータ転送などによる感染情報の履歴が蓄積されている。クラウドサーバ３４２０における完成情報の蓄積は、個人の経験ではなく全クライアントからの情報の集合知であるので、より視野の広い客観的な評価が可能となる。従って、クライアント装置からアクセスすることで、あるいは、クラウドサーバ３４２０からの情報提供することで、クライアントがクライアント装置への感染を未然に防ぐための適切な情報を取得できる。
【０２１１】
［他の実施形態］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されものではない。本発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【０２１２】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する制御プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされる制御プログラム、あるいはその制御プログラムを格納した媒体、その制御プログラムをダウンロードさせるＷＷＷ(World Wide Web)サーバも、本発明の範疇に含まれる。
【図１】
2013200703.tif 000003
【図２】
2013200703.tif 000004
【図３】
2013200703.tif 000005
【図４Ａ】
2013200703.tif 000006
【図４Ｂ】
2013200703.tif 000007
【図５】
2013200703.tif 000008
【図６】
2013200703.tif 000009
【図７】
2013200703.tif 000010
【図８】
2013200703.tif 000011
【図９】
2013200703.tif 000012
【図１０】
2013200703.tif 000013
【図１１Ａ】
2013200703.tif 000014
【図１１Ｂ】
2013200703.tif 000015
【図１１Ｃ】
2013200703.tif 000016
【図１２】
2013200703.tif 000017
【図１３Ａ】
2013200703.tif 000018
【図１３Ｂ】
2013200703.tif 000019
【図１４】
2013200703.tif 000020
【図１５】
2013200703.tif 000021
【図１６】
2013200703.tif 000022
【図１７Ａ】
2013200703.tif 000023
【図１７Ｂ】
2013200703.tif 000024
【図１８Ａ】
2013200703.tif 000025
【図１８Ｂ】
2013200703.tif 000026
【図１９Ａ】
2013200703.tif 000027
【図１９Ｂ】
2013200703.tif 000028
【図２０Ａ】
2013200703.tif 000029
【図２０Ｂ】
2013200703.tif 000030
【図２１】
2013200703.tif 000031
【図２２】
2013200703.tif 000032
【図２３】
2013200703.tif 000033
【図２４】
2013200703.tif 000034
【図２５】
2013200703.tif 000035
【図２６】
2013200703.tif 000036
【図２７】
2013200703.tif 000037
【図２８】
2013200703.tif 000038
【図２９】
2013200703.tif 000039
【図３０】
2013200703.tif 000040
【図３１】
2013200703.tif 000041
【図３２】
2013200703.tif 000042
【図３３】
2013200703.tif 000043
【図３４】
2013200703.tif 000044