(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行されるデータ同期方法であって、
第１の端末からデータ更新情報を受信すると、記憶部内の端末使い分け学習ＤＢに記憶された、該第１の端末での第１のファイル種別のデータファイルの操作後に複数の第２の端末の各々の第２のファイル種別のデータファイルを使用した回数を正規化した使用度に基づいて、データ同期の対象となる該複数の第２の端末に対して、優先的に該操作されたデータを同期する端末の優先度を算出して、該端末の優先度順に該複数の第２の端末の端末ＩＤを前記記憶部に記憶し、
前記第２の端末毎に、前記第２のファイル種別を用いて同期データの優先度を算出して、該データの優先度順に該第２のファイル種別を前記記憶部に記憶し、
前記記憶部に記憶された、前記端末の優先度順に従った前記第２の端末毎に、前記データの優先度順に従って前記同期データを転送する
ことを特徴とするデータ同期方法。
【請求項２】
前記データ更新情報の受信時に、前記記憶部に記憶された前記端末使い分け学習ＤＢに記憶される、前記第１の端末の直前に使用されていた第３の端末での第３のファイル種別のデータファイルの操作後に、該第１の端末の前記第１のファイル種別のデータファイルを使用した回数に１加算し、
前記端末使い分け学習ＤＢに記憶される各回数を全回数の合計で割り算することによって前記使用度を算出する
ことを特徴とする請求項１記載のデータ同期方法。
【請求項３】
前記第１の端末、第２の端末、及び第３の端末は、一のユーザによって使用され、
前記記憶部に記憶された直前使用端末ＤＢから、前記ユーザのユーザＩＤと前記直前に使用されていた第３の端末の端末ＩＤとを取得し、
前記記憶部に記憶された前記データ更新情報を記憶した更新履歴ＤＢから、前記ユーザＩＤと前記端末ＩＤとを示すレコードの一覧にした更新履歴リストを取得し、
前記更新履歴リストから順に取得した前記第３の端末の端末ＩＤ、該第３の端末で操作されたデータファイルのファイル種別、及び該操作と、前記データ更新情報を送信した該第１の端末の端末ＩＤ、及び該第１の端末で操作されたデータファイルのファイル種別とで前記端末使い分け学習ＤＢを検索し、
検索されたレコードの前記回数に１加算する
ことを特徴とする請求項２記載のデータ同期方法。
【請求項４】
前記第１の端末からデータ更新情報を受信すると、該第１の端末の端末ＩＤが前記記憶部に記憶されている使用中端末ＤＢの使用中端末の端末ＩＤと異なる場合、該使用中端末ＤＢの端末ＩＤを前記直前使用端末ＤＢの端末ＩＤにコピーし、該使用中端末ＤＢの端末ＩＤを該第１の端末の端末ＩＤに更新した後、前記端末の優先度を算出する
ことを特徴とする請求項３項記載のデータ同期方法。
【請求項５】
第１の端末での第１のファイル種別のデータファイルの操作後に複数の第２の端末の各々の第２のファイル種別のデータファイルを使用した回数を正規化した使用度を記憶する記憶部と、
前記第１の端末からデータ更新情報を受信すると、前記記憶部に記憶された前記使用度に基づいて、データ同期の対象となる該複数の第２の端末に対して、優先的に該操作されたデータを同期する端末の優先度を算出して、該端末の優先度順に該複数の第２の端末の端末ＩＤを前記記憶部に記憶する端末優先度算出部と、
前記第２の端末毎に、前記第２のファイル種別を用いて同期データの優先度を算出して、該データの優先度順に該第２のファイル種別を前記記憶部に記憶するデータ優先度算出部と、
前記記憶部に記憶された、前記端末の優先度順に従った前記第２の端末毎に、前記データの優先度順に従って前記同期データを転送する同期管理部と
を有することを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数端末間でデータを同期させることに関する。
【背景技術】
【０００２】
近年、スマートフォン等の多機能携帯電話、タブレット端末等の普及により、一人のユーザが複数のモバイル端末やＰＣ（Personal Computer）を使う機会が増えている。ユーザが持っている複数の端末間でデータを同期するシステムにおいて、全端末に全データを同期すると、転送量及び転送時間が掛かってしまう。また、端末によっては、記憶領域の容量の制限から全データを保存することができない場合がある。
【０００３】
全端末に全データを同期するのではなく、端末毎に同期するデータ部分のみとすることで、転送量及び転送時間の面で、効率的にデータ同期を行うことができる。ユーザが端末毎に同期対象データを指定すること等が考えられるが、例えば、サーバに蓄積された情報を、現在のユーザの状態（時間情報、場所情報、動作情報、映像情報、音声情報、圧力情報、匂い情報、温度情報、湿度情報、生体情報、購入情報等に応じた状態）や習慣情報に基づいて必要なデータのみを、クライアント端末に自動的に同期させる技術などが知られている。
【０００４】
また、システムが端末の能力（画面サイズ、空き容量、バッテリ残量、回線、キーボードの有無、ＧＰＳ位置情報）に応じて、又は、端末側の操作履歴情報に基づいて、各端末に同期するデータを選別する技術などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１１４２５号公報
【特許文献２】特開２００９−１５７６２６号公報
【特許文献３】特開２０００−１５５６６７号公報
【特許文献４】特開２０００−２２２２９６号公報
【特許文献５】特開２０１１−１８１０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来技術では、単に、各端末の能力に応じて同期するデータを選別する仕組みでは、ユーザがその端末では使うつもりのないデータ等に対して無駄な同期が行われる可能性がある。また、必要な端末への必要な同期が後回しにされる可能性がある。例えば、普段は電源が入っていない端末の場合、電源を入れた後に同期が始まっても、使いたいデータが同期されるまで待たされると言った問題がある。これは、データの更新順に同期させるデータを転送すると、電源オフ中の更新が溜まっている等により、ユーザがすぐに使いたいわけではないデータの転送がしばらく続いてしまうためと考えられる。
【０００７】
また、端末側での操作履歴情報に基づいた優先度を使って同期データを選別する場合、一人のユーザが使用する複数の端末へのデータの同期にはそのまま適用することができない場合がある。例えば、ユーザは、タブレット端末ではＰＤＦ（Portable Document Format）を参照するが、スマートフォンではＰＤＦを参照しない等、参照するファイルが端末によって異なる場合に、端末毎に同期データを選別するための優先度を持たせることが考えられる。しかしながら、ユーザの複数の端末を用いた利用形態において、ある作業手順で、ユーザがある端末から別の端末へと移ってデータに対して操作する場合、移った先の端末へのデータ同期において、必要なデータが優先されない可能性がある。
【０００８】
よって、本発明の目的は、ユーザの複数の端末を用いた利用形態に基づいて、同期データの選択、優先して同期データを転送する端末の選択、及び、同期データの転送を適切なタイミングで行うことである。
【課題を解決するための手段】
【０００９】
開示の技術は、コンピュータによって実行されるデータ同期方法であって、第１の端末からデータ更新情報を受信すると、記憶部内の端末使い分け学習ＤＢ（端末間作業手順学習ＤＢ）に記憶された、該第１の端末での第１のファイル種別のデータファイルの操作後に複数の第２の端末の各々の第２のファイル種別のデータファイルを使用した回数を正規化した使用度に基づいて、データ同期の対象となる該複数の第２の端末に対して、優先的に該操作されたデータを同期する端末の優先度を算出して、該端末の優先度順に該複数の第２の端末の端末ＩＤを前記記憶部に記憶し、前記第２の端末毎に、前記第２のファイル種別を用いて同期データの優先度を算出して、該データの優先度順に該第２のファイル種別を前記記憶部に記憶し、前記記憶部に記憶された、前記端末の優先度順に従った前記第２の端末毎に、前記データの優先度順に従って前記同期データを転送する。
【００１０】
また、上記課題を解決するための手段として、上記データ同期方法を行うサーバ装置、コンピュータに上記データ同期方法における処理を実行させるプログラム、及び、そのプログラムを記録した記録媒体とすることもできる。
【発明の効果】
【００１１】
開示の技術では、複数の端末を使い分けて作業するユーザが、必要な端末で必要なデータを必要なタイミングで使用することができる。
【図面の簡単な説明】
【００１２】
【図１】サーバ装置のハードウェア構成を示す図である。
【図２】データ同期システムにおける機能構成例を示す図である。
【図３】データ同期システムにおける全体処理の概要を説明するための処理フローを示す図である。
【図４】端末リストＤＢのデータ構成例を示す図である。
【図５】データ更新情報の受信時のサーバ装置での処理を説明するための図である。
【図６】各データベースのデータ構成例を示す図である。
【図７】端末使い分け学習ＤＢの更新処理を説明するためのフローチャート図である。
【図８】更新履歴ＤＢのデータ例を示す図である。
【図９】端末使い分け学習ＤＢのデータ例の一部を示す図（その１）である。
【図１０】端末使い分け学習ＤＢのデータ例の一部を示す図（その２）である。
【図１１】データ更新情報が追加されるデータベースのデータ例を示す図である。
【図１２】図５のステップＳ５８での端末優先度算出部による端末優先度の算出処理を説明するためのフローチャート図である。
【図１３】端末優先度の算出処理をデータ例で説明するための図である。
【図１４】図５のステップＳ６２でのデータ優先度算出部によるデータ優先度の算出処理を説明するためのフローチャート図である。
【図１５】「ＰＣ」の場合のデータ優先度の算出処理におけるデータ例を示す図（その１）である。
【図１６】「ＰＣ」の場合のデータ優先度の算出処理におけるデータ例を示す図（その２）である。
【図１７】図５のステップＳ６２からＳ６８までの処理をデータ例で説明するため図である。
【図１８】他のデータ例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例では、ユーザの複数の端末を用いた利用形態において、ある作業手順で、ユーザがある端末から別の端末へと移ってデータに対して操作する場合、移った先の端末へのデータ同期をその作業手順に応じて効果的に行う。ユーザによる複数の端末の使い分けを学習して、必要なデータを同期させる。
【００１４】
学習する端末の使い分けとして、複数の端末にまたがる作業、端末を切り替えながらの作業等における、データと端末の使用順などである。例えば、一人のユーザが、スマートフォンと、タブレット端末と、ＰＣ（Personal Computer）とを所有し、スマートフォンで撮った写真をいつもＰＣで加工する場合、タブレット端末よりも優先してＰＣに、他のデータより写真データを優先的に同期させる。他の例として、ユーザがタブレット端末でメールを読んでいて、メール内のＩＣカード認証を必要とする社内サイトＵＲＬにアクセスするために、ＰＣの電源を入れて社内サイトＵＲＬを開きたい場合、タブレット端末でメールを見たら、スマートフォンより優先してＰＣに、他のデータよりメールを優先的に同期させる。
【００１５】
上述したようなデータ同期制御を行う本実施例に係るサーバ装置は、図１に示すようなハードウェア構成を有する。図１は、サーバ装置のハードウェア構成を示す図である。図１において、サーバ装置１００は、コンピュータによって制御される装置であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ１８とを有し、バスＢに接続される。
【００１６】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従ってサーバ装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００１７】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００１８】
入力装置１４は、マウス、キーボード等を有し、ユーザがサーバ装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力装置１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。
【００１９】
サーバ装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってサーバ装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して補助記憶装置１３にインストールされる。そして、プログラムが起動されると、補助記憶装置１３にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２０】
また、サーバ装置１００によって行われる処理を実現するプログラムが、通信Ｉ／Ｆ１７を介して外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００２１】
図２は、データ同期システムにおける機能構成例を示す図である。図２に示すデータ同期システム１０００において、サーバ装置１００は、ユーザが作業する２以上の端末１ａ、１ｂ、・・・（以下、総称して端末１と言う。）とネットワーク２を介して接続される。
【００２２】
各端末１は、端末状態取得部５１と、同期管理部５２とを有する。また、端末１が有する記憶部５９には、端末状態管理ＤＢ５３と、同期対象データ管理ＤＢ５４とが格納される。
【００２３】
また、サーバ装置１００は、同期制御部１２１と、同期管理部１２２と、端末使い分け学習部１２３と、端末優先度算出部１２４と、データ優先度算出部１２５とを有する。また、記憶部１３０には、端末使い分け学習ＤＢ３１と、端末リストＤＢ３２ａと管理情報ＤＢ３２ｂとを含む端末管理ＤＢ３２と、同期待ち更新データＤＢ３３と、使用中端末ＤＢ３４と、直前使用端末ＤＢ３５と、更新履歴ＤＢ３６と、同期対象データ管理ＤＢ３７とが記憶される。
【００２４】
端末１側の機能構成について説明する。端末状態取得部５１は、ストレージ空き容量のモニタリング、及び、ファイル参照・更新のモニタリング等を行う処理部である。モニタリングにより取得した端末状態情報は、端末状態管理ＤＢ５３で管理される。端末状態取得部５１は、端末状態情報を同期管理部５２へ通知する（１）。
【００２５】
同期管理部５２は、端末状態取得部５１から通知される端末状態情報に基づいて、同期させるデータ毎に同期状況を、同期対象データ管理ＤＢ５４を用いて管理する処理部である。また、同期管理部５２は、データ更新情報を作成して、サーバ装置１００へ送信する（２）。
【００２６】
端末状態管理ＤＢ５３は、端末状態取得部５１によって得られた、空き容量、バッテリ残量等の情報を管理するためのデータベースである。同期対象データ管理ＤＢ５４は、自端末１における同期データを管理するためのデータベースであり、同期対象データリストＤＢ５４ａを有する。同期対象データリストＤＢ５４ａは、各同期させるデータ毎に、属性、同期状態等を管理するためのデータベースである。属性は、データＩＤ、パス、ファイル種別、サイズ、サーバ装置１００での更新日時、端末１での更新日時、端末１での参照日時、端末１での参照頻度等の情報によって示される。同期状態は、最新、同期非対象、リモート更新有り未反映、ローカル更新有り未反映、削除予定等の情報によって示される。
【００２７】
サーバ装置１００側の機能構成について説明する。同期制御部１２１は、データ同期に係る処理を制御する処理部である。同期制御部１２１は、ネットワーク２を介して端末１ａの同期管理部５２からデータ更新情報を受信すると、同期管理部１２２へ通知する。同期管理部１２２は、同期制御部１２１から通知されたデータ更新情報に基づいて、端末使い分け学習部１２３に複数の端末１を用いたユーザの複数端末の使い分けを学習させる処理部である。端末１から受信したデータ更新情報は、同期待ち更新データＤＢ３３で管理されるデータ更新リスト３３ａにリストされる。
【００２８】
端末使い分け学習部１２３は、データ更新前後の端末を識別するための端末ＩＤと、データ更新前後の各々の端末で操作対象であったデータファイル（以下、単に、ファイルと言う。）の種別を示すファイル種別とから、データ更新前の端末１ａでのデータ操作後に切り替えられた他の端末１ｂでのデータの使用回数を正規化する処理部である。端末ＩＤ、ファイル種別、使用回数、及び使用度は、端末使い分け学習ＤＢ３１に記憶され管理される（３）。受信したデータ更新情報は、同期制御部１２１によって、同期対象データ管理ＤＢ３７に保存される（４）。
【００２９】
端末優先度算出部１２４は、同期制御部１２２によって呼び出（関数コール）されることによって（５）、データ更新後に同期データを転送する端末１の優先度（端末優先度と言う。）を算出する処理部である。同期データは、いずれかの端末１で更新されたデータファイル内のデータ全部又は一部であり、少なくとも１以上の他の端末１ｂ等にて同期させるデータ部分である。
【００３０】
データ優先度算出部１２５は、同期制御部１２２によって呼び出（関数コール）されることによって（６）、端末１ｂ等への同期待ちの更新データが複数ある場合に、各データの優先度（データ優先度と言う。）を算出する処理部である。端末優先度及びデータ優先度は、端末使い分け学習ＤＢ３１等を用いて、データ更新時にユーザが使用している端末１及びデータが更新されたファイルに基づいて算出される。データ優先度は、さらに更新日時を加味して算出される。
【００３１】
データ更新リスト３３ａは、各端末１から受信したデータ更新情報が、端末１を識別する端末ＩＤに対応付けられた一覧であり、データを更新した端末１の端末ＩＤ、データが更新されたファイルを識別するためのデータＩＤ、更新日時、ファイル種別、ユーザによる操作、ファイル内容等の項目を有する。
【００３２】
端末使い分け学習ＤＢ３１は、端末使い分け学習部１２３によって管理され、例えば、図９及び図１０にその一部が例示されるように、レコードを特定するための行番号と、データ更新直前の、端末ＩＤ１、ファイル種別１、及び操作１と、データ更新後の端末ＩＤ２及びファイル種別２と、使用回数と、使用回数を正規化した使用度等の項目を有する。値の組み合せ＜端末ＩＤ１、ファイル種別１、操作１＞毎に、値の組み合せ＜端末ＩＤ２、ファイル種別２、使用回数、使用度＞が対応付けられる。
【００３３】
端末ＩＤ１及び２は、ユーザが使用する複数の端末１の各々を識別する端末ＩＤである。操作には、作成、参照、変更、削除等が指定される。ファイル種別１及び２は、予めリストアップして定義され、例えば、ｐｄｆ、ｊｐｅｇ、ｄｏｃ、ｐｐｔ、・・・等である。全端末、全操作、全ファイル種別に関するテーブルが予め用意されている。
【００３４】
使用回数は、ユーザが、端末１ａでのファイル種別１のデータファイルに対する操作１を行った後、端末１ｂにおいてファイル種別２のデータファイルを使用した回数を示す。
【００３５】
端末使い分け学習ＤＢ３１は、端末優先度算出部１２４が端末優先度（後述される）を計算する際に使用される。ユーザが現在使用中の端末１ａに係る値の組み合せ＜端末ＩＤ１、ファイル種別１、操作１＞に基づいて、データ同期の対象となる他の端末１ｂ等に係る値の組み合せ＜端末ＩＤ２、ファイル種別２＞に対する使用回数及び使用度が設定される。
【００３６】
端末使い分け学習ＤＢ３１は、データ更新情報の受信時に更新される。端末使い分け学習ＤＢ３１では、ユーザが現在使用中の端末１ａでのファイル種別１のデータファイルの操作後、ユーザが端末１ｂでファイル種別２のデータファイルを使用した使用回数を正規化して求めた使用度が設定される。
【００３７】
端末管理ＤＢ３２は、ユーザが使用する各端末１の情報を管理するためのデータベースであり、端末リストＤＢ３２ａと、管理情報ＤＢ３２ｂとを有する。端末リストＤＢ３２ａは、ユーザ毎に、各端末１に端末１の属性を対応付けて管理するデータベースである。属性は、端末ＩＤ、機種、回線、画面サイズ、キーボードの有無等の情報によって示される。管理情報ＤＢ３２ｂは、端末状態、同期対象リスト、データ状態、ファイル種別毎の使用度合い等を管理するためのデータベースである。端末状態は、空き容量、バッテリ残量、電源オン／オフ、随時同期又はポーリング同期等の情報によって示される。同期対象リストは、端末１内にある同期対象となるデータを識別するためのデータＩＤのリストである。データ状態は、同期状態、端末１での更新日時、端末１での参照日時、端末１での参照頻度等の情報によって示される。ファイル種別は、txt, doc, ppt, xls, pdf, jpeg, mp3, mp4,・・・等で示され、使用度合いは、端末１でのファイル種別に対するユーザの使用度合いを示す。
【００３８】
同期待ち更新データＤＢ３３は、ユーザが使用している端末１ａから受信したデータ更新情報をデータ更新リスト３３ａに格納し、他の端末１ｂへの同期待ちの更新データを管理するデータベースである。
【００３９】
使用中端末ＤＢ３４は、現在使用中の端末ＩＤを保持するデータベースである。直前使用端末ＤＢ３５は、ユーザによって現在使用され、データ更新情報を送信したデータの更新元端末へ切り替える直前にユーザが使用していた端末（直前使用端末と言う。）の端末ＩＤ、ファイル種別、操作種別を保持するデータベースである。更新履歴ＤＢ３６は、データ更新の履歴を格納するデータベースである。
【００４０】
同期対象データ管理ＤＢ３７は、全端末１に対する全ての同期対象データを管理するためのデータベースであり、全同期対象データリストＤＢ３７ａと、全同期対象データＤＢ３７ｂとを有する。同期対象データリストＤＢ３７ａは、各データの属性、データ毎の管理情報等を格納するデータベースである。属性は、データＩＤ、パス、ファイル種別、サイズ、サーバ装置１００での更新日時、サーバ装置１００での参照日時、サーバ装置１００での参照頻度等の情報によって示される。管理情報は、同期対象として登録されている端末１の一覧である。全同期対象データＤＢ３７ｂは、複数の端末１間でデータを同期させるために最新のデータ本体を管理するためのデータベースである。
【００４１】
データ同期システム１０００における全体処理の概要について図３で説明する。図３は、データ同期システムにおける全体処理の概要を説明するための処理フローを示す図である。図３において、ユーザは、端末１ａ、１ｂ、及び１ｃを使い分けるものとする。
【００４２】
端末１ａで、ユーザがあるファイルに対して作業をしたことにより、端末状態取得部５１がデータ更新を検出すると同期管理部５２に通知される（ステップＳ１１）。同期管理部５２は、データ更新情報を作成して、サーバ装置１００に送信する（ステップＳ１２）。
【００４３】
サーバ装置１００では、データ更新情報を受信すると、同期制御部１２１は受信したデータ更新情報を同期管理部１２２に通知する（ステップＳ２１）。そして、同期管理部１２２は、受信したデータ更新情報を端末使い分け学習ＤＢ３１に反映する（ステップＳ２２）。同期制御部１２１は、受信したデータ更新情報を同期対象データ管理ＤＢ３７に保存する（ステップＳ２３）。
【００４４】
端末優先度算出部１２４は、同期データを転送する同期先端末に対して優先度を付ける（ステップＳ２４）。同期先端末は、ユーザが使用する複数の端末のうち、データが更新された端末以外の端末である。２以上の同期先端末に対して、どの端末に優先して同期データを転送するかを示す端末の優先度が決定される。
【００４５】
データ優先度算出部１２５は、同期先端末毎に、転送される同期データに対して優先度を付ける（ステップＳ２５）。同期先端末毎に、どの同期データを優先して転送するかを示す同期データの優先度が決定される。
【００４６】
同期制御部１２１は、端末優先度及び同期データ優先度に従って、端末１ｂ及び１ｃに同期データを送信する（ステップＳ２６）。例えば、端末優先度に従って、端末１ｂ、そして端末１ｃが選択され、各端末１ｂ及び１ｃでのデータ優先度に従って、同期データが順に選択され、同期データが送信される。
【００４７】
端末１ｂでは、データ更新情報をサーバ装置１００から受信すると（ステップＳ３１）、同期管理部５２が、受信したデータ更新情報を保存して、端末１ｂにおいて対象となる同期データを更新して最新の状態にする（ステップＳ３２）。また、同期管理部５２は、データ更新情報に基づいて、同期対象データ管理ＤＢ５４と、端末状態管理ＤＢ５３とを更新する（ステップＳ３３）。
【００４８】
同様に、データ更新情報を受信した端末１ｃでは、データ更新情報をサーバ装置１００から受信すると（ステップＳ４１）、同期管理部５２が、受信したデータ更新情報を保存して、端末１ｂにおいて対象となる同期データを更新して最新の状態にする（ステップＳ４２）。また、同期管理部５２は、データ更新情報に基づいて、同期対象データ管理ＤＢ５４と、端末状態管理ＤＢ５３とを更新する（ステップＳ４３）。
【００４９】
上述したように端末１にてデータ更新を検出して同期を開始するほかに、ファイル共有サーバ装置にてユーザがファイルを更新したことを検出して同期を開始することも可能である。その場合は、ファイル共有サーバ装置にファイル更新を検出するためのモニタリング部を備えればよい。
【００５０】
以下に、本実施例が適用可能な、ユーザの複数の端末を用いた利用形態における作業手順例を用いて説明する。
【００５１】
［作業手順例１］
ユーザはスマートフォンで撮った写真をいつもＰＣで加工する。作業手順例１の場合、本実施例が適用されることにより、スマートフォンで写真を撮った後は、タブレット端末よりも優先してＰＣを選択し、ＰＣの他のデータより写真データを優先して同期させる。
【００５２】
ユーザが使用する複数の端末１は、予め端末管理ＤＢ３２の端末リストＤＢ３２ａに登録される。図４は、端末リストＤＢのデータ構成例を示す図である。図４に例示される端末リストＤＢ３２ａは、ユーザＩＤと、端末ＩＤと、機種、回線、画面サイズ、キーボード等の項目を有する。
【００５３】
端末リストＤＢ３２ａにおいて、ユーザＩＤ「User1」のユーザが、端末ＩＤ「スマホ」、「ＰＣ」、及び「タブレット」で識別される３台の端末を使用していることが分かる。ユーザＩＤ「User1」に対応付けられる端末ＩＤ「スマホ」の端末は、機種が「ＡＲＲＯＷＳ  μ」、回線が「３Ｇ」、画面サイズが「４」、及びキーボードが「無」である。また、ユーザＩＤ「User1」に対応付けられる端末ＩＤ「ＰＣ」の端末は、機種が「ＬＩＦＥＢＯＯＫ」、回線が「無線ＬＡＮ」、画面サイズが「１２」、及びキーボードが「有」である。更に、ユーザＩＤ「User1」に対応付けられる端末ＩＤ「タブレット」の端末は、機種が「ＡＲＲＯＷＳ  Ｔａｂ」、回線が「ＬＴＥ」、画面サイズが「１０．１」、及びキーボードが「無」である。
【００５４】
次に、データ更新情報の受信時のサーバ装置１００での処理について図５及び図６で説明する。図５は、データ更新情報の受信時のサーバ装置での処理を説明するための図である。図６は、各データベースのデータ構成例を示す図である。
【００５５】
図５において、サーバ装置１００の同期制御部１２１は、データ更新情報を受信したか否かを判断する（ステップＳ５１）。データ更新情報を受信していない場合、データ更新情報を受信するまで所定間隔でステップＳ５１での処理を繰り返す。データ更新情報を受信した場合、データ更新情報が、同期制御部１２１によって同期管理部１２２に通知される。データ更新情報は、データ更新リスト３３ａに格納される。
【００５６】
データ更新リスト３３ａの一部が図６（Ａ）に示される。端末ＩＤ「スマホ」に関するデータ更新情報は、図６（Ａ）に例示されるように「スマホ」のデータ更新リスト３３ａ−１に格納される。
【００５７】
図６（Ａ）に例示される「スマホ」のデータ更新リスト３３ａ−１では、端末ＩＤ「スマホ」の端末１（更新元端末）でユーザによって、ファイル種別「jpeg」のデータＩＤ「picture1.jpeg」で特定されるデータファイルが更新日時「2011-10-28T11:48:21」で操作「作成」によって更新されたことを示している。データＩＤ「picture1.jpeg」のデータファイルは、ファイル内容から「カメラで撮った静止画データ」であることが示されている。
【００５８】
また、同一の端末ＩＤ「スマホ」の端末１でユーザによって、ファイル種別「txt」のデータＩＤ「memo1.txt」で特定されるデータファイルが更新日時「2011-10-28T12:18:21」で操作「変更」によって更新されたことを示している。データＩＤ「memo1.txt」のデータファイルは、ファイル内容から、「買い物メモ：・・・」であることが示されている。ファイル内容は必須ではなく、省略されていても良い。
【００５９】
以下、同期管理部１２２によって行われる処理について説明する。同期管理部１２２は、データ更新情報を送信した更新元端末の端末ＩＤが使用中端末ＤＢ３４に設定されている使用中端末の端末ＩＤと異なるか否かを判断する（ステップＳ５２）。更新元端末の端末ＩＤが使用中端末ＤＢ３４の使用中端末の端末ＩＤと異なる場合、同期管理部１２２は、直前使用端末ＤＢ３５を更新し（ステップＳ５３）、また、使用中端末ＤＢ３４を更新する（ステップＳ５４）。同期管理部１２２は、更新元端末の端末ＩＤが使用中端末ＤＢ３４の使用中端末の端末ＩＤと異なる場合、使用中端末ＤＢ３４の端末ＩＤを直前使用端末ＤＢ３５の端末ＩＤにコピーした後、使用中端末ＤＢ３４の端末ＩＤを受信したデータ更新情報に基づいて更新する。
【００６０】
ステップＳ５３及びＳ５４での処理の後、又は、ステップＳ５２にて更新元端末の端末ＩＤが使用中端末の端末ＩＤと一致すると判断した場合、同期管理部１２２は、端末使い分け学習部１２３によって、端末使い分け学習ＤＢ３１を更新する学習ＤＢ更新処理を行う（ステップＳ５５）。また、同期管理部１２２は、受信したデータ更新情報を更新履歴ＤＢ３６に追加する（ステップＳ５６）。更に、同期管理部１２２は、受信したデータ更新情報に基づいて、同一ユーザによって使用される、データを更新した端末以外のデータの同期先となる各端末に対して、同期待ち更新データを同期待ち更新データＤＢ３３に追加する（ステップＳ５７）。
【００６１】
そして、同期管理部１２２は、端末優先度を算出して、端末ＩＤと端末優先度とを対応付けた端末優先度リスト４１を記憶部１３０に作成する（ステップＳ５８）。同期管理部１２２は、端末優先度算出部１２４を制御して、端末優先度を算出させ、端末優先度リスト４１を記憶部１３０に作成させる。同期管理部１２２は、端末優先度リスト４１が空か否かを判断する（ステップＳ５９）。
【００６２】
ステップＳ５９において、端末優先度リスト４１が空でない場合、端末優先度リスト４１から降順に対象端末（同期先端末）の端末優先度を１つ取得して（ステップＳ６０）、取得した対象端末の端末優先度が予め設定された端末閾値より大きい（対象端末の端末優先度＞端末閾値）か否かを判断する（ステップＳ６１）。対象端末の端末優先度が端末閾値より大きい場合、同期データのデータ優先度を算出して、データ優先度リスト４２を作成する（ステップＳ６２）。同期管理部１２２は、データ優先度算出部１２５を制御して、データ優先度を算出させ、データ優先度リスト４２を記憶部１３０に作成させる。作成されたデータ優先度リスト４２は優先度の降順にソートされる。
【００６３】
同期管理部１２２は、データ優先度リスト４２が空か否かを判断する（ステップＳ６３）。データ優先度リスト４２が空でない場合、同期管理部１２２は、データ優先度リスト４２から降順に同期データのデータ優先度を１つ取得して（ステップＳ６４）、取得した同期データのデータ優先度が予め設定されたデータ閾値より大きいか否かを判断する（ステップＳ６５）。データ優先度がデータ閾値より大きい場合、同期管理部１２２は、対象端末への送信データリスト４３に同期データを追加して（ステップＳ６６）、ステップＳ６３へ戻り上述同様の処理を残りの同期データに対して実施する。一方、データ優先度がデータ閾値以下である場合、同期管理部１２２は、送信データリスト４３への同期データの追加を行わず、ステップＳ６３へと戻り上述同様の処理を残りの同期データに対して実施する。ステップＳ６４からＳ６６の処理によって、対象端末毎に、データ優先度に従って各同期データの送信要否が判断される。
【００６４】
一方、ステップＳ６３において、データ優先度リスト４２が空の場合、同期管理部１２２は、対象端末に送信データリスト４３内の同期データを送信し（ステップＳ６７）、対象端末に送信した同期データを、対象端末の同期待ち更新データＤＢ３７から削除して（ステップＳ６８）、ステップＳ５９へと戻り上記同様の処理を行う。ステップＳ６０からＳ６７までの処理によって、端末優先度に従って対象端末が選択され、更に、選択された対象端末におけるデータ優先度に従って各同期データの送信が実施される。
【００６５】
ステップＳ５９において、端末優先度リストが空の場合、同期管理部１２２は、同期制御部１２１へ必要な対象端末への必要な同期データの送信終了を通知することによって、ステップＳ５１へと戻る。
【００６６】
図５のステップＳ５３及びＳ５４での処理について、図４及び図６で詳述する。同期管理部１２２は、端末リストＤＢ３２ａ（図４）を参照することにより、端末ＩＤ「スマホ」に対応付けられているユーザＩＤ「User1」を取得する。図６（Ａ）のデータ更新リスト３３ａ−１を参照することにより、データ更新情報によって指定されている端末ＩＤ「スマホ」を取得できる。そして、データ更新情報を受信した時点でのユーザＩＤ「User1」のユーザの使用中端末は、例えば、図６（Ｄ）に例示されるように、ユーザＩＤ「User1」に対して端末ＩＤ「タブレット」が設定されていることから、タブレット端末であることが分かる。この例の場合、同期管理部１２２は、データ更新情報の端末ＩＤ「スマホ」は、使用中端末の端末ＩＤ「タブレット」と異なっていると判断する。
【００６７】
例えば、図６（Ｂ）に例示されるように、直前使用端末ＤＢ３５では、ユーザＩＤ「User1」に対して直前に使用していた端末１（直前使用端末）の端末ＩＤ「ＰＣ」が設定されている。同期管理部１２２は、端末ＩＤ「ＰＣ」を「タブレット」に更新する。更新後の直前使用端末ＤＢ３５が図（Ｃ）に示される。そして、同期管理部１２２は、使用中端末ＤＢ３４を、図６（Ｄ）に例示されるように、ユーザＩＤ「User1」の端末ＩＤ「タブレット」を「スマホ」に更新する。
【００６８】
図５のステップＳ５５での端末使い分け学習部１３３による端末使い分け学習ＤＢ３１の更新処理について、図７、図８、図９、及び図１０で説明する。図７は、端末使い分け学習ＤＢの更新処理を説明するためのフローチャート図である。図８は、更新履歴ＤＢのデータ例を示す図である。図９及び図１０は、端末使い分け学習ＤＢのデータ例の一部を示す図である。図７において、端末使い分け学習部１３３は、データ更新リスト３３ａから順にデータ更新情報の更新元端末の端末ＩＤを取得して、端末ＩＤ２に設定する（ステップＳ７１）。
【００６９】
端末使い分け学習部１３３は、データ更新リスト３３ａが空か否かを判断する（ステップＳ７２）。データ更新リスト３３ａが空の場合、端末使い分け学習部１３３は、この処理を終了する。一方、データ更新リスト３３ａが空でない場合、端末使い分け学習部１３３は、データ更新リスト３３ａから１レコードを読み込んで、読み込んだレコードのファイル種別を取得して、ファイル種別２に設定する（ステップＳ７３）。データ更新リスト３３ａから読み込んだレコードは、データ更新リスト３３ａから削除される。
【００７０】
そして、端末使い分け学習部１３３は、直前使用端末ＤＢ３５をユーザＩＤで検索し、直前使用端末の端末ＩＤを取得して端末ＩＤ１に設定する（ステップＳ７４）、更新履歴ＤＢ３６をユーザＩＤと直前使用端末の端末ＩＤ１との組み合せ＜ユーザＩＤ、端末ＩＤ１＞で検索し、更新履歴リスト３６ａを取得して記憶部１３０に格納する（ステップＳ７５）。
【００７１】
端末使い分け学習部１３３は、更新履歴リスト３６ａが空か否かを判断する（ステップＳ７６）。更新履歴リスト３６ａが空でない場合、更新履歴リスト３６ａからファイル種別及び操作の値を含む更新履歴データを取得してファイル種別１及び操作１に設定する（ステップＳ７７）。更新履歴データ＜ファイル種別１、操作１＞で表す。
【００７２】
次に、端末使い分け学習部１３３は、端末使い分け学習ＤＢ３１を＜端末ＩＤ１、ファイル種別１、操作１、端末ＩＤ２、ファイル種別２＞で検索し、検索されたレコードの使用回数を＋１加算して更新して（ステップＳ７８）、ステップＳ７６へと戻り上記同様の処理を繰り返す。
【００７３】
一方、ステップＳ７６において、更新履歴リスト３６ａが空の場合、端末使い分け学習部１３３は、端末使い分け学習ＤＢ３１の全レコードの使用回数を合計した値を全使用回数に設定する（ステップＳ７９）。そして、端末使い分け学習部１３３は、端末使い分け学習ＤＢ３１の各レコードの使用度（＝使用回数／全使用回数）を算出して設定する（ステップＳ８０）。その後、端末使い分け学習部１３３は、ステップＳ７２へ戻り上述同様の処理を繰り返す。ステップＳ７２にて、データ更新リスト３３ａが空であると判断した場合、端末使い分け学習部１３３は、この端末使い分け学習ＤＢ３１の更新処理を終了する。
【００７４】
端末使い分け学習ＤＢ３１の更新処理の例について説明する。端末使い分け学習部１２３は、受信したデータ更新情報に基づいて、端末使い分け学習ＤＢ３１を更新する。先ず、「スマホ」のデータ更新リスト３３ａ−１内のデータＩＤ「picture1.jpeg」に対して、端末使い分け学習ＤＢ３１内の使用回数及び使用度を更新する場合について説明する。
【００７５】
端末使い分け学習部１３３は、直前使用端末ＤＢ３５（図６（Ｃ））をユーザＩＤ「User1」で検索し、直前使用端末の端末ＩＤ「タブレット」を取得する（ステップＳ７２）。そして、端末使い分け学習部１３３は、更新履歴ＤＢ３６（図８）を＜ユーザＩＤ、端末ＩＤ＞で検索する。この例では、＜User1、タブレット＞で検索し、更新履歴リスト３６ａを取得する（ステップＳ７５）。更新履歴リスト３６ａには、更新履歴ＤＢ３６（図８）から、ユーザＩＤ「User1」、端末ＩＤ「タブレット」、データＩＤ「メール328915」、更新日時「2011-10-27T18:48:21」、ファイル種別「メール」、操作「参照」を示すレコード３６ｒが検索され格納される。
【００７６】
端末使い分け学習部１３３は、更新履歴リスト３６ａ内の各レコードに対して、端末使い分け学習ＤＢ３１を＜端末ＩＤ１、ファイル種別１、操作１、端末ＩＤ２、ファイル種別２＞で検索して、検索したレコードの使用回数を更新する（ステップＳ７８）。ここでは、＜タブレット、メール、参照、スマホ、jpeg＞で検索され、図９及び図１０に例示される端末使い分け学習ＤＢ３１内の行番号３４のレコードを特定する。行番号３４のレコードの使用回数を１加算して更新する使用回数「１」が「２」に更新される。
【００７７】
端末使い分け学習部１３３は、更新履歴リスト３６ａ内の全レコードに対して、上述したように使用回数を増やす処理を行った後、端末使い分け学習ＤＢ３１内の使用回数を全て合計する（ステップＳ７９）。図９及び図１０では省略されているレコードも含めて全て合計して、合計値「３４５８０」を得たとする。端末使い分け学習ＤＢ３１内の各レコードに対して、使用回数を合計値「３４５８０」で割った値を、使用度に設定して変更する（ステップＳ８０）。
【００７８】
次に、データ更新リスト３３ａ−１内のデータＩＤ「memo1.txt」に対して、端末使い分け学習部１３３は、直前使用端末ＤＢ３５（図６（Ｃ））をユーザＩＤ「User1」で検索し、直前使用端末の端末ＩＤ「タブレット」を取得する（ステップＳ７２）。そして、端末使い分け学習部１３３は、更新履歴ＤＢ３６（図８）を＜ユーザＩＤ、端末ＩＤ＞で検索する。この例では、＜User1、タブレット＞で検索し、更新履歴リスト３６ａを取得する（ステップＳ７５）。更新履歴リスト３６ａには、更新履歴ＤＢ３６（図８）から、ユーザＩＤ「User1」、端末ＩＤ「タブレット」、データＩＤ「メール328915」、更新日時「2011-10-27T18:48:21」、ファイル種別「メール」、操作「参照」を示すレコード３６ｒが検索され格納される。
【００７９】
端末使い分け学習部１３３は、更新履歴リスト３６ａ内の各レコードに対して、端末使い分け学習ＤＢ３１を＜タブレット、メール、参照、スマホ、txt＞で検索して、検索したレコードの使用回数を更新する（ステップＳ７８）。図９及び図１０に例示される端末使い分け学習ＤＢ３１内の行番号３５のレコードを特定する。行番号３５のレコードの使用回数を１加算して更新する使用回数「１」が「２」に更新される。
【００８０】
端末使い分け学習部１３３は、更新履歴リスト３６ａ内の全レコードに対して、上述したように使用回数を増やす処理を行った後、端末使い分け学習ＤＢ３１内の使用回数を全て合計する（ステップＳ７９）。図９及び図１０では省略されているレコードも含めて全て合計して、端末使い分け学習ＤＢ３１内の各レコードに対して、使用回数を合計値で割った値を、使用度に設定して変更する（ステップＳ８０）。
【００８１】
上述した処理により、この時点で、行番号３４及び３５のレコードの使用度は、「0.000029」であったのが「0.000058」に変更される。
【００８２】
図５のステップＳ５６における受信したデータ更新情報を更新履歴ＤＢに追加する更新履歴ＤＢ３６の追加処理、及び、図５のステップＳ５７における受信したデータ更新情報に基づいて、データを更新した端末以外のデータの同期先となる各端末に対して、同期待ち更新データを同期待ち更新データＤＢ３３に追加する同期待ち更新データＤＢ３３の追加処理について図１１で説明する。
【００８３】
図１１は、データ更新情報が追加されるデータベースのデータ例を示す図である。図１１（Ａ）に、受信したデータ更新情報が追加された更新履歴ＤＢ３６のデータ例が示されている。同期管理部１２２は、端末リストＤＢ３２ａ（図４）を参照することによって、受信したデータ更新情報が格納されているデータ更新リスト３３ａ−１（図６（Ａ））の端末ＩＤ「スマホ」から、ユーザＩＤ「User1」を取得する。取得したユーザＩＤ「User1」と、データ更新リスト３３ａ−１に格納されているデータ更新情報の一部又は全部とを含む１つのレコードを作成して、更新履歴ＤＢ３６に追加する。
【００８４】
図１１（Ｂ）に、データの同期先となる各端末に対して、同期待ち更新データが追加された同期待ち更新データＤＢ３３のデータ例が示されている。同期管理部１２２は、端末リストＤＢ３２ａ（図４）を参照することによって、同一ユーザＩＤ「User1」に対応付けられる端末ＩＤのうち、受信したデータ更新情報が格納されているデータ更新リスト３３ａ−１（図６（Ａ））の端末ＩＤ「スマホ」以外の端末ＩＤ「ＰＣ」及び「タブレット」を取得する。端末ＩＤ「ＰＣ」及び「タブレット」は、同期先端末を指定する。
【００８５】
同期管理部１２２は、ユーザＩＤ「User1」と、取得した端末ＩＤ「ＰＣ」及び「タブレット」と、受信したデータ更新情報とから、４つのレコードを作成して、同期待ち更新データＤＢ３３に追加する。「スマホ」のデータ更新リスト３３ａ−１では、端末ＩＤ「スマホ」に対して２つのデータ更新情報が格納されている。従って、取得した各端末ＩＤに対して、データ更新情報が組み合わされて、同一ユーザＩＤ「User1」を指定した４つのレコードが作成される。
【００８６】
次に、図５のステップＳ５８での端末優先度の算出処理について、図１２及び図１３で説明する。図１２は、図５のステップＳ５８での端末優先度算出部による端末優先度の算出処理を説明するためのフローチャート図である。図１２において、端末優先度算出部１２４は、同期管理部１２２から呼び出（関数コール）されると、データ更新リスト３３ａが空か否かを判断する（ステップＳ１０１）。データ更新リスト３３ａが空でない場合、端末優先度算出部１２４は、データ更新リスト３３ａからレコードを１つ取り出して、取り出したレコードの端末ＩＤ、ファイル種別、操作の値を、夫々、端末ＩＤ１、ファイル種別１、操作１に設定する（ステップＳ１０２）。設定された値は、更新元端末に係る値であり、これら値の組み合せを＜端末ＩＤ１、ファイル種別１、操作１＞で表す。取り出したレコードは、データ更新リスト３３ａから削除される。
【００８７】
そして、端末優先度算出部１２４は、端末使い分け学習ＤＢ３１を、更新元端末の値の組み合せ＜端末ＩＤ１、ファイル種別１、操作１＞で検索し、検索したこの組み合せに対応付けられる同期データが送信される同期先となる対象端末に係る値を含む検索結果リスト４４を記憶部１３に作成して記憶する（ステップＳ１０３）。
【００８８】
端末優先度算出部１２４は、検索結果リスト４４が空か否かを判断する（ステップＳ１０４）。検索結果リスト４４が空の場合、端末優先度算出部１２４は、ステップＳ１０１へと戻り、データ更新リスト３３ａが空になるまで上記同様の処理を繰り返す。
【００８９】
一方、ステップＳ１０４において、検索結果リスト４４が空でない場合、端末優先度算出部１２４は、検索結果リスト４４からレコードを１つ取り出して、取り出したレコードから同期先の対象端末に係る、端末ＩＤ２、ファイル種別２、及び使用度を取得する（ステップＳ１０５）。
【００９０】
次に、端末優先度算出部１２４は、記憶部１３０の端末優先度リスト４１において、ステップＳ１０５で取得した端末ＩＤ２の優先度に、ステップＳ１０５で取得した使用度を加算して（ステップＳ１０６）、ステップＳ１０４へ戻り、検索結果リスト４４が空になるまで上記処理を繰り返す。
【００９１】
一方、ステップＳ１０１において、データ更新リスト３３ａが空の場合、端末優先度算出部１２４は、この端末優先度の算出処理を終了する。
【００９２】
図１３は、端末優先度の算出処理をデータ例で説明するための図である。図１３（Ａ）及び図１３（Ｂ）では、図６のデータ例に基づいて作成される検索結果リストのデータ例が示される。図１３（Ｃ）では、図１３（Ａ）及び図１３（Ｂ）で例示される検索結果リスト４４−１及び４４−２に基づく、端末優先度リスト４１のデータ例が示される。更新元端末が端末ＩＤ「スマホ」で識別される端末１である場合、端末リストＤＢ３２ａ（図４）を参照することにより、同期先となる対象端末は端末ＩＤ「ＰＣ」又は「タブレット」で識別される端末１である。
【００９３】
図１３（Ａ）に示される検索結果リスト４４−１は、図６（Ａ）の「スマホ」のデータ更新リスト３３ａ−１の最初のレコードに基づいて、端末使い分け学習ＤＢ３１から検索した結果を示している。データ更新リスト３３ａ−１の１番目のレコードから、端末ＩＤ、ファイル種別、操作の値の組み合せ＜スマホ、jpeg、作成＞を取得して、端末使い分け学習ＤＢ３１が検索される。検索結果リスト４４−１内のレコードのうち、同期先となる対象端末の端末ＩＤ２が「ＰＣ」であるレコード５ａと、同期先となる対象端末の端末ＩＤ２が「タブレット」であるレコード５ｂとを有する。
【００９４】
図１３（Ｂ）に示される検索結果リスト４４−２は、図６（Ａ）のデータ更新リスト３３ａ−１の２番目のレコードに基づいて、端末使い分け学習ＤＢ３１から検索した結果を示している。データ更新リスト３３ａ−１の２番目のレコードから、端末ＩＤ、ファイル種別、操作の値の組み合せ＜スマホ、txt、変更＞を取得して、端末使い分け学習ＤＢ３１が検索される。検索結果リスト４４−２内のレコードのうち、同期先となる対象端末の端末ＩＤ２が「ＰＣ」であるレコード５ｃと、同期先となる対象端末の端末ＩＤ２が「タブレット」であるレコード５ｄとを有する。
【００９５】
図１３（Ｃ）に示される端末優先度リスト４１では、同期先となる対象端末の端末ＩＤ２毎に、使用度の和によって得られた優先度を対応付けられる。検索結果リスト４４−１のレコード５ａと検索結果リスト４４−２のレコード５ｃの使用度の和を求めることによって、端末ＩＤ２「ＰＣ」の優先度は、「０．０５６７２２」となる。同様に、検索結果リスト４４−２のレコード５ｂと検索結果リスト４４−２のレコード５ｄの使用度の和を求めることによって、端末ＩＤ２「タブレット」の優先度は、「０．０３５６１７」となる。
【００９６】
従って、端末ＩＤ２「ＰＣ」の方が、端末ＩＤ２「タブレット」より優先度が高いことが分かる。同期制御部１２２は、端末優先度算出部１２４による端末優先度リスト４１を参照することによって、端末ＩＤ２「ＰＣ」の端末１へ、端末ＩＤ２「タブレット」の端末１より先に同期データを転送することを決定する。
【００９７】
次に、図５のステップＳ６２でのデータ優先度の算出処理について、図１４から図１８で説明する。図１４は、図５のステップＳ６２でのデータ優先度算出部によるデータ優先度の算出処理を説明するためのフローチャート図である。図１４において、データ優先度算出部１２５は、同期管理部１２２から呼び出（関数コール）されると、同期先の端末ＩＤを取得して、端末ＩＤ２に設定する（ステップＳ２０１）。端末リストＤＢ３２ａを参照することによって、ユーザＩＤと更新元端末の端末ＩＤとによって、同一ユーザＩＤ内で更新元端末の端末ＩＤ以外の端末ＩＤを取得することができる。
【００９８】
そして、データ優先度算出部１２５は、同期待ち更新データＤＢ３３を、端末ＩＤで検索し、端末ＩＤに対する更新データを取得して、同期待ち更新データリスト３３ｂを記憶部１３０に作成する（ステップＳ２０２）。ステップＳ２０２では、ステップＳ２０１で取得した各端末ＩＤに対して、更新データが取得される。同期待ち更新データＤＢ３３から取得した更新データには、データＩＤ、更新日時、ファイル種別が含まれる。各更新データに、ユーザＩＤと同期先の端末ＩＤとを付加して同期待ち更新データリスト３３ｂが作成される。
【００９９】
データ優先度算出部１２５は、同期待ち更新データリスト３３ｂが空か否かを判断する（ステップＳ２０３）。同期待ち更新データリスト３３ｂが空でない場合、データ優先度算出部１２５は、同期待ち更新データリスト３３ｂからレコードを１つ取り出して、対象データ＜データＩＤ、更新日時、ファイル種別２＞を算出結果４５に格納する（ステップＳ２０４）。同期待ち更新データリスト３３ｂから取り出したレコードのデータＩＤと更新日時とファイル種別とが、夫々、算出結果４５のデータＩＤと更新日時とファイル種別２とに対応する。取り出したレコードは、同期待ち更新データリスト３３ｂから削除される。
【０１００】
そして、データ優先度算出部１２５は、優先度１を算出する（ステップＳ２０５）。優先度１は、更新日時が古いデータを優先する場合、
優先度１  ＝  現在日時  −  更新日時
によって算出される。一方、更新日時が新しいデータを優先する場合、
優先度１  ＝  １／（現在日時  −  更新日時）
によって算出される。
【０１０１】
データ優先度算出部１２５は、データ更新リスト３３ａが空か否かを判断する（ステップＳ２０６）。データ更新リスト３３ａが空の場合ステップＳ２１０へと進む。一方、データ更新リストが空でない場合、データ優先度算出部１２５は、データ更新リスト３３ａからレコードを１つ取り出して、＜端末ＩＤ１、ファイル種別１、操作１＞に設定する（ステップＳ２０７）。取り出したレコードで示される更新元端末の端末ＩＤ、ファイル種別、及び操作の値が、端末ＩＤ１、ファイル種別１、操作１の夫々に設定される。
【０１０２】
そして、データ優先度算出部１２５は、端末使い分け学習ＤＢ３１を、ステップＳ２０１、Ｓ２０４、及びＳ２０７で取得した値の組み合せ＜端末ＩＤ１、ファイル種別１、操作１、端末ＩＤ２、ファイル種別２＞で検索する（ステップＳ２０８）。
【０１０３】
データ優先度算出部１２５は、検索したレコードから使用度を取得して、算出結果４５における値の組み合せ＜データＩＤ、更新日時、ファイル種別＞に対して、優先度２に取得した使用度を加算して（ステップＳ２０９）、ステップＳ２０６へと戻り、上述同様の処理を繰り返す。
【０１０４】
一方、ステップＳ２０６において、データ更新リスト３３ａが空の場合、データ優先度算出部１２５は、算出結果４５において、ステップＳ２０５で算出した優先度１に、所定の係数ｂを乗算した優先度２を加算した値を優先度に設定する（ステップＳ２１０）。そして、データ優先度算出部１２５は、算出結果４５で示されるデータＩＤと優先度とをデータ優先度リスト４２に追加して（ステップＳ２１１）、ステップＳ２０３へと戻り、上記同様の処理を繰り返す。
【０１０５】
ステップＳ２０３において、同期待ち更新データリスト３３ｂが空の場合、データ優先度算出部１２５は、このデータ優先度の算出処理を終了する。このような算出処理によって、同期先端末の端末ＩＤ２毎に、同期させる各データの優先度が算出される。
【０１０６】
データ優先度の算出処理をデータ例で説明する。同期先端末の端末ＩＤ「ＰＣ」に対するデータ毎の優先度が算出される場合について図１５及び図１６で説明する。図１５及び図１６は、同期先端末の端末ＩＤ「ＰＣ」の場合のデータ優先度の算出処理におけるデータ例を示す図である。
【０１０７】
図１５（Ａ）において、図１４のステップＳ２０２において、同期待ち更新データＤＢ３３を端末ＩＤ「ＰＣ」で検索することにより、データＩＤが「メール328915」、「picture1.jpeg」、「memo1.txt」の３つの同期待ち更新データが取得されリストした、端末ＩＤ「ＰＣ」の同期待ち更新データリスト３３ｂが例示されている。
【０１０８】
同期待ち更新データリスト３３ｂは、ユーザＩＤ、端末ＩＤ、データＩＤ、更新日時、ファイル種別などの項目を有する。ユーザＩＤは、データを更新したユーザを識別するＩＤである。端末ＩＤは、ユーザがデータを更新した更新元端末以外の端末１であり、データを同期する対象となる同期先端末のＩＤである。データＩＤは、ユーザが更新したデータを含むファイルを特定するためのＩＤである。更新日時は、データが更新された日時を示す。ファイル種別は、データが更新されたファイルの種別を示す。ファイル種別は、例えば、メール、jpeg、txtなどで指定される。
【０１０９】
同一ユーザ「User1」内で、更新元端末以外で同期待ちとなっている同期先端末の端末ＩＤは、この例では、「ＰＣ」のみである。
【０１１０】
先ず、データＩＤ「メール328915」を対象に（ステップＳ２０４）、優先度１を算出する（ステップＳ２０５）。この際、算出結果４５−１（図１５（Ｂ））が記憶部１３０に作成される。算出結果４５−１は、同期待ち更新データリスト３３ｂから取得したデータＩＤ、更新日時、ファイル種別２に加えて、優先度１、優先度２、及び使用度等の項目を有する。
【０１１１】
優先度１を更新日時が新しいデータを優先するための算出方法を適用する。現在日時が「2011-10-28T13:48:21」である場合に秒単位で計算して、
優先度１  ＝  0.000014 (= 1/(19*3600))
を得る。算出した優先度１は、算出結果４５−１の優先度１に設定される。
【０１１２】
次に、優先度２を取得するため、「スマホ」のデータ更新リスト３３ａ−１（図６（Ａ））から値の組み合せ＜端末ＩＤ１、ファイル種別１、操作１＞を１つずつ取り出して使用する（ステップＳ２０７）。最初の組み合せは＜スマホ、jpeg、作成＞であり、次の組み合せは＜スマホ、txt、変更＞である。
【０１１３】
そして、最初の組み合せ＜スマホ、jpeg、作成＞に対して、端末使い分け学習ＤＢ３１（図９及び図１０）を値の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝jpeg、操作１＝作成、端末ＩＤ２＝ＰＣ、ファイル種別２＝メール＞で検索する（ステップＳ２０８）。この場合、端末使い分け学習ＤＢ３１（図９）の行番号「３」のレコードが検索される。検索されたレコードから使用度「0.008673」（ステップＳ２２により行番号３４及び３５のレコードの使用回数「１」が「２」に更新された後、ステップＳ８０により全てのレコードの使用度が変更され、行番号３の使用度も図９時点の0.008678から0.008673に変更されている）を取得して、算出結果４５−１の優先度２に使用度を加算する（ステップＳ２０９）。
【０１１４】
また、次の組み合せは＜スマホ、txt、変更＞に対して、端末使い分け学習ＤＢ３１（図９及び図１０）を値の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝txt、操作１＝変更、端末ＩＤ２＝ＰＣ、ファイル種別２＝メール＞で検索する（ステップＳ２０８）。この場合、端末使い分け学習ＤＢ３１（図９）の行番号「６」のレコードが検索される。検索されたレコードから使用度「0.00029」を取得して、算出結果４５−１の優先度２に使用度を加算する（ステップＳ２０９）。結果として、優先度２は、「0.008702」となる。
【０１１５】
そして、算出結果４５−１において、優先度１と優先度２とから、優先度１に所定の係数ｂを乗算した優先度２を加算した値を優先度に設定する。例えば、所定の係数ｂを０．１とする。
【０１１６】
優先度  ＝  優先度１  ＋  ｂ＊優先度２
＝  0.000014  ＋  0.1*0.008702
＝  0.000884
上記計算より、優先度「0.000884」を得る。
【０１１７】
次に、同期待ち更新データリスト３３ｂ（図１５（Ａ））内のデータＩＤ「picture1.jpeg」及び「memo1.txt」についても同様も優先度１、優先度２、及び優先度を算出する。
【０１１８】
図１６（Ａ）に示す算出結果４５−２では、データＩＤ「picture1.jpeg」に対する優先度１、優先度２、及び優先度の算出結果が示される。先ず、データＩＤ「picture1.jpeg」を対象に（ステップＳ２０４）、優先度１を算出する（ステップＳ２０５）。上述した、更新日時が新しいデータを優先するための算出方法によって、
優先度１  ＝  0.000139 (= 1/(2*3600))
を得る。算出した優先度１は、算出結果４５−２の優先度１に設定される。
【０１１９】
次に、上述同様に、データ更新リスト３３ａ−１（図６（Ａ））から、最初の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝jpeg、操作１＝作成＞、次の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝txt、操作１＝変更＞を１つずつ取り出して使用する（ステップＳ２０７）。
【０１２０】
そして、最初の組み合せ＜スマホ、jpeg、作成＞に対して、端末使い分け学習ＤＢ３１（図９及び図１０）を値の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝jpeg、操作１＝作成、端末ＩＤ２＝ＰＣ、ファイル種別２＝jpeg＞で検索する（ステップＳ２０８）。この場合、端末使い分け学習ＤＢ３１（図９）の行番号「１」のレコードが検索される。検索されたレコードから使用度「0.028927」を取得して、算出結果４５−２の優先度２に使用度を加算する（ステップＳ２０９）。
【０１２１】
同様に、次に取り出された組み合せ＜スマホ、txt、変更＞に対して、端末使い分け学習ＤＢ３１（図９及び図１０）を値の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝txt、操作１＝変更、端末ＩＤ２＝ＰＣ、ファイル種別２＝jpeg＞で検索する（ステップＳ２０８）。この場合、端末使い分け学習ＤＢ３１（図９）の行番号「４」のレコードが検索される。検索されたレコードから使用度「0.00029」を取得して、算出結果４５−２の優先度２に使用度を加算する（ステップＳ２０９）。結果として、優先度２は、「0.028939」となる。
【０１２２】
そして、算出結果４５−２において、優先度１と優先度２とから、優先度１に所定の係数ｂを乗算した優先度２を加算した値を優先度に設定する
優先度  ＝  優先度１  ＋  ｂ＊優先度２
＝  0.000139  ＋  0.1*0.028939
＝  0.0030329
上記計算より、優先度「0.0030329」を得る。
【０１２３】
最後に、データＩＤ「memo1.txt」についても同様に優先度を算出する。図１６（Ｂ）に示す算出結果４５−３では、データＩＤ「memo1.txt」に対する優先度１、優先度２、及び優先度の算出結果が示される。先ず、データＩＤ「memo1.txt」を対象に（ステップＳ２０４）、優先度１を算出する（ステップＳ２０５）。上述した、更新日時が新しいデータを優先するための算出方法によって、
優先度１  ＝  0.000278 (= 1/1*3600) )
を得る。算出した優先度１は、算出結果４５−３の優先度１に設定される。
【０１２４】
次に、上述同様に、データ更新リスト３３ａ−１（図６（Ａ））から最初の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝jpeg、操作１＝作成＞を取得して、端末使い分け学習ＤＢ３１（図９及び図１０）を値の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝jpeg、操作１＝作成、端末ＩＤ２＝ＰＣ、ファイル種別２＝txt＞で検索する（ステップＳ２０７〜Ｓ２０８）。この場合、端末使い分け学習ＤＢ３１（図９）の行番号「２」のレコードが検索される。検索されたレコードから使用度「0.0001736」を取得して、算出結果４５−２の優先度２に使用度を加算する（ステップＳ２０９）。
【０１２５】
そして、データ更新リスト３３ａ−１（図６（Ａ））から次の組み合せ＜スマホ、txt、変更＞を取得して、端末使い分け学習ＤＢ３１（図９及び図１０）を値の組み合せ＜端末ＩＤ１＝スマホ、ファイル種別１＝txt、操作１＝変更、端末ＩＤ２＝ＰＣ、ファイル種別２＝txt＞で検索する（ステップＳ２０７〜Ｓ２０８）。この場合、端末使い分け学習ＤＢ３１（図９）の行番号「６」のレコードが検索される。検索されたレコードから使用度「0.000029」を取得して、算出結果４５−２の優先度２に使用度を加算する（ステップＳ２０９）。
【０１２６】
算出結果４５−１、４５−２、及び４５−３を用いて、図１７（Ａ）に例示されるような、データＩＤ毎にデータの優先度を対応付けたデータ優先度リスト４２−１が作成される。
【０１２７】
次に、端末優先度リスト４１（図１３（Ｃ））に基づいた、図５のステップＳ６２からＳ６８までの処理について、データ例で説明する。図１７は、図５のステップＳ６２からＳ６８までの処理をデータ例で説明するため図である。図１７（Ａ）に示す「ＰＣ」のデータ優先度リスト４２−１は、データが更新された更新元端末「スマホ」に対する同期先端末のうちの１つの端末ＩＤ「ＰＣ」に対して、同期させるデータの優先度を示し、データＩＤ毎に優先度が対応付けられる。同期先端末「ＰＣ」へ送信されるデータは、データ優先度リスト４２−１から優先度がデータ閾値以下を除いたデータが、端末ＩＤ「ＰＣ」用に送信データリスト４３に一覧される。図１７（Ａ）の例では、データ閾値を「0.0001」とすると、除去されるデータはなく、一覧される全データが同期データとして同期先端末「ＰＣ」へと送信される。この場合、１番優先度の高い「picture1.jpeg」から転送される。そして、「memo1.txt」、「メール328915」の順に転送される。
【０１２８】
転送完了後、同期待ち更新データＤＢ３３（図１１（Ｂ））から転送が完了した同期データを削除する。図１７（Ｂ）では、削除された後の同期待ち更新データＤＢ３３が例示される。図１１（Ｂ）に示す同期待ち更新データＤＢ３３内の同一ユーザＩＤ「User1」に対して、端末ＩＤ「ＰＣ」を示すレコードが削除されている。
【０１２９】
また、他の同期先端末の端末ＩＤ「タブレット」についても、端末ＩＤ「ＰＣ」と同様の処理を行うことによって、図１７（Ｃ）に例示されるような、「タブレット」のデータ優先度リスト４２−２が作成される。データ優先度リスト４２−２において、データ閾値「0.0001」より大きいデータが、優先度の降順に同期先端末「タブレット」へ転送される。この例では、優先度の降順に、「memo.txt」、そして「picture1.jpeg」が同期先端末「タブレット」へ転送され、図１７（Ｂ）に示される同期待ち更新データＤＢ３３の同一ユーザＩＤ「User1」に対して、端末ＩＤ「タブレット」を示すレコードが削除される。
【０１３０】
上述したように、［作業手順例１］の場合には、本実施例に係るデータ同期システム１０００では、ユーザがスマートフォンで写真を撮った後は、タブレット端末よりも優先してＰＣを選択し、ＰＣの他のデータより写真データを優先して同期させることができる。
【０１３１】
［作業手順例２］
ユーザはタブレットでメールを読んでいて、メール文書内のＩＣカード認証を要求する社内サイトＵＲＬにアクセスするために、ユーザのＰＣに電源を入れてブラウザから社内サイトＵＲＬを開きたい場合、タブレット端末でメールを見たら、スマートフォンよりも優先してＰＣを選択し、ＰＣの他のデータよりメールを優先して同期させる。
【０１３２】
図１８は、他のデータ例を示す図である。図１８（Ａ）に示す「タブレット」のデータ更新リスト３３ａ−２は、端末ＩＤ「タブレット」に関するデータ更新情報の一覧である。「タブレット」のデータ更新リスト３３ａ−２では、端末ＩＤ「タブレット」の端末１（更新元端末）でユーザによって、ファイル種別「メール」のデータＩＤ「メール403915」で特定されるデータファイルが更新日時「2011-11-28T12:48:21」で操作「参照」によって更新されたことを示している。データＩＤ「メール403915」のデータファイルは、ファイル内容から「e-Learning受講依頼：・・・」であることが示されている。
【０１３３】
また、同一の端末ＩＤ「タブレット」の端末１でユーザによって、ファイル種別「txt」のデータＩＤ「memo-tablet43.txt」で特定されるデータファイルが更新日時「2011-11-28T13:18:21」で操作「変更」によって更新されたことを示している。データＩＤ「memo-tablet43.txt」のデータファイルは、ファイル内容から、「読書メモ：・・・」であることが示されている。ファイル内容は必須ではなく、省略されていても良い。
【０１３４】
この場合の端末ＩＤ「タブレット」の端末１（更新元端末）に対する端末ＩＤ２「ＰＣ」及び「スマホ」の同期先端末間の端末優先度が、端末優先度算出部１２４による端末優先度の算出処理によって算出され、図１８（Ｂ）に示すような端末優先度リスト４１−２が記憶部１３０に作成され格納される。
【０１３５】
図１８（Ｂ）に示す端末優先度リスト４１−２では、端末ＩＤ２毎に同期データを送信する同期先端末の優先度が降順に示めされている。端末ＩＤ２「スマホ」より先に端末ＩＤ２「ＰＣ」の同期先端末へ同期データが転送されることになる。
【０１３６】
また、同期データの転送に際しては、端末ＩＤ２毎にデータ優先度が、データ優先度算出部１２５によるデータ優先度の算出処理によって算出され、図１８（Ｃ）及び図１８（Ｄ）に示すようなデータ優先度リスト４２−３及び４２−４が記憶部１３０に作成され格納される。
【０１３７】
図１８（Ｃ）に示すデータ優先度リスト４２−３は、データが更新された更新元端末「タブレット」に対する同期先端末のうちの１つの端末ＩＤ「ＰＣ」に対して、同期させるデータの優先度を示し、データＩＤ毎に優先度が対応付けられる。データ閾値より大きい優先度において降順に、データＩＤによって指定される同期データが同期先端末「ＰＣ」へ転送される。データ閾値が「0.0001」である場合、データＩＤ「メール403915」の同期データの転送後に、データＩＤ「memo-table43.txt」の同期データが転送される。
【０１３８】
図１８（Ｄ）に示すデータ優先度リスト４２−４は、データが更新された更新元端末「タブレット」に対する同期先端末のうちの他の端末ＩＤ「スマホ」に対して、同期させるデータの優先度を示し、データＩＤ毎に優先度が対応付けられる。データ閾値より大きい優先度において降順に、データＩＤによって指定される同期データが同期先端末「スマホ」へ転送される。データ閾値が「0.0001」である場合、データＩＤ「memo-table43.txt」の同期データの転送後に、データＩＤ「メール403915」の同期データが転送される。この例では、データＩＤ「議事メモ.txt」の優先度がデータ閾値「0.0001」以下であるため、データＩＤ「議事メモ.txt」の同期データは転送対象から除外される。
【０１３９】
上述したように、本実施例に係る、サーバ装置と同一ユーザが使用する複数の端末間のデータ同期システム１０００では、複数の端末１に跨る作業手順におけるユーザの端末の使い方を、データへの操作履歴から学習する。ある端末１ａでのデータ更新を他の端末１ｂに対して同期する際に、学習した端末の使い方に基づいて、同期先端末を優先度付けし、また、各同期先端末の同期データを優先度付けする。
【０１４０】
従って、ある作業手順において、ユーザは、通常、第一の作業を行う端末１ａから、端末１ａ以外の第二の作業を行う端末１ｂへと切り替えて継続して作業する場合、学習した端末の使い方に基づいて、端末１ａでのデータの更新に応じて、データ同期の対象となる端末１ｂを優先的に選択することができる。また、優先的に選択した端末１ｂに対して同期待ちとなっている同期データのうち、第二の作業に必要なデータが優先的に端末１ｂへ送信されるようにすることができる。
【０１４１】
ユーザが端末１ｂへと切り替えた際には、第二の作業に必要なデータが、端末１ｂに対する他のデータよりも優先して端末１ａでの状態に同期するため、ユーザは、端末１ｂでの第二の作業を速やかに行うことができ、端末間を跨る作業を効率的に継続して行える。
【０１４２】
また、端末１ａで更新されたデータであっても、データ閾値を用いることにより、切り替えた先の端末１ｂで使用される可能性が低い同期データの転送を抑止することができるため、転送データ量を低減させることができる。端末１ｂにおいて、第二の作業を行うためのデータ同期による待ち時間を少なくすることができる。
【０１４３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１４４】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータによって実行されるデータ同期方法であって、
第１の端末からデータ更新情報を受信すると、記憶部内の端末使い分け学習ＤＢに記憶された、該第１の端末での第１のファイル種別のデータファイルの操作後に複数の第２の端末の各々の第２のファイル種別のデータファイルを使用した回数を正規化した使用度に基づいて、データ同期の対象となる該複数の第２の端末に対して、優先的に該操作されたデータを同期する端末の優先度を算出して、該端末の優先度順に該複数の第２の端末の端末ＩＤを前記記憶部に記憶し、
前記第２の端末毎に、前記第２のファイル種別を用いて同期データの優先度を算出して、該データの優先度順に該第２のファイル種別を前記記憶部に記憶し、
前記記憶部に記憶された、前記端末の優先度順に従った前記第２の端末毎に、前記データの優先度順に従って前記同期データを転送する
ことを特徴とするデータ同期方法。
（付記２）
前記データ更新情報の受信時に、前記記憶部に記憶された前記端末使い分け学習ＤＢに記憶される、前記第１の端末の直前に使用されていた第３の端末での第３のファイル種別のデータファイルの操作後に、該第１の端末の前記第１のファイル種別のデータファイルを使用した回数に１加算し、
前記端末使い分け学習ＤＢに記憶される各回数を全回数の合計で割り算することによって前記使用度を算出する
ことを特徴とする付記１記載のデータ同期方法。
（付記３）
前記第１の端末、第２の端末、及び第３の端末は、一のユーザによって使用され、
前記記憶部に記憶された直前使用端末ＤＢから、前記ユーザのユーザＩＤと前記直前に使用されていた第３の端末の端末ＩＤとを取得し、
前記記憶部に記憶された前記データ更新情報を記憶した更新履歴ＤＢから、前記ユーザＩＤと前記端末ＩＤとを示すレコードの一覧にした更新履歴リストを取得し、
前記更新履歴リストから順に取得した前記第３の端末の端末ＩＤ、該第３の端末で操作されたデータファイルのファイル種別、及び該操作と、前記データ更新情報を送信した該第１の端末の端末ＩＤ、及び該第１の端末で操作されたデータファイルのファイル種別とで前記端末使い分け学習ＤＢを検索し、
検索されたレコードの前記回数に１加算する
ことを特徴とする付記２記載のデータ同期方法。
（付記４）
前記受信したデータ更新情報を前記ユーザＩＤと前記第１の端末の端末ＩＤとに対応づけて、前記記憶部に記憶された前記更新履歴ＤＢに追加する
ことを特徴とする付記３記載のデータ同期方法。
（付記５）
前記記憶部に記憶された、端末閾値より大きい前記端末の優先度順に従った前記第２の端末毎に、データ閾値より大きい前記データの優先度順に従って前記同期データを転送する
ことを特徴とする付記４記載のデータ同期方法。
（付記６）
前記第１の端末からデータ更新情報を受信すると、該第１の端末の端末ＩＤが前記記憶部に記憶されている使用中端末ＤＢの使用中端末の端末ＩＤと異なる場合、該使用中端末ＤＢの端末ＩＤを前記直前使用端末ＤＢの端末ＩＤにコピーし、該使用中端末ＤＢの端末ＩＤを該第１の端末の端末ＩＤに更新した後、前記端末の優先度を算出する
ことを特徴とする付記１乃至４のいずれか一項記載のデータ同期方法。
（付記７）
第１の端末での第１のファイル種別のデータファイルの操作後に複数の第２の端末の各々の第２のファイル種別のデータファイルを使用した回数を正規化した使用度を記憶する記憶部と、
前記第１の端末からデータ更新情報を受信すると、前記記憶部に記憶された前記使用度に基づいて、データ同期の対象となる該複数の第２の端末に対して、優先的に該操作されたデータを同期する端末の優先度を算出して、該端末の優先度順に該複数の第２の端末の端末ＩＤを前記記憶部に記憶する端末優先度算出部と、
前記第２の端末毎に、前記第２のファイル種別を用いて同期データの優先度を算出して、該データの優先度順に該第２のファイル種別を前記記憶部に記憶するデータ優先度算出部と、
前記記憶部に記憶された、前記端末の優先度順に従った前記第２の端末毎に、前記データの優先度順に従って前記同期データを転送する同期管理部と
を有することを特徴とするサーバ装置。
（付記８）
前記データ更新情報の受信時に、前記記憶部に記憶された前記端末使い分け学習ＤＢに記憶される、前記第１の端末の直前に使用されていた第３の端末での第３のファイル種別のデータファイルの操作後に、該第１の端末の前記第１のファイル種別のデータファイルを使用した回数に１加算し、該端末使い分け学習ＤＢに記憶される各回数を全回数の合計で割り算することによって前記使用度を算出する端末使い分け学習部と
を有することを特徴とする付記６記載のサーバ装置。
（付記９）
第１の端末からデータ更新情報を受信すると、記憶部内の端末使い分け学習ＤＢに記憶された、該第１の端末での第１のファイル種別のデータファイルの操作後に複数の第２の端末の各々の第２のファイル種別のデータファイルを使用した回数を正規化した使用度に基づいて、データ同期の対象となる該複数の第２の端末に対して、優先的に該操作されたデータを同期する端末の優先度を算出して、該端末の優先度順に該複数の第２の端末の端末ＩＤを前記記憶部に記憶し、
前記第２の端末毎に、前記第２のファイル種別を用いて同期データの優先度を算出して、該データの優先度順に該第２のファイル種別を前記記憶部に記憶し、
前記記憶部に記憶された、前記端末の優先度順に従った前記第２の端末毎に、前記データの優先度順に従って前記同期データを転送する
処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１４５】
１、１ａ、１ｂ      端末
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３１          端末使い分け学習ＤＢ
３２          端末管理ＤＢ
３２ａ        端末リストＤＢ
３２ｂ        管理情報ＤＢ
３３          同期待ち更新データＤＢ
３３ａ        データ更新リスト
３３ｂ        同期待ち更新データリスト
３４          使用中端末ＤＢ
３５          直前使用端末ＤＢ
３６          更新履歴ＤＢ
３７          同期対象データ管理ＤＢ
３７ａ        全同期対象データリストＤＢ
３７ｂ        全同期対象データＤＢ
５１          端末状態取得部
５２          同期管理部
５３          端末状態管理ＤＢ
５４          同期対象データ管理ＤＢ
５９          記憶部
１００        サーバ装置
１２１        同期制御部
１２２        同期管理部
１２３        端末使い分け学習部
１２４        端末優先度算出部
１２５        データ優先度算出部
１３０        記憶部
１０００      データ同期システム
【図１】
0005853791.tif 000002
【図２】
0005853791.tif 000003
【図３】
0005853791.tif 000004
【図４】
0005853791.tif 000005
【図５】
0005853791.tif 000006
【図６】
0005853791.tif 000007
【図７】
0005853791.tif 000008
【図８】
0005853791.tif 000009
【図９】
0005853791.tif 000010
【図１０】
0005853791.tif 000011
【図１１】
0005853791.tif 000012
【図１２】
0005853791.tif 000013
【図１３】
0005853791.tif 000014
【図１４】
0005853791.tif 000015
【図１５】
0005853791.tif 000016
【図１６】
0005853791.tif 000017
【図１７】
0005853791.tif 000018
【図１８】
0005853791.tif 000019