図面を参照して、本発明の実施の形態を説明する。
(第1実施形態)
図1は、第1実施形態に係るコンテンツ提供システム10の一例を示す。コンテンツ提供システム10は、端末装置100とコンテンツ管理装置110を備える。コンテンツ提供システム10は、コンテンツおよびコンテンツの付随情報を端末装置100へ提供するシステムである。
端末装置100は、コンテンツを扱う、PDA(Personal Digital Assistant)、携帯電話、パーソナル・コンピューターなどの情報処理装置である。端末装置100の一例として、PDFデータをコンテンツとして扱う、電子ブックが挙げられる。コンテンツ管理装置110は、パーソナル・コンピューターなどの情報処理装置である。
コンテンツ管理装置110は第1の情報処理装置であり、端末装置100は第2の情報処理装置である。コンテンツ管理装置110を第2の情報処理装置とし、端末装置100を第1の情報処理装置としてもよい。コンテンツ管理装置110は、端末装置100から見て、他の情報処理装置である。端末装置100は、コンテンツ管理装置110から見て、他の情報処理装置である。
端末装置100とコンテンツ管理装置110は、それぞれ、インターネット、LAN、Wi−Fi、固定電話網、携帯電話網などの通信ネットワーク130に接続されており、コンテンツ、付随情報、および各種制御情報が、端末装置100とコンテンツ管理装置110との間で転送される。端末装置100とコンテンツ管理装置110は、通信ネットワーク130を介さずに、これ以外の有線通信または無線通信を介して接続されていてもよい。
コンテンツとは、文書データ、写真データ、音楽データ、映像データ、またはこれらを組み合わせたものを示す。たとえば、コンテンツの一例として、PDFデータが挙げられる。付随情報とは、コンテンツに対応付けられている情報であって、コンテンツに関連する情報を示す。たとえば、コンテンツがPDFデータの場合、付随情報の一例として、PDFデータに対してユーザーが書き込んだ注釈データが挙げられる。コンテンツ提供システム10は、コンテンツとは別に、付随情報を端末装置100とコンテンツ管理装置110の間で転送することができる。付随情報は、コンテンツが記録されているファイルとは異なるファイルに記録されていてもよく、コンテンツが記録されているファイルと同じファイルに記録されていてもよい。また、付随情報は、複数のファイルによって構成されていてもよい。
コンテンツ管理装置110は、複数のコンテンツおよび複数の付随情報をデータベースに格納する。具体的には、複数のコンテンツおよび複数の付随情報が第2格納部250に格納される。また、コンテンツ管理装置110は、データベースに格納されている複数のコンテンツおよび複数の付随情報を管理する。たとえば、コンテンツ管理装置110は、端末装置100からの要求に応じて、コンテンツおよび付随情報をデータベースから抽出する。そして、コンテンツ管理装置110の第2送信部258は、抽出したコンテンツおよび付随情報を端末装置100へ送信する。コンテンツ管理装置110の第2取得部260は、端末装置100から送信されたコンテンツまたは付随情報を取得し、取得したコンテンツまたは付随情報をデータベースへ格納することもできる。なお、上記データベースは、コンテンツ管理装置110が備えてもよく、コンテンツ管理装置110に接続された外部の情報処理装置が備えてもよい。
一方、端末装置100は、コンテンツ管理装置110からコンテンツおよび付随情報を取得し、取得したコンテンツおよび付随情報をデータベースに格納する。端末装置100は、コンテンツ管理装置110から取得したコンテンツおよび付随情報を、再生、表示、および編集することができる。なお、上記データベースは、端末装置100が備えてもよく、端末装置100に接続された外部の情報処理装置が備えてもよい。
続いて、第1実施形態に係るコンテンツ提供システム10による具体的な処理の手順、および第1実施形態に係るコンテンツ提供システム10の具体的な機能構成を説明する。まず、図2を参照しながら、第1実施形態に係るコンテンツ提供システム10による処理手順を説明する。図2は、コンテンツ提供システム10の処理手順の一例を示す。
最初に、端末装置100の第1送信部208は、コンテンツ管理装置110に対して、コンテンツ管理装置110の第2格納部250に格納されている複数のコンテンツのリスト(以下、「コンテンツ管理装置110のコンテンツリスト」と示す。)を端末装置100へ転送するように、当該コンテンツリストの転送指令を送信する(ステップS201)。
コンテンツ管理装置110においては、第2取得部260が、端末装置100が送信した転送指令を受信し(ステップS202)、これに応じて、第2コンテンツリスト送信部254が、コンテンツ管理装置110のコンテンツリストを端末装置100に送信する(ステップS203)。
端末装置100において、第1取得部210が、コンテンツ管理装置110から送信されたコンテンツ管理装置110のコンテンツリストを受信し(ステップS204)、受信したコンテンツ管理装置110のコンテンツリストから一のコンテンツが選択されると(ステップS205)、第1送信部208が、コンテンツ管理装置110に対して、選択された当該コンテンツおよび当該コンテンツの付随情報を端末装置100へ転送するように、転送指令を送信する(ステップS206)。
コンテンツ管理装置110においては、第2取得部260が、端末装置100が送信した転送指令を受信し(ステップS207)、これに応じて、第2送信部258が、受信した転送指令に従って、コンテンツとそのコンテンツの付随情報とを端末装置100に送信する(ステップS208)。
端末装置100においては、第1取得部210が、コンテンツ管理装置110から送信されたコンテンツとそのコンテンツの付随情報とを受信し(ステップS209)、受信したコンテンツとその付随情報とを第1格納部200に格納する(ステップS210)。さらに、転送制御部278が、第1送信部208に対して、この後でコンテンツの付随情報に変更が加えられても、その変更をコンテンツ管理装置110に転送しないように、ディセーブル信号を供給する(ステップS211)。
その後、端末装置100のユーザーによって、ステップS210で格納されたコンテンツが開かれ(ステップS212)、第1更新部202によってその付随情報が更新されると(ステップS213)、この時点では、その変更はコンテンツ管理装置110に転送されず、その付随情報の更新履歴が作成または更新される(ステップS214)。
そして、端末装置100のユーザーによって、開かれていたコンテンツが閉じられる、いうイベントが発生すると(ステップS215)、そのイベントを受けた転送制御部278が、第1送信部208に対して、付随情報に対して加えられた変更をコンテンツ管理装置110に転送するように転送指令を供給する(ステップS216)。
この転送指令を受けた第1送信部208は、端末装置100においてそのコンテンツの付随情報に対して加えられた変更のうち、コンテンツ管理装置110に転送されていない変更をコンテンツ管理装置110に転送する(ステップS217)。ここで、その付随情報の更新履歴において、コンテンツ管理装置110に転送された変更に対してフラグを立てておくとよい。そうすれば、次の転送時には、その付随情報の更新履歴を参照することで、コンテンツ管理装置110に転送されていない変更を容易に特定することができる。
コンテンツ管理装置110においては、第2取得部260が、端末装置100から転送された付随情報の変更を受信し(ステップS218)、第2自動更新部262が、第2格納部250に格納されている付随情報に対して、端末装置100から受信した変更を加える(ステップS219)。
その後、端末装置100は、ステップS210とステップS211の間に処理を戻して、そのコンテンツの付随情報に対するさらなる変更を待機していてもよい。その上で、そのコンテンツの付随情報に対するさらなる変更が生じた場合、ステップS214、ステップS215、ステップS216を経てステップS217の処理をおこなう。このステップS217においては、その付随情報の更新履歴を参照することで、コンテンツ管理装置110にまだ転送されていない変更、すなわち付随情報に対して生じたさらなる変更が特定される。そして、付随情報に対して生じたさらなる変更のみがコンテンツ管理装置110に転送される。
以上説明したように本発明によれば、コンテンツ管理装置110と端末装置100との間でコンテンツの付随情報を同期させるとき、端末装置100において付随情報に対して新たに加えられた変更のみが端末装置100からコンテンツ管理装置110に転送されるので、コンテンツ管理装置110と端末装置100との間で転送されるデータの量を少なく抑えることができる。
なお、図2に示した処理手順は、コンテンツ管理装置110には格納されているが端末装置100には格納されていない文書(コンテンツ)の付随情報に対して、端末装置100において変更が加えられ、その文書が閉じられた後、その付随情報に対して加えられた変更が一括して端末装置100からコンテンツ管理装置110に転送される、という例であるが、これは一例に過ぎない。たとえば、コンテンツとその付随情報が既に端末装置100に格納されている場合は、ステップS201からステップS210は必要ない。また、文書が開かれた状態を保ったまま、ステップS213において付随情報に変更が加えられる毎に、ステップS214とステップS216とステップS217が実行されてもよい。また、文書が開かれているか否かにかかわらず、端末装置100のユーザーによる指示を受けた時にステップS216とステップS217が実行されてもよい。また、所定のイベントが発生したタイミングで自動的に、ステップS214とステップS216とステップS217とが実行されてもよい。ここでいう所定のイベントとはたとえば、端末装置100が通信ネットワーク130に接続された時や、端末装置100のユーザーがドキュメントを閉じたときや、端末装置100が通信ネットワーク130から切断される時や、端末装置100のユーザーまたはコンテンツ管理装置110のユーザーからの指示を受けたとき等である。また、変更が加えられた付随情報に対応するコンテンツの、ファイル名、ファイルの種類、格納ディレクトリ、作成日などのパラメータが所定の条件に合致する場合にのみ、当該付随情報の変更内容が端末装置100からコンテンツ管理装置110へ転送されるように構成しても良い。
次に、図3を参照しながら、前述した処理を実行するために用いる端末装置100およびコンテンツ管理装置110の各々の機能を詳細に説明する。まず、端末装置100およびコンテンツ管理装置110が備える、付随情報の変更内容の転送に関する機能について説明する。
図3は、コンテンツ提供システム10の機能構成の一例を示す。端末装置100は、第1格納部200、第1更新部202、第1送信部208、第1取得部210、および転送制御部278を備える。
第1格納部200は、複数のコンテンツを格納する。また、第1格納部200は、複数のコンテンツのそれぞれについて、コンテンツに対応付けて当該コンテンツの付随情報を格納する。また、第1格納部200は、当該第1格納部200に格納されている複数のコンテンツが示されたコンテンツリスト(以下、「端末装置100のコンテンツリスト」と示す。)を格納する。また、第1格納部200は、当該第1格納部200に格納されている付随情報の更新履歴を格納する。
端末装置100は、第1格納部200を参照して端末装置100のコンテンツリストを作成することができる。端末装置100のコンテンツリストは第1格納部200に格納される。また、端末装置100は、定期的にまたは所定のイベントが発生したタイミングで、第1格納部200を参照し、第1格納部200に格納されている端末装置100のコンテンツリストを最新の状態に更新することができる。
第1更新部202は、第1格納部200に格納されている付随情報を更新する。たとえば、端末装置100は、第1格納部200に格納されている端末装置100のコンテンツリストを表示デバイスに表示し、入力デバイスによる任意のコンテンツの選択操作を受け付ける。そして、端末装置100は、選択されたコンテンツを第1格納部200から抽出し、抽出したコンテンツを表示デバイスに表示する。その後、第1更新部202は、入力デバイスによるコンテンツの付随情報の変更操作を受け付け、付随情報に加えられる変更を確定する。その後、第1更新部202は、第1格納部200に格納されている付随情報にその確定された変更を加えることによって、第1格納部200に格納されている付随情報を更新する。さらに、第1更新部202は、更新された付随情報の更新履歴を、第1格納部200に格納する。
第1送信部208は、付随情報の変更内容を送信する。たとえば、第1送信部208は、転送制御部278からの付随情報の変更内容の転送指令に応じて、該変更内容をコンテンツ管理装置110へ送信する。付随情報に加えられた変更は当該付随情報の更新履歴に記録されており、第1送信部208は、第1格納部200に格納されている当該付随情報の更新履歴を参照することによって、当該付随情報に最近加えられた変更を特定することができる。また、変更のうちコンテンツ管理装置110へすでに送信された変更に対してフラグをたてておけば、第1送信部208は、コンテンツ管理装置110へ送信されていない変更を容易に特定することができる。そして、第1送信部208は、当該付随情報に最近加えられた変更のうちコンテンツ管理装置110へ送信されていない変更をコンテンツ管理装置110へ送信することができる。
転送制御部278は、端末装置100とコンテンツ管理装置110との間での、各種データの転送を制御する。たとえば、転送制御部278は、端末装置100からコンテンツ管理装置110への、付随情報に加えられた変更の転送を制御する。
たとえば、転送制御部278は、端末装置100において、一のコンテンツに対応して該端末装置100に格納されている第1の付随情報に対して加えられた変更を、該一のコンテンツに対応する第2の付随情報が格納されているコンテンツ管理装置110へ該端末装置100から転送するかどうかの制御を実行する。ここで、転送制御部278は、所定のイベントが発生したとき上記制御を実行する。ここでいう所定のイベントとは、図2でも説明したように、たとえば、端末装置100が通信ネットワーク130に接続された時や、端末装置100のユーザーがドキュメントを閉じたとき、端末装置100が通信ネットワーク130から切断される時や、端末装置100のユーザーまたはコンテンツ管理装置110のユーザーからの指示を受けたとき等であるが、これらに限定するものではない。
ここで、転送制御部278は、一のコンテンツが所定の条件を満たす場合、変更が転送されるように上記制御を実行し、一のコンテンツが所定の条件を満たさない場合、変更が転送されないように上記制御を実行するようにしてもよい。具体的には、転送制御部278は、一のコンテンツが所定の条件を満たす場合、変更を転送するように第1送信部208へ指示し、一のコンテンツが所定の条件を満たさない場合、変更を転送しないように第1送信部208へ指示してもよい。たとえば、転送制御部278は、変更が加えられた付随情報に対応するコンテンツの、ファイル名、ファイルの種類、格納ディレクトリ、作成日などのパラメータが所定の条件に合致する場合にのみ、当該付随情報の変更が端末装置100からコンテンツ管理装置110へ転送されるように上記制御を実行する。
なお、第1実施形態に係るコンテンツ提供システム10において、付随情報の変更がコンテンツ管理装置110へ転送されているか否かの判断を実行する判断部をさらに備えてもよい。この場合、転送制御部278は、付随情報の変更がコンテンツ管理装置110へ転送されていないと判断部が判断した場合、付随情報の変更を転送するように制御してもよい。具体的には、この場合、転送制御部278は、付随情報の変更がコンテンツ管理装置110へ転送されていないと判断部が判断した場合、付随情報の変更を転送するように第1送信部208へ指示してもよい。たとえば、判断部は、付随情報の変更に対応付けておいた送信済フラグまたは未送信フラグなどから付随情報の変更がコンテンツ管理装置110へ転送されているか否かを判断するが、これ以外の方法によって、付随情報の変更がコンテンツ管理装置110へ転送されているか否かを判断してもよい。
コンテンツ管理装置110は、第2格納部250、第2コンテンツリスト送信部254、第2送信部258、第2取得部260、および第2自動更新部262を備える。
第2格納部250は、複数のコンテンツを格納する。また、第2格納部250は、複数のコンテンツのそれぞれについて、コンテンツに対応付けて当該コンテンツの付随情報を格納する。また、第2格納部250は、当該第2格納部250に格納されている複数のコンテンツが示されたコンテンツリスト(以下、「コンテンツ管理装置110のコンテンツリスト」と示す。)を格納する。また、第2格納部250は、当該第2格納部250に格納されている付随情報の更新履歴を格納する。
コンテンツ管理装置110は、第2格納部250を参照してコンテンツ管理装置110のコンテンツリストを作成し、作成したコンテンツ管理装置110のコンテンツリストを第2格納部250に格納する。また、コンテンツ管理装置110は、定期的にまたは所定のイベントが発生したタイミングで、第2格納部250を参照し、第2格納部250に格納されているコンテンツ管理装置110のコンテンツリストを最新の状態に更新する。
第2取得部260は、たとえば端末装置100から送信された、付随情報の変更内容を取得する。第2自動更新部262は、第2格納部250に格納されている付随情報を更新する。たとえば、第2自動更新部262は、第2取得部260が取得したコンテンツの付随情報の変更内容を、当該コンテンツに対応して第2格納部250に格納されている付随情報に加えることによって、第2格納部250に格納されている付随情報を更新する。
第1実施形態に係るコンテンツ提供システム10によれば、上記した端末装置100およびコンテンツ管理装置110を用いたことによって、コンテンツ管理装置110と端末装置100との間で転送されるデータの量を少なくすることができる。ここで説明した端末装置100とコンテンツ管理装置110の機能は一例に過ぎず、要は、端末装置100において一のコンテンツに対して加えられた変更のうち、コンテンツ管理装置110に転送されていない部分を選択的にコンテンツ管理装置110に転送できるように端末装置100あるいはコンテンツ管理装置110が構成されていればよい。
ここまでは、付随情報の変更内容の転送に関する機能について説明したが、端末装置100は、付随情報の変更内容だけでなく、コンテンツおよび付随情報を、コンテンツ監理装置110へ送信することもできる。また、コンテンツ監理装置110も同様に、コンテンツおよび付随情報を、端末装置100へ送信することができる。
具体的に説明すると、端末装置100の第1送信部208は、コンテンツ管理装置110へコンテンツおよび付随情報を送信することもできる。たとえば、第1送信部208は、コンテンツおよび付随情報を第1格納部200から抽出し、抽出したコンテンツおよび付随情報をコンテンツ管理装置110へ送信する。この場合、コンテンツ管理装置110においては、第2取得部260が、端末装置100から送信されたコンテンツおよび付随情報を受信し、受信したコンテンツおよび付随情報を第2格納部250へ格納する。
また、コンテンツ管理装置110の第2送信部258は、端末装置100へコンテンツおよび付随情報を送信することもできる。たとえば、第2送信部258は、コンテンツおよび付随情報を第2格納部250から抽出し、抽出したコンテンツおよび付随情報を端末装置100へ送信する。この場合、端末装置100においては、第1取得部210が、コンテンツ管理装置110から送信されたコンテンツおよび付随情報を受信し、受信したコンテンツおよび付随情報を第1格納部200へ格納する。
端末装置100の転送制御部278は、端末装置100からコンテンツ管理装置110へのコンテンツおよび付随情報の転送を制御してもよい。たとえば、コンテンツ管理装置110に格納されていないコンテンツおよび付随情報が端末装置100に格納されている場合、転送制御部278は、端末装置100に対し、当該コンテンツおよび付随情報をコンテンツ管理装置110へ送信させる。この場合も、コンテンツ管理装置110においては、第2取得部260が、端末装置100から送信されたコンテンツおよび付随情報を受信し、受信したコンテンツおよび付随情報を第2格納部250へ格納する。これにより、転送制御部278は、コンテンツ管理装置110および端末装置100に対して、同一のコンテンツおよび付随情報を格納させることができる。
また、端末装置100の転送制御部278は、コンテンツ管理装置110から端末装置100へのコンテンツおよび付随情報の転送を制御してもよい。たとえば、端末装置100に格納されていないコンテンツおよび付随情報がコンテンツ管理装置110に格納されている場合、転送制御部278は、コンテンツ管理装置110に対し、当該コンテンツおよび付随情報を端末装置100へ送信させる。この場合も、端末装置100においては、第1取得部210が、コンテンツ管理装置110から送信されたコンテンツおよび付随情報を受信し、受信したコンテンツおよび付随情報を第1格納部200へ格納する。これにより、転送制御部278は、コンテンツ管理装置110および端末装置100に対して、同一のコンテンツおよび付随情報を格納させることができる。
また、コンテンツ監理装置110は、コンテンツ監理装置110のコンテンツリストを、端末装置100へ送信することができる。具体的に説明すると、コンテンツ管理装置110の第2コンテンツリスト送信部254は、端末装置100へコンテンツ監理装置110のコンテンツリストを送信することもできる。たとえば、第2コンテンツリスト送信部254は、コンテンツ監理装置110のコンテンツリストを第2格納部250から抽出し、抽出したコンテンツ監理装置110のコンテンツリストを端末装置100へ送信する。この場合、端末装置100においては、第1取得部210が、コンテンツ管理装置110から送信されたコンテンツ管理装置110のコンテンツリストを取得する。そして、端末装置100は、取得したコンテンツ管理装置110のコンテンツリストを、第1格納部200へ格納したり、ユーザーに閲覧させたり、端末装置100に格納されているコンテンツとコンテンツ管理装置110に格納されているコンテンツとの比較に用いたりすることができる。
(第2実施形態)
次に、図4乃至図9を用いて第2実施形態に係るコンテンツ提供システム20の例を示す。第1実施形態に係るコンテンツ提供システム10では、端末装置100からコンテンツ管理装置110への変更の転送を制御する転送制御部278が、端末装置100に備えられていた。しかし、第2実施形態に係るコンテンツ提供システム20においては、変更の転送を制御する転送制御部276が転送制御装置120に設けられている。なお、第1実施形態と同様な機能を有する構成要素については説明を適宜省略する。
図4は、第2実施形態に係るコンテンツ提供システム20の一例を示す。コンテンツ提供システム20は、端末装置100、コンテンツ管理装置110、および転送制御装置120を備える。コンテンツ提供システム20は、コンテンツおよびコンテンツの付随情報を端末装置100へ提供するシステムである点では第1実施形態に係るコンテンツ提供システム10と相違しないが、転送制御装置120をさらに備える点で、第1実施形態に係るコンテンツ提供システム10と相違する。転送制御装置120は、端末装置100およびコンテンツ管理装置110と同様に、通信ネットワーク130に接続されている。転送制御装置120は、通信ネットワーク130を介さずに、これ以外の有線通信または無線通信を介して、端末装置100およびコンテンツ管理装置110に接続されていてもよい。
転送制御装置120は、端末装置100とコンテンツ管理装置110との間でのコンテンツなどの転送を制御する。たとえば、転送制御装置120はコンテンツ管理装置110によるコンテンツや付随情報の端末装置100への送信を制御するとともに、端末装置100によるコンテンツや付随情報のコンテンツ管理装置110への送信を制御する。
たとえば、端末装置100に格納されていないコンテンツがコンテンツ管理装置110に格納されている場合、転送制御装置120は、コンテンツ管理装置110に当該コンテンツを端末装置100へ送信させる。また、コンテンツ管理装置110に格納されていないコンテンツが端末装置100に格納されている場合、転送制御装置120は、端末装置100に当該コンテンツをコンテンツ管理装置110へ送信させる。これにより、転送制御装置120は、コンテンツ管理装置110および端末装置100に対して、同一のコンテンツを格納させることができる。
続いて、第2実施形態に係るコンテンツ提供システム20による具体的な処理の手順、および第2実施形態に係るコンテンツ提供システム20の具体的な機能構成を説明する。まず、図5と図6を参照しながら、第2実施形態に係るコンテンツ提供システム20による処理手順を説明する。
図5は、コンテンツ提供システム20の処理手順の一例を示す。図5では、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されていない場合には、端末装置100に格納されていないコンテンツを、コンテンツ管理装置110から端末装置100へ送信して、端末装置100に格納する例を説明する。さらに図5では、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されていない場合には、コンテンツ管理装置110に格納されていないコンテンツを、端末装置100からコンテンツ管理装置110へ送信して、コンテンツ管理装置110に格納する例も説明する。
まず、転送制御装置120のコンテンツリスト取得部270が、コンテンツリストの転送指令を端末装置100およびコンテンツ管理装置110へ送信する(ステップS302)。ステップS302で送信された転送指令を取得した端末装置100においては、第1コンテンツリスト送信部204が、端末装置100のコンテンツリストを転送制御装置120へ送信する(ステップS304)。
ステップS302で送信された転送指令を取得したコンテンツ管理装置110においては、第2コンテンツリスト送信部254が、コンテンツ管理装置110のコンテンツリストを転送制御装置120へ送信する(ステップS306)。転送制御装置120のコンテンツリスト取得部270は、ステップS304で送信された端末装置100のコンテンツリスト、およびステップS306で送信されたコンテンツ管理装置110のコンテンツリストを取得する(ステップS308)。
つぎに、転送制御装置120の判断部274が、ステップS308で取得した端末装置100のコンテンツリストと、ステップS308で取得したコンテンツ管理装置110のコンテンツリストとを比較することにより、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されているか否かを判断する(ステップS310)。
ステップS310において、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されていないと判断した場合(ステップS310:No)、転送制御装置120の転送制御部276が、端末装置100に格納されていないと判断されたコンテンツの転送指令、および当該コンテンツの付随情報の転送指令を、コンテンツ管理装置110へ送信する(ステップS312)。
ステップS312で送信された転送指令を取得したコンテンツ管理装置110においては、第2送信部258が、コンテンツおよび付随情報を、端末装置100へ送信する(ステップS314)。
端末装置100においては、第1取得部210が、ステップS314で送信されたコンテンツおよび付随情報を取得する(ステップS316)。そして、第1格納部200が、ステップS316で取得されたコンテンツおよび付随情報を格納する(ステップS318)。さらに、コンテンツ提供システム20は、処理をステップS320へ進める。ここで、端末装置100は、ステップS318でコンテンツおよび付随情報を格納したことに応じて、第1格納部200に格納されている端末装置100のコンテンツリストを最新の状態に更新してもよい。
一方、ステップS310において、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されていると判断した場合(ステップS310:Yes)、コンテンツ提供システム20は、処理をステップS320へ進める。
ステップS320では、転送制御装置120の判断部274が、ステップS308で取得した端末装置100のコンテンツリストと、ステップS308で取得したコンテンツ管理装置110のコンテンツリストとを比較することにより、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されているか否かを判断する(ステップS320)。
ステップS320において、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されていないと判断した場合(ステップS320:No)、転送制御装置120の転送制御部276が、コンテンツ管理装置110に格納されていないと判断されたコンテンツの転送指令、および当該コンテンツの付随情報の転送指令を、端末装置100へ送信する(ステップS322)。
ステップS322で送信された転送指令を取得した端末装置100においては、第1送信部208が、コンテンツおよび付随情報を、コンテンツ管理装置110へ送信する(ステップS324)。
コンテンツ管理装置110においては、第2取得部260が、ステップS324で送信されたコンテンツおよび付随情報を取得する(ステップS326)。そして、第2格納部250が、ステップS326で取得されたコンテンツおよび付随情報を格納する(ステップS328)。そして、コンテンツ提供システム20は、図5に示す一連の処理を終了する。ここで、コンテンツ管理装置110は、ステップS328でコンテンツおよび付随情報を格納したことに応じて、第2格納部250に格納されているコンテンツ管理装置110のコンテンツリストを最新の状態に更新してもよい。
一方、ステップS320において、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されていると判断した場合(ステップS320:Yes)、コンテンツ提供システム20は、図5に示す一連の処理を終了する。
たとえば、コンテンツ提供システム20は、端末装置100が通信ネットワーク130に接続されたことを検知した場合に、図5に示す処理をおこなってもよいし、定期的に、図5に示す処理をおこなってもよい。
また、コンテンツ提供システム20は、所定のイベントが発生したタイミングで、図5に示す処理をおこなってもよい。ここでいう所定のイベントとは、たとえば、端末装置100のユーザーが指示したとき、端末装置100のユーザーがファイルを閉じたとき、端末装置100のユーザーがログアウトするとき、などが挙げられる。また、コンテンツ管理装置110側で発生した所定のイベントをトリガーとして図5に示す処理をおこなってもよく、この場合の所定のイベントとは、たとえば、コンテンツ管理装置110のユーザーが指示したとき、コンテンツ管理装置110において付随情報を共有すべきユーザーがログインしたとき、などが挙げられる。また、転送制御装置120側で発生した所定のイベントをトリガーとして図5に示す処理をおこなってもよく、この場合の所定のイベントとは、たとえば、転送制御装置120のユーザーが指示したとき、転送制御装置120において付随情報を共有すべきユーザーがログインしたときなどが挙げられる。他にも、コンテンツ提供システム20は、端末装置100またはコンテンツ管理装置110の一方に対して、コンテンツが追加、変更、または削除されたタイミングで、図5に示す処理をおこなってもよい。
なお、コンテンツ提供システム20は、端末装置100に格納されていないと判断されたコンテンツのファイル名、ファイルの種類、格納ディレクトリ、作成日などのパラメータが所定の条件に合致しない場合には、当該コンテンツをコンテンツ管理装置110から端末装置100へ転送しなくてもよい。
同様に、コンテンツ提供システム20は、コンテンツ管理装置110に格納されていないと判断されたコンテンツのファイル名、ファイルの種類、格納ディレクトリ、作成日などのパラメータが所定の条件に合致しない場合には、当該コンテンツを端末装置100からコンテンツ管理装置110へ転送しなくてもよい。
図6は、コンテンツ提供システム20の処理手順の他の一例を示す。図6では、コンテンツ管理装置110に格納されている第2の付随情報に加えられた変更が、端末装置100に転送されていない場合には、端末装置100に転送されていない付随情報の変更の内容を、コンテンツ管理装置110から端末装置100へ転送して、その変更を第1の付随情報に反映させる例を説明する。さらに、図6では、端末装置100に格納されている第1の付随情報に加えられた変更が、コンテンツ管理装置110に転送されていない場合には、第2の付随情報に転送されていない付随情報の変更の内容を、端末装置100からコンテンツ管理装置110へ転送して、その変更を第2の付随情報に反映させる例も説明する。
まず、転送制御装置120の更新履歴取得部272が、付随情報の更新履歴の転送指令を端末装置100およびコンテンツ管理装置110へ送信する(ステップS402)。
ステップS402で送信された転送指令を取得した端末装置100においては、第1更新履歴送信部206が、端末装置100に格納されている第1の付随情報の更新履歴を転送制御装置120へ送信する(ステップS404)。
ステップS402で送信された転送指令を取得したコンテンツ管理装置110においては、第2更新履歴送信部256が、コンテンツ管理装置110に格納されている第2の付随情報の更新履歴を転送制御装置120へ送信する(ステップS406)。転送制御装置120の更新履歴取得部272は、ステップS404で送信された第1の付随情報の更新履歴、およびステップS406で送信された第2の付随情報の更新履歴を取得する(ステップS408)。
つぎに、転送制御装置120の判断部274が、ステップS408で取得した第1の付随情報の更新履歴と、ステップS408で取得した第2の付随情報の更新履歴とを比較することにより、コンテンツ管理装置110において第2の付随情報に加えられた変更が、端末装置100に転送され格納されているか否かを判断する(ステップS410)。
ステップS410において、第2の付随情報に加えられた変更が端末装置100に転送され格納されていると判断した場合(ステップS410:Yes)、コンテンツ提供システム20は、処理をステップS420へ進める。
一方、ステップS410において、第2の付随情報に加えられた変更が端末装置100に格納されていないと判断した場合(ステップS410:No)、転送制御装置120の転送制御部276が、端末装置100に格納されていない変更の内容の転送指令をコンテンツ管理装置110に送信する(ステップS412)。
ステップS412で送信された転送指令を取得したコンテンツ管理装置110においては、第2送信部258が、端末装置100に格納されていない変更の内容を、端末装置100へ送信する(ステップS414)。
端末装置100においては、第1取得部210が、ステップS414で送信された変更の内容を取得する(ステップS416)。そして、第1自動更新部212が、ステップS416で取得した変更内容を第1の付随情報に反映させることによって、第1の付随情報を更新する(ステップS418)。そして、コンテンツ提供システム20は、処理をステップS420へ進める。
ステップS420では、転送制御装置120の判断部274が、ステップS408で取得した第1の付随情報の更新履歴と、ステップS408で取得した第2の付随情報の更新履歴とを比較することにより、端末装置100において第1の付随情報に加えられた変更が、コンテンツ管理装置110に転送され格納されているか否かを判断する(ステップS420)。
ステップS420において、第1の付随情報に加えられた変更がコンテンツ管理装置110に転送され格納されていると判断した場合(ステップS420:Yes)、コンテンツ提供システム20は、図6に示す一連の処理を終了する。
一方、ステップS420において、第1の付随情報に加えられた変更がコンテンツ管理装置110に転送され格納されていないと判断した場合(ステップS420:No)、転送制御装置120の転送制御部276が、コンテンツ管理装置110に転送されていない変更の内容の転送指令を端末装置100に送信する(ステップS422)。
ステップS422で送信された転送指令を取得した端末装置100においては、第1送信部208が、コンテンツ管理装置110に転送されていない変更の内容を、コンテンツ管理装置110へ送信する(ステップS424)。
コンテンツ管理装置110においては、第2取得部260が、ステップS424で送信された変更の内容を取得する(ステップS426)。そして、第2自動更新部262が、ステップS426で取得した変更内容を第2の付随情報に反映させることによって、第2の付随情報を更新する(ステップS428)。そして、コンテンツ提供システム20は、図6に示す一連の処理を終了する。
本実施形態のコンテンツ提供システム20によれば、このようにして、第1の付随情報と第2の付随情報とを互いに同期させることができる。また、端末装置100およびコンテンツ管理装置110の一方で付随情報が更新された場合、当該付随情報の変更内容は他方に転送されるが、当該付随情報に対応付けられているコンテンツ、および当該付随情報の既存部分は他方に転送されない。そのため、端末装置100とコンテンツ管理装置110との間で転送されるデータのデータ量を削減することができる。この結果、第1の付随情報と第2の付随情報とを互いに同期させるときに通信ネットワーク130にかかる負荷を低減することができる。
コンテンツ提供システム20は、端末装置100およびコンテンツ管理装置110のいずれかにおいて付随情報が更新されたことを検知した場合に、図6に示す処理をおこなってもよいし、定期的に図6に示す処理をおこなってもよい。
また、コンテンツ提供システム20は、所定のイベントが発生したタイミングで、図6に示す処理をおこなってもよい。ここでいう所定のイベントとは、たとえば、端末装置100のユーザーが指示したとき、端末装置100のユーザーがファイルを閉じたとき、端末装置100のユーザーがログアウトするとき、などが挙げられる。また、コンテンツ管理装置110側で発生した所定のイベントをトリガーとして図6に示す処理をおこなってもよく、この場合の所定のイベントとは、たとえば、コンテンツ管理装置110のユーザーが指示したとき、コンテンツ管理装置110において付随情報を共有すべきユーザーがログインしたとき、などが挙げられる。また、転送制御装置120側で発生した所定のイベントをトリガーとして図6に示す処理をおこなってもよく、この場合の所定のイベントとは、たとえば、転送制御装置120のユーザーが指示したとき、転送制御装置120において付随情報を共有すべきユーザーがログインしたときなどが挙げられる。他にも、コンテンツ提供システム20は、端末装置100またはコンテンツ管理装置110の一方に対して、付随情報が追加、変更、または削除されたタイミングで、図6に示す処理をおこなってもよい。
なお、コンテンツ提供システム20は、第2の付随情報に加えられた変更が端末装置100に格納されていないと判断された第2の付随情報に対応付けられているコンテンツの、ファイル名、ファイルの種類、格納ディレクトリ、作成日などのパラメータが所定の条件に合致する場合にのみ、当該付随情報の変更内容をコンテンツ管理装置110から端末装置100へ送信してもよい。
同様に、コンテンツ提供システム20は、第1の付随情報に加えられた変更がコンテンツ管理装置110に格納されていないと判断された第1の付随情報に対応付けられているコンテンツの、ファイル名、ファイルの種類、格納ディレクトリ、作成日などのパラメータが所定の条件に合致する場合にのみ、当該付随情報の変更内容を端末装置100からコンテンツ管理装置110へ送信してもよい。
次に、図7を参照しながら、前述した処理を実行するために用いる端末装置100、コンテンツ管理装置110、および転送制御装置120の各々の機能を詳細に説明する。ただし、第1実施形態において説明済みの機能は適宜省略する。
図7は、コンテンツ提供システム20の機能構成の一例を示す。端末装置100は、第1格納部200、第1更新部202、第1コンテンツリスト送信部204、第1更新履歴送信部206、第1送信部208、第1取得部210、および第1自動更新部212を備える。
第1コンテンツリスト送信部204は、端末装置100のコンテンツリストを送信する。たとえば、第1コンテンツリスト送信部204は、端末装置100のコンテンツリストを第1格納部200から抽出し、抽出した端末装置100のコンテンツリストを転送制御装置120へ送信する。
第1更新履歴送信部206は、付随情報の更新履歴を送信する。たとえば、第1更新履歴送信部206は、付随情報の更新履歴を第1格納部200から抽出し、抽出した付随情報の更新履歴を転送制御装置120へ送信する。第1更新履歴送信部206は、第1更新部202が付随情報を更新するごとに、更新された付随情報の更新履歴を送信してもよく、定期的にまたは所定のイベントが発生したタイミングで、更新された付随情報の更新履歴をまとめて送信してもよい。また、端末装置100のユーザーからの指示を受けたときに更新された付随情報の更新履歴を送信してもよい。
第1自動更新部212は、第1格納部200に格納されている付随情報を更新する。たとえば、第1自動更新部212は、第1取得部210がコンテンツ管理装置110から取得した、コンテンツの付随情報の変更内容(追加、変更、削除等)を、当該コンテンツに対応して第1格納部200に格納されている付随情報に加えることによって、第1格納部200に格納されている付随情報を更新する。
コンテンツ管理装置110は、第2格納部250、第2更新部252、第2コンテンツリスト送信部254、第2更新履歴送信部256、第2送信部258、第2取得部260、および第2自動更新部262を備える。
第2更新部252は、第2格納部250に格納されている付随情報を更新する。たとえば、コンテンツ管理装置110は、第2格納部250に格納されているコンテンツ管理装置110のコンテンツリストを表示デバイスに表示し、入力デバイスによる任意のコンテンツの選択操作を受け付ける。そして、コンテンツ管理装置110は、選択されたコンテンツを第2格納部250から抽出し、抽出したコンテンツを表示デバイスに表示する。その後、第2更新部252は、入力デバイスによるコンテンツの付随情報の変更操作を受け付ける。さらに、第2更新部252は、入力デバイスから受け付けた変更を第2格納部250に格納されている付随情報に加えることによって、第2格納部250に格納されている付随情報を更新する。さらに、第2更新部252は、更新された付随情報の更新履歴を、第2格納部250に格納する。
第2更新履歴送信部256は、付随情報の更新履歴を送信する。たとえば、第2更新履歴送信部256は、付随情報の更新履歴を第2格納部250から抽出し、抽出した付随情報の更新履歴を転送制御装置120へ送信する。第2更新履歴送信部256は、第2更新部252が付随情報を更新するごとに、更新された付随情報の更新履歴を送信してもよく、定期的にまたは所定のイベントが発生したタイミングで、更新された付随情報の更新履歴をまとめて送信してもよい。また、コンテンツ管理装置110のユーザーからの指示を受けたときに更新された付随情報の更新履歴を送信してもよい。
第2送信部258は、付随情報だけでなく、付随情報の変更内容(追加、変更、削除等)も送信することができる。付随情報に加えられた変更は当該付随情報の更新履歴に記録されており、第2送信部258は、第2格納部250に格納されている当該付随情報の更新履歴を参照することによって、当該付随情報に最近加えられた変更を特定することができる。また、変更のうち端末装置100へすでに送信された変更に対してフラグをたてておけば、端末装置100へ送信されていない変更を容易に特定することができる。そして、第2送信部258は、当該付随情報に最近加えられた変更のうち端末装置100へ送信されていない変更を端末装置100へ送信することができる。
転送制御装置120は、コンテンツリスト取得部270、更新履歴取得部272、判断部274、および転送制御部276を備える。
コンテンツリスト取得部270は、コンテンツリストを取得する。たとえば、コンテンツリスト取得部270は端末装置100に対して、端末装置100のコンテンツリストを転送制御装置120へ送信するように転送指令を送信する。その命令を受けて、端末装置100は端末装置100のコンテンツリストを転送制御装置120へ送信し、転送制御装置120は、端末装置100のコンテンツリストを取得する。また、コンテンツリスト取得部270はコンテンツ管理装置110に対して、コンテンツ管理装置110のコンテンツリストを転送制御装置120へ送信するように転送指令を送信する。その命令を受けて、コンテンツ管理装置110はコンテンツ管理装置110のコンテンツリストを転送制御装置120へ送信し、転送制御装置120は、コンテンツ管理装置110のコンテンツリストを取得する。
更新履歴取得部272は、付随情報の更新履歴を取得する。たとえば、更新履歴取得部272は、端末装置100に対して、端末装置100の第1格納部200に格納されているコンテンツに対応する付随情報(以下、第1の付随情報と呼ぶ)の更新履歴を転送制御装置120へ送信するように転送指令を送信する。その命令を受けて、端末装置100は第1の付随情報の更新履歴を転送制御装置120へ送信する。このようにして、転送制御装置120は第1の付随情報の更新履歴を取得する。
また、更新履歴取得部272は、コンテンツ管理装置110に対して、当該コンテンツに対応してコンテンツ管理装置110の第2格納部250に格納されている付随情報(以下、第2の付随情報と呼ぶ)を転送制御装置120へ送信するように転送指令を送信する。その命令を受けて、コンテンツ管理装置110は第2の付随情報を転送制御装置120へ送信する。このようにして、転送制御装置120は第2の付随情報を取得する。
また、既に説明したように、第1更新履歴送信部206は、第1更新部202が第1の付随情報を更新するごとに、第1の付随情報の更新履歴を転送制御装置120へ送信することもできる。この場合、更新履歴取得部272は、端末装置100から第1の付随情報の更新履歴を受信したことを受けて、コンテンツ管理装置110に格納されている第2の付随情報を取得してもよい。
同様に、第2更新履歴送信部256は、第2更新部252が第2の付随情報を更新するごとに、第2の付随情報の更新履歴を転送制御装置120へ送信することもできる。この場合、更新履歴取得部272は、コンテンツ管理装置110から第2の付随情報の更新履歴を受信したことを受けて、端末装置100に格納されている第1の付随情報を取得してもよい。
判断部274は、端末装置100において第1の付随情報に対して加えられた変更が、コンテンツ管理装置110に格納されているか否かを判断する。また、判断部274は、コンテンツ管理装置110において第2の付随情報に対して加えられた変更が、端末装置100に格納されているか否かを判断する。たとえば、判断部274は、第1の付随情報の更新履歴と第2の付随情報の更新履歴とを比較することにより、端末装置100において第1の付随情報に対して加えられた変更が、コンテンツ管理装置110に格納されているか否かを判断することができる。同様に、判断部274は、第1の付随情報の更新履歴と第2の付随情報の更新履歴とを比較することにより、コンテンツ管理装置110において第2の付随情報に対して加えられた変更が、端末装置100に格納されているか否かを判断することができる。
また、判断部274は、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されているか否かを判断する。また、判断部274は、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されているか否かを判断する。たとえば、判断部274は、コンテンツリスト取得部270が取得した端末装置100のコンテンツリストと、コンテンツリスト取得部270が取得したコンテンツ管理装置110のコンテンツリストとを比較することにより、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されているか否かを判断することができる。同様に、判断部274は、コンテンツリスト取得部270が取得した端末装置100のコンテンツリストと、コンテンツリスト取得部270が取得したコンテンツ管理装置110のコンテンツリストとを比較することにより、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されているか否かを判断することができる。
転送制御部276は、端末装置100とコンテンツ管理装置110との間でのコンテンツや付随情報などの転送を制御する。
転送制御部276は、たとえばコンテンツの、端末装置100とコンテンツ管理装置110との間での転送を制御する。転送制御部276は、端末装置100に格納されているコンテンツがコンテンツ管理装置110に格納されていないと判断部274が判断した場合には、端末装置100に当該コンテンツをコンテンツ管理装置110へ送信させる。同様に、転送制御部276は、コンテンツ管理装置110に格納されているコンテンツが端末装置100に格納されていないと判断部274が判断した場合には、コンテンツ管理装置110に当該コンテンツを端末装置100へ送信させる。
たとえば、転送制御部276がコンテンツ管理装置110に、端末装置100に格納されていないコンテンツを端末装置100へ送信させる場合、転送制御部276は、端末装置100へ送信されるべきコンテンツを特定するための識別情報と、コンテンツの送信先である端末装置100を特定するための識別情報と、を含む、コンテンツの転送指令をコンテンツ管理装置110に送信する。この転送指令を受けて、コンテンツ管理装置110は端末装置100に格納されていないコンテンツを端末装置100へ送信する。
同様に、転送制御部276が端末装置100に、コンテンツ管理装置110に格納されていないコンテンツをコンテンツ管理装置110へ送信させる場合、転送制御部276は、コンテンツ管理装置110へ送信されるべきコンテンツを特定するための識別情報と、コンテンツの送信先であるコンテンツ管理装置110を特定するための識別情報と、を含む、コンテンツの転送指令を端末装置100に送信する。この転送指令を受けて、端末装置100はコンテンツ管理装置110に格納されていないコンテンツをコンテンツ管理装置110へ送信する。
また転送制御部276は、一のコンテンツに対応する付随情報が、第2の付随情報としてコンテンツ管理装置110には格納されているが、第1の付随情報として端末装置100には格納されていない場合には、コンテンツ管理装置110に第2の付随情報を端末装置100に送信させることができる。逆に、一のコンテンツに対応する付随情報が、第1の付随情報として端末装置100には格納されているが、第2の付随情報としてコンテンツ管理装置110には格納されていない場合には、転送制御部276は、端末装置100に第1の付随情報をコンテンツ管理装置110に送信させることができる。
さらに、転送制御部276は、端末装置100において第1の付随情報に対して加えられた変更が、コンテンツ管理装置110に格納されていないと判断部274が判断した場合に、端末装置100に、コンテンツ管理装置110に格納されていない変更の内容をコンテンツ管理装置110へ送信させる。同様に、転送制御部276は、コンテンツ管理装置110において第2の付随情報に対して加えられた変更が、端末装置100に格納されていないと判断部274が判断した場合に、コンテンツ管理装置110に、端末装置100に格納されていない変更の内容を端末装置100へ送信させる。
転送制御部276がコンテンツ管理装置110に、端末装置100に格納されていない変更の内容を端末装置100へ送信させる場合、転送制御部276は、端末装置100へ送信されるべき付随情報の変更内容を特定するための識別情報と、付随情報の変更内容の送信先である端末装置100を特定するための識別情報と、を含む、付随情報の変更内容の転送指令をコンテンツ管理装置110に送信する。この転送指令を受けて、コンテンツ管理装置110は端末装置100に格納されていない変更の内容を端末装置100へ送信する。
同様に、転送制御部276が端末装置100に、コンテンツ管理装置110に格納されていない変更の内容をコンテンツ管理装置110へ送信させる場合、転送制御部276は、コンテンツ管理装置110へ送信されるべき付随情報の変更内容を特定するための識別情報と、付随情報の変更内容の送信先であるコンテンツ管理装置110を特定するための識別情報と、を含む、付随情報の変更内容の転送指令を端末装置100に送信する。この転送指令を受けて、端末装置100はコンテンツ管理装置110に格納されていない変更の内容をコンテンツ管理装置110へ送信する。
上で説明した例では、付随情報の変更内容が、転送制御装置120を経由せずに端末装置100とコンテンツ管理装置110との間で転送されている。しかし、転送制御装置120は、端末装置100から送信された付随情報の変更内容を、端末装置100から取得して、コンテンツ管理装置110へ転送してもよい。同様に、転送制御装置120は、コンテンツ管理装置110から送信された付随情報の変更内容を、コンテンツ管理装置110から取得して、端末装置100へ転送してもよい。
次に図8を用いて、第2実施形態によって第1の付随情報と第2の付随情報とが互いに同期される様子を説明する。図8は、コンテンツ提供システム20に格納されている情報の一例を示す。図8において、端末装置100の第1格納部200およびコンテンツ管理装置110の第2格納部250には、コンテンツIDのそれぞれに対して、コンテンツが1つずつ対応付けられて格納されている。また、端末装置100の第1格納部200およびコンテンツ管理装置110の第2格納部250には、コンテンツのそれぞれに対して、付随情報が1つ、または複数対応付けられて格納されている。
たとえば、第2格納部250には、コンテンツ「0001.pdf」と、コンテンツ「0002.pdf」と、コンテンツ「0003.pdf」と、が格納されている。一方、第1格納部200には、コンテンツ「0001.pdf」が格納されている。第1格納部200には、コンテンツ「0002.pdf」およびコンテンツ「0003.pdf」は格納されていない。
コンテンツ提供システム20においては、たとえば図5に示した処理がおこなわれることで、コンテンツ管理装置110に格納されているコンテンツであって、端末装置100に格納されていないコンテンツである、コンテンツ「0002.pdf」およびコンテンツ「0003.pdf」と、これらコンテンツの付随情報であるファイル「0002.xml」およびファイル「0003.xml」とが、コンテンツ管理装置110から端末装置100に転送される。端末装置100は、コンテンツ管理装置110から取得したコンテンツ「0002.pdf」とその付随情報であるファイル「0002.xml」とを対応付けて第1格納部200へ格納する。同様に、端末装置100は、コンテンツ管理装置110から取得したコンテンツ「0003.pdf」とその付随情報であるファイル「0003.xml」とを対応付けて第1格納部200へ格納する。
第1格納部200には、コンテンツ「0001.pdf」に対応する第1の付随情報が格納されている。第1の付随情報は、ファイル「0001−1.xml」、ファイル「0001−2.xml」、およびファイル「0001−3.xml」を含んでいる。一方、第2格納部250には、コンテンツ「0001.pdf」に対応する第2の付随情報が格納されている。第2の付随情報はファイル「0001−1.xml」とファイル「0001−2.xml」を含んでいる。しかし、ファイル「0001−3.xml」は第2の付随情報に含まれていない。すなわち、ファイル「0001−3.xml」は、端末装置100において第1の付随情報に加えられた変更の内容を記述するファイルであって、コンテンツ管理装置110には転送されておらず、第2の付随情報には反映されていない変更である。第1の付随情報の更新履歴と2の付随情報の更新履歴とを比較すれば、ファイル「0001−3.xml」は、端末装置100において第1の付随情報に加えられた変更の内容を記述するファイルであって、コンテンツ管理装置110には転送されておらず、第2の付随情報には反映されていないことを容易に知ることができる。
ここで、ファイル「0001−1.xml」には、たとえば、端末装置100のユーザーが入力デバイスを用いて入力したコンテンツ「0001.pdf」に対するコメントが記録されている。また、ファイル「0001−2.xml」には、たとえば、そのユーザーが入力デバイスを用いて、コンテンツ「0001.pdf」の任意の場所に書き込んだ記号が、その場所の情報とともに記録されている。ファイル「0001−3.xml」には、そのユーザーが入力デバイスを用いて、コンテンツ「0001.pdf」の別の場所に書き込んだ別の記号が、その場所の情報とともに記録されている。
コンテンツ提供システム20が図6に示した処理をおこなうことで、第2の付随情報に含まれていないファイル「0001−3.xml」が、端末装置100からコンテンツ管理装置110に転送される。このとき、コンテンツ「0001.pdf」、ファイル「0001−1.xml」、およびファイル「0001−2.xml」は転送されない。コンテンツ管理装置110は、端末装置100から転送されたファイル「0001−3.xml」を、コンテンツ「0001.pdf」に対応付けて第2格納部250へ格納する。このようにして、端末装置100においてコンテンツ「0001.pdf」の第1の付随情報に加えられた変更が、コンテンツ管理装置110に格納されている第2の付随情報に反映される。
このように、本実施形態のコンテンツ提供システム20によれば、端末装置100およびコンテンツ管理装置110の一方で付随情報が更新された場合、当該付随情報の変更内容は他方に転送されるが、当該付随情報に対応付けられているコンテンツ、および当該付随情報の既存部分は他方に転送されない。これにより、端末装置100に格納されている第1の付随情報と、コンテンツ管理装置110に格納されている第2の付随情報とを、自動的に同期させることができる。また、端末装置100とコンテンツ管理装置110との間で転送されるデータのデータ量を削減することができる。この結果、第1の付随情報と第2の付随情報とを互いに同期させるときに通信ネットワーク130にかかる負荷を低減することができる。
以上は、コンテンツ「0001.pdf」に対してコメントや記号が追加された場合に関する説明であったが、次に、過去に追加されたコメントなどの一部が削除された場合について説明する。
コメントなどの一部が削除された場合、過去に端末装置100のユーザーがコンテンツ「0001.pdf」に対して入力したコメントの一部を、そのユーザーが削除した、ということが記録されたファイル「0001−3.xml」が追加される。ファイル「0001−3.xml」は第2の付随情報に含まれていないため、ファイル「0001−3.xml」はコンテンツ管理装置110に転送されておらず、第2の付随情報には、端末装置100において実行されたコメントの一部削除は反映されていない。そこで、コンテンツ提供システム20が図6に示した処理をおこなうことで、第2の付随情報に含まれていないファイル「0001−3.xml」が、端末装置100からコンテンツ管理装置110に転送される。コンテンツ管理装置110は、端末装置100から転送されたファイル「0001−3.xml」を、コンテンツ「0001.pdf」に対応付けて第2格納部250へ格納する。このようにして、端末装置100においてコンテンツ「0001.pdf」の第1の付随情報に加えられた変更、すなわちコメントの一部削除が、コンテンツ管理装置110に格納されている第2の付随情報に反映される。
このように、本実施形態のコンテンツ提供システム20によれば、端末装置100およびコンテンツ管理装置110の一方で付随情報の一部が削除された場合でも、第1の付随情報と第2の付随情報とを互いに同期させることができる。また、当該付随情報の変更内容は他方に転送されるが、当該付随情報に対応付けられているコンテンツ、および当該付随情報の既存部分は他方に転送されないため、端末装置100とコンテンツ管理装置110との間で転送されるデータのデータ量を削減することができる。この結果、第1の付随情報と第2の付随情報とを互いに同期させるときに通信ネットワーク130にかかる負荷を低減することができる。
第1実施形態によるコンテンツ提供システム10においても、コンテンツ提供システム20と同様な手法で第1の付随情報と第2の付随情報とが互いに同期される。コンテンツ提供システム10とコンテンツ提供システム20との大きな相違点は、端末装置100において追加されたファイル「0001−3.xml」がコンテンツ管理装置110に転送されているかどうかを判断するか否か、という点である。
図9は、端末装置100、コンテンツ管理装置110、および転送制御装置120のハードウェア構成の一例を示す。端末装置100、コンテンツ管理装置110、および転送制御装置120は、それぞれ、CPU1505、ROM1510、RAM1520、HD(ハードディスク)ドライブ1525、通信インターフェース1530、外部メモリードライブ1540、外部メモリー1542、入力デバイス1550、および表示デバイス1560を備える。なお、端末装置100、コンテンツ管理装置110、および転送制御装置120は、それぞれハードウェア構成が異なるものであってもよいが、ここでは、同一のハードウェア構成を有するものとして説明する。
ROM1510、RAM1520、およびHDドライブ1525は、各種データおよび各種プログラムを格納する。端末装置100が備える、ROM1510、RAM1520、およびHDドライブ1525の少なくともいずれか一つは、図1から図8に関連して説明した第1格納部200として機能する。また、コンテンツ管理装置110が備える、ROM1510、RAM1520、およびHDドライブ1525の少なくともいずれか一つは、図1から図8に関連して説明した第2格納部250として機能する。
CPU1505は、ROM1510、RAM1520、またはHDドライブ1525に格納されたプログラムを実行することで、各種データ処理および各種ハードウェア制御をおこなう。
通信インターフェース1530は、通信ネットワークに接続し、通信ネットワークを介して外部装置に対するデータの送受信をおこなう。外部メモリードライブ1540は、外部メモリー1542に接続し、外部メモリー1542に対するデータの送受信をおこなう。外部メモリー1542としては、たとえば、メモリーカードが挙げられる。外部メモリー1542は、フレキシブルディスク、CD、DVD等の記録媒体であってもよい。
表示デバイス1560は、各種データを表示する。たとえば、表示デバイス1560は、コンテンツ、付随情報、コンテンツリスト、これらデータの管理画面などを表示する。表示デバイス1560としては、たとえば、CRTディスプレイ、液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイ、電子ペーパーなどが挙げられる。入力デバイス1550は、各種操作を入力する。たとえば、入力デバイス1550は、コンテンツの選択操作、付随情報の編集操作、コンテンツの管理操作などを入力する。入力デバイス1550としては、たとえば、マウス、キーボード、入力ボタン、タッチパネルなどが挙げられる。
端末装置100において、CPU1505により実行されるプログラムは、コンピューターを、これまでに説明した、第1格納部200、第1更新部202、第1コンテンツリスト送信部204、第1更新履歴送信部206、第1送信部208、第1取得部210、第1自動更新部212、および転送制御部276として機能させる。端末装置100においてCPU1505が実行するプログラムは、当該端末装置100が備える記憶媒体に予め格納されて提供されてもよく、外部メモリー1542を介して、または通信ネットワークを介して、外部から当該端末装置100へ提供されてもよい。
また、コンテンツ管理装置110において、CPU1505により実行されるプログラムは、コンピューターを、これまでに説明した、第2格納部250、第2更新部252、第2コンテンツリスト送信部254、第2更新履歴送信部256、第2送信部258、第2取得部260、および第2自動更新部262として機能させる。コンテンツ管理装置110においてCPU1505が実行するプログラムは、当該コンテンツ管理装置110が備える記憶媒体に予め格納されて提供されてもよく、外部メモリー1542を介して、または通信ネットワークを介して、外部から当該コンテンツ管理装置110へ提供されてもよい。
また、転送制御装置120において、CPU1505により実行されるプログラムは、コンピューターを、これまでに説明した、コンテンツリスト取得部270、更新履歴取得部272、判断部274、および転送制御部276として機能させる。転送制御装置120においてCPU1505が実行するプログラムは、当該転送制御装置120が備える記憶媒体に予め格納されて提供されてもよく、外部メモリー1542を介して、または通信ネットワークを介して、外部から当該転送制御装置120へ提供されてもよい。
なお、端末装置100においては、当該端末装置100が備えるROM1510、RAM1520、HDドライブ1525、または外部メモリー1542が、これまでに説明した第1格納部200として機能する。また、コンテンツ管理装置110においては、当該コンテンツ管理装置110が備えるROM1510、RAM1520、HDドライブ1525、または外部メモリー1542が、これまでに説明した第2格納部250として機能する。
(変形例1)
上記の第2実施形態では、コンテンツ提供システム20は、端末装置100とコンテンツ管理装置110と転送制御装置120を含んでいるが、本発明はこれに限定されるものではない。例えば、コンテンツ管理装置110と端末装置100のうち少なくとも一方が転送制御装置120を兼ねていてもよい。コンテンツ管理装置110が転送制御装置120を兼ねている場合、端末装置100とコンテンツ管理装置110との間に介在するコンピューターの数が減るため、端末装置100とコンテンツ管理装置110との間でのデータの同期が高速化される。
また、端末装置100が転送制御装置120を兼ねている場合、端末装置100とコンテンツ管理装置110との間でのデータの同期が高速化されるだけでなく、コンテンツ管理装置110が転送制御装置120を兼ねる場合と比較して、コンテンツ管理装置110に備えられたCPU1505にかかる負荷が軽減され、ストレスのないコンテンツ管理が可能になる。
また、コンテンツ管理装置110と端末装置100各々が転送制御装置120を兼ねている場合、コンテンツ管理装置110において第2の付随情報に変更が加えられた時でも、端末装置100において第1の付随情報に変更が加えられた時でも、即座にコンテンツ管理装置110と端末装置100との間で、第1の付随情報に加えられた変更を第2の付随情報に反映させたり、第2の付随情報に加えられた変更を第1の付随情報に反映させることが容易になる。
(変形例2)
上記の第2実施形態では、端末装置100からコンテンツ管理装置110へコンテンツなどのデータを転送するときには、端末装置100がデータをコンテンツ管理装置110へ送信し、コンテンツ管理装置110から端末装置100へデータを転送するときには、コンテンツ管理装置110がデータを端末装置100へ送信する構成であったが、本発明はこれに限定されるものではない。
たとえば、端末装置100からコンテンツ管理装置110へコンテンツなどのデータを転送するときには、端末装置100がデータをコンテンツ管理装置110へ送信し、コンテンツ管理装置110から端末装置100へデータを転送するときには、端末装置100が、コンテンツ管理装置110に備えられた第2格納部250からコンテンツなどを抽出する構成としてもよい。この構成によれば、端末装置100に備えられたCPU1505が端末装置100とコンテンツ管理装置110との間の双方向のデータ転送を実行するため、コンテンツ管理装置110に備えられたCPU1505にかかる負荷が軽減され、ストレスのないコンテンツ管理が可能になる。
また、端末装置100からコンテンツ管理装置110へコンテンツなどのデータを転送するときには、コンテンツ管理装置110が、端末装置100に備えられた第1格納部200からコンテンツなどを抽出し、コンテンツ管理装置110から端末装置100へデータを転送するときには、コンテンツ管理装置110がデータを端末装置100へ送信する構成としてもよい。この構成によれば、コンテンツ管理装置110に備えられたCPU1505が端末装置100とコンテンツ管理装置110との間の双方向のデータ転送を実行するため、端末装置100に備えられたCPU1505にかかる負荷が軽減され、ストレスのないコンテンツ閲覧などが可能になる。
(変形例3)
上記の第2実施形態では、1台の端末装置100と1台のコンテンツ管理装置110との間で付随情報を共有する場合について説明したが、本発明はこれに限定されるものではない。例えば、第1の端末装置100と第2の端末装置100とコンテンツ管理装置110との間で付随情報を共有する場合でも本発明を適用することができる。
第1の端末装置100において付随情報に変更が加えられた場合、必ずしも第2の端末装置100が第1の端末装置100と通信可能な状態にあるとは限らない。第2の端末装置100が第1の端末装置100と通信可能な状態になった時、転送制御装置120の判断部274が第1の端末装置100と第2の端末装置100との間で図6に示した処理を行なって、第1の端末装置100において付随情報に加えられた変更のうち第2の端末装置100に転送されていない変更を第1の端末装置100から第2の端末装置100へ転送すればよい。こうすれば、第1の端末装置100と第2の端末装置100との間で転送されるデータ量を小さく抑えつつ、第1の端末装置100と第2の端末装置100とコンテンツ管理装置110との間で付随情報を共有することができる。