(57)【要約】【課題】ユーザーの手を煩わせることなく、複数の通信装置の間でデータを共有する。【解決手段】第１通信装置は、自機の記憶部に記憶されたいずれかのデータを選択し、選択したデータを共有対象データに設定し、共有対象データを示すデータ情報を、第２通信装置に送信する第１の処理を自動的に行い、第２通信装置は、データ情報を受信すると、自機の記憶部から共有対象データと同じデータを検出し、検出したデータを、第１通信装置から共有対象データを読み出すためのリンク情報に置き換える第２の処理を自動的に行う。【選択図】図４
2019095981.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信可能に接続され、それぞれが記憶部を有する複数の通信装置を備え、
前記複数の通信装置のうち第１通信装置は、自機の前記記憶部に記憶されたいずれかのデータを選択し、選択したデータを共有対象データに設定し、前記共有対象データを示すデータ情報を、前記複数の通信装置のうち前記第１通信装置以外の第２通信装置に送信する第１の処理を自動的に行い、
前記第２通信装置は、前記データ情報を受信すると、自機の前記記憶部から前記共有対象データと同じデータを検出し、検出したデータを、前記第１通信装置から前記共有対象データを読み出すためのリンク情報に置き換える第２の処理を自動的に行うことを特徴とする通信システム。
【請求項２】
前記第１通信装置は、自機の前記記憶部に記憶されたファイルを選択し、選択したファイル内の全データを前記共有対象データに設定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第１通信装置は、前記共有対象データの保存先および前記共有対象データのファイル名を前記データ情報と共に前記第２通信装置に送信し、
前記第２通信装置は、前記リンク情報に、前記共有対象データの保存先および前記共有対象データのファイル名を含めることを特徴とする請求項２に記載の通信システム。
【請求項４】
前記第１通信装置は、自機の前記記憶部に記憶されたファイルを選択し、選択したファイル内のデータの一部を前記共有対象データに設定することを特徴とする請求項１に記載の通信システム。
【請求項５】
前記第１通信装置は、前記共有対象データの保存先、前記共有対象データのファイル名および自機の前記記憶部内における前記共有対象データの保存場所を前記データ情報と共に前記第２通信装置に送信し、
前記第２通信装置は、前記リンク情報に、前記共有対象データの保存先、前記共有対象データのファイル名および前記第１通信装置の前記記憶部内における前記共有対象データの保存場所を含めることを特徴とする請求項４に記載の通信システム。
【請求項６】
前記第１通信装置は、前記共有対象データに基づき算出した第１のハッシュ値を前記データ情報として前記第２通信装置に送信し、
前記第２通信装置は、自機の前記記憶部に記憶されたデータに基づき第２のハッシュ値を算出し、前記第２のハッシュ値が前記第１のハッシュ値と一致するデータを前記リンク情報に置き換えることを特徴とする請求項１〜５のいずれか１項に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置を備える通信システムに関する。
【背景技術】
【０００２】
従来、外部装置との間でデータを送受信することが可能な通信装置が知られている（たとえば、特許文献１参照）。特許文献１の通信装置（情報処理装置）は、外部装置との間で電子メールを送受信し、新規に受信した電子メールと過去に受信した電子メールとが同一であれば、同一の電子メールを削除するなどの処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３５２９４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
たとえば、通信システム（互いに通信可能に接続された複数の通信装置を備えるシステム）は会社などの組織に構築される。このような通信システムでは、複数の通信装置のそれぞれに同じデータが重複して記憶された状態になり得る。
【０００５】
ここで、ユーザーによっては、自身の通信装置（ここでは、符号Ａを付す）と他の通信装置（ここでは、符号Ｂを付す）とに同じデータが重複して記憶されていれば、当該データを通信装置Ａから消去し、当該データを通信装置Ｂとの間で共有したい場合がある。しかし、通信装置Ａと通信装置Ｂとに同じデータが重複して記憶されているか否かを確認する作業などを行うのは、ユーザーにとっては煩わしく利便性が悪い。
【０００６】
本発明は、上記課題を解決するためになされたものであり、ユーザーの手を煩わせることなく、複数の通信装置の間でデータを共有することが可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の通信システムは、互いに通信可能に接続され、それぞれが記憶部を有する複数の通信装置を備える。複数の通信装置のうち第１通信装置は、自機の記憶部に記憶されたいずれかのデータを選択し、選択したデータを共有対象データに設定し、共有対象データを示すデータ情報を、複数の通信装置のうち第１通信装置以外の第２通信装置に送信する第１の処理を自動的に行う。第２通信装置は、データ情報を受信すると、自機の記憶部から共有対象データと同じデータを検出し、検出したデータを、第１通信装置から共有対象データを読み出すためのリンク情報に置き換える第２の処理を自動的に行う。
【０００８】
本発明の構成では、第１通信装置に記憶された共有対象データと同じデータが第２通信装置に記憶されている場合、第２通信装置に記憶された共有対象データと同じデータがリンク情報に置き換えられる。これにより、第１通信装置と第２通信装置との間で共有対象データを共有することができる。
【０００９】
ここで、第１通信装置は、自機の記憶部から選択したデータを共有対象データに設定して第２通信装置にデータ情報を送信する一連の処理を自動的に行う。また、第２通信装置は、自機の記憶部から共有対象データと同じデータを検出してリンク情報に置き換える一連の処理を自動的に行う。すなわち、通信システムを成す通信装置のユーザーが何らかの作業を行わなくても、２台以上の通信装置のそれぞれに同じデータが重複して記憶されていれば、当該データを共有するための処理が自動的に行われる。これにより、ユーザーの手を煩わせることはない。
【発明の効果】
【００１０】
本発明の構成では、ユーザーの手を煩わせることなく、複数の通信装置の間でデータを共有することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による通信システムの構成を示す図
【図２】本発明の一実施形態による通信システムの第１通信装置が行う第１の通常共有処理の流れを示すフローチャート
【図３】本発明の一実施形態による通信システムの第２通信装置が行う第２の通常共有処理の流れを示すフローチャート
【図４】本発明の一実施形態による通信システムの第２通信装置に記憶されたファイル全体がリンク情報に置き換えられるまでの流れを示す概念図
【図５】本発明の一実施形態による通信システムの第１通信装置が行う第１の部分共有処理の流れを示すフローチャート
【図６】本発明の一実施形態による通信システムの第２通信装置が行う第２の部分共有処理の流れを示すフローチャート
【図７】本発明の一実施形態による通信システムの第２通信装置に記憶されたファイル内のデータの一部がリンク情報に置き換えられるまでの流れを示す概念図
【発明を実施するための形態】
【００１２】
＜情報処理システムの構成＞
図１に示すように、本実施形態の通信システム１００は、複数の通信装置１を備える。複数の通信装置１は、互いに通信可能に接続される。通信システム１００に含める通信装置１の種類は特に限定されず、通信機能が搭載されていればよい。一例として、ノート型やデスクトップ型のパーソナルコンピューター（情報処理装置）を通信装置１として通信システム１００に含めることができる。あるいは、テレビやビデオレコーダーなどの家電製品を通信装置１として通信システム１００に含めることもできる。また、通信システム１００に管理サーバー２を含めてもよい。たとえば、ＤＮＳサーバーを管理サーバー２として機能させてもよい。
【００１３】
なお、通信システム１００に含める通信装置１の台数は特に限定されず、２台以上であればよい。図１では、一例として、３台の通信装置１を備える通信システム１００を図示する。
【００１４】
以下、或る通信装置１の構成について説明するが、他の通信装置１も同様の構成を有するものとする。
【００１５】
通信装置１は、制御部１１、記憶部１２、表示部１３、操作部１４、通信部１５を備える。
【００１６】
制御部１１は、ＣＰＵを含む。制御部１１は、制御用プログラムおよび制御用データに基づき動作し、通信装置１の各部を制御するための処理を実行する。なお、通信装置１には、データ共有プログラムＤＳＰがインストールされる。データ共有プログラムＤＳＰが起動している場合には、後述するデータ共有処理が制御部１１により実行される。制御部１１が実行するデータ共有処理はバックグラウンド処理である。
【００１７】
たとえば、通信装置１が起動すると、ユーザーからの実行指示がなくても、制御部１１によるデータ共有処理が自動的に実行される。すなわち、制御部１１により実行されるデータ共有処理に関する設定をユーザーが行う必要はない。ただし、ユーザーはデータ共有プログラムＤＳＰを停止させることはできる。
【００１８】
記憶部１２は、不揮発性メモリー（ＲＯＭ）および揮発性メモリー（ＲＡＭ）を含む。記憶部１２は、制御部１１（ＣＰＵ）を動作させるための制御用プログラムおよび制御用データを記憶する。また、記憶部１２は、通信装置１にインストールされたデータ共有プログラムＤＳＰを記憶する。なお、データ共有プログラムＤＳＰは、第１プログラムＰ１および第２プログラムＰ２を含む。
【００１９】
記憶部１２は、制御部１１に接続される。制御部１１は、記憶部１２からの情報の読み出しを行う。また、制御部１１は、記憶部１２への情報の書き込みを行う。
【００２０】
表示部１３は、各種画面を表示する。表示部１３は、たとえば、ＬＣＤなどの表示装置である。操作部１４は、ユーザーから操作を受け付ける。操作部１４は、たとえば、ハードウェアキーボードなどの入力装置である。なお、ユーザーは操作部１４に対して所定の操作を行うことにより、データ共有プログラムＤＳＰを停止させることができる。
【００２１】
表示部１３および操作部１４は、制御部１１に接続される。制御部１１は、表示部１３の表示動作を制御する。また、制御部１１は、操作部１４がユーザーから受け付けた操作を検知する。
【００２２】
通信部１５は、インターネットなどのネットワークＮＴに通信装置１を接続するためのインターフェイスである。たとえば、通信部１５は、ＬＡＮ通信を行うためのＬＡＮ通信回路などを含む。そして、通信部１５は、無線ＬＡＮアクセスポイントとして機能するルーターＲＴに接続される。
【００２３】
通信部１５は、制御部１１に接続される。制御部１１は、通信部１５のＬＡＮ通信回路を制御し、ネットワークＮＴに接続された他の通信装置１と通信する。また、制御部１１は、管理サーバー２と通信する。
【００２４】
＜データ共有処理＞
複数の通信装置１のうち２台以上の通信装置１のデータ共有プログラムＤＳＰが起動した状態になったとき、当該２台以上の通信装置１がデータ共有処理を自動的に実行する（データ共有プログラムＤＳＰに基づく処理を実行する）。以下の説明では、複数の通信装置１のデータ共有プログラムＤＳＰが全て起動しているとする。
【００２５】
複数の通信装置１は、図１に示すように、複数の通信装置１の間で共有するデータを決める決定権が付与された通信装置１（以下の説明では、第１通信装置１Ａと称する）と第１通信装置１Ａ以外の通信装置１（以下の説明では、第２通信装置１Ｂと称する）とに分類される。複数の通信装置１のうち、１台だけが第１通信装置１Ａとなり、残り全てが第２通信装置１Ｂとなる。
【００２６】
たとえば、データ共有プログラムＤＳＰには、複数の通信装置１の優先順位をランダムに設定する順位設定機能が搭載される。そして、複数の通信装置１のうち、優先順位が最も高い通信装置１は、自機に決定権が付与された（自機が第１通信装置１Ａである）と認識する。
【００２７】
なお、決定権の譲渡は自動的に繰り返される。たとえば、第１通信装置１Ａは、所定条件が満たされたとき、第２通信装置１Ｂの台数を認識する。第２通信装置１Ｂが１台だけである場合、第１通信装置１Ａは、当該１台の第２通信装置１Ｂに決定権を譲渡する。第２通信装置１Ｂが複数存在する場合、第１通信装置１Ａは、データ共有プログラムＤＳＰの順位設定機能を用いて、当該複数の第２通信装置１Ｂの優先順位を設定する（複数の第２通信装置１Ｂの優先順位はランダムに設定される）。そして、第１通信装置１Ａは、優先順位が最も高い第２通信装置１Ｂに決定権を譲渡する。決定権を譲渡した通信装置１（従前の第１通信装置１Ａ）は第２通信装置１Ｂに切り替わり、決定権の譲渡を受けた通信装置１（従前の第２通信装置１Ｂ）は第１通信装置１Ａに切り替わる。
【００２８】
たとえば、第１通信装置１Ａは、決定権が付与されてからのデータ共有処理の実行回数が所定回数に到達したとき、所定条件が満たされたと判断する。あるいは、決定権の譲渡が周期的（所定期間ごと）に行われてもよい。なお、複数の通信装置１を第１通信装置１Ａと第２通信装置１Ｂとに分類する処理を管理サーバー２が行ってもよい。
【００２９】
ここで、通信装置１により実行されるデータ共有処理には、通常共有処理および部分共有処理が存在する。通信装置１は、第１プログラムＰ１が起動しているときは第１プログラムＰ１に基づき通常共有処理を自動的に実行し、第２プログラムＰ２が起動しているときは第２プログラムＰ２に基づき部分共有処理を自動的に実行する。第１通信装置１Ａが行う通常共有処理および部分共有処理は「第１の処理」に相当し、第２通信装置１Ｂが行う通常共有処理および部分共有処理は「第２の処理」に相当する。たとえば、第１プログラムＰ１および第２プログラムＰ２の両方が起動している場合には、通常共有処理と部分共有処理とが一定の間隔をあけて実行される。
【００３０】
（通常共有処理）
以下に、図２および図３に示すフローチャートを参照し、第１通信装置１Ａが行う通常共有処理（以下、第１の通常共有処理と称する）および第２通信装置１Ｂが行う通常共有処理（以下、第２の通常共有処理と称する）の各フローについて説明する。
【００３１】
まず、図２に示すフローチャートを参照し、第１通信装置１Ａが行う第１の通常共有処理について説明する。図２に示すフローチャートは、２台以上の通信装置１の第１プログラムＰ１が起動した状態になったときにスタートする。
【００３２】
ステップＳ１において、第１通信装置１Ａの制御部１１は、自機の記憶部１２に記憶されたいずれかのファイル（当該ファイル内の全データ）をランダムに１つ選択し、当該選択した選択ファイル内の全データを共有対象データに設定する。ファイルを選択するためのアルゴリズムは、複数の通信装置１の記憶部１２に予め記憶される。
【００３３】
ステップＳ２において、第１通信装置１Ａの制御部１１は、共有対象データを示すデータ情報を生成する。具体的には、第１通信装置１Ａの制御部１１は、所定アルゴリズムを用いて、共有対象データに基づきハッシュ演算を行うことによりハッシュ値（「第１のハッシュ値」に相当）を算出する。そして、第１通信装置１Ａの制御部１１は、当該算出したハッシュ値を共有対象データのデータ情報として取得する。ハッシュ値を求める所定アルゴリズムとしては、ＭＤ５やＳＨＡ−１などであってもよいし、他のアルゴリズムであってもよい。以下の説明では、便宜上、ステップＳ２の処理で第１通信装置１Ａの制御部１１が算出したハッシュ値を第１の全体ハッシュ値と称する。
【００３４】
ステップＳ３において、第１通信装置１Ａの制御部１１は、データ情報（第１の全体ハッシュ値）を含む共有情報を生成する。共有情報を生成するとき、第１通信装置１Ａの制御部１１は、共有対象データの保存先（当該保存先は共有対象データが保存された記憶部１２を有する第１通信装置１Ａとなる）を共有情報に含める。また、第１通信装置１Ａの制御部１１は、共有対象データのファイル名（すなわち、選択ファイルのファイル名）を共有情報に含める。そして、第１通信装置１Ａの制御部１１は、全ての第２通信装置１Ｂに共有情報を送信する。
【００３５】
次に、図３に示すフローチャートを参照し、第２通信装置１Ｂが行う第２の通常共有処理について説明する。図３に示すフローチャートは、第２通信装置１Ｂが第１通信装置１Ａから共有情報を受信したときにスタートする。なお、第２通信装置１Ｂが複数存在する場合には、複数の第２通信装置１Ｂがそれぞれ第２の通常共有処理を行う。
【００３６】
ステップＳ１１において、第２通信装置１Ｂの制御部１１は、自機の記憶部１２に記憶されたファイルごとに、ファイル内の全データに基づくハッシュ演算を行うことによりハッシュ値（「第２のハッシュ値」に相当）を算出する。このとき、第２通信装置１Ｂの制御部１１は、第１通信装置１Ａがハッシュ演算を行うときに用いた所定アルゴリズムと同じアルゴリズムを用いる。以下の説明では、便宜上、ステップＳ１１の処理で第２通信装置１Ｂの制御部１１が算出したハッシュ値を第２の全体ハッシュ値と称する。
【００３７】
ステップＳ１２において、第２通信装置１Ｂの制御部１１は、対応する第２の全体ハッシュ値が第１の全体ハッシュ値と一致するデータ（ここでは、便宜上、当該データを同一データと称する）が自機の記憶部１２に記憶されているか否かを判断する。すなわち、第２通信装置１Ｂの制御部１１は、自機の記憶部１２から共有対象データと同じデータを検出する検出処理を行う。その結果、同一データが自機の記憶部１２に記憶されている（共有対象データと同じデータを検出した）と第２通信装置１Ｂの制御部１１が判断した場合には、ステップＳ１３に移行する。なお、同一データが自機の記憶部１２に記憶されていない（共有対象データと同じデータを検出できなかった）と第２通信装置１Ｂの制御部１１が判断した場合には、本フローは終了する。
【００３８】
ステップＳ１３に移行すると、第２通信装置１Ｂの制御部１１は、許可条件が満たされているか否かを判断する。その結果、許可条件が満たされていると第２通信装置１Ｂの制御部１１が判断した場合には、ステップＳ１４に移行する。なお、許可条件が満たされていないと第２通信装置１Ｂの制御部１１が判断した場合には、本フローは終了する。許可条件については後述する。
【００３９】
ステップＳ１４に移行すると、第２通信装置１Ｂの制御部１１は、自機の記憶部１２から同一データ（ファイル内の全データ）を消去する。そして、第２通信装置１Ｂの制御部１１は、第１通信装置１Ａから共有対象データを読み出すためのリンク情報を自機の記憶部１２に新たに記憶させる。すなわち、第２通信装置１Ｂの制御部１１は、同一データ（検出処理で検出したデータ）をリンク情報に置き換える。通常共有処理では、ファイル全体がリンク情報に置き換えられる。このとき、第２通信装置１Ｂの制御部１１は、共有対象データの保存先（共有情報で示される保存先）をリンク情報に含めるとともに、共有対象データのファイル名（共有情報で示されるファイル名）をリンク情報に含める。
【００４０】
以降、共有対象データと同じデータを自機の記憶部１２から消去した通信装置１は、共有対象データと同じデータを使用する場合、リンク情報に含まれる保存先を対象保存先と認識するとともに、リンク情報に含まれるファイル名が付されたファイルを対象ファイルと認識する。そして、当該通信装置１は、対象保存先から対象ファイルの全データ（当該データは共有対象データである）を読み出す。
【００４１】
たとえば、図４に示すように、第１通信装置１Ａにファイル１〜３が記憶されているとする。また、第２通信装置１Ｂにファイル１が記憶されており、第２通信装置１Ｂに記憶されたファイル１の全データが第１通信装置１Ａに記憶されたファイル１と同じであるとする。そして、第１通信装置１Ａから第２通信装置１Ｂに対し、ファイル１の全データに基づくハッシュ演算により得られるハッシュ値をデータ情報として含む共有情報が送信されたとする。
【００４２】
この例では、第２記憶装置１Ｂに記憶されたファイル１の全データが消去され、リンク情報Ｌ１に置き換えられる。リンク情報Ｌ１には、第１通信装置１Ａのアドレス（ｄｏｍａｉｎ１．ｃｏｍ）および第１通信装置１Ａに記憶されたファイル１のファイル名（Ｆｉｌｅ１.ｊｐｅｇ）が含められる。
【００４３】
ここで、複数の通信装置１の間でデータの送受信が頻繁に行われると、ネットワークＮＴが混雑することにより通信速度が低下する。たとえば、一定期間のデータ通信量が比較的多い場合（複数の通信装置１の間でデータの送受信が頻繁に行われていると考えられる場合）、共有するデータを増やすと、ネットワークＮＴが混雑し易くなる恐れがある。
【００４４】
そこで、たとえば、図３に示すステップＳ１３の処理では、一定期間のデータ通信量が予め定められた閾値を超えているか否かの判断が第２通信装置１Ｂの制御部１１により行われる。そして、第２通信装置１Ｂは、データ通信量が閾値を超えていない場合に許可条件を満たすと判断し、データ通信量が閾値を超えている場合には許可条件を満たしていないと判断する。すなわち、データ通信量が閾値を超えている場合には、共有するデータは追加されない。
【００４５】
（部分共有処理）
以下に、図５および図６に示すフローチャートを参照し、第１通信装置１Ａが行う部分共有処理（以下、第１の部分共有処理と称する）および第２通信装置１Ｂが行う部分共有処理（以下、第２の部分共有処理と称する）の各フローについて説明する。
【００４６】
まず、図５に示すフローチャートを参照し、第１通信装置１Ａが行う第１の部分共有処理について説明する。図５に示すフローチャートは、２台以上の通信装置１の第２プログラムＰ２が起動した状態になったときにスタートする。
【００４７】
ステップＳ２１において、第１通信装置１Ａの制御部１１は、自機の記憶部１２に記憶されたいずれかのファイルをランダムに１つ選択し、当該選択した選択ファイル内のデータの一部を共有対象データに設定する。たとえば、選択ファイルからバイト単位でデータが選択され、当該選択されたバイト単位のデータが共有対象データに設定される。共有対象データのデータサイズ（バイト数）は、予め定められた上限値から下限値の範囲内でランダムに決定される。ファイルを選択するためのアルゴリズムやバイト単位でデータを選択するためのアルゴリズムは、複数の通信装置１の記憶部１２に予め記憶される。
【００４８】
ステップＳ２２において、第１通信装置１Ａの制御部１１は、共有対象データを示すデータ情報を生成する。ここで生成されるデータ情報は、共有対象データに基づくハッシュ演算により得られるハッシュ値（「第１のハッシュ値」に相当）である。当該ハッシュ演算では、所定アルゴリズムが用いられる。以下の説明では、便宜上、ステップＳ２２の処理で第１通信装置１Ａの制御部１１が算出したハッシュ値を第１の部分ハッシュ値と称する。
【００４９】
ステップＳ２３において、第１通信装置１Ａの制御部１１は、データ情報（第１の部分ハッシュ値）を含む共有情報を生成する。共有情報を生成するとき、第１通信装置１Ａの制御部１１は、共有対象データの保存先（当該保存先は共有対象データが保存された記憶部１２を有する第１通信装置１Ａとなる）を共有情報に含める。また、第１通信装置１Ａの制御部１１は、共有対象データのファイル名（すなわち、選択ファイルのファイル名）を共有情報に含める。さらに、第１通信装置１Ａの制御部１１は、自機の記憶部１２内における共有対象データの保存場所を共有情報に含める。たとえば、共有情報には、共有対象データの先頭アドレスおよび共有対象データのデータサイズ（バイト数）が保存場所として含められる。そして、第１通信装置１Ａの制御部１１は、全ての第２通信装置１Ｂに共有情報を送信する。
【００５０】
次に、図６に示すフローチャートを参照し、第２通信装置１Ｂが行う第２の部分共有処理について説明する。図６に示すフローチャートは、第２通信装置１Ｂが第１通信装置１Ａから共有情報を受信したときにスタートする。なお、第２通信装置１Ｂが複数存在する場合には、複数の第２通信装置１Ｂがそれぞれ第２の部分共有処理を行う。
【００５１】
ステップＳ３１において、第２通信装置１Ｂの制御部１１は、共有情報で示されるデータサイズ（バイト数）である対象データサイズを認識する。そして、第２通信装置１Ｂの制御部１１は、自機の記憶部１２に記憶されたファイルごとに、ファイル内から対象データサイズ分のデータを抽出し、当該抽出したデータに基づくハッシュ演算を行うことによりハッシュ値（「第２のハッシュ値」に相当）を算出する。このとき、第２通信装置１Ｂの制御部１１は、第１通信装置１Ａがハッシュ演算を行うときに用いた所定アルゴリズムと同じアルゴリズムを用いる。
【００５２】
たとえば、第２通信装置１Ｂの制御部１１は、まず、ファイルの先頭アドレスを基準アドレスに設定し、基準アドレスから対象データサイズ分のデータに基づきハッシュ演算を行う（ハッシュ値を求める）。続けて、第２通信装置１Ｂの制御部１１は、先頭アドレスの次のアドレスを基準アドレスに設定してハッシュ演算を行う。以降、第２通信装置１Ｂは、基準アドレスを順次切り替えてハッシュ演算を繰り返す。以下の説明では、便宜上、ステップＳ３１の処理で第２通信装置１Ｂが算出したハッシュ値を第２の部分ハッシュ値と称する。
【００５３】
ステップＳ３２において、第２通信装置１Ｂの制御部１１は、対応する第２の部分ハッシュ値が第１の部分ハッシュ値と一致するデータ（ここでは、便宜上、当該データを同一データと称する）が自機の記憶部１２に記憶されているか否かを判断する。すなわち、第２通信装置１Ｂの制御部１１は、自機の記憶部１２から共有対象データと同じデータを検出する検出処理を行う。その結果、同一データが自機の記憶部１２に記憶されている（共有対象データと同じデータを検出した）と第２通信装置１Ｂの制御部１１が判断した場合には、ステップＳ３３に移行する。なお、同一データが自機の記憶部１２に記憶されていない（共有対象データと同じデータを検出できなかった）と第２通信装置１Ｂの制御部１１が判断した場合には、本フローは終了する。
【００５４】
ステップＳ３３に移行すると、第２通信装置１Ｂの制御部１１は、許可条件が満たされているか否かを判断する。その結果、許可条件が満たされていると第２通信装置１Ｂの制御部１１が判断した場合には、ステップＳ３４に移行する。なお、許可条件が満たされていないと第２通信装置１Ｂの制御部１１が判断した場合には、本フローは終了する。ステップＳ３３の処理は、図３に示したステップＳ１３の処理と同じである。
【００５５】
ステップＳ３４に移行すると、第２通信装置１Ｂの制御部１１は、自機の記憶部１２から同一データ（ファイル内のデータの一部）を消去する。そして、第２通信装置１Ｂの制御部１１は、第１通信装置１Ａから共有対象データを読み出すためのリンク情報を自機の記憶部１２に新たに記憶させる。すなわち、第２通信装置１Ｂの制御部１１は、同一データ（検出処理で検出したデータ）をリンク情報に置き換える。このとき、第２通信装置１Ｂの制御部１１は、共有対象データの保存先（共有情報で示される保存先）をリンク情報に含めるとともに、共有対象データのファイル名（共有情報で示されるファイル名）をリンク情報に含める。また、第２通信装置１Ｂの制御部１１は、第１通信装置１Ａの記憶部１２内における共有対象データの保存場所（共有情報で示される保存場所）、すなわち、共有対象データの先頭アドレスおよび共有対象データのデータサイズをリンク情報に含める。
【００５６】
以降、共有対象データと同じデータを自機の記憶部１２から消去した通信装置１は、共有対象データと同じデータを使用する場合、リンク情報に含まれる保存先を対象保存先と認識するとともに、リンク情報に含まれるファイル名が付されたファイルを対象ファイルと認識し、リンク情報に含まれる保存場所で示される先頭アドレスおよびデータサイズをそれぞれ対象先頭アドレスおよび対象データサイズと認識する。そして、当該通信装置１は、対象保存先の記憶部１２に記憶された対象ファイルにアクセスし、対象先頭アドレスから対象データサイズ分のデータを読み出す。
【００５７】
たとえば、図７に示すように、第１通信装置１Ａにファイル１０が記憶されているとする。また、第２通信装置１Ｂにファイル２０が記憶されており、第２通信装置１Ｂに記憶されたファイル２０のデータの一部が第１通信装置１Ａに記憶されたファイル１０のデータの一部と同じであるとする（共通データ部分を破線枠で囲む）。そして、第１通信装置１Ａから第２通信装置１Ｂに対し、共通データ部分（破線枠で囲まれた部分）に基づくハッシュ演算により得られるハッシュ値をデータ情報として含む共有情報が送信されたとする。
【００５８】
この例では、第２記憶装置１Ｂに記憶されたファイル２０のうち共通データ部分が消去され、リンク情報Ｌ２に置き換えられる。リンク情報Ｌ２には、第１通信装置１Ａのアドレス、第１通信装置１Ａに記憶されたファイル１０のファイル名、および、第１通信装置１Ａの記憶部１２内における共通データ部分の保存場所（先頭アドレスおよびデータサイズ）が含められる。
【００５９】
本実施形態の通信システム１００は、上記のように、互いに通信可能に接続され、それぞれが記憶部１２を有する複数の通信装置１を備える。第１通信装置１Ａは、自機の記憶部１２に記憶されたいずれかのデータを選択し、選択したデータを共有対象データに設定し、共有対象データを示すデータ情報を第２通信装置１Ｂに送信する第１の処理（第１の通常共有処理あるいは第１の部分共有処理）を自動的に行う。第２通信装置１Ｂは、データ情報を受信すると、自機の記憶部１２から共有対象データと同じデータを検出し、検出したデータをリンク情報に置き換える第２の処理（第２の通常共有処理あるいは第２の部分共有処理）を自動的に行う。
【００６０】
本実施形態の構成では、第１通信装置１Ａに記憶された共有対象データと同じデータが第２通信装置１Ｂに記憶されている場合、第２通信装置１Ｂに記憶された共有対象データと同じデータがリンク情報に置き換えられる。これにより、第１通信装置１Ａと第２通信装置１Ｂとの間で共有対象データを共有することができる。
【００６１】
ここで、第１通信装置１Ａは、自機の記憶部１２から選択したデータを共有対象データに設定して第２通信装置１Ｂにデータ情報を送信する一連の処理を自動的に行う。また、第２通信装置１Ｂは、自機の記憶部１２から共有対象データと同じデータを検出してリンク情報に置き換える一連の処理を自動的に行う。すなわち、通信システム１００を成す通信装置１のユーザーが何らかの作業を行わなくても、２台以上の通信装置１のそれぞれに同じデータが重複して記憶されていれば、当該データを共有するための処理が自動的に行われる。これにより、ユーザーの手を煩わせることはない。
【００６２】
また、本実施形態では、上記のように、第１通信装置１Ａは、通常共有処理（第１の通常共有処理）を行うとき、自機の記憶部１２に記憶されたファイルを選択し、選択したファイル内の全データを共有対象データに設定する。この構成では、２台以上の通信装置１のそれぞれに同じファイルが重複して記憶されている場合、当該ファイル内の全データを第１通信装置１Ａと第２通信装置１Ｂとの間で共有することができる。
【００６３】
第１通信装置１Ａが通常共有処理を行う場合、共有対象データの保存先および共有対象データのファイル名がデータ情報と共に第１通信装置１Ａから第２通信装置１Ｂに送信される。そして、第２通信装置１Ｂは、共有対象データの保存先および共有対象データのファイル名をリンク情報に含める。この構成では、共有対象データを消去した通信装置１が共有対象データを使用するとき、容易に、当該通信装置１は共有対象データを記憶する通信装置１から共有対象データを読み出すことができる。
【００６４】
また、本実施形態では、上記のように、第１通信装置１Ａは、部分共有処理（第１の部分共有処理）を行うとき、自機の記憶部１２に記憶されたファイルを選択し、選択したファイル内のデータの一部を共有対象データに設定する。この構成では、２台以上の通信装置１のそれぞれに記憶された各ファイル内のデータの一部が互いに同じである場合、当該データの一部を第１通信装置１Ａと第２通信装置１Ｂとの間で共有することができる。
【００６５】
第１通信装置１Ａが部分共有処理を行う場合、共有対象データの保存先、共有対象データのファイル名および第１通信装置１Ａの記憶部１２内における共有対象データの保存場所がデータ情報と共に第１通信装置１Ａから第２通信装置１Ｂに送信される。そして、第２通信装置１Ｂは、共有対象データの保存先、共有対象データのファイル名および第１通信装置１Ａの記憶部１２内における共有対象データの保存場所をリンク情報に含める。この構成では、共有対象データを消去した通信装置１が共有対象データを使用するとき、容易に、当該通信装置１は共有対象データを記憶する通信装置１から共有対象データを読み出すことができる。
【００６６】
また、本実施形態では、上記のように、第１通信装置１Ａは、共有対象データに基づき算出した第１のハッシュ値をデータ情報として第２通信装置１Ｂに送信する。第２通信装置１Ｂは、自機の記憶部１２に記憶されたデータに基づき第２のハッシュ値を算出し、第２のハッシュ値が第１のハッシュ値と一致するデータをリンク情報に置き換える。この構成では、第１通信装置１Ａから第２通信装置１Ｂに共有対象データを送信しなくても、第２通信装置１Ｂは自機の記憶部１２から共有対象データと同じデータを検出することができる。このため、データ通信量の増加が抑制される。
【００６７】
今回開示された実施形態は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記実施形態の説明ではなく特許請求の範囲によって示され、さらに、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【符号の説明】
【００６８】
１  通信装置
１１  記憶部
１Ａ  第１通信装置
２Ａ  第２通信装置
１００  通信システム
【図１】
2019095981.tif 000003
【図２】
2019095981.tif 000004
【図３】
2019095981.tif 000005
【図４】
2019095981.tif 000006
【図５】
2019095981.tif 000007
【図６】
2019095981.tif 000008
【図７】
2019095981.tif 000009