IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社小林の特許一覧

<>
  • 特許-サーバ装置及びコンピュータプログラム 図1
  • 特許-サーバ装置及びコンピュータプログラム 図2
  • 特許-サーバ装置及びコンピュータプログラム 図3
  • 特許-サーバ装置及びコンピュータプログラム 図4
  • 特許-サーバ装置及びコンピュータプログラム 図5
  • 特許-サーバ装置及びコンピュータプログラム 図6
  • 特許-サーバ装置及びコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-19
(45)【発行日】2023-12-27
(54)【発明の名称】サーバ装置及びコンピュータプログラム
(51)【国際特許分類】
   G06F 16/178 20190101AFI20231220BHJP
【FI】
G06F16/178
【請求項の数】 5
(21)【出願番号】P 2023064512
(22)【出願日】2023-04-11
【審査請求日】2023-04-13
【早期審査対象出願】
(73)【特許権者】
【識別番号】523130305
【氏名又は名称】株式会社小林
(74)【代理人】
【識別番号】100109014
【弁理士】
【氏名又は名称】伊藤 充
(74)【代理人】
【識別番号】100141988
【弁理士】
【氏名又は名称】松本 浩一郎
(74)【代理人】
【識別番号】100182154
【弁理士】
【氏名又は名称】吉田 淳一
(72)【発明者】
【氏名】小林 幹直
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2006-134214(JP,A)
【文献】特開2011-257959(JP,A)
【文献】特開2006-252100(JP,A)
【文献】特開2017-062636(JP,A)
【文献】特開2012-014244(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
端末の内部記憶装置の記憶内容を保持するサーバ装置であって、
前記端末と接続するためのインターフェースと、
前記端末の内部記憶装置と同一の記憶内容を記憶するデータベースと、
前記データベースに、前記端末の内部記憶装置と同一の記憶内容を保存する制御部と、
を具備し、前記制御部は、
前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記データベースに前記第1のデータを保存する動作と、
前記インターフェースが、前記端末からのデータ更新レポートと、更新した第2のデータと、を受信した場合、前記データベースに前記第2のデータを保存する動作と、
を実行し、
前記第2のデータを保存する動作は、
前記第2のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第2のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータのフラグの世代数を+1する動作と、
前記データベースに保存されている更新前の第2のデータのフラグの世代数を1世代前にする動作と、
前記更新した第2のデータを、前記データベースに保存する動作と、
を含み、
前記制御部は、
前記インターフェースが、前記端末から、前記データベースに対するアクセスを受信した場合、前記制御部は、前記アクセスにアクセス許可情報を含まれるか否か確認する動作と、
前記確認する動作において、前記アクセス許可情報が含まれている場合は、前記端末の前記データベース中の全てのデータに対するアクセスを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する動作と、
前記確認する動作において、前記アクセス許可情報が含まれていない場合は、前記端末の前記データベース中のn世代前のフラグが付加されていないデータに対するアクセスのみを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する動作と、
を実行することを特徴とするサーバ装置。
【請求項2】
端末の内部記憶装置の記憶内容を保持するサーバ装置であって、
前記端末と接続するためのインターフェースと、
前記端末の内部記憶装置と同一の記憶内容を記憶するデータベースと、
前記データベースに、前記端末の内部記憶装置と同一の記憶内容を保存する制御部と、
を具備し、前記制御部は、
前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記データベースに前記第1のデータを保存する動作と、
前記インターフェースが、前記端末からのデータ削除レポートと、削除した第3のデータと、を受信した場合、前記データベースから前記第3のデータを削除する動作と、
を実行し、
前記第3のデータを削除する動作は、
前記第3のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第3のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータの世代数を+1する動作と、
前記データベースに保存されている削除前の第3のデータのフラグの世代数を1世代前にする動作と、
を含み、
前記制御部は、
前記インターフェースが、前記端末から、前記データベースに対するアクセスを受信した場合、前記制御部は、前記アクセスにアクセス許可情報を含まれるか否か確認する動作と、
前記確認する動作において、前記アクセス許可情報が含まれている場合は、前記端末の前記データベース中の全てのデータに対するアクセスを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する動作と、
前記確認する動作において、前記アクセス許可情報が含まれていない場合は、前記端末の前記データベース中のn世代前のフラグが付加されていないデータに対するアクセスのみを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する動作と、
を実行することを特徴とするサーバ装置。
【請求項3】
コンピュータを、請求項1又は2記載のサーバ装置にアクセスする端末として動作させるコンピュータプログラムであって、前記コンピュータに、
前記サーバ装置に対して、前記アクセス許可情報を含むアクセスを送信する手順、
を実行させることを特徴とするコンピュータプログラム。
【請求項4】
コンピュータを、請求項1記載のサーバ装置として動作させるコンピュータプログラムであって、前記コンピュータに、
前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記制御部が前記データベースに前記第1のデータを保存させる手順と、
前記インターフェースが、前記端末からのデータ更新レポートと、更新した第2のデータと、を受信した場合、前記制御部が前記データベースに前記第2のデータを保存する手順と、
を実行させ、
前記第2のデータを保存する手順は、
前記制御部が、前記第2のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第2のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータのフラグの世代数を+1する手順と、
前記制御部が、前記データベースに保存されている更新前の第2のデータのフラグの世代数を1世代前にする手順と、
前記制御部が、前記更新した第2のデータを、前記データベースに保存する手順と、
を含み、
さらに、前記コンピュータに、
前記インターフェースが、前記端末から、前記データベースに対するアクセスを受信した場合、前記制御部は、前記アクセスにアクセス許可情報を含まれるか否か確認する手順と、
前記確認する手順において、前記アクセス許可情報が含まれている場合は、前記端末の前記データベース中の全てのデータに対するアクセスを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する手順と、
前記確認する手順において、前記アクセス許可情報が含まれていない場合は、前記端末の前記データベース中のn世代前のフラグが付加されていないデータに対するアクセスのみを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する手順と、
を実行させることを特徴とするコンピュータプログラム。
【請求項5】
コンピュータを、請求項2記載のサーバ装置として動作させるコンピュータプログラムであって、前記コンピュータに、
前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記制御部が前記データベースに前記第1のデータを保存させる手順と、
前記インターフェースが、前記端末からのデータ削除レポートと、削除した第3のデータと、を受信した場合、前記制御部が前記データベースから前記第3のデータを削除させる手順と、
を実行させ、
前記第3のデータを削除する手順は、
前記制御部が、前記第3のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第3のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータの世代数を+1する手順と、
前記制御部が、前記データベースに保存されている削除前の第3のデータのフラグの世代数を1世代前にする手順と、
を含み、
さらに、前記コンピュータに、
前記インターフェースが、前記端末から、前記データベースに対するアクセスを受信した場合、前記制御部は、前記アクセスにアクセス許可情報を含まれるか否か確認する手順と、
前記確認する手順において、前記アクセス許可情報が含まれている場合は、前記端末の前記データベース中の全てのデータに対するアクセスを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する手順と、
前記確認する手順において、前記アクセス許可情報が含まれていない場合は、前記端末の前記データベース中のn世代前のフラグが付加されていないデータに対するアクセスのみを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する手順と、
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ同期を行うサーバ装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、データの信用性を向上させるために記憶装置の「同期」技術が広く用いられている。同期を用いれば、2個の記憶装置の内容を一致させることができ、使用しているデータのコピーを自動的に構築することができるので、一方の記憶装置に障害が発生しても他方のデータを使用することができ便利である。特に、手動でデータのコピーを取ることと比較して、同期を用いれば自動的にデータのコピーを構築できるので便利である。
例えば、クラウド上に記憶装置を配置したクラウドサーバに対して同期技術を適用して、所定の端末中の記憶装置と、そのクラウドサーバの記憶内容とを同期させる仕組みは広く利用されている。
このような同期技術においては、種々の工夫・改良が提案されており、同期技術の改良に関する特許文献も多い。
以下、いくつかの同期技術に関する特許文献を説明する。
【0003】
先行特許文献
例えば、下記特許文献1には、サーバ側と端末側とでデータを同期させるデータ同期システムに関する工夫が開示されている。この文献においては、優先度を共有可能とする仕組みが開示されており、共有されたこの優先度に基づき、端末側で保持するデータの中で削除するデータを決定する技術が開示されている。
また、下記特許文献2には、フォルダ内の全てのデータを同期させるのではなく、同期対象のデータをユーザが選択できる技術が開示されている。
また、下記特許文献3には、第1の貯蔵装置と第2の貯蔵装置とを同期させる際に問題が発生した場合、その貯蔵装置を強制フォーマットする技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-32271号公報
【文献】特開2019-86866号公報
【文献】特開2020-30828号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように、従来から、記憶装置間で同期の技術を使用することは広く行われている。
さて、例えば、クラウドサーバと、利用者の端末内の記憶装置との同期を利用する場合、端末内の記憶装置の容量と、クラウドサーバとの記憶装置の容量は、原則として同一の容量である。そのため、端末側の記憶容量以上のデータについてコピーを構築することはできない。
【0006】
したがって、クラウドサーバを利用する場合でも、結局、端末側の記憶容量も大きな容量が必要となってしまう。しかし、近年広く使用されている端末である「スマートフォン(Smartphone)」は、その内部の記憶容量が大きくなればなるほど価格が高くなる傾向にある。そのため、なるべく少ない記憶容量のスマートフォンを用いながら、それと同期するクラウドサーバには大容量のデータを保持できれば利用者にとって便利である。
このような要望に関して、上述した特許文献1では、優先度を用いて、端末側からデータを削除できるように構成して、端末側の記憶容量を節約する技術を開示している。しかしながら、優先度の設定によっては、端末内から予期せぬデータが自動的に削除されてしまう事態も想定される。
【0007】
また、上述した特許文献2では、同期しなくてもよいデータをユーザが選択できる構成を採用して、端末側の記憶容量を節約する技術を開示している。しかし、係るデータを選択する作業が増え、ユーザの作業量が増えてしまい、手続が煩雑化してしまうという問題がある。
さらに、従来の同期技術においては、端末側の記憶装置からデータを削除すれば、当然ながら、クラウドサーバ内からその対応するデータは削除される。そのため、(従来の同期技術だけでは)ユーザによって削除されたデータを、後日になってから復元することはできない。
【0008】
本発明は、係る課題に鑑みなされたものであり、その目的は、少ない記憶容量しか持たない端末を利用しつつ、より多くのデータをサーバ側に記憶させることができるデータ同期システムを実現することである。そして、そのためのサーバ装置や関連装置、関連コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本願発明者は、このような課題に関して、鋭意研究を重ねて、端末側からデータを削除しても、サーバ側から削除しない構成とすることによって、従来の同期技術の改良を行い、上記の問題を解決できるのではないかと考えた。そして、長年の研究の結果、係る基本アイデアに基づき、以下に説明するような本願発明を完成させるに至った。
【0010】
(1)上記課題を解決するために、本願発明は、端末の内部記憶装置の記憶内容を保持するサーバ装置であって、前記端末と接続するためのインターフェースと、前記端末の内部記憶装置と同一の記憶内容を記憶するデータベースと、前記データベースに、前記端末の内部記憶装置と同一の記憶内容を保存する制御部と、を具備し、前記制御部は、前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記データベースに前記第1のデータを保存する動作と、前記インターフェースが、前記端末からのデータ更新レポートと、更新した第2のデータと、を受信した場合、前記データベースに前記第2のデータを保存する動作と、を実行し、前記第2のデータを保存する動作は、前記第2のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第2のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータのフラグの世代数を+1する動作と、前記データベースに保存されている更新前の第2のデータのフラグの世代数を1世代前にする動作と、前記更新した第2のデータを、前記データベースに保存する動作と、を含むことを特徴とするサーバ装置である。
【0011】
(2)上記課題を解決するために、本願発明は、端末の内部記憶装置の記憶内容を保持するサーバ装置であって、前記端末と接続するためのインターフェースと、前記端末の内部記憶装置と同一の記憶内容を記憶するデータベースと、前記データベースに、前記端末の内部記憶装置と同一の記憶内容を保存する制御部と、を具備し、前記制御部は、前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記データベースに前記第1のデータを保存する動作と、前記インターフェースが、前記端末からのデータ削除レポートと、削除した第3のデータと、を受信した場合、前記データベースから前記第3のデータを削除する動作と、を実行し、前記第3のデータを削除する動作は、前記第3のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第3のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータの世代数を+1する動作と、前記データベースに保存されている削除前の第3のデータのフラグの世代数を1世代前にする動作と、を含むことを特徴とするサーバ装置である。
【0012】
(3)また、本発明は、(1)又は(2)記載のサーバ装置であって、前記制御部は、前記インターフェースが、前記端末から、前記データベースに対するアクセスを受信した場合、前記制御部は、前記アクセスにアクセス許可情報を含まれるか否か確認する動作と、前記確認するステップにおいて、前記アクセス許可情報が含まれている場合は、前記端末の前記データベース中の全てのデータに対するアクセスを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する動作と、前記確認するステップにおいて、前記アクセス許可情報が含まれていない場合は、前記端末の前記データベース中のn世代前のフラグが付加されていないデータに対するアクセスのみを許可し、前記アクセスが要求するデータを前記端末に前記インターフェースを介して前記端末に送信する動作と、を実行することを特徴とするサーバ装置である。
【0013】
(4)また、本発明は、コンピュータを、(3)記載のサーバ装置にアクセスする端末として動作させるコンピュータプログラムであって、前記コンピュータに、前記サーバ装置に対して、前記アクセス許可情報を含むアクセスを送信する手順、を実行させることを特徴とするコンピュータプログラムである。
【0014】
(5)また、本発明は、コンピュータを、(1)記載のサーバ装置として動作させるコンピュータプログラムであって、前記コンピュータに、前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記制御部が前記データベースに前記第1のデータを保存させる手順と、前記インターフェースが、前記端末からのデータ更新レポートと、更新した第2のデータと、を受信した場合、前記制御部が前記データベースに前記第2のデータを保存する手順と、を実行させ、前記第2のデータを保存する手順は、前記制御部が、前記第2のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第2のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータのフラグの世代数を+1する手順と、前記制御部が、前記データベースに保存されている更新前の第2のデータのフラグの世代数を1世代前にする手順と、前記制御部が、前記更新した第2のデータを、前記データベースに保存する手順と、を含むことを特徴とするコンピュータプログラムである。
【0015】
(6)また、本発明は、コンピュータを、(2)記載のサーバ装置として動作させるコンピュータプログラムであって、前記コンピュータに、前記インターフェースが、前記端末からのデータ作成レポートと、作成した第1のデータと、を受信した場合、前記制御部が前記データベースに前記第1のデータを保存させる手順と、前記インターフェースが、前記端末からのデータ削除レポートと、削除した第3のデータと、を受信した場合、前記制御部が前記データベースから前記第3のデータを削除させる手順と、を実行させ、前記第3のデータを削除する手順は、前記制御部が、前記第3のデータにn(nは1以上の整数)世代前のフラグが付加されたデータが前記データベースに存在するか否か確認し、前記確認の結果、前記第3のデータにn世代前のフラグが付加されたデータが存在した場合、前記n世代前のデータの世代数を+1する手順と、前記制御部が、前記データベースに保存されている削除前の第3のデータのフラグの世代数を1世代前にする手順と、を含むことを特徴とするコンピュータプログラムである。
【発明の効果】
【0016】
本発明によれば、少ない記憶容量しか持たない端末を利用しつつ、より多くのデータをサーバ側に記憶させることができるサーバ装置を提供することができ、それを用いたデータ同期システムを実現することができる。
【図面の簡単な説明】
【0017】
図1】本実施形態に係るデータ同期システム10の全体構成図である。
図2】クラウドサーバ14の構成図である。
図3】端末側でデータが作成された場合の動作を表すフローチャートである。
図4】端末側でデータが更新された場合の動作を表すフローチャートである。
図5】端末側でデータが更新された場合の動作を表すフローチャートである。
図6】端末側でデータが削除された場合の動作を表すフローチャートである。
図7】端末側でデータが削除された場合の動作を表すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の好適な実施形態に係るデータ同期システム10、それに用いられるクラウドサーバ14と、端末(スマートフォン16、パーソナルコンピュータ18等)とを、図面に基づき説明する。
【0019】
第1.構成
図1には、本実施形態に係るデータ同期システム10の全体構成図が示されている。この図に示すように、本実施形態のデータ同期システム10は、クラウドサーバ14と、クラウドサーバ14が接続するネットワーク12と、を備えている。そして、利用者はスマートフォン16から、ネットワーク12を介してクラウドサーバ14と接続して、スマートフォン16内部の記憶装置と、クラウドサーバ14のデータベースとの内容を同期させるサービスを利用している。
なお、利用者が利用する端末はスマートフォン16に限られず、例えばパーソナルコンピュータ18等でもよい。
このように、本実施形態では、クラウドサーバ14が、利用者の各種端末(スマートフォン16や、パーソナルコンピュータ18)の内部記憶装置のデータの同期を、ネットワークを介して行う様子を説明する。
【0020】
クラウドサーバ14は、ネットワーク12を介して、利用者(の端末)に同期サービスを提供するサーバである。その構成図が図2に示されている。同図に示すように、クラウドサーバ14は、データベース20と、CPU22と、メモリ24と、ネットワークインターフェース26と、を備えているコンピュータである。
データベース20は、記憶装置であり、ハードディスクや半導体記憶装置で構成してよい。このデータベース20は、利用者(の端末)に対してバックアップサービスを提供するための中心となる記憶装置であり、利用者の端末の内部の記憶装置の内容と同期したデータが記憶される。具体的な記憶の動作は、後に詳述する。
CPU22は、クラウドサーバ14の動作を実行するCPUであり、メモリ24に格納されるコンピュータプログラムを実行することによって、クラウドサーバ14の動作を司る。メモリ24中のこのコンピュータプログラムは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
【0021】
また、クラウドサーバ14は、請求の範囲のサーバ装置の好適な一例に相当する。また、CPU22は、請求の範囲の制御部の好適な一例に相当する。また、データベース20は、請求の範囲のデータベースの好適な一例に相当する。
【0022】
ネットワークインターフェース26は、ネットワーク12と接続するためのインターフェースであり、ネットワーク12の種類に応じて種々のインターフェースを使用してよい。ネットワーク12は、例えばインターネットを利用してよいが、利用用途・利用する環境に応じて様々なネットワークを利用してよい。また、ネットワークインターフェース26は、請求の範囲のインターフェースの好適な一例に相当する。
【0023】
スマートフォン16や、パーソナルコンピュータ18は、利用者が利用する端末であり、利用者はこれら端末の内部の記憶装置のデータの同期を、クラウドサーバ14を利用して実行する。スマートフォン16や、パーソナルコンピュータ18は、請求の範囲の端末の好適な例に相当する。
本実施形態では、データ同期の対象となる端末の例として、スマートフォン16や、パーソナルコンピュータ18を挙げたが、バックアップの対象となる内部の記憶装置があればどのような端末でも、データ同期サービスの対象とすることができる。
【0024】
第2.動作
以下、本実施形態に係るデータ同期システム10の動作をフローチャートに基づき説明する。
ここでは、利用者Xが、クラウドサーバ14の事業者と契約し、利用者Xのスマートフォン16の内部記憶装置が、クラウドサーバ14と同期するように設定されている場合を例として説明を行う(図1参照)。
スマートフォン16には、いわゆる同期のための設定がなされ、例えば、データが作成された場合にそのデータがクラウドサーバ14に送信される。このような設定・動作は、例えば、所定の同期を行うためのアプリケーションプログラム(以下、本実施形態では「同期アプリ」と呼ぶ)を、スマートフォン16にインストールすることによって実現される。当該同期アプリが設定を行う、又は、当該同期アプリが常駐し、データが作成されたことを検出する度に、当該データをクラウドサーバ14に送信するような動作を実行させてもよい。同期アプリは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
本実施形態では、所定の同期アプリを、スマートフォン16にインストールし、このアプリが、以下説明する動作を実現しているものとして説明を行う。すなわち、スマートフォン16のCPUが、当該同期アプリを実行して、以下説明する各動作を実現している。
【0025】
(2-1)データの新規作成
図3は、端末(スマートフォン16)側で新たなデータが作成された場合の動作を表すフローチャートである。
以下、本実施形態では、端末として、スマートフォン16を例にして説明する。端末としては、利用者が操作することができる端末であって新たにデータを生成することができ、また、データを削除することができれば、どのような機器でもよい。
また、本実施形態では、データとして、コンピュータのファイルを例として説明する。例えば、スマートフォン16で写真を撮影した場合の画像データファイル等が該当する。データとしては、ファイルに限らず、コンピュータで扱えるデータであればどのようなデータでもよい。
【0026】
まず、ステップS3-1において、スマートフォン16の端末において、写真が撮影され、画像データファイル(データA)が作成され、スマートフォン16内部の記憶装置に格納される。
ステップS3-2において、スマートフォン16は、同期先のクラウドサーバ14に対して、データ作成レポートと、新たに作成されたデータAと、が送信される。この結果、データ作成レポートと、新たに作成されたデータAと、はネットワーク12を介して、クラウドサーバ14に到達する。
データ作成レポートは、利用者Xを示すIDや、データAの作成を行ったスマートフォン16のID等を含み、データの作成が行われたことをクラウドサーバ14に知らせるレポートである。
このような動作は、スマートフォン16にインストールされた同期アプリが実行してよい。換言すれば、スマートフォン16のCPUは、同期アプリを実行し、データAが内部の記憶装置に格納されたことを検出すると、当該データAと、当該データAが作成されたことをクラウドサーバ14に知らせるレポートであるデータ作成レポートとを、クラウドサーバ14に対して送信する。
【0027】
ステップS3-3において、クラウドサーバ14が、送信されてきたデータ作成レポートと、新たに作成されたデータAと、を受信する。この受信は、ネットワークインターフェース26が実行し、受信したデータ等は、CPU22において処理される。
ステップS3-4において、クラウドサーバ14のCPU22は、受信したデータA等を処理する。CPU22は、まずデータ作成レポートを検査して、利用者Xを識別し、当該利用者Xの新たなデータAとして、データベース20に新たに作成されたデータAを記憶する。この動作によって、データベース20は、利用者Xのスマートフォン16の内部記憶装置と同様の記憶内容を保持することができ、いわゆる同期を実現している。なお、データベース20は、利用者ごとにデータを管理している。論理的には、利用者Xの記憶領域、利用者Yの記憶領域、のように分けて管理されている。
【0028】
(2-2)データの更新(編集)
図4は、端末(スマートフォン16)側でデータが更新(編集)された場合の動作を表すフローチャートである。
更新とは、内容が更新されることを意味し、例えば、テキストファイルを編集して内容を変更した場合等を言う。また、画像ファイルをレタッチして内容を編集した場合等を言う。本実施形態では、このような場合、世代管理により、更新前のデータを保存している。以下、順に説明する。
【0029】
まず、ステップS4-1において、スマートフォン16端末において、利用者Xは、スマートフォン16内部の写真の画像データファイル(データB)を編集する。
ステップS4-2において、スマートフォン16は、同期先のクラウドサーバ14に対して、データ更新レポート、及び、データBを送信する。この結果、データ更新レポートは、ネットワーク12を介して、クラウドサーバ14に到達する。
データ更新レポートは、利用者Xを示すIDや、データBの更新を行ったスマートフォン16のID等を含み、データの更新が行われたことをクラウドサーバ14に知らせるレポートである。また、データ更新レポートは、更新したデータBを表す識別子が含まれる。この識別子は、データBを識別できればどのようなものでもよいが、例えば、ハッシュ値などを好適に利用することができる。
【0030】
このような動作は、スマートフォン16にインストールされた同期アプリが実行してよい。換言すれば、スマートフォン16のCPUは、同期アプリを実行し、内部記憶装置に保存されているデータBの内容が更新されたことを検出すると、当該データBと、当該データBが更新されたことをクラウドサーバ14に知らせるレポートであるデータ更新レポートとを、クラウドサーバ14に対して送信する。
ステップS4-3において、クラウドサーバ14が、送信されてきたデータ更新レポートと、更新されたデータBとを受信する。この受信は、ネットワークインターフェース26が実行し、受信したデータ等は、CPU22において処理される。
【0031】
ステップS4-4において、クラウドサーバ14のCPU22は、受信したデータ更新レポートを処理する。CPU22は、まずデータ更新レポート中の識別子を検査して、利用者Xを識別し、さらに、更新されたデータがデータBであることを認識する。
ステップS4-5では、CPU22は、更新対象であるデータBに、既に、1世代前、2世代前・・・のデータが存在するか確認を行う。
【0032】
世代管理
本実施形態において特徴的なことは、データに世代管理を取り入れていることである。すなわち、当該データの内容の更新や削除が行われた場合、更新される前の世代のデータに、1世代前のフラグを付加して、データベース中に保存しておくのである。本実施形態では、世代管理は10世代前まで行っている。
このように、データが更新(削除)された場合は、1世代前のフラグを付加して、データベース中に保存しておく。この結果、スマートフォン16側からは、更新前(削除前)の当該データは見えなくなる。言い換えれば、n世代前(nは1~10の整数、以下同様)のフラグが付加されたデータは、通常のアクセスでは見えないように制御する。
なお、データが「更新」ではなく、データが「削除」された場合も、同様の考えから世代管理を行っている。ただし、「削除」の場合は、削除後のデータは保存されない。この結果、スマートフォン16側からは、削除後のデータを直接見ることはできなくなる。
【0033】
記述
なお、「n世代前のフラグが付加されたデータ」を、単に「n世代前のデータ」と記述する場合がある。また、「n世代前のフラグの世代数」を調整(+1する等)することを、「n世代前のデータの世代数」を調整する(+1等する~)と記述する場合もある。
【0034】
閲覧の管理
n世代前のフラグが付加されたデータは、端末からの通常のアクセスでは閲覧することができない。
端末が、n世代前のフラグが付加されたデータを見るためには、所定の閲覧用アプリを用いる。本実施形態では、上述した同期アプリに、閲覧の機能を持たせて閲覧用アプリとして利用している。利用者は、この同期アプリを介して、n世代前のフラグが付加されたデータを見ることやダウンロードをすることができる。なお、この同期アプリは、いわゆるPC版のアプリも用意しておくことが好適であり、スマートフォン16だけでなく、パーソナルコンピュータ18でPC版の同期アプリを利用することもできる。
このように、クラウドサーバ14は、閲覧用アプリ(本実施形態では同期アプリと兼用)からのアクセスの場合のみ、n世代前のフラグが付加されたデータを見ること(閲覧すること)を許可し、通常のアクセスではn世代前のフラグが付加されたデータを見ることはできない。これを実現するため、閲覧用アプリは、閲覧用アプリIDを含むアクセスをクラウドサーバ14に対して行い、n世代前のフラグが付加されたデータを含む、全てのデータを閲覧することができる。クラウドサーバ14は、閲覧用アプリIDを含むアクセスの場合のみ、全てのデータの閲覧を許可している。
ここで、閲覧用アプリ(同期アプリ)は、請求の範囲のコンピュータプログラムの好適な一例に相当する。
【0035】
このような動作は、クラウドサーバ14のCPU22が、メモリ24に格納されたコンピュータプログラムを実行することによって実現されている。
なお、ここでは、閲覧用アプリIDを用いて、通常のアクセスと区別する例を説明したが、アプリ名や、他の情報を用いてもよい。このような情報をここでは、アクセス許可情報と呼ぶ。
【0036】
なお、データベース20に現在記録されている(更新前の)現在のデータに1世代前のフラグを付加して保存しようとする際、それよりさらに過去のn世代前のフラグが付加されたデータの存在を確認し、過去のフラグが付加されたデータの世代を過去に1段階ずらしてから、現在記録されている(更新前の)現在のデータに1世代前のフラグを付加する。これは削除の場合も同様である。
【0037】
つまり、
1世代前のフラグが付加されたデータ → 2世代前のフラグが付加されたデータ
2世代前のフラグが付加されたデータ → 3世代前のフラグが付加されたデータ
3世代前のフラグが付加されたデータ → 4世代前のフラグが付加されたデータ
4世代前のフラグが付加されたデータ → 5世代前のフラグが付加されたデータ
のように、過去方向に1世代ずつずらす。なお、保存する世代数には、上限を設けておいてよい。例えば、本実施形態では、最大の世代数を10世代前としている。11世代前のフラグを付加しようとする場合は、そのデータは完全にデータベース20から削除する。このように、CPU22は、「現在」保存されている(更新の直前の)当該データBに、1世代前のフラグを付加し、すなわち、1世代前のデータであることを明示して、そのままデータベース22中に保存する。
【0038】
さて、ステップS4-5における確認の結果、1世代前、2世代前・・・のデータが存在する場合は、図5のステップS5-1に移行し、世代に関するフラグが付加されたデータのフラグを1世代ずつ古い方にシフトする。一方、1世代前、2世代前・・・のデータが存在しなければ、図5のステップS5-2に移行する。
ステップS5-1においては、n世代前のフラグが付加されたデータを+1する。すなわち、1世代ずつ古い方にシフトする。
ステップS5-2においては、現在のデータ(その時点で、データベース20に保存してある更新前のデータ)に、「1世代前」のフラグを付加する。
ステップS5-3においては、更新後のデータBを、データベース20に保存する。
以上のようにして、データの更新を実行する。以上説明したクラウドサーバ14の動作は、CPU22が、メモリ24中に格納されているコンピュータプログラムを実行することによって実現されている。
【0039】
(2-3)データの削除
図6は、端末(スマートフォン16)側でデータが削除された場合の動作を表すフローチャートである。
ステップS6-1において、スマートフォン16端末において、利用者Xは、スマートフォン16内部の写真の画像データファイル(データC)を削除する。
ステップS6-2において、スマートフォン16は、同期先のクラウドサーバ14に対して、データ削除レポート、を送信する。この結果、データ削除レポートは、ネットワーク12を介して、クラウドサーバ14に到達する。
なお、データ削除レポートは、削除したデータCを表す識別子が含まれる。この識別子は、データCを識別できればどのようなものでもよいが、例えば、ハッシュ値などを好適に利用することができる。
【0040】
このような動作は、スマートフォン16にインストールされた同期アプリが実行してよい。換言すれば、スマートフォン16のCPUは、同期アプリを実行し、内部記憶装置に保存されているデータCが削除されたことを検出すると、当該データCが削除されたことをクラウドサーバ14に知らせるレポートであるデータ削除レポートとを、クラウドサーバ14に対して送信する。
ステップS6-3において、クラウドサーバ14が、送信されてきたデータ削除レポートを受信する。この受信は、ネットワークインターフェース26が実行し、受信したデータ等は、CPU22において処理される。
【0041】
ステップS6-4において、クラウドサーバ14のCPU22は、受信したデータ削除レポートを処理する。CPU22は、まずデータ削除レポート中の識別子を検査して、利用者Xを識別し、さらに、削除されたデータがデータCであることを認識する。
ステップS6-5では、CPU22は、削除対象であるデータCに、既に、1世代前、2世代前・・・のデータが存在するか確認を行う。
【0042】
世代管理
データの削除においても、データの更新と同様に、世代管理を行うことは上で説明したとおりである。データの削除が、データの更新と異なる点は、更新後のデータの保存を行わないことである。n世代前のフラグを1世代ずつシフトする点は同様である。また、n世代前のフラグが付加されたデータを閲覧するために閲覧用アプリ(同期アプリ)を利用する点も、データの更新の場合と同様である。
【0043】
さて、ステップS6-5における確認の結果、1世代前、2世代前・・・のデータが存在する場合は、図7のステップS7-1に移行し、世代に関するフラグが付加されたデータのフラグを1世代ずつ古い方にシフトする。一方、1世代前、2世代前・・・のデータが存在しなければ、図7のステップS7-2に移行する。
ステップS7-1においては、n世代前のフラグが付加されたデータの「n世代前」の「n」を+1する。すなわち、1世代ずつ古い方にシフトする。
ステップS7-2においては、現在のデータ(その時点で、データベース20に保存してあるデータ)に、「1世代前」のフラグを付加する。
以上のようにして、データの削除を実行する。データ更新の場合と異なり、更新後のデータの保存動作はない。また、以上説明したクラウドサーバ14の動作は、CPU22が、メモリ24中に格納されているコンピュータプログラムを実行することによって実現されている。
【0044】
(2-4)世代管理されたデータの意義
従来の「同期」においては、データを削除すれば、同期された記憶装置においても、その対応するデータが削除される。これは、「同期」と言う技術が、2種の記憶装置の記憶内容を同一のものとする技術であり、データの二重化を図って、データの可用性を向上させたものだからである。したがって、常に同じ記憶状態の記憶装置が得られることから、データの安全性が担保されたものである。
しかし、スマートフォン16等の小型の情報端末においては、内部の記憶装置の容量が大きく取れない場合も想定される。さらに、スマートフォン16等の小型の情報端末の内部の記憶装置を大きなものとすると、コストが過大となってしまうことも知られている。
スマートフォン16等の内部記憶装置と他の記憶装置(例えばクラウドサーバ)との同期を実現するサービスは従来から知られているが、それが「同期」である以上、スマートフォン1等の記憶装置と同様の記憶容量とする必要がある。
【0045】
これに対して、本実施形態では、上述のように、データを削除(編集)しても、n世代前のフラグを付加してデータベース22中に保存され続ける。そして、本実施形態では、同期用アプリ(閲覧用アプリ)でアクセスした場合のみ、これらn世代前のフラグを付加したデータを見ることや、ダウンロードをすることを許容した。
そのため、本実施形態のクラウドサーバは、同期技術を利用しつつ、スマートフォン16の内部の記憶装置の容量以上のデータを保存することができる。
本実施形態では、同期技術の簡便な動作をベースとしているので、利用者は特別な動作をしなくても、スマートフォン16の内部記憶装置の容量以上のデータを自動的に保存することができる。言い換えれば、利用者は、これまでの「同期」の技術を使用するのと同様の操作だけで、スマートフォン16の内部記憶装置の容量以上の記憶容量を利用することができる。
【0046】
(2-5)世代管理されたデータに対するアクセス
このように、本実施形態のクラウドサーバ14は、スマートフォン16の内部の記憶装置と同期してデータを保存するとともに、スマートフォン16上で削除したデータも、n世代前のフラグを付加して保存している。このn世代前のフラグが付加されたデータは、閲覧用アプリを用いてアクセスすることができる。
【0047】
例えば、閲覧用アプリを用いてクラウドサーバにアクセスすると、そのデータベース20の内容の一覧を閲覧することができる。例えば、更新を数回繰り返したデータDは、
データD
1世代前のフラグが付加されたデータD
2世代前のフラグが付加されたデータD
3世代前のフラグが付加されたデータD
のように一覧される。
【0048】
また、例えば、更新を数回繰り返したあと、削除されたデータEは、
1世代前のフラグが付加されたデータE
2世代前のフラグが付加されたデータE
3世代前のフラグが付加されたデータE
のように一覧される。この場合、n世代前のフラグが付加されたデータEのみが保存されており、フラグが付加されていないデータEは保存されてはいないので、一覧に表れることはない。
【0049】
利用者は、これらの中から、任意の世代のデータ、例えば3世代前のデータ(3世代前のフラグが付加されたデータD(又はE))を閲覧することや、ダウンロードすることができる。これを実現するためには、クラウドサーバ14が、アクセスしてきたコンピュータプログラムが、閲覧用アプリか否かを判断できればよい。このため、閲覧用アプリ(同期用アプリ)は、所定の閲覧用アプリIDを伴ってクラウドコンピュータ14にアクセスすればよい。クラウドコンピュータ14のCPU22は、当該閲覧用アプリIDを伴うアクセスの場合は、n世代前のフラグが付加されたデータも含めた全てのデータを閲覧に供する。他方、閲覧用アプリIDを伴わないアクセス(通常のアクセスと呼ぶ)の場合は、n世代前のフラグが付加されているデータを除いて閲覧に供する。
ここでは、閲覧用アプリIDを用いて、通常のアクセスか否かを判断する例を説明したが、アプリ名等、他の種類の情報を用いて、判断することも好適である。このような判断のための情報を、本実施形態ではアクセス許可情報と呼ぶ。
また、これらの動作は、CPU22が、メモリ24中に格納されているコンピュータプログラムを実行することによって実現してよい。
【0050】
(2-6)他の機器からのアクセス
図1で説明したように、本実施形態のクラウドサーバ14は、スマートフォン16に限らず、様々な機器からアクセスできるように構成してよい。図1に示す例では、パーソナルコンピュータ18から接続する例が示されている。このとき、パーソナルコンピュータ18には、スマートフォン16と同様に、同期アプリ(閲覧用アプリ)をインストールしておくことが好ましい。
このように、他の機器(パーソナルコンピュータ18)からもクラウドサーバ14に接続できるようにすることで、クラウドサーバ14内のデータベース20と、パーソナルコンピュータ18の内部記憶装置との同期を取ることができる。この結果、さらに、スマートフォン16とパーソナルコンピュータ18との同期も取ることができる。
【0051】
なお、パーソナルコンピュータ18に、閲覧用アプリ(同期アプリ)をインストールすることによって、パーソナルコンピュータ18からも、過去保存されたデータや、過去削除されたデータを閲覧することや、ダウンロードすることが可能である。これらの動作は、上で説明したスマートフォン16が実行する動作と同様である。
第3.本実施形態の特徴・効果
以上、本実施形態では、スマートフォン16等の端末からクラウドサーバ14の提供する同期サービスを利用する例を説明した。
本実施形態のクラウドサーバ14は、スマートフォン16のような端末から削除されたデータについても、世代管理の仕組みを利用して保存しているので、端末の記憶容量以上のデータを保存することができる。
【0052】
また、世代管理の仕組みを利用しているので、スマートフォン16のような端末で更新(編集)されたデータについても、更新前の世代を保存しているので、端末の記憶容量以上のデータを保存することができるとともに、データのバックアップとしての機能を持たせることもできる。
一方、クラウドサーバ14は、通常のアクセスでは、世代管理によってn世代のフラグが付されたデータは、見えないように制御されるので、これまでの同期サービスと変わらない操作性を利用者に提供することができる。
また、閲覧用アプリ(同期アプリで兼用してもよい)からアクセスすれば、n世代のフラグが付されたデータをみることができ、過去のデータを利用することができるという利便性を有する。
【0053】
第3.変形例
(1)上述した実施形態では、ネットワークで接続されたクラウドサーバ14を説明したが、「クラウド」でないサーバ装置を利用してもよい。ローカルサーバを利用して、上で説明した動作と同様の動作を実行させてもよい。
(2)上述した実施形態では、同期サービスを実行するクラウドサーバ14を利用する端末として、スマートフォン16やパーソナルコンピュータ18を説明したが、内部記憶装置を備えており、同期を利用することができる装置であれば、どのような装置でも端末として利用することができる。例えば、タブレット型コンピュータでもよいし、IoT(Internet of Things)等に用いられる小型の情報通信機器でもよいし、家電製品等に内蔵されるマイコン等でもよい。
(3)上述した実施形態では、世代管理として10世代の例を示したが、より少ない世代数の世代管理でもよいし、より多くの世代数の世代管理でもよい。
【0054】
(4)上述した実施形態では、クラウドサーバ14が、閲覧用アプリからのアクセスであることを識別するために、閲覧用アプリが閲覧用アプリIDを利用する例を説明したが、他の情報で識別してもよい。アプリ名や、通信内容中の所定の情報(アクセス許可情報)で、閲覧用アプリからのアクセスであるか否かを判断してもよい。また、利用者が、閲覧用アプリを利用してクラウドサーバ14にアクセスする際にパスワードを入力するように構成してもよい。
ここでは、これら所定の情報(アプリ名、所定の情報、利用者のパスワード)をアクセス許可情報と呼ぶ。すなわち、クラウドサーバ14のCPU22は、端末からのアクセスに、このアクセス許可情報が含まれている場合は、データベース20に対する全てのデータにアクセスを許可する。一方、アクセス許可情報が含まれていない通常のアクセスの場合は、データベース20中のn世代のフラグが付されていないデータにのみアクセスが許可される。
【0055】
(4b)さらに、クラウドサーバ14は、WEBサーバを備えさせることも、好適である。そして、このWEBサーバ上で、データの閲覧やダウンロードが可能なように構成することも好適である。
閲覧用アプリからは、当該WEBサーバにアクセスし、利用者はこのWEBサーバ上でデータの閲覧やダウンロードが可能とすることもできる。この際、利用者にパスワードの入力をさせ、このパスワードを上述したアクセス許可情報として利用することも好適である。また、閲覧用アプリに当該パスワードを登録して、クラウドサーバ14のWEBサーバにアクセスする場合は、登録したパスワードを自動的に入力させるように構成してもよい。
(5)上述した実施形態では、同期用アプリが閲覧用アプリを兼ねる構成を説明したが、同期用アプリと、閲覧用アプリとを分けて利用してもよい。
【0056】
(6)上述した実施形態では、データ作成レポート、データ更新レポート、データ削除レポート、等を説明したが、これはクラウドサーバ14に情報を伝達できればどのようなもので構成してもよい。いわゆるパケットや、データフレーム(又は単にフレーム)と呼ばれる通信単位を用いてこれらの「レポート」を構成してもよい。また、FTP等のプロトコルで伝送されるファイルでもよい。また、電子メールでもよいし、メッセンジャーや、チャット等のメッセージでもよい。従来知られている様々な通信単位を、上記実施形態の「レポート」として利用することができる。
(6)また、以上説明した実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は本実施形態の態様に限定されるものではない。
【符号の説明】
【0057】
10 データ同期システム
12 ネットワーク
14 クラウドサーバ
16 スマートフォン
18 パーソナルコンピュータ
20 データベース
22 CPU
24 メモリ
26 ネットワークインターフェース
【要約】
【課題】少ない記憶容量の端末に対して、それより多くのデータをサーバ側に記憶させることができるデータ同期システムを実現する。
【解決手段】端末と接続するためのインターフェースと、端末の内部記憶装置と同一の記憶内容を記憶するデータベースと、データベースに端末の内部記憶装置と同一の記憶内容を保存する制御部と、を具備し、制御部は、インターフェースが端末からのデータ更新レポートと、更新した第2のデータと、を受信した場合、データベースに第2のデータを保存する動作と、を実行し、第2のデータを保存する動作は、第2のデータにn世代前のフラグが付加されたデータがデータベースに存在する場合に、n世代前のデータのフラグの世代数を+1する動作と、データベースに保存されている更新前の第2のデータのフラグの世代数を1世代前にする動作と、更新した第2のデータを、データベースに保存する動作と、を含むサーバ装置である。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7