JP6095091B2 - 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム - Google Patents

情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム Download PDF

Info

Publication number
JP6095091B2
JP6095091B2 JP2012068507A JP2012068507A JP6095091B2 JP 6095091 B2 JP6095091 B2 JP 6095091B2 JP 2012068507 A JP2012068507 A JP 2012068507A JP 2012068507 A JP2012068507 A JP 2012068507A JP 6095091 B2 JP6095091 B2 JP 6095091B2
Authority
JP
Japan
Prior art keywords
program
information processing
processing apparatus
installation
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012068507A
Other languages
English (en)
Other versions
JP2013200703A5 (ja
JP2013200703A (ja
Inventor
小林 佳和
佳和 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2012068507A priority Critical patent/JP6095091B2/ja
Application filed by NEC Corp filed Critical NEC Corp
Priority to PCT/JP2013/057634 priority patent/WO2013146410A1/ja
Priority to AU2013238101A priority patent/AU2013238101A1/en
Priority to EP13769095.4A priority patent/EP2829982A1/en
Priority to CN201380016338.XA priority patent/CN104205074A/zh
Priority to US14/387,685 priority patent/US10037200B2/en
Priority to CA 2867559 priority patent/CA2867559A1/en
Publication of JP2013200703A publication Critical patent/JP2013200703A/ja
Publication of JP2013200703A5 publication Critical patent/JP2013200703A5/ja
Application granted granted Critical
Publication of JP6095091B2 publication Critical patent/JP6095091B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Description

本発明は、取得したアプリケーションを実行できない場合に、その実行を外部装置に委託する技術に関する。
特許文献1には、シンクライアント端末と、シンクライアント端末の操作によりアプリケーションを実行するサーバとの間における、通信を効率化する技術が開示されている。
特開2005−228227号公報
ところで、プログラムによっては、クライアント(クライアント装置のユーザ)がプログラムを取得したけれども、クライアント装置にインストールできなかったり、クライアント装置で実行できなかったりするという課題がある。上記文献に記載の技術は、サーバが保有するアプリケーションを実行することで、シンクライアント装置による仮想的なアプリケーション実行を実現する技術である。シンクライアント装置自体がアプリケーションを実行することを前提とした技術ではないため、上述の課題を解決することはできなかった。
本発明の目的は、クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できるようにするという課題を解決する技術を提供することにある。
上記目的を達成するため、本発明に係るシステムは、
第1情報処理装置と第2情報処理装置とが通信接続される情報処理システムであって、
前記第1情報処理装置が実行できないプログラムを前記第2情報処理装置にインストールして実行することを、前記プログラムの購入を確認する購入情報を添付して前記第1情報処理装置から前記第2情報処理装置に依頼するインストール依頼手段と、
前記購入情報を受信した場合に、前記インストール依頼手段によって依頼された前記プログラムを前記第2情報処理装置にインストールして前記購入情報を前記第2情報処理装置に転送するプログラムインストール手段と、
前記第2情報処理装置にインストールした前記プログラムの実行と前記第1情報処理装置における前記プログラムに対する操作とを同期させる同期手段と、
を備え
前記インストール依頼手段は、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする。
上記目的を達成するため、本発明に係る方法は、
第1情報処理装置と第2情報処理装置とが通信接続される情報処理システムの情報処理方法であって、
前記第1情報処理装置が実行できないプログラムを前記第2情報処理装置にインストールして実行することを、前記プログラムの購入を確認する購入情報を添付して前記第1情報処理装置から前記第2情報処理装置に依頼するインストール依頼ステップと、
前記購入情報を受信した場合に、前記インストール依頼ステップにおいて依頼された前記プログラムを、前記第2情報処理装置にインストールして前記購入情報を前記第2情報処理装置に転送するプログラムインストールステップと、
前記第2情報処理装置にインストールした前記プログラムの実行と前記第1情報処理装置における前記プログラムに対する操作とを同期させる同期ステップと、
を含み、
前記インストール依頼ステップにおいて、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする。
上記目的を達成するため、本発明に係る第1情報処理装置は、
第1情報処理装置が実行できないプログラムを第2情報処理装置にインストールして実行するよう、前記プログラムの購入を確認する購入情報を添付して依頼するインストール依頼手段と、
前記購入情報を受信した前記第2情報処理装置にインストールされた前記プログラムの実行に、前記第1情報処理装置における前記プログラムに対する操作を同期させる同期手段と、
を備え
前記インストール依頼手段は、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする。
上記目的を達成するため、本発明に係る第1情報処理装置の制御方法は、
第1情報処理装置が実行できないプログラムを第2情報処理装置にインストールして実行するよう、前記プログラムの購入を確認する購入情報を添付して依頼するインストール依頼ステップと、
前記購入情報を受信した前記第2情報処理装置にインストールされた前記プログラムの実行に、前記第1情報処理装置における前記プログラムに対する操作を同期させる同期ステップと、
を含み、
前記インストール依頼ステップにおいて、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする。
上記目的を達成するため、本発明に係る第1情報処理装置の制御プログラムは、
第1情報処理装置が実行できないプログラムを第2情報処理装置にインストールして実行するよう、前記プログラムの購入を確認する購入情報を添付して依頼するインストール依頼ステップと、
前記購入情報を受信した前記第2情報処理装置にインストールされた前記プログラムの実行に、前記第1情報処理装置における前記プログラムに対する操作を同期させる同期ステップと、
をコンピュータに実行させる第1情報処理装置の制御プログラムであって、
前記インストール依頼ステップにおいて、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする。
本発明によれば、クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できる。
本発明の第1実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムの処理を説明する図である。 本発明の第2実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第2実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第2実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第2実施形態に係るクライアント装置の機能構成を示すブロック図である。 本発明の第2実施形態に係るクライアントDBの構成を示す図である。 本発明の第2実施形態に係るクライアント装置DBの構成を示す図である。 本発明の第2実施形態に係るインストールプログラムDBの構成を示す図である。 本発明の第2実施形態に係るクラウドサーバのハードウェア構成を示すブロック図である。 本発明の第2実施形態に係るデータ変換DBの構成を示す図である。 本発明の第2実施形態に係るプログラム実行テーブルの構成を示す図である。 本発明の第2実施形態に係るデータ変換用テーブルの構成を示す図である。 本発明の第2実施形態に係るクラウドサーバの処理手順を示すフローチャートである。 本発明の第2実施形態に係るプログラムインストール処理の処理手順を示すフローチャートである。 本発明の第2実施形態に係るインストールプログラム実行処理の処理手順を示すフローチャートである。 本発明の第2実施形態に係るクライアント装置のハードウェア構成を示すブロック図である。 本発明の第2実施形態に係るクライアント装置の自装置性能テーブルの構成を示す図である。 本発明の第2実施形態に係るクライアント装置の処理手順を示すフローチャートである。 本発明の第2実施形態に係るクラウドサーバに対するインストール操作処理の処理手順を示すフローチャートである。 本発明の第2実施形態に係るクラウドサーバに対するプログラム実行操作処理の処理手順を示すフローチャートである。 本発明の第3実施形態に係る情報処理システムの処理を説明する図である。 本発明の第3実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第4実施形態に係る情報処理システムの処理を説明する図である。 本発明の第4実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第5実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第5実施形態に係る情報処理システムの他の動作手順を示すシーケンス図である。 本発明の第5実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第5実施形態に係るプログラム処理分割テーブルの構成を示す図である。 本発明の第5実施形態に係るプログラム処理分割処理の処理手順を示フローチャートである。 本発明の第6実施形態に係る情報処理システムの構成を説明するブロック図である。 本発明の第6実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第6実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第6実施形態に係るプロトコル変換テーブルの構成を示す図である。 本発明の第7実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第7実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第7実施形態に係るシステム変更テーブルの構成を示す図である。 本発明の第8実施形態に係る情報処理システムの構成を説明するブロック図である。 本発明の第8実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第8実施形態に係る通信プロトコルスタックを示す図である。 本発明の第9実施形態に係る情報処理システムの構成を示すブロック図である。
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
本実施形態における「プログラム」との文言は、記憶媒体からあるいは通信媒体を介してコンピュータにインストールされ実行処理される、OS(オペレーションシステム)や、ドライバ、アプリケーションのプログラムと、それに使用されるDB(データベース)などのデータを含む概念として使用されている。また、本実施形態においては、「インストールプログラム」との文言は、既にインストールして実行が可能なプログラムを指すものとする。また、本実施形態では、繁雑さを避けるために「プログラムのインストール」と「インストールプログラムの実行」とを分けて説明しているが、実行できないプログラムはインストールされたとは言えず、実際には明確に分離できるものではない。また、本実施形態においては、「クライアント装置」と「クライアント」とは異なる対象を示しており、「クライアント」との文言は、「クライアント装置」を所有するユーザ、あるいは「クライアント装置」を使用するユーザを表わす。
[第1実施形態]
本発明の第1実施形態としての情報処理システム100について、図1を用いて説明する。情報処理システム100は、第1情報処理装置101と第2情報処理装置102とが通信接続されるシステムである。
図1に示すように、情報処理システム100は、インストール依頼部110と、プログラムインストール部120と、同期部130と、を含む。インストール依頼部110は、第1情報処理装置101が取得しても実行できないプログラム101aを第2情報処理装置102にインストールすることを、第1情報処理装置101から前記第2情報処理装置102に依頼する。プログラムインストール部120は、インストール依頼部110によって依頼されたプログラム101aを、第2情報処理装置102にインストールする。同期部130は、第2情報処理装置102にインストールしたプログラム101aの実行102aと第1情報処理装置101におけるプログラム101aに対する操作101bとを同期させる。
本実施形態によれば、クライアントが取得したプログラムあるいは取得するプログラムが、クライアント装置にインストールできないあるいは実行できない場合であっても、クライアントが当該プログラムの実行結果を享受できる。
[第2実施形態]
次に、本発明の第2実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、クアイアント装置がプログラムをインストールできない場合、あるいはプログラムを実行できない場合に、当該プログラムをクライアント装置からクラウドサーバ(アプリケーションサーバを含む)へプログラム送信する。そして、当該プログラムをクラウドサーバにインストールして実行する。
本実施形態によれば、クライアントが取得したがインストールできなかったあるいは実行できなかったプログラムをクラウドサーバに送信して、クラウドサーバにおいてクライアント装置と同期しながらインストールするので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的にプログラムが実行できる。
《情報処理システムの処理》
図2は、本実施形態に係る情報処理システム200の処理を説明する図である。
図2の左図は、クライアント装置210を構成する表示部211の表示画面である。表示画面には、プログラムA231を購入して、CD/DVDデバイス212の記憶媒体212aやプログラム配信サーバ230からインストールを試みたが、失敗に終わったことがメッセージ211aにより表示されている。メッセージ211aには、失敗の理由となったソフトウェア条件(OSや必要とするソフトウェアなど)やハードウェア条件(CPU能力やメモリ容量、入出力機器や通信機器の能力など)も表示されるのが望ましい。
図2の左図で、クライアント装置210により、購入したプログラムAがインストールあるいは実行できないことを報知されたクライアントは、中央図のように、クライアント装置210からプログラムAをクラウドサーバ220にインストールして実行することを依頼する。クライアント装置210の表示部211には、依頼メッセージ211bが表示されている。クラウドサーバ220へのインストール依頼には、クライアントがプログラムAを購入したことを証明するプログラム購入情報を付加して、プログラムAをクラウドサーバ220に送信する。この時に、クライアント装置210がプログラムAを保持可能であれば、クライアント装置210が保持したプログラムAを送信する。しかし、クライアント装置210がプログラムAを読み込めない場合もある。その場合には、クライアント装置210は、CD/DVDデバイス212の記憶媒体212aやプログラム配信サーバ230からのプログラムAのデッドコピーを、そのままクラウドサーバ220に送信することになる。
図2の右図は、クラウドサーバ220に送信されたプログラムA221を、クラウドサーバ220にインストール中のクライアント装置210の表示部211の表示画面の例を図示している。図2の右図では、インストールの開始手順において、クライアントにプロダクトキーの入力を要求するメッセージ211cが表示されている。なお、図2の右図はCD/DVDデバイス212の記憶媒体212aからのプログラムのインストールを例にしており、プログラム配信サーバ230からインストールの場合は異なるメッセージとなる。
図2には図示しないが、クラウドサーバ220が、プログラムAのインストールを完了した後、クライアント装置210は、仮想的にプログラムAを実行する。あるいは、クライアント装置210とは異なるクライアント装置においても、クライアント認証がされればクラウドサーバ220にインストールされたプログラムAを仮想的に実行可能である。キーボード213やポインティングデバイス214は、異なるクライアント装置であるデスクトップ型PCやノート型パPCであってもよいことを示している。
《情報処理システムの構成》
図3は、本実施形態に係る情報処理システム200の構成を示すブロック図である。
情報処理システム200は、ネットワークを介して接続された、クライアント装置311〜316と、クラウドサーバ220と、プログラム配信サーバ230とを備える。
クライアント装置311〜316は、図2のクライアント装置210に対応し、携帯端末であるクライアント装置311〜313やノート型PCであるクライアント装置314やデジタルテレビであるクライアント装置315やデスクトップ型PCであるクライアント装置316を含む。クライアント装置311〜316は、自分ではインストールあるいは実行ができない購入プログラムをクラウドサーバ220に送信して、インストールあるいは実行をクラウドサーバ220に依頼する第1情報処理装置である。
クラウドサーバ220は、クライアントを登録するクライアントDB321を有する(図7参照)。また、クラウドサーバ220は、クライアント装置311〜316の性能情報を格納するクライアント装置DB322を有する(図8参照)。また、クラウドサーバ220は、クライアント装置311〜316からの依頼を受けてインストールしたプログラムを保持するインストールプログラムDB323を有する(図9参照)。
プログラム配信サーバ230はインストールするプログラムを保持し、クライアント装置311〜316あるいはクラウドサーバ220にプログラムを配信提供する。なお、図2には、1つのプログラム配信サーバ230しか図示していないが、数に制限はない。
《情報処理システムの動作手順》
図4A及び図4Bは、本実施形態に係る情報処理システム200の動作手順を示すシーケンス図である。以下、クライアント装置311〜316は、クライアント装置311を代表させて説明する。
まず、図4Aに従って、クライアント装置311ではインストールや実行ができなかった購入プログラムの、クラウドサーバ220への仮想インストール(代替インストール)の動作手順を説明する。
ステップS401において、クライアント装置311は、DVDデバイス212やプログラム配信サーバ230から所望のプログラムのインストールを試みる。ここで、図3の左図のように、クライアント装置にプログラムのインストールあるいは実行が失敗したことが報知されたとする。そして、中央図のように、クライアントがプログラムのクラウドサーバ220へのインストールおよび実行の依頼を指示すると、ステップS403において、クライアント装置311はクラウドサーバ220へのインストールおよび実行の依頼を行なう。ステップS405において、プログラムと、クライアントIDやクライアント装置IDと共にクライアント装置の能力情報と、そして、プログラムを購入したことを証明するプログラム購入情報とが、クライアント装置311からクラウドサーバ220に送信される。
次に、クライアント装置311は、ステップS406において、インストールに失敗した、あるいはインスロール後に実行できなかったプログラムをクライアント装置311から消去する。かかる消去をクライアント装置において自動的に行なうことで、クライアントがプログラムを探して消去するという煩わしい操作から解放される。クライアントは、クライアント装置に表示された依頼用ボタンをクリック(タッチ)するのみで、後の処理は自動的に行なわれることになる。また、ライセンスを追加せずにサーバにプログラムをインストールすることが可能となる。
クラウドサーバ220では、ステップS407において、クライアント装置311から受信したプログラムの仮想PCでのインストールを開始する。そして、ステップS409において、インストール処理手順を実行する。プログラムインストール処理の中で、例えば図2の右図に示したようにクライアントのプロダクトキー入力が必要であれば、ステップS411においてクライアント指示あるいは入力を問い合わせる。ステップS413において、問い合わせ画面がクラウドサーバ220からクライアント装置311に送信される。
ステップS415において、クライアント装置311は、受信した問い合わせ画面を表示する。なお、この問い合わせ画面は、必要であればクラウドサーバ220がクライアント装置311の出力能力に合わせたプロトコルおよび画面データに変換する。例えば、クライアント装置311が前世代の装置である場合や、一方、プログラムが旧世代のプログラムである場合などには、変換が必須である。ステップS417において、クライアント装置311は、クライアントの問い合わせ画面への応答入力を取得する。そして、クライアント装置311は、ステップS419において、取得した応答入力のデータをクラウドサーバ220に送信する。
クラウドサーバ220は、ステップS421において、クライアント装置311からの応答データを受信する。なお、この受信処理においても、必要であればクラウドサーバ220がクライアント装置311の入力能力に基づいて、クラウドサーバ220やプログラムのプロトコルおよび入力データに合うように変換する。
以上のように、インストール処理手順に合わせて、上記クラウドサーバ220とクライアント装置311とがやり取りをしながらインストールを進める。そして、ステップS423において、インストールの完了を判定する。インストール完了でなければ、ステップS409に戻って、インストール処理手順を進める。インストール完了であればステップS425に進んで、インストール完了をクライアント装置311に通知する。
ステップS427において、クラウドサーバ220からクライアント装置311に送信されたインストール完了情報は、ステップS429において、クライアント装置311に表示される。これで、プログラムのクラウドサーバ220への仮想インストール(代替インストール)が完了する。
次に、図4Bを参照して、クラウドサーバ220に仮想インストールされたプログラムを実行する動作手順を説明する。
ステップS431において、クライアント装置311は、インストールプログラムの実行を指示する。なお、他のクライアント装置312〜316であってもよい。ステップS433においては、プログラム開始指示が、クライアント装置IDおよびクライアントIDと共に、クライアント装置311からクラウドサーバ220に送信される。
クラウドサーバ220は、ステップS435において、クライアントを認証した上で、インストールプログラムを仮想PCで実行開始する。そして、ステップS437において、プログラム処理手順を実行する。
プログラム実行処理の中に、クライアントへの問い合わせやクライアント装置へのデータ出力が必要であれば、ステップS439において、クライアントへの問い合わせやクライアント装置へのデータ出力を行なう。ステップS441において、問い合わせあるいは出力データがクラウドサーバ220からクライアント装置311に送信される。問い合わせあるいは出力データを受信したクライアント装置311は、ステップS443において、問い合わせを表示したり、データを出力したりする。なお、この問い合わせ画面や出力データでは、インストール時と同様に、必要であればクラウドサーバ220がクライアント装置311の出力能力に合わせたプロトコルおよび画面データ、出力データに変換する。
また、プログラム実行処理の中に、クライアントからの問い合わせへの応答やクライアント装置からのデータ入力が必要であれば、ステップS445において、クライアント装置311は、問い合わせへの応答や入力データを取得する。そして、ステップS447において、問い合わせへの応答あるいは入力データがクライアント装置311からクラウドサーバ220に送信される。問い合わせへの応答あるいは入力データを受信したクラウドサーバ220は、ステップS449において、応答データを受信あるいは入力データを受信する。なお、この受信処理においても、必要であればクラウドサーバ220がクライアント装置311の入力能力に基づいて、クラウドサーバ220やインストールプログラムのプロトコルおよび入力データに合うように変換する。
以上のように、プログラム処理手順に合わせて、上記クラウドサーバ220とクライアント装置311とがやり取りをしながらインストールを進める。そして、ステップS451において、プログラムの実行終了を判定する。実行終了でなければ、ステップS437に戻って、プログラム実行手順を進める。実行終了であればステップS453に進んで、実行終了をクライアント装置311に通知する。
ステップS455において、クラウドサーバ220からクライアント装置311に送信された処理結果は、ステップS457において、クライアント装置311に出力される。なお、この出力処理においても、必要であればクラウドサーバ220がクライアント装置311の出力能力に基づいて、クラウドサーバ220やインストールプログラムのプロトコルおよびデータをクライアント装置311に合うように変換する。これで、プログラムのクラウドサーバ220への仮想実行処理(いわゆる、仮想アプリケーション)が終了する。
なお、本実施形態における「インストール処理」は、プログラムを実際にロードする処理と共に、既にインストールされているがアクティベートされていないプログラムを、代替インストール依頼に応答してアクティベートさせる処理も含むものである。この場合のプログラムの購入ライセンスの問題については、アクティベートによってカウントアップすることで対処可能である。かかる処理の場合には、図4AのステップS405〜S429の処理は省略可能である。
このように、本実施形態においては、クラウドサーバ220にプログラムのインストールを依頼すれば、所望の時刻にどのクライアント装置からでもインストールプログラムを実行して処理結果を取得できる。
《クラウドサーバの機能構成》
図5は、本実施形態に係るクラウドサーバ220の機能構成を示すブロック図である。
クラウドサーバ220は、ネットワーク340を介して他のサーバやクライアント装置と通信する通信制御部510を有する。リクエスト分析部520は、通信制御部510が受信したクライアント装置からのリクエストを分析する。本例では、クライアント装置からの、プログラムのインストールやインストールプログラムの実行を依頼するリクエストを分析する。
クライアント登録/認証/判別部530は、リクエストに含まれるクライアント情報をクライアントDB321に登録したり、クライアントDB321を参照して認証情報に基づく認証やクライアントの判定をしたりする。その結果、クライアント装置からのプログラムのインストールやインストールプログラムの実行の依頼受付をする。
クライアント装置登録部540は、リクエストに含まれるクライアント装置の能力を含むクライアント装置情報をクライアント装置DB322に登録する。プログラム登録部550は、リクエストに含まれるクライアント装置からインストールを依頼され送信されたプログラムをプログラム受信し、クライアントIDに対応付けてインストールプログラムDB323に登録する。
インストール実行部560は、リクエストに含まれるクライアントのインストール依頼を受けて、クラウドサーバ220へのクライアント装置から送信されたプログラムのインストールを実行する。ここで、送信データ変換部580および受信データ変換部590は、インストール処理手順中のクライアントへの問い合わせ/応答時に、クライアント装置の入出力データをクラウドサーバ220内のプログラムの入出力データに変換する。
インストールプログラム実行部570は、リクエストに含まれるクライアントのインストールプログラムの実行依頼を受けて、クラウドサーバ220におけるインストールプログラムの実行を行なう。ここでも、送信データ変換部580および受信データ変換部590は、インストールプログラム実行手順中のクライアントへの問い合わせ/応答時に、また。データ出力やデータ入力において、クライアント装置の入出力データをクラウドサーバ220内のインストールプログラムの入出力データに変換する。
《クライアント装置の機能構成》
図6は、本実施形態に係るクライアント装置311〜316の機能構成を示すブロック図である。
クライアント装置311〜316は、タッチパネルやキーボードなどからなる操作部610と、情報をクライアントに出力する出力部670として表示部671や音声出力部672と、クライアントが情報を入力する入力部640としてデータ入力部641や音声入力部642とを有する。
操作部610から入力されたクライアントの指示は、リクエスト送信部620に送られる。リクエスト送信部620では、クライアントによるプログラムのインストール依頼、あるいはインストールプログラムの実行依頼を受けて、それぞれ対応するリクエストメッセージを生成して、通信制御部630を介してクラウドサーバ220に送信する。リクエストメッセージには、クライアントIDやクライアント装置IDやプログラム購入情報、プログラムデータなどの必要情報が付与される。
送信データ生成部は、入力部640から入力されたデータを送信データに変換して、通信制御部630を介してクラウドサーバ220に送信する。受信データ取得部は、通信制御部630を介してクラウドサーバ220から受信した受信データを取得して、出力部670に出力できる出力データに変換する。
(クライアントDB)
図7は、本実施形態に係るクライアントDB321の構成を示す図である。なお、図7のクライアントDB321の構成は一例であって、これに限定されない。
クライアントDB321は、クライアント情報を記憶するクライアント情報DB710と、クライアントの契約レベルを保持する契約レベルDB720とを有する。
クライアント情報DB710は、クライアントID711に対応付けて、パスワードや認証IDなどの認証情報712と、クライアントのクラウドサーバ220におけるサービスレベルでもある契約レベル713とを記憶する。
契約レベルDB720は、契約レベル721に対応付けて、その内容である、仮想アプリケーション実行722、プログラムの仮想インストール723、仮想PC構築724、プログラム/データの保存期間725を記憶する。ここで、○印はそのサービスが提供されることを示し、×はそのサービスが提供されないことを示す。
(クライアント装置DB)
図8は、本実施形態に係るクライアント装置DB322の構成を示す図である。なお、図8のクライアント装置DB322の構成は一例であって、これに限定されない。
クライアント装置DB322は、クライアント装置ID801に対応付けて、そのクライアント装置を構成する構成要素であるシステム機器802を記憶する。システム機器802には、入出力機器などの装置や、CPUやメモリなどの部品なども含まれる。
各システム機器802に対応付けて、メーカ803。機種804、ハードウェア性能805、ソフトウェア性能806、取扱可能データ807を記憶する。これらの情報は、クラウドサーバ220が、クライアント装置と通信する場合の通信プロトコルや、データを入出力する場合のコマンド体系やデータフォーマットなどを、クライアント装置に合わせて変換するために使用される。
(インストールプログラムDB)
図9は、本実施形態に係るインストールプログラムDB323の構成を示す図である。なお、図9のインストールプログラムDB323の構成は一例であって、これに限定されない。
インストールプログラムDB323は、インストールプログラムID901に対応付けて、インストールプログラムデータ902、プログラムに所有権を有するクライアントID903、プログラム提供者904、購入契約済フラグ905、インストール日時906、保存期間907を記憶する。なお、プログラム提供者904は、プログラム配信サーバ230であってもよい。
《クラウドサーバのハードウェア構成》
図10は、本実施形態に係るクラウドサーバ220のハードウェア構成を示すブロック図である。
図10で、CPU1010は演算制御用のプロセッサであり、プログラムを実行することで図5のクラウドサーバ220の各機能構成部を実現する。ROM1020は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部510は通信制御部であり、本実施形態においては、ネットワーク340を介してクライアント装置311〜316やプログラム配信サーバ230と通信する。なお、CPU1010は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPU(Graphics Processing Unit)を含んでもよい。
RAM1040は、CPU1010が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM1040には、本実施形態の実現に必要なデータを記憶する領域が確保されている。クライアント装置ID1041は、通信中のクライアント装置の識別子である。クライアント装置情報1042は、通信中のクライアント装置およびそれを構成する機器の能力情報を含む情報である。クライアントID/認証情報1143は、プログラムのインストールあるいはインストールプログラムの実行を依頼したクライアントのクライアントIDと認証情報のデータである。プログラム1044は、クライアントからインストールを依頼されたプログラムである。プログラム購入情報1045は、クライアントがプログラム1044を購入していることを証明する情報である。プログラム実行テーブル1046は、インストールプログラムを実行する時にその実行を管理するためのテーブルである。データ変換用テーブル1047は、本クラウドサーバ220と通信中のクライアント装置間のプロトコルやデータフォーマットなどの違いを調整するためのテーブルである。インストール用送受信データ1048は、プログラムをインストール中にクライアント装置と送受信するデータである。インストールプログラム用送受信データ1049は、インストールプログラムを実行中にクライアント装置と送受信するデータである。
ストレージ1050には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。クライアントDB321は、図7に示したデータベースである。クライアント装置DB322は、図8に示したデータベースである。インストールプログラムDB323は、図9に示したデータベースである。データ変換DB1051は、通信する装置間のプロトコルやデータフォーマットなどの変換を、装置の組合せに対応付けて格納するデータベースである。
ストレージ1050には、以下のプログラムが格納される。クラウドサーバ制御プログラム1052は、本クラウドサーバ220の全体を制御するプログラムである。プログラムインストール制御モジュール1053は、クラウドサーバ制御プログラム1052において、クライアントが依頼したクライアント所有のプログラムを本クラウドサーバ220へインストールするためのモジュールである(図13A参照)。インストールプログラム実行モジュール1054は、クラウドサーバ制御プログラム1052において、クライアント装置に代わって仮想的にインストールプログラムを実行するモジュールである(図13B参照)。クライアント装置用データ変換モジュール1055は、クラウドサーバ制御プログラム1052において、プログラムのインストール中およびインストールプログラムの実行中に、クライアント装置と本クラウドサーバ220との間の情報交換を加納にするプロトコル変換/データ変換のためのモジュールである。
なお、図10には、本実施形態に必須なデータやプログラムのみが示されており、本実施形態に関連しないデータやプログラムは図示されていない。
(データ変換DB)
図11Aは、本実施形態に係るデータ変換DB1051の構成を示す図である。
データ変換DB1051は、第1装置1101と第2装置1102との組み合わせに対応付けて、データ変換のためのデータ変換テーブル1103とプロトコル変換のためのプロトコル変換テーブル1104とを記憶する。
(プログラム実行テーブル)
図11Bは、本実施形態に係るプログラム実行テーブル1046の構成を示す図である。
プログラム実行テーブル1046は、インストールプログラムID1111とクライアントID1112とに対応付けて、現在使用中のクライアント装置ID1113、実行の開始時間1114および終了時間1115、実行中か待機中が中断かなどのプログラムの状況1116を記憶する。
(データ変換用テーブル)
図11Cは、本実施形態に係るデータ変換用テーブル1047の構成を示す図である。
データ変換用テーブル1047は、インストールプログラムとクライアント装置を構成する入出力機器との間でデータ変換が必要か否かを記憶する変換要否テーブル1120と、使用するデータ変換テーブルを記憶する変換データテーブル1130とを有する。変換要否テーブル1120は、インストールプログラムID1121に対応して、通信中のクライアント装置を構成する入出力機器1122を記憶する。そして、入出力機器1122に対応する入出力データ1123と、その組合せ結果から判定したデータ変換要否1124とを記憶する。変換データテーブル1130は、クライアント装置の入出力データ1131とインストールプログラムの使用データ1132との組合せからデータ変換DB1051を参照して判定された使用するデータ変換テーブル1133を記憶する。
なお、図11Cにおいては、インストールプログラムについて説明したが、インストール前のプログラムにおいても、クライアント装置との間でデータ変換が必要な場合は同様にデータ変換用テーブル1047が使用される。
《クラウドサーバの処理手順》
図12は、本実施形態に係るクラウドサーバ220の処理手順を示すフローチャートである。このフローチャートは、図10のCPU1010がRAM1040を使用して実行し、図5の機能構成部を実現する。
まず、ステップS1211において、プログラムのインストール指示をクライアント装置から受信したか否かを判定する。また、ステップS1231において、インストールプログラムの実行をクライアント装置から受信したか否かを判定する。
プログラムのインストール指示であればステップS1213に進んで、クライアント情報を取得する。ステップS1215においては、取得したクライアント情報に含まれるプログラム購入情報からインストール指示されたプログラムをクライアントが所有するかを確認する。すなわち、クライアントがプログラムを購入済みかのデータを確認する。所有の確認ができなければ、プログラムをインストールせずに処理を終了する。
クライアントの所有が確認できればステップS1217に進んで、インストールするプログラムをクライアント装置から受信する。続いて、ステップS1219において、クライアント装置の能力を取得する。なお、クライアント情報、プログラム、クライアント装置の能力は、同時に1つのメッセージでクライアント装置から受信してもよい。次に、ステップS1221において、プログラムインストール処理を実行する(図13A参照)。プログラムインストールが完了すると、ステップS1223において、インストール完了通知あるいはエラー通知をクライアント装置に送信して、インストール処理を終了する。
一方、インストールプログラムの実行指示であればステップS1233に進んで、クライアント情報を取得する。ステップS1235においては、取得したクライアント情報に含まれるクライアント認証情報からクライアントを認証する。クライアント認証ができなければ、インストールプログラムを実行せずに処理を終了する。
クライアント認証ができればステップS1237に進んで、クライアント装置の能力を取得する。なお、クライアント情報、クライアント装置の能力は、同時に1つのメッセージでクライアント装置から受信してもよい。次に、ステップS1239において、インストールプログラム実行処理を実行する(図13B参照)。インストールプログラムの実行が終了すると、ステップS1241において、実行結果をクライアント装置に送信して、インストールプログラムの実行処理を終了する。
(プログラムインストール処理)
図13Aは、本実施形態に係るプログラムインストール処理S1221の処理手順を示すフローチャートである。本実施形態においては、プログラムインストールの手順中、クライアント装置を操作するクライアントは、あたかもクライアント装置にインストールしているかのように操作手順を行なう。すなわち、本実施形態では、クラウドサーバ220にインストール処理を全て投げてしまうことはない。
なお、図13Aは、プログラムのインストール処理の初期手順のみを示すが、その説明のみで本実施形態の特徴的処理を表わしているので、以降の手順は省略している。また、図13Aにおいては、クラウドサーバ220とクライアント装置との間でテータ変換が必要な場合のステップを破線で図示している。データ変換をしなくてもデータ交換が可能な場合には破線で図示したステップのデータ変換はスキップする。
まず、ステップS1311において、クライアント装置を操作するクライアントがインストールの開始を指示するための問い合わせ画面を送信する。その場合に、データ変換が必要であれば、ステップS1313において、問い合わせ画面をデータ変化して送信する。ステップS1315において、クライアントの応答を待って、応答がなければステップS1335においてインストールエラーを記憶する。
クライアント装置からインストール開始の指示応答があればステップS1319に進んで、プログラムのインストールを開始する。この場合にも、データ変換が必要であれば、ステップS1317において、応答データを変換してプログラムが解析可能なデータとする。次に、CD/DVDからのプログラムのインストールであれば、ステップS1321において、クライアントによるプロダクトキーの入力をクライアント装置に要求する。この場合も、データ変換が必要であれば、ステップS1323において、プロダクトキー要求画面をデータ変化して送信する。ステップS1325において、クライアントによるプロダクトキーの入力を受信するのを待って、受信するとステップS1329において、プロダクトキーがインストールするプログラムに付随するプロダクトキーと対応するかを判定する。この場合にも、データ変換が必要であれば、ステップS1327において、応答データを変換してプログラムが解析可能なデータとする。
ステップS1329の判定でプロダクトキーが対応しなければ、ステップS1333においてインストールエラーをクライアント装置に送信する。ステップS1329の判定でプロダクトキーが対応すれば、インストール手順の次に進む。前述のように、この先のインストール手順は省略する。ステップS1331においては、インストールの完了か否かを判定する。完了すれば、ステップS1333において、インストール完了を記憶してリターンする。
(インストールプログラム実行処理)
図13Bは、本実施形態に係るインストールプログラム実行処理S1239の処理手順を示すフローチャートである。本実施形態においては、インストールプログラム実行の手順中、クライアント装置からのクライアントの操作が必要な場合、あるいは、クライアント装置とのデータ交換がある場合、あたかもクライアントはクライアント装置に操作しているかのように処理する。なお、図13Aと同様に、図13Bにおいては、クラウドサーバ220とクライアント装置との間でテータ変換が必要な場合のステップを破線で図示している。データ変換をしなくてもデータ交換が可能な場合には破線で図示したステップのデータ変換はスキップする。
まず、ステップS1330において、インストールプログラムの実行を開始する。そして、ステップS1341においては、クライアントへの問い合わせがあるか否かを判定する。また、ステップS1351においては、クライアント装置へのデータ出力を要するか否かを判定する。また、ステップS1361においては、クライアント装置からのデータ入力を要するか否かを判定する。
インストールプログラムからクライアントへの問い合わせがある場合は、ステップS1343において問い合わせをクライアント装置に送信して、ステップS1345において、クライアント装置の応答を待つ。データ変換が必要な場合は、ステップS1343においてデータ変換してクライアント装置に送信する。問い合わせへの応答があればステップS1347において応答を取得する。この場合も、データ変換が必要な場合は、ステップS1347においてデータ変換して取得する。
インストールプログラムからクライアント装置へのデータ出力があればステップS1353に進んで、クライアント装置にデータを出力する。データ変換が必要な場合は、ステップS1353においてデータ変換してクライアント装置に送信する。
インストールプログラムからクライアント装置へのデータ入力要請があればステップS1363に進んで、クライアント装置にデータ入力指示を送信する。データ変換が必要な場合は、ステップS1363においてデータ変換してクライアント装置に送信する。ステップS1365においてクライアント装置からのデータ入力を待って、データ入力があればステップS1367において入力データを取得する。この場合も、データ変換が必要な場合は、ステップS1367においてデータ変換して取得する。
《クライアント装置のハードウェア構成》
図14は、本実施形態に係るクライアント装置311〜316のハードウェア構成を示すブロック図である。
図14で、CPU1410は演算制御用のプロセッサであり、プログラムを実行することで図6のクライアント装置311〜316の各機能構成部を実現する。ROM1420は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部630は通信制御部であり、本実施形態においては、ネットワークを介してクラウドサーバ220と通信する。なお、CPU1410は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPUを含んでもよい。
RAM1440は、CPU1410が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM1440には、本実施形態の実現に必要なデータを記憶する領域が確保されている。自装置ID1441は、自クライアント装置の識別子である。自装置情報1442は、自装置の構成や性能などの情報である。クライアントID/認証情報1443は、クライアントが入力したクライアントIDおよび認証情報のデータである。プログラム1444は、クラウドサーバ220にインストールを依頼するプログラムである。プログラム購入情報1445は、クライアントがプログラム1444を既に購入したことを証明する情報である。入出力データ1446は、入出力インタフェース1460を介して入出力される入出力データを示す。送受信データ1447は、通信制御部630を介して送受信される送受信データを示す。
ストレージ1450には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。自装置性能テーブル1451は、自装置を構成する構成要素の性能を記憶するテーブルである(図15参照)。また、プログラム1452は、このクライアント装置がインストールしたいプログラムを読み込みことができる場合に、記憶したプログラムである。ストレージ1450には、以下のプログラムが格納される。クライアント装置制御プログラム1453は、本クライアント装置311〜316の全体を制御する制御プログラムである。インストール判定モジュール1454は、クライアント装置制御プログラム1453において、自装置にプログラムがインストールできたか/あるいはできるかを判定するモジュールである。インストール依頼モジュール1455は、クライアント装置制御プログラム1453において、クラウドサーバ220にプログラムのインストールを依頼するモジュールである。データ入出力制御モジュール1456は、入出力インタフェース1460を介する入出力機器のデータ入出力を制御するモジュールである。
入出力インタフェース1460は、入出力機器との入出力データをインタフェースする。入出力インタフェース1460には、タッチパネル、マイク。カメラ、GPS(Global Positioning System)位置生成部などの入力部640が接続される。また、入出力インタフェース1460には、表示部やスピーカなどの出力部670が接続される。さらに、入出力インタフェース1460には、インストールするプログラムを格納した記憶媒体212aからプログラムを呼び出すDVDデバイス212が接続される。
なお、図14には、本実施形態に必須なデータやプログラムのみが示されており、本実施形態に関連しないデータやプログラムは図示されていない。
(クライアント装置性能テーブル)
図15は、本実施形態に係るクライアント装置311〜316の自装置性能テーブル1451の構成を示す図である。
自装置性能テーブル1451は、性能として自装置の動作条件を示す動作条件テーブル1510と、自装置を構成する各機器の性能を示す機器性能テーブル1520とを有する。動作条件テーブル1510は、各項目1511についての性能データ1512を記憶する。また、機器性能テーブル1520は、各機器1521に対応付けて、メーカ1522、機種やバージョン1523、性能データ1524を記憶する。
《クライアント装置の処理手順》
図16は、本実施形態に係るクライアント装置311〜316の処理手順を示すフローチャートである。このフローチャートは、図14のCPU1410がRAM1440を使用して実行し、図6の機能構成部を実現する。
まず、ステップS1611において、所望プログラムのインストール開始か否かを判定する。また、ステップS1631においては、インストールプログラムの実行指示か否かを判定する。
所望プログラムのインストール開始であればステップS1613に進んで、インストールが可能であるか否かが判定される。インストールが可能であればステップS1615に進んで、自装置でインストール処理を実行する。
インストール不可であればステップS1617に進んで、インストール不可であることをクライアントに報知する(図2の左図参照)。続いて、ステップS1619において、クライアントがインストール不可のプログラムのインストールをクラウドサーバ220に依頼する操作をしたか否かを判定する(図2の中央図参照)。クライアントが依頼操作をしなかった場合は処理を終了する。
クライアントがクラウドサーバ220でのインストールを依頼するとステップS1621に進んで、プログラムの購入を証明するプログラム購入情報をクラウドサーバ220に送信する。そして、インストールを依頼するプログラムを送信する。なお、プログラム購入情報とプログラムとは、1つのメッセージで送信してもよい。そして、ステップS1625において、クラウドサーバ220に対してインストートに必要な操作処理を行なう(図17A参照)。なお、クラウドサーバ220がクライアント装置からのクライアントの操作無しに自動インストール処理を行なう場合には、ステップS1625はスキップされる。
インストールプログラムの実行指示であればステップS1633に進んで、クライアナトIDおよびクライアントの認証情報をクラウドサーバ220に送信する。そして、ステップS1635において、クラウドサーバ220に対してインストールプログラム実行に必要な操作処理を行なう(図17B参照)。なお、クラウドサーバ220がクライアント装置からのクライアントの操作無しに自動プログラム実行処理を行なう場合には、ステップS1635はスキップされる。
(インストール操作処理)
図17Aは、本実施形態に係るクラウドサーバに対するインストール操作処理S1625の処理手順を示すフローチャートである。
ステップS1711において、クラウドサーバ220から問い合わせの受信を待つ。問い合わせの受信があればステップS1713に進んで、表示部671に問い合わせを表示する(図2の右図参照)。ステップS1715においては、問い合わせに対するクライアントの応答入力を待つ。クライアントの応答入力があればステップS1717に進んで、応答入力をクラウドサーバ220に送信する。以降、必要な問い合わせ/応答を繰り返すが、図17Aでは省略する。
そして、ステップS1719において、クラウドサーバ220からのインストール完了通知を待つ。インストール完了通知の受信があればステップS1721に進んで、インストール完了を表示部671に表示する。
なお、ステップS1713とS1721においては、音声出力を行なってもよい。
(プログラム実行操作処理)
図17Bは、本実施形態に係るクラウドサーバに対するプログラム実行操作処理S1635の処理手順を示すフローチャートである。
まず、ステップS1731において、クラウドサーバ220からのインストールプログラム実行中の問い合わせ受信か否かを判定する。また、ステップS1741においては、クラウドサーバ220からクライアント装置への出力データの受信か否かを判定する。また、ステップS1751においては、クラウドサーバ220からの入力データの要求であれか否かを判定する。
問い合わせの受信があればステップS1733に進んで、表示部671に問い合わせを表示する。ステップS1735においては、問い合わせに対するクライアントの応答入力を待つ。クライアントの応答入力があればステップS1737に進んで、応答入力をクラウドサーバ220に送信する。なお、ステップS1733においては、音声出力を行なってもよい。
クラウドサーバ220からの出力データを受信するとステップS7431に進んで、出力データをクライアント装置に接続された出力部670に出力する。
クラウドサーバ220からの入力データ要求であればステップS1753に進んで、表示部671に入力データ要求を表示する。ステップS1755においては、入力データ要求に対するクライアントの入力操作を待つ。クライアントの入力操作があればステップS1757に進んで、入力部640からの入力データをクラウドサーバ220に送信する。なお、ステップS1753においては、音声出力を行なってもよい。
[第3実施形態]
次に、本発明の第3実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態と比べると、クライアント装置からクラウドサーバにプログラムを送信するのでなく、クライアントが購入契約しようとするプログラムを直接、クラウドサーバにインストールして実行する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、クライアントが取得したがインストールできそうにないあるいは実行できそうにないプログラムを、クラウドサーバによって代替配信させてインストールするので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的に実行できる。
(情報処理システムの処理)
図18Aは、本実施形態に係る情報処理システム1800の処理を説明する図である。なお、第2実施形態の図2と同様の構成要素には同じ参照番号を付して、説明を省略する。
図18Aの左図は、クライアント装置210を構成する表示部211の表示画面である。表示画面には、プログラムAをインストールして実行するための条件メッセージ1811が、プログラムA231を配信するプログラム配信サーバ230から送信されて表示されている。条件メッセージ1811には、ソフトウェア条件(OSや必要とするソフトウェアなど)やハードウェア条件(CPU能力やメモリ容量、入出力機器や通信機器の能力など)が表示される。なお、クライアントは、インストールおよび実行の条件を、プログラム配信サーバ230からでなく他の媒体を介して得ることも可能である。
図18Aの左図で、クライアント装置210によりプログラムAがインストールあるいは実行できないことを認知したクライアントは、中央図のように、クライアント装置210からプログラムAをクラウドサーバ220にインストールして実行することを依頼する。クライアント装置210の表示部211には、依頼メッセージ1812が表示されている。
ところで、本実施形態のインストール依頼の場合、第2実施形態のように、クライアント装置210がインストールするプログラムを取得していないので、プログラムはプログラム配信サーバ230からクラウドサーバ220にダウンロードすることになる。したがって、クライアントがプログラムAを購入する情報をプログラム配信サーバ230に通知する必要がある。本実施形態においては、クライアント装置210からクラウドサーバ1820を経由してプログラムAを購入することにより、クラウドサーバ1820にプログラムAがインストールされる。
そこで、クラウドサーバ1820へのインストール依頼には、クライアントがプログラムAを購入することを許諾したクライアント許諾情報と、例えばクレジッドカードNo.などの購入を証明するプログラム購入情報とを、クライアント装置210からクラウドサーバ1820に送信する。クラウドサーバ1820は、クライアント装置210から受信したクライアント許諾情報とプログラム購入情報とを、クラウドサーバ1820を契約相手としてプログラム配信サーバ230に送信する。これに対して、プログラム配信サーバ230からのプログラムAのクラウドサーバ1820へのインストールが実現される。
図18Aの右図は、クラウドサーバ1820にインストールされたプログラムA1821の実行開始時の、クライアント装置210の表示部211の表示画面の例を図示している。図18Aの右図では、インストールされたプログラムAの実行開始手順において、クライアントにクライアントIDとマスワードとの入力を要求するメッセージ1813が表示されている。なお、クライアント装置210とは異なるクライアント装置においても、クライアント認証がされればクラウドサーバ220にインストールされたプログラムAを実行可能である。キーボード213やポインティングデバイス214は、異なるクライアント装置であるデスクトップ型PCやノート型パPCであってもよいことを示している。
(情報処理システムの動作手順)
図18Bは、本実施形態に係る情報処理システム1800の動作手順を示すシーケンス図である。なお、図18Bにおいて、第2実施形態の図4と同様の手順には同じステップ番号を付して、説明は省略する。
まず、ステップS1801において、クライアント装置からプログラム配信サーバ230に所望のプログラムについて、そのインストール条件を問い合わせる。ステップS1803において、当合わせを受信したプログラム配信サーバ230は、ステップS1805において、所望プログラムのインストール条件を送信する。ステップS1807においてインストール条件を受信したクライアント装置は、ステップS1809において、受信したインストール条件を表示する。
クライアントは、クライアント装置に表示された所望プログラムのインストール条件を見て、当該クライアント装置ではインストールが無理だと判断すると、ステップS1811において、クラウドサーバ1820に代替インストールを依頼する。クラウドサーバ1820への代替インストール依頼には、ステップS1813のように、クライアント情報、クライアント装置情報、クライアントの所望プログラムとプログラム購入意志とを含むプログラム情報が含まれる。クラウドサーバ1820は、ステップS1815において、受信したクライアント情報によりクライアントを認証すると、ステップS1817において、プログラム配信サーバ230にプログラムのインストールを要請する。プログラムのインストール要請には、クライアント情報、プログラム情報、そして、インストール依頼元としてクラウドサーバアドレスが含まれる。
プログラム配信サーバ230では、ステップS1819において、クラウドサーバ1820から受信したクライアント情報からクライアントを認識する。そして、クライアント認証ができれば、ステップS1821において、プログラム情報に対応するプログラムにインストールを開始する。ここで、プログラムのインストール先はクラウドサーバ1820であり、インストール手順において操作を行なうのはクライアント装置のクライアントである。
クラウドサーバ1820は、ステップS1823においてプログラム配信サーバ230からインストール開始を指示され、ステップS407において当該プログラムをクラウドサーバ1820の仮想PCに対しインストールを開始する。そして、ステップS1825、S1827、S409において、インストール処理手順が、プログラム配信サーバ230とクラウドサーバ1820との間で順次に進行する。
そのインストール処理手順の進行中に、プログラム配信サーバ230からクライアントに、プログラム購入契約を含む問い合わせがある場合には、ステップS1829において、問い合わせをクラウドサーバ1820に送信する。問い合わせは、ステップS1831のように、クラウドサーバ1820を経由してクライアント装置に送信され、表示される。ステップS417におけるその問い合わせに対する応答も、ステップS1833のように、クラウドサ0バ1820を経由してプログラム配信サーバ230に送信される。プログラム配信サーバ230は、ステップS1835において、クライアント装置からのクライアントの応答を受信する。そして、次のインストール手順に進む。
ステップS1837においては、プログラム配信サーバ230がインストール完了か否かを判定する。インストール完了でなければステップS1825に戻って、次のインストール手順に進む。インストール完了であればステップS2839において、インストール完了通知をクラウドサーバ1820に送信する。インストール完了通知は、ステップS1841のように、クラウドサーバ1820を経由してクライアント装置に送信される。クライアント装置では、ステップS429において、インストール完了を表示してクライアントに報知する。
[第4実施形態]
次に、本発明の第4実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第3実施形態と比べると、クライアントが購入契約したプログラムをクラウドサーバに譲渡して、クラウドサーバにインストールして実行する点で異なる。その他の構成および動作は、第および第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、クライアントが取得したがインストールできそうにないあるいは実行できそうにないプログラムを、クラウドサーバにインストールするように契約譲渡するので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的に実行できる。
(情報処理システムの処理)
図19Aは、本実施形態に係る情報処理システムの処理を説明する図である。なお、図19Aの処理において、第3実施形態の図18Aと同様の処理には同じ参照番号を付して、説明を省略する。
図19Aの左図は、図18Aの左図と同様である。図19Aの左図で、クライアント装置210によりプログラムAがインストールあるいは実行できないことを認知したクライアントは、中央図のように、クライアント装置210からプログラムAをクラウドサーバ220にインストールして実行することを依頼する。クライアント装置210の表示部211には、依頼メッセージ1912が表示されている。
本実施形態においても、第3実施形態と同様に、クライアントがプログラムAを購入する情報をプログラム配信サーバ230に通知する必要がある。本実施形態においては、クライアント装置210とプログラム配信サーバ230との間で、あらかじめプログラム購入契約を行ない。その購入契約情報を、クライアントがクライアント装置からクラウドサーバ1920を経由してプログラム配信サーバ230に送信することで、クラウドサーバ1920へのプログラムのインストールを実現する。そのため、図19Aの中央図のように、クライアント装置210は、プログラム配信サーバ230と所望プログラムの購入契約を交わす。その後、その購入契約情報を、クラウドサーバ1920を経由してプログラム配信サーバ230に送信することで、クラウドサーバ1920へのプログラムのインストールを実現する。
図19Aの右図は、クラウドサーバ1820にインストールされたプログラムA1821の実行開始時の、クライアント装置210の表示部211の表示画面の例を図示しており、図18Aの右図と同様である。
(情報処理システムの動作手順)
図19Bは、本実施形態に係る情報処理システムの動作手順を示すシーケンス図である。なお、図19Bにおいて、第2実施形態の図4あるいは第3実施形態の図18Bと同様の手順には同じステップ番号を付して、説明は省略する。また、本実施形態のインストール手順処理は、第3実施形態の図18Bと同様であるので、図19Bには、インストール開始までの手順を示し、以降は省略する。
ステップS1801〜S1809は、図19Aの左図に対応する、インストール条件の問い合わせ処理である。
ステップS1901とS1903において、クライアントはクライアント装置を操作してプログラム配信サーバ230と、所望プログラムの購入契約を交わす。そして、クライアントは、プログラム購入契約情報を取得する。
クライアント装置は、ステップS1911において、クラウドサーバ1920に代替インストールを依頼する。本実施形態においては、クライアントが既にプログラム配信サーバ230と購入契約済みであるので、ステップS1913においては、プログラム購入契約情報とクライアント装置情報をクラウドサーバ1920に送信する。
クラウドサーバ1920は、ステップS1915において、プログラム購入契約情報とクラウドサーバアドレスとをプログラム配信サーバ230に送信することで、以降、図18Bと同様のインストール手順が開始される。
[第5実施形態]
次に、本発明の第5実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至第4実施形態と比べると、クラウドサーバにインストールされたプログラムの一部を分割してクライアント装置が分担実行する点で異なる。また、その分担実行を行なうか/クラウドサーバに全て実行させるかをクライアントが選択できる。その他の構成および動作は、第2乃至第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、クライアント装置とクラウドサーバとでプログラムを分割して協働処理するので、クライアント装置にあたかもプログラムがインストールされたかのように仮想的に実行できる。また、クライアントの認証情報の漏洩やクライアント装置の感染を極力防ぎこともできる。
《情報処理システムの動作手順》
図20Aは、本実施形態に係る情報処理システム2000の動作手順2000−1を示すシーケンス図である。なお、図20Aにおいては、プログラムのクラウドサーバ2020へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図20Aの処理において、第2実施形態の図4と同様の動作手順には同じステップ番号を付して、説明を省略する。
インストールプログラムの実行指示をクライアント装置から受信したクラウドサーバ2020は、ステップS2001において、クライアント装置情報を取得する。クライアント装置情報は、あらかじめ登録されたクライアント装置DBからクライアナト装置IDに基づいて取得してもよいし、クライアント装置から受信してもよい。ステップS2003においては、取得したクライアント装置情報に基づいて、インストールプログラム中からクライアント装置が実行可能な部分を選別する(図22参照)。そして、ステップS2005において、選別されたインストールプログラムの部分をクライアント装置にダウンロードし、ステップS435において、クラウドサーバ2020の実行部分を仮想PCで開始する。一方、クライアント装置は、ステップS2007において、クラウドサーバ2020からダウンロードされた選別プログラムを受信して、実行を開始する。
ここで、本実施形態において必須の制御は、クラウドサーバ2020のプログラム実行と、クライアント装置のプログラム実行との同期を取ることである。同期は、制御信号あるいはメッセージで行なわれる場合も、データの入出力により行なわれる場合もある。図20においては、クラウドサーバ2020のステップS437におけるプログラム処理手順実行と、クライアント装置のステップS2009におけるプログラム処理手順実行との同期を取る。ステップS2011における同期信号の送受信による同期と、ステップS2013においける入出力情報の送受信とが行なわれる。なお、ステップS2011およびS2013は、それぞれの同期処理を象徴的に図示している。
クライアント装置では、ステップS2015において、クライアントのプログラム終了指示を待つ。プログラム終了指示がなければステップS2009に戻って、処理を続行する。プログラム終了指示があればステップS2017に進んで、終了情報をクラウドサーバ2020に送信する。ステップS2019における終了情報を受信して、クラウドサーバ2020はインストールプログラムの処理を終了する。
図20Bは、本実施形態に係る情報処理システム2000の動作手順2000−2を示すシーケンス図である。なお、図20Bにおいては、図20Aと同様のステップS435あるいはS2005以降の動作手順は省略している。また、図20Aと同様の動作手順には同じステップ番号を付して、説明を省略する。
インストールプログラムにクライアント装置で分割実行できる部分がある場合、ステップS2021において、クラウドサーバ2020からクライアント装置に対して、分割処理をクライアント装置で行なうか否かを問い合わせる。ステップS2023において、クライアントにより分割処理をクライアント装置で実行するか否かの応答が入力される。クラウドサーバ2020は、ステップS2025において、クライアント装置からの応答が分割実行の承認であれば、以下図20Aの処理を行なう。しかしながら、分割実行拒否であれば、選別されたプログラム部分のダウンロードは行なわずに、クラウドサーバ2020においてインストールプログラムを全て実行することになる。
なお、かかる分割実行否のクライアントの応答は、クライアントの認証情報の漏洩やクライアント装置の感染を防ぐ意味もあるので、以降、クラウドサーバ2020は、認証情報が必要であればクダウドサーバ2020の認証情報を仮認証情報として使用し、クライアント装置との情報交換を極力さけるように動作するのが望ましい。
《クラウドサーバの機能構成》
図21は、本実施形態に係るクラウドサーバ2020の機能構成を示すブロック図である。なお、図21においては、第2実施形態の図5と同様の機能構成部は同じ参照番号を付して、説明は省略する。また、図21においては、プログラムがプログラム配信サーバ230から直接、クラウドサーバ2020にインストールされる場合の構成(第3および第4実施形態参照)を示すが、クライアント装置からのアップロードであってもよい。
プログラムインストール部2151は、プログラム登録部2150およびインストール実行部2160と協働して、プログラム配信サーバ230からプログラムをインストールする。クライアント装置からアップロードする場合は、図5と同様に、プログラムインストール部2151が無い構成となる。
インストールプログラム分割部2171は、プログラム処理分割テーブル2171a(図22参照)を有し、クライアント装置が実行可能なインストールプログラムの部分を分割する。分割したインストールプログラムの部分は、分割プログラムダウンロード部2172によって、クライアント装置にダウンロードされる。なお、インストールプログラムがクライアント装置からアップロードされた場合は、分割プログラムをダウンロードせずに分割プログラムを識別する識別子のみのクライアント装置への送信でよい。
分割実行問合部2173は、図20Bに動作手順に対応した処理を行なうオプションの機能構成部である。分割実行問合部2173は、分割実行が可能な場合に、クライアント装置に分割実行するか否かを問い合わせる。クライアント装置からのクライアントの応答が分割処理実行であれば、分割プログラムをダウンロードして、インストールプログラムの分割処理を行なわせる。しかしながら、クライアント装置からのクライアントの応答が分割処理非実行であれば、分割プログラムをダウンロードせずにクラウドサーバ2020で全インストールプログラムを実行させる。
インストールプログラム実行部2170は、クラアイント装置にダウンロードした分割プログラムのクライアント装置での実行と、残るインストールプログラムのクラウドサーバ2020での実行とを同期させて、インストールプログラムを実行する。
このインストールプログラム分割部2171とインストールプログラム実行部2170と分割実行問合部2173とにより、分割実行制御部を構成する。
(プログラム処理分割テーブル)
図22は、本実施形態に係るプログラム処理分割テーブル2171aの構成を示す図である。
プログラム処理分割テーブル2171aは、インストールプログラムID2201に対応付けて、インストールプログラムの実行を指示したクライアント装置のクライアント装置ID2202、そのクライアント装置情報に含まれる能力情報2203を記憶する。そして、クライアント装置の能力情報2203に基づいて分割したクライアント装置への分割プログラム2204、その分割プログラム2204のクライアント装置へのダウンロード済フラグ2205を記憶する。
(プログラム処理分割処理の処理手順)
図23は、本実施形態に係るインストールプログラム分割処理の処理手順を示フローチャートである。図23の左側はクライアント装置のフローチャートであり、図23の右側はクラウドサーバ2020のフローチャートである。図23は、クライアント装置とクラウドサーバ2020との同期を主に説明するフローチャートであり、特殊な手順を示しているが、この手順を異なる処理にも敷衍可能である。
クライアント装置は、ステップS2311において、ダウンロードされた分担プログラムを実行する。また、クラウドサーバ2020は、ステップS2351において、残る分担プログラムを実行する。
まず、クライアント装置において、入力デバイスからの入力を待つ場合を示す。なお、この入力デバイスからの入力がクラウドサーバ2020にも必要な入力である場合は、クラウドサーバ2020はクライアント装置からの入力データの受信を待つことになる。デバイス入力待ちでも、クラウドサーバ2020へのデータ送信でもなければ、クライアント装置はステップS2321に進む。
デバイス入力待ちであれば、クライアント装置はステップS2313からS2315に進んで、デバイス入力を取得する。そして、クラウドサーバ2020へのデータ送信であれば、ステップS2317からS2319に進んで、デバイス入力されたデータをクラウドサーバ2020に送信する。一方、クラウドサーバ2020は、クライアント装置からのデータ受信待ちであればステップS2353からS2355に進んで、クライアント装置のステップS2319と同期して、クライアント装置からのデータを受信する。
次に、クライアント装置において、出力デバイスからの出力を待つ場合を示す。なお、この出力デバイスからの出力がクラウドサーバ2020にも必要な出力である場合は、クラウドサーバ2020はクライアント装置への出力データの送信を待つことになる。デバイス出力待ちでも、クラウドサーバ2020からのデータ受信でもなければ、クライアント装置はステップS2329に進む。
クラウドサーバ2020は、クライアント装置へのデータ送信待ちであればステップS2357からS2359に進んで、クライアント装置へデータを送信する。一方、クライアント装置は、クラウドサーバ2020からのデータ受信であれば、ステップS2321からS2323に進んで、クラウドサーバ2020のステップS2359と同期して、クラウドサーバ2020からのデータを受信する。そして、クライアント装置は、デバイス出力待ちであればステップS2325からS2327に進んで、デバイス出力を行なう。
クライアント装置は、ステップS2329において、クライアントによるプログラム終了指示を待つ。終了指示があればステップS2331において、終了情報をクラウドサーバ2020に送信する。クラウドサーバ2020は、ステップS2361において、クライアント装置からの終了情報を受信して、インストールプログラムの実行を終了する。
[第6実施形態]
次に、本発明の第6実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至5実施形態と比べると、インストールしたいプログラム実行において必要となる通信能力として外部装置との通信条件をクライアント装置が満たさない場合に、クライアント装置から仮想的にプログラムを実行できるよう構成した点で異なる。その他の構成および動作は、第2乃至第5実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、通信能力をクライアント装置が満たさないプログラムをクラウドサーバがインストールして実行するので、クライアント装置がそのプログラム実行において必要となる通信能力を仮想的に実現できる。
《情報処理システムの構成》
図24は、本実施形態に係る情報処理システム2400の構成を説明するブロック図である。なお、図24において、第2実施形態の図3と同様の構成要素には同じ参照番号を付して、説明は省略する。
クラウドサーバ2420は、クライアント装置311〜316の通信プロトコルを、クラウドサーバ2420から外部装置への通信プロトコルへ変換するプロトコル変換テーブル2424を有する。その外部装置としては、例えば、Webサイトサーバ2450やSNSサーバ2460がネットワーク340に接続されている。しかし、外部装置はこれに限定されない。
《情報処理システムの動作手順》
図25は、本実施形態に係る情報処理システム2400の動作手順を示すシーケンス図である。なお、図25においては、プログラムのクラウドサーバ2020へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図25においては、第2実施形態の図4および第5実施形態の図20と同様の動作手順には同じステップ番号を付して、説明は省略する。
ステップS2501において、クライアント装置の通信情報の送受信と、クラウドサーバ2420の通信情報の送受信との間で、必要であれば通信プロトコルやデータ変換によって、通信を実現する。さらに、ステップS2503において、外部通信先の装置との通信交換が可能なように、通信プロトコルやデータ変換をする。
かかる通信プロトコル変換やデータ変換によって、クライアント装置の通信能力に関係なく、クラウドサーバ2020にインストールしたインストールプログラムを実現可能になる。
《クラウドサーバの機能構成》
図26は、本実施形態に係るクラウドサーバ2420の機能構成を示すブロック図である。なお、図26においては、第2実施形態の図5と同様の機能構成部は同じ参照番号を付して、説明は省略する。
プロトコル変換部2610は、プロトコル変換テーブル(図27参照)を有し、クライアント装置の通信プロトコルによって外部通信先の装置の通信プロトコルに合わせてデータの送受信が可能なように、プロトコル変換を行なう。そして、インストールプログラム実行部2670は、プロトコル変換部2610によって変換された通信プロトコルによって、クライアント装置と外部通信先の装置との通信を実現する。
(プロトコル変換テーブル)
図27は、本実施形態に係るプロトコル変換テーブル2424の構成を示す図である。
プロトコル変換テーブル2424は、クライアント装置の通信能力2701と、クラウドサーバの通信能力2702と、外部通信先の通信能力2703との組合せに対応付けて、プロトコルの変換情報2704と、入出力データの変換情報2705とを記憶する。
[第7実施形態]
次に、本発明の第7実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至第6実施形態と比べると、インストールしたいプログラムが対象とする装置の入出力能力をクライアント装置が満たさない場合に、クライアント装置から仮想的にプログラムを実行できるよう構成した点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、入出力能力をクライアント装置が満たさないプログラムをクダウドサーバがインストールして実行するので、クライアント装置がそのプログラムの入出力を仮想的に実現できる。
《情報処理システムの動作手順》
図28は、本実施形態に係る情報処理システム2800の動作手順を示すシーケンス図である。なお、図28においては、プログラムのクラウドサーバ2020へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図28においては、第2実施形態の図4および第5実施形態の図20と同様の動作手順には同じステップ番号を付して、説明は省略する。
ステップS2801において、インストールプログラムの実行指示を受信したクラウドサーバ2820は、クライアント装置情報を取得する。本例の場合は、クライアント装置の入出力デバイスの構成および能力を取得する。次に、ステップS2803においては、イントールプログラムとクライアント装置の入出力デバイスの情報とから、イントールプログラムが意図する入出力デバイスと代替可能なクライアント装置の入出力デバイスを決定する。例えば、表示デバイスと音声入出力デバイスとは代替可能である。
ステップS2805において、クラウドサーバ2820は、入出力情報の送受信で入出力デバイスの代替処理を行なう。具体的には、デバイスに応じた制御信号の変換と、データフォーマットの変換を行なう。
《クラウドサーバの機能構成》
図29は、本実施形態に係るクラウドサーバ2820の機能構成を示すブロック図である。なお、図26においては、第2実施形態の図5と同様の機能構成部は同じ参照番号を付して、説明は省略する。
入出力デバイス代替決定部2970は、入出力デバイス代替テーブル(図30参照)を有し、インストールプログラムが使用する入出力デバイスを、クライアント装置が有する入出力デバイスに代替させる。入力デバイス代替制御部2980は、入出力デバイス代替決定部2970の指示に従い、クライアント装置の入力デバイスとの制御信号と入力データを、インストールプログラムの入力デバイスが処理可能なように変換制御する。出力デバイス代替制御部2990は、入出力デバイス代替決定部2970の指示に従い、インストールプログラムによる出力デバイスへの出力がクライアント装置の出力デバイスで処理可能なように、制御信号と出力データを変換制御する。
(システム変更テーブル)
図30は、本実施形態に係る入出力デバイス代替テーブル2971の構成を示す図である。
入出力デバイス代替テーブル2971は、インストールプログラムID3001とインストールプログラムが使用する入出力デバイス3002、および、クライアント装置ID3003とクライアント装置が有する入力デバイス3004を記憶する。そして、それら情報に対応付けて、代替えするデバイス代替情報3005とデバイス代替パラメータ3006とを記憶する。
[第8実施形態]
次に、本発明の第8実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至第7実施形態と比べると、クライアント装置に代わってプログラムをインストールしたクラウドサーバが、クライアント装置をスルーして入出力機器に対して、直接、入出力処理をするように入出力制御を行なう点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、クライアント装置が認知できない入出力機器に対してもクラウドサーバがデータ入出力を処理するので、インストールしたいプログラムの入出力能力をクライアント装置に接続した入出力機器が仮想的に実現できる。
《情報処理システムの構成》
図31は、本実施形態に係る情報処理システム3100の構成を説明するブロック図である。なお、図31において、第2実施形態の図2と同様の構成要素には同じ参照番号を付して、説明は省略する。
クラウドサーバ3120へのプログラムの代替インストールまでの処理は、図2と同様である。本実施形態においては、図31の右図のように、インストールプログラムの実行において、携帯端末であるクライアント装置312が、インストールされたプログラムAの実行にかかる入出力データを処理不能である。そのため、クラウドサーバ3120がクライアント装置312にUSB(Universal Serial Bus)312aで接続されたルータ3170を介して、直接、デジタルテレビであるクライアント装置315、キーボード3180、ポインティングデバイス3190との入出力を行なう。
かかる処理により、クライアント装置の性能に関わらず、クラウドサーバ3120とクライアントとのコミュニケーションが可能となる。なお、クライアント装置312と入出力機器とのインタフェースはUSBに限定されない。
《情報処理システムの動作手順》
図32は、本実施形態に係る情報処理システム3100の動作手順を示すシーケンス図である。なお、図32においては、プログラムのクラウドサーバ2020へのインストールを完了した後の、インストールプログラムの実行手順を示す。また、図32においては、第2実施形態の図4と同様の動作手順には同じステップ番号を付して、説明は省略する。
まず、ステップS3201において、処理結果を取得するクライアント装置311〜316を、USBケーブルでルータ3170を介して、入出力機器群に接続する。そして、ステップS431において、クライアント装置からインストールプログラムの実行指示がクラウドサーバ3120に対し行なわれる。
クラウドサーバ3120は、ステップS3203において、クライアント装置情報を取得し、ステップS3205において、クライアント装置の能力を判定する。本例では、クラウドサーバ3120が実行するインストールプログラムにおいて入出力データの処理が可能か否かを判定する。以下、入出力データの処理が不可能な場合に処理を示す。
ステップS3207において、クラウドサーバ3120は、クライアント装置をパスして、直接、ルータ3170を介して入出力装置に能力を問い合わせる。そして、入出力機器は、ステップS3209において、直接、クラウドサーバ3120に応答を返す。クラウドサーバ3120は、ステップS435においてインストールプログラムを仮想PCで実行開始した後、ステップS3211において、USB対応の入出力ドライバを起動する。
インストールプログラムの実行中も、クラウドサ0バ3120は入出力機器と直接、送受信を行なう。ステップS3213においては、制御信号などによる同期が取られる。ステップS3215においては、入出力情報における同期が取られる。そして、ステップS3217において、入出力機器からクライアントによるプログラム終了指示を待つ。プログラム終了指示があるとステップS3219に進んで、終了情報が、直接、クラウドサーバ3120に送信される。ステップS3221におけるプログラム終了情報を受信して、インストールプログラムの実行が終了する。
(通信プロトコルスタック)
図33は、本実施形態に係る通信プロトコルスタックを示す図である。
図33において、USBプロトコルスタック3310は、USBケーブル上を入出力機器からルータ間においてやる取りされるUSBパケットの基本構成である。イサーネット(登録商標)がUSBパケットに付加されたプロトコルスタック3320は、ルータ3170とリクエスト元のクライアント装置間のLAN(Local Area Network)上を伝送される。そして、IP層がさらに付加されたプロトコルスタック3330は、リクエスト元のクライアント装置とクラウドサーバ3120間のIPネットワーク上を伝送される。
このようなプロトコルスタックの構成とすることで、リクエスト元のクライアント装置の処理性能に関係なく、処理結果を出力あるいは編集可能となる。
[第9実施形態]
次に、本発明の第9実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至第8実施形態と比べると、クラウドサーバが、クライアント装置に代替してインストールしたプログラムの関連情報や、インストールに関連する情報の履歴を蓄積することで、他のクライアントの情報提供する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、クラウドサーバがプログラムの関連情報やインストールに関連する情報の履歴を蓄積するので、プログラムの情報及びプログラムのインストールに係る情報をクライアントで共有することができる。
《情報処理システムの構成》
図34は、本実施形態に係る情報処理システム3400の構成を示すブロック図である。なお、図34において、第2実施形態の図3と同様の機能構成部には同じ参照番号を付して、説明を省略する。
情報処理システム3400におけるクラウドサーバ3420は、クラウドサーバ3420がインストールして実行するプログラムの履歴をゐくせきしたインストールプログラムDB323と関連付けた、インストール関連情報DB3424とプログラム感染情報DB3425とを有している。
インストール関連情報DB3424は、プログラムインストール時のインストール条件や望ましいインストール方法などの情報をプログラムに対応付けて蓄積している。特に、クライアント装置からインストールの代替を依頼されたプログラムについては、クライアント装置にインストール出来なかった理由やプログラムが実行出来なかった理由の履歴が蓄積されている。一方、その後の情報として、今のクライアント装置であっても、どのようにしたらインストールやプログラム実行が可能であったのかのヒントも蓄積されている。従って、クライアント装置からアクセスすることで、あるいは、クラウドサーバ3420からの情報提供することで、クライアントの適切なインストール処理を支援できる。
一方、プログラム感染情報DB3425には、インストールプログラムDB323に蓄積されたプログラムのインストール時の感染情報や、実行中の実行履歴として、外部装置との通信や他のプログラムとのデータ転送などによる感染情報の履歴が蓄積されている。クラウドサーバ3420における完成情報の蓄積は、個人の経験ではなく全クライアントからの情報の集合知であるので、より視野の広い客観的な評価が可能となる。従って、クライアント装置からアクセスすることで、あるいは、クラウドサーバ3420からの情報提供することで、クライアントがクライアント装置への感染を未然に防ぐための適切な情報を取得できる。
[他の実施形態]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されものではない。本発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する制御プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされる制御プログラム、あるいはその制御プログラムを格納した媒体、その制御プログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。

Claims (18)

  1. 第1情報処理装置と第2情報処理装置とが通信接続される情報処理システムであって、
    前記第1情報処理装置が実行できないプログラムを前記第2情報処理装置にインストールして実行することを、前記プログラムの購入を確認する購入情報を添付して前記第1情報処理装置から前記第2情報処理装置に依頼するインストール依頼手段と、
    前記購入情報を受信した場合に、前記インストール依頼手段によって依頼された前記プログラムを前記第2情報処理装置にインストールして前記購入情報を前記第2情報処理装置に転送するプログラムインストール手段と、
    前記第2情報処理装置にインストールした前記プログラムの実行と前記第1情報処理装置における前記プログラムに対する操作とを同期させる同期手段と、
    を備え
    前記インストール依頼手段は、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする情報処理システム。
  2. 前記プログラムインストール手段は、前記第2情報処理装置に前記プログラムのインストールおよび実行が可能な仮想の第1情報処理装置を生成して、前記仮想の第1情報処理装置に前記プログラムをインストールすることを特徴とする請求項1に記載の情報処理システム。
  3. 前記プログラムインストール手段は、前記第1情報処理装置から前記第2情報処理装置に、前記プログラムを送信するプログラム送信手段を有することを特徴とする請求項1または2に記載の情報処理システム。
  4. 前記プログラムインストール手段は、前記第1情報処理装置からの前記プログラムのインストール指示にしたがって、第3情報処理装置から前記第2情報処理装置に前記プログラムをインストールするインストール指示手段を有することを特徴とする請求項1または2に記載の情報処理システム。
  5. 前記同期手段は、前記第1情報処理装置から前記プログラムの一部の処理を実行する旨の回答を受けた場合に、前記プログラムのうち、前記第1情報処理装置が実行可能な前記一部を前記第1情報処理装置に実行させる制御手段を有することを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  6. 前記プログラムは、前記第1情報処理装置が前記プログラムをインストールして実行するためのソフトウェア条件やハードウェア条件を満たしていないプログラムであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  7. 前記プログラムは、前記第1情報処理装置が前記プログラムによる外部装置との通信条件を満たしていないプログラムであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  8. 前記同期手段は、
    前記第1情報処理装置の性能を保持する第1情報処理装置データベースと、
    前記第1情報処理装置データベースを参照して、前記プログラムの実行中の操作および入出力を前記第1情報処理装置の性能に合わせて変換する変換手段と、
    を有することを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  9. 前記第1情報処理装置データベースは、前記第1情報処理装置の構成をさらに保持し、
    前記同期手段は、前記第1情報処理装置データベースを参照して、前記プログラムの実行中に、前記プログラムが対象とする装置の構成を前記第1情報処理装置の構成に合わせて変更する変更手段を有することを特徴とする請求項に記載の情報処理システム。
  10. 前記同期手段は、前記第1情報処理装置が前記プログラムの実行結果を処理する能力が無い場合に、前記第1情報処理装置に接続された入出力機器と情報のやり取りを直接に行なうよう制御する入出力制御手段を有することを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  11. 前記第2情報処理装置におけるプログラムおよびインストールに関連する履歴を蓄積する蓄積手段と、
    前記蓄積手段に蓄積された履歴を前記第1情報処理装置に提供する提供手段と、
    をさらに備えることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理システム。
  12. 第1情報処理装置と第2情報処理装置とが通信接続される情報処理システムの情報処理方法であって、
    前記第1情報処理装置が実行できないプログラムを前記第2情報処理装置にインストールして実行することを、前記プログラムの購入を確認する購入情報を添付して前記第1情報処理装置から前記第2情報処理装置に依頼するインストール依頼ステップと、
    前記購入情報を受信した場合に、前記インストール依頼ステップにおいて依頼された前記プログラムを、前記第2情報処理装置にインストールして前記購入情報を前記第2情報処理装置に転送するプログラムインストールステップと、
    前記第2情報処理装置にインストールした前記プログラムの実行と前記第1情報処理装置における前記プログラムに対する操作とを同期させる同期ステップと、
    を含み、
    前記インストール依頼ステップにおいて、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする情報処理方法。
  13. 第1情報処理装置が実行できないプログラムを第2情報処理装置にインストールして実行するよう、前記プログラムの購入を確認する購入情報を添付して依頼するインストール依頼手段と、
    前記購入情報を受信した前記第2情報処理装置にインストールされた前記プログラムの実行に、前記第1情報処理装置における前記プログラムに対する操作を同期させる同期手段と、
    を備え
    前記インストール依頼手段は、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする第1情報処理装置。
  14. 前記第1情報処理装置が実行できなかった場合、前記第2情報処理装置に、前記プログラムを送信するプログラム送信手段をさらに備えることを特徴とする請求項13に記載の第1情報処理装置。
  15. 前記第1情報処理装置が実行できなかった場合、前記第2情報処理装置に、第3情報処理装置から配信された前記プログラムを受信してインストールするよう指示することを特徴とする請求項13に記載の第1情報処理装置。
  16. 前記同期手段は、前記プログラムのうち、前記第1情報処理装置が実行可能な部分の分割処理を実行することを特徴とする請求項13乃至15のいずれか1項に記載の第1情報処理装置。
  17. 第1情報処理装置が実行できないプログラムを第2情報処理装置にインストールして実行するよう、前記プログラムの購入を確認する購入情報を添付して依頼するインストール依頼ステップと、
    前記購入情報を受信した前記第2情報処理装置にインストールされた前記プログラムの実行に、前記第1情報処理装置における前記プログラムに対する操作を同期させる同期ステップと、
    を含み、
    前記インストール依頼ステップにおいて、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする第1情報処理装置の制御方法。
  18. 第1情報処理装置が実行できないプログラムを第2情報処理装置にインストールして実行するよう、前記プログラムの購入を確認する購入情報を添付して依頼するインストール依頼ステップと、
    前記購入情報を受信した前記第2情報処理装置にインストールされた前記プログラムの実行に、前記第1情報処理装置における前記プログラムに対する操作を同期させる同期ステップと、
    をコンピュータに実行させる第1情報処理装置の制御プログラムであって、
    前記インストール依頼ステップにおいて、前記プログラムが前記第2情報処理装置にインストールされると、前記第1情報処理装置が保持する前記プログラムを前記第1情報処理装置から消去することを特徴とする第1情報処理装置の制御プログラム。
JP2012068507A 2012-03-24 2012-03-24 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム Expired - Fee Related JP6095091B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2012068507A JP6095091B2 (ja) 2012-03-24 2012-03-24 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
AU2013238101A AU2013238101A1 (en) 2012-03-24 2013-03-18 Information processing system, information processing method, information processing apparatus, and control methods and control programs thereof
EP13769095.4A EP2829982A1 (en) 2012-03-24 2013-03-18 Information processing system, information processing method, information processing device, and control method and control program therefor
CN201380016338.XA CN104205074A (zh) 2012-03-24 2013-03-18 信息处理系统、信息处理方法、信息处理设备以及控制方法及其控制程序
PCT/JP2013/057634 WO2013146410A1 (ja) 2012-03-24 2013-03-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
US14/387,685 US10037200B2 (en) 2012-03-24 2013-03-18 Synchronizing installation and execution of a program on a second information processing apparatus with a first information processing apparatus which failed installation of the program
CA 2867559 CA2867559A1 (en) 2012-03-24 2013-03-18 Information processing system, information processing method, information processing apparatus, and control methods and control programs thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012068507A JP6095091B2 (ja) 2012-03-24 2012-03-24 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム

Publications (3)

Publication Number Publication Date
JP2013200703A JP2013200703A (ja) 2013-10-03
JP2013200703A5 JP2013200703A5 (ja) 2015-07-02
JP6095091B2 true JP6095091B2 (ja) 2017-03-15

Family

ID=49259671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012068507A Expired - Fee Related JP6095091B2 (ja) 2012-03-24 2012-03-24 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム

Country Status (7)

Country Link
US (1) US10037200B2 (ja)
EP (1) EP2829982A1 (ja)
JP (1) JP6095091B2 (ja)
CN (1) CN104205074A (ja)
AU (1) AU2013238101A1 (ja)
CA (1) CA2867559A1 (ja)
WO (1) WO2013146410A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6155555B2 (ja) * 2012-05-30 2017-07-05 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
US9525586B2 (en) * 2013-03-15 2016-12-20 Intel Corporation QoS based binary translation and application streaming
JP6357813B2 (ja) * 2014-03-12 2018-07-18 富士通株式会社 配信方法、リソース取得方法、配信サーバ、及び端末装置
CN104077168A (zh) * 2014-07-15 2014-10-01 深圳市金立通信设备有限公司 一种为终端更新操作系统的方法及设备
CN104090805B (zh) * 2014-07-15 2018-06-05 深圳市金立通信设备有限公司 一种更新终端操作系统的方法、设备及系统
JP6570232B2 (ja) * 2014-10-08 2019-09-04 株式会社オービックビジネスコンサルタント サーバ装置、端末装置、情報処理方法、およびプログラム
WO2016167039A1 (ja) * 2015-04-14 2016-10-20 ソニー株式会社 情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置
JP6661409B2 (ja) * 2016-03-01 2020-03-11 キヤノン株式会社 自動設置システム、情報処理装置、情報処理装置の制御方法、及びプログラム
JP6825303B2 (ja) * 2016-10-27 2021-02-03 富士ゼロックス株式会社 情報処理装置およびプログラム
CN109460277B (zh) * 2018-10-30 2022-08-05 北京小米移动软件有限公司 商品抢购流程的展示方法及装置
CN112732286A (zh) * 2019-10-14 2021-04-30 纬联电子科技(中山)有限公司 显示装置与其固件更新方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659994A (ja) * 1992-08-10 1994-03-04 Fuji Xerox Co Ltd リモートインストールシステム
JPH08221372A (ja) * 1995-02-10 1996-08-30 Fuji Facom Corp 分散処理システムにおける空き資源管理装置
US6412082B1 (en) * 1997-12-17 2002-06-25 Sony Corporation Method and apparatus for selecting computer programs based on an error detection mechanism
US7143067B1 (en) * 1999-02-09 2006-11-28 Lenovo (Singapore) Pte. Ltd. System and method for installing personal computer software
JP2004234345A (ja) * 2003-01-30 2004-08-19 Ntt Docomo Inc アプリケーションプログラム実行装置およびプログラム
JP2005228227A (ja) 2004-02-16 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> シンクライアントシステム及びその通信方法
JP2005228183A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd プログラム実行方法、および、プログラム実行のための計算機システム
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP5061541B2 (ja) * 2006-09-04 2012-10-31 日本電気株式会社 情報処理システムと情報処理方法およびそのプログラム
JP5341317B2 (ja) 2007-01-30 2013-11-13 セイコーエプソン株式会社 アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
EP1953995A1 (en) 2007-01-30 2008-08-06 Seiko Epson Corporation Application execution system, computer, application execution device, and control method and program for an application execution system
US7769693B2 (en) * 2007-03-30 2010-08-03 Cisco Technology, Inc. Mechanism for secure rehosting of licenses
JP5047870B2 (ja) * 2008-04-17 2012-10-10 株式会社日立製作所 マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム
JP5175159B2 (ja) * 2008-10-24 2013-04-03 株式会社日立ソリューションズ 利用者端末装置、及びその制御方法
CN101783737A (zh) 2009-01-21 2010-07-21 华为终端有限公司 一种配置命令应用结果上报方法、获取方法及装置
JP5335504B2 (ja) 2009-03-19 2013-11-06 キヤノン株式会社 アプリケーションパッケージング装置、その制御方法、プログラム
JP5454102B2 (ja) * 2009-11-25 2014-03-26 株式会社リコー ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム
JP2012068507A (ja) 2010-09-24 2012-04-05 Sekisui Chem Co Ltd エレクトロウェッティングデバイス用エマルジョンインク及びエレクトロウェッティングデバイス
TWI453603B (zh) * 2010-06-30 2014-09-21 Ibm 平台無關之資訊處理系統,其通訊方法,及其電腦程式產品
JP5678508B2 (ja) 2010-07-29 2015-03-04 日本電気株式会社 シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム
JP5569269B2 (ja) 2010-09-06 2014-08-13 ソニー株式会社 端末装置、情報処理システム、依頼先選択方法、及びプログラム
JP5703648B2 (ja) * 2010-09-14 2015-04-22 株式会社リコー 情報処理装置、画像処理装置管理システム、情報処理方法およびそのプログラム
US9021015B2 (en) * 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9524179B2 (en) * 2011-05-05 2016-12-20 Microsoft Technology Licensing, Llc Virtual-machine-deployment-action analysis

Also Published As

Publication number Publication date
US10037200B2 (en) 2018-07-31
CN104205074A (zh) 2014-12-10
WO2013146410A1 (ja) 2013-10-03
US20150082299A1 (en) 2015-03-19
EP2829982A1 (en) 2015-01-28
JP2013200703A (ja) 2013-10-03
CA2867559A1 (en) 2013-10-03
AU2013238101A1 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
JP6095091B2 (ja) 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
JP4293234B2 (ja) シンクライアントにおける接続管理方法及び接続管理サーバ
JP5627187B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8307058B2 (en) Apparatus, method, and computer program product for processing information
CN102202078A (zh) 用于远程呈现会话服务器场的集中式管理工具
JP6052571B2 (ja) 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
US9229699B2 (en) Method, system and device for execution of a software application
JPWO2016143027A1 (ja) 情報処理装置、機器連携認証プログラム及び機器連携認証方法
JP6048336B2 (ja) 情報処理システム、情報処理装置及びプログラム
KR20130066419A (ko) 단말 및 단말에 설치된 프리로드 애플리케이션의 관리 방법
WO2011039887A1 (ja) 計算機装置
JP7217376B2 (ja) ブロックチェーンシステム起動方法、装置、機器および記憶媒体
US20200280612A1 (en) Parallel sharing of hardware
JP6285579B2 (ja) ロングポーリング処理方法およびシステム、並びに記録媒体
JP5626839B2 (ja) 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法
TWI588661B (zh) 硬體匯流排重新導向技術
KR20130065387A (ko) 단말에 설치된 애플리케이션의 업데이트 방법
JP2023047473A (ja) 情報処理システム、情報処理装置およびプログラム
KR20070061098A (ko) 임베디드 리눅스 커널 및 응용 프로그램의 통합 설정을위한 웹 기반의 개발환경 제공 시스템 및 방법
JP2001202316A (ja) 情報処理装置及びシステム及び方法並びに記憶媒体
KR20140121101A (ko) 분산빌드를 위한 디스패쳐 및 디스패쳐를 이용한 클라우드 빌드 시스템 및 그 방법
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
JP4967555B2 (ja) マルチプロセッサシステム
JP2010237977A (ja) マルチプロセッサ及び制御プログラム
JP2010238130A (ja) 情報処理装置および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160622

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160630

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170209

R150 Certificate of patent or registration of utility model

Ref document number: 6095091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees