(57)【要約】  情報処置端末は、ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる。情報処置端末は、データと、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報とを対応付けて記憶する。情報処置端末は、記憶されるデータと、前記ストレージ装置に記憶されるデータとを同期させた最新の日時とを記憶する。情報処置端末は、前記ストレージ装置とデータを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得する。情報処置端末は、取得された最新の日時と、記憶される最新の日時とが一致する場合に、前記更新情報が更新済みのデータを前記ストレージ装置に同期させる。
2014064817.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムの前記各情報処理端末において、
データと、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報とを対応付けて記憶する第１記憶部と、
前記第１記憶部に記憶されるデータと、前記ストレージ装置に記憶されるデータとを同期させた最新の日時とを記憶する第２記憶部と、
前記ストレージ装置とデータを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得する取得部と、
前記取得部によって取得された最新の日時と、前記第２記憶部に記憶される最新の日時とが一致する場合に、前記更新情報が更新済みのデータを前記ストレージ装置に同期させる同期実行部と
を有することを特徴とする情報処理端末。
【請求項２】
前記同期実行部は、前記取得部によって取得された最新の日時と前記第２記憶部に記憶される最新の日時とが一致しない場合、かつ、前記更新済みのデータが存在する場合、前記更新済みのデータを前記第１の記憶部から他の記憶部に退避させた後、前記ストレージ装置に保存されるデータと前記第１記憶部に記憶されるデータとを同期させることを特徴とする請求項１に記載の情報処理端末。
【請求項３】
前記同期実行部は、前記他の記憶部に退避されたデータの退避元データに対応する、前記第１記憶部に記憶される同期済みのデータが同期後に編集される際に、前記退避されたデータが使用されなかった場合には、前記退避されたデータを前記他の記憶部から削除することを特徴とする請求項２に記載の情報処理端末。
【請求項４】
前記同期実行部は、前記取得部によって取得された最新の日時と前記第２記憶部に記憶される最新の日時とが一致しない場合、かつ、前記更新済みのデータが存在しない場合、前記ストレージ装置に保存されるデータと前記第１記憶部に記憶されるデータとを同期させることを特徴とする請求項１に記載の情報処理端末。
【請求項５】
ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムの前記各情報処理端末が、
第１記憶部に記憶されるデータと前記ストレージ装置とを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得し、
取得した最新の日時と、第２記憶部が前記第１記憶部に記憶されるデータと対応付けて記憶する、前記ストレージ装置と同期した最新の日時とが一致する場合に、前記第１記憶部が前記データと対応付けて記憶する、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報が更新済みのデータを前記ストレージ装置に同期させる
処理を実行することを特徴とする同期制御方法。
【請求項６】
ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムの前記各情報処理端末に、
第１記憶部に記憶されるデータと前記ストレージ装置とを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得し、
取得した最新の日時と、第２記憶部が前記第１記憶部に記憶されるデータと対応付けて記憶する、前記ストレージ装置と同期した最新の日時とが一致する場合に、前記第１記憶部が前記データと対応付けて記憶する、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報が更新済みのデータを前記ストレージ装置に同期させる
処理を実行させることを特徴とする同期制御プログラム。
【請求項７】
ネットワーク上のストレージ装置に格納される画像データを用いて製本する製本サービスを利用する情報処理端末が、
メモリと、
前記メモリに接続されるプロセッサと、を有し、
前記プロセッサは、
第１記憶部に記憶されるデータと前記ストレージ装置とを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得し、
取得した最新の日時と、第２記憶部が前記第１記憶部に記憶されるデータと対応付けて記憶する、前記ストレージ装置と同期した最新の日時とが一致する場合に、前記第１記憶部が前記データと対応付けて記憶する、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報が更新済みのデータを前記ストレージ装置に同期させる
処理を実行することを特徴とする同期制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理端末、同期制御方法および同期制御プログラムに関する。
【背景技術】
【０００２】
近年、クラウドシステムが普及し、インターネットなどのネットワークを介してユーザに各種サービスを提供することが行われている。例えば、クラウドシステムでは、データセンタ等で、複数の物理サーバあるいは物理サーバ上で動作するVirtual  Machine（仮想マシン）を動作させる。そして、クライアント端末は、データセンタで動作するサーバにアクセスして、各種サービスの提供を受ける。【０００３】
提供されるサービスの一例としては、クラウドストレージサービスが知られている。このクラウドストレージサービスは、当該サービスで提供されるストレージ容量をユーザごとに制限し、各ユーザは、その容量内で自由にデータを保存することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ib  on  the  net”、［online］、平成24年10月16日検索、インターネット（URL：http://www.ibonthenet.com/ns/）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、同じユーザが複数の端末を用いてクラウドシステムを利用することが一般的であり、各端末でデータを更新してクラウドシステムにアップロードするので、データを同期させるのが難しいという問題がある。【０００６】
一般に、クラウドで提供されるストレージにデータを保存する一方で、ユーザが使用する各端末にも、上記ストレージに保存されるデータと同じデータがローカルに保存される。そして、ユーザは、各端末でローカルのデータを更新して、更新後のデータを上記ストレージにアップロードする。【０００７】
また、上記クラウドストレージサービスでは、各端末が上記ストレージと接続されると、自動で同期を実行する場合もある。この際、単純に更新日時の新旧に基づいて、古いデータを新しいデータで上書き更新するので、端末で更新中のデータや端末に保存される未同期のデータが破棄される場合がある。また、クラウド側で同期処理を制御することも考えられるが、ユーザ数の増加や各ユーザが使用する端末の増加に伴って、クラウド側の処理負荷が高くなり、全体として処理性能の劣化が発生するので、好ましい手法とはいえない。【０００８】
開示の技術は、上記に鑑みてなされたものであって、共有ストレージのデータを互いに更新する複数の端末間でデータの同期を正確に実行することができる情報処理端末、同期制御方法および同期制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の情報処理端末は、ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムを形成する。情報処理端末は、データと、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報とを対応付けて記憶する第１記憶部を有する。情報処理端末は、前記第１記憶部に記憶されるデータと、前記ストレージ装置に記憶されるデータとを同期させた最新の日時とを記憶する第２記憶部を有する。情報処理端末は、前記ストレージ装置とデータを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得する取得部を有する。情報処理端末は、前記取得部によって取得された最新の日時と、前記第２記憶部に記憶される最新の日時とが一致する場合に、前記更新情報が更新済みのデータを前記ストレージ装置に同期させる同期実行部を有する。
【発明の効果】
【００１０】
本発明にかかる情報処理端末、同期制御方法および同期制御プログラムは、共有ストレージのデータを互いに更新する複数の端末間でデータの同期を正確に実行することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るクラウドシステムの全体構成例を示す図である。
【図２】図２は、処理対象データの例を示す図である。
【図３】図３は、情報処理端末の構成を示す機能ブロック図である。
【図４】図４は、個別管理ファイルＤＢが記憶する個別管理ファイルの例を示す図である。
【図５】図５は、統合管理ファイルＤＢが記憶する統合管理ファイルの例を示す図である。
【図６】図６は、同期処理の流れを示すフローチャートである。
【図７】図７は、同期の具体例を説明する図である。
【図８】図８は、ソフトウェア構成を示す図である。
【図９】図９は、スマートフォンのハードウェア構成を示す図である。
【図１０】図１０は、パソコンのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる情報処理端末、同期制御方法および同期制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
［全体構成図］
図１は、実施例１に係るクラウドシステムの全体構成例を示す図である。なお、ここで示す全体構成図は例示であり、端末数等を限定するものではない。図１に示すように、クラウドシステム１は、クラウドストレージ２と、フォトブックサーバ３と、同一のユーザが利用するパーソナルコンピュータ（以下、パソコンと記載する）４やスマートフォン５などの情報処理端末とを有する。【００１４】
このクラウドシステム１は、フォトブックサーバ３を利用して、クラウドストレージ２に保存した画像データからフォトブックを生成するサービスをユーザに提供する。ユーザは、クラウドストレージアプリケーションがインストールされたパソコン４やスマートフォン５を用いて、クラウドストレージ２に画像データを格納する。ここで、クラウドストレージ２に格納される処理対象データの例を説明する。【００１５】
図２は、処理対象データの例を示す図である。図２に示すように、処理対象データは、写真や画像にタイトルやコメントが付与されている。写真や画像は、デジタルカメラ等で撮像した画像データのうちからユーザが選択した画像等であり、タイトルは、選択された画像データにユーザが付与したタイトルであり、コメントは、ユーザが画像データの思い出等を入力したものである。なお、以下の実施例では、図２に示す処理対象データをノートと表記する。【００１６】
クラウドストレージ２は、クラウドシステム１を利用する各ユーザに一定容量を割り与え、各ユーザが使用する情報処理端末からノートを受信して格納する記憶装置やサーバ装置である。フォトブックサーバ３は、クラウドストレージ２に格納されるノートを製本し、フォトブックを生成するサーバ装置である。【００１７】
パソコン４やスマートフォン５は、同一のユーザが利用する情報処理端末の例であり、クラウドストレージアプリケーション等を起動してノートを生成する。そして、パソコン４やスマートフォン５は、ファイラーアプリケーションを用いてノートをクラウドストレージ２に格納する。また、パソコン４やスマートフォン５は、ファイラーアプリケーションを用いて、クラウドストレージ２のノートを閲覧し、クラウドストレージ２からノートをダウンロードする。【００１８】
クラウドシステム１では、クラウドストレージ２とパソコン４とスマートフォン５との間で同じノートを保存する。また、パソコン４とスマートフォン５とは、ローカルに保存するノートを各々で更新し、更新したノートをクラウドストレージ２へアップロードする。したがって、クラウドストレージ２とパソコン４とスマートフォン５との間では、ノートの同期が実行される。【００１９】
このような状態において、情報処理端末は、画像データと、当該画像データがクラウドストレージ２と同期後に更新されたか否かを示す更新情報とを対応付けて記憶する。また、情報処理端末は、記憶される画像データと、クラウドストレージ２に記憶されるデータとを同期させた最新の日時とを記憶する。そして、情報処理端末は、クラウドストレージ２と画像データを同期させる場合に、クラウドストレージ２がいずれかの情報処理端末と同期した最新の日時を、クラウドストレージ２から取得する。その後、情報処理端末は、クラウドストレージ２から取得した最新の日時と、ローカルに記憶される最新の日時とが一致する場合に、更新情報が更新済みのデータをクラウドストレージ２に同期させる。【００２０】
このように、情報処理端末は、クラウドストレージの画像データとローカルデータとを同期させる際に、自端末で管理する同期の最新日時とクラウド側で管理する同期の最新日時とが一致する場合に、同期させる。この結果、複数の端末間でデータの同期を正確に実行することができる。【００２１】
［情報処理端末の構成］
次に、情報処理端末の構成を説明する。なお、パソコン４およびスマートフォン５が実行する処理は同様なので、ここでは、情報処理端末１０として説明する。【００２２】
図３は、情報処理端末の構成を示す機能ブロック図である。図３に示すように、情報処理端末１０は、通信制御部１１、入力部１２、表示部１３、記憶部１４、制御部１５を有する。【００２３】
通信制御部１１は、ネットワークインタフェースカードや無線インタフェースなどの通信インタフェースである。例えば、通信制御部１１は、クラウドストレージ２と通信を確立して、ノートの送受信を実行する。【００２４】
入力部１２は、マウスやキーボードなどの入力装置である。例えば、入力部１２は、ユーザから文字等の操作入力を受け付けて、ノートのタイトルやコメントに文書等を入力する。表示部１３は、ディスプレイやタッチパネルなどの表示装置である。例えば、表示部１３は、クラウドストレージアプリケーション等に起動されたノートの作成画面や編集画面を表示する。【００２５】
記憶部１４は、メモリやハードディスクなどの記憶装置である。記憶部１４は、画像データＤＢ１４ａと、ノートＤＢ１４ｂと、個別管理ファイルＤＢ１４ｃと、統合管理ファイルＤＢ１４ｄとを記憶する。画像データＤＢ１４ａは、ノートに添付される写真、画像、動画などの画像データを記憶するデータベースである。ここで記憶される画像データは、制御部１５等によってデジタルカメラ等から読み込まれたデータなどが該当する。【００２６】
ノートＤＢ１４ｂは、ノートを記憶するデータベースである。例えば、ノートＤＢ１４ｂは、ノートとノートを識別する識別子とを対応付けて記憶する。ここで記憶されるノートがクラウドストレージ２に格納され、各装置間で同期対象となる。【００２７】
個別管理ファイルＤＢ１４ｃは、ノートＤＢ１４ｂに記憶される個々のノートを管理する管理ファイルを記憶するデータベースである。なお、クラウドストレージ２では、各情報処理端末が保持する個別管理ファイルと同様の情報を保持する。【００２８】
図４は、個別管理ファイルＤＢが記憶する個別管理ファイルの例を示す図である。図４に示すように、個別管理ファイルＤＢ１４ｃは、ノートを識別するノートＩＤごとに個別管理ファイルを記憶する。【００２９】
個々の個別管理ファイルは、コメントファイル情報、添付ファイル情報、タグ情報、作成日時、更新日時、動作ステータスを記憶する。コメントファイル情報は、ノートに含まれるコメントの内容やタイトル等である。添付ファイル情報は、ノートに添付された画像データを特定する情報である。【００３０】
タグ情報は、ノートを検索するときのキーワードなどである。作成日時は、ノートが作成された日時である。更新日時は、ノートが更新された日時である。動作ステータスは、同期フラグとサーバ同期日時とを有し、これらによってノートの状態を管理する。同期フラグは、ノートが更新されてから同期が行われたか否かを管理し、同期が行われた場合には同期済み、同期が行われていない場合には未同期が格納される。サーバ同期日時は、クラウドストレージ２と同期した日時であり、同期時にクラウドストレージ２から取得した日時である。【００３１】
統合管理ファイルＤＢ１４ｄは、各個別管理ファイルの状態を管理するデータベースである。図５は、統合管理ファイルＤＢが記憶する統合管理ファイルの例を示す図である。図５に示すように、統合管理ファイルＤＢ１４ｄは、ノートＩＤで特定される個別管理ファイルごとに、作成日時、更新日時、動作ステータス、削除情報、サーバ同期日時を記憶する。【００３２】
作成日時は、個別管理ファイルが作成された日時であり、更新日時は、個別ファイルが更新された日時である。動作ステータスは、個別管理ファイルが同期済みであるか否かを示す情報、すなわち、編集後のノートが同期済みであるか否かを示す情報である。削除情報は、個別管理ファイルが削除されたか否かを示す情報、すなわち、ノートが削除されたか否かを示す情報である。サーバ同期日時は、クラウドストレージ２と同期した日時であり、同期時にクラウドストレージ２から取得した日時である。【００３３】
制御部１５は、個別管理部１６と統合管理部１７とを有し、これらによって、クラウドストレージ２とノートの同期を実行する処理部である。例えば、制御部１５は、プロセッサなどの電子回路である。【００３４】
個別管理部１６は、編集部１６ａとファイル更新部１６ｂとを有し、こられによって、ノートの更新並びに個別管理ファイルＤＢ１４ｃに記憶される個別管理ファイルの更新を管理する処理部である。【００３５】
編集部１６ａは、入力部１２等を介してユーザから操作指示を受け付けて、ノートの新規生成、更新、削除を実行する処理部である。例えば、編集部１６ａは、入力部１２等を介してユーザからの指示操作を受け付けると、アプリケーションを起動してノート編集画面を表示部１３に表示させる。そして、編集部１６ａは、画像データＤＢ１４ａから該当画像データを読み込んで、ノートに添付し、ノートのタイトルやコメントを生成する。そして、編集部１６ａは、生成したノートに一意な識別子を付与して、ノートＤＢ１４ｂに格納する。【００３６】
また、編集部１６ａは、ユーザの操作にしたがって、該当するノートをノートＤＢ１４ｂから読み込んで、各種編集を実行する。例えば、編集部１６ａは、画像データの差し替え、タイトルやコメントの編集、ノート自体の削除等を実行する。【００３７】
ファイル更新部１６ｂは、編集部１６ａによるノートの編集操作に基づいて、編集されたノートに対応する個別管理ファイルを更新する処理部である。例えば、ファイル更新部１６ｂは、NoteID＝00001のノートが新たに生成された場合に、当該ノートの個別管理ファイルを個別管理ファイルＤＢ１４ｃに生成し、統合管理部１７に通知する。また、このとき、ファイル更新部１６ｂは、作成された日時を個別管理ファイルの作成日時に格納し、当該ノートに付加されたコメントをコメントファイル情報に格納し、添付された画像データの情報を添付ファイル情報に格納する。同様に、ファイル更新部１６ｂは、当該ノートに付加されたタグ情報を個別管理ファイルのタグ情報に格納する。なお、上記処理は、ノートの更新についても同様に実行される。【００３８】
更新処理の場合は、上記処理に加えて、ファイル更新部１６ｂは、ノートＤＢ１４ｂに記憶されるノートが編集されると、個別管理ファイルの更新日時を更新するとともに、動作ステータスを「未同期」に更新する。そして、ファイル更新部１６ｂは、個別管理ファイルが更新されたことを統合管理部１７に通知する。なお、ファイル更新部１６ｂは、ノートＤＢ１４ｂに記憶されるノートが削除された場合には、個別管理ファイルが削除されたことを統合管理部１７に通知する。【００３９】
統合管理部１７は、ファイル更新部１７ａと同期実行部１７ｂとを有し、これらによって、統合管理ファイルＤＢ１４ｄに記憶される統合管理ファイルの更新を実行する処理部である。【００４０】
ファイル更新部１７ａは、個別管理部１６から受信する個別管理ファイルの更新状況にしたがって、統合管理ファイルを更新する処理部である。具体的には、ファイル更新部１７ａは、個別管理部１６からNoteID＝00001のノートの個別管理ファイルが作成されたことが通知されると、統合管理ファイルにNoteID＝00001の情報を生成し、作成日時を設定する。また、ファイル更新部１７ａは、個別管理部１６からNoteID＝00001のノートの個別管理ファイルが更新されたことが通知されると、統合管理ファイルにおけるNoteID＝00001の更新日時を更新する。また、ファイル更新部１７ａは、個別管理部１６からNoteID＝00001のノートの個別管理ファイルが削除されたことが通知されると、統合管理ファイルにおけるNoteID＝00001の削除情報を更新する。また、ファイル更新部１７ａは、このような作成、更新、削除が実行された場合、該当するノートの動作ステータスを「未同期」に更新する。【００４１】
また、ファイル更新部１７ａは、同期実行部１７ｂによってノートの同期が実行されると、統合管理ファイルで管理される各個別管理ファイルの動作ステータスを「同期済み」に更新する。その後、ファイル更新部１７ａは、個別管理部１６のファイル更新部１６ｂに、各個別管理ファイルの動作ステータスを「同期済み」に変更する指示を送信する。この変更指示を受けた個別管理部１６のファイル更新部１６ｂは、各個別管理ファイルの動作ステータスを「同期済み」に変更する。【００４２】
同期実行部１７ｂは、クラウドストレージ２との間で、ノートの同期を実行する処理部である。具体的には、同期実行部１７ｂは、クラウドストレージ２とノートを同期させる場合に、クラウドストレージ２がいずれかの情報処理端末と同期した最新の同期日時を、クラウドストレージ２から取得する。そして、同期実行部１７ｂは、クラウドストレージ２から取得した最新の同期日時と、統合管理ファイルＤＢ１４ｄで管理される最新の同期日時とが一致する場合に、動作ステータスが更新済みのノートをクラウドストレージ２に同期させる。【００４３】
ここで、個別管理ファイルが更新された状況がオンラインである場合とオフラインである場合との動作について説明する。なお、オンラインとは、クラウドストレージ２と情報処理端末１０とが接続されている場合を指す。【００４４】
オンラインの場合、ファイル更新部１７ａは、個別管理部１６からNoteID＝00001の個別管理ファイルが更新されたことを通知されると、NoteID＝00001の動作ステータスを「未同期」に更新する。同期実行部１７ｂは、この動作ステータスの更新を検知して、クラウドストレージ２が管理する最新の同期日時を取得する。そして、同期実行部１７ｂは、クラウドストレージ２上の最新の同期日時と、統合管理ファイルの各サーバ同期日時とが一致するか否かを判定する。【００４５】
そして、同期実行部１７ｂは、上記２つの最新の同期日時が一致する場合、クラウドストレージ２上のノートが自装置のノートで同期されたノートであると判定する。この結果、同期実行部１７ｂは、統合管理ファイルにおいて動作ステータスが「未同期」になっているノート、すなわち、ローカル上で更新されたノートをクラウドストレージ２にアップロードする。【００４６】
一方、同期実行部１７ｂは、クラウドストレージ２の同期日時と一致しないノートが存在する場合、クラウドストレージ２上のノートが他装置のノートで同期されたノートであると判定する。この結果、同期実行部１７ｂは、統合管理ファイルにおいて動作ステータスが「未同期」になっているノート、すなわち、ローカル上で更新されたノートを一時領域等にコピーする。その後、同期実行部１７ｂは、クラウドストレージ２のノートとノートＤＢ１４ｂのノートとを同期させる。このとき、同期実行部１７ｂは、統合管理ファイルにおいて動作ステータスが「未同期」になっているノートが存在しない場合は、コピー等の処理を実行せずに、クラウドストレージ２のノートとノートＤＢ１４ｂのノートとを同期させる。【００４７】
なお、ここで、コピーして一時領域等に退避されたノートが「NoteID＝001111」であったとする。そして、同期実行部１７ｂは、NoteID＝001111のノートが同期後に更新される際に、一時領域にコピーされた同期前のノートを使用するか否かを判定する。すなわち、同期実行部１７ｂは、コピーされた同期前のノートを用いて同期後のノートの更新が実行されているか否かを判定する。そして、同期実行部１７ｂは、コピーされた同期前のノートが更新に使用されなかった場合、当該同期前のノートを削除する。このようにすることで、一時領域に圧迫を抑制することができる。【００４８】
一方、オフラインの場合、ファイル更新部１７ａは、個別管理部１６からNoteID＝00001の個別管理ファイルが更新されたことを通知されると、NoteID＝00001の動作ステータスを「未同期」に更新する。そして、同期実行部１７ｂは、オンラインになるまで、待機する。そして、同期実行部１７ｂは、オンラインを検知すると、上述した処理を実行する。このようにすることで、オフラインでノートの更新がされた場合でも、更新状況を管理することができる。したがって、オフラインからオンラインに遷移した場合に、自動で同期が実行されて、更新後のノートが不用意に更新されることを抑制できる。【００４９】
［処理の流れ］
図６は、同期処理の流れを示すフローチャートである。図６に示すように、情報処理端末の編集部１６ａは、ユーザの指示操作を受け付けると、クラウドストレージアプリケーションを起動し（Ｓ１０１）、ログイン情報を保存しているか否かを判定する（Ｓ１０２）。【００５０】
そして、編集部１６ａは、ログイン情報を保存していないと判定した場合（Ｓ１０２：Ｎｏ）、ログイン画面を表示部１３に表示させ（Ｓ１０３）、ＩＤとパスワードの入力を受け付けるログイン操作を実行する（Ｓ１０４）。【００５１】
その後、編集部１６ａは、ネットワークが接続されている場合（Ｓ１０５：Ｙｅｓ）、すなわち、クラウドストレージ２と情報処理端末１０とが接続状態にある場合、Ｓ１０８を実行する。一方、編集部１６ａは、ネットワークが接続されていない場合（Ｓ１０５：Ｎｏ）、すなわち、クラウドストレージ２と情報処理端末１０とが接続状態にない場合、エラーメッセージを表示部１３に表示させる（Ｓ１０６）。その後、編集部１６ａは、Ｓ１０２以降の処理を繰り返す。【００５２】
Ｓ１０２において、編集部１６ａは、ログイン情報を保存していると判定した場合（Ｓ１０２：Ｙｅｓ）、ネットワークが接続されているか否か、すなわち、クラウドストレージ２と情報処理端末１０とが接続状態にあるか否かを判定する（Ｓ１０７）。【００５３】
そして、編集部１６ａは、ネットワークが接続されていると判定した場合（Ｓ１０７：Ｙｅｓ）、ログイン認証を実行し（Ｓ１０８）、ログインが失敗すると（Ｓ１０９：Ｎｏ）、Ｓ１０６以降を実行する。【００５４】
一方、編集部１６ａによってログインが成功したと判定された場合（Ｓ１０９：Ｙｅｓ）、同期実行部１７ｂは、クラウドストレージ２から最新の同期日時を取得する（Ｓ１１０）。そして、同期実行部１７ｂは、情報処理端末１０上に保存されている前回の同期日時を取得する（Ｓ１１１）。ここで、同期実行部１７ｂは、統合管理ファイルの各ノートのサーバ同期日時を取得する。なお、同期実行部１７ｂは、統合管理ファイル上で最新の同期日時を別途管理してもよい。【００５５】
そして、同期実行部１７ｂは、クラウドストレージ２の最新の同期日時と、統合管理ファイルの各サーバ同期日時とが一致する場合（Ｓ１１２：Ｙｅｓ）、統合管理ファイルの各ノートの各動作ステータスが「同期済み」であるか否かを判定する（Ｓ１１３）。つまり、同期実行部１７ｂは、クラウドストレージ２と同期したのが自装置が最後であると判定した場合、同期後に作成、更新、削除された個別管理ファイルが存在するか否かを判定する。【００５６】
そして、同期実行部１７ｂは、統合管理ファイルの各ノートの各動作ステータスが「同期済み」であると判定した場合（Ｓ１１３：Ｙｅｓ）、オンラインのホーム画面を表示部１３に表示する（Ｓ１１４）。つまり、同期実行部１７ｂは、クラウドストレージ２との同期後に更新されたノートがない場合、同期を実行することなく、処理を終了する。【００５７】
一方、同期実行部１７ｂは、統合管理ファイルにおいて動作ステータスが「未同期」の個別管理ファイルが存在すると判定した場合（Ｓ１１３：Ｎｏ）、Ｓ１１６以降を実行する。つまり、同期実行部１７ｂは、クラウドストレージ２との同期後に更新されたノートがある場合、同期を実行する。【００５８】
一方、Ｓ１１２において、同期実行部１７ｂは、クラウドストレージ２の最新の同期日時と、統合管理ファイルのいずれかのサーバ同期日時とが一致しないと判定した場合（Ｓ１１２：Ｎｏ）、Ｓ１１５以降を実行する。【００５９】
すなわち、同期実行部１７ｂは、統合管理ファイルの各個別管理ファイルの動作ステータスを「未同期」に設定する（Ｓ１１５）。続いて、同期実行部１７ｂは、クラウドストレージ２で保存される全個別管理ファイルを、クラウドストレージ２から取得する（Ｓ１１６）。【００６０】
そして、同期実行部１７ｂは、取得した個別管理ファイルを１つ選択し、選択した個別管理ファイルと、当該ファイルと同じNoteIDを有する統合管理ファイル上の個別管理ファイルを取得し、両ファイルを比較し一致するか否かを判定する（Ｓ１１７）。すなわち、同期実行部１７ｂは、当該個別管理ファイルが作成、更新、削除されているか否かを判定する。【００６１】
そして、同期実行部１７ｂは、両ファイルが一致しないと判定した場合（Ｓ１１８：Ｎｏ）、作成日時または更新日時または削除情報がクラウドストレージ２の方が新しいか否かを判定する（Ｓ１１９）。すなわち、同期実行部１７ｂは、クラウドストレージ２または統合管理ファイルＤＢ１４ｄのいずれかの個別管理ファイルが更新されている場合に、どちらの更新が最近か否かを判定する。【００６２】
続いて、同期実行部１７ｂは、ローカルの統合管理ファイルＤＢ１４ｄの個別管理ファイルの更新の方が新しいと判定した場合（Ｓ１１９：Ｎｏ）、当該個別管理ファイルに対応するノートのバックアップを生成する（Ｓ１２０）。【００６３】
その後、同期実行部１７ｂは、クラウドストレージ２の個別管理ファイルで特定されるノートを、ノートＤＢ１４ｂに同期する（Ｓ１２１）。そして、ファイル更新部１７ａは、同期を実行したノートに対応する、統合管理ファイルＤＢ１４ｄ上の動作ステータスを「同期済み」に更新する（Ｓ１２２）。このとき、ファイル更新部１６ｂは、当該ノートに対応する個別管理ファイルＤＢ１４ｃの動作ステータスも「同期済み」に更新する。【００６４】
そして、同期実行部１７ｂは、全ノートについて上記Ｓ１１７からＳ１２２の比較および同期処理が完了した場合には（Ｓ１２３：Ｙｅｓ）、Ｓ１１４を実行して処理を終了する。一方、同期実行部１７ｂは、上記Ｓ１１７からＳ１２２の比較および同期処理が完了していないノートが存在する場合には（Ｓ１２３：Ｎｏ）、Ｓ１１７に戻って、次のノートの個別管理ファイルについて、Ｓ１１７以降の処理を実行する。【００６５】
また、Ｓ１１９において、同期実行部１７ｂは、ローカルの統合管理ファイルＤＢ１４ｄの個別管理ファイルの更新の方が古いと判定した場合（Ｓ１１９：Ｙｅｓ）、バックアップを取ることなく、Ｓ１２１を実行する。【００６６】
また、Ｓ１１８において、同期実行部１７ｂは、クラウドストレージ２の個別管理ファイルと、統合管理ファイルＤＢ１４ｄの個別管理ファイルとが一致すると判定した場合（Ｓ１１８：Ｙｅｓ）、Ｓ１２２を実行する。【００６７】
また、Ｓ１０７において、編集部１６ａは、ネットワークが接続されていないと判定した場合（Ｓ１０７：Ｎｏ）、オフラインのホーム画面を表示部１３に表示して（Ｓ１２４）、処理を終了する。【００６８】
［具体例］
図７は、同期の具体例を説明する図である。図７に示すように、この例は、クラウドストレージ２とパソコン４とスマートフォン５とを有するシステムである。また、各装置でノートが保存されている。【００６９】
ここで、クラウドストレージ２は、パソコン４またはスマートフォン５のいずれかとノートの同期を実行した最新日時として、個別管理ファイルに「2012/10/25  09：00：00」を記憶している。【００７０】
このような状態において、パソコン４は、クラウドストレージ２に接続したタイミングで、クラウドストレージ２から最新の同期日時「2012/10/25  09：00：00」を取得する。そして、パソコン４は、自装置の統合管理ファイルで管理する最新同期日時「「2012/10/25  09：00：00」と、クラウドストレージ２から取得した同期日時「2012/10/25  09：00：00」とが一致するか否かを判定する。【００７１】
この場合、パソコン４は、両方の同期日時が一致するので、クラウドストレージ２と最後に同期したのは自装置である、つまり、クラウドストレージ２のノートがローカルデータで同期されたものと判定する。その後、パソコン４は、通常の自動同期を実行する。例えば、パソコン４は、ローカルデータで更新されたノート、すなわち、クラウドストレージ２と同期後に更新されたために動作ステータスが「未同期」になっているノートをクラウドストレージ２にアップロードする。【００７２】
一方、スマートフォン５は、クラウドストレージ２に接続したタイミングで、クラウドストレージ２から最新の同期日時「2012/10/25  09：00：00」を取得する。そして、スマートフォン５は、自装置の統合管理ファイルで管理する最新同期日時「2012/10/25  08：00：00」と、クラウドストレージ２から取得した同期日時「2012/10/25  09：00：00」とが一致するか否かを判定する。【００７３】
この場合、スマートフォン５は、両方の同期日時が一致しないので、クラウドストレージ２と最後に同期したのは他装置である、つまり、クラウドストレージ２のノートとローカルデータとは異なると判定する。このため、スマートフォン５は、ローカルに保存されるノートをバックアップしてから、クラウドストレージ２との同期を実行する。【００７４】
［効果］
このように、クラウドシステム１では、統合管理ファイルをクライアント側に持たせ、その中のクラウドとの同期日時は、クライアントの日時ではなく、クラウド側の日時を用いることで、クライアントの日時がズレていても、他の端末との同期を実行できる。なお、クライアントの一例が図１に示した情報処理端末である。また、クライアント側では、オフライン状態での利用を配慮し、個別管理ファイルに動作ステータスとして「同期済」と「未同期」のフラグを持たせ、オフライン状態で編集した場合に、「同期済」から「未同期」に更新し、更新日時も保持しておく。【００７５】
クライアントの総合管理ファイルは、オンラインでクラウドとの通信が行える場合に動作し、オンライン状態になったときにクラウドとのノートの差分を判別する。そして、クライアントは、差分があったノートに対して、個別管理ファイルの動作ステータスを確認し「同期済」の場合に、クラウドのノートをローカルに上書きする。一方、クライアントは、「未同期」の場合に、ノートは古いが同期されていないノートがあると判断できるので、ノートのバックアップを保存したあとに、クラウドのノートをローカルに上書きする。【００７６】
上述したように、情報処理端末からとクラウドとの同期の際に、クラウド側の負荷を低減させることができ、同期の際、更新中のデータや編集済みで未同期のデータが破棄されることを防止することができる。したがって、共有ストレージのデータを互いに更新する複数の端末間でデータの同期を正確に実行することができる。
【実施例２】
【００７７】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。【００７８】
（情報処理端末の例）
実施例１では、情報処理端末の例としてパソコンやスマートフォンを用いた例を説明したが、これに限定されるものではない。他には、携帯電話、Ｗｉ−Ｆｉ機能を搭載したデジタルカメラやビデオカメラ、Ｗｉ−Ｆｉ機能を搭載したメモリーカードが挿入されたデジタルカメラやビデオカメラなどがある。なお、実施例では、画像データを含むノートを同期対象としたが、これに限定されるものではなく、例えばテキスト情報や動画など他のデータであっても同様に処理することができる。【００７９】
次に、情報処理端末１０とクラウドストレージ２との間の連携を実現するためのソフトウェアの構成について説明する。図８は、ソフトウェア構成を示す図である。図８に示すように、情報処理端末１０とクラウドストレージ２との間の連携を実現するためのソフトウェアは、ＯＳ（Operating  System）８１０、ドライバ８２０およびアプリケーション８３０を有する。ＯＳ８１０、ドライバ８２０、アプリケーション８３０は、ハードウェア８００と協働して連携処理を実現する。【００８０】
ドライバ８２０には、情報処理端末１０における外部通信に係る各種機能を実現する。アプリケーション８３０には、クラウドストレージプログラム８３１が含まれる。クラウドストレージプログラム８３１は、図３に示した制御部１５が有する各処理部と同様の機能を実現する。また、クラウドストレージプログラム８３１は、ドライバ８２０を用いて、クラウドストレージ２などの他の情報通信機器と連携を行う。【００８１】
（スマートフォンのハードウェア構成）
図９は、スマートフォンのハードウェア構成を示す図である。図９に示すように、スマートフォン９００は、無線通信部９１０と、表示部９２０と、音声入出力部９３０と、入力部９４０と、プロセッサ９５０と、記憶部９６０とを有する。無線通信部９１０、表示部９２０、音声入出力部９３０、入力部９４０および記憶部９６０は、それぞれプロセッサ９５０と接続されている。【００８２】
記憶部９６０は、プログラム記憶部９６１と、データ記憶部９６２と、ＲＡＭ（Random  Access  Memory）９６３とを有する。プログラム記憶部９６１には、図３に示した制御部１５が有する各処理部と同様の機能を実現するクラウドストレージプログラム８３１などのプログラムが記憶される。データ記憶部９６２は、図３に示した各ＤＢに記憶される各種データを記憶する。なお、記憶部９６０は、例えば、ＲＡＭ、フラッシュメモリ（flash  memory）などの半導体メモリ素子、または、ハードディスク（ＨＤＤ：Hard  Disk  Drive）、光ディスクなどの記憶装置である。【００８３】
プロセッサ９５０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。そして、プロセッサ９５０がクラウドストレージプログラム８３１などのプログラムを記憶部９６０から読み出してＲＡＭ９６３にロードする。このことにより、クラウドストレージプログラム８３１などのプログラムは、クラウドストレージプロセスなどのプロセスとして機能するようになる。そして、クラウドストレージプロセスは、データ記憶部９６２から読み出した情報などを適宜ＲＡＭ９６３上の自身に割り当てられた領域にロードし、このロードしたデータなどに基づいて各種データ処理を実行する。【００８４】
（パソコンのハードウェア構成）
図１０は、パソコンのハードウェア構成を示す図である。図１０に示すように、パソコン１０００は、プロセッサ１０１０を有し、これらに接続される各種装置を用いて各種処理を実行する。【００８５】
具体的には、プロセッサ１０１０は、メインメモリ１０１１と接続される。また、パソコン１０００は、Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  Ｕｎｉｔ１０１２を有し、各ハードウェア等に電力を供給する。【００８６】
プロセッサ１０１０は、映像や音声をデジタル信号で出力するＨＤＭＩ（High−Definition  Multimedia  Interface）コネクタ１００１と接続される。また、プロセッサ１０１０は、ディスプレイ等と接続するＤＶＩ（Digital  Visual  Interface）コネクタ１００２に接続される。これらを用いて、プロセッサ１０１０は、外部装置に音声や映像を出力する。【００８７】
プロセッサ１０１０は、複数のＵＳＢ（Universal  Serial  Bus）コネクタ１００３と接続される。これを用いて、プロセッサ１０１０は、外部記憶装置等と接続し、外部記憶装置等からデータの読み出しや外部記憶装置へデータの書込みを実行する。【００８８】
プロセッサ１０１０は、ＬＰＣ（Low  Pin  Count）バスを用いて、ＢＩＯＳ（Basic  Input／Output  System）１００５やSuper  Input／Output１００４と接続される。これらを用いて、プロセッサ１０１０は、ＢＩＯＳの実行や入出力の制御を行う。【００８９】
プロセッサ１０１０は、ＰＣＩｅ（Peripheral  Components  Interconnect  bus  Express）を介して、ＷＬＡＮ（Wireless  Local  Area  Network）インタフェース１００６やＬＡＮポート１００７と接続される。プロセッサ１０１０は、これらを用いて、無線通信や有線通信を実行する。なお、パソコン１０００は、クラウドストレージ２や他の端末との間では、無線通信であっても有線通信であっても、同様に通信を行うことができる。【００９０】
プロセッサ１０１０は、ＳＡＴＡ（Serial  AT  Attachment）を介して、ＨＤＤ（Hard  Disk  Drive）１００８やＳｌｉｍ−ＯＤＤ（Optical  Disk  Drive）１００９などの記憶装置と接続される。これらの記憶装置には、図３に示した制御部１５が有する各処理部と同様の機能を実現するクラウドストレージプログラム８３１などのプログラムや図３に示した各ＤＢに記憶される各種データを記憶する。【００９１】
そして、プロセッサ１０１０がクラウドストレージプログラム８３１を記憶装置から読み出してメインメモリ１０１１にロードすることにより、クラウドストレージプログラム８３１は、クラウドストレージプロセスとして機能するようになる。そして、クラウドストレージプロセスは、記憶装置から読み出した情報などをメインメモリ１０１１上の自身に割り当てられた領域に適宜ロードし、このロードしたデータなどに基づいて各種データ処理を実行する。【００９２】
なお、上記のクラウドストレージプログラム８３１は、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介してパソコン１０００に接続される他のコンピュータ（またはサーバ）などに記憶されるようにしても良い。この場合には、パソコン１０００がネットワークインタフェースを介して他のコンピュータなどからクラウドストレージプログラム８３１を読み出して実行する。【００９３】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。【００９４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【符号の説明】
【００９５】
１  クラウドシステム
２  クラウドストレージ
３  フォトブックサーバ
４  パソコン
５  スマートフォン
１０  情報処理端末
１１  通信制御部
１２  入力部
１３  表示部
１４  記憶部
１４ａ  画像データＤＢ
１４ｂ  ノートＤＢ
１４ｃ  個別管理ファイルＤＢ
１４ｄ  統合管理ファイルＤＢ
１５  制御部
１６  個別管理部
１６ａ  編集部
１６ｂ  ファイル更新部
１７  統合管理部
１７ａ  ファイル更新部
１７ｂ  同期実行部
【図１】
2014064817.tif 000003
【図２】
2014064817.tif 000004
【図３】
2014064817.tif 000005
【図４】
2014064817.tif 000006
【図５】
2014064817.tif 000007
【図６】
2014064817.tif 000008
【図７】
2014064817.tif 000009
【図８】
2014064817.tif 000010
【図９】
2014064817.tif 000011
【図１０】
2014064817.tif 000012
【手続補正書】
【提出日】平成27年5月19日(2015.5.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムの前記各情報処理端末において、
データと、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報とを対応付けて記憶する第１記憶部と、
前記第１記憶部に記憶されるデータと、前記ストレージ装置に記憶されるデータとを同期させた最新の日時とを記憶する第２記憶部と、
前記ストレージ装置とデータを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得する取得部と、
前記取得部によって取得された最新の日時と、前記第２記憶部に記憶される最新の日時とが一致する場合に、前記更新情報が更新済みのデータを前記ストレージ装置に同期させる同期実行部と
を有することを特徴とする情報処理端末。
【請求項２】
前記同期実行部は、前記取得部によって取得された最新の日時と前記第２記憶部に記憶される最新の日時とが一致しない場合、かつ、前記更新済みのデータが存在する場合、前記更新済みのデータを前記第１の記憶部から他の記憶部に退避させた後、前記ストレージ装置に保存されるデータと前記第１記憶部に記憶されるデータとを同期させることを特徴とする請求項１に記載の情報処理端末。
【請求項３】
前記同期実行部は、前記他の記憶部に退避されたデータの退避元データに対応する、前記第１記憶部に記憶される同期済みのデータが同期後に編集される際に、前記退避されたデータが使用されなかった場合には、前記退避されたデータを前記他の記憶部から削除することを特徴とする請求項２に記載の情報処理端末。
【請求項４】
前記同期実行部は、前記取得部によって取得された最新の日時と前記第２記憶部に記憶される最新の日時とが一致しない場合、かつ、前記更新済みのデータが存在しない場合、前記ストレージ装置に保存されるデータと前記第１記憶部に記憶されるデータとを同期させることを特徴とする請求項１に記載の情報処理端末。
【請求項５】
ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムの前記各情報処理端末が、
第１記憶部に記憶されるデータと前記ストレージ装置とを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得し、
取得した最新の日時と、第２記憶部が前記第１記憶部に記憶されるデータと対応付けて記憶する、前記ストレージ装置と同期した最新の日時とが一致する場合に、前記第１記憶部が前記データと対応付けて記憶する、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報が更新済みのデータを前記ストレージ装置に同期させる
処理を実行することを特徴とする同期制御方法。
【請求項６】
ネットワーク上のストレージ装置を複数の情報処理端末で共有し、前記ストレージ装置および各端末間でデータを同期させる情報処理システムの前記各情報処理端末に、
第１記憶部に記憶されるデータと前記ストレージ装置とを同期させる場合に、前記ストレージ装置がいずれかの情報処理端末と同期した最新の日時を、前記ストレージ装置から取得し、
取得した最新の日時と、第２記憶部が前記第１記憶部に記憶されるデータと対応付けて記憶する、前記ストレージ装置と同期した最新の日時とが一致する場合に、前記第１記憶部が前記データと対応付けて記憶する、当該データが前記ストレージ装置と同期後に更新されたか否かを示す更新情報が更新済みのデータを前記ストレージ装置に同期させる
処理を実行させることを特徴とする同期制御プログラム。
【国際調査報告】
2014064817.tif 000013
2014064817.tif 000014
2014064817.tif 000015
2014064817.tif 000016