以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
[用語の定義]
まず、本発明の実施の形態で使用する用語及び概念を説明する。同時に、本発明に係るデータ交換システム(以下、「本システム」という)の機能を説明する。
(1)「ユーザ、保有ユーザ、送信ユーザ、受信ユーザ」について
本システムは、複数のユーザ間でのデータ交換を実現する。「ユーザ」は、本システムにおいては一意に識別され、本システムを使用する外部の利用者と1対1に対応する。すなわち、本システムでは、1人の利用者が複数のユーザになりすまして本システムを利用することがないことを前提とする。
また、データを保有しているユーザを、そのデータの「保有ユーザ」と呼ぶ。そして、データ交換が行われたとき、あるいは、データ交換が行われる可能性があるときにユーザに言及する際、その役割を明確にするため、データを保有するユーザを「送信ユーザ」と呼び、データの開示を受けるユーザを「受信ユーザ」と呼ぶ。受信ユーザに実際にデータが渡されたとき、受信ユーザは「データを受信した」といい、データの保有ユーザである送信ユーザは「データを送信した」という。また、このとき、送信ユーザから受信ユーザに「データの送受信が実行された」、あるいは、、送信ユーザと受信ユーザとの間で「データ交換が実行された」という。
なお、本システム内において、ユーザは、ユーザ識別情報あるいはユーザ固有のユーザID等の、識別子によって表される。以下の説明において、特に断らない限り、「ユーザ」とは「ユーザを表す識別子」を意味するものとする。
(2)「データ」について
本件では、本システムを介してユーザ間で交換される単位となるデータを、単に「データ」と呼ぶ。各データは、少なくとも1つのユーザに保有されている。本システムにおけるデータ交換は、データが、保有ユーザ以外のユーザに開示されることによって行われる。
また、受信ユーザにデータが開示されることは、受信ユーザにとってはデータを受信したことになり、保有ユーザ(送信ユーザ)にとってはデータを送信したことになる。また、このとき送信ユーザから受信ユーザにデータが送受信されたことになり、送信ユーザと受信ユーザとの間でデータが交換されたことになる。
なお、本システムは、後述するように、データをその保有ユーザの情報と一体として扱うが、保有ユーザ(利用者)を特定するユーザ識別情報は他のユーザに開示しない。
(3)「受信選択条件、送信選択条件」について
本システムにおけるデータ交換は、各ユーザが設定した条件に該当するデータを選択し、条件ごとに分けて送受信する。本件では、各受信ユーザが受信データを選択するために設定した条件を「受信選択条件」と呼ぶ。また、各送信ユーザが送信データを選択するために設定した条件を「送信選択条件」と呼ぶ。
本システムにおけるデータ交換では、受信選択条件と送信選択条件の双方を満たすデータのみが、両条件を介して送信ユーザと受信ユーザとの間で交換され得る。また、本システムでは、受信選択条件と送信選択条件が、両条件を介して送信ユーザと受信ユーザがデータ交換を行い得るための、別途定められた基準を満たす場合に限り、当該条件を設定したユーザ間でのみ送受信を実行する。これにより、送受信されるデータの選択と共に、送受信が行われるユーザの選択も行われる。なお、以下の説明では、受信選択条件と送信選択条件が上記基準を満たす場合を、受信選択条件と送信選択条件が「接続可能である」という。
なお、本発明において、受信選択条件と送信選択条件が「接続可能である」ためには、両条件を満たすデータが存在する可能性がある(両条件が排他的ではない)ことも要件となる。
本発明では、上記接続可能であるか否かの基準は客観的な判定を行うことができるものであればよく、具体的な実施の形態において自由に設定することができる。受信ユーザ及び送信ユーザは、各実施の形態における上記基準を知った上で、受信選択条件及び送信選択条件を設定する必要がある。
なお、接続可能であるか否かの基準は、受信選択条件が選択するデータの集合と送信選択条件が選択するデータの集合とに関する基準に限定されない。例えば、両条件が、データが含むべき一群のキーワードの列で指定される実施の形態において、「両条件(キーワード列)の先頭のキーワードが一致している」受信選択条件と送信選択条件を接続可能であるとする基準を採用することもできる。これは、条件を設定したユーザが最も重要と考えるキーワードが先頭に置かれるであろうという想定ないし期待に基づくものである。この場合、キーワードの組、すなわち選択されるデータの集合は同じであっても、先頭のキーワードが一致しない受信選択条件と送信選択条件は、「接続可能である」とは判定されない。
(4)「受信許諾条件、送信許諾条件」について
本件では、各受信ユーザが、受信選択条件毎に、当該受信選択条件を満たすデータの送信を許可する送信ユーザを規定する条件を「受信許諾条件」と呼ぶ。受信選択条件と接続可能な送信選択条件を設定した送信ユーザが保有する、受信選択条件及び送信選択条件に該当するデータであっても、受信ユーザの受信選択条件に付与された「受信許諾条件」を満たさない送信ユーザからは受信されない。
受信許諾条件は、送信ユーザが保有している任意のデータに関する条件である。すなわち、受信許諾条件は、それが対応付けられた受信選択条件と接続可能な送信選択条件を設定した送信ユーザであって、受信選択条件を設定した受信ユーザに送信選択条件及び受信選択条件に該当するデータを送信すべき送信ユーザについて成立していなければならない条件である。
各送信ユーザが、送信選択条件毎に、当該送信選択条件を満たすデータの受信を許可する受信ユーザを規定する条件を「送信許諾条件」と呼ぶ。送信ユーザが保有する、受信選択条件及び送信選択条件に該当するデータであっても、送信ユーザの送信選択条件に付与された「送信許諾条件」を満たさない受信ユーザには送信されない。
送信許諾条件は、受信ユーザが保有している任意のデータに関する条件である。すなわち、送信許諾条件は、それが対応付けられた送信選択条件と接続可能な受信選択条件を設定した受信ユーザであって、送信選択条件を設定した送信ユーザから受信選択条件及び送信選択条件に該当するデータを受信すべき受信ユーザについて成立していなければならない条件である。
(5)「受信データ」について
各受信ユーザについて、受信選択条件、受信許諾条件、及び送信ユーザの送信選択条件、送信許諾条件を満たして受信されたデータを、受信ユーザ及び受信選択条件(及び受信許諾条件)に対応付けられた「受信データ」と呼ぶ。
(6)「データの送受信の実行、データ交換」について
本システムにおける「データの送受信の実行」あるいは「データ交換」とは、実際には、データを、受信ユーザ及び受信選択条件(及び受信許諾条件)に、受信データとして実際に対応付けることである。この場合、データは、送信ユーザ及び受信選択条件と接続可能な送信選択条件(及び送信許諾条件)とも対応付けられている。受信ユーザへの実際のデータ開示は、この対応付けが完了した後、対応付けを覆すようなデータまたは条件に関する変更がない限り、何時でも行うことができる。
データ交換を行う際に、各データは、受信ユーザ、送信ユーザ、受信選択条件、送信選択条件、受信許諾条件及び送信許諾条件に対応付けられる。
受信データや送信ユーザ及び受信ユーザが保有するデータの変更、あるいは、受信選択条件、送信選択条件、受信許諾条件、送信許諾条件の変更によって、受信データがもはや受信すべきでない状況になる場合がある。この場合には、受信データと受信ユーザ及び受信選択条件(及び受信許諾条件)との対応付けを解除し、そのデータを受信データから削除するのが望ましい。このような、「リアルタイム」の送受信を行わない場合は、受信ユーザが要求する都度、一時的に受信データを生成し、閲覧後に廃棄する。生成後の更新が反映されたデータを閲覧したい場合は、ユーザは再度受信データの生成を要求する。
本システムでは、送信ユーザ及び受信ユーザが保有するデータが確定し、受信ユーザ及び送信ユーザに関して、受信選択条件、送信選択条件、受信許諾条件、送信許諾条件が設定されれば、その時点(状態)で、各データについて送受信「可能」なユーザが論理的に定まる。
本発明のデータ交換方法は、これら論理的に可能な送受信のうちから、実際に送受信を実行してデータを受信ユーザに開示する(実際に開示が可能な状態にする)ものを選択するものである。すなわち、本システムは、データ交換の要求(コマンド)に応じて、上記論理的に可能なデータ送受信のなかから、そのコマンドに応じて、実行すべき送受信を決定して列挙する機能を備える。
コマンドの種類と選択されるデータ送受信の範囲は、実施の形態に依存し、1つだけのデータ送受信を選択する場合もあれば、可能な全ての送受信を列挙するコマンドもあり得る。
また、本システムにおいて、コマンドを発するユーザは限定されない。受信ユーザ、送信ユーザ、あるいは第三者の誰もが、上記の状態(データ及び各条件)が整っていればいつでも、本システムにコマンドを発することができる。例えば、本システム自体が、定期的にコマンドを発して、その時点の(最新の)状態におけるデータ交換を行うこともできる。
(7)「仮名」について
上記のように、送受信を実行したときには、受信ユーザ、受信選択条件、受信許諾条件、送信ユーザ、送信選択条件、送信許諾条件及び受信データの間の、送受信可能性に関する対応付けが確認される。したがって、本システムでは、各受信データの送信ユーザを識別することができる。受信ユーザには、同一の送信ユーザが保有していた複数の受信データを、他の受信データと区別して1人のユーザが保有するデータとして表示させる。
本システムでは、受信ユーザに送信ユーザの識別情報を開示することなく、上記の区別を受信ユーザに伝えるために、各受信データに、送信ユーザの識別情報に代えて、当該送信ユーザを他のユーザから区別する仮名を付与した上で、受信ユーザに各受信データを開示する。さらに、本システムでは、受信データの内容にユーザ識別情報が含まれている場合、例えば、テキストデータ中に送信ユーザのユーザIDが含まれていた場合、それらを、当該ユーザを区別するために割り付けられた仮名に変換して表示する。これにより、本システムは、受信データにユーザ識別情報が含まれていても、ユーザ識別情報を開示することなく、しかもそのユーザの保有データ情報を含むユーザ同一性情報を、受信データとともに開示することができる。
本システムは、このように保有データ情報を含むユーザ同一性情報を、ユーザ識別情報を開示することなく表示する機能を提供する。
[提供機能]
本システムは、特定のユーザが他のユーザの保有データを検索するためのデータベースシステムの一種とみなすこともできる。以下、本システムについて、データベースシステム及びデータ交換システムの両方の見地から特徴的な機能を説明する。
(1)第1の特徴的な機能
本システムの第1の特徴的な機能は、各送信ユーザが送信選択条件を設定し、各受信ユーザが受信選択条件を設定することによって、各ユーザが、送受信されるデータを選択すると共に、送受信を行う相手(ユーザ)も選択することである。本システムでは、接続可能な送信選択条件と受信選択条件を設定した送信ユーザと受信ユーザとの間で、それらの条件の両方に該当するデータのみが送受信される。
受信選択条件及び送信選択条件は、通信相手の選択という点で、従来のコネクション型プロトコルにおけるセッション(ID)、コネクション(ID)あるいはその実現手段であるポート(ID)と類似の役割を果たしている。しかしながら、セッションやコネクション、及びポート自体には、転送されるデータを限定する機能はない。
(2)第2の特徴的な機能
本システムの第2の特徴的な機能は、一定の条件(接続可能な送信選択条件と受信選択条件)を満たすデータを不特定の送信ユーザと受信ユーザの間で交換しようとするとき、各ユーザが送信許諾条件あるいは受信許諾条件を設定することによって、相互に通信相手を選択することである。
受信データは、検索結果を表示する一種のビューである。受信データとして開示されるデータを決定する条件、すなわちビューを生成する検索条件は、ビューを閲覧する受信ユーザに関して設定された受信選択条件及び受信許諾条件と、データを保有する送信ユーザに関して設定された送信選択条件及び送信許諾条件からなる。
1つのビューに関して、データを選択するための基本的な条件は、接続可能な受信選択条件と送信選択条件である。したがって、データの送受信の可否を決定するための条件は、接続可能な2つの選択条件、受信許諾条件及び送信許諾条件の3つであるとみなすことができる。
受信ユーザは、接続可能な受信選択条件と送信選択条件に該当するデータであっても、設定した送信許諾条件を満たしていない送信ユーザから当該データを受信することがない。また、送信ユーザは、接続可能な受信選択条件と送信選択条件に該当するデータであっても、設定した受信許諾条件を満たしていない受信ユーザに対して当該データを送信することがない。
(3)第3の特徴的な機能
ビューによって開示されるのは、データ及びその保有ユーザ情報(当該データを保有しているユーザを示す情報)である。本システムの第3の特徴的な機能は、保有ユーザの識別情報を開示することなく、データとともに上記保有ユーザ情報を開示することである。保有ユーザ情報の開示とは、同一のユーザが保有する複数のデータを、他のユーザが保有するデータから区別して開示することである。
本システムでは、各データについて送信(保有)ユーザの識別子を、保有ユーザ情報の開示のみを目的としてユーザに割り付けられた仮名に変換して出力する。データにユーザ識別子が含まれている場合には、それらも仮名に変換する。逆に、新たに登録されるデータが仮名を含んでいた場合には、それらをユーザの識別子に変換して登録する。
なお、出力された各データに関して、保有(送信)ユーザの異同のみが、開示されたり計算に使用されたりするだけであれば、同一ユーザが保有するデータをまとめて、他のユーザが保有するデータと、相互に区分して扱うという方法をとることもできる。
なお、本発明は、通信及びデータ検索の方法に関わり、扱われるデータ及び条件の具体的な特徴に限定されない。そこで、以下の説明においては、まず、扱われるデータ及び条件の具体的な特徴に関わらない上位概念で構成された実施の形態について説明する。次いで、その実施の形態を具体的なデータ及び条件に適用した実施例にて、具体的なデータ及び条件に即した本発明の技術的特徴を説明する。
(実施の形態)
以下、本発明の一例を上位概念でとらえた一実施の形態について、図面を用いて説明する。
なお、以下の説明では、各手段の間で入出力され、各記憶手段に記憶される情報(いわゆるデータ)を表す情報レコードを、対応付けられた情報項目を記号「,」(コンマ)で区切って並べ、それらを記号「[」及び記号「]」で囲んで表す。例えば、保有ユーザとデータを対応付けた情報レコードは、[保有ユーザ,データ]で表される。また、受信ユーザ、受信選択条件、送信ユーザ、送信選択条件及びデータの、5つの情報項目を対応付けた情報レコードは、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]で表される。
また、以下の説明では、情報レコードの一部の情報項目の組を指して言う場合も、同様の表現を用いる。例えば上記5つの情報項目からなる情報レコードの、送信ユーザと送信選択条件の組は、[送信ユーザ,送信選択条件]で表される。
なお、以下の説明では、情報項目の構成が文脈から明らかな情報レコードについて、一部の情報項目を、特定の値またはそれらの集まりを表す呼称で置き換えて表すことがある。例えば、保有ユーザが特定の送信ユーザであるような[保有ユーザ,データ]は、[送信ユーザ,データ]で表される。
図1は、本実施の形態に係るデータ交換システム(本システム)の構成要素を示す機能ブロック図である。本システム100は、複数の入出力装置200とデータ通信を行う。
本システム100は、処理に必要な情報を記した情報レコードを伴って入出力装置200から出力された、次の各操作のいずれかを指示するコマンドを処理し、所定の入出力装置200にデータを表示させる、あるいは、データの表示を停止させる。
(1)選択受信操作
選択受信操作では、本システム100は、指定された受信選択条件と接続可能な送信選択条件を設定した送信ユーザであって、受信選択条件に付与された受信許諾条件を満たし、かつ、上記送信選択条件に付与された送信許諾条件を、上記受信選択条件を設定した受信ユーザが満たすところの送信ユーザが保有するデータの内、上記送信選択条件及び上記受信選択条件の両方を満たすデータを、上記受信選択条件に対応付けて受信データとする。
(2)受信条件削除操作
受信条件削除操作では、本システム100は、指定された受信ユーザの指定された受信選択条件及びそれに付与された受信許諾条件を記憶内容から削除し、その受信選択条件の受信データとされていたデータを、受信データから削除する。
(3)選択送信操作
選択送信操作では、本システム100は、指定された送信選択条件と接続可能な受信選択条件を設定した受信ユーザであって、送信選択条件に付与された送信許諾条件を満たし、かつ、上記受信選択条件に付与された受信許諾条件を、上記送信選択条件を設定した送信ユーザが満たすところの受信ユーザの、上記受信選択条件に対応付けて、上記送信ユーザが保有するデータの内、上記送信選択条件及び上記受信選択条件の両方を満たすデータを、受信データとする。
なお、データを指定して送信を行う場合は、指定されたデータの保有ユーザに設定された送信選択条件で、指定されたデータが該当するものに関して、上記送信操作を、「上記送信ユーザが保有するデータ」の部分を「指定されたデータ」に制限して行えばよい。指定されたデータは「上記送信ユーザが保有するデータ」に含まれているから、データを指定しても、上記送信操作が行われることに変わりはない。
(4)送信条件削除操作
送信条件削除操作では、本システム100は、指定された送信ユーザの指定された送信選択条件及びそれに付与された送信許諾条件を記憶内容から削除し、その送信選択条件と接続可能な受信選択条件の受信データとされていた、上記送信ユーザのデータを、受信データから削除する。
(5)データ追加操作
データ追加操作では、本システム100は、指定されたデータを指定された送信(保有)ユーザのデータとして記憶内容に追加するとともに、当該データの追加後の状態において送受信可能である当該送信ユーザのデータのみを、当該送信ユーザの各送信選択条件と接続可能な受信選択条件に対応付けて受信データとする。なお、データ追加操作では、当該送信ユーザの各受信選択条件について、改めて選択受信操作を実行し、データ追加後の状態において、当該送信ユーザが受信ユーザとして送受信可能なデータのみを受信データとする。
(6)データ削除操作
データ削除操作では、本システム100は、指定されたデータを指定された送信(保有)ユーザのデータの記憶内容から削除するとともに、当該データの削除後の状態において送受信可能である当該送信ユーザのデータのみを、当該送信ユーザの各送信選択条件と接続可能な受信選択条件に対応付けて受信データとする。なお、データ削除操作では、当該送信ユーザの各受信選択条件について、改めて選択受信操作を実行し、データ削除後の状態において、当該送信ユーザが受信ユーザとして送受信可能なデータのみを受信データとする。
選択受信操作と選択送信操作に伴って入力された[受信選択条件,受信許諾条件]及び[送信選択条件,送信許諾条件]は、本システム100において記憶され、それ以降の送受信動作に使用される。この点では、選択受信操作及び選択送信操作は、それぞれ受信選択条件追加操作及び送信選択条件追加操作でもある。
本システムでは、各ユーザを特定するためにユーザ識別子を使用する。上記各操作において、送信ユーザ及びデータを受信ユーザに出力する際に、送信ユーザを特定するユーザ識別子を出力せず、仮名に変換して出力する。すなわち、同一のユーザを表すユーザ識別子を他のユーザとは区別される同一の仮名に変換する。データにユーザ識別子が含まれている場合は、それらも仮名に変換する。また、データを登録する際に、データに仮名が含まれている場合には、それらの仮名を、対応するユーザ識別子に変換する。
本システム100は、これらの操作において、既に記憶されている[受信ユーザ、受信選択条件]及び[送信ユーザ、送信選択条件]以外の受信選択条件及び送信選択条件を伴ったデータが入力された場合、それらの条件を記憶する。この記憶処理に伴って、本システム100内で可能な送受信が変化する。
本システム100は、この変化の前後において受信データが変化した可能性がある[受信ユーザ、受信選択条件]に関して、新たな状態で送受信可能なデータのみを、受信選択条件に対応付けて入出力装置200(受信ユーザ)に表示させる。
また、本システム100は、受信条件削除操作と送信条件削除操作では、従前の選択受信操作と選択送信操作の際に記憶された[受信選択条件,受信許諾条件]及び[送信選択条件,送信許諾条件]を削除する。本システム100は、この削除処理とともに、それらの条件を介して行われていた送受信を取り消し、それらの条件が設定されていない場合に送受信可能なデータのみを、受信選択条件に対応付けて入出力装置200(受信ユーザ)に表示させる。
データの追加及び削除に伴う本システム100の状態の変化は、送受信の対象となるデータの変化としてだけでなく、受信許諾条件及び送信許諾条件の成否の変化としても、本システム100内で可能な送受信に影響を与える。この影響は、追加または削除したデータの保有ユーザの、全ての送信選択条件及び全ての受信選択条件に及ぶ可能性があり、さらにその送信選択条件と接続可能な受信選択条件の受信許諾条件、及び、その受信選択条件と接続可能な送信選択条件の送信許諾条件に及ぶ可能性がある。上記データ追加操作とデータ削除操作は、この点に鑑みて、データの追加及び削除の後で、当該データの保有ユーザの全ての送信選択条件と受信選択条件について、新たな状態において送受信可能なデータのみを、受信選択条件に対応付けて入出力装置200(受信ユーザ)に表示するものである。
入出力装置200は、各操作を指示するコマンドと、それぞれの操作の処理に必要な情報項目を、本システム100に出力し、その処理結果として本システム100から、表示指示とともに出力される受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を[受信ユーザ,受信選択条件]ごとに表示する。
また、入出力装置200は、本システム100から、データ消去指示とともに出力される[受信ユーザ,受信選択条件]と一致する受信ユーザ及び受信選択条件を持つ受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]の表示を停止する。
入出力装置200が指示する操作と、その操作の処理に必要な情報項目は、以下の通りである。
選択受信操作:[受信ユーザ,受信選択条件,受信許諾条件,入出力装置200]
受信条件削除操作:[受信ユーザ,受信選択条件,入出力装置200]
選択送信操作:[送信ユーザ,送信選択条件,送信許諾条件]
送信条件削除操作:[送信ユーザ,送信選択条件]
データ追加操作:[保有ユーザ,データ]
データ削除操作:[保有ユーザ,データ]
次に、本システム100の各手段の機能について説明する。図1に示すように、本システム100は、入出力制御手段101と、入出力記憶手段102と、変換記憶手段103と、データ交換手段104と、受信条件記憶手段105と、送信条件記憶手段106と、受信データ記憶手段107と、保有データ記憶手段108と、から主に構成される。本システム100では、上記の各操作及び識別子変換の作用を、以下の各手段が提供する機能を選択的に使用することにより実現する。
本システム100は、上記各操作を行うことによって、送受信可能なデータを全て、設定された全ての(受信ユーザ、受信選択条件)に対応付けて受信データとし、入出力装置200(受信ユーザ)に表示させる。すなわち、本実施の形態の本システム100は、可能な送受信の全てをリアルタイムに実行して受信ユーザに表示する。本システム100は、これらの操作を、上記各記憶手段が具備する機能を使用した、上記データ交換手段104及び入出力制御手段101の各操作に対応する処理手続を実行するすることによって達成する。
[入出力制御手段101]
入出力制御手段101は、各入出力装置200とのインターフェースの役割を果たし、各入出力装置200から送信されたコマンドを処理し、処理結果を入出力装置200に出力する。
入出力制御手段101は、入出力装置200からコマンド及び情報レコードを入力すると、そのコマンドの種類を判定し、その判定に応じて、選択受信コマンド処理、受信条件削除コマンド処理、選択送信コマンド処理、送信条件削除コマンド処理、データ追加コマンド処理、データ削除コマンド処理、のいずれかを実行する。
入出力制御手段101は、変換記憶手段103、入出力記憶手段102が具備する機能を実行させること、及び、データ交換手段104に各コマンドに対応する操作の処理を指示することによって上記の各処理を行う。なお、入出力制御手段101が行う処理のフローの詳細については後述する。
[入出力記憶手段102]
入出力記憶手段102は、入出力装置200と、表示すべきデータの分類を示す[受信ユーザ,受信選択条件]との対応を記した情報レコード[受信ユーザ,受信選択条件,入出力装置200]を記憶する。そして、それらの情報レコードに関する、次の各機能を具備する。
(1)受信表示追加機能
入出力記憶手段102は、入力された[受信ユーザ,受信選択条件,入出力装置200]を、記憶内容に追加する機能を有する。
(2)受信表示削除機能
入出力記憶手段102は、入力された[受信ユーザ,受信選択条件,入出力装置200]と一致する情報レコードを、記憶内容から削除する機能を有する。
(3)受信入出力装置検索機能
入出力記憶手段102は、入力された[受信ユーザ,受信選択条件]と一致する[受信ユーザ,受信選択条件]を持つ、[受信ユーザ,受信選択条件,入出力装置]を出力する機能を有する。
[変換記憶手段103]
変換記憶手段103は、ユーザ(識別子)を仮名に変換するために、受信ユーザごとに、送信ユーザ(識別子)と仮名の対応を記した情報レコード[受信ユーザ,送信ユーザ,仮名]を記憶する。そして、それらの情報レコードに関する、次の各機能を具備する。
(1)仮名検索機能
変換記憶手段103は、入力された[受信ユーザ,送信ユーザ]と一致する[受信ユーザ,送信ユーザ]を持つ、[受信ユーザ,送信ユーザ,仮名]を出力する機能を有する。
(2)送信ユーザ検索機能
変換記憶手段103は、入力された[受信ユーザ,仮名]と一致する[受信ユーザ,仮名]を持つ、[受信ユーザ,送信ユーザ,仮名]を出力する機能を有する。
[データ交換手段104]
データ交換手段104は、入出力制御手段101の指示を受けて、選択受信処理、受信条件削除処理、選択送信処理、送信条件削除処理、データ追加処理、データ削除処理、のいずれかの処理を行う。
データ交換手段104は、受信条件記憶手段105、送信条件記憶手段106、受信データ記憶手段107、保有データ記憶手段108が具備する機能を実行させることによって上記の各処理を行う。なお、データ交換手段104が行う処理のフローの詳細については後述する。
[受信条件記憶手段105]
受信条件記憶手段105は、受信ユーザと受信選択条件の組と、それに付与された受信許諾条件とを対応付けた情報レコード[受信ユーザ,受信選択条件,受信許諾条件]を記憶する。そして、受信条件記憶手段105は、記憶した情報レコードに関する、次の各機能を具備する。
(1)受信条件削除機能
受信条件記憶手段105は、入力された[受信ユーザ,受信選択条件]と一致する[受信ユーザ,受信選択条件]を持つ、[受信ユーザ,受信選択条件,受信許諾条件]を、記憶内容から削除する機能を有する。
(2)受信条件追加機能
受信条件記憶手段105は、入力された[受信ユーザ,受信選択条件,受信許諾条件]を、記憶内容に追加する機能を有する。
(3)受信選択条件検索機能
受信条件記憶手段105は、入力された送信選択条件と接続可能な受信選択条件を持つ、[受信ユーザ,受信選択条件,受信許諾条件]を全て列挙する機能を有する。
(4)受信条件ユーザ検索機能
受信条件記憶手段105は、入力された受信ユーザと一致する受信ユーザを持つ、[受信ユーザ,受信選択条件,受信許諾条件]を全て列挙する機能を有する。
[送信条件記憶手段106]
送信条件記憶手段106は、送信ユーザと送信選択条件の組と、それに付与された送信許諾条件とを対応付けた情報レコード[送信ユーザ,送信選択条件,送信許諾条件]を記憶する。そして、送信条件記憶手段106は、記憶した情報レコードに関する、次の各機能を具備する。
(1)送信条件削除機能
送信条件記憶手段106は、入力された[送信ユーザ,送信選択条件]と一致する[送信ユーザ,送信選択条件]を持つ、[送信ユーザ,送信選択条件,送信許諾条件]を、記憶内容から削除する機能を有する。
(2)送信条件追加機能
送信条件記憶手段106は、入力された[送信ユーザ,送信選択条件,送信許諾条件]を、記憶内容に追加する機能を有する。
(3)送信選択条件検索機能
送信条件記憶手段106は、入力された受信選択条件と接続可能な送信選択条件を持つ、[送信ユーザ,送信選択条件,送信許諾条件]を全て列挙する機能を有する。
(4)送信条件ユーザ検索機能
送信条件記憶手段106は、入力された送信ユーザと一致する送信ユーザを持つ、[送信ユーザ,送信選択条件,送信許諾条件]を全て列挙する機能を有する。
[受信データ記憶手段107]
受信データ記憶手段107は、送信ユーザ、送信選択条件及びデータの組を、その送信選択条件と接続可能な受信選択条件を設定した受信ユーザと受信選択条件の組と対応付けた情報レコード[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を記憶する。そして、受信データ記憶手段107は、記憶した情報レコードに関する、次の各機能を具備する。
(1)受信データ追加機能
受信データ記憶手段107は、入力された[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を、記憶内容に追加する機能を有する。
(2)受信データ受信選択条件削除機能
受信データ記憶手段107は、入力された[受信ユーザ,受信選択条件]と一致する[受信ユーザ,受信選択条件]を持つ、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を全て、記憶内容から削除する機能を有する。
(3)受信データ送信条件指定削除機能
受信データ記憶手段107は、入力された[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件]と一致する[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件]を持つ、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を全て削除する機能を有する。
(4)受信データ受信選択条件検索機能
受信データ記憶手段107は、入力された[受信ユーザ,受信選択条件]と一致する[受信ユーザ,受信選択条件]を持つ、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を全て列挙する機能を有する。
[保有データ記憶手段108]
保有データ記憶手段108は、データと、そのデータを保有するユーザとを対応付けた情報レコード[保有ユーザ,データ]を記憶する。そして、保有データ記憶手段108は、記憶した情報レコードに関する、次の各機能を具備する。なお、保有ユーザは送信ユーザにも受信ユーザにもなりうる。
(1)保有データ追加機能
保有データ記憶手段108は、入力された[保有ユーザ,データ]を、記憶内容に追加する機能を有する。
(2)保有データ削除機能
保有データ記憶手段108は、入力された[保有ユーザ,データ]と一致する情報レコードを、記憶内容から削除する機能を有する。
(3)許諾条件判定機能
保有データ記憶手段108は、入力された[受信ユーザ,受信許諾条件,送信ユーザ,送信許諾条件]において、記憶されている[送信ユーザ,データ]及び[受信ユーザ,データ]に関して、受信許諾条件及び送信許諾条件が成立するか判定する機能を有する。
(4)選択条件検索機能
保有データ記憶手段108は、入力された[受信選択条件,送信ユーザ,送信選択条件]において、記憶されている[送信ユーザ、データ]のうち、データが受信選択条件及び送信選択条件の両方に該当する[送信ユーザ、データ]を全て列挙する機能を有する。
上記各記憶手段の、受信選択条件検索機能、送信選択条件検索機能、許諾条件判定機能、及び、選択条件検索機能の各機能以外の機能は、次に述べる公知の技術をもって、実現することができる。すなわち、各機能は、情報レコードを記憶し、検索する際に、各情報レコードの内容について、複数のキーからなる連結キーを指定し、各情報レコードに対応付けたエントリを、その連結キーの順にソートしたインデックスを生成する。これにより、インデックスに関する次の各操作を効率的に行うことができる。このような技術として、例えば、特許第3628030号及び特許第3980326号に開示された技術が知られている。
操作1
この操作では、連結キーの上位(前方)部分キーを指定し、その部分キーに一致する情報レコードがあれば、それらのうちソート順が一番先のもののエントリ及び/または一番後のもののエントリを決定し、一致する情報レコードがなければ、指定した部分キーを含む連結キーの情報レコードのエントリを挿入すべきインデックス上の位置を決定する。
操作2
この操作では、エントリの、インデックス上で(ソート順で)隣り合うエントリを決定する。
操作3
この操作では、エントリに対応する情報レコードの内容を読み出す。
操作4
この操作では、ソート順に矛盾しない位置に情報レコードのエントリを挿入する。
操作5
この操作では、エントリを削除する。
また、操作1、操作2及び操作3を組み合わせて、次の操作6を構成することができる。
操作6
この操作では、連結キーの上位(前方)部分キーを指定し、その部分キーに一致する情報レコードがあれば、それらの情報レコード(の指定した部分)をインデックスの昇順または降順に列挙する。
操作7
この操作では、インデックスを付与された情報レコードから、各インデックス中でその情報レコードを指しているエントリを得ることができる。情報レコードを削除する場合等には、この操作を使って当該情報レコードを指す各インデックスのエントリを決定し、上記操作5によってそれらのエントリを削除し、インデックスの維持管理を行う。
なお、以下の説明において、インデックス付けされていた情報レコードを削除する際には、その情報レコードを指していた各インデックスのエントリも削除するものとする。
なお、操作6の結果として、列挙した0個以上の情報レコードまたは情報レコードへのポインタを、リストに構成して出力することができる。
同種の情報レコードからなる複数のリストは、連結して1つのリストにまとめることができる。以下の手続においては、各手段の間で複数の情報レコードを入出力する場合は、このようなリストとして扱うものとする。
受信選択条件検索機能、送信選択条件検索機能、許諾条件判定機能、及び、選択条件検索機能の実現形態は、条件及びデータの内容及び形式に依存するので、後述の具体的な実施例に即して説明する。
次に、フローチャートを参照して、データ交換手段104が行う各処理の手順を説明する。
なお、以下の説明の中で、1つの情報レコードを特定して、それに関する処理を記述するとき、その情報レコードの各情報項目の値に記号を割り当てて、以降のステップでは記号によってそれらの値を表す。例えば、「[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を入力する」ステップの後では、RU、RS、RGはそれぞれ、それらが再度割り当てられない限り、このステップで入力された、受信ユーザ、受信選択条件、受信許諾条件を表す。
また、以下の説明では、一部の情報項目が特定の値である一群の情報レコードを表すために、それら特定の値を表す記号で情報項目(名称)を表す。例えば、受信ユーザがRUに、受信選択条件がRSに一致する[受信ユーザ,受信選択条件,受信許諾条件]は、[RU,RS,受信許諾条件]で表す。
[データ交換手段104が行う処理の説明]
次に、データ交換手段104が行う上記各処理のフローについて説明する。
(選択受信処理のフロー)
図2、図3は、選択受信処理のフローを示す図である。
データ交換手段104は、まず、入出力制御手段101から[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を入力する(SA01)。
次に、データ交換手段104は、受信条件記憶手段105に[RU,RS]を出力し、受信条件削除機能を実行させ、受信条件記憶手段105から[RU,RS,受信許諾条件]を削除する(SA02)。
次に、データ交換手段104は、受信条件記憶手段105に[RU,RS,RG]を出力し、受信条件追加機能を実行させ、受信条件記憶手段105に[RU,RS,RG]を追加する(SA03)。
また、データ交換手段104は、受信データ記憶手段107に[RU,RS]を出力し、受信データ受信選択条件削除機能を実行させ、受信データ記憶手段107から、[RU,RS,送信ユーザ,送信選択条件,データ]を全て削除する(SA04)。
そして、データ交換手段104は、送信条件記憶手段106にRSを出力し、送信選択条件検索機能を実行させ、送信条件記憶手段106から、RSと接続可能な送信選択条件を持つ[送信ユーザ,送信選択条件,送信許諾条件]を全て検索し、それらをリストLSSとする(SA05)。
次に、データ交換手段104は、LSSが空か否かを判定する(SA06)。そして、SA06の判定がNOであれば、データ交換手段104は、LSSから、1つの[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を削除して取り出す(SA07)。
次に、データ交換手段104は、保有データ記憶手段108に[RU,RG,SU,SG]を出力し、許諾条件判定機能を実行させ、RU及びSUが、SG及びRGを共に満たすか否かを判定させる(SA08)。
SA08の判定がNOであれば、フローはSA06に戻り、データ交換手段104は、再びLSSが空か否かを判定する。以降、SA06の判定がNOで、SA08の判定がNOである限り、データ交換手段104は、SA06からSA08の処理を繰り返す。
SA08の判定がYESであれば、データ交換手段104は、保有データ記憶手段108に[RS,SU,SS]を出力し、選択条件検索機能を実行させ、保有データ記憶手段108から、RS及びSSを共に満たすデータを持つ[SU,データ]を全て検索して、それらをリストLSDとする(SA09)。
次に、データ交換手段104は、LSDが空か否かを判定する(SA10)。SA10の判定がYESであれば、フローはSA06に戻り、データ交換手段104は、再びLSSが空か否かを判定する。以降、SA06の判定がNOで、SA10の判定がYESである限り、データ交換手段104は、SA06からSA10の処理を繰り返す。
一方、SA10の判定がNOであれば、データ交換手段104は、LSDから、1つの[送信ユーザSU,データD]を削除して取り出す(SA11)。
次に、データ交換手段104は、受信データ記憶手段107に[RU,RS,SU,SS,D]を出力し、受信データ追加機能を実行させ、受信データ記憶手段107に、[RU,RS,SU,SS,D]を追加する(SA12)。その後、フローはSA10に戻り、データ交換手段104は、再びLSDが空か否かを判定する。以降、SA10の判定がNOである限り、データ交換手段104は、SA10からSA12の処理を繰り返す。
また、SA06の判定がYESであれば、データ交換手段104は、受信データ記憶手段107に[RU,RS]を出力して受信データ受信選択条件検索機能を実行させ、受信データ記憶手段107から、[RU,RS,送信ユーザ,送信選択条件,データ]を全て検索して、それらをリストLRDとする(SA13)。
最後に、データ交換手段104は、LRDを出力し(SA14)、処理を終了する。
(受信条件削除処理のフロー)
図4は、受信条件削除処理のフローを示す図である。
データ交換手段104は、まず、入出力制御手段101から[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を入力する(SB01)。
次に、データ交換手段104は、受信条件記憶手段105に[RU,RS]を出力し、受信条件削除機能を実行させ、受信条件記憶手段105から[RU,RS,受信許諾条件]を削除する(SB02)。
最後に、データ交換手段104は、受信データ記憶手段107に[RU,RS]を出力し、受信データ受信選択条件削除機能を実行させ、受信データ記憶手段107から、[RU,RS,送信ユーザ,送信選択条件,データ]を全て削除し(SB04)、処理を終了する。
(選択送信処理のフロー)
図5、図6は、選択送信処理のフローを示す図である。
データ交換手段104は、まず、入出力制御手段101から[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を入力する(SC01)。
次に、データ交換手段104は、送信条件記憶手段106に[RU,RS]を出力し、送信条件削除機能を実行させ、送信条件記憶手段106から[SU,SS,送信許諾条件]を削除する(SC02)。
次に、データ交換手段104は、送信条件記憶手段106に[SU,SS,SG]を出力し、送信条件追加機能を実行させ、送信条件記憶手段106に[SU,SS,SG]を追加する(SC03)。
次に、データ交換手段104は、受信条件記憶手段105にSSを出力し、受信選択条件検索機能を実行させ、受信条件記憶手段105から、SSと接続可能な受信選択条件を持つ[受信ユーザ,受信選択条件,受信許諾条件]を全て検索し、それらをリストLRSとする(SC04)。
次に、データ交換手段104は、このLRSを、複製して出力する(SC05)。
次に、データ交換手段104は、LRSが空か否かを判定する(SC06)。そして、SC06の判定がYESであれば、データ交換手段104は、処理を終了する。
一方、SC06の判定がNOであれば、データ交換手段104は、LRSから、1つの[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を削除して取り出す(SC07)。
次に、データ交換手段104は、受信データ記憶手段107に[RU,RS,SU,SS]を出力し、受信データ送信条件指定削除機能を実行させ、受信データ記憶手段107から、[RU,RS,SU,SS,データ]を全て削除する(SC08)。
次に、データ交換手段104は、保有データ記憶手段108に[RU,RG,SU,SG]を出力し、許諾条件判定機能を実行させ、RU及びSUが、SG及びRGを共に満たすか判定させる(SC09)。
SC09の判定がNOであれば、フローSC06に戻り、データ交換手段104は、SC06からSC09の処理を繰り返す。
一方、SC09の判定がYESであれば、データ交換手段104は、保有データ記憶手段108に[RS,SU,SS]を出力し、選択条件検索機能を実行させ、保有データ記憶手段108から、RS及びSSを共に満たすデータを持つ[SU,データ]を全て検索し、それらをリストLSDとする(SC10)。
次に、データ交換手段104は、LSDが空か否かを判定する(SC11)。SC11の判定がNOであれば、データ交換手段104は、LSDから、1つの[送信ユーザSU,データD]を削除して取り出す(SC12)。そして、データ交換手段104は、受信データ記憶手段107に[RU,RS,SU,SS,D]を出力し、受信データ追加機能を実行させ、受信データ記憶手段107に[RU,RS,SU,SS,D]を追加する(SC13)。その後、フローはSC11に戻り、データ交換手段104は、再びLSDが空か否かを判定する。以降、SC11の判定がNOである限り、データ交換手段104は、SC11からSC13の処理を繰り返す。
一方、SC11の判定がYESであれば、データ交換手段104は、受信データ記憶手段107に[RU,RS]を出力し、受信データ受信選択条件検索機能を実行させ、受信データ記憶手段107から、[RU,RS,送信ユーザ,送信選択条件,データ]を全て検索して、それらをリストLRDとする(SC14)。
そして、データ交換手段104は、そのLRDを出力する(SC15)。その後、フローはSC06に戻り、データ交換手段104は、再びLRSが空か否かを判定する。以降、SC06の判定がNO、SC09の判定がYES、SC11の判定がYESである限り、データ交換手段104は、SC06からSC15の処理を繰り返す。
(送信条件削除処理のフロー)
図7は、選択条件削除処理のフローを示す図である。
データ交換手段104は、まず、入出力制御手段101から[送信ユーザSU,送信選択条件SS]を入力する(SD01)。
次に、データ交換手段104は、送信条件記憶手段106に[RU,RS]を出力し、送信条件削除機能を実行させ、送信条件記憶手段106から[SU,SS,送信許諾条件]を削除する(SD02)。
次に、データ交換手段104は、受信条件記憶手段105にSSを出力し、受信選択条件検索機能を実行させ、受信条件記憶手段105から、SSと接続可能な受信選択条件を持つ[受信ユーザ,受信選択条件,受信許諾条件]を全て検索し、それらをリストLRSとする(SD04)。
次に、データ交換手段104は、このLRSを、複製して出力する(SD05)。
次に、データ交換手段104は、LRSが空か否かを判定する(SD06)。SD06の判定がYESであれば、データ交換手段104は、処理を終了する。
一方、SD06の判定がNOであれば、データ交換手段104は、LRSから、1つの[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を削除して取り出す(SD07)。
次に、データ交換手段104は、受信データ記憶手段107に[RU,RS,SU,SS]を出力し、受信データ送信条件指定削除機能を実行させ、受信データ記憶手段107から[RU,RS,SU,SS,データ]を全て削除する(SD08)。
次に、データ交換手段104は、受信データ記憶手段107に[RU,RS]を出力し、受信データ受信選択条件検索機能を実行させ、受信データ記憶手段107から[RU,RS,送信ユーザ,送信選択条件,データ]を全て検索し、それらをリストLRSとする(SD14)。
そして、データ交換手段104は、そのLRDを出力する(SD15)。その後、フローはSD06に戻り、データ交換手段104は、再びLRSが空か否かを判定する。以降、SD06の判定がNOである限り、データ交換手段104は、SD06からSD15の処理を繰り返す。
(データ追加処理のフロー)
図8、図9は、データ追加処理のフローを示す図である。
データ交換手段104は、まず、入出力制御手段101から[保有ユーザU,データD]を入力する(SE01)。
次に、データ交換手段104は、保有データ記憶手段108に[U,D]を出力し、保有データ追加機能を実行させ、保有データ記憶手段108に[U,D]を追加する(SE02)。
次に、データ交換手段104は、受信条件記憶手段105にUを出力し、受信条件ユーザ検索機能を実行させ、[U,受信選択条件,受信許諾条件]を全て検索し、それらをリストLRSとする(SE03)。
次に、データ交換手段104は、このLRSを、複製して出力する(SE04)。
次に、データ交換手段104は、LRSが空か否かを判定する(SE05)。SE05の判定がNOであれば、データ交換手段104は、LRSから、1つの[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を削除して取り出す(SE06)。
次に、データ交換手段104は、[RU,RS,RG]を用いて上記選択受信処理を実行し、出力された[RU,RS,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SE07)。
そして、データ交換手段104は、このLRDを出力する(SE08)。その後、フローはSE05に戻り、データ交換手段104は、再びLRSが空か否かを判定する。以降、SE05の判定がNOである限り、データ交換手段104は、SE05からSE08の処理を繰り返す。
一方、SE05の判定がYESであれば、データ交換手段104は、送信条件記憶手段106にUを出力し、送信条件ユーザ検索機能を実行させ、[U,送信選択条件,送信許諾条件]を全て検索し、それらをリストLSSとする(SE09)。
次に、データ交換手段104は、LSSが空か否かを判定する(SE10)。SE10の判定がYESであれば、データ交換手段104は、処理を終了する。
一方、SE10の判定がNOであれば、データ交換手段104は、LSSから、1つの[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を削除して取り出す(SE11)。
次に、データ交換手段104は、[SU,SS,SG]を用いて上記選択送信処理を実行し、1個の[受信ユーザ,受信選択条件,受信許諾条件]のリストLRS、および、0個以上の[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SE12)。
そして、データ交換手段104は、1個のLRSを出力し(SE13)、複数のLRDを出力する(SE14)。その後、フローはSE10に戻り、データ交換手段104は、再びLSSが空か否かを判定する。以降、データ交換手段104は、SE10の判定がNOである限り、SE10からSE14の処理を繰り返す。
(データ削除処理のフロー)
図10、図11は、データ削除処理のフローを示す図である。
データ交換手段104は、まず、入出力制御手段101から[保有ユーザU,データD]を入力する(SF01)。
次に、データ交換手段104は、保有データ記憶手段108に[U,D]を出力し、保有データ削除機能を実行させ、保有データ記憶手段108から[U,D]を削除する(SF02)。
次に、データ交換手段104は、受信条件記憶手段105にUを出力し、受信条件ユーザ検索機能を実行させ、[U,受信選択条件,受信許諾条件]を全て検索し、それらをリストLRSとする(SF03)。
次に、データ交換手段104は、このLRSを、複製して出力する(SF04)。
次に、データ交換手段104は、LRSが空か否かを判定する(SF05)。SF05の判定がNOであれば、データ交換手段104は、LRSから、1つの[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を削除して取り出す(SF06)。
次に、データ交換手段104は、[RU,RS,RG]を用いて上記選択受信処理を実行し、出力された[RU,RS,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SF07)。
そして、データ交換手段104は、このLRDを出力する(SF08)。その後、フローはSF05に戻り、データ交換手段104は、再びLRSが空か否かを判定する。以降、SF05の判定がNOである限り、データ交換手段104は、SF05からSF08の処理を繰り返す。
一方、SF05の判定がYESであれば、データ交換手段104は、送信条件記憶手段106にUを出力し、送信条件ユーザ検索機能を実行させ、[U,送信選択条件,送信許諾条件]を全て検索し、それらをリストLSSとする(SF09)。
次に、データ交換手段104は、LSSが空か否かを判定する(SF10)。SF10の判定がYESであれば、データ交換手段104は、処理を終了する。
一方、SF10の判定がNOであれば、データ交換手段104は、LSSから、1つの[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を削除して取り出す(SF11)。
次に、データ交換手段104は、[SU,SS,SG]を用いて上記選択送信処理を実行し、1個の[受信ユーザ,受信選択条件,受信許諾条件]のリストLRS、および、0個以上の[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SF12)。
そして、データ交換手段104は、1個のLRSを出力し(SF13)、複数のLRDを出力する(SF14)。その後、フローはSF10に戻り、データ交換手段104は、再びLSSが空か否かを判定する。以降、データ交換手段104は、SF10の判定がNOである限り、SF10からSF14の処理を繰り返す。
[入出力制御手段101が行う処理の説明]
次に、入出力制御手段101が行う各処理のフローについて説明する。以下では、まず、複数の処理に共通して用いられる3つの部分処理のフローについて説明する。
(第1の部分処理のフロー)
図12は、第1の部分処理のフローを示す図である。第1の部分処理は、「入力データDに含まれる仮名をユーザ識別子に置き換える」処理である。
入出力制御手段101は、まず、Dに仮名が含まれているか否かを判定する(SX01)。SX01の判定がNOであれば、入出力制御手段101は、部分処理を終了する。
一方、SX01の判定がYESであれば、入出力制御手段101は、それらの仮名の1つを選択してIDAとする(SX02)。
次に、入出力制御手段101は、変換記憶手段103に[受信ユーザU,IDA]を出力し、送信ユーザ検索機能を実行させ、変換記憶手段103から[U,送信ユーザID,IDA]を検索する(SX03)。
そして、入出力制御手段101は、Dに含まれているIDAを全て、IDで置き換える(SX04)。その後、フローはSX01に戻り、入出力制御手段101は、再び、Dにまだ仮名が含まれているか否かを判定する。以降、入出力制御手段101は、SX01の判定がYESである限り、SX01からSX04の処理を繰り返す。
(第2の部分処理のフロー)
図13は、第2の部分処理のフローを示す図である。第2の部分処理は、「[受信ユーザ,受信選択条件,受信許諾条件]のリストLRSの各[受信ユーザRU,受信選択条件RS]について、入出力装置200に表示されている各[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止させる」処理である。
入出力制御手段101は、まず、LRSが空か否かを判定する(SY01)。SY01の判定がYESであれば、入出力制御手段101は、部分処理を終了する。
一方、SY01の判定がNOであれば、入出力制御手段101は、LRSから、1つの[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を削除して取り出す(SY02)。
次に、入出力制御手段101は、入出力記憶手段102に[RU,RS]を出力し、受信入出力装置200検索機能を実行させ、入出力記憶手段102から[RU,RS,入出力装置IO]を検索する(SY03)。
次に、入出力制御手段101は、入出力装置IOに、[RU,RS,送信ユーザ,送信選択条件,データ]の表示を全て停止させる(SY04)。その後、フローはSY01に戻り、入出力制御手段101は、再び、LRSが空か否かを判定する。以降、入出力制御手段101は、SY01の判定がYESである限り、SY01からSY04の処理を繰り返す。
(第3の部分処理のフロー)
図14は、第3の部分処理のフローを示す図である。第3の部分処理は、「[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDの各[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を、入出力装置200に表示させる」処理である。
入出力制御手段101は、まず、LRDが空か否かを判定する(SZ01)。SZ01の判定がYESであれば、入出力制御手段101は、部分処理を終了する。
一方、SZ01の判定がNOであれば、入出力制御手段101は、LRDから、1つの[受信ユーザRU,受信選択条件RS,送信ユーザSU,送信選択条件SS,データD]を削除して取り出す(SZ02)。
次に、入出力制御手段101は、入出力記憶手段102に[RU,RS]を出力し、受信入出力装置200検索機能を実行させ、入出力記憶手段102から[RU,RS,入出力装置IO]を検索する(SZ03)。
次に、入出力制御手段101は、変換記憶手段103に[RU,SU]を出力し、仮名検索機能を実行させ、変換記憶手段103から[RU,SU,仮名SUA]を検索する(SZ04)。
次に、入出力制御手段101は、[RU,RS,SU,SS,D]のSUをSUAで置き換えて、[RU,RS,SUA,SS,D]とする(SZ05)。
次に、入出力制御手段101は、Dにユーザ識別子が含まれているか否かを判定する(SZ06)。SZ06の判定がYESであれば、入出力制御手段101は、それらのユーザ識別子の1つを選択してIDとする(SZ07)。
次に、入出力制御手段101は、変換記憶手段103に[RU,ID]を出力し、仮名検索機能を実行させ、変換記憶手段103から[RU,ID,仮名IDA]を検索する(SZ08)。
そして、入出力制御手段101は、Dに含まれているIDを全て、IDAで置き換える(SZ09)。その後、フローはSZ06に戻り、入出力制御手段101は、再び、Dにまだユーザ識別子が含まれているか否かをを判定する。以降、入出力制御手段101は、SZ06の判定がYESである限り、SZ06からSZ09の処理を繰り返す。
一方、SZ06の判定がNOであれば、入出力制御手段101は、入出力装置200に、[RU,RS,SUA,SS,D]を、[RU,RS]ごとに表示させる(SZ10)。その後、フローはSZ01に戻り、入出力制御手段101は、再び、LRDが空か否かを判定する。以降、入出力制御手段101は、SZ01の判定がNO、SZ06の判定がNOである限り、SZ01からSZ10の処理を繰り返す。
次に、入出力制御手段101が行う、これらの部分処理を含む各コマンド処理のフローを説明する。但し、受信条件削除コマンド処理は、上記の部分処理を含まない。
(選択受信コマンド処理のフロー)
図15は、選択受信コマンド処理のフローを示す図である。
入出力制御手段101は、まず、入出力装置IOから、[受信ユーザRU,受信選択条件RS,受信許諾条件RG,入出力装置IO]を入力する(SG01)。
次に、入出力制御手段101は、データ交換手段104に[RU,RS,RG]を出力し、選択受信処理を実行させ、[RU,RS,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SG02)。
次に、入出力制御手段101は、入出力装置IOに、[RU,RS,送信ユーザ,送信選択条件,データ]の表示を全て停止させる(SG03)。
次に、入出力制御手段101は、入出力記憶手段102に[RU,RS,IO]を出力し、受信表示追加機能を実行させ、入出力記憶手段102に[RU,RS,IO]を追加する(SG04)。
次に、入出力制御手段101は、SG02で得たLRDについて、上記第3の部分処理を実行し、LRDに含まれる[RU,RS,送信ユーザ,送信選択条件,データ]を入出力装置IOに表示させ(SG05)、処理を終了する。
(受信条件削除コマンド処理のフロー)
図16は、受信条件削除コマンド処理のフローを示す図である。
入出力制御手段101は、まず、入出力装置IOから、[受信ユーザRU,受信選択条件RS,入出力装置IO]を入力する(SH01)。
次に、入出力制御手段101は、データ交換手段104に[RU,RS]を出力し、受信条件削除処理を実行させる(SH02)。
次に、入出力制御手段101は、入出力装置IOに、[RU,RS,送信ユーザ,送信選択条件,データ]の表示を全て停止させる(SH03)。
次に、入出力制御手段101は、入出力記憶手段102に[RU,RS,IO]を出力し、受信表示削除機能を実行させ、入出力記憶手段102から[RU,RS,IO]を削除し(SH04)、処理を終了する。
(選択送信コマンド処理のフロー)
図17は、選択送信コマンド処理のフローを示す図である。
入出力制御手段101は、まず、入出力装置200から、[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を入力する(SI01)。
次に、入出力制御手段101は、データ交換手段104に[SU,SS,SG]を出力し、選択送信処理を実行させ、1個の[受信ユーザ,受信選択条件,受信許諾条件]のリストLRS、及び、0個以上の[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SI02)。
次に、入出力制御手段101は、SI02で得たLRSについて、第2の部分処理を実行し、LRSの各[受信ユーザRU,受信選択条件RS]について、入出力装置200に表示されている各[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止させる(SI03)。
次に、入出力制御手段101は、SI02で得た複数のLRDを連結して、1つのLRDにする(SI04)。
次に、入出力制御手段101は、上記LRDについて、第3の部分処理を実行し、LRDに含まれる各[受信ユーザRU,受信選択条件RS,送信ユーザSUA,送信選択条件SS,データD]を、表示すべき入出力装置200に表示させ(SI05)、処理を終了する。
(送信条件削除コマンド処理のフロー)
図18は、送信条件削除コマンド処理のフローを示す図である。
入出力制御手段101は、まず、入出力装置200から、[送信ユーザSU,送信選択条件SS]を入力する(SJ01)。
次に、入出力制御手段101は、データ交換手段104に[SU,SS]を出力し、選択送信処理を実行させ、1個の[受信ユーザ,受信選択条件,受信許諾条件]のリストLRS、及び、0個以上の[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SJ02)。
次に、入出力制御手段101は、SJ02で得たLRSについて、第2の部分処理を実行し、LRSの各[受信ユーザRU,受信選択条件RS]について、入出力装置200に表示されている各[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止させる(SJ03)。
次に、入出力制御手段101は、SJ02で得た複数のLRDを連結して、1つのLRDにする(SJ04)。
次に、入出力制御手段101は、上記LRDについて、第3の部分処理を実行し、LRDに含まれる各[受信ユーザRU,受信選択条件RS,送信ユーザSUA,送信選択条件SS,データD]を、表示すべき入出力装置200に表示させ(SJ05)、処理を終了する。
(データ追加コマンド処理のフロー)
図19は、データ追加コマンド処理のフローを示す図である。
入出力制御手段101は、まず、入出力装置200から、[保有ユーザU,データD]を入力する(SK01)。
次に、入出力制御手段101は、SK01で入力したDについて、第1の部分処理を実行し、Dに含まれる仮名をユーザ識別子に置き換える(SK02)。
次に、入出力制御手段101は、データ交換手段104に[U,D]を出力し、データ追加処理を実行させ、1個以上の[受信ユーザ,受信選択条件,受信許諾条件]のリストLRS、及び、0個以上の[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SK03)。
次に、入出力制御手段101は、SK03で得た複数のLRSを連結して、1つのLRSにする(SK04)。
次に、入出力制御手段101は、上記LRSについて、第2の部分処理を実行し、LRSの各[受信ユーザRU,受信選択条件RS]について、入出力装置200に表示されている各[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止させる(SK05)。
次に、入出力制御手段101は、SK03で得た複数のLRDを連結して、1つのLRDにする(SK06)。
次に、入出力制御手段101は、上記LRDについて、第3の部分処理を実行し、LRDに含まれる各[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を、表示すべき入出力装置200に表示させ(SK07)、処理を終了する。
(データ削除コマンド処理のフロー)
図20は、データ削除コマンド処理のフローを示す図である。
入出力制御手段101は、まず、入出力装置200から、[保有ユーザU,データD]を入力する(SL01)。
次に、入出力制御手段101は、SL01で入力したDについて、第1の部分処理を実行し、Dに含まれる仮名をユーザ識別子に置き換える(SL02)。
次に、入出力制御手段101は、データ交換手段104に[U,D]を出力し、データ削除処理を実行させ、1個以上の[受信ユーザ,受信選択条件,受信許諾条件]のリストLRS、及び、0個以上の[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを得る(SL03)。
次に、入出力制御手段101は、SL03で得た複数のLRSを連結して、1つのLRSにする(SL04)。
次に、入出力制御手段101は、上記LRSについて、第2の部分処理を実行し、LRSの各[受信ユーザRU,受信選択条件RS]について、入出力装置200に表示されている各[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止させる(SL05)。
次に、入出力制御手段101は、SL03で得た複数のLRDを連結して、1つのLRDにする(SL06)。
次に、入出力制御手段101は、上記LRDについて、第3の部分処理を実行し、LRDに含まれる各[受信ユーザRU,受信選択条件RS,送信ユーザSUA,送信選択条件SS,データD]を、表示すべき入出力装置200に表示させ(SL07)、処理を終了する。
[本システム100が提供する各操作の説明]
次に、本システム100が提供する各操作について、詳細に説明する。
本システム100が提供する各操作は、それぞれに対応するコマンドを、入出力装置200経由で入出力制御手段101に入力することによって実行される。
(選択受信処理)
選択受信コマンドは、[受信ユーザRU,受信選択条件RS,受信許諾条件RG,入出力装置IO]を伴って、本システム100の入出力制御手段101に入力される。
入出力制御手段101は、選択受信コマンドが入力されると、上記選択受信コマンド処理を実行する。
入出力制御手段101は、まず、SG02において、データ交換手段104に[RU,RS,RG]を出力し、選択受信処理を実行させる。
データ交換手段104は、選択受信処理を実行する。これにより、データ交換手段104は、指定された受信選択条件RSと接続可能な送信選択条件を設定した送信ユーザであって、受信選択条件RSに付与された受信許諾条件RGを満たし、かつ、上記送信選択条件に付与された送信許諾条件を、上記受信選択条件RSを設定した受信ユーザRUが満たす送信ユーザを選択する。そして、データ交換手段104は、このユーザが保有するデータであって、上記送信選択条件及び上記受信選択条件RSの両方を満たすデータを、[RU,RS]に対応付けて受信データ[RU,RS,送信ユーザ,送信選択条件,データ]とし、それらをリストLRDとして出力する。この過程は、上記選択受信処理のフローの説明の通りである。
次に、入出力制御手段101は、SG03において、従前の送受信の実行によって入出力装置200に表示されていた、受信ユーザRU、受信選択条件RSを同じくする[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止する。
次に、入出力制御手段101は、SG04において、LRDの各情報レコードを表示すべき入出力装置200を、[RU,RS,IO]として入出力記憶手段102に記憶させる。
これは、他のコマンドの処理において[RU,RS]に対応付けられた受信データの表示や表示の停止が必要になったときに、指示すべき入出力装置200を検索し、決定するためである。
次に、入出力制御手段101は、SG05において、第3の部分処理を実行する。具体的には、入出力制御手段101は、SG02におけるデータ交換手段104の出力LRDを受けて、LRDに含まれる各受信データ[RU,RS,送信ユーザ,送信選択条件,データ]を、その送信ユーザ、及びデータに含まれるユーザ識別子を仮名に置き換えたうえで、入出力装置IOに表示させて、処理を終了する。
以上の実行過程によって、本システム100は、選択受信操作の作用を達成するとともに、送受信が実行されたデータを、送信ユーザ及びデータ中で参照されるユーザが特定されない形態で表示することができる。
(受信条件削除処理)
受信条件削除コマンドは、[受信ユーザRU,受信選択条件RS,入出力装置IO]を伴って、本システム100の入出力制御手段101に入力される。
入出力制御手段101は、受信条件削除コマンドが入力されると、上記受信条件削除コマンド処理を実行する。
入出力制御手段101は、まず、SH02において、データ交換手段104の受信条件削除処理に[RU,RS]を入力して実行する。
データ交換手段104は、受信条件削除処理を実行する。これにより、データ交換手段104は、受信ユーザRUの指定された受信選択条件RS及びそれに付与された受信許諾条件を記憶内容から削除し、[RU,RS]に対応付けられた受信データ[RU,RS,送信ユーザ,送信選択条件,データ]を削除する。この過程は、上記受信条件削除処理手続の処理フローの説明の通りである。
次に、入出力制御手段101は、SH03において、従前の送受信の実行によって入出力装置200に表示されていた、受信ユーザRU、受信選択条件RSを同じくする[RU,RS,送信ユーザ,送信選択条件,データ]の表示を停止する。
次に、入出力制御手段101は、SH04において、[RU,RS]に対応付けられた受信データを表示すべき入出力装置200を登録した、[RU,RS,IO]を削除して、処理を終了する。
以上の実行過程によって、本システム100は、受信条件削除操作(の作用)を達成するとともに、従前の送受信の実行によって[受信ユーザRU,受信選択条件RS]に対応付けられて入出力装置200に表示されていた受信データの表示を停止する。
(選択送信処理)
選択送信コマンドは、[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を伴って、本システム100の入出力制御手段101に入力される。
入出力制御手段101は、選択送信コマンドが入力されると、上記選択送信コマンド処理を実行する。
入出力制御手段101は、まず、SI02において、データ交換手段104に[SU,SS,SG]を出力し、選択送信処理を実行させる。
データ交換手段104は、選択送信処理手続を実行する。これにより、データ交換手段104は、指定された送信選択条件SSと接続可能な受信選択条件を設定した受信ユーザであって、送信選択条件SSに付与された送信許諾条件SGを満たし、かつ、上記受信選択条件に付与された受信許諾条件を、上記送信選択条件SSを設定した送信ユーザSUが満たす受信ユーザを選択する。そして、データ交換手段104は、この受信ユーザの、上記受信選択条件に対応付けて、上記送信ユーザSUが保有するデータであって、上記送信選択条件SS及び上記受信選択条件の両方を満たすデータを、新たに受信データとする。この過程は、上記選択送信処理手続の処理フローの説明の通りである。
この過程において、データ交換手段104は、受信データの表示変更が必要な[受信ユーザ,受信選択条件,受信許諾条件]のリストLRSと、変更後に表示すべき受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを出力する。
入出力制御手段101は、SI03において、第2の部分処理を実行する。具体的には、入出力制御手段101は、SI02におけるデータ交換手段104の出力LRSを受けて、対応付けられた受信データが変更された可能性のある[受信ユーザ,受信選択条件]に対応付けられた受信データの表示を停止する。
次に、入出力制御手段101は、SI04において、データ交換手段104から出力されたLRDを1つにまとめ、SI05において、第3の部分処理を実行する。具体的には、入出力制御手段101は、LRDに含まれる各受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を、その送信ユーザ、及びデータに含まれるユーザ識別子を仮名に置き換えたうえで、入出力装置200に表示させ、処理を終了する。
以上の実行過程によって、本システム100は、選択送信操作の作用を達成するとともに、送受信が実行されたデータを、送信ユーザ及びデータ中で参照されるユーザが特定されない形態で表示することができる。
(送信条件削除処理)
送信条件削除コマンドは、[送信ユーザSU,送信選択条件SS]を伴って、本システム100の入出力制御手段101に入力される。
入出力制御手段101は、送信条件削除コマンドが入力されると、上記送信条件削除コマンド処理手続を実行する。
入出力制御手段101は、まず、SJ02において、データ交換手段104に[SU,SS]を出力し、送信条件削除処理を実行させる。
データ交換手段104は、送信条件削除処理を実行する。これにより、データ交換手段104は、指定された送信ユーザSUの指定された送信選択条件SS及びそれに付与された送信許諾条件SGを記憶内容から削除し、その送信選択条件SSと接続可能な各受信選択条件に対応付けてられて受信データとされていた[受信ユーザ,受信選択条件,SU,SS,データ]を、受信データから削除する。この過程は、上記送信条件削除処理手続の処理フローの説明の通りである。
この過程において、データ交換手段104は、受信データの表示変更が必要な[受信ユーザ,受信選択条件,受信許諾条件]のリストLRSと、変更後に表示すべき受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを出力する。
入出力制御手段101は、SJ03において、第2の部分処理を実行する。具体的には、入出力制御手段101は、SJ02におけるデータ交換手段104の出力LRSを受けて、対応付けられた受信データが変更された可能性のある[受信ユーザ,受信選択条件]に対応付けられた受信データの表示を停止する。
次に、入出力制御手段101は、SJ04において、データ交換手段104から出力されたLRDを1つにまとめ、SJ05において、第3の部分処理を実行する。具体的には、入出力制御手段101は、LRDに含まれる各受信データ[受信ユーザRU,受信選択条件RS,送信ユーザSUA,送信選択条件SS,データD]を、その送信ユーザ、及びデータに含まれるユーザ識別子を仮名に置き換えたうえで、入出力装置200に表示させて、処理を終了する。
以上の実行過程によって、本システム100は、送信条件削除操作の作用を達成するとともに、送受信が実行されたデータを、送信ユーザ及びデータ中で参照されるユーザが特定されない形態で表示することができる。
(データ追加処理)
データ追加コマンドは、[保有ユーザU,データD]を伴って、本システム100の入出力制御手段101に入力される。
入出力制御手段101は、データ追加コマンドが入力されると、上記データ追加コマンド処理手続を実行する。
入出力制御手段101は、まず、SK02において、第1の部分処理を実行し、Dに含まれる各仮名をユーザ識別子に置き換える。
次に、入出力制御手段101は、SK03において、データ交換手段104に[U,D]を出力し、データ追加処理を実行させる。
データ交換手段104は、データ追加処理の手続を実行する。具体的には、データ交換手段104は、指定されたデータDを指定された送信(保有)ユーザUのデータとして記憶内容に追加するとともに、当該データDの追加後の状態において送受信可能である当該送信ユーザUのデータのみを、当該送信ユーザUの各送信選択条件と接続可能な受信選択条件に対応付けて受信データとする。そして、データ交換手段104は、当該送信ユーザUの各受信選択条件について、改めて選択受信操作を実行してデータ追加後の状態において送受信可能なデータのみを受信データとする。この過程は、上記データ追加処理手続の処理フローの説明の通りである。
この過程において、データ交換手段104は、受信データの表示変更が必要な[受信ユーザ,受信選択条件,受信許諾条件]のリストLRSと、変更後に表示すべき受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを出力する。
入出力制御手段101は、SK04において、データ交換手段104から出力されたLRSを1つにまとめ、SK05において、第2の部分処理を実行する。具体的には、入出力制御手段101は、対応付けられた受信データが変更された可能性のある[受信ユーザ,受信選択条件]に対応付けられた受信データの表示を停止する。
次に、入出力制御手段101は、SK06において、データ交換手段104から出力されたLRDを1つにまとめ、SK07において、第3の部分処理を実行する。具体的には、入出力制御手段101は、LRDに含まれる各受信データ[受信ユーザRU,受信選択条件RS,送信ユーザSUA,送信選択条件SS,データD]を、その送信ユーザ、及びデータに含まれるユーザ識別子を仮名に置き換えたうえで、入出力装置200に表示させて、処理を終了する。
以上の実行過程によって、本システム100は、データ追加操作の作用を達成するとともに、送受信が実行されたデータを、送信ユーザ及びデータ中で参照されるユーザが特定されない形態で表示することができる。
(データ削除処理)
データ削除コマンドは、[保有ユーザU,データD]を伴って、本システム100の入出力制御手段101に入力される。
入出力制御手段101は、データ削除コマンドが入力されると、上記データ削除コマンド処理手続を実行する。
入出力制御手段101は、まず、「入力データDに含まれる仮名をユーザ識別子に置き換える部分処理手続」実行し、Dに含まれる各仮名をユーザ識別子に置き換える。
次に、入出力制御手段101は、SL02において、データ交換手段104に[U,D]を出力し、のデータ削除処理を実行させる。
データ交換手段104は、データ削除処理の手続を実行する。具体的には、データ交換手段104は、指定されたデータDを指定された送信(保有)ユーザUのデータの記憶内容から削除するとともに、当該データDの削除後の状態において送受信可能である当該送信ユーザUのデータのみを、当該送信ユーザUの各送信選択条件と接続可能な受信選択条件に対応付けて受信データとする。そして、データ交換手段104は、当該送信ユーザUの各受信選択条件について、改めて選択受信操作を実行してデータ追加後の状態において送受信可能なデータのみを受信データとする。この過程は、上記データ追加処理手続の処理フローの説明の通りである。
この過程において、データ交換手段104は、受信データの表示変更が必要な[受信ユーザ,受信選択条件,受信許諾条件]のリストLRSと、変更後に表示すべき受信データ[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のリストLRDを出力する。
入出力制御手段101は、SL04において、データ交換手段104から出力されたLRSを1つにまとめ、SL05において、第2の部分処理を実行する。具体的には、入出力制御手段101は、対応付けられた受信データが変更された可能性のある[受信ユーザ,受信選択条件]に対応付けられた受信データの表示を停止する。
次に、入出力制御手段101は、SL06において、データ交換手段104から出力されたLRDを1つにまとめ、SL07において、第3の部分処理を実行する。具体的には、入出力制御手段101は、LRDに含まれる各受信データ[受信ユーザRU,受信選択条件RS,送信ユーザSUA,送信選択条件SS,データD]を、その送信ユーザ、及びデータに含まれるユーザ識別子を仮名に置き換えたうえで、入出力装置200に表示させて、処理を終了する。
以上の実行過程によって、本システム100は、データ削除操作の作用を達成するとともに、送受信が実行されたデータを、送信ユーザ及びデータ中で参照されるユーザが特定されない形態で表示することができる。
以上説明したように、本実施の形態の本システム100は、各ユーザに対応付けて受信選択条件、送信選択条件、受信許諾条件、送信許諾条件、及び保有データを記憶し、それらによって定まる可能な送受信を常に実行する。そして、本実施の形態の本システム100は、送受信された(送信ユーザ、データ)を(受信ユーザ、受信選択条件)に対応付けて記憶するとともに、それらのデータを、ユーザが特定されない形態で表示する。
ただし、本発明は、可能な送受信の全てをリアルタイムに実行する形態に限定されない。
本発明は、従来のWeb検索のように、pull型の検索を行ったときにのみ、送受信が実行される形態を採ることも可能である。すなわち、本発明は、送信選択条件、送信許諾条件、及び、保有データの追加及び削除の際には送受信を実行せず、受信ユーザが、受信選択条件及び受信許諾条件を指定して、選択受信操作を行ったときにのみ、送受信を実行することができる。
この場合、記憶内容の変更の都度、選択送信操作及び選択受信操作によってアルタイムに送受信を行わず、受信選択条件と受信許諾条件を指定した選択受信操作のみを行うので、受信選択条件及び受信許諾条件を記憶しておく必要もない。
また、受信データにも、システムの最新の状態がリアルタイムに反映されるわけではないので、入出力装置200に受信データが表示されてしまえば、本システム100内に受信データ(実行された送受信)を保持している必要はない。
一方、本発明は、電子メールのように、受信ユーザは受信選択条件及び受信許諾条件の登録時には送受信を実行せず、送信ユーザが送信選択条件と送信許諾条件を指定して選択送信操作を行ったときにのみ、送受信を実行して受信データを更新する形態を採ることもできる。
この場合、受信選択条件の登録は、受信アドレスや受信ポートの設定に対応し、送信選択条件の登録は、それらのアドレスやポートへの送信の実行に対応している。
そして、受信ユーザは受信選択条件を指定して、受信メールボックスを開くのと同様に、その時点で[受信ユーザ,受信選択条件]に対応付けて記憶されている受信データを閲覧する。
このように、本実施の形態で示した各操作の処理のそれぞれが、本発明の異なる実施の形態である。そして、本発明のシステムは、全ての操作を備えている必要はない。
ただし、上記の説明のように、本システムが全ての操作を備えていれば、設定された条件や登録されたデータの変更に同期して、可能な送受信の全てをリアルタイムに実行するという、重要な付加的効果が達成される。
しかしながら、本発明の主旨は、受信選択条件と送信選択条件とが接続可能であり、かつ、受信許諾条件と送信許諾条件とが、それらを設定した受信ユーザ及び送信ユーザの保有データについて成立する、[受信ユーザ,受信選択条件,受信許諾条件]及び[送信ユーザ,送信選択条件,送信許諾条件]の対を選択し、その送信ユーザの保有データのうち、その[受信選択条件,送信選択条件]の両方を満たすデータを持つ[送信ユーザ、データ]を、少なくとも1つ選択し、それらを[受信ユーザ,受信選択条件]に対応付けて受信データとすることにある。
この主旨に鑑みて、以下では、上記全ての操作を含む本システム100(実施例1)だけでなく、上記の操作を選択及び変形して用いる本システム100(実施例2)について説明する。
ここにおいて、受信選択条件と送信選択条件とが「接続可能である」という概念、すなわち上記の対の選択の手続を、具体的なデータ及び条件に即して説明する。
同様に、受信許諾条件及び送信許諾条件の評価、及び、受信選択条件及び送信選択条件の両方を満たすデータの検索についても説明するが、これらは従来のデータ検索技術を適用して実施することができる。
(実施例1)
以下では、実施例1として、上記の実施の形態を具体化したシステムとして、飲食店に対する評価・感想・体験等の私的な情報の交換を目的とする、メッセージ交換システムについて説明する。
このメッセージ交換システム(以下「本システム」という)は、店舗のメニューの味や外観、接客等の評価について、各ユーザが個人的な情報を交換する手段として使用されるものとする。
情報は、店舗別に次の各トピックについて、各ユーザが記入したものが、記入したユーザによって保有される。
・店舗
・接客
・メニュー外観 (メニュー別)
・メニュー味 (メニュー別)
ユーザはそれぞれのトピックについて、評価点数とコメントを記入する。この情報にそれぞれ、記入時刻、店舗(名称)、トピック(上記のいずれか)及び記入者(ユーザ)と、そのメッセージ#を付与してメッセージとする。このメッセージが、上記実施の形態においてデータ記憶手段に記憶されるデータに相当する。
ユーザが記入・保有するメッセージは、時刻、店舗、トピック、記入者、メッセージ#、点数、コメントの各項目からなるデータ列である。
本実施例では、項目の「ユーザ」は、ユーザ識別情報で、本システムにおいては携帯電話番号とする。
ただし、ユーザを表示する場合には、ユーザが特定されないように、4桁の整数番号からなる仮名(alias)で表示する。
なお、各メッセージは、ユーザ及びメッセージ#をメッセージIDとして、一意に識別できるものとする。
メッセージの例を図24に示す。なお、コメントの中において、他のユーザ(またはメッセージ)に言及する箇所は、ユーザ識別情報に代えて、他のユーザとは異なる仮名を表示する。仮名は、少なくとも下記のメッセージ板の範囲では一貫している。すなわち、同一のユーザには同一の仮名が用いられる。
受信選択条件及び送信選択条件は、メッセージの各項目に関して、時刻については範囲を、店舗は名称を1つだけ、トピックは1つ以上を指定して、該当するメッセージを選択する条件である。
受信選択条件及び送信選択条件は、メッセージと同様、図25に示すようなデータ列で表される。このデータ列が表す条件は、「2012/01/01 00:00:00以降現在までの、中華飯店 新宿西口店の、ラーメン外観またはラーメン味に関するメッセージ」である。
本システムにおいて、受信選択条件と送信選択条件が「接続可能である」とは、送信選択条件に該当するメッセージが、必ず受信選択条件にも該当するように、両条件が定められている場合をいうものとする。すなわち、店舗名称が一致し、かつ、送信選択条件の時刻の範囲が受信選択条件の時刻の範囲に含まれており、かつ、送信選択条件の全てのトピックが受信選択条件のトピックに含まれている場合を、「接続可能である」として扱う。
受信許諾条件及び送信許諾条件は、送信ユーザ及び受信ユーザが、それぞれ、保有していなければならないメッセージ(必須メッセージ)、及び、保有していてはならないメッセージ(禁止メッセージ)を指定する。
すなわち、それぞれのメッセージが該当する条件として、各ユーザは、メッセージの項目に関して、店舗については名称を1つだけ、トピックについては1つ以上、点数については範囲を、コメントについてはキーワード(ワード、notワード)を指定する。
本システムは、指定された範囲の時刻の、指定された店舗の、指定されたトピックのいずれかの、指定された範囲の点数の、指定された{ワード}を全てコメントに含み、かつ、指定されたnot{ワード}のワードをコメントに1つも含まない、メッセージを指定する。なお、指定のない項目については、制限しないものとする。
例えば、図26に示す例では、ラーメン専科のラーメン味に関する、点数が30点以下で、コメントにキーワード「まずい」または「ひどい」を含み、「うまい」を含まないメッセージを指定している。
必須メッセージ及び禁止メッセージを指定するデータ列は、それぞれ1組ずつ記述することができるものとする。なお、必須メッセージまたは禁止メッセージのどちらか一方の指定は省略することができる。
各ユーザは、上記の各条件に関して選択受信した、他人及び自分のメッセージを、指定した項目でソートしたメッセージ板を閲覧しつつ、自分のメッセージの追加・削除を行う。
ソートキーの指定は、複数の項目を階層(連結)キーとして指定できる。例えば、トピックを第1キー、時刻を第2キーとする等である。メッセージ板はこの点で、ユーザに掲示板と類似のインターフェースを提供する。
ユーザは、メッセージ板を複数使用することができる。各メッセージ板は、そのメッセージ板に表示すべきメッセージを選択受信するための条件を指定して生成される。この条件は、受信して表示すべきメッセージに関する受信選択条件と、それらのメッセージの送信ユーザ(保有者)が保有する任意のメッセージに関する受信許諾条件からなる。
受信ユーザが、受信選択条件及び受信許諾条件、及びソートキーを指定して「選択受信コマンド」を入力すると、本システムはそれらの条件に基づいて受信したメッセージを、指定したソートキーによってソートし、メッセージ板として入出力装置200に表示する。
遊佐は、選択受信コマンドを、既に設定されているメッセージ板(受信選択条件及び受信許諾条件)を指定して、再度入力してもよい。その場合、メッセージ板は、一旦消去され、その時点のメッセージの状態に基づいて更新される。
一方、ユーザは、「選択送信コマンド」によって、自分が登録して保有するメッセージを、他のユーザのメッセージ板に表示して開示することができる。
選択送信コマンドは、開示するメッセージを選択する送信選択条件と、それらのメッセージを受信する受信ユーザが保有する任意のメッセージに関する送信許諾条件とからなる。
送信ユーザが、送信選択条件及び送信許諾条件、及びソートキーを指定して「選択送信コマンド」を入力すると、本システムは、送信選択条件に基づいて選択した送信ユーザの保有メッセージを、指定したソートキーによってソートし、送信リストとして入出力装置200に表示する。
本システムは、同時に、それらの条件に基づいて、それらのメッセージを受信する受信ユーザ及び表示(受信)するメッセージ板を決定し、送信リストのメッセージを上記各メッセージ板に追加して再びソートし、受信ユーザの入出力装置200上の当該メッセージ板の表示を更新する。
ユーザが、選択受信コマンド及び選択送信コマンドと同じ形式で、受信許諾条件または送信許諾条件を指定しないで入力する、すなわち、必須メッセージと禁止メッセージをともに省略して入力すると、これらのコマンドは「受信条件削除コマンド」及び「送信条件削除コマンド」として扱われる。
すなわち、それまで行っていた(受信ユーザ、受信選択条件)または(送信ユーザ、送信選択条件)に関する選択受信または選択送信(開示)が停止される。
ユーザは、入出力装置200から、上記形式のメッセージを含む「データ追加コマンド」及び「データ削除コマンド」を入力して、自分の保有メッセージを追加・削除することができる。
本システムは、メッセージの追加・削除によって変化した状態において可能な送受信に適合するように、受信データ記憶手段107に記憶された受信データを修正し、それをメッセージ板の表示に反映させる。
本システムは、上記の各コマンドを、上記実施の形態と同じ手続にしたがって処理する。
本システムの構成、及び、データ交換手段104と入出力制御手段101の各処理手続は、上記実施の形態のそれらと同じである。従って、本実施例では、本システムを実施するに足る情報として、それらの処理手続が使用する、各記憶手段の各機能の実現方法を、上記の具体的なデータ及び条件に即して説明する。
本システムでは、各情報レコードの項目には、ユーザ(保有ユーザ、受信ユーザ、送信ユーザ)は携帯電話番号を使用する。また、受信選択条件及び送信選択条件には、上記受信選択条件及び送信選択条件のデータ列を使用する。また、受信許諾条件及び送信許諾条件には、上記受信許諾条件及び送信許諾条件のデータ列を使用する。また、データには、上記データのデータ列を使用する。また、仮名には4桁の整数番号を使用する。また、入出力装置200には当該入出力装置200との通信に使用されているポート番号を使用する。
(受信条件削除機能、受信条件追加機能)
受信条件記憶手段105は、ユーザ携帯電話番号と、上記受信選択条件及び受信許諾条件のデータ列を、[受信ユーザ,受信選択条件,受信許諾条件]として記憶する。
受信条件記憶手段105は、これらのデータ列に次の連結キーでソートしたインデックスを付与する。
キーの優先順は、左から第1キー、第2キーの順である。
X1:受信選択条件の店舗、受信ユーザ携帯電話番号
X2:受信ユーザ携帯電話番号
受信条件削除機能は、インデックスX1によって、指定された受信選択条件の店舗及び受信ユーザ携帯電話番号が一致する[受信ユーザ,受信選択条件,受信許諾条件]のデータ列を列挙し、それらのうちで、受信選択条件が指定した受信選択条件と一致するものを削除することによって実現する。
受信条件追加機能は、[受信ユーザ,受信選択条件,受信許諾条件]のデータ列を記憶するとともに、インデックスX1によって、指定された受信選択条件の店舗及び受信ユーザ携帯電話番号が一致するエントリの末尾の位置に、上記データ列を指すエントリを追加することによって実現する。
(受信選択条件検索機能)
図21は、受信選択条件検索機能を実現する処理のフローを示す図である。
本システムは、まず、送信選択条件SSを入力する(SM01)。
次に、本システムは、インデックスX1によって、SSの店舗と一致する店舗を含む受信選択条件を持つ[受信ユーザ,受信選択条件,受信許諾条件]のデータ列を列挙し、それらをリストLRSとする(SM02)。
次に、本システムは、LRSが空か否かを判定する(SM03)。SM03の判定がYESであれば、本システムは、処理を終了する。
一方、SM03の判定がNOであれば、本システムは、LRSから、1つの[受信ユーザRU,受信選択条件RS,受信許諾条件RG]を削除して取り出す(SM04)。
次に、本システムは、このRSに関して、RSの時刻の下限が、SSの時刻の下限以下かを判定する(SM05)。
SM05の判定がNOであれば、フローはSM03に戻り、本システムは、再びLRSが空か否かを判定する。以降、本システムは、SM03の判定がNO,SM05の判定がNOである限り、SM03からSM05の処理を繰り返す。
一方、SM05の判定がYESであれば、本システムは、RSの時刻の上限が、SSの時刻の上限以上かを判定する(SM06)。
SM06の判定がNOであれば、フローSM03に戻り、本システムは、再びLRSが空か否かを判定する。以降、本システムは、SM03の判定がNO,SM05の判定がYES、SM06の判定がNOである限り、SM03からSM06の処理を繰り返す。
一方、SM06の判定がYESであれば、本システムは、SSのトピックが全て、RSのトピックに含まれているかを判定する(SM07)。
SM07の判定がNOであれば、フローはSM03に戻り、本システムは、再びLRSが空か否かを判定する。以降、本システムは、SM03の判定がNO,SM05の判定がYES、SM06の判定がYES,SM07の判定がNOである限り、SM03からSM07の処理を繰り返す。
一方、SM07の判定がYESであれば、本システムは、[RU,RS,RG]を出力する(SM08)。その後、フローはSM03に戻り、本システムは再びLSSが空か否かを判定する。以降、本システムは、SM03の判定がNO,SM05の判定がYES、SM06の判定がYES,SM07の判定がYESである限り、SM03からSM08の処理を繰り返す。
この手続を実行することによって、店舗名称が一致し、かつ、送信選択条件の時刻の範囲が受信選択条件の時刻の範囲に含まれており、かつ、送信選択条件の全てのトピックが受信選択条件のトピックに含まれているところの受信選択条件を持つ、[受信ユーザ,受信選択条件,受信許諾条件]が出力される。
(受信条件ユーザ検索機能)
受信条件ユーザ検索機能は、インデックスX2よって、指定した受信ユーザ携帯電話番号と一致する[受信ユーザ,受信選択条件,受信許諾条件]のデータ列を列挙することによって実現することができる。
(送信条件削除機能、送信条件追加機能)
送信条件記憶手段106も、上記受信条件記憶手段105と同様のデータ列を、[送信ユーザ,送信選択条件,送信許諾条件]として記憶する。
送信条件記憶手段106は、これらのデータ列に次の連結キーでソートしたインデックスを付与する。
X3:送信選択条件の店舗、送信ユーザ携帯電話番号
X4:送信ユーザ携帯電話番号、送信選択条件全体
送信条件削除機能は、インデックスX3によって、指定された送信選択条件の店舗及び送信ユーザ携帯電話番号が一致する[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を列挙し、それらのうちで、送信選択条件が指定した送信選択条件と一致するものを削除することによって実現する。
送信条件追加機能は、[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を記憶するとともに、インデックスX3によって、指定された送信選択条件の店舗及び送信ユーザ携帯電話番号が一致するエントリの末尾の位置に、上記データ列を指すエントリを追加することによって実現する。
(送信選択条件検索機能)
図22は、送信選択条件検索機能を実現する処理のフローを示す図である。
本システムは、まず、受信選択条件SSを入力する(SN01)。
次に、本システムは、インデックスX3によって、RSの店舗と一致する店舗を含む送信選択条件を持つ[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を列挙し、それらをリストLSSとする(SN02)。
次に、本システムは、LSSが空か否かを判定する(SN03)。SN03の判定がYESであれば、本システムは、処理を終了する。
一方、SN03の判定がNOであれば、本システムは、LSSから、1つの[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を削除して取り出す(SN04)。
次に、本システムは、このSSに関して、RSの時刻の下限が、SSの時刻の下限以下かを判定する(SN05)。
SN05の判定がNOであれば、フローはSN03に戻り、本システムは、再びLSSが空か否かを判定する。以降、本システムは、SN03の判定がNO,SN05の判定がNOである限り、SN03からSN05の処理を繰り返す。
一方、SN05の判定がYESであれば、本システムは、RSの時刻の上限が、SSの時刻の上限以上かを判定する(SN06)。
SN06の判定がNOであれば、フローSN03に戻り、本システムは、再びLSSが空か否かを判定する。以降、本システムは、SN03の判定がNO,SN05の判定がYES、SN06の判定がNOである限り、SN03からSN06の処理を繰り返す。
一方、SN06の判定がYESであれば、本システムは、SSのトピックが全て、RSのトピックに含まれているかを判定する(SN07)。
SN07の判定がNOであれば、フローはSN03に戻り、本システムは、再びLSSが空か否かを判定する。以降、本システムは、SN03の判定がNO,SN05の判定がYES、SN06の判定がYES,SN07の判定がNOである限り、SN03からSN07の処理を繰り返す。
一方、SN07の判定がYESであれば、本システムは、[SU,SS,SG]を出力する(SN08)。その後、フローはSN03に戻り、本システムは再びLSSが空か否かを判定する。以降、本システムは、SN03の判定がNO,SN05の判定がYES、SN06の判定がYES,SN07の判定がYESである限り、SN03からSN08の処理を繰り返す。
この手続を実行することによって、店舗名称が一致し、かつ、送信選択条件の時刻の範囲が受信選択条件の時刻の範囲に含まれており、かつ、送信選択条件の全てのトピックが受信選択条件のトピックに含まれているところの送信選択条件を持つ、[送信ユーザ,送信選択条件,送信許諾条件]が出力される。
(送信条件ユーザ検索機能)
送信条件ユーザ検索機能は、インデックスX4よって、指定した送信ユーザ携帯電話番号と一致する[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を列挙することによって実現することができる。
(保有データ追加機能、保有データ削除機能)
保有データ記憶手段108は、保有ユーザ携帯電話番号を含む上記メッセージのデータ列を、[保有ユーザ,データ]として記憶する。なお、保有ユーザは送信ユーザにも受信ユーザにもなりうる。
保有データ記憶手段108は、これらのデータ列に、次のインデックスを付与して記憶する。
X5:保有ユーザ携帯電話番号、店舗、トピック、時刻
X6:メッセージ(データ列)全体
保有データ追加機能は、上記メッセージを記憶するとともに、それを指すエントリをインデックスX5及びX6に追加することによって実現する。
保有データ削除機能は、インデックスX6を探索して、記憶されている[送信ユーザ,データ]のメッセージを特定してそれを削除し、それを指すインデックスX5及びX6のエントリを削除することによって実現する。
(許諾条件判定機能)
許諾条件判定機能は、インデックスX5を使用した次の手続によって実現する。
1.受信許諾条件の必須メッセージのチェック
本システムは、送信ユーザ携帯電話番号、必須メッセージの店舗、必須メッセージのトピック(複数あればそれぞれについて)をキーとして、インデックスX5によって該当するメッセージを列挙する。
そして、本システムは、上記列挙した各メッセージについて、次の1.1.〜1.3.のチェックを行い、全て成立すれば必須メッセージに該当すると判定する。
1.1.点数を許諾条件の点数の範囲の下限及び上限と比較し、下限以上上限以下である。
1.2.コメントが許諾条件の{ワード}の各ワードを含んでいるか検索し、いずれも含んでいる。
1.3.コメントが許諾条件のnot{ワード}の各ワードを含んでいるか探索し、1つも含んでいない。
2.受信許諾条件の禁止メッセージのチェック
本システムは、送信ユーザ携帯電話番号、禁止メッセージの店舗、禁止メッセージのトピック(複数あればそれぞれについて)をキーとして、インデックスX5によって該当するメッセージを列挙する。
そして、本システムは、上記列挙した各メッセージについて、上記1.1.〜1.3.のチェックを行い、全て成立すれば禁止メッセージに該当すると判定する。
3.送信許諾条件の必須メッセージのチェック
本システムは、受信ユーザ携帯電話番号、必須メッセージの店舗、必須メッセージのトピック(複数あればそれぞれについて)をキーとして、インデックスX5によって該当するメッセージを列挙する。
そして、本システムは、上記列挙した各メッセージについて、上記1.1.〜1.3.のチェックを行い、全て成立すれば必須メッセージに該当すると判定する。
4.送信許諾条件の禁止メッセージのチェック
本システムは、受信ユーザ携帯電話番号、禁止メッセージの店舗、禁止メッセージのトピック(複数あればそれぞれについて)をキーとして、インデックスX5によって該当するメッセージを列挙する。
そして、本システムは、上記列挙した各メッセージについて、上記1.1.〜1.3.のチェックを行い、全て成立すれば禁止メッセージに該当すると判定する。
5.最終チェック
本システムは、上記1.及び3.で該当するメッセージが検出され、2.及び4.で該当するメッセージが検出されない場合に、受信ユーザ及び送信ユーザに関して受信許諾条件及び送信許諾条件が成立すると判定し、それ以外の場合に、成立しないと判定する。
(選択条件検索機能)
選択条件検索機能は、インデックスX5を使用した次の手続によって実現する。
1.送信選択条件の各トピックについて、次の2.によって列挙したメッセージを全て合わせて列挙する。
2.送信ユーザ携帯電話番号、送信選択条件の店舗、トピック、時刻の下限、及び、送信ユーザ携帯電話番号、送信選択条件の店舗、トピック、時刻の上限、をそれぞれキーとして、インデックスX5によって、携帯電話番号、店舗、トピックが一致し、時刻が下限以上上限以下のメッセージを出力する。
上記手続では、送信ユーザの保有データのうち、送信選択条件を満たすものが選択される。
本システムにおいては、接続可能な送信選択条件と受信選択条件に関しては、送信選択条件を満たすデータは必ず受信選択条件を満たす関係にあるから、受信選択条件の評価を省いても支障ない。
(受信データ追加機能等)
受信データ記憶手段107は、受信ユーザ携帯電話番号、上記受信選択条件のデータ列、送信ユーザ携帯電話番号、上記送信選択条件のデータ列、及び、上記データのデータ列からなるデータ列を、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]として記憶する。
受信データ記憶手段107は、これらのデータ列に次の連結キーでソートしたインデックスを付与する。
X7:受信ユーザ携帯電話番号、受信選択条件の店舗、送信ユーザ携帯電話番号、送信選択条件の店舗
受信データ追加機能は、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のデータ列を記憶するとともに、インデックスX7のソートキーが一致するエントリの末尾に、上記データ列を指すエントリを追加することによって実現する。
受信データ受信選択条件削除機能は、インデックスX7によって、指定された受信ユーザ携帯電話番号及び受信選択条件の店舗が一致する[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のデータ列を列挙し、それらのうちで、受信選択条件が指定した受信選択条件と一致するものを削除することによって実現する。
受信データ送信条件指定削除機能は、インデックスX7によって、指定された受信ユーザ携帯電話番号、受信選択条件の店舗、及び送信ユーザ携帯電話番号が一致する[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のデータ列を列挙し、それらのうちで、受信選択条件が指定した受信選択条件と一致するものを削除することによって実現する。
受信データ受信選択条件検索機能は、インデックスX7によって、指定された受信ユーザ携帯電話番号及び受信選択条件の店舗が一致する[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]のデータ列を列挙し、それらのうちで、受信選択条件が指定した受信選択条件と一致するものを選択して列挙することによって実現する。
(仮名検索機能)
変換記憶手段103は、受信ユーザ携帯電話番号、送信ユーザ携帯電話番号、及び、4桁のユニークな整数番号からなるデータ列を、[受信ユーザ,送信ユーザ,仮名]として記憶する。
変換記憶手段103は、これらのデータ列に、次のインデックスを付与して記憶する。
X8:受信ユーザ携帯電話番号、送信ユーザ携帯電話番号
X9:受信ユーザ携帯電話番号、4桁整数番号
本システムの変換記憶手段103は、4桁整数の擬似乱数を生成する擬似乱数生成手段を備えている。この擬似乱数生成手段は、公知の擬似乱数生成方法を使用して構成できる。
仮名検索機能は、次の手続によって実現される。
1.受信ユーザ携帯電話番号を第1キー、送信ユーザ携帯電話番号を第2キーとして、インデックスX8を探索し、一致するエントリが見つかれば、それが指す[受信ユーザ,送信ユーザ,仮名]のデータ列を返す。
2.一致するエントリが見つからない場合、次のステップを実行する。
2.1.擬似乱数生成手段により4桁整数番号を生成し、受信ユーザ携帯電話番号を第1キー、生成した4桁整数番号を第2キーとして、インデックスX9を探索し、一致するエントリが見つかった場合は、再度2.1.を繰り返す。
2.2.一致するエントリが見つからなかった4桁整数番号と、送信ユーザ携帯電話番号、及び受信ユーザ携帯電話番号からなるデータ列を、[受信ユーザ,送信ユーザ,仮名]として記憶し、インデックスX8及びX9に上記データ列を指すエントリを追加する。
2.3.上記データ列を、本機能を呼び出した機能に返す。
(送信ユーザ検索機能)
送信ユーザ検索機能は、次の手続によって実現される。
1.受信ユーザ携帯電話番号を第1キー、4桁整数番号を第2キーとして、インデックスX9を探索し、一致したエントリが指す[受信ユーザ,送信ユーザ,仮名]のデータ列を返す。
本システムでは、入出力装置200と入出力制御手段101とはネットワークで接続されるので、入出力制御手段101は、入出力装置200を、入出力装置200を接続しているポート番号として扱う。[受信ユーザ,受信選択条件]を上記と同様のデータ列で表し、それに入出力装置200を表すポート番号を追加したデータ列によって、[受信ユーザ,受信選択条件,入出力装置200]を扱う。
入出力記憶手段102は、これらのデータ列を、次の連結キーでソートしたインデックスを付与して記憶する。
X0:受信ユーザ携帯電話番号、受信選択条件
受信表示追加機能、受信表示削除機能、及び受信入出力装置200検索機能は、上記[受信ユーザ,受信選択条件,入出力装置200]のデータ列を記憶・削除する操作及びインデックスX0に対する操作によって実現する。
本システムでは、上記ポート番号によりネットワーク接続されたPCを入出力装置200として使用する。
PCには、ポートから受信した受信データを、[受信ユーザ,受信選択条件]ごとにメッセージ板ウインドウに表示するプログラムと、入力されたコマンドと情報レコードに、入出力装置200を示すポート番号を追加して、当該ポートに送信するプログラムとを備えている。
メッセージ板ウインドウにメッセージを表示するプログラムは、その(受信ユーザ、受信選択条件)を指定した選択受信コマンドとともに入力されたソートキーによって、受信メッセージをソートして表示する。
以上に説明した構成の本システムを使用して、ユーザは受信ユーザとして、入出力装置200に受信選択条件及び受信許諾条件を指定して選択受信コマンドを入力する。これにより、その受信選択条件と接続可能な送信選択条件、及び送信許諾条件を指定して選択送信コマンドを既に入力してそれらの条件を登録した送信ユーザに関して、送信ユーザ及び受信ユーザ(自分)が受信許諾条件及び送信許諾条件をともに満たす場合に限り、送信ユーザが保有するメッセージのうちで、受信選択条件及び送信選択条件の両方に該当するメッセージを、受信ユーザ(自分)の受信選択条件に対応するメッセージ板に表示させることができる。
ユーザは、送信ユーザとしても、本システムに送信選択条件及び送信許諾条件を指定して選択送信コマンドを入力する。これにより、その送信選択条件と接続可能な受信選択条件、及び受信許諾条件を指定して選択受信コマンドを既に入力してそれらの条件を登録した受信ユーザに関して、受信ユーザ及び送信ユーザ(自分)が送信許諾条件及び受信許諾条件をともに満たす場合に限り、送信ユーザ(自分)が保有するメッセージのうちで、受信選択条件及び送信選択条件の両方に該当するメッセージを、受信ユーザの受信選択条件に対応するメッセージ板に、既に受信されているメッセージに加えて表示させることができる。
メッセージ板でのメッセージの表示に際しては、各メッセージの保有(送信)ユーザの識別情報は、コメント中に含まれるものまで、仮名に変換して表示される。
これらの作用によって、不特定のユーザ間で、送受信されるメッセージに関する選択条件と、送信ユーザ及び受信ユーザがそれぞれ保有するメッセージに関する許諾条件によって、送受信の相手を限定しながら、なおかつ、相手の識別情報を開示することなく、メッセージの受信及び送信を行うことができる。
ユーザはまた、受信選択条件を指定して受信条件削除コマンドを入力することにより、自分が既に登録していた当該受信選択条件を削除するとともに、その受信選択条件を使用して行っていたメッセージの受信及びその表示を停止することができる。
ユーザは、また、送信選択条件を指定して送信条件削除コマンドを入力することにより、自分が既に登録していた当該送信選択条件を削除するとともに、その送信選択条件を使用して行っていたメッセージの送信を停止し、それらの送受信によって受信ユーザに受信されていたメッセージを受信データから削除するとともに、受信ユーザへの表示からも削除することができる。
ユーザは、また、新たなメッセージを含むデータ追加コマンドを入力することにより、そのメッセージを自分の保有メッセージに追加するとともに、受信ユーザに受信され表示されている自分の保有データ及び自分が受信ユーザとして受信しているデータを、メッセージ追加後の新たな状態における可能な送受信データに更新することができる。
同様に、保有しているメッセージと同じメッセージを含むデータ削除コマンドを入力することにより、そのメッセージを自分の保有メッセージから削除するとともに、受信ユーザに受信され表示されている自分の保有データ及び自分が受信ユーザとして受信しているデータを、メッセージ追加後の新たな状態における可能な送受信データに更新することができる。
本システムのこれらの作用によって、ユーザは、送受信の相手を限定しながら、なおかつ、相互に識別情報を開示することなく、リアルタイムにメッセージの交換を行うことができる。
(実施例2)
以下、実施例2として、上記実施の形態を変形して具体化したシステムの一例である、データとして情報レコード型の個人情報を扱う、公開型個人情報データベースシステムを説明する。
この公開型個人情報データベースシステム(以下、本システムという)においては、実施の形態に示された各手続の構成を変更して、実際に送受信が実行されるのを、受信ユーザが入出力装置200から選択受信コマンドを入力したときに限っている。
すなわち、通常のデータベース検索やインターネット検索と同様に、送信ユーザの側から保有データや送信選択条件及び送信許諾条件の変更に同期して、可能な送受信の変化を受信データ及びその受信ユーザへの表示に、リアルタイムに反映はしない。
このため、本システムにおいては、実施の形態の構成を次のように変更して、具体的なデータの処理に適用する。
本システムでは、受信条件削除コマンドを用いる必要がないので、入出力制御手段101の手続から受信条件削除コマンドの処理手続が省かれ、データ交換手段104の手続から受信条件削除処理の手続が省かれる。
また、本システムでは、システムを構成する機能ブロックから、受信条件記憶手段105及び入出力記憶手段102を削除する。また、本システムでは、入出力制御手段101及びデータ交換手段104の各手続から、受信条件記憶手段105及び入出力記憶手段102の機能を使用するステップ、及びそれらの機能の処理結果を使用して実行されるステップを削除する。
なお、本システムが扱う[保有ユーザ、データ]のデータ部分には、ユーザ識別子は含まれないので、第3の部分処理では、SZ06〜SZ09の各ステップを省略し、SZ05から直ちにSZ10に進むようにする。
また、各処理手続から、第1の部分処理を省略する。
また、選択受信処理手続から、SA02、SA03を省略する。
また、選択受信したデータを、受信ユーザに表示した後も受信データ記憶手段107に記憶しておく必要はないので、SA04をSA14の直前または直後に移動して、SA13で検索した受信データを全て削除する。
本システムでは、受信データ記憶手段107は、選択受信処理が送受信を実行した受信データを、入出力装置200に表示する前に一時的に記憶する機能を果たすにすぎない。
また、選択受信コマンド処理手続から、SG04を省略する。
選択送信処理手続から、SC04以降の全てのステップを省略し、SC03の終了をもって、処理手続の終了とする。
選択送信コマンド処理手続においては、SI02の内容を「データ交換手段104の「選択送信処理」に[SU,SS,SG]を入力して実行する」に変更し、それより先の2つの部分処理及びSI03を省略して、SI02の終了をもって、処理手続の終了とする。
送信条件削除処理手続からは、SD04以降の全てのステップを省略し、SD02の終了をもって、処理手続の終了とする。
送信条件削除コマンド処理手続においては、SJ02の内容を「データ交換手段104の「送信条件削除処理」に[SU,SS]を入力して実行する」に変更し、それより先の2つの部分処理及びSJ03を省略して、SJ02の終了をもって、処理手続の終了とする。
データ追加処理手続からは、SE03以降の全てのステップを省略し、SE02の終了をもって、処理手続の終了とする。
データ追加コマンド処理手続においては、SK02の内容を「データ交換手段104の「データ追加処理」に[U,D]を入力して実行する」に変更し、3つの部分処理全てとSK03及びSK04を省略して、SK01及びSK02のみを実行するようにする。
データ削除処理手続からは、SF03以降の全てのステップを省略し、SF02の終了をもって、処理手続の終了とする。
データ削除コマンド処理手続においては、SL02の内容を「データ交換手段104の「データ削除処理」に[U,D]を入力して実行する」に変更し、3つの部分処理全てとSL03及びSL04を省略して、SL01及びSL02のみを実行するようにする。
このようにして、本システムにおいて送受信が実行されるのは、受信ユーザが選択受信コマンドを入力したときに限られ、選択送信コマンド及び送信条件削除コマンドは、単に、送信選択条件及び送信許諾条件の追加(登録)及び削除を行うのみとなり、データ追加コマンド及びデータ削除コマンドは、単に、保有データの追加及び削除を行うのみとなる。
本システムが扱う個人情報レコードは複数のフィールドからなり、各フィールドはフィールド名とフィールド値で構成される。
各情報レコードには、保有者のユーザIDを記したフィールド名「保有者」のフィールドが含まれている。
以下では、それぞれ次のフィールドから構成される個人情報の情報レコードをデータとする場合を例にとって説明する。
・保有者、年齢、身長、体重、血糖値
以下の説明では、各フィールドの値を、そのフィールド(名)の後に「値」を追記して表す。例えば、「年齢」フィールドの値は「年齢値」といい、「血糖値」フィールドの値は「血糖値値」という。
1人の保有者(送信ユーザ)について、現在の年齢まで、年齢ごとにそれぞれ保有者値が同一の情報レコードが登録されている。
それら同一保有者値の複数の情報レコードの年齢値のうち、最大のものがその保有者の現在の年齢である。
保有データ記憶手段108は、これらの情報レコードを、各フィールドを列とする表の各行として格納する。
これらの各行を次のようにフィールド名とフィールド値を交互にコンマ’,’で区切って並べたデータ列として扱う。
このようなデータ列をデータ情報レコードと呼ぶ。
保有者,user159,年齢,15,身長,155,体重,46,血糖値,80
保有者,user159,年齢,18,身長,162,体重,44,血糖値,65
保有者,user314,年齢,17,身長,165,体重,50,血糖値,75
これらのデータ情報レコードを、本システムにおける(送信ユーザ、データ)とする。
受信選択条件及び送信選択条件は、組み合わせて受信(検索)したいフィールド名と、受信したいフィールド値の範囲を表す下限及び上限の2つの値をコンマ’,’で区切って並べたデータ列を、年齢、身長、体重、血糖値の順にコンマ’,’で区切って並べたものである。
上下限を表す値の前に等号’=’を付けると、上下限がその値を含むことを表すものとする。
例えば、次の受信選択条件は、「年齢値が18以下、かつ、体重値が45以上55未満」に該当する(同一情報レコードの)「年齢及び体重のデータ」の受信を指定する。
・年齢,,=18,体重,=45,55
本システムにおいては、受信選択条件と送信選択条件が「接続可能である」とは、受信選択条件に該当するデータが、必ず送信選択条件にも該当するように、両条件が定められている場合をいうものとする。
すなわち、受信選択条件のフィールド名と送信選択条件に指定されたフィールド名が一致しており、かつ、受信選択条件のフィールド値の範囲が、送信選択条件の同名のフィールド値の範囲に含まれている場合を、「接続可能である」として扱う。
受信選択条件及び送信選択条件に対応付けて記憶する受信許諾条件及び送信許諾条件は、送信ユーザ及び受信ユーザが、保有していなければならないデータ(必須情報レコード)と、保有していてはならないデータ(禁止情報レコード)とを、それぞれ上記受信選択条件と同様の形式で指定するものである。
例えば、「身長値が160超」に該当する情報レコードを保有し、「年齢値が18超」に該当する情報レコードを保有しない、ユーザが保有するデータの受信を許諾する、という受信許諾条件は、次の2つのデータ列で表される。
・身長,160,
・年齢,18,
この条件を言い換えると「現在の年齢が18歳以下で、既に(あるいは一度は)身長が160を超えた」ユーザを意味する。
本システムでは、ユーザ(受信ユーザ、送信ユーザ)は、本システム内ではそのユーザIDで識別される。
[受信ユーザ,受信選択条件,受信許諾条件]及び[送信ユーザ,送信選択条件,送信許諾条件]は、上記ユーザIDと上記各データ列を’/’で区切り、例えば次のように記述する。
・user314/年齢,,=18,体重,=45,55/身長,160,/年齢,18
このうち、[受信ユーザ,受信選択条件]または[送信ユーザ,送信選択条件]に対応するデータ列は、[user314/年齢,,=18,体重,=45,55]である。また、受信許諾条件または送信許諾条件に対応するデータ列は、[/身長,160,/年齢,18]である。
本システムでは、選択送信コマンド及び送信条件削除コマンドが送受信を実行しないので、それにのみ必要な送信選択条件を、[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]から省略し、受信データとして[受信ユーザ,受信選択条件,送信ユーザ,データ]を用いる。
本システムでは、この[受信ユーザ,受信選択条件,送信ユーザ,データ]は、上記[受信ユーザ,受信選択条件]に対応するデータ列と、上記データ情報レコードから、受信選択条件に指定されたフィールドのデータ列を選択して結合した[受信ユーザ,受信選択条件,送信ユーザ,選択データ]のデータ列とする。
入出力制御手段101が入出力装置200に対して出力する[受信ユーザ,受信選択条件,仮名,選択データ]は、このデータ列の送信ユーザ(ユーザID)を、実施例1と同様の4桁の整数番号からなる仮名に変換したデータ列である。
また、[受信ユーザ,送信ユーザ,仮名]は、受信ユーザ及び送信ユーザのユーザID、及び、4桁の整数番号からなる仮名を連結したデータ列とする。
本システムにおいても、実施例1と同様に、入出力装置200は、ネットワークに接続されている。そして、[受信ユーザ,受信選択条件,入出力装置200]は、上記[受信ユーザ,受信選択条件]に対応するデータ列と、入出力装置200との接続ポート番号を結合したデータ列とする。
(送信条件削除機能、送信条件追加機能)
送信条件記憶手段106は、上記[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を記憶し、これらのデータ列に、次の連結キーでソートしたインデックスを付与する。
X3:送信選択条件の各フィールド名をデータ情報レコード中の出現順に連接した文字列
X4:送信ユーザID、送信選択条件のデータ列
送信条件削除機能は、インデックスX4によって、入力された送信ユーザID及び送信選択条件のデータ列を含む[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を決定し、それを削除する(とともに、それを指しているインデックスX3及びX4の各エントリを削除する)ことによって実現する。
送信条件追加機能は、[送信ユーザ,送信選択条件,送信許諾条件]のデータ列を記憶するとともに、インデックスX3によって、入力された送信選択条件のフィールド名をデータ情報レコード中の出現順に連接した文字列をキーとするエントリを追加すべき位置に、(一致するエントリが存在する場合はそれらの末尾に)上記データ列を指すエントリを追加し、インデックスX4によって、入力された送信ユーザID及び送信選択条件のデータ列をキーとするエントリを追加すべき位置に、上記データ列を指すエントリを追加することによって実現する。
(送信選択条件検索機能)
図23に、送信選択条件検索機能を実現する処理の処理フローを示す。
本システムは、まず、受信選択条件RSを入力する(SO01)。
次に、本システムは、RSの各フィールド名文字列を、データ情報レコードの出現順に連接した文字列FKを作成する(SO02)。
次に、本システムは、インデックスX3を、FKをキーとして検索し、RSとフィールド名文字列が一致する送信選択条件を持つ[送信ユーザ,送信選択条件,送信許諾条件]を列挙し、それらをリストLSSとする(SO03)。
次に、本システムは、LSSが空か否かを判定する(SO04)。SO04の判定がYESでであれば、本システムは、処理を終了する。
一方、SO04の判定がNOであれば、本システムは、LSSから、1つの[送信ユーザSU,送信選択条件SS,送信許諾条件SG]を削除して取り出す(SO05)。
次に、本システムは、このSSに関して、上記RSの各フィールド値の範囲の下限が、SSの同名のフィールド値の範囲の下限以上かを判定する(SO06)。
SN06の判定がNOであれば、フローはSO04に戻り、本システムは、再びLSSが空か否かを判定する。以降、本システムは、SO04の判定がNO,SO06の判定がNOである限り、SO04からSO06の処理を繰り返す。
一方、SO06の判定がYESであれば、本システムは、上記RSの各フィールド値の範囲の上限が、SSの同名のフィールド値の範囲の上限以下かを判定する(SO07)。
SO07の判定がNOであれば、フローSO04に戻り、本システムは、再びLSSが空か否かを判定する。以降、本システムは、SO04の判定がNO,SO06の判定がYES、SO07の判定がNOである限り、SO04からSO07の処理を繰り返す。
一方、SO07の判定がYESであれば、本システムは、[SU,SS,SG]を出力する(SO08)。その後、フローはSO04に戻り、本システムは再びLSSが空か否かを判定する。以降、本システムは、SO04の判定がNO,SO06の判定がYES、SO07の判定がYESである限り、SO04からSO08の処理を繰り返す。
この手続を実行することによって、入力された受信選択条件のフィールド名と送信選択条件に指定されたフィールド名が一致しており、かつ、受信選択条件のフィールド値の範囲が、送信選択条件の同名のフィールド値の範囲に含まれているところの送信選択条件を持つ[送信ユーザ,送信選択条件,送信許諾条件]が出力される。
(保有データ追加機能、保有データ削除機能)
保有データ記憶手段108は、上記データ情報レコードのデータ列を、[保有ユーザ,データ]として記憶し、これらのデータ列に、次の連結キーでソートしたインデックスを付与する。
X5:保有ユーザID、データ情報レコードのデータ列
保有データ追加機能は、上記データ情報レコードを記憶するとともに、それを指すエントリをインデックスX5に追加することによって実現する。
保有データ削除機能は、インデックスX5を探索して、入力されたデータ情報レコードに一致するデータ情報レコードを特定してそれを削除し、それを指すインデックスX5のエントリを削除することによって実現する。
(許諾条件判定機能)
許諾条件判定機能は、インデックスX5を使用した次の手続によって実現する。
1.本システムは、インデックスX5によって、入力された送信ユーザIDに第1キーの保有ユーザIDが一致する(エントリが指す)データ情報レコードを列挙し、それらが、受信許諾条件の必須情報レコードまたは禁止情報レコードに該当するか否かを判定する。
具体的には、本システムは、必須情報レコードまたは禁止情報レコードに指定されたフィールド値が、指定された範囲に入っているか否かを、列挙されたデータ情報レコードのフィールド値と指定された下限及び上限を比較することによって判定する。
そして、本システムは、必須情報レコードに該当するデータ情報レコードが1つ以上存在し、禁止情報レコードに該当するデータ情報レコードが存在しない場合に、送信ユーザに関して受信許諾条件が成立していると判定する。
2.本システムは、インデックスX5によって、入力された受信ユーザIDに第1キーの保有ユーザIDが一致する(エントリが指す)データ情報レコードを列挙し、それらが、送信許諾条件の必須情報レコードまたは禁止情報レコードに該当するか否かを判定する。
具体的には、本システムは、必須情報レコードまたは禁止情報レコードに指定されたフィールド値が、指定された範囲に入っているか否かを、列挙されたデータ情報レコードのフィールド値と指定された下限及び上限を比較することによって判定する。
本システムは、必須情報レコードに該当するデータ情報レコードが1つ以上存在し、禁止情報レコードに該当するデータ情報レコードが存在しない場合に、受信ユーザに関して送信許諾条件が成立していると判定する。
3.本システムは、上記の判定の結果、受信許諾条件と送信許諾条件の両方が成立していると判定された場合に、受信許諾条件及び送信許諾条件が成立すると判定する。
(選択条件検索機能)
選択条件検索機能は、インデックスX5を使用した次の手続によって実現する。
1.本システムは、インデックスX5によって、入力された送信ユーザIDに第1キーの保有ユーザIDが一致する(エントリが指す)データ情報レコードを列挙し、それらのフィールド値が、受信選択条件に指定されたフィールド値の範囲に入っているか否かを判定する。
具体的には、本システムは、データ情報レコードのフィールド値と指定された下限及び上限を比較して判定することによって行う。
2.本システムは、上記判定の結果、受信選択条件に指定された各フィールド値の範囲にフィールド値が入っている各データ情報レコードについて、送信ユーザID及び指定された各フィールド名及びフィールド値を抽出して連接したデータ列を作成し、選択結果の[送信ユーザ,選択データ]として出力する。
(受信データ追加機能、受信データ受信選択条件削除機能、受信データ受信選択条件検索機能)
受信データ記憶手段107は、上記[受信ユーザ,受信選択条件,送信ユーザ,選択データ]のデータ列を記憶し、それらのデータ列に、次の連結キーでソートしたインデックスを付与する。
X7:受信ユーザID、受信選択条件のデータ列
受信データ追加機能は、[受信ユーザ,受信選択条件,送信ユーザ,選択データ]のデータ列を追加するとともに、インデックスX7のソートキーが一致するエントリの末尾に、上記データ列を指すエントリを追加することによって実現する。
受信データ受信選択条件削除機能は、インデックスX7によって、指定された受信ユーザID及び受信選択条件のデータ列と一致する[受信ユーザ,受信選択条件,送信ユーザ,選択データ]のデータ列を列挙し、それらを削除するとともに、それらを指すインデックスX7の各エントリを削除することによって実現する。
受信データ受信選択条件検索機能は、インデックスX7によって、指定された受信ユーザID及び受信選択条件のデータ列と一致する[受信ユーザ,受信選択条件,送信ユーザ,選択データ]のデータ列を列挙し、それらを出力することによって実現する。
変換記憶手段103は、上記[受信ユーザ,送信ユーザ,仮名]のデータ列を記憶し、それらのデータ列に、次の連結キーでソートしたインデックスを付与する。
X8:受信ユーザID、送信ユーザID
X9:受信ユーザID、4桁整数番号
本システムの変換記憶手段103は、実施例1の変換記憶手段103と同様の、4桁整数の擬似乱数を生成する擬似乱数生成手段を備え、仮名検索機能及び送信ユーザ検索機能は、実施例1の同機能を実現する手続において、受信ユーザ携帯電話番号に代えて受信ユーザIDを、送信ユーザ携帯電話番号に代えて送信ユーザIDを用いることによって実現することができる。
入出力記憶手段102は、上記[受信ユーザ,受信選択条件,入出力装置200]のデータ列を記憶し、それらのデータ列に、次の連結キーでソートしたインデックスを付与する。
X0:受信ユーザID、受信選択条件のデータ列
受信表示追加機能、受信表示削除機能、及び受信入出力装置200検索機能は、実施例1と同じく、上記[受信ユーザ,受信選択条件,入出力装置200]のデータ列を記憶・削除する操作及びインデックスX0に対する操作によって実現する。
実施例1と同様に、本システムにおいても、上記ポート番号によりネットワーク接続されたPCを入出力装置200として使用する。
PCには、ポートから受信した受信データを、[受信ユーザ,受信選択条件]ごとに表示するプログラムと、入力されたコマンドと情報レコードに、入出力装置200を示すポート番号を追加して、当該ポートに送信するプログラムとを備えている。
以上に説明した構成の本システムを使用して、ユーザは受信ユーザとして、入出力装置200に受信選択条件及び受信許諾条件を指定して選択受信コマンドを入力する。これにより、その受信選択条件と接続可能な送信選択条件、及び送信許諾条件を指定して選択送信コマンドを既に入力してそれらの条件を登録した送信ユーザに関して、送信ユーザ及び受信ユーザ(自分)が受信許諾条件及び送信許諾条件をともに満たす場合に限り、送信ユーザが保有するデータのうちで、受信選択条件及び送信選択条件の両方に該当するデータを、受信ユーザ(自分)の受信選択条件に対応付けて、入出力装置200に表示させることができる。
ユーザは、送信ユーザとして、本システムに送信選択条件及び送信許諾条件を指定して選択送信コマンドを入力する。これにより、自らに関してその送信選択条件及び送信許諾条件を登録し、それ以降に、当該送信選択条件と接続可能な受信選択条件、及び受信許諾条件を指定して選択受信コマンドを入力した受信ユーザに関して、受信ユーザ及び送信ユーザ(自分)が送信許諾条件及び受信許諾条件をともに満たす場合に限り、送信ユーザ(自分)が保有するデータのうちで、受信選択条件及び送信選択条件の両方に該当するデータを、受信ユーザの受信選択条件に対応付けて、入出力装置200に表示させることができる。
入出力装置200での表示に際しては、各データの保有(送信)ユーザの識別情報は、仮名に変換して表示される。
これらの作用によって、本発明は、不特定のユーザ間で、送受信されるデータに関する選択条件と、送信ユーザ及び受信ユーザがそれぞれ保有するデータに関する許諾条件によって、送受信の相手を限定し、かつ、相手の識別情報を指定及び開示することなく、識別情報以外の個人情報データの送受信を行うことができる。
また、ユーザは、送信選択条件を指定して送信条件削除コマンドを入力することにより、自分が既に登録していた当該送信選択条件(及び送信許諾条件)を削除することができる。そして、ユーザは、それ以降に、当該送信選択条件と接続可能な受信選択条件、及び受信許諾条件を指定して選択受信コマンドが入力されても、当該送信選択条件とその受信選択条件に該当することによって送信ユーザ(自分)の保有データが、その受信選択条件に対応付けて(送)受信されないようにすることができる。
また、ユーザは、新たなデータ情報レコードを含むデータ追加コマンドを入力することにより、そのデータ情報レコードを自分の保有データ情報レコードに追加することができる。そして、ユーザは、それ以降に、選択受信コマンドが入力された場合の送受信の対象、及び、受信許諾条件及び送信許諾条件の判定対象に、加えることができる。
同様に、ユーザは、保有しているデータ情報レコードと同じデータ情報レコードを含むデータ削除コマンドを入力することにより、そのデータ情報レコードを自分の保有データ情報レコードから削除することができる。そして、ユーザは、それ以降に、選択受信コマンドが入力された場合の送受信の対象、及び、受信許諾条件及び送信許諾条件の判定対象から、除くことができる。
本システムのこれらの作用によって、ユーザは、送受信の相手を限定し、かつ、相互に識別情報を開示することなく、識別情報以外の個人情報データの交換(検索)を行うことができる。
なお、本発明は、上記実施例1または実施例2を含む上記実施の形態に限られるものではなく、受信選択条件と送信選択条件とが接続可能であり、かつ、受信許諾条件と送信許諾条件とが、それらを設定した受信ユーザ及び送信ユーザの保有データについて成立する、[受信ユーザ,受信選択条件,受信許諾条件]及び[送信ユーザ,送信選択条件,送信許諾条件]の対を選択(決定)し、その送信ユーザの保有データのうち、その[受信選択条件,送信選択条件]の両方を満たすデータを持つ[送信ユーザ、データ]を、少なくとも1つ選択(決定)し、それらを[受信ユーザ,受信選択条件]に対応付けて受信データと(して記憶)する手続を含む、任意の本システム100として実施することができる。
実施例1では、本システム100内の保有データ及び各条件によって定まる可能な送受信の全てが実行され、受信データとして記憶された状態が、それら保有データ及び条件の変更に応じた受信データの変更によってリアルタイムに維持される。実施例2では、指定した(受信ユーザ及び)受信選択条件及び受信許諾条件を介して可能な送受信の全てが実行され、受信データが表示される。
しかし、これらは、可能な送受信から実行する送受信を選択する方法の一例であって、可能な送受信のうち少なくとも1つを実行する手続を備えれば、本発明を実施することができる。
例えば、実施例2において、1つのコマンドにおいて実行する送受信の数に上限を設けておき、それを超える数の送受信が可能な場合には、それらの全てを実行せず、上限数のみの送受信を実行するようにしてもよい。
また、上記実施の形態では、ユーザが入力するコマンドに同期して送受信が実行されているが、本発明はこれに限られず、本システム100が定期的に送受信を実行し、ユーザは、受信データ記憶手段107に記憶された[受信ユーザ,受信選択条件,送信ユーザ,送信選択条件,データ]を、[受信ユーザ,受信選択条件]を指定して検索・閲覧することもできる。
なお、上記の実施の形態及び実施例では、1人の受信ユーザの受信選択条または1人の送信ユーザの送信選択条件と接続可能な送信選択条件または受信選択条件を、複数のユーザの送信選択条件または受信選択条件から選択するために、接続可能な送信選択条件の検索すなわち接続可能か否かの判定を行っている。すなわち、上記の実施の形態及び実施例では、複数のユーザの送信選択条件または受信選択条件から接続可能なものを選択している。本発明はこれに限られず、指定された受信ユーザの受信選択条件と送信ユーザの送信選択条件とが、接続可能か否かを判定し、その判定結果に基づいて、当該受信ユーザと当該送信ユーザの間で送受信(データの開示/非開示)を実行することもできる。
例えば、携帯型ゲーム機において、至近距離内に遭遇したゲーム機同士が相互にデータを交換することが行われている。このようなデータ交換システムにおいては、送受信の実行が必要なときには、既に、受信ユーザ及び送信ユーザが定まっている。本発明によれば、これら既定のユーザ(ゲーム機)の間で、それぞれのユーザが指定した(通常は予め設定して記憶している)受信選択条件、受信許諾条件及び送信選択条件、送信許諾条件をまず交換し、相互に、あるいはどちらか一方のゲーム機か、さらには遠隔のサーバにおいて、それらの条件及び各ユーザが保有するデータに基づいて、送受信の可否及び送受信すべきデータの決定を行うことができる。
また、本発明は、受信許諾条件及び送信許諾条件を用いず、受信選択条件及び送信選択条件のみを用いて実施してもよい。
この場合でも、送信ユーザは、自分の送信選択条件に該当する自分の保有データを、その送信選択条件と接続可能な受信選択条件を設定した受信ユーザに対してのみ、相手を特定することなく送信することができる。
また、この場合には、受信ユーザも、受信選択条件を設定することによって、その受信選択条件と接続可能な送信選択条件を設定した送信ユーザの保有データに対してのみ、相手を特定することなく受信選択条件(及び送信選択条件)に該当するデータを受信することができる。
また、本発明では、受信選択条件及び送信選択条件の内容、及びそれらが「接続可能であるか否か」の判定基準も、具体的なデータやデータ交換の目的に応じて種々変形して実施することができる。
例えば、実施例1において、接続可能であるか否かの判定基準に、「トピックを指定するデータ列の先頭のトピックが一致する」という基準を追加することもできる。これは、例えば、ステップSM06とSM07の間、及びステップSN06とSN07の間に、前後の判定ステップと同様な役割の判定ステップ「SSのトピックの先頭のものが、RSのトピックの先頭のものと一致しているか?」を挿入することによって実施することができる。
このように、本発明では、接続可能であるか否かの判定基準は、受信選択条件及び送信選択条件がそれぞれ選択するデータの集合に関する判定基準に限定されない。
さらに、本発明では、受信選択条件と送信選択条件が接続可能であるユーザ間での送受信に限定せず、受信許諾条件または送信許諾条件のみを用いて送受信の相手を限定し、相手を特定することなく、なおかつ相手を限定して送受信を行うこともできる。
この場合、受信選択条件または送信選択条件は、送受信が可能な受信ユーザと送信ユーザの間で送受信されるデータを選択する条件としてのみ使用される。
また、本発明では、受信選択条件、送信選択条件、受信許諾条件、送信許諾条件の各種条件自体を、ユーザの保有データに含めてもよい。これらの条件自体に関する条件を、これらの条件の一部として指定し、あるいは、これらの条件の評価・判定結果をさらに評価・判定するステップを、条件に関する評価・判定の手続に含めることによって、通信の相手及びデータについて、より高度な限定を行うことができる。