(57)【要約】  複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させる。コンピュータが、複数のアプリケーションのそれぞれについて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させるための同期データのサイズをサイズ記憶部に記憶し、コンピュータと同期サーバとの間の通信速度を測定し、同期データのサイズと、通信速度とに基づいて、同期サーバとの間で同期データの送受信を行う優先度をアプリケーションごとに決定し、決定された優先度に従って、同期サーバとの間で同期データの送受信を行う。
2013183159.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
複数のアプリケーションのそれぞれについて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させるための同期データのサイズを記憶するサイズ記憶部、
前記コンピュータと前記同期サーバとの間の通信速度を測定する通信速度測定部、
前記同期データのサイズと、前記通信速度とに基づいて、前記同期サーバとの間で前記同期データの送受信を行う優先度をアプリケーションごとに決定する優先度決定部、
前記決定された優先度に従って、前記同期サーバとの間で前記同期データの送受信を行う同期通信部、
として機能させるためのプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記優先度決定部は、前記通信速度が速くなるに従って前記同期データのサイズが大きいアプリケーションの前記優先度を高くする、
プログラム。
【請求項３】
請求項１または２に記載のプログラムであって、
前記コンピュータを、さらに、前記複数のアプリケーションのそれぞれの起動実績を示す起動情報を記憶する起動情報記憶部として機能させ、
前記優先度決定部は、前記同期データのサイズ、前記通信速度、及び前記起動実績に基づいて、前記優先度をアプリケーションごとに決定する、
プログラム。
【請求項４】
請求項３に記載のプログラムであって、
前記起動情報には、アプリケーションの起動回数を示す情報が含まれ、
前記優先度決定部は、起動回数が多くなるに従って前記優先度を高くする、
プログラム。
【請求項５】
請求項３または４に記載のプログラムであって、
前記起動情報には、アプリケーションの起動時間を示す情報が含まれ、
前記優先度決定部は、起動時間が長くなるに従って前記優先度を高くする、
プログラム。
【請求項６】
コンピュータが、
複数のアプリケーションのそれぞれについて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させるための同期データのサイズをサイズ記憶部に記憶し、
前記コンピュータと前記同期サーバとの間の通信速度を測定し、
前記同期データのサイズと、前記通信速度とに基づいて、前記同期サーバとの間で前記同期データの送受信を行う優先度をアプリケーションごとに決定し、
前記決定された優先度に従って、前記同期サーバとの間で前記同期データの送受信を行う、
同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期プログラム及び同期方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）や携帯端末等の情報処理装置では、文書作成ソフトウェアやウェブブラウザなどの様々なアプリケーションを実行することが可能である。通常、このようなアプリケーションは、情報処理装置ごとにインストールされたうえで使用される。そのため、例えば複数のＰＣを保有しているユーザが、これら複数のＰＣ上で同じアプリケーションを使用する場合は、各ＰＣに対して個別にアプリケーションをインストールする必要がある。さらに、アプリケーションを使用する際のユーザ設定についても、各ＰＣにおいて個別に行う必要がある。このように、複数のＰＣで同一のアプリケーションを使用するのは非常に煩雑となる場合が多い。【０００３】
また、近年普及しつつある、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）などのサービスを用いることにより、各ＰＣに対して個別にアプリケーションをインストールしない構成も考えられる（例えば、特許文献１）。しかしながら、このようなサービスを用いる場合、利用可能なアプリケーションはサービス事業者から提供されるものに限られてしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７７０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、例えば、各ＰＣに対して個別にアプリケーションをインストールするのではなく、１台のＰＣにインストールされたアプリケーションの実行ファイルやデータファイルなどの関連ファイルを複数のＰＣ間で共有する、すなわち、アプリケーションを同期させることも考えられる。ここで、同期対象のアプリケーションが複数存在する場合、どのような順序でアプリケーションを同期させるかが問題となる。単純に、アプリケーション名の順序や、同期対象として登録された順序に従ってアプリケーションを同期させることも可能であるが、ネットワーク環境によっては好ましくない場合もある。例えば、最初に同期させるアプリケーションの同期データのサイズが大きい場合、このアプリケーションの同期が完了するまでの時間が長くなってしまう。そのため、他のアプリケーションの同期完了までの時間も長くなってしまい、利便性が低下する可能性がある。【０００６】
そこで、本発明は、複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る同期プログラムは、コンピュータを、複数のアプリケーションのそれぞれについて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させるための同期データのサイズを記憶するサイズ記憶部、コンピュータと同期サーバとの間の通信速度を測定する通信速度測定部、同期データのサイズと、通信速度とに基づいて、同期サーバとの間で同期データの送受信を行う優先度をアプリケーションごとに決定する優先度決定部、決定された優先度に従って、同期サーバとの間で同期データの送受信を行う同期通信部、として機能させるためのものである。【０００８】
また、本発明の一側面に係る同期方法では、コンピュータが、複数のアプリケーションのそれぞれについて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させるための同期データのサイズをサイズ記憶部に記憶し、コンピュータと同期サーバとの間の通信速度を測定し、同期データのサイズと、通信速度とに基づいて、同期サーバとの間で同期データの送受信を行う優先度をアプリケーションごとに決定し、決定された優先度に従って、同期サーバとの間で同期データの送受信を行う。【０００９】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されてもよい。
【発明の効果】
【００１０】
本発明によれば、複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態におけるアプリケーション同期システムの構成例を示す図である。
【図２】同期サーバが有する機能の一例を示すブロック図である。
【図３】同期データの一例を示す図である。
【図４】ＰＣが有する機能の一例を示すブロック図である。
【図５】同期設定の際に表示される画面の一例を示す図である。
【図６】同期設定の一例を示す図である。
【図７】同期対象のアプリケーションを起動する画面の一例を示す図である。
【図８】サイズ情報の一例を示す図である。
【図９】起動情報の一例を示す図である。
【図１０】アプリケーションの同期処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の一実施形態について説明する。図１は、本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。図１に示すように、アプリケーション同期システムは、同期サーバ１０、及び複数台のパーソナルコンピュータ（ＰＣ）２０を含んで構成される。同期サーバ１０は、ユーザに対してアプリケーションを複数のＰＣ２０間で同期可能とするためのサービスを提供するものであり、１台または複数台の情報処理装置を用いて構成される。ＰＣ２０は、ユーザがアプリケーションを実行させるための情報処理装置であり、同期サーバ１０とインターネット等のネットワークを介して通信可能である。
【００１３】
ここで、例えばユーザ「ＵＳＥＲ００１」は、ＰＣ２０−１及びＰＣ２０−２の２台のＰＣを保有しているとする。このユーザ「ＵＳＥＲ００１」は、同期サーバ１０により提供されるアプリケーション同期システムを用いることにより、各ＰＣに個別にアプリケーションをインストールしたり、手動でデータを同期させたりする必要なく、ＰＣ２０−１及びＰＣ２０−２において同期された状態でアプリケーションを実行することが可能である。ここで、アプリケーションの同期とは、アプリケーションの実行環境を同一の状態にすることをいう。なお、実行環境には、アプリケーションの実行ファイルそのものや、ユーザデータ、設定情報などが含まれる。すなわち、複数のＰＣ間でアプリケーションが同期されることにより、ユーザはどのＰＣを用いる場合においても同じ状態でアプリケーションを実行することが可能となる。
【００１４】
図２は、同期サーバ１０が有する機能の一例を示すブロック図である。図２に示すように、同期サーバ１０は、ユーザアカウントデータベース（ＤＢ）３０、及び同期データ記憶部３２、同期通信部３４、及びサイズ検出部３６を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
【００１５】
ユーザアカウントＤＢ３０は、アプリケーション同期システムを利用するユーザのアカウント情報を記憶するものである。例えば、アカウント情報には、ユーザＩＤやパスワード、メールアドレスなどが含まれる。
【００１６】
同期データ記憶部３２は、複数のＰＣ間でユーザのアプリケーション実行環境を同期させるためのデータである同期データを記憶するものである。図３には、同期データの構造の一例が示されている。図３に示す例では、同期データは、同期用テーブルに格納されるデータと、データストレージに格納されるデータとにより構成されている。同期用テーブルには、ユーザＩＤ、アプリケーションＩＤ、アプリケーションファイルＩＤ、ユーザファイルＩＤ、更新日時、及びサイズが格納され、データストレージには、アプリケーションファイル及びユーザファイルが格納されている。
【００１７】
ユーザＩＤは、各ユーザを識別するためのものであり、ユーザアカウントＤＢ３０に登録されている情報と同じものが使用されている。アプリケーションＩＤは、各ユーザが同期対象として選択したアプリケーションを識別するためのものである。このアプリケーションＩＤは、例えば、ユーザが同期対象のアプリケーションを同期サーバ１０に登録する際に設定することとしてもよいし、同期サーバ１０側で生成されることとしてもよい。
【００１８】
アプリケーションファイルは、同期対象のアプリケーションを実行するためのアプリケーションデータであり、実行ファイルやＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）などを含んでいる。また、アプリケーションファイルには、ＰＣ２０においてアプリケーションデータを格納するフォルダを指定するための情報も含まれている。そして、アプリケーションファイルＩＤは、データストレージ内におけるアプリケーションファイルの格納場所を示すものである。
【００１９】
ユーザファイルは、アプリケーションの実行時に必要となるユーザデータである。ここで、ユーザデータとは、アプリケーションの実行時に参照されるユーザごとのデータであり、例えば、電子メールの送受信を行うための電子メールアプリケーションにおける各ユーザの電子メールデータや、Ｗｅｂブラウザにおける各ユーザのブックマークデータなどである。また、ユーザファイルには、ＰＣ２０においてユーザデータを格納するフォルダを指定するための情報も含まれている。そして、ユーザファイルＩＤは、データストレージ内におけるユーザファイルの格納場所を示すものである。
【００２０】
更新日時には、アプリケーションファイルまたはユーザファイルが更新された日時が設定される。
【００２１】
アプリケーションファイル及びユーザファイルは、アプリケーションを実行するために必要な構成要素である。また、アプリケーションファイルやユーザファイル以外の情報が構成要素に含まれることとしてもよい。例えば、レジストリに格納された設定情報が構成要素に含まれることとしてもよい。
【００２２】
サイズは、アプリケーションごとの同期データのサイズを示す情報である。同期データのサイズは、例えば、同期通信部３４がアプリケーションファイル及びユーザファイルをＰＣ２０に送信する形式に変換した場合のサイズとすることができる。なお、同期通信部３４が、アプリケーションファイル及びユーザファイルの全てではなく、それらの一部を同期データとしてＰＣ２０との間で送受信する場合、同期データ記憶部３２に記憶されるサイズは、ＰＣ２０との間で送受信される同期データのサイズとすることができる。
【００２３】
同期通信部３４は、ネットワークを介してＰＣ２０等の他の情報処理装置との間でデータの送受信を行うことが可能である。そして、同期通信部３４は、複数のＰＣ２０間でアプリケーションを同期させるための各種制御を行うことが可能である。具体的には、同期通信部３４は、同期対象のアプリケーションを複数のＰＣ２０間で同期させるための同期データをＰＣ２０から受信して、同期データ記憶部３２に格納することができる。また、同期通信部３４は、ＰＣ２０からの要求に応じて、同期データ記憶部３２に格納されている同期データをＰＣ２０に送信することができる。また、同期通信部３４は、同期データをＰＣ２０に送信する前に、同期データ記憶部３２を参照し、同期データのサイズをＰＣ２０に送信することができる。
【００２４】
なお、同期通信部３４は、ＰＣ２０との間でアプリケーションを同期させるために、アプリケーションファイル及びユーザファイルの全てを送受信するのではなく、アプリケーションファイル及びユーザファイルの一部を同期データとしてＰＣ２０との間で送受信することとしてもよい。例えば、同期通信部３４は、同期対象のアプリケーションのアプリケーションファイル及びユーザファイルのうち、同期サーバ１０とＰＣ２０との間で状態が異なるファイルを検出することにより、同期データを特定することとしてもよい。
【００２５】
サイズ検出部３６は、アプリケーションごとに、同期データのデータサイズを検出する。そして、サイズ検出部３６は、検出されたデータサイズをユーザＩＤ及びアプリケーションＩＤと対応づけて同期データ記憶部３２（サイズ記憶部）に格納する。例えば、同期通信部３４が、アプリケーションファイル及びユーザファイルの全てを同期データとしてＰＣ２０との間で送受信する場合であれば、サイズ検出部３６は、アプリケーションファイル及びユーザファイルの全てから同期データを生成した場合のデータサイズに基づいて、同期データのサイズを検出することができる。また例えば、同期通信部３４が、アプリケーションファイル及びユーザファイルの一部を同期データとしてＰＣ２０との間で送受信する場合であれば、サイズ検出部３６は、当該一部のアプリケーションファイル及びユーザファイルから同期データを生成した場合のデータサイズに基づいて、同期データのサイズを検出することができる。
【００２６】
図４は、ＰＣ２０が有する機能の一例を示すブロック図である。図４に示すように、ＰＣ２０は、ファイル記憶部５０、アプリケーション実行部５２、同期設定部５４、同期設定記憶部５６、アプリケーション起動部５８、サイズ検出部６０、サイズ記憶部６２、起動情報生成部６４、起動情報記憶部６６、通信速度測定部６８、優先度決定部７０、及び同期通信部７２を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
【００２７】
ファイル記憶部５０は、ＰＣ２０において用いられる各種ファイルを記憶している。各種ファイルには、例えば、オペレーティングシステム（ＯＳ）やアプリケーションで用いられるプログラムやデータが含まれる。各ファイルは、ファイルパス名やファイル名などを含むファイルＩＤ（ファイル識別子）により識別することができる。
【００２８】
アプリケーション実行部５２は、ファイル記憶部５０に記憶されているアプリケーション（アプリケーションプログラム）を実行する。具体的には、アプリケーション実行部５２は、プログラムのインスタンスである「プロセス」を生成することにより、アプリケーションを実行する。各プロセスには、プロセスを識別するためのプロセスＩＤ（プロセス識別子）が割り当てられる。
【００２９】
同期設定部５４は、複数のＰＣ２０間でアプリケーションを同期させるための設定を行うものである。図５には、同期設定の際に表示される画面の一例が示されている。この画面は、アプリケーション同期システム用のプログラムが起動されることにより表示される。ユーザは、この画面を用いることにより、同期対象のアプリケーションを登録したり、同期された状態のアプリケーションを起動したりすることができる。例えば、ユーザが、ＰＣ２０のデスクトップ等にある、あるアプリケーション「ＡＰＬ００１」のショートカット１１０をドラッグアンドドロップによって画面１００の表示領域１１２に移動させると、同期設定部５４は、このショートカットにより特定されるアプリケーションを同期対象のアプリケーションとして登録する。なお、ドラッグアンドドロップに限らず、同期対象のアプリケーションを同期設定部５４に認識させるための任意の手法を用いることができる。例えば、図５に示すように、アプリケーション追加ボタン１１４を押下してファイル参照用のインタフェースを表示させることにより、登録対象のアプリケーションが特定されることとしてもよい。そして、同期設定部５４は、同期対象のアプリケーションに関する情報を同期設定記憶部５６に格納する。なお、同期設定部５４は、同期対象のアプリケーションに関する情報を同期設定部５６に格納するのではなく、同期サーバ１０の同期データ記憶部３２に格納することとしてもよい。
【００３０】
図６には、同期設定記憶部５６に記憶される同期設定の一例が示されている。図６に示すように、同期設定には、ユーザＩＤ、パスワード、アプリケーションＩＤ、アプリケーションファイルＩＤ、ユーザファイルＩＤ、及び更新日時を示す情報が含まれている。ユーザＩＤ及びパスワードは、アプリケーション同期システムを用いるためのものであり、例えば、本システムの利用開始時に同期設定部５４により登録される。アプリケーションＩＤ、アプリケーションファイルＩＤ、ユーザファイルＩＤ、及び更新日時は、同期サーバ１０の同期データ記憶部３２に格納されている情報と同等のものである。
【００３１】
図４に戻り、アプリケーション起動部５８は、ユーザ操作に応じて同期対象のアプリケーションを起動する。例えば、アプリケーション起動部５８は、図７に示す画面１００において、アプリケーションＡＰＬ００１に割り当てられた表示領域１２０が選択されると、同期設定記憶部５６に格納されている同期設定を参照し、アプリケーションＡＰＬ００１を起動する。アプリケーション起動部５８により起動されたアプリケーションは、他のアプリケーションと同様に、アプリケーション実行部５２により実行される。
【００３２】
サイズ検出部６０は、アプリケーションの構成要素（アプリケーションファイル及びユーザファイル）を同期サーバ１０との間で同期させるために同期サーバ１０との間で送受信する同期データのサイズをアプリケーションごとに検出し、サイズ記憶部６２に格納する。図８には、サイズ記憶部６２に記憶されるサイズ情報の一例が示されている。図８に示す例では、サイズ情報は、アプリケーションＩＤ及びサイズを含んでいる。なお、同期データのサイズは、同期設定記憶部５６において、アプリケーションＩＤと対応づけられて記憶されることとしてもよい。
【００３３】
サイズ検出部６０は、例えば、同期設定記憶部５６に記憶されている同期設定を参照することにより、アプリケーションファイル及びユーザファイルの全てを同期データとした場合の同期データのサイズを検出することとしてもよい。また、サイズ検出部６０は、アプリケーションファイル及びユーザファイルのうち、同期通信部７２により特定された一部のファイルを同期データとした場合の同期データのサイズを検出することも可能である。また、サイズ検出部６０は、同期データのサイズを同期サーバ１０から受信することとしてもよい。
【００３４】
図４に戻り、起動情報生成部６４は、同期対象のアプリケーションの起動実績を示す起動情報を生成し、起動情報記憶部６６に格納する。起動実績には、例えば、起動回数や起動時間、起動日時、起動時間帯、起動間隔などが含まれる。起動情報生成部６４は、例えば、同期対象のアプリケーションの実行を監視することにより、起動情報を生成することができる。具体的には、例えば、起動情報生成部６４は、図７に示した画面１００におけるアプリケーションの起動指示を検出することにより、アプリケーションの起動回数を検出することができる。また例えば、起動情報生成部６４は、同期対象のアプリケーションの実行を監視し、そのプロセスが実行されている時間を検出することにより、アプリケーションの起動時間を検出することができる。アプリケーションの起動時間は、例えば、起動時間の累計であってもよいし、平均であってもよい。また、起動回数や起動時間を集計する期間は、例えば、過去１か月間などの所定期間であってもよいし、直近に同期したタイミングから現在までの期間であってもよい。また、起動情報生成部６４は、例えば、ＰＣ２０のＯＳが出力するログ情報を参照することによって、起動情報を生成することとしてもよい。
【００３５】
図９は、起動情報記憶部６６に記憶される起動情報の一例を示す図である。図９に示す例では、起動情報には、アプリケーションＩＤ、起動回数、及び起動時間が含まれている。図９に示す例では、アプリケーションＩＤ「ＡＰＬ００１」の起動回数が「３回」、起動時間が「３時間２５分４２秒」であり、アプリケーションＩＤ「ＡＰＬ００２」の起動回数が「５回」、起動時間が「０時間１５分３９秒」となっている。図９に示す例では示していないが、起動日時や起動時間帯等の起動実績を示す様々な情報についても同様に、アプリケーションごとに起動情報記憶部６６に記憶することができる。
【００３６】
図４に戻り、通信速度測定部６８は、同期通信部７２が同期サーバ１０との間で同期データの送受信を行う前に、ＰＣ２０と同期サーバ１０との間の通信速度を測定する。例えば、通信速度測定部６８は、所定サイズのダミーデータを同期サーバ１０に送信し、このダミーデータの送信が完了するまでの時間を計測することにより、ＰＣ２０と同期サーバ１０との間の通信速度を測定することができる。
【００３７】
優先度決定部７０は、同期通信部７２が同期サーバ１０との間で送受信する同期データのサイズと、ＰＣ２０と同期サーバ１０との間の通信速度とに基づいて、同期サーバ１０との間で同期データの送受信を行う優先度をアプリケーションごとに決定することができる。例えば、優先度決定部７０は、通信速度が速くなるに従って、同期データのサイズが大きいアプリケーションの優先度を高くすることとしてもよい。
【００３８】
より具体的には、例えば、優先度決定部７０は、通信速度が所定速度以上であれば、同期データのサイズが所定サイズ以上のアプリケーションの優先度を高くすることとしてもよい。換言すると、優先度決定部７０は、通信速度が所定速度未満であれば、同期データのサイズが所定サイズ未満のアプリケーションの優先度を高くすることとしてもよい。
【００３９】
すなわち、優先度決定部７０は、ＰＣ２０と同期サーバ１０との間のネットワークがブロードバンドである場合であれば、同期データのサイズが比較的大きいアプリケーションの優先度を高くすることができる。一方、優先度決定部７０は、ＰＣ２０と同期サーバ１０との間のネットワークがナローバンドである場合であれば、同期データのサイズが比較的小さいアプリケーションの優先度を高くすることができる。
【００４０】
また、優先度決定部７０は、優先度を決定する際に、各アプリケーションの起動実績を考慮することもできる。一例として、起動情報記憶部６６に、図９に示した２件の起動情報が格納されている場合を想定する。この場合、優先度決定部７０は、アプリケーション「ＡＰＬ００１」と、アプリケーション「ＡＰＬ００２」の優先度を考慮する際に、同期データのサイズと通信速度に加えて、起動情報を考慮することができる。
【００４１】
例えば、優先度決定部７０は、同期データのサイズと通信速度とに基づいて優先度（サイズ優先度）を決定するとともに、起動実績に基づいて優先度（起動実績優先度）を決定することとしてもよい。そして、優先度決定部７０は、サイズ優先度と起動実績優先度とに基づいて、最終的な優先度を決定することとしてもよい。
【００４２】
例えば、優先度決定部７０は、起動回数が多いアプリケーションの起動実績優先度を高くすることができる。図９に示した２件の場合、アプリケーション「ＡＰＬ００１」の起動回数は「３回」、アプリケーション「ＡＰＬ００２」の起動回数は「５回」である。したがって、優先度決定部７０は、例えば、起動回数の多いアプリケーション「ＡＰＬ００２」の起動実績優先度を、アプリケーション「ＡＰＬ００１」の起動実績優先度より高くすることとしてもよい。
【００４３】
また例えば、優先度決定部７０は、起動時間が長いアプリケーションの起動実績優先度を高くすることができる。図９に示した２件の場合、アプリケーション「ＡＰＬ００１」の起動時間は「３時間２５分４２秒」、アプリケーション「ＡＰＬ００２」の起動時間は「０時間１５分３９秒」である。したがって、優先度決定部７０は、例えば、起動時間の長いアプリケーション「ＡＰＬ００１」の起動実績優先度を、アプリケーション「ＡＰＬ００２」の起動実績優先度より高くすることとしてもよい。
【００４４】
なお、優先度決定部７０は、起動情報に含まれる複数の指標に基づいて起動実績優先度を決定することとしてもよい。例えば、起動情報に含まれる各指標のスコアを算出し、複数の指標のスコアを合計することにより、各アプリケーションの起動実績優先度を算出してもよい。なお、各指標のスコアを合計する際に、指標ごとに重みづけが設定されることとしてもよい。また例えば、指標の優先度が設定されていることとしてもよい。一例として、起動情報に起動回数及び起動時間が含まれる場合、起動回数の優先度が高く設定されていることとしてもよい。この場合、優先度決定部７０は、まず起動回数に基づいて、アプリケーションの起動実績優先度を決定することができる。そして、起動回数が同一である場合には、優先度決定部７０は、さらに、起動時間に基づいてアプリケーションの起動実績優先度を決定することができる。
【００４５】
図４に戻り、同期通信部７２は、複数のＰＣ２０間でアプリケーションを同期させるためのデータ通信を行うものである。具体的には、同期通信部７２は、同期設定記憶部５６を参照し、同期対象のアプリケーションのアプリケーションファイル及びユーザファイルを、同期サーバ１０との間で同期させることができる。例えば、同期通信部７２は、同期設定記憶部５６に記憶されている同期設定の内容と、同期サーバ１０の同期データ記憶部３２に記憶されている同期データの内容とを比較することにより、アプリケーションファイル及びユーザファイルの内容を、アプリケーションＩＤごとに最新の状態に合わせることができる。
【００４６】
例えば、同期通信部７２は、アプリケーションごとに更新日時を比較することにより、同期サーバ１０内のファイルまたはＰＣ２０内のファイルの何れが新しいかを判定することができる。同期サーバ１０内のファイルの方が新しい場合、同期通信部７２は、該アプリケーションのアプリケーションファイル及びユーザファイルを同期サーバ１０からダウンロードすることにより、アプリケーションを同期させることができる。また、ＰＣ２０内のファイルの方が新しい場合、同期通信部７２は、該アプリケーションのアプリケーションファイル及びユーザファイルを同期サーバ１０にアップロードすることにより、アプリケーションを同期させることができる。このように、同期サーバ１０とＰＣ２０との間で送受信されるデータが同期データである。なお、同期データは、アプリケーションファイル及びユーザファイルの全てである必要はなく、アプリケーションを同期させるために必要な一部のファイルであってもよい。
【００４７】
また、同期通信部７２は、優先度決定部７０によって決定された優先度に従って、同期サーバ１０との間で同期データの送受信を行うことができる。例えば、同期通信部７２は、優先度の高いアプリケーションから順に、アプリケーションを同期させることができる。また例えば、同期通信部７２は、優先度が所定レベル以上のアプリケーションについては、優先度の高い順にアプリケーションを同期させ、優先度が所定レベル未満のアプリケーションについては、ユーザから同期指示が入力された場合に同期させることとしてもよい。
【００４８】
同期通信部７２は、各アプリケーションの同期状態を同期設定記憶部５６に記憶することとしてもよい。例えば、同期通信部７２は、同期対象のアプリケーションについて、同期処理の未済を示す情報を同期設定記憶部５６に記憶することとしてもよい。この場合、例えば、同期対象のアプリケーションを起動する画面（例えば図７の画面１００）において、各アプリケーションの同期状態が表示されることとしてもよい。また例えば、この画面において、アプリケーションごとに同期指示を入力可能であることとしてもよい。
【００４９】
なお、同期通信部７２は、アプリケーションを逐次的に同期させるのではなく、複数のアプリケーションを並列的に同期させることとしてもよい。具体的には、同期通信部７２は、例えば、２つのアプリケーションを並列に同期させることとしてもよい。このように複数のアプリケーションを並列的に同期させる場合においても、同期通信部７２は、優先度に従ってアプリケーションの同期を制御することとしてもよい。例えば、同期通信部７２は、並列的に同期されているアプリケーションのうち、優先度の高いアプリケーションの通信時間の割合が大きくなるように、アプリケーションの同期を制御することとしてもよい。
【００５０】
なお、同期通信部７２が同期サーバ１０との間で通信を行うタイミングは、例えば、アプリケーション起動部５８が画面１００を起動した際や、同期対象のアプリケーションが終了した際、タイマにより設定される所定間隔など、任意のタイミングであってよい。
【００５１】
また、同期通信部７２は、アプリケーションを同期させるタイミングを優先度に基づいて決定することとしてもよい。例えば、同期通信部７２は、優先度が比較的高いアプリケーションについては、所定の短い間隔でアプリケーションを同期させ、優先度が比較的低いアプリケーションについては、アプリケーション起動部５８によって起動された際にアプリケーションを同期させることとしてもよい。
【００５２】
起動情報に含まれる起動回数や起動時間等が、直近に同期したタイミングから現在までの期間における起動実績を示す情報である場合、同期通信部７２は、同期処理を行ったアプリケーションの起動情報を初期値にリセットすることができる。
【００５３】
次に、ＰＣ２０における同期処理の流れについて説明する。図１０は、同期処理の一例を示すフローチャートである。起動情報生成部６４は、アプリケーションごとに起動情報を生成し、起動情報記憶部６６に格納する（Ｓ１００１）。例えば、起動情報生成部６４は、同期対象のアプリケーションの起動状態を監視したり、ＰＣ２０のＯＳから出力されるログ情報を参照したりすることにより、起動情報を生成することができる。起動情報生成部６４は、同期指示が発行されるまで（Ｓ１００２：Ｎ）、起動情報の生成を繰り返し実行する。なお、同期指示は、例えば、アプリケーション起動部５８が画面１００を起動した際や、同期対象のアプリケーションが終了した際、タイマにより設定される所定間隔など、任意のタイミングで発行される。
【００５４】
同期指示が発行されると（Ｓ１００２：Ｙ）、同期通信部７２は、同期対象のアプリケーションごとに同期データを特定する（Ｓ１００３）。例えば、同期通信部７２は、同期サーバ１０と通信を行うことにより、各アプリケーションのアプリケーションファイル及びユーザファイルのうち、同期サーバ１０への送信または同期サーバからの受信が必要なファイルを特定する。このように特定されたファイルが、ＰＣ２０と同期サーバ１０との間で送受信される同期データとなる。なお、同期データは、アプリケーションファイルやユーザファイルそのものではなく、通信に適した形式に変換されたものとすることができる。
【００５５】
同期データが特定されると、サイズ検出部６０は、同期データのサイズを検出し、サイズ記憶部６２に格納する（Ｓ１００４）。なお、例えば、各アプリケーションのアプリケーションファイル及びユーザファイルの全てが同期データの対象とされる場合のように、同期データがあらかじめ特定されている場合においては、サイズ検出部６０は、同期指示が発行される前に同期データのサイズを検出することとしてもよい。
【００５６】
続いて、通信速度測定部６８は、ＰＣ２０と同期サーバ１０との間の通信速度を測定する（Ｓ１００５）。例えば、通信速度測定部６８は、所定サイズのダミーデータを同期サーバ１０に送信することにより、通信速度を測定することができる。なお、通信速度測定部６８は、通信速度を測定するために、サイズが異なる複数のダミーデータを同期サーバ１０に送信することとしてもよい。
【００５７】
そして、優先度決定部７０は、通信速度、同期データのサイズ、及び起動情報に基づいて、各アプリケーションの優先度を決定する（Ｓ１００６）。例えば、優先度決定部７０は、通信速度が速くなるに従って、同期データのサイズが大きいアプリケーションの優先度を高くすることとしてもよい。さらに、優先度決定部７０は、通信回数が多いアプリケーションや、起動時間の長いアプリケーションの優先度を高くすることとしてもよい。
【００５８】
同期通信部７２は、決定された優先度に従って、同期対象のアプリケーションの同期処理を実行する（Ｓ１００７）。具体的には、同期通信部７２は、同期設定部記憶部５６を参照し、同期対象のアプリケーションの構成要素（アプリケーションファイル及びユーザファイル）を同期サーバ１０とＰＣ２０との間で同期させるために、同期サーバ１０との間で同期データを送受信する。この際に、同期通信部７２は、例えば、優先度が高いアプリケーションから順に同期処理を実行することができる。
【００５９】
以上、本実施形態のアプリケーション同期システムについて説明した。本実施形態によれば、同期データのサイズと通信速度とに基づいて、各アプリケーションの同期処理の優先度を決定することができる。したがって、例えば、ナローバンドの環境においては、同期データのサイズが比較的小さいアプリケーションの同期処理の優先度を高くすることができる。そのため、ナローバンドにおいて、同期データのサイズが比較的大きいアプリケーションの同期処理が優先的に実行された場合と比較して、同期データのサイズが比較的小さいアプリケーションの同期処理が完了するまでの時間を削減することが可能となる。一方、例えば、ブロードバンドの環境においては、同期データのサイズが比較的大きいアプリケーションの同期処理の優先度を高くすることができる。これにより、複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させることが可能となる。
【００６０】
また、本実施形態によれば、同期データのサイズ及び通信速度に加えて、アプリケーションの起動実績に応じて、各アプリケーションの同期処理の優先度を決定することができる。したがって、例えば、起動回数が多いアプリケーションや、起動時間が長いアプリケーションを優先的に同期させることができる。このように、起動回数が多いアプリケーションや、起動時間が長いアプリケーションは、ユーザが良く利用するアプリケーションであると考えられる。そのため、このようなアプリケーションの同期処理を優先的に行うことにより、このようなアプリケーションが使用可能となるまでの待ち時間を削減することができる。
【００６１】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。
【００６２】
例えば、本実施形態では、アプリケーション同期システムにおいてアプリケーションを実行するクライアントをＰＣとしたが、クライアントはＰＣに限られず、携帯端末等の任意の情報処理装置を用いることが可能である。
【００６３】
また例えば、本実施形態では、起動回数や起動時間に基づいてアプリケーションを同期させる際の優先度を決定することとしたが、優先度を決定する際の指標はこれに限られない。例えば、起動情報には、起動日時や起動時間帯、起動間隔を示す情報が含まれることとしてもよい。そして、優先度決定部７０は、例えば、アプリケーションの起動日時や起動時間帯、起動間隔に基づいて優先度を決定することとしてもよい。具体的には、例えば、優先度決定部７０は、同期処理を実行する時刻近辺での実行頻度が高いアプリケーションの優先度を高くすることとしてもよい。
【符号の説明】
【００６４】
１０  同期サーバ
２０  ＰＣ
３０  ユーザアカウントＤＢ
３２  同期データ記憶部
３４  同期通信部
３６  サイズ検出部
５０  ファイル記憶部
５２  アプリケーション実行部
５４  同期設定部
５６  同期設定記憶部
５８  アプリケーション起動部
６０  サイズ検出部
６２  サイズ記憶部
６４  起動情報生成部
６６  起動情報記憶部
６８  通信速度測定部
７０  優先度決定部
７２  同期通信部
【図１】
2013183159.tif 000003
【図２】
2013183159.tif 000004
【図３】
2013183159.tif 000005
【図４】
2013183159.tif 000006
【図５】
2013183159.tif 000007
【図６】
2013183159.tif 000008
【図７】
2013183159.tif 000009
【図８】
2013183159.tif 000010
【図９】
2013183159.tif 000011
【図１０】
2013183159.tif 000012
【国際調査報告】
2013183159.tif 000013
2013183159.tif 000014