(57)【特許請求の範囲】
【請求項１】
コンピュータが、
アプリケーションの実行に必要な設定情報が記憶される設定情報領域から抽出された前記設定情報を、同期用設定情報として所定のデータ形式で同期用設定情報記憶部に記憶し、
前記アプリケーションの実行に前記設定情報が必要となった際に前記同期用設定情報記憶部に格納されている前記同期用設定情報を参照するように前記アプリケーションを起動し、
前記同期用設定情報を含む、前記アプリケーションの実行に必要なデータを、所定のタイミングで他のコンピュータに送信し、
前記アプリケーションの実行に前記同期用設定情報が必要となった際に該同期用設定情報が前記同期用設定情報記憶部に記憶されていない場合、該同期用設定情報に対応する設定情報を前記設定情報領域から抽出して前記同期用設定情報として前記所定のデータ形式で前記同期用設定情報記憶部に格納する、
アプリケーション同期方法。
【請求項２】
請求項１に記載のアプリケーション同期方法であって、
前記コンピュータは、
前記アプリケーションの実行に必要なデータの一つであるユーザデータが格納されるデータ記憶部とは異なる、該ユーザデータと同一のデータ形式のデータである同期用ユーザデータを同期用ユーザデータ記憶部に格納し、
前記アプリケーションの実行に前記ユーザデータが必要となった際に、前記同期用ユーザデータ記憶部に記憶されている前記同期用ユーザデータを参照するように前記アプリケーションを起動し、
前記同期用ユーザデータ記憶部に記憶されている前記同期用ユーザデータを所定のタイミングで前記他のコンピュータに送信する、
アプリケーション同期方法。
【請求項３】
請求項１または２に記載のアプリケーション同期方法であって、
前記設定情報領域に記憶されている前記設定情報と、前記同期用設定情報記憶部に記憶されている前記同期用設定情報とはデータ形式が異なる、
アプリケーション同期方法。
【請求項４】
コンピュータに、
アプリケーションの実行に必要な設定情報が記憶される設定情報領域から抽出された前記設定情報を、同期用設定情報として所定のデータ形式で同期用設定情報記憶部に記憶する機能と、
前記アプリケーションの実行に前記設定情報が必要となった際に前記同期用設定情報記憶部に格納されている前記同期用設定情報を参照するように前記アプリケーションを起動する機能と、
前記同期用設定情報を含む、前記アプリケーションの実行に必要なデータを、所定のタイミングで他のコンピュータに送信する機能と、
前記アプリケーションの実行に前記同期用設定情報が必要となった際に該同期用設定情報が前記同期用設定情報記憶部に記憶されていない場合、該同期用設定情報に対応する設定情報を前記設定情報領域から抽出して前記同期用設定情報として前記所定のデータ形式で前記同期用設定情報記憶部に格納する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション同期方法及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）や携帯端末等の情報処理装置では、文書作成ソフトウェアやウェブブラウザなどの様々なアプリケーションを実行することが可能である。通常、このようなアプリケーションは、情報処理装置ごとにインストールされたうえで使用される。そのため、例えば複数のＰＣを保有しているユーザが、これら複数のＰＣ上で同じアプリケーションを使用する場合は、各ＰＣに対して個別にアプリケーションをインストールする必要がある。さらに、アプリケーションを使用する際のユーザ設定についても、各ＰＣにおいて個別に行う必要がある。このように、複数のＰＣで同一のアプリケーションを使用するのは非常に煩雑となる場合が多い。【０００３】
また、近年普及しつつある、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）などのサービスを用いることにより、各ＰＣに対して個別にアプリケーションをインストールしない構成も考えられる（例えば、特許文献１）。しかしながら、このようなサービスを用いる場合、利用可能なアプリケーションはサービス事業者から提供されるものに限られてしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７７０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、例えば、各ＰＣに対して個別にアプリケーションをインストールするのではなく、１台のＰＣにインストールされたアプリケーションの実行ファイルやデータファイルなどの関連ファイルを複数のＰＣ間で共有することも考えられる。しかしながら、アプリケーションの実行に必要な設定情報は、レジストリ等の設定情報領域に格納されている場合も多い。また、このような設定情報領域の構造はＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）のバージョンなどによって異なることが多い。そのため、単純にファイルを共有するだけでは複数のＰＣ間でアプリケーションを同期させることはできない。【０００６】
そこで、本発明は、設定情報領域に格納された設定情報を用いるアプリケーションを複数の情報処理装置の間で同期させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面に係るアプリケーション方法によれば、コンピュータが、アプリケーションの実行に必要な設定情報が記憶される設定情報領域から抽出された設定情報を、同期用設定情報として所定のデータ形式で同期用設定情報記憶部に記憶し、アプリケーションの実行に設定情報が必要となった際に同期用設定情報記憶部に格納されている同期用設定情報を参照するようにアプリケーションを起動し、同期用設定情報を含む、アプリケーションの実行に必要なデータを、所定のタイミングで他のコンピュータに送信する。【０００８】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されてもよい。
【発明の効果】
【０００９】
本発明によれば、設定情報領域に格納された設定情報を用いるアプリケーションを複数の情報処理装置の間で同期させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。
【図２】同期サーバが有する機能の一例を示すブロック図である。
【図３】同期用データの構造の一例を示す図である。
【図４】ＰＣが有する機能の一例を示すブロック図である。
【図５】同期設定の際に表示される画面の一例を示す図である。
【図６】アプリケーション記憶部及び同期用アプリケーション記憶部の構造の一例を示す図である。
【図７】同期設定部により登録される同期設定の構造の一例を示す図である。
【図８】実行する同期用アプリケーションを選択する操作の一例を示す図である。
【図９】ＰＣにおける各部の関連を示す図である。
【図１０】ＰＣにおける同期用アプリケーションの実行処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の一実施形態について説明する。図１は、本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。図１に示すように、アプリケーション同期システムは、同期サーバ１０、及び複数台のパーソナルコンピュータ（ＰＣ）２０を含んで構成される。同期サーバ１０は、ユーザに対してアプリケーションを複数のＰＣ２０間で同期可能とするためのサービスを提供するものであり、１台または複数台の情報処理装置を用いて構成される。ＰＣ２０は、ユーザがアプリケーションを実行させるための情報処理装置であり、同期サーバ１０とインターネット等のネットワークを介して通信可能である。
【００１２】
ここで、例えばユーザ「ＵＳＥＲ００１」は、ＰＣ２０−１及びＰＣ２０−２の２台のＰＣを保有しているとする。このユーザ「ＵＳＥＲ００１」は、同期サーバ１０により提供されるアプリケーション同期システムを用いることにより、各ＰＣに個別にアプリケーションをインストールしたり、手動でデータを同期させたりする必要なく、ＰＣ２０−１及びＰＣ２０−２において同期された状態でアプリケーションを実行することが可能である。ここで、アプリケーションの同期とは、アプリケーションの実行環境を同一の状態にすることをいう。なお、実行環境には、アプリケーションの実行ファイルそのものや、ユーザデータ、設定情報などが含まれる。すなわち、複数のＰＣ間でアプリケーションが同期されることにより、ユーザはどのＰＣを用いる場合においても同じ状態でアプリケーションを実行することが可能となる。
【００１３】
図２は、同期サーバ１０が有する機能の一例を示すブロック図である。図２に示すように、同期サーバ１０は、通信部３０、ユーザアカウントデータベース（ＤＢ）３２、同期用データ記憶部３４を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
【００１４】
通信部３０は、ネットワークを介してＰＣ２０等の他の情報処理装置との間でデータの送受信を行うことが可能である。そして、通信部３０は、複数のＰＣ２０間でアプリケーションを同期させるための各種制御を行うことが可能である。
【００１５】
ユーザアカウントＤＢ３２は、アプリケーション同期システムを利用するユーザのアカウント情報を記憶するものである。例えば、アカウント情報には、ユーザＩＤやパスワード、メールアドレスなどが含まれる。
【００１６】
同期用データ記憶部３４は、複数のＰＣ間でユーザのアプリケーション実行環境を同期させるためのデータである同期用データを記憶するものである。図３には、同期用データの構造の一例が示されている。図３に示す例では、同期用データは、同期用テーブルに格納されるデータと、データストレージに格納されるデータとにより構成されている。同期用テーブルには、ユーザＩＤ、アプリケーションＩＤ、同期用アプリケーション・データＩＤ、同期用ユーザデータ・データＩＤ、同期用設定情報、及び更新日時が格納され、データストレージには、同期用アプリケーション及び同期用ユーザデータが格納されている。
【００１７】
ユーザＩＤは、各ユーザを識別するためのものであり、ユーザアカウントＤＢ３２に登録されている情報と同じものが使用されている。アプリケーションＩＤは、各ユーザが同期対象として選択したアプリケーションを識別するためのものである。このアプリケーションＩＤは、例えば、ユーザが同期対象のアプリケーションを同期サーバ１０に登録する際に設定することとしてもよいし、同期サーバ１０側で生成されることとしてもよい。同期用アプリケーションは、同期対象のアプリケーションを実行するためのアプリケーションデータであり、実行ファイルやＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）などを含んでいる。また、同期用アプリケーションには、ＰＣ２０においてアプリケーションデータを格納するフォルダを指定するための情報も含まれている。そして、同期用アプリケーション・データＩＤは、データストレージ内における同期用アプリケーションの格納場所を示すものである。同期用ユーザデータは、アプリケーションの実行時に必要となるユーザデータである。ここで、ユーザデータとは、アプリケーションの実行時に参照されるユーザごとのデータであり、例えば、電子メールの送受信を行うための電子メールアプリケーションにおける各ユーザの電子メールデータや、Ｗｅｂブラウザにおける各ユーザのブックマークデータなどである。また、同期用ユーザデータには、ＰＣ２０においてユーザデータを格納するフォルダを指定するための情報も含まれている。そして、同期用ユーザデータ・データＩＤは、データストレージ内における同期用ユーザデータの格納場所を示すものである。同期用設定情報は、アプリケーションの実行に必要な設定情報であり、例えば、ＰＣ２０のレジストリに格納される設定情報と同等の内容を有する情報である。また、同期用設定情報には、ＰＣ２０において設定情報を格納するフォルダを指定するための情報も含まれている。なお、同期用設定情報についても、同期用アプリケーションや同期用ユーザデータと同様にデータストレージに格納されていることとしてもよい。更新日時には、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された日時が設定される。
【００１８】
図４は、ＰＣ２０が有する機能の一例を示すブロック図である。図４に示すように、ＰＣ２０は、同期設定部４０、アプリケーション起動部４２、アプリケーション実行部４４、設定情報参照部４６、同期設定情報参照部４８、同期通信部５０、アプリケーション記憶部５２、ユーザデータ記憶部５４、設定情報記憶部５６、同期設定記憶部５８、同期用アプリケーション記憶部６０、同期用ユーザデータ記憶部６２、及び同期用設定情報記憶部６４を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。特に、アプリケーション同期システムを利用するために必要となる、同期設定部４０、アプリケーション起動部４２、同期設定情報参照部４８、及び同期通信部５０は、アプリケーション同期システム用のプログラムを実行することにより実現される。各ＰＣ２０には、このプログラムが例えば同期サーバ１０からダウンロードされ、インストールされていることとする。
【００１９】
同期設定部４０は、複数のＰＣ２０間でアプリケーションを同期させるための設定を行うものである。図５には、同期設定の際に表示される画面の一例が示されている。この画面は、アプリケーション同期システム用のプログラムが起動されることにより表示される。ユーザは、この画面を用いることにより、同期対象のアプリケーションを登録したり、同期された状態のアプリケーションを起動したりすることができる。例えば、ユーザが、ＰＣ２０のデスクトップ等にある、あるアプリケーション「ＡＰＬ００１」のショートカットをドラッグアンドドロップによって画面１００の表示領域１１２に移動させると、同期設定部４０は、このショートカットにより特定されるアプリケーションを同期対象のアプリケーションとして登録する。なお、ドラッグアンドドロップに限らず、同期対象のアプリケーションを同期設定部４０に認識させるための任意の手法を用いることができる。例えば、図５に示すように、アプリケーション追加ボタン１１４を押下してファイル参照用のインタフェースを表示させることにより、登録対象のアプリケーションが特定されることとしてもよい。そして、同期設定部４０は、同期対象のアプリケーションに関する情報を同期設定記憶部５８に格納する。なお、同期設定部４０は、同期対象のアプリケーションに関する情報を同期設定部５８に格納するのではなく、同期サーバ１０の同期用データ記憶部３４に格納することとしてもよい。
【００２０】
図６及び図７を参照して同期設定部４０におけるアプリケーションの登録処理について説明する。図６には、アプリケーション記憶部５２及び同期用アプリケーション記憶部６０の構造の一例が示されている。アプリケーション記憶部５２は、ＰＣ２０においてアプリケーションが通常の手法でインストールされた際に実行ファイルやＤＬＬなどのアプリケーションデータが格納される領域である。同期用アプリケーション記憶部６０は、同期対象のアプリケーションのアプリケーションデータが格納される領域である。本実施形態では、同期設定部４０は、図５に示した画面１００で同期対象のアプリケーションが指定されると、このアプリケーションのアプリケーションデータをアプリケーション記憶部５２から同期用アプリケーション記憶部６０にコピーすることができる。例えば、図６に示すように、アプリケーション「ＡＰＬ００１」が同期対象として指定された場合、同期設定部４０は、アプリケーション記憶部５２に記憶されている「ＡＰＬ００１」のアプリケーションデータをフォルダごと同期用アプリケーション記憶部６０にコピーすることができる。
【００２１】
なお、後述するように、あるユーザが複数のＰＣ２０を保有する場合に、アプリケーション記憶部５２にアプリケーションデータが格納されている必要があるのは１台のＰＣ２０のみである。すなわち、はじめにユーザがアプリケーションを同期対象として登録するＰＣ２０においてアプリケーション記憶部５２にアプリケーションデータが格納されていればよい。
【００２２】
図７には、同期設定部４０により登録される同期設定の構造の一例が示されている。図７に示すように、同期設定には、ユーザＩＤ、パスワード、アプリケーションＩＤ、アプリケーション、ユーザデータフォルダ、設定情報フォルダ、及び更新日時を示す情報が含まれている。ユーザＩＤ及びパスワードは、アプリケーション同期システムを用いるためのものであり、例えば、本システムの利用開始時に同期設定部４０により登録される。アプリケーションＩＤは、同期対象のアプリケーションを識別するためのものである。アプリケーションに関する情報は、同期対象のアプリケーションの実行ファイルが格納される場所を示すものである。
【００２３】
ユーザデータフォルダに関する情報は、同期対象のアプリケーションのユーザデータが格納されるフォルダを示すものである。例えば、アプリケーション記憶部５２に格納されているアプリケーションを、本システムを用いずに通常通り起動した場合、ユーザデータ記憶部５４に格納されているユーザデータが用いられる。一方、本システムを用いることにより同期用アプリケーション記憶部６０に格納されているアプリケーションが起動される場合は、同期用ユーザデータ記憶部６２に格納されている同期用ユーザデータが用いられる。同期設定に含まれるユーザデータフォルダに関する情報は、同期用ユーザデータ記憶部６２に格納されている同期用ユーザデータの格納場所を特定するための情報である。
【００２４】
設定情報フォルダに関する情報は、同期対象のアプリケーションの設定情報が格納されるフォルダを示すものである。例えばアプリケーション記憶部５２に格納されているアプリケーションを、本システムを用いずに通常通り起動した場合、設定情報領域５６に格納されている設定情報が用いられる。ここで、設定情報領域５６は、例えばレジストリなどの特殊なデータ領域であり、アプリケーションのインストール時やアプリケーションの実行時に生成される各種設定情報が格納される。一方、本システムを用いることにより同期用アプリケーション記憶部６０に格納されているアプリケーションが起動される場合は、同期用設定情報記憶部６４に格納されている同期用設定情報が用いられる。同期設定に含まれる設定情報フォルダに関する情報は、同期用設定情報記憶部６４に格納されている同期用設定情報の格納場所を特定するための情報である。なお、同期用設定情報は、設定情報領域５６に格納されている設定情報と同等の内容を含む所定のデータ形式のファイルとすることができる。例えば、同期用設定情報は、シリアライズされたメッセージパックなど、構造化されたデータとすることができる。なお、同期用設定情報は、設定情報領域５６にリストアすることなく参照することができる。
【００２５】
更新日時には、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された日時が設定される。同期設定部４０は、同期用アプリケーションが登録された際の日時を更新日時の初期情報として設定することができる。後述するように、同期用アプリケーションの実行によって、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された際には、同期設定に含まれる更新日時も更新されることとなる。
【００２６】
図１に戻り、アプリケーション起動部４２は、ユーザ操作に応じて同期用アプリケーションを起動する。例えば、アプリケーション起動部４２は、図８に示す画面１００において、アプリケーション「ＡＰＬ００１」に割り当てられた表示領域１２０が選択されると、アプリケーション起動部４２は、同期設定記憶部５８に格納されている同期設定を参照し、同期用アプリケーション記憶部６０に格納されている同期用アプリケーションを起動する。このとき、アプリケーション起動部４２は、ユーザデータの参照先が、ユーザデータ記憶部５４ではなく、同期用ユーザデータ記憶部６０となるように、同期用アプリケーションを起動する。具体的には、アプリケーション起動部４２は、同期設定記憶部５８に格納されている同期設定を参照し、起動対象のアプリケーションに対応づけられているユーザデータフォルダに関する情報を取得する。そして、アプリケーション起動部４２は、このフォルダがユーザデータの参照先となるように同期用アプリケーションを起動する。例えば、アプリケーション起動部４２は、同期用アプリケーションが実行される際の環境変数に、ユーザデータの参照先としてこのフォルダの情報を設定する。また、アプリケーション起動部４２は、設定情報の参照先が、設定情報領域５６ではなく、同期用設定情報記憶部６４となるように、同期用アプリケーションを起動する。設定情報の参照先を同期用設定情報記憶部６４とするための手法については後述する。
【００２７】
アプリケーション実行部４４は、アプリケーション起動部４２により起動されたアプリケーションにおける各種処理を実行する。ここで、同期用アプリケーションは、アプリケーション記憶部５２に格納されていたアプリケーションと同じものであるため、アプリケーション実行部４４により実行される処理はアプリケーション記憶部５２に格納されているアプリケーションと同じ内容となる。ただし、アプリケーション実行部４４は、ユーザデータ記憶部５４ではなく、同期用ユーザデータ記憶部６２に格納されているユーザデータを用いる。また、アプリケーション実行部４４は、設定情報領域５６ではなく、同期用設定情報記憶部６４に格納されている設定情報を用いる。
【００２８】
設定情報参照部４６は、アプリケーション記憶部５２に格納されているアプリケーションの実行時に、設定情報領域５６に格納されている設定情報を参照するために用いられるものである。例えば、設定情報参照部４６は、ＤＬＬによって実現されるものであり、アプリケーションの起動時に動的にリンクすることが可能である。
【００２９】
同期設定情報参照部４８は、同期用アプリケーション記憶部６０に格納されているアプリケーションの実行時に、同期用設定情報記憶部６４に格納されている設定情報を参照するために用いられるものである。例えば、同期設定情報参照部４８は、設定情報参照部４６と同様にＤＬＬによって実現されるものであり、同期用アプリケーションの起動時に動的にリンクすることが可能である。このような同期設定情報参照部４８は、アプリケーション起動部４２が同期用アプリケーションを起動する際に、設定情報参照部４６の代わりにアプリケーションン実行部４４に動的にリンクされることとなる。これにより、アプリケーション実行部４４において実行される処理で、設定情報領域５６に格納されている設定情報にアクセスするための関数が呼び出されると、設定情報参照部４６ではなく同期設定情報参照部４８が起動され、同期用設定情報記憶部６４に格納されている設定情報が参照されることとなる。つまり、同期設定情報参照部４８は、アプリケーション実行部４４による設定情報参照部４６の関数の呼び出しをフック（横取り）し、設定情報参照部４６の代わりに処理を実行することとなる。このような手法は一般的にＤＬＬインジェクションと言われている。
【００３０】
また、同期設定情報参照部４８は、アプリケーション実行部４４からの指示により同期用設定情報記憶部６４を参照した際に、対象の設定情報が同期用設定情報記憶部６４に格納されていない場合は、この設定情報を設定情報領域５６から取得してアプリケーション実行部４４に返す。そして、同期設定情報参照部４８は、この設定情報を同期用設定情報記憶部６４に、同期用設定情報記憶部６４における所定のデータ形式で格納する。これは、同期対象のアプリケーションを登録する際には、設定情報領域５６のどこに格納されている設定情報がこのアプリケーションで用いられるかを特定することができないからである。そのため、同期設定情報参照部４８は、アプリケーションの実行時に指定された設定情報を設定情報領域５６から抽出して同期用設定情報記憶部６４に格納する。なお、同期設定情報参照部４８は、設定情報領域５６から設定情報を抽出する際に、設定情報参照部４６を呼び出すことができる。
【００３１】
同期通信部５０は、複数のＰＣ２０の間でアプリケーションを同期させるためのデータ通信を行うものである。具体的には、同期通信部５０は、同期設定記憶部５８を参照し、同期対象のアプリケーション、ユーザデータ、及び設定情報を、同期サーバ１０との間で同期させることができる。具体的には、例えば、同期通信部５０は、同期設定記憶部５８に記憶されている同期設定の内容と、同期サーバ１０の同期用データ記憶部３４に記憶されている同期用データの内容とを比較することにより、同期用アプリケーション記憶部６０、同期用ユーザデータ記憶部６２、及び同期用設定情報記憶部６４の内容と、同期サーバ１０の同期用データ記憶部３４の内容とを、ユーザＩＤ及びアプリケーションＩＤごとに最新の状態に合わせることが可能である。なお、同期通信部５０が同期サーバ１０との間で通信を行うタイミングは、例えば、アプリケーション起動部４２が画面１００を起動した際や、同期用アプリケーションが終了した際、タイマにより設定される所定間隔など、任意のタイミングであってよい。
【００３２】
図９は、ＰＣ２０における各部の関連を示す図である。また、図１０は、ＰＣ２０における同期用アプリケーションの実行処理の一例を示すフローチャートである。図９及び図１０を参照して、同期用アプリケーションの実行処理について説明する。
【００３３】
アプリケーション同期システム用のプログラムが起動されると、同期通信部５０は、同期サーバ１０にアクセスして同期処理を実行する（Ｓ１００１）。具体的には、同期通信部５０は、同期設定記憶部５８に格納されている同期設定の内容と、同期サーバ１０の同期用データ記憶部３４に格納されている同期用データの内容とを比較し、同期サーバ１０に格納されているデータがＰＣ２０に格納されているデータよりも新しいと判断される場合は、同期サーバ１０に格納されているデータによって同期用アプリケーション記憶部６０、同期用ユーザデータ記憶部６２、及び同期用設定情報記憶部６４を更新する。ここで、例えば、ＰＣ２０に、同期対象となっているアプリケーションが通常の手段によってインストールされていない場合には、アプリケーション記憶部５２にこのアプリケーションの実行ファイルなどは格納されていない。この場合、同期通信部５０による同期処理によって、このアプリケーションの実行ファイルなどは、同期サーバ１０からダウンロードされて同期用アプリケーション記憶部６０に格納されることとなる。ユーザデータや設定情報についても同様である。
【００３４】
アプリケーション起動部４２は、例えば図８に示すように、実行する同期用アプリケーションが選択されると、ユーザデータ及び設定情報の参照先を同期用に設定して同期用アプリケーションを起動する（Ｓ１００２）。具体的には、アプリケーション起動部４２は、同期設定記憶部５８を参照し、同期設定によって指定されるユーザデータフォルダをユーザデータの参照先として環境変数に設定するとともに、設定情報領域５６の設定情報の代わりに同期用設定情報記憶部６４の同期設定情報が参照されるように同期用アプリケーションを起動する。これにより、アプリケーション実行部４４が生成される。
【００３５】
アプリケーション実行部４４は、環境変数にしたがって同期用ユーザデータ記憶部６２を参照するとともに、同期設定情報参照部４８を介して同期用設定情報記憶部６４を参照することにより、アプリケーションにおいて規定されている各種処理を実行する（Ｓ１００３）。このアプリケーション実行部４４による処理は、処理終了が指示されない間は（Ｓ１００４：Ｎ）、繰り返し実行される。ここで、アプリケーション実行部４４から呼び出される同期設定参照部４８は、参照する対象の設定情報が同期用設定情報記憶部６４に格納されていない場合は（Ｓ１００５：Ｙ）、設定情報領域５６から対象の設定情報を取得してアプリケーション実行部４４に返すとともに、同期用設定情報記憶部６４用のデータ形式に変換した設定情報を生成して同期用設定情報記憶部６４に格納する（Ｓ１００６）。
【００３６】
ユーザ操作等によって、同期用アプリケーションの終了が指示されると（Ｓ１００４：Ｙ）、同期通信部５０は、同期サーバ１０にアクセスして同期処理を実行し、処理を終了する（Ｓ１００７）。具体的には、同期通信部５０は、同期設定記憶部５８、同期用アプリケーション記憶部６０、同期用ユーザデータ記憶部６２、及び同期用設定情報記憶部６４を参照し、同期設定に含まれる更新日時を更新する。そして、同期通信部５０は、同期設定記憶部５８に格納されている同期設定の内容と、同期サーバ１０の同期用データ記憶部３４に格納されている同期用データの内容とを比較し、同期サーバ１０に格納されているデータがＰＣ２０に格納されているデータよりも古いと判断される場合は、ＰＣ２０に格納されているデータを同期サーバ２０にアップロードすることにより、同期サーバ２０の同期用データ記憶部３４に格納されている同期用データを更新する。これにより、同じユーザが別のＰＣ２０で同じアプリケーションを本システムを用いて実行する場合には、同期サーバ２０から同期用データがダウンロードされ、同一の実行環境でアプリケーションを実行することが可能となる。
【００３７】
以上、本実施形態について説明した。本実施形態のアプリケーション同期システムによれば、複数のＰＣを保有するユーザは、各ＰＣで個別にアプリケーションをインストールしたり、手動でデータを同期させたりする必要なく、複数のＰＣ間で同期された状態でアプリケーションを実行することができる。そして、本実施形態では、同期用アプリケーションが起動される際に、設定情報領域５６の設定情報ではなく同期用設定情報記憶部６４の同期用設定情報が参照されるようにアプリケーションが起動される。これにより、設定情報領域５６に格納された設定情報を用いるアプリケーションを複数のＰＣ間で同期させることが可能となる。つまり、本実施形態によれば、設定情報領域５６のデータ構造がＯＳのバージョン等によってＰＣごとに異なるような場合であっても、その構造の差異に関係なく、複数のＰＣにおいて同期がとれた状態でアプリケーションを実行することができる。
【００３８】
また、本実施形態では、同期設定情報参照部４８は、同期用設定情報記憶部６４に同期用設定情報が記憶されていない場合には、この同期用設定情報に対応する設定情報を設定情報領域５６から抽出し、同期用設定情報のデータ形式で同期用設定情報記憶部６４に格納することができる。これにより、設定情報領域５６に記憶されているどの設定情報がアプリケーションで用いられるかを事前に判断することができないような場合であっても、アプリケーションで用いられる設定情報を特定し、同期用設定情報記憶部６４に格納することができる。
【００３９】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。
【００４０】
例えば、本実施形態では、アプリケーション同期システムにおいてアプリケーションを実行するクライアントをＰＣとしたが、クライアントはＰＣに限られず、携帯端末等の任意の情報処理装置を用いることが可能である。
【００４１】
また、例えば、本実施形態では、参照対象となった同期用設定情報が同期用設定情報記憶部６４に格納されていない場合に、設定情報領域５６から設定情報が抽出されて同期用設定情報記憶部６４に格納されることとしたが、はじめにアプリケーションを同期用に登録するＰＣにおいて、設定情報領域５６に格納されている全ての設定情報を抽出して同期用設定情報記憶部６４に格納することとしてもよい。ただし、本実施形態に示したように、同期用設定情報へのはじめての参照が発生したタイミングで、設定情報領域５６から設定情報を抽出して同期用設定情報記憶部６４に格納することにより、同期用設定情報のデータサイズを小さくすることが可能となる。
【００４２】
また、例えば、本実施形態では、図１０に示した処理において、アプリケーション同期システム用のプログラムが起動されたタイミングや、同期用アプリケーションが終了されるタイミングでＰＣ２０と同期サーバ１０との間で同期処理が実行されることとしたが、同期処理のタイミングはこれに限られず任意のタイミングを採用することができる。
【００４３】
また、例えば、本実施形態では、図７に示したように、アプリケーション、ユーザデータ、及び設定情報の全てに対して１つの更新日時を保持し、この更新日時に基づいて同期処理が実行されることとしたが、アプリケーション、ユーザデータ、及び設定情報の各々について個別に更新日時が判定され、個別に同期処理が実行されることとしてもよい。また、ファイル単位で更新日時の判定が行われることとしてもよい。なお、更新日時の情報は、同期設定に含まれる情報として保持するのではなく、ＯＳによって保持されている、フォルダやファイルの更新日時を示す情報を用いることとしてもよい。
【符号の説明】
【００４４】
１０  同期サーバ
２０  パーソナルコンピュータ
３０  通信部
３２  ユーザアカウントデータベース
３４  同期用データ記憶部
４０  同期設定部
４２  アプリケーション起動部
４４  アプリケーション実行部
４６  設定情報参照部
４８  同期設定情報参照部
５０  同期通信部
５２  アプリケーション記憶部
５４  ユーザデータ記憶部
５６  設定情報領域
５８  同期設定記憶部
６０  同期用アプリケーション記憶部
６２  同期用ユーザデータ記憶部
６４  同期用設定情報記憶部
【図１】
0005500704.tif 000002
【図２】
0005500704.tif 000003
【図３】
0005500704.tif 000004
【図４】
0005500704.tif 000005
【図５】
0005500704.tif 000006
【図６】
0005500704.tif 000007
【図７】
0005500704.tif 000008
【図８】
0005500704.tif 000009
【図９】
0005500704.tif 000010
【図１０】
0005500704.tif 000011