(57)【要約】【課題】  通信データに関連づけられるべき情報の候補をユーザに提供すること。【解決手段】  データベース１０は、通信データ１，２，３のそれぞれについて、送信元用情報１２，１８，２０と送信先用情報１４，１６，２４とを関連づけて記憶することができる。以下の処理を実行するデバイスを実現する。（１）通信データ３に関連づけられている送信先用情報「ＤＤＤ」を特定する。（２）前記（１）で特定された情報「ＤＤＤ」に関連づけられている他の通信データ２を特定する。（３）前記（２）で特定された通信データ２に関連づけられている情報であって、前記（１）で特定された情報「ＤＤＤ」と異なる情報「ＣＣＣ」を特定する。（４）前記（３）で特定された情報「ＣＣＣ」をユーザに提供する。（５）ユーザからの指示に応じて、通信データ３に関連づけて情報「ＣＣＣ」を送信元用情報２０として記憶する。【選択図】  図２
2010055154.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信デバイスと通信可能に接続されるサーバのためのコンピュータプログラムであり、
前記複数の通信デバイスの間で通信された通信データをデータベースに記憶するデータ記憶処理と、
データベースに記憶されている通信データに送信元用情報を関連づけて記憶する送信元用情報記憶処理と、
データベースに記憶されている通信データに送信先用情報を関連づけて記憶する送信先用情報記憶処理と、
第１通信データに関連づけられている送信先用情報と同じ情報に関連づけられている情報であり、かつ、前記第１通信データと異なる通信データに関連づけられている情報をデータベースから特定することによって、前記第１通信データに関連づけられるべき送信元用情報の候補を特定する第１特定処理と、
第２通信データに関連づけられている送信元用情報と同じ情報に関連づけられている情報であり、かつ、前記第２通信データと異なる通信データに関連づけられている情報をデータベースから特定することによって、前記第２通信データに関連づけられるべき送信先用情報の候補を特定する第２特定処理と
をコンピュータに実行させ、
送信元用情報記憶処理は、第１特定処理で特定された情報を前記第１通信データに関連づけて記憶することが可能であり、
送信先用情報記憶処理は、第２特定処理で特定された情報を前記第２通信データに関連づけて記憶することが可能である
ことを特徴とするコンピュータプログラム。
【請求項２】
第１特定処理で特定された情報を出力する第１出力処理と、
第２特定処理で特定された情報を出力する第２出力処理と
を前記コンピュータにさらに実行させ、
送信元用情報記憶処理は、第１出力処理で出力された情報が選択されたことを条件として、当該情報を前記第１通信データに関連づけて記憶し、
送信先用情報記憶処理は、第２出力処理で出力された情報が選択されたことを条件として、当該情報を前記第２通信データに関連づけて記憶する
ことを特徴とする請求項１に記載のコンピュータプログラム。
【請求項３】
第１特定処理は、
前記第１通信データに関連づけられている送信先用情報をデータベースから特定する第１処理と、
第１処理で特定された送信先用情報と同じ情報に関連づけられている通信データであり、かつ、前記第１通信データと異なる通信データをデータベースから特定する第２処理と、
第２処理で特定された通信データに関連づけられている情報であり、かつ、第１処理で特定された送信先用情報と異なる情報をデータベースから特定する第３処理と
を含んでおり、
第２特定処理は、
前記第２通信データに関連づけられている送信元用情報をデータベースから特定する第４処理と、
第４処理で特定された送信元用情報と同じ情報に関連づけられている通信データであり、かつ、前記第２通信データと異なる通信データをデータベースから特定する第５処理と、
第５処理で特定された通信データに関連づけられている情報であり、かつ、第４処理で特定された送信元用情報と異なる情報をデータベースから特定する第６処理と
を含んでいる
ことを特徴とする請求項１又は２に記載のコンピュータプログラム。
【請求項４】
データ記憶処理は、前記複数の通信デバイスの間で通信された通信データと、その通信データの送信元に関する送信元データと、その通信データの送信先に関する送信先データとを関連づけてデータベースに記憶し、
第１特定処理は、前記第１通信データに関連づけられている送信先用情報と同じ情報に関連づけられている情報であり、前記第１通信データと異なる通信データに関連づけられている情報であり、かつ、前記第１通信データに関連づけられている送信元データと同じデータに関連づけられている通信データに関連づけられている情報を特定し、
第２特定処理は、前記第２通信データに関連づけられている送信元用情報と同じ情報に関連づけられている情報であり、前記第２通信データと異なる通信データに関連づけられている情報であり、かつ、前記第２通信データに関連づけられている送信先データと同じデータに関連づけられている通信データに関連づけられている情報を特定する
ことを特徴とする請求項１から３のいずれかに記載のコンピュータプログラム。
【請求項５】
第１通信デバイスと第２通信デバイスとを備える通信システムであり、
第１通信デバイスは、
第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第１データベースと、
第１データベースに記憶されている通信データに関連づけて情報を記憶する第１情報記憶手段と、
第２通信デバイスから送信された第１通信データに関する第１データ情報を受信する第１受信手段と、
第１受信手段によって受信された前記第１データ情報に基づいて、前記第１通信データに関連づけられている情報と同じ情報に関連づけられている別の第２通信データに関する第２データ情報を第１データベースから特定する第１情報特定手段と、
第１情報特定手段によって特定された前記第２データ情報を第２通信デバイスに送信する第１送信手段とを有し、
第２通信デバイスは、
第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第２データベースと、
第２データベースに記憶されている通信データに関連づけて情報を記憶する第２情報記憶手段と、
第２データベースに記憶されている前記第１通信データに関する前記第１データ情報を第１通信デバイスに送信する第２情報送信手段と、
第１通信デバイスから送信された前記第２データ情報を受信する第２受信手段と、
第２受信手段によって受信された前記第２データ情報に基づいて、前記第２通信データに関連づけられている情報を第２データベースから特定する第２情報特定手段とを有し、
第２情報記憶手段は、第２情報特定手段によって特定された情報を前記第１通信データに関連づけて記憶することが可能である
ことを特徴とする通信システム。
【請求項６】
通信データと情報を関連づけて記憶することが可能である第１データベースを有する別の通信デバイスと通信可能である通信デバイスであり、
前記別の通信デバイスと自身の間で通信された通信データを記憶する第２データベースと、
第２データベースに記憶されている通信データに関連づけて情報を記憶する情報記憶手段と、
第２データベースに記憶されている第１通信データに関する第１データ情報を前記別の通信デバイスに送信する情報送信手段と、
情報送信手段によって送信された前記第１データ情報に基づいて、前記第１通信データに関連づけられている情報と同じ情報に関連づけられている別の第２通信データに関する第２データ情報が前記第１データベースから特定された場合に、前記別の通信デバイスから送信される前記第２データ情報を受信する受信手段と、
受信手段によって受信された前記第２データ情報に基づいて、前記第２通信データに関連づけられている情報を第２データベースから特定する情報特定手段とを有し、
情報記憶手段は、情報特定手段によって特定された情報を前記第１通信データに関連づけて記憶することが可能である
ことを特徴とする通信デバイス。
【請求項７】
第１通信デバイスと第２通信デバイスとを備える通信システムであり、
第１通信デバイスは、
第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第１データベースと、
第１データベースに記憶されている通信データに関連づけて情報を記憶する第１情報記憶手段と、
同じ情報が関連づけられている個々の通信データに関する情報を第１データベースから特定する第１情報特定手段と、
第１情報特定手段によって特定された前記個々の通信データに関する情報を第２通信デバイスに送信する送信手段とを有し、
第２通信デバイスは、
第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第２データベースと、
第２データベースに記憶されている通信データに関連づけて情報を記憶する第２情報記憶手段と、
第１通信デバイスから送信された前記個々の通信データに関する情報を受信する受信手段と、
受信手段によって受信された前記個々の通信データに関する情報に基づいて、前記個々の通信データの中の第１通信データに関連づけられている情報を第２データベースから特定する第２情報特定手段とを有し、
第２情報記憶手段は、第２情報特定手段によって特定された情報を前記個々の通信データの中の第２通信データに関連づけて記憶することが可能である
ことを特徴とする通信システム。
【請求項８】
通信データと情報を関連づけて記憶することが可能である第１データベースを有する別の通信デバイスと通信可能である通信デバイスであり、
前記別の通信デバイスと自身の間で通信された通信データを記憶する第２データベースと、
第２データベースに記憶されている通信データに関連づけて情報を記憶する情報記憶手段と、
同じ情報が関連づけられている個々の通信データに関する情報が前記第１データベースから特定された場合に、前記別の通信デバイスから送信される前記個々の通信データに関する情報を受信する受信手段と、
受信手段によって受信された前記個々の通信データに関する情報に基づいて、前記個々の通信データの中の第１通信データに関連づけられている情報を第２データベースから特定する情報特定手段とを有し、
情報記憶手段は、情報特定手段によって特定された情報を前記個々の通信データの中の第２通信データに関連づけて記憶することが可能である
ことを特徴とする通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信デバイスの間で通信された通信データを記憶するサーバのためのコンピュータプログラムに関する。また、複数の通信デバイスによって構成される通信システムに関する。
【背景技術】
【０００２】
通信データと文字列を関連づけて記憶することが広く行なわれている。例えば、通信データにファイル名を付加することや、データをフォルダ内に格納したりすることは、データと文字列を関連づけて記憶することに等しい。下記特許文献１には、通信データに文字列を自動的に関連づける技術が開示されている。この技術では、電子メールの送信元のアドレスとフォルダとを対応づけて記憶しておく。電子メールが受信されると、その電子メールの送信元のアドレスに対応づけられているフォルダが特定される。電子メールは、特定されたフォルダ内に自動的に格納される。これにより、電子メールが分類されることになる。
【０００３】
【特許文献１】特開２０００−２８５０４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術を用いても、ユーザが所望する分類ができるとは限らない。本明細書では、通信データと情報（例えば文字列）を関連づけて記憶するための新規な技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書では、複数の通信デバイスと通信可能に接続されるサーバのためのコンピュータプログラムを提供する。上記の「サーバ」は、上記の複数の通信デバイスと別体に構成されていてもよいし、上記の複数の通信デバイスのいずれかの通信デバイスに組み込まれていてもよい。このコンピュータプログラムは、コンピュータに以下の各処理を実行させる。
（１）上記の複数の通信デバイスの間で通信された通信データをデータベースに記憶するデータ記憶処理。なお、上記の「通信」の例としては、ＰＳＴＮを利用したＦＡＸ通信、インターネットを利用したＦＡＸ通信、電子メール通信、電話等の音声データ通信等を挙げることができる。
（２）データベースに記憶されている通信データに送信元用情報を関連づけて記憶する送信元用情報記憶処理。なお、送信元用情報は、文字列であってもよいし、それ以外の情報（例えば画像等）であってもよい。
（３）データベースに記憶されている通信データに送信先用情報を関連づけて記憶する送信先用情報記憶処理。なお、送信先用情報は、文字列であってもよいし、それ以外の情報（例えば画像等）であってもよい。
（４）第１通信データに関連づけられている送信先用情報と同じ情報に関連づけられている情報であり、かつ、上記の第１通信データと異なる通信データに関連づけられている情報をデータベースから特定することによって、上記の第１通信データに関連づけられるべき送信元用情報の候補を特定する第１特定処理。
（５）第２通信データに関連づけられている送信元用情報と同じ情報に関連づけられている情報であり、かつ、上記の第２通信データと異なる通信データに関連づけられている情報をデータベースから特定することによって、上記の第２通信データに関連づけられるべき送信先用情報の候補を特定する第２特定処理。
（６）送信元用情報記憶処理は、第１特定処理で特定された情報を上記の第１通信データに関連づけて記憶することが可能である。
（７）送信先用情報記憶処理は、第２特定処理で特定された情報を上記の第２通信データに関連づけて記憶することが可能である。
【０００６】
図１〜図３を参照して、各処理の内容を説明する。なお、これらの図面及び下記の記述はあくまで例示である。これらの図面及び下記の記述によって、本明細書によって開示される技術が限定して解釈されることはない。図１は、複数の通信デバイスＸ，Ｙの間で通信データが通信される様子の一例を示す。図１の例では、通信デバイスＸから通信デバイスＹに通信データ１が送信され、通信デバイスＹから通信デバイスＸに通信データ２が送信され、通信デバイスＸから通信デバイスＹに通信データ３が送信されている。図２は、サーバが有するデータベース１０の記憶内容の一例を示す。図１の例のように通信データ１〜３が通信されると、データ記憶処理において、図２の例に示されるように通信データ１〜３がデータベース１０に記憶される。
【０００７】
送信元用情報記憶処理と送信先用情報記憶処理では、データベース１０に記憶されている通信データ１，２，３に関連づけて情報が記憶される。同じ通信データ（例えば通信データ１）に対して、送信元用情報と送信先用情報のそれぞれを関連づけることができる。図２の例では、通信データ１に対して、送信元用情報１２「ＡＡＡ」が関連づけられているとともに送信先用情報１４「ＢＢＢ」が関連づけられている。なお、同じ通信データに対して送信元用情報と送信先用情報のそれぞれが関連づけられるということは、その送信元用情報とその送信先用情報が関連づけられていることを意味する。図２の例では、通信データ１に対して、送信元用情報１２「ＡＡＡ」と送信先用情報１４「ＢＢＢ」が関連づけられている。これは、送信元用情報１２「ＡＡＡ」と送信先用情報１４「ＢＢＢ」が関連づけられていることに等しい。
【０００８】
また、図２の例では、通信データ２に対して、送信元用情報１８「ＤＤＤ」と送信先用情報１６「ＣＣＣ」が関連づけられている。さらに、通信データ３に対して、送信先用情報２４「ＤＤＤ」が関連づけられている。なお、送信元用情報記憶処理と送信先用情報記憶処理では、ユーザによって入力された情報（例えば文字列）を通信データに関連づけて記憶してもよいし、例えば通信データの内容等に基づいて情報を自動的に決定してその通信データに関連づけて記憶してもよい。さらに、後述するように、送信元用情報記憶処理と送信先用情報記憶処理では、第１特定処理又は第２特定処理で特定された情報を通信データに関連づけて記憶してもよい。
【０００９】
上記のコンピュータプログラムは、通信データに関連づけられるべき情報の候補を特定することができる。これは、以下のロジックに従って実行される。例えば、ある話題に関する通信データが通信デバイスＸから通信デバイスＹに送信された場合、それに対して通信デバイスＹから通信デバイスＸに他の通信データが返信されることがある。前者の通信データを送信するとともに後者の通信データを受信した通信デバイスＸのユーザは、同じ話題に関するそれらの通信データに対して同じ情報を関連づける可能性が高い。同様に、前者の通信データを受信するとともに後者の通信データを送信した通信デバイスＹのユーザも、同じ話題に関するそれらの通信データに対して同じ情報を関連づける可能性が高い。第１特定処理と第２特定処理では、同じ話題に関するものである可能性が高い複数の通信データが存在する場合に、それらの通信データに対して既に関連づけられている情報に基づいて、それらの通信データのうちの１つの通信データに関連づけられるべき情報の候補を特定する。図２及び図３を参照して、第１特定処理と第２特定処理の内容を具体的に説明する。
【００１０】
図２の例では、通信データ３に対して送信元用情報２０が関連づけられていない。第１特定処理では、送信元用情報２０の候補を特定することができる。送信先用情報１４と送信元用情報１８と送信先用情報２４は、通信デバイスＹのユーザのための情報である。送信元用情報１８と送信先用情報２４は、同じ情報「ＤＤＤ」である。従って、通信データ２と通信データ３は、同じ話題に関するものである可能性が高い。一方において、送信先用情報１４は、異なる情報「ＢＢＢ」である。従って、通信データ１は、通信データ２及び通信データ３と異なる話題に関するものである可能性が高い。通信データ２に関連づけられている送信先用情報１６「ＣＣＣ」と、通信データ３に関連づけられるべき送信元用情報２０は、通信デバイスＸのユーザのための情報である。上述したように、通信データ２と通信データ３は同じ話題に関するものである可能性が高い。従って、通信デバイスＸのユーザは、送信先用情報１６と送信元用情報２０に同じ情報を採用することを望む可能性が高い。即ち、通信データ２に関連づけられている送信先用情報「ＣＣＣ」を、通信データ３に関連づけられるべき送信元用情報の候補として特定することが好ましい。第１特定処理では、このような観点に鑑みて、送信元用情報の候補を特定する。即ち、第１特定処理では、通信データ３に関連づけられている送信先用情報２４「ＤＤＤ」と同じ情報「ＤＤＤ」に関連づけられている情報であり、かつ、通信データ３と異なる通信データに関連づけられている情報をデータベース１０から特定する。図２の例では、情報「ＣＣＣ」が特定される。この情報「ＣＣＣ」は、通信データ３に関連づけられるべき送信元用情報２０の候補である。送信元用情報記憶処理では、第１特定処理で特定された情報「ＣＣＣ」を送信元用情報２０として通信データ３に関連づけて記憶することが可能である。なお、送信元用情報記憶処理では、ユーザからの指示に応じて情報「ＣＣＣ」を通信データ３に関連づけて記憶してもよいし、情報「ＣＣＣ」を通信データ３に関連づけて自動的に記憶してもよい。
【００１１】
図３は、サーバが有するデータベースの記憶内容の別の例を示す。図２の例の場合と同様に、図３の例でも、通信データ１〜３がデータベース１０に記憶されている。図３の例では、通信データ３に対して、送信元用情報２０「ＣＣＣ」が関連づけられているが、送信先用情報２４が関連づけられていない。第２特定処理では、送信先用情報２４の候補を特定することができる。第２特定処理は、第１特定処理と同様のロジックによって送信先用情報２４の候補を特定する。即ち、第２特定処理では、通信データ３に関連づけられている送信元用情報２０「ＣＣＣ」と同じ情報「ＣＣＣ」に関連づけられている情報であり、かつ、通信データ３と異なる通信データに関連づけられている情報をデータベース１０から特定する。図３の例では、情報「ＤＤＤ」が特定される。この情報「ＤＤＤ」は、通信データ３に関連づけられるべき送信先用情報２４の候補である。送信先用情報記憶処理は、第２特定処理で特定された情報「ＤＤＤ」を送信先用情報２４として通信データ３に関連づけて記憶することが可能である。なお、送信先用情報記憶処理では、ユーザからの指示に応じて情報「ＤＤＤ」を通信データ３に関連づけて記憶してもよいし、情報「ＤＤＤ」を通信データ３に関連づけて自動的に記憶してもよい。
【００１２】
上記のコンピュータプログラムによると、通信デバイス（上記の例ではＸとＹ）のユーザが通信データに関連づけることを望むことが予想される情報を特定することができ、しかも、その情報を通信データに関連づけて記憶することができるサーバを実現することができる。
【００１３】
なお、図４は、サーバが有するデータベースの記憶内容の別の例を示す。図２や図３の例の場合と同様に、図４でも、通信データ１〜３がデータベース１０に記憶されている。図４の例では、通信デバイスＹのユーザのための情報１４，１８，２４は、同じもの「ＢＢＢ」である。この例では、第１特定処理は、送信元用情報２０の候補として、２つの情報「ＡＡＡ」及び「ＣＣＣ」を特定する。このように、第１特定処理及び／又は第２特定処理は、複数の情報を特定してもよい。この場合、送信元用情報記憶処理（送信先用情報記憶処理）は、第１特定処理（第２特定処理）で特定された複数の情報を第１通信データ（第２通信データ）に関連づけて記憶してもよいし、第１特定処理（第２特定処理）で特定された複数の情報のうちの１つの情報を第１通信データ（第２通信データ）に関連づけて記憶してもよい。なお、第１特定処理及び／又は第２特定処理は、１つの情報のみを特定してもよい（例えば１つの情報が特定されると処理を終了してもよい）。
【００１４】
上記のコンピュータプログラムは、第１特定処理で特定された情報を出力する第１出力処理をコンピュータにさらに実行させてもよい。例えば、図２の例のように、第１特定処理で情報「ＣＣＣ」が特定された場合、第１出力処理は、情報「ＣＣＣ」を出力してもよい。この場合、送信元用情報記憶処理は、第１出力処理で出力された情報「ＣＣＣ」が選択されたことを条件として、当該情報「ＣＣＣ」を通信データ３に関連づけて記憶してもよい。また、例えば、図４の例のように、第１特定処理で情報「ＡＡＡ」及び「ＣＣＣ」が特定された場合、第１出力処理は、情報「ＡＡＡ」及び「ＣＣＣ」を出力してもよい。この場合、送信元用情報記憶処理は、第１出力処理で出力された情報「ＡＡＡ」及び「ＣＣＣ」の中から選択された１つの情報（例えばＡＡＡ）を通信データ３に関連づけて記憶してもよい。上記のコンピュータプログラムは、第２特定処理で特定された情報を出力する第２出力処理をコンピュータにさらに実行させてもよい。例えば、図３の例のように、第２特定処理で情報「ＤＤＤ」が特定された場合、第２出力処理は、情報「ＤＤＤ」を出力してもよい。この場合、送信先用情報記憶処理は、第２出力処理で出力された情報「ＤＤＤ」が選択されたことを条件として、当該情報「ＤＤＤ」を通信データ３に関連づけて記憶してもよい。なお、上記の「出力」という用語は、表示すること、他のデバイスに送信すること、印刷すること等を含む概念である。
【００１５】
第１特定処理は、以下の各処理を含んでいてもよい。図２を参照して、これらの各処理の内容を説明する。
（１）通信データ３に関連づけられている送信先用情報２４「ＤＤＤ」をデータベース１０から特定する第１処理。
（２）第１処理で特定された送信先用情報２４「ＤＤＤ」と同じ情報「ＤＤＤ」に関連づけられている通信データであり、かつ、通信データ３と異なる通信データをデータベース１０から特定する第２処理。図２の例では、通信データ２が特定される。
（３）第２処理で特定された通信データ２に関連づけられている情報であり、かつ、第１処理で特定された送信先用情報「ＤＤＤ」と異なる情報をデータベース１０から特定する第３処理。図２の例では、情報「ＣＣＣ」が特定される。
【００１６】
また、第２特定処理は、以下の各処理を含んでいてもよい。図３を参照して、これらの各処理の内容を説明する。
（１）通信データ３に関連づけられている送信元用情報２０「ＣＣＣ」をデータベース１０から特定する第４処理。
（２）第４処理で特定された送信元用情報２０「ＣＣＣ」と同じ情報「ＣＣＣ」に関連づけられている通信データであり、かつ、通信データ３と異なる通信データをデータベース１０から特定する第５処理。図３の例では、通信データ２が特定される。
（３）第５処理で特定された通信データ２に関連づけられている情報であり、かつ、第４処理で特定された送信元用情報「ＣＣＣ」と異なる情報をデータベース１０から特定する第６処理。図３の例では、情報「ＤＤＤ」が特定される。
【００１７】
データ記憶処理は、複数の通信デバイスの間で通信された通信データと、その通信データの送信元に関する送信元データと、その通信データの送信先に関する送信先データとを関連づけてデータベースに記憶することが可能であってもよい。なお、送信元データ及び／又は送信先データの例として、デバイス名、ＩＰアドレス、ＭＡＣアドレス、ユーザ名等を挙げることができる。この場合、第１特定処理は、第１通信データに関連づけられている送信先用情報と同じ情報に関連づけられている情報であり、第１通信データと異なる通信データに関連づけられている情報であり、かつ、第１通信データに関連づけられている送信元データと同じデータに関連づけられている通信データに関連づけられている情報を特定してもよい。また、第２特定処理は、第２通信データに関連づけられている送信元用情報と同じ情報に関連づけられている情報であり、第２通信データと異なる通信データに関連づけられている情報であり、かつ、第２通信データに関連づけられている送信先データと同じデータに関連づけられている通信データに関連づけられている情報を特定してもよい。
【００１８】
図５及び図６を参照して、上記の各処理の内容を説明する。図５は、複数の通信デバイスＸ，Ｙ，Ｚの間で通信データが通信される様子の一例を示す。図５の例では、通信デバイスＸから通信デバイスＹに通信データ４が送信され、通信デバイスＹから通信デバイスＺに通信データ５が送信され、通信デバイスＹから通信デバイスＸに通信データ６が送信され、通信デバイスＸから通信デバイスＹに通信データ７が送信されている。図６は、サーバが有するデータベース１０の記憶内容の一例を示す。図５の例のように通信データ４〜７が通信されると、データ記憶処理において、図６の例に示されるように通信データ４〜７がデータベース１０に記憶される。通信データ４〜６のそれぞれに対して、送信元用情報及び送信先用情報３０〜４０が関連づけられている。また、通信データ７に対して、送信先用情報４４が関連づけられている。各通信データ４〜７には、送信元及び送信先に関するデータ５０〜５６が関連づけられている。
【００１９】
通信データ７には、送信元用情報４２が関連づけられていない。第１特定処理では、送信元用情報４２の候補を特定することができる。第１特定処理は、通信データ７に関連づけられている送信先用情報４４「ＤＤＤ」と同じ情報「ＤＤＤ」に関連づけられている情報であり、通信データ７と異なる通信データに関連づけられている情報であり、かつ、通信データ７に関連づけられている送信元データ「Ｘ」と同じデータ「Ｘ」に関連づけられている通信データに関連づけられている情報を特定してもよい。図６の例では、通信データ６に関連づけられている情報「ＣＣＣ」が特定される。仮に最後の条件が存在しない場合、２つの情報「ＣＣＣ」及び「ＥＥＥ」が特定されることになる。情報「ＥＥＥ」は、通信データ５に関連づけられている送信先用情報３６であって、通信デバイスＺのユーザのための情報である。これに対し、第１特定処理で候補が特定されるべき送信元用情報４２は、通信デバイスＸのユーザのための情報である。最後の条件を設けることによって、無関係なユーザのための情報「ＥＥＥ」が特定されるのを排除することができる。また、例えば、特定された情報を出力する構成を採用する場合、通信デバイスＸのユーザ以外のユーザのための情報が通信デバイスＸのユーザに漏れるのを防ぐことができ、セキュリティ面でも優れている。なお、具体例を示して説明しないが、第２特定処理も、第１特定処理と同様のロジックに従って実行される。
【００２０】
上記の技術は、複数の通信デバイスの間で通信された通信データをサーバが記憶する構成を採用している。これに対し、各通信デバイスが、自身によって通信（送信又は受信）された通信データを記憶する構成も採用し得る。この場合も、上記の技術と同様のロジックに従って、通信データに関連づけられるべき情報の候補を特定することができる。これから説明する以下の技術も、同じロジックに従って情報の候補を特定することを可能とする。即ち、上記の技術と以下の技術は、共通の技術的特徴を有する。
【００２１】
本明細書では、第１通信デバイスと第２通信デバイスとを備える通信システムを開示する。第１通信デバイスは、第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第１データベースと、第１データベースに記憶されている通信データに関連づけて情報を記憶する第１情報記憶手段と、第２通信デバイスから送信された第１通信データに関する第１データ情報を受信する第１受信手段と、第１受信手段によって受信された第１データ情報に基づいて、第１通信データに関連づけられている情報と同じ情報に関連づけられている別の第２通信データに関する第２データ情報を第１データベースから特定する第１情報特定手段と、第１情報特定手段によって特定された第２データ情報を第２通信デバイスに送信する第１送信手段とを有する。また、第２通信デバイスは、第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第２データベースと、第２データベースに記憶されている通信データに関連づけて情報を記憶する第２情報記憶手段と、第２データベースに記憶されている第１通信データに関する第１データ情報を第１通信デバイスに送信する第２情報送信手段と、第１通信デバイスから送信された第２データ情報を受信する第２受信手段と、第２受信手段によって受信された第２データ情報に基づいて、第２通信データに関連づけられている情報を第２データベースから特定する第２情報特定手段とを有する。第２情報記憶手段は、第２情報特定手段によって特定された情報を第１通信データに関連づけて記憶することが可能である。なお、第２情報記憶手段は、第２情報特定手段によって特定された情報を出力し、ユーザからの指示に応じて当該情報を第１通信データに関連づけて記憶してもよい。一方において、第２情報記憶手段は、第２情報特定手段によって情報が特定されると、当該情報を第１通信データに関連づけて自動的に記憶してもよい。また、上記の「第１通信データ（第２通信データ）に関する第１データ情報（第２データ情報）」は、通信データを特定することができるあらゆる情報を含む概念であり、通信データそのもの、通信データが要約化（例えばハッシュ化）されたもの、通信データの通信日時等を採用することができる。
【００２２】
図７を参照して、上記の通信システムの技術を具体的に説明する。図７の例では、第１通信デバイス６０と第２通信デバイス７０の間で通信データ１〜３が通信されている。この場合、第１通信デバイス６０の第１データベース６２は、通信データ１〜３を記憶する。第１データベース６２では、各通信データ１〜３に対して情報６４〜６６が関連づけられている。また、第２通信デバイス７０の第２データベース７２も、通信データ１〜３を記憶する。第２データベース７２では、各通信データ１，２に対して情報７４，７６が関連づけられている。図７の例では、通信データ３に対して情報７８が関連づけられていない。
【００２３】
第２通信デバイス７０（第２情報送信手段）は、第２データベース７２に記憶されている通信データ３に関する情報を第１通信デバイス６０に送信する。第１通信デバイス６０（第１情報特定手段）は、通信データ３に関する情報に基づいて、通信データ３に関連づけられている情報６８「ＣＣＣ」と同じ情報「ＣＣＣ」に関連づけられている別の通信データ２に関する情報を第１データベース６２から特定する。第１通信デバイス６０（第１送信手段）は、通信データ２に関する情報を第２通信デバイス７０に送信する。第２通信デバイス７０（第２情報特定手段）は、通信データ２に関する情報に基づいて、通信データ２に関連づけられている情報７６「ＤＤＤ」を第２データベース７２から特定する。第２通信デバイス７０（第２情報記憶手段）は、特定された情報「ＤＤＤ」を通信データ３に関連づけて記憶することが可能である（情報７８として記憶することが可能である）。
【００２４】
上記の通信システムでは、通信デバイス（上記の例では第２通信デバイス７０）のユーザが通信データ（上記の例では通信データ３）に関連づけることを望むことが予想される情報（上記の例では情報「ＤＤＤ」）を特定することができ、その情報を通信データに関連づけて記憶することができる。
【００２５】
本明細書では、第１通信デバイスと第２通信デバイスとを備える次の通信システムも開示する。この通信システムも、上記の技術と共通の技術的特徴を有している。第１通信デバイスは、第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第１データベースと、第１データベースに記憶されている通信データに関連づけて情報を記憶する第１情報記憶手段と、同じ情報が関連づけられている個々の通信データに関する情報を第１データベースから特定する第１情報特定手段と、第１情報特定手段によって特定された個々の通信データに関する情報を第２通信デバイスに送信する送信手段とを有する。第２通信デバイスは、第１通信デバイスと第２通信デバイスの間で通信された通信データを記憶する第２データベースと、第２データベースに記憶されている通信データに関連づけて情報を記憶する第２情報記憶手段と、第１通信デバイスから送信された上記の個々の通信データに関する情報を受信する受信手段と、受信手段によって受信された上記の個々の通信データに関する情報に基づいて、上記の個々の通信データの中の第１通信データに関連づけられている情報を第２データベースから特定する第２情報特定手段とを有する。第２情報記憶手段は、第２情報特定手段によって特定された情報を上記の個々の通信データの中の第２通信データに関連づけて記憶することが可能である。なお、第２情報記憶手段は、第２情報特定手段によって特定された情報を出力し、ユーザからの指示に応じて当該情報を第２通信データに関連づけて記憶してもよい。一方において、第２情報記憶手段は、第２情報特定手段によって情報が特定されると、当該情報を第２通信データに関連づけて自動的に記憶してもよい。
【００２６】
図７を参照して、上記の通信システムの技術を具体的に説明する。第１通信デバイス６０（第１情報特定手段）は、同じ情報「ＣＣＣ」が関連づけられている個々の通信データ２，３に関する情報を第１データベース６２から特定する。第１通信デバイス６０（送信手段）は、特定された個々の通信データ２，３に関する情報を第２通信デバイス７０に送信する。第２通信デバイス７０（第２情報特定手段）は、上記の個々の通信データ２，３に関する情報に基づいて、上記の個々の通信データ２，３の中の第１通信データ（通信データ２）に関連づけられている情報７６「ＤＤＤ」を第２データベース７２から特定する。第２通信デバイス７０（第２情報記憶手段）は、特定された情報「ＤＤＤ」を上記の個々の通信データ２，３の中の第２通信データ（通信データ３）に関連づけて記憶することが可能である（情報７８として記憶することが可能である）。
【００２７】
上記の通信システムでも、通信デバイス（上記の例では第２通信デバイス７０）のユーザが通信データ（上記の例では通信データ３）に関連づけることを望むことが予想される情報（上記の例では情報「ＤＤＤ」）を特定することができ、その情報を通信データに関連づけて記憶することができる。
【発明を実施するための最良の形態】
【００２８】
ここでは、以下の実施例に記載の技術の特徴の一部をまとめておく。
（形態１）サーバは、通信デバイスに関する情報（例えば電話番号、ＦＡＸ番号、電子メールアドレス）と、その通信デバイスのユーザに関する情報（例えばユーザ名）とを対応づけて記憶してもよい。
（形態２）各通信デバイスは、自身によって送信された通信データ、及び、自身によって受信された通信データをサーバに送信してもよい。例えば、第１通信デバイスから第２通信デバイスに通信データが送信された場合、サーバは、第１通信デバイスのユーザに関する情報と当該通信データとを対応づけて記憶するとともに、第２通信デバイスのユーザに関する情報と当該通信データとを対応づけて記憶してもよい。即ち、サーバは、同じ通信データを二重に記憶してもよい。
【００２９】
（形態３）ユーザは、通信デバイス又は他のデバイスにおいて、通信データに関連づけられるべき文字列を入力する操作を実行してもよい。通信デバイス又は他のデバイスは、ユーザによって入力された文字列をサーバに送信してもよい。サーバは、通信デバイス又は他のデバイスからの文字列を通信データに関連づけて記憶してもよい。
（形態４）サーバは、データベースに記憶されている記憶内容のリストを通信デバイス又は他のデバイスに送信することが可能であってもよい。通信デバイス又は他のデバイスは、リストを表示してもよい。
（形態５）ユーザは、通信デバイス又は他のデバイスにおいて、リストから１つの記録を選択し、その記録の通信データを要求する操作を実行してもよい。通信デバイス又は他のデバイスは、ユーザによって選択された記録の通信データをサーバに要求してもよい。サーバは、通信デバイス又は他のデバイスによって要求された通信データを返信してもよい。通信デバイス又は他のデバイスは、サーバから返信された通信データを出力（表示、印刷、他のデバイスに送信等）してもよい。
【００３０】
（形態６）サーバが存在しなくてもよい。各通信デバイスは、自身から送信された通信データ、及び、自身によって受信された通信データを記憶するためのデータベースを有していてもよい。各通信デバイスは、ユーザからの要求に応じて、データベースの記憶内容のリストを表示してもよい。各通信デバイスは、ユーザからの要求に応じて、データベースに記憶されている通信データを出力（表示、印刷、他のデバイスに送信等）してもよい。
【実施例】
【００３１】
（第１実施例）
図面を参照して実施例を説明する。図８は、本実施例の多機能機システム９０の概略図を示す。多機能機システム９０は、複数の多機能機１００，１３２，１３４とＰＣ１３０とサーバ１４０とを備える。各デバイス１００，１３０〜１３４，１４０は、ネットワーク９２に接続されている。ネットワーク９２は、ローカルエリアネットワークであってもよいし、インターネット等のワイドエリアネットワークであってもよい。
【００３２】
（多機能機の構成）
図９は、多機能機１００の構成を簡単に示す。多機能機１００は、ＣＰＵ１０２と記憶部１０４と印刷部１１２とスキャン部１１４と電話通信部１１６とネットワークインターフェイス１１８とＰＳＴＮＦＡＸ通信部１２０とインターネットＦＡＸ通信部１２２と表示部１２４と操作部１２６等を有する。
【００３３】
ＣＰＵ１０２は、記憶部１０４に記憶されているプログラムに従って様々な処理を実行する。ＣＰＵ１０２が実行する処理については、後で詳しく説明する。記憶部１０４は、プログラム記憶領域１０６とユーザ情報記憶領域１０８とその他の記憶領域１１０等を有する。プログラム記憶領域１０６は、ＣＰＵ１０２が各処理を実行するためのプログラムを格納している。ユーザ情報記憶領域１０８は、ユーザに関する情報を記憶している。ユーザは、操作部１２６を利用してユーザ名を入力することができる。ユーザ情報記憶領域１０８は、ユーザ名を記憶している。本実施例では、多機能機１００のユーザ名は「Ｕ１」である。記憶領域１１０は、上記の各記憶領域１０６，１０８に記憶されるべき情報以外の情報を記憶することができる。記憶領域１１０は、例えば、サーバ１４０のＩＰアドレスを記憶している。記憶領域１１０に記憶される他の情報については、必要に応じて後で説明する。
【００３４】
印刷部１１２は、インクジェットタイプ、レーザタイプ等の印刷機構を有する。印刷部１１２は、ＰＣ１３０等の外部装置から送信された印刷データに基づいて印刷媒体に印刷することができる。印刷部１１２は、スキャン部１１４で読み取られた画像データに基づいて印刷媒体に印刷することもできる（即ち多機能機１００はコピー機能を有する）。また、印刷部１１２は、ＰＳＴＮ回線を利用して受信されたＦＡＸデータやインターネット回線を利用して受信されたＦＡＸデータに基づいて印刷媒体に印刷することもできる。スキャン部１１４は、ＣＣＤ、ＣＩＳ等の画像読取機構を有する。電話通信部１１６は、電話通信を実行することができる。ネットワークインターフェイス１１８は、ネットワーク９２に接続されている。多機能機１００は、ネットワークインターフェイス１１８を介してネットワーク９２と通信可能である。
【００３５】
ＰＳＴＮＦＡＸ通信部１２０は、ＰＳＴＮ回線を利用してＦＡＸ通信を実行することができる。このＦＡＸ通信の送信元及び送信先としては、ＰＳＴＮの電話番号（ＦＡＸ番号）が利用される。以下では、ＰＳＴＮ回線を利用したＦＡＸのことを「ＰＳＴＮＦＡＸ」と呼ぶ。インターネットＦＡＸ通信部１２２は、インターネットを利用してＦＡＸ通信を実行することができる。このＦＡＸ通信の送信元及び送信先としては、電子メールアドレスが利用される。以下では、インターネットを利用したＦＡＸのことを「インターネットＦＡＸ」と呼ぶ。表示部１２４は、様々な情報を表示することができる。操作部１２６は、複数のキーによって構成される。ユーザは、操作部１２６操作することによって、様々な指示や情報を多機能機１００に入力することができる。
【００３６】
多機能機１３２，１３４も、多機能機１００と同様の構成を有する。ただし、多機能機１３２のユーザ情報記憶領域は、ユーザ名「Ｕ２」を記憶している。また、多機能機１３４のユーザ情報記憶領域は、ユーザ名「Ｕ３」を記憶している。
【００３７】
（サーバの構成）
続いて、サーバ１４０の構成について説明する。図１０は、サーバ１４０の構成を示す。サーバ１４０は、ＣＰＵ１４２と記憶部１４４とネットワークインターフェイス１５４等を有する。ＣＰＵ１４２は、記憶部１４４に記憶されているプログラムに従って様々な処理を実行する。ＣＰＵ１４２が実行する処理については、後で詳しく説明する。記憶部１４４は、プログラム記憶領域１４６とユーザ情報データベース１４８と通信記録データベース１５０とその他の記憶領域１５２等を有する。プログラム記憶領域１４６は、ＣＰＵ１４２が各処理を実行するためのプログラムを格納している。
【００３８】
ユーザ情報データベース１４８は、各多機能機１００，１３２，１３４に関する情報を記憶している。各多機能機１００，１３２，１３４のユーザは、各多機能機１００，１３２，１３４に関する情報をサーバ１４０に記憶させることができる。例えば、ユーザは、各多機能機１００，１３２，１３４からサーバ１４０にアクセスすることによって、各多機能機１００，１３２，１３４に関する情報をサーバ１４０に記憶させてもよい。また、例えば、ユーザは、ＰＣ１３０からサーバ１４０にアクセスすることによって（例えばブラウザからアクセスしてもよい）、各多機能機１００，１３２，１３４に関する情報をサーバ１４０に記憶させてもよい。また、例えば、ユーザは、サーバ１４０が有する操作部（図示省略）を操作してサーバ１４０に直接的にアクセスすることによって、各多機能機１００，１３２，１３４に関する情報をサーバ１４０に記憶させてもよい。
【００３９】
図１１は、ユーザ情報データベース１４８の記憶内容の一例を示す。ユーザ情報データベース１４８は、複数の多機能機情報１６０，１６２，１６４を記憶することができる。各多機能機情報１６０，１６２，１６４は、ユーザ名１７０と電話番号１７２とＦＡＸ番号１７４と電子メールアドレス１７６とが関連づけられたものである。本実施例では、多機能機情報１６０は多機能機１００に対応し、多機能機情報１６２は多機能機１３２に対応し、多機能機情報１６４は多機能機１３４に対応する。例えば、多機能機情報１６０は、多機能機１００のユーザ名が「Ｕ１」であり、多機能機１００のＰＳＴＮ電話番号が「Ｔ１」であり、多機能機１００のＰＳＴＮＦＡＸ番号が「Ｆ１」であり、多機能機１００の電子メールアドレス（インターネットＦＡＸ番号）が「Ｅ１」であることを示している。
【００４０】
通信記録データベース１５０は、各多機能機１００，１３２，１３４の間で通信されたデータを記憶している。通信記録データベース１５０にどのようにしてデータが記憶されるのかについては、後で詳しく説明する。ここでは、通信記録データベース１５０に記憶されるデータの内容について説明しておく。
【００４１】
図１２は、通信記録データベース１５０の記憶内容の一例を示す。通信記録データベース１５０は、複数の記録１８０〜１８８を記憶することができる。各記録１８０〜１８８は、番号１９０とユーザ１９２と通信内容１９４と相手ユーザ１９６と通信日時１９８と通信データ２００とタグ２０２とが関連づけられたものである。番号１９０は、各記録１８０〜１８８を特定するための識別情報である。ユーザ１９２は、データの通信（送受信）が行なわれた多機能機のユーザ名を示す。例えば、多機能機１００からＦＡＸが送信された場合、ユーザ１９２の欄に多機能機１００のユーザ名「Ｕ１」が記憶される。同様に、例えば、多機能機１００によってＦＡＸが受信された場合も、ユーザ１９２の欄に多機能機１００のユーザ名「Ｕ１」が記憶される。通信内容１９４は、どのような種類の通信が行なわれたのかを示す情報である。相手ユーザは、データが受信された場合はそのデータの送信元を示す情報であり、データが送信された場合はそのデータの送信先を示す情報である。通信日時１９８は、データの通信が行なわれた日時を示す情報である。通信データ２００は、通信されたデータである。タグ２０２は、ユーザによって設定される文字列である。
【００４２】
例えば、多機能機１００から多機能機１３２，１３４にインターネットＦＡＸが送信された場合、３つの多機能機１００，１３２，１３４が通信に関わることになる。この場合、それぞれの多機能機１００，１３２，１３４に対応する３つの記録が通信記録データベース１５０に記憶される。図１２に示される記録１８０〜１８４は、上記の例の場合に記憶された３つの記録を示す。記録１８０は多機能機１００に対応する記録であり、記録１８２は多機能機１３２に対応する記録であり、記録１８０は多機能機１３４に対応する記録である。例えば、記録１８０は、多機能機１００（即ちユーザ「Ｕ１」）が電子メールアドレス「Ｅ２」及び「Ｅ３」（即ち多機能機１３２，１３４）にインターネットＦＡＸを送信したことを示す。記録１８２は、多機能機１３２（即ちユーザ「Ｕ２」）が電子メールアドレス「Ｅ１」（即ち多機能機１００）からのインターネットＦＡＸを受信したことを示す。記録１８４は、多機能機１３２（即ちユーザ「Ｕ３」）が電子メールアドレス「Ｅ１」（即ち多機能機１００）からのインターネットＦＡＸを受信したことを示す。記録１８０〜１８４は、図１２に示されるように、同じ通信日時１９８を有するべきである。しかしながら、多機能機１００，１３２，１３４に設定されている時刻に時間差がある場合には、同じ通信日時でなくてもよい。また、記録１８０〜１８４は、同じ通信データ２００を有する。記録１８０のタグ２０２はユーザ「Ｕ１」によって設定され、記録１８２のタグ２０２はユーザ「Ｕ２」によって設定され、記録１８４のタグ２０２はユーザ「Ｕ３」によって設定される。タグ２０２がどのようにして設定されるのかについては、後で詳しく説明する。
【００４３】
（ＰＣの構成）
ＰＣ１３０の具体的な構成については図示省略している。ＰＣ１３０は、一般的に知られている公知の構成を有する。即ち、ＰＣ１３０は、ＣＰＵ、ハードディスク、操作部（マウスやキーボード）、表示部等を有する。本実施例では、ユーザは、ＰＣ１３０を利用してサーバ１４０にアクセスすることができる。
【００４４】
（多機能機が実行する処理）
続いて、多機能機１００が実行する処理の内容について説明する。多機能機１３２，１３４も同様の処理を実行する。図１３は、多機能機１００のＣＰＵ１０２が実行する処理のフローチャートを示す。
【００４５】
ＣＰＵ１０２は、多機能機１００からデータが送信されることを監視している（Ｓ１０）。ＣＰＵ１０２は、ＰＳＴＮＦＡＸが送信された場合、又は、インターネットＦＡＸが送信された場合に、Ｓ１０でＹＥＳと判断する。Ｓ１０でＹＥＳの場合、ＣＰＵ１０２は、情報をサーバ１４０に送信する（Ｓ１２）。Ｓ１２で送信される情報は、ユーザ名と通信内容と送信先と通信日時と通信データである。ユーザ名は、データの送信元のユーザ名を示す情報である。例えば、多機能機１００からＦＡＸが送信された場合、ユーザ名は、ユーザ情報記憶領域１０８に記憶されている「Ｕ１」である。通信内容は、どのような通信が行なわれたのかを示す情報である。例えば、ＰＳＴＮＦＡＸが送信された場合、通信内容は、「ＰＳＴＮＦＡＸ送信」である。また、例えば、インターネットＦＡＸが送信された場合、通信内容は、「インターネットＦＡＸ送信」である。送信先は、ＦＡＸデータの送信先を示す情報である。例えば、ＰＳＴＮＦＡＸが多機能機１３２に送信された場合、送信先は、「Ｆ２」である（図１１参照）。また、例えば、インターネットＦＡＸが多機能機１３２，１３４に送信された場合、送信先は、「Ｅ２」及び「Ｅ３」である（図１１参照）。通信日時は、ＦＡＸデータが送信された日時を示す情報である。通信データは、送信されたＦＡＸデータである。
【００４６】
ＣＰＵ１０２は、多機能機１００によってデータが受信されることを監視している（Ｓ１４）。ＣＰＵ１０２は、ＰＳＴＮＦＡＸが受信された場合、又は、インターネットＦＡＸが受信された場合に、Ｓ１４でＹＥＳと判断する。Ｓ１４でＹＥＳの場合、ＣＰＵ１０２は、情報をサーバ１４０に送信する（Ｓ１６）。Ｓ１６で送信される情報は、ユーザ名と通信内容と送信元と通信日時と通信データである。ユーザ名は、ユーザ情報記憶領域１０８に記憶されている「Ｕ１」である。例えば、ＰＳＴＮＦＡＸが受信された場合、通信内容は、「ＰＳＴＮＦＡＸ受信」である。また、例えば、インターネットＦＡＸが受信された場合、通信内容は、「インターネットＦＡＸ受信」である。送信元は、ＦＡＸデータの送信元を示す情報である。例えば、多機能機１３４からのＰＳＴＮＦＡＸが受信された場合、送信元は、「Ｆ３」である（図１１参照）。また、例えば、多機能機１３２からのインターネットＦＡＸが受信された場合、送信元は、「Ｅ２」である（図１１参照）。通信日時は、ＦＡＸデータが受信された日時を示す情報である。通信データは、受信されたＦＡＸデータである。
【００４７】
（ＰＣが実行する処理）
続いて、ＰＣ１３０が実行する処理の内容について説明する。各多機能機１００，１３２，１３４のユーザは、ＰＣ１３０を利用してサーバ１４０にアクセスすることができる。本実施例の多機能機システム９０では、１つのＰＣ１３０のみが設けられおり、各多機能機１００，１３２，１３４のユーザがＰＣ１３０を共用している。しかしながら、多機能機システム９０は、複数のＰＣを有していてもよい。例えば、多機能機１００，１３２，１３４のユーザ毎にＰＣが設けられていてもよい。
【００４８】
図１４と図１５は、ＰＣ１３０が実行する処理のフローチャートを示す。ＰＣ１３０は、サーバ１４０に対するアクセス要求操作が実行されることを監視している（Ｓ３０）。ユーザがマウスやキーボードを利用してサーバ１４０にアクセスする操作を実行すると、ＰＣ１３０は、Ｓ３０でＹＥＳと判断する。この場合、ＰＣ１３０は、サーバ１４０にアクセスする（Ｓ３２）。具体的には、ＰＣ１３０は、コネクションを確立するためのコマンドをサーバ１４０に送信し、通信記録データベース１５０（図１２）の記憶内容をサーバ１４０に要求する。なお、ユーザがＰＣ１３０を利用する際に、ユーザはＰＣ１３０にユーザ名を入力する。ＰＣ１３０は、上記のＳ３２では、ユーザによって入力されたユーザ名（例えば「Ｕ１」）をサーバ１４０に送信する。この結果、サーバ１４０からＰＣ１３０に通信記録データベース１５０の記憶内容（ＰＣ１３０に入力されたユーザ名に対応する記録）が送信される。ＰＣ１３０は、通信記録データベース１５０の記憶内容を受信する（Ｓ３４）。なお、Ｓ３４で受信される通信記録データベース１５０の記憶内容は、通信データ２００（図１２参照）を含んでいない。即ち、Ｓ３４では、番号１９０とユーザ１９２と通信内容１９４と相手ユーザ１９６と通信日時１９８とタグ２０２とを含む情報が受信される。ＰＣ１３０は、Ｓ３４で受信された内容のリストを表示する（Ｓ３６）。即ち、ＰＣ１３０は、図１２に例示される情報（通信データ２００を除く）の一覧を表示する。例えば、ＰＣ１３０にユーザ名「Ｕ１」が入力された場合、Ｓ３６では、ユーザ１９２の欄に「Ｕ１」が書き込まれている記録１８０，１８８（図１２参照）が表示される。
【００４９】
ユーザは、上記のリストが表示されている状態では、マウスやキーボードを利用して様々な操作を実行することができる。例えば、ユーザは、Ｓ３６で表示されたリストの中から少なくとも１つの記録を選択し、その記録の通信データを要求する操作を実行することができる。この操作が実行された場合、ＰＣ１３０は、Ｓ３８でＹＥＳと判断する。この場合、ＰＣ１３０は、ユーザによって選択された記録の番号１９０を含むデータ要求をサーバ１４０に送信する（Ｓ４０）。この結果、サーバ４０は、データ要求に応じて通信データ２００（ユーザによって選択された記録の通信データ２００）をＰＣ１３０に送信する。ＰＣ１３０は、サーバ４０からの通信データ２００を受信する（Ｓ４２）。ＰＣ１３０は、Ｓ４２で受信された通信データ２００を表示する（Ｓ４４）。ユーザは、過去に通信されたデータを見ることができる。
【００５０】
ユーザは、Ｓ３６で表示されたリストの中から少なくとも１つの記録を選択し、その記録のタグ２０２として設定されるべき文字列を入力する操作を実行することができる。この操作が実行された場合、ＰＣ１３０は、Ｓ４６でＹＥＳと判断する。この場合、ＰＣ１３０は、ユーザによって選択された記録の番号１９０とユーザによって入力された文字列とを含むタグ設定要求をサーバ１４０に送信する（Ｓ４８）。この結果、サーバ１４０は、タグ設定要求に含まれる番号１９０を有する記録のタグ２０２の欄に、タグ設定要求に含まれる文字列を記憶する。なお、上記の操作は、タグ２０２が設定されていない記録（例えば図１２の記録１８８）が選択されて実行されてもよいし、タグ２０２が既に設定されている記録（例えば図１２の記録１８０〜１８６）が選択されて実行されてもよい。前者の場合、サーバ１４０においてタグ２０２が新規に設定されることになり、後者の場合、サーバ１４０においてタグ２０２が更新されることになる。
【００５１】
ユーザは、Ｓ３６で表示されたリストの中から少なくとも１つの記録を選択し、その記録のタグ２０２の候補を要求する操作を実行することができる。この操作が実行された場合、ＰＣ１３０は、図１５のＳ６０でＹＥＳと判断する。この場合、ＰＣ１３０は、ユーザによって選択された記録の番号１９０を含むタグ候補要求をサーバ１４０に送信する（Ｓ６２）。この結果、サーバ１４０は、タグ候補要求に含まれる番号１９０を有する記録のタグ２０２として設定されるべき文字列の候補を検索し、検索結果をＰＣ１３０に送信する。ＰＣ１３０は、サーバ１４０からの検索結果を受信し（Ｓ６４）、その検索結果を表示する（Ｓ６６）。なお、上記の操作は、タグ２０２が設定されていない記録（例えば図１２の記録１８８）が選択されて実行されてもよいし、タグ２０２が既に設定されている記録（例えば図１２の記録１８０〜１８６）が選択されて実行されてもよい。また、詳しくは後述するが、サーバ１４０において検索された結果として文字列の候補が特定されない可能性もある。この場合、ＰＣ１３０は、Ｓ６６において、文字列の候補が存在しないことを示す情報を表示する。
【００５２】
ユーザは、表示された１又は複数の文字列の候補の中から１つの文字列を選択する操作を実行することができる。この操作が実行された場合、ＰＣ１３０は、Ｓ６８でＹＥＳと判断する。一方において、文字列の候補が表示された状態、又は、文字列の候補が存在しないことを示す情報が表示された状態において、ユーザは、キーボードを利用して文字列を入力する操作を実行することができる。この操作が実行された場合、ＰＣ１３０は、Ｓ７０でＹＥＳと判断する。Ｓ６８又はＳ７０でＹＥＳの場合、ＰＣ１３０は、Ｓ６０で選択された記録の番号１９０と、Ｓ６８で選択された文字列又はＳ７０で入力された文字列とを含むタグ設定要求をサーバ１４０に送信する（Ｓ７２）。この結果、サーバ１４０は、タグ設定要求に含まれる番号１９０を有する記録のタグ２０２の欄に、タグ設定要求に含まれる文字列を記憶する。
【００５３】
ユーザは、リストの表示を終了する操作を実行することができる。この操作が実行された場合、ＰＣ１３０は、Ｓ７４でＹＥＳと判断する。この場合、ＰＣ１３０は、リストの表示を終了し、サーバ１４０に対して確立されているコネクションを切断する。Ｓ７４でＹＥＳの場合、ＰＣ１３０は、図１４のＳ３０に戻ってユーザの操作を監視する。
【００５４】
（サーバが実行する処理）
続いて、サーバ１４０が実行する処理の内容について説明する。図１６と図１７は、サーバ１４０のＣＰＵ１４２が実行する処理のフローチャートを示す。
【００５５】
ＣＰＵ１４２は、多機能機１００，１３２，１３４からの通信データが受信されることを監視している（Ｓ９０）。図１３のＳ１２又はＳ１６の処理で多機能機１００，１３２，１３４から送信された情報が受信されると、ＣＰＵ１４２は、Ｓ９０でＹＥＳと判断する。この場合、ＣＰＵ１４２は、Ｓ９０で受信された情報を通信記録データベース１５０に記憶する（Ｓ９２）。この処理は、以下のようにして実行される。ＣＰＵ１４２は、新たな記録を記憶するための記憶領域を通信記録データベース１５０に確保する。次いで、ＣＰＵ１４２は、現在存在する最大の番号１９０に１を加算することによって新たな番号を作成し、その番号を新たな記録の番号１９０の欄に書き込む。ＣＰＵ１４２は、Ｓ９０で受信された情報に含まれるユーザ名を新たな記録のユーザ１９２の欄に書き込む。ＣＰＵ１４２は、Ｓ９０で受信された情報に含まれる通信内容を新たな記録の通信内容１９４の欄に書き込む。上述したように、図１３のＳ１２の処理でサーバ１４０に送信される情報には通信データの送信先が含まれており、Ｓ１４の処理でサーバ１４０に送信される情報には通信データの送信元が含まれている。ＣＰＵ１４２は、Ｓ９０で受信された情報に含まれる送信先又は送信元を新たな記録の相手ユーザ１９６の欄に書き込む。ＣＰＵ１４２は、Ｓ９０で受信された情報に含まれる通信日時を新たな記録の通信日時１９８の欄に書き込む。ＣＰＵ１４２は、Ｓ９０で受信された情報に含まれる通信データを新たな記録の通信データ２００の欄に書き込む。Ｓ９２では、新たな記録のタグ２０２の欄に何も書き込まれない。
【００５６】
ＣＰＵ１４２は、ＰＣ１３０からのアクセス要求が受信されることを監視している（Ｓ９４）。ＣＰＵ１４２は、図１４のＳ３２の処理でＰＣ１３０からアクセスされると、Ｓ９４でＹＥＳと判断する。この場合、ＣＰＵ１４２は、通信記録データベース１５０（図１２参照）の記憶内容（通信データ２００を除く）をＰＣ１３０に送信する（Ｓ９６）。上述したように、図１４のＳ３２の処理では、ＰＣ１３０に入力されたユーザ名がサーバ１４０に送信される。ＣＰＵ１４２は、ＰＣ１３０から送信されたユーザ名がユーザ１９２の欄に書き込まれている記録（例えばユーザ名「Ｕ１」の場合は記録１８０，１８８）をＰＣ１３０に送信する。この結果、図１４のＳ３６において、ＰＣ１３０は、記録（通信データ２００を除く）のリストを表示する。
【００５７】
ＣＰＵ１４２は、ＰＣ１３０からのデータ要求が受信されることを監視している（Ｓ９８）。ＣＰＵ１４２は、図１４のＳ４０の処理でＰＣ１３０から送信されたデータ要求が受信されると、Ｓ９８でＹＥＳと判断する。この場合、ＣＰＵ１４２は、データ要求に含まれる番号１９０を有する記録の通信データ２００をＰＣ１３０に送信する（Ｓ１００）。この結果、図１４のＳ４４において、ＰＣ１３０は、通信データ２００を表示する。
【００５８】
ＣＰＵ１４２は、ＰＣ１３０からのタグ設定要求が受信されることを監視している（Ｓ１０２）。ＣＰＵ１４２は、図１４のＳ４８又は図１５のＳ７２の処理でＰＣ１３０から送信されたタグ設定要求が受信されると、Ｓ１０２でＹＥＳと判断する。この場合、ＣＰＵ１４２は、タグ設定要求に含まれる番号１９０を有する記録のタグ２０２の欄に、タグ設定要求に含まれる文字列を書き込む（Ｓ１０４）。
【００５９】
ＣＰＵ１４２は、ＰＣ１３０からのタグ候補要求が受信されることを監視している（Ｓ１０６）。ＣＰＵ１４２は、図１５のＳ６２の処理でＰＣ１３０から送信されたタグ候補要求が受信されると、Ｓ１０６でＹＥＳと判断する。この場合、ＣＰＵ１４２は、タグ候補検索処理を実行する（Ｓ１０８）。
【００６０】
（タグ候補検索処理）
図１６のＳ１０８で実行されるタグ候補検索処理の内容について詳しく説明する。図１７は、タグ候補検索処理のフローチャートを示す。以下では、Ｓ１０６で受信されたタグ候補要求に含まれる番号が図１２の「ｎ５」である場合を例にして、タグ候補検索処理の内容を説明する。ＣＰＵ１４２は、Ｓ１０６で受信されたタグ候補要求に含まれる番号「ｎ５」に対応する相手ユーザ「Ｆ２」をキーとしてユーザ情報データベース１４８（図１１参照）を検索することによって、その相手ユーザ「Ｆ２」に対応するユーザ名「Ｕ２」を特定する（Ｓ１２０）。なお、Ｓ１２０において複数のユーザ名が特定された場合、ユーザ名毎に以下の処理が実行される。
【００６１】
次いで、ＣＰＵ１４２は、Ｓ１０６で受信されたタグ候補要求に含まれる番号「ｎ５」に対応する通信データ「Ｄ２」を特定する。ＣＰＵ１４２は、ユーザ名「Ｕ２」と通信データ「Ｄ２」とをキーとして通信記録データベース１５０を検索することによって、ユーザ名「Ｕ２」と通信データ「Ｄ２」とを有する記録１８６を特定する（Ｓ１２２）。続いて、ＣＰＵ１４２は、Ｓ１２２で特定された記録１８６が有するタグ「ＢＣＤ」を特定する（Ｓ１２４）。次いで、ＣＰＵ１４２は、Ｓ１２０で特定されたユーザ名「Ｕ２」とＳ１２４で特定されたタグ「ＢＣＤ」とをキーとして通信記録データベース１５０を検索することによって、ユーザ名「Ｕ２」とタグ「ＢＣＤ」とを有する他の記録１８２（Ｓ１２２で特定された記録１８６以外の記録）を特定する（Ｓ１２６）。続いて、ＣＰＵ１４２は、Ｓ１２６で特定された記録１８２が有する通信データ「Ｄ１」を特定する（Ｓ１２８）。
【００６２】
次いで、ＣＰＵ１４２は、Ｓ１２８で特定された通信データ「Ｄ１」とＳ１０６で受信されたタグ候補要求に含まれる番号「ｎ５」に対応するユーザ名「Ｕ１」とをキーとして通信記録データベース１５０を検索することによって、通信データ「Ｄ１」とユーザ名「Ｕ１」とを有する記録１８０を特定する（Ｓ１３０）。続いて、ＣＰＵ１４２は、Ｓ１３０で特定された記録１８０が有するタグ「ＡＢＣ」を特定する（Ｓ１３２）。ＣＰＵ１４２は、Ｓ１３２で特定されたタグ「ＡＢＣ」をＰＣ１３０に送信する。この結果、図１５のＳ６６において、ＰＣ１３０は、タグ「ＡＢＣ」を表示する。
【００６３】
なお、上記のＳ１２６又はＳ１３０においては、記録が特定されない可能性がある。この場合、ＣＰＵ１４２は、以降の処理をスキップし、タグ候補が存在しないことを示す情報をＰＣ１３０に送信する。
【００６４】
本実施例の多機能機システム９０について詳しく説明した。上記のシステム９０では、各多機能機１００，１３２，１３４の間でＦＡＸ通信されたデータがサーバ１４０に記憶される。各ユーザは、自身によって通信されたデータに関連づけてタグ２０２を記憶させることができる。例えば、図１２の例では、ユーザ「Ｕ２」は、記録１８２の通信データ「Ｄ１」と記録１８４の通信データ「Ｄ２」のそれぞれに文字列「ＢＣＤ」を関連づけている。これは、通信データ「Ｄ１」及び「Ｄ２」が同じ話題に関するものであるとユーザ「Ｕ２」が考えている可能性が高い。ユーザ「Ｕ２」が同じ話題に関するものであると考えている可能性が高い通信データ「Ｄ１」及び「Ｄ２」については、ユーザ「Ｕ１」も同じ話題に関するものであると考える可能性が高い。即ち、通信データ「Ｄ１」及び「Ｄ２」については、ユーザ「Ｕ１」が同じ文字列を関連づけることを望む可能性が高い。このような知見に鑑みて、サーバ１４０は、ユーザ「Ｕ１」が記録１８８の通信データ「Ｄ２」に関連づけられるべき文字列の候補を要求すると、記録１８０において通信データ「Ｄ１」に関連づけられている文字列「ＡＢＣ」を候補として提供する。本実施例では、ユーザ（上記の例では「Ｕ１」）が通信データ（上記の例では「Ｄ２」）に関連づけることを望むことが予想される文字列（上記の例では「ＡＢＣ」）を候補としてユーザに提供することができる。本実施例の技術では、通信データに関連づけられるべき文字列の候補を出力することをユーザが望む場合に、その通信データの通信相手（送信先や送信元）が関連づけている文字列そのものが候補として挙げられるのではない。通信相手が関連づけている文字列と同じ文字列が関連づけられている別の通信データに基づいて、ユーザ自身が関連づけている文字列が候補として特定される。このために、よりユーザに合った文字列の候補をユーザに提供することができる。しかも、通信相手が提供する予定のない情報（通信相手が関連づけた文字列）を別のユーザに提供してしまうというセキュリティ上の問題も回避することができる。
【００６５】
（変形例１）
通信記録データベース１５０は、通信データ２００と、通信データ２００が要約化（例えばハッシュ化）された要約化データとを関連づけて記憶してもよい。この場合、サーバ１４０は、図１７のＳ１２２及びＳ１３０において、要約化データをキーとして通信記録データベース１５０を検索してもよい。この手法は、以下の第２実施例及び第３実施例でも利用することができる。
【００６６】
（変形例２）
ＰＣ１３０が存在しなくてもよい。この場合、図１４及び図１５においてＰＣ１３０によって実行される各処理（Ｓ３２のアクセス要求、Ｓ３６のリスト表示、Ｓ４０のデータ要求、Ｓ４４のデータ表示、Ｓ４８又はＳ７２のタグ設定要求、Ｓ６２のタグ候補要求、Ｓ６６のタグ候補表示等）は、各多機能機１００，１３２，１３４によって実行されてもよい。
【００６７】
（変形例３）
図１７のＳ１２２及びＳ１３０において、通信データをキーとして通信記録データベース１５０を検索しなくてもよい。例えば、通信日時をキーとして通信記録データベース１５０を検索してもよい。図１７のＳ１２２では、記録１８８の通信日時と同じ通信日時を有するとともに、Ｓ１２０で特定されたユーザ名「Ｕ２」を有する他の記録を特定してもよい。また、図１７のＳ１２２では、記録１８８の通信日時から所定時間以内の通信日時を有するとともに、Ｓ１２０で特定されたユーザ名「Ｕ２」を有する他の記録を特定してもよい。これらの処理を実行しても、Ｓ１２２において記録１８６を特定することができる。また、図１７のＳ１３０では、Ｓ１２６で特定された記録１８２の通信日時と同じ通信日時を有するとともに、文字列の候補が要求されている記録１８８のユーザ名「Ｕ１」を有する他の記録を特定してもよい。また、図１７のＳ１３０では、Ｓ１２６で特定された記録１８２の通信日時から所定時間以内の通信日時を有するとともに、文字列の候補が要求されている記録１８８のユーザ名「Ｕ１」を有する他の記録を特定してもよい。これらの処理を実行しても、Ｓ１３０において記録１８０を特定することができる。
【００６８】
（変形例４）
通信記録データベース１５０は、ＦＡＸ通信されたデータ以外のデータを記憶してもよい。例えば、多機能機１００から多機能機１３２に電話がかけられた場合、通信記録データベース１５０は、通話の録音データを１つの記録として記憶してもよい。また、通信記録データベース１５０は、留守番電話の録音データを１つの記録として記憶してもよい。また、通信記録データベース１５０は、各多機能機１００，１３２，１３４においてコピー、印刷等が実行されたデータを１つの記録として記憶してもよい。
【００６９】
（変形例５）
上記のタグ２０２は、フォルダ名として扱うこともできる。この場合、同じ文字列（例えば「ＢＣＤ」）に関連づけられている複数の通信データ（例えば「Ｄ１」及び「Ｄ２」）は、１つのフォルダ内に格納されている複数のデータファイルとして扱うことができる。
【００７０】
（第２実施例）
続いて、第２実施例について説明する。本実施例では、サーバ１４０が存在しない。各多機能機１００，１３２，１３４が通信データの記録を記憶する。図１８は、多機能機１００の記憶領域１１０（図９参照）を簡単に示す。記憶領域１１０は、多機能機情報記憶領域２２０と通信記録データベース２３０とを有する。多機能機情報記憶領域２２０は、他の多機能機１３２，１３４のＩＰアドレス２２２，２２４を記憶している。通信記録データベース２３０は、多機能機１００によって通信（送受信）されたデータを記憶することができる。通信記録データベース２３０は、多機能機１００以外の多機能機１３２，１３４の間で通信されたデータ（例えば多機能機１３２から多機能機１３４に送信されたＦＡＸ）を記憶しない。
【００７１】
図１９は、通信記録データベース２３０の記憶内容の一例を示す。通信記録データベース２３０は、複数の記録２８０，２８２を記憶することができる。各記録２８０，２８２は、番号２９０と通信内容２９２と相手ユーザ２９４と通信日時２９６と通信データ２９８とハッシュ３００とタグ３０２とが関連づけられたものである。番号２９０と通信内容２９２と相手ユーザ２９４と通信日時２９６と通信データ２９８とタグ３０２は、第１実施例と同様である。ハッシュ３００は、通信データ２９８がハッシュ化されたデータである。本実施例では、通信データＤ１のハッシュデータがＨ１であり、通信データＤ２のハッシュデータがＨ２である。
【００７２】
他の多機能機１３２，１３４も、多機能機情報記憶領域と通信記録データベースとを有する。多機能機１３２の多機能機情報記憶領域は、多機能機１００，１３４のＩＰアドレスを記憶している。多機能機１３２の通信記録データベースは、図１９と同様のデータ配列を有しており、多機能機１３２によって通信（送受信）されたデータを記憶している。また、多機能機１３４の多機能機情報記憶領域は、多機能機１００，１３２のＩＰアドレスを記憶している。多機能機１３４の通信記録データベースは、図１９と同様のデータ配列を有しており、多機能機１３４によって通信（送受信）されたデータを記憶している。
【００７３】
（多機能機が実行する処理）
続いて、多機能機１００が実行する処理の内容について説明する。多機能機１３２，１３４も同様の処理を実行する。図２０と図２１は、多機能機１００のＣＰＵ１０２が実行する処理のフローチャートを示す。
【００７４】
ＣＰＵ１０２は、多機能機１００からデータが送信されることを監視している（Ｓ１５０）。この処理は、図１３のＳ１０と同様である。Ｓ１５０でＹＥＳの場合、ＣＰＵ１０２は、新たな記録を通信記録データベース２３０に記憶する（Ｓ１５２）。ＣＰＵ１０２は、通信記録データベース２３０に現在存在する最大の番号２９０に１を加算することによって、新たな記録の番号２９０を作成する。ＣＰＵ１０２は、新たな記録の番号２９０と通信内容と送信先と通信日時と通信データを記憶する。次いで、ＣＰＵ１０２は、新たな記録の通信データをハッシュ化してハッシュデータを作成し、そのハッシュデータを新たな記録のハッシュ３００の欄に記憶する（Ｓ１５４）。
【００７５】
ＣＰＵ１０２は、多機能機１００によってデータが受信されることを監視している（Ｓ１５６）。この処理は、図１３のＳ１４と同様である。Ｓ１５６でＹＥＳの場合、ＣＰＵ１０２は、新たな記録を通信記録データベース２３０に記憶する（Ｓ１５８）。ＣＰＵ１０２は、新たな記録の番号２９０と通信内容と送信先と通信日時と通信データを記憶する。次いで、ＣＰＵ１０２は、新たな記録の通信データをハッシュ化してハッシュデータを作成し、そのハッシュデータを新たな記録のハッシュ３００の欄に記憶する（Ｓ１６０）。
【００７６】
ＣＰＵ１０２は、通信記録データベース２３０に記憶されている記憶内容の一覧を表示することを要求する操作が実行されることを監視している（Ｓ１６２）。ユーザは、多機能機１００の操作部１２６（図９参照）において上記の操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、通信記録データベース２３０の記憶内容のリストを表示部１２４（図９参照）に表示する（Ｓ１６４）。ここで表示される情報は、番号２９０と通信内容２９２と相手ユーザ２９４と通信日時２９６とタグ３０２である。通信データ２９８とハッシュ３００は表示されない。
【００７７】
ユーザは、リストが表示されている状態において、操作部１２６（図９参照）に様々な操作を実行することができる。ユーザは、リストの中から少なくとも１つの記録（例えば記録２８０）を選択し、その記録の通信データ２９８（例えば記録２８０の場合は「Ｄ１」）を印刷することを要求する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ１６６でＹＥＳと判断する。この場合、ＣＰＵ１０２は、ユーザによって指定された記録の通信データ２９８を印刷部１１２（図９参照）に印刷させる（Ｓ１６８）。ユーザは、過去に通信されたデータが印刷された印刷媒体を得ることができる。
【００７８】
ユーザは、リストの中から少なくとも１つの記録（例えば記録２８２）を選択し、その記録のタグ３０２として設定されるべき文字列を入力する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ１７０でＹＥＳと判断する。この場合、ＣＰＵ１０２は、ユーザによって選択された記録（例えば記録２８２）のタグ３０２の欄に、ユーザによって入力された文字列を書き込む（Ｓ１７２）。
【００７９】
ユーザは、リストの中から少なくとも１つの記録（例えば記録２８２）を選択し、その記録のタグ３０２として設定されるべき文字列の候補を表示することを要求する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、図２１のＳ１９０でＹＥＳと判断する。この場合、ＣＰＵ１０２は、多機能機情報記録領域２２０（図１８参照）に記憶されている他の多機能機１３２，１３４のＩＰアドレス２２２，２２４を送信先として、ユーザによって選択された記録のハッシュ３００を送信する（Ｓ１９２）。この結果、他の多機能機１３２，１３４から関連記録のハッシュが送信される。他の多機能機１３２，１３４において関連記録のハッシュをどのようにして特定するのかについては、後で詳しく説明する。多機能機１００は、他の多機能機１３２，１３４から送信されたハッシュを受信する（Ｓ１９４）。次いで、ＣＰＵ１０２は、Ｓ１９４で受信されたハッシュをキーとして通信記録データベース２３０を検索することによって、そのハッシュを有する記録を特定する。ＣＰＵ１０２は、特定された記録が有するタグ３０２の文字列を特定する（Ｓ１９６）。例えば、Ｓ１９４で受信されたハッシュが「Ｈ１」であった場合、記録２８０のタグ３０２である文字列「ＡＢＣ」が特定される。ＣＰＵ１０２は、Ｓ１９６で特定された文字列を表示部１２４（図９参照）に表示する（Ｓ１９８）。
【００８０】
なお、Ｓ１９４において複数のハッシュが受信された場合、ハッシュのそれぞれについてＳ１９６の処理が実行される。即ち、Ｓ１９６では、複数の文字列が特定される可能性がある。この場合、ＣＰＵ１０２は、Ｓ１９６で特定された複数の文字列の全てを表示する。また、他の多機能機１３２，１３４において関連記録が検索されなかった場合、Ｓ１９４においてハッシュが受信されない。この場合、ＣＰＵ１０２は、候補の文字列が存在しないことを示す情報を表示する。また、Ｓ１９４で受信されたハッシュに基づいてＳ１９６の処理が実行されても、候補の文字列が検索されない可能性もある。この場合も、ＣＰＵ１０２は、候補の文字列が存在しないことを示す情報を表示する。
【００８１】
ユーザは、表示された１又は複数の文字列の候補の中から１つの文字列を選択する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ２００でＹＥＳと判断する。一方において、Ｓ１９８で文字列の候補が表示された状態、又は、文字列の候補が存在しないことを示す情報が表示された状態において、ユーザは、文字列を入力する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ２０２でＹＥＳと判断する。Ｓ２００又はＳ２０２でＹＥＳの場合、ＣＰＵ１０２は、Ｓ１９０で選択された記録（例えば記録２８２）のタグ３０２の欄に、Ｓ２００で選択された文字列又はＳ２０２で入力された文字列を書き込む（Ｓ２０４）。
【００８２】
ユーザは、リストの表示を終了する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ２０６でＹＥＳと判断し、Ｓ２０８に進む。Ｓ２０８では、ＣＰＵ１０２は、他の多機能機１３２，１３４からのハッシュを受信することを監視している。他の多機能機１３２，１３４において上記のＳ１９２の処理が実行されると、多機能機１００にハッシュが送信される。この場合、多機能機１００においてハッシュが受信され、Ｓ２０８でＹＥＳと判断される。以下では、多機能機１３２から送信されたハッシュ「Ｈ１」がＳ２０８で受信されたものとして、各処理について説明する。
【００８３】
Ｓ２０８でＹＥＳの場合、ＣＰＵ１０２は、Ｓ２０８で受信されたハッシュ「Ｈ１」をキーとして通信記録データベース２３０を検索することによって、そのハッシュ「Ｈ１」を有する記録２８０を特定する（Ｓ２１０）。次いで、ＣＰＵ１０２は、Ｓ２１０で特定された記録２８０が有するタグ３０２の文字列「ＡＢＣ」を特定する（Ｓ２１２）。続いて、ＣＰＵ１０２は、Ｓ２１２で特定されたタグ３０２の文字列「ＡＢＣ」をキーとして通信記録データベース２３０を検索することによって、その文字列「ＡＢＣ」を有する他の記録（Ｓ２１０で特定された記録以外の記録）を特定する（Ｓ２１４）。例えば、記録２８２のタグ３０２にも文字列「ＡＢＣ」が記憶されている場合、ＣＰＵ１０２は、記録２８２を特定する。ＣＰＵ１０２は、Ｓ２１４で特定された記録２８２が有するハッシュ「Ｈ２」を、Ｓ２０８で受信されたハッシュの送信元（上記の例では多機能機１３２）に送信する（Ｓ２１６）。これにより、Ｓ２０８で受信されたハッシュの送信元に関連記録のハッシュが送信されることになる。上記のＳ１９４の処理では、他の多機能機１３２，１３４においてＳ２０８〜Ｓ２１６の処理が実行された結果として特定された関連記録のハッシュが多機能機１００で受信される。
【００８４】
本実施例の多機能機システム９０について詳しく説明した。本実施例でも、ユーザが通信データに関連づけることを望むことが予想される文字列を候補としてユーザに提供することができる。しかも、本実施例では、サーバ１４０が必要ないために、多機能機システム９０を構築するためのコストを低減させることができる。
【００８５】
（変形例）
通信記録データベース２３０は、ハッシュ３００を記憶しなくてもよい。この場合、図２１のＳ１９２では、通信データが他の多機能機に送信される。また、図２１のＳ２１０では、通信データをキーとして通信記録データベース２３０が検索される。さらに、図２１のＳ２１６では、関連記録の通信データが送信される。また、図２１のＳ２１４において、相手ユーザ２９４が一致する記録を特定してもよい。例えば、多機能機１３２から多機能機１００にハッシュデータが送信されてＳ２０８でＹＥＳと判断されることを例とすると、多機能機１３２は、そのハッシュデータとともに、自身のＦＡＸ番号「Ｆ２」と自身の電子メールアドレス「Ｅ２」を多機能機１３２に送信してもよい。この場合、Ｓ２１４では、多機能機１００は、Ｓ２１２で特定されたタグがタグ３０２の欄に書き込まれているとともに、情報「Ｆ２」及び「Ｅ２」のいずれかが相手ユーザ２９４の欄に書き込まれている記録を特定してもよい。また、第１実施例において記載された変形例３〜変形例５は、本実施例でも適用することができる。なお、第１実施例と同様にＰＣ１３０を設けてもよい。この場合、通信記録データベース２３０の記憶内容のリストは、ＰＣ１３０において表示されるようにしてもよい。
【００８６】
（第３実施例）
続いて、第３実施例について説明する。本実施例もサーバ１４０が存在しない。本実施例の各多機能機１００，１３２，１３４は、第２実施例と同様の多機能機情報記憶領域（図１８参照）を有する。また、本実施例の各多機能機１００，１３２，１３４は、通信記録データベースを有する。通信記録データベースのデータ配列が第２実施例と異なる。図２２は、本実施例の多機能機１００が有する通信記録データベース２３０の記憶内容の一例を示す。通信記録データベース２３０は、第２実施例と同様の項目２９０〜３０２以外に関連記録３０４を記憶することができる。関連記録３０４にどのようにして情報が記憶されるのかについては、後で詳しく説明する。
【００８７】
（多機能機が実行する処理）
続いて、多機能機１００が実行する処理の内容について説明する。多機能機１３２，１３４も同様の処理を実行する。図２３と図２４は、多機能機１００のＣＰＵ１０２が実行する処理のフローチャートを示す。
【００８８】
図２０のＳ１５０〜Ｓ１６８の処理は、同様に実行される。Ｓ１６８以降の処理が第２実施例と異なる。ユーザは、図２０のＳ１６４で表示されたリストの中から少なくとも１つの記録（例えば記録２８２）を選択し、その記録のタグ３０２として設定されるべき文字列を入力する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ２７０でＹＥＳと判断する。この場合、ＣＰＵ１０２は、ユーザによって選択された記録（例えば記録２８２）のタグ３０２の欄に、ユーザによって入力された文字列を書き込む（Ｓ２７２）。次いで、ＣＰＵ１０２は、Ｓ２７２で記憶された文字列を有する他の記録（Ｓ２７２で文字列が書き込まれた記録以外の記録）を特定する（Ｓ２７４）。例えば、Ｓ２７２において記録２８２のタグ３０２の欄に文字列「ＡＢＣ」が書き込まれた場合、ＣＰＵ１０２は、文字列「ＡＢＣ」を有する他の記録２８０を特定する。続いて、ＣＰＵ１０２は、多機能機情報記録領域２２０（図１８参照）に記憶されている他の多機能機１３２，１３４のＩＰアドレス２２２，２２４を送信先として、Ｓ２７２で文字列が書き込まれた記録２８２が有するハッシュ「Ｈ２」とＳ２７４で特定された記録２８０が有するハッシュ「Ｈ１」とを送信する（Ｓ２７６）。この結果、他の多機能機１３２，１３４において関連記録３０４の欄に情報が書き込まれることになる。
【００８９】
なお、Ｓ２７４では、複数の記録が特定される可能性がある。この場合、Ｓ２７６では、３つ以上のハッシュが送信されることになる。また、Ｓ２７４で他の記録が特定されなかった場合、Ｓ２７６がスキップされる。
【００９０】
ユーザは、図２０のＳ１６４で表示されたリストの中から少なくとも１つの記録を選択し、その記録のタグ３０２として設定されるべき文字列の候補を表示することを要求する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ２９０でＹＥＳと判断する。この場合、ＣＰＵ１０２は、ユーザによって選択された記録が有する関連記録３０４を特定する（Ｓ２９２）。例えば、記録２８２は、関連記録３０４として「１」を有する。関連記録３０４の欄に書き込まれている数字は、番号２９０の欄に書き込まれてる数字に対応する。即ち、記録２８２の関連記録３０４の欄に「１」が書き込まれているということは、番号「１」を有する記録２８０が関連記録であることを意味している。同様に、記録２８０は、関連記録３０４として「２」を有する。これは、番号「２」を有する記録２８２が関連記録であることを意味している。従って、Ｓ２９０においてユーザによって記録２８０が選択された場合、ＣＰＵ１０２は、関連記録として記録２８２を特定する。また、Ｓ２９０においてユーザによって記録２８２が選択された場合、ＣＰＵ１０２は、関連記録として記録２８０を特定する。
【００９１】
次いで、ＣＰＵ１０２は、Ｓ２９２で特定された関連記録が有するタグ３０２の文字列を特定する（Ｓ２９４）。例えば、Ｓ２９２において記録２８０が関連記録として特定された場合、ＣＰＵ１０２は、記録２８０が有する文字列「ＡＢＣ」を特定する。続いて、ＣＰＵ１０２は、Ｓ２９４で特定された文字列「ＡＢＣ」を表示部１２４（図９参照）に表示する（Ｓ２９６）。
【００９２】
なお、Ｓ２９２において複数の関連記録が特定された場合、それらの関連記録のそれぞれについてＳ２９４の処理が実行される。即ち、Ｓ２９４では、複数の文字列が特定される可能性がある。この場合、ＣＰＵ１０２は、Ｓ２９４で特定された複数の文字列の全てを表示する。また、Ｓ２９０でユーザによって選択された記録が有する関連記録３０４の欄に何も記憶されていない場合、Ｓ２９４は実行されない。この場合、ＣＰＵ１０２は、候補の文字列が存在しないことを示す情報を表示する。また、Ｓ２９２で特定された関連記録が有するタグ３０２の欄に何も記憶されていない場合、Ｓ２９４で文字列が特定されない。この場合も、ＣＰＵ１０２は、候補の文字列が存在しないことを示す情報を表示する。
【００９３】
Ｓ２９８〜Ｓ３０２は、図２１のＳ２００〜Ｓ２０４と同様である。Ｓ３０２を終えると、図２４のＳ３２０に進む。Ｓ３２０では、ＣＰＵ１０２は、Ｓ３０２で記憶された文字列を有する他の記録（Ｓ３０２で文字列が書き込まれた記録以外の記録）を特定する。続いて、ＣＰＵ１０２は、多機能機情報記録領域２２０（図１８参照）に記憶されている他の多機能機１３２，１３４のＩＰアドレス２２２，２２４を送信先として、Ｓ２７２で文字列が書き込まれた記録が有するハッシュとＳ２７４で特定された記録が有するハッシュとを送信する（Ｓ３２２）。Ｓ３２０及びＳ３２２は、図２３のＳ２７４及びＳ２７６と同様である。なお、Ｓ３２０で他の記録が特定されなかった場合、Ｓ３２２がスキップされる。
【００９４】
ユーザは、リストの表示を終了する操作を実行することができる。この操作が実行された場合、ＣＰＵ１０２は、Ｓ３２４でＹＥＳと判断し、Ｓ３２６に進む。Ｓ３２６では、ＣＰＵ１０２は、他の多機能機１３２，１３４からのハッシュを受信することを監視している。他の多機能機１３２，１３４において図２３のＳ２７６又は図２４のＳ３２２の処理が実行されると、多機能機１００にハッシュ（複数のハッシュ）が送信される。この場合、多機能機１００においてハッシュが受信され、Ｓ３２６でＹＥＳと判断される。以下では、多機能機１３２から送信されたハッシュ「Ｈ１」及び「Ｈ２」がＳ３２６で受信されたものとして、各処理について説明する。
【００９５】
Ｓ３２６でＹＥＳの場合、ＣＰＵ１０２は、Ｓ３２６で受信されたハッシュ「Ｈ１」をキーとして通信記録データベース２３０を検索することによって、そのハッシュ「Ｈ１」を有する記録２８０を特定する（Ｓ３２８）。さらに、ＣＰＵ１０２は、Ｓ３２６で受信された他のハッシュ「Ｈ２」をキーとして通信記録データベース２３０を検索することによって、そのハッシュ「Ｈ２」を有する記録２８２を特定する。ＣＰＵ１０２は、Ｓ３２８で特定された各記録２８０，２８２が有する関連記録３０４の欄に、互いの記録が有する番号２９０を書き込む（Ｓ３３０）。即ち、ＣＰＵ１０２は、記録２８０が有する関連記録３０４の欄に記録２８２が有する番号「２」を書き込むとともに、記録２８２が有する関連記録３０４の欄に記録２８０が有する番号「１」を書き込む。
【００９６】
なお、上記の例では、Ｓ３２６では、２つのハッシュが受信されている。しかしながら、Ｓ３２６において３つ以上のハッシュが受信される可能性がある。この場合、Ｓ３２８では、３つ以上の記録が特定される可能性がある。Ｓ３２８で３つ以上の記録が特定された場合、特定された各記録が有する関連記録３０４の欄には、特定された他の複数の記録が書き込まれる。例えば、番号「１」を有する記録Ｔ１と番号「２」を有する記録Ｔ２と番号「３」を有する記録Ｔ３がＳ３２８で特定された場合、記録Ｔ１が有する関連記録３０４の欄に「２」及び「３」が書き込まれ、記録Ｔ２が有する関連記録３０４の欄に「１」及び「３」が書き込まれ、記録Ｔ３が有する関連記録３０４の欄に「１」及び「２」が書き込まれる。また、Ｓ３２８では、１つの記録のみが特定される可能性がある。また、Ｓ３８２では、記録が特定されない可能性もある。これらの場合、Ｓ３３０はスキップされる。
【００９７】
本実施例の多機能機システム９０について詳しく説明した。本実施例でも、ユーザが通信データに関連づけることを望むことが予想される文字列を候補としてユーザに提供することができる。しかも、本実施例では、サーバ１４０が必要ないために、多機能機システム９０を構築するためのコストを低減させることができる。なお、第２実施例の変形例で記載された内容は、本実施例にも適用することができる。
【００９８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００９９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【０１００】
【図１】複数の通信デバイスの間でデータが通信される様子を示す。
【図２】データベースの記憶内容の一例を示す。
【図３】データベースの記憶内容の一例を示す。
【図４】データベースの記憶内容の一例を示す。
【図５】データベースの記憶内容の一例を示す。
【図６】複数の通信デバイスの間でデータが通信される様子を示す。
【図７】各通信デバイスが有するデータベースの記憶内容の一例を示す。
【図８】多機能機システムの構成を示す。
【図９】多機能機の構成を示す。
【図１０】サーバの構成を示す。
【図１１】ユーザ情報データベースの記憶内容の一例を示す。
【図１２】通信記録データベースの記憶内容の一例を示す。
【図１３】多機能機が実行する処理のフローチャートを示す。
【図１４】ＰＣが実行する処理のフローチャートを示す。
【図１５】図１４の続きのフローチャートを示す。
【図１６】サーバが実行する処理のフローチャートを示す。
【図１７】タグ候補検索処理のフローチャートを示す。
【図１８】多機能機の記録領域の構成を示す（第２実施例）。
【図１９】通信記録データベースの記憶内容の一例を示す。
【図２０】多機能機が実行する処理のフローチャートを示す。
【図２１】図２０の続きのフローチャートを示す。
【図２２】通信記録データベースの記憶内容の一例を示す（第３実施例）。
【図２３】多機能機が実行する処理のフローチャートを示す。
【図２４】図２３の続きのフローチャートを示す。
【符号の説明】
【０１０１】
１〜７：データ、１０：データベース、１２，１８，２０，３０，３４，４０，４２：送信元用文字列、１４，１６，２４，３２，３６，３８，４４：送信先用文字列、５０〜５６：送信元及び送信先に関する情報，６０：第１通信デバイス、６２：第１データベース、７０：第２通信デバイス、７２：第２データベース、６４〜６８，７４〜７８：文字列、９０：多機能機システム、９２：ネットワーク、１００，１３２，１３４：多機能機、１３０：ＰＣ、１４０：サーバ、１５０：通信記録データベース、１８０〜１８８：記録、２３０：通信記録データベース、２８０，２８２：記録、Ｄ１，Ｄ２：通信データ、Ｅ１〜Ｅ３：電子メールアドレス、Ｕ１〜Ｕ３：ユーザ名、Ｘ，Ｙ，Ｚ：通信デバイス
【図１】
2010055154.tif 000003
【図２】
2010055154.tif 000004
【図３】
2010055154.tif 000005
【図４】
2010055154.tif 000006
【図５】
2010055154.tif 000007
【図６】
2010055154.tif 000008
【図７】
2010055154.tif 000009
【図８】
2010055154.tif 000010
【図９】
2010055154.tif 000011
【図１０】
2010055154.tif 000012
【図１１】
2010055154.tif 000013
【図１２】
2010055154.tif 000014
【図１３】
2010055154.tif 000015
【図１４】
2010055154.tif 000016
【図１５】
2010055154.tif 000017
【図１６】
2010055154.tif 000018
【図１７】
2010055154.tif 000019
【図１８】
2010055154.tif 000020
【図１９】
2010055154.tif 000021
【図２０】
2010055154.tif 000022
【図２１】
2010055154.tif 000023
【図２２】
2010055154.tif 000024
【図２３】
2010055154.tif 000025
【図２４】
2010055154.tif 000026