JP5388382B2 - Data exchange server and data exchange method - Google Patents

Data exchange server and data exchange method Download PDF

Info

Publication number
JP5388382B2
JP5388382B2 JP2012049389A JP2012049389A JP5388382B2 JP 5388382 B2 JP5388382 B2 JP 5388382B2 JP 2012049389 A JP2012049389 A JP 2012049389A JP 2012049389 A JP2012049389 A JP 2012049389A JP 5388382 B2 JP5388382 B2 JP 5388382B2
Authority
JP
Japan
Prior art keywords
user terminal
data
exchange
index key
position information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012049389A
Other languages
Japanese (ja)
Other versions
JP2013186553A (en
Inventor
健太 大西
久美子 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2012049389A priority Critical patent/JP5388382B2/en
Publication of JP2013186553A publication Critical patent/JP2013186553A/en
Application granted granted Critical
Publication of JP5388382B2 publication Critical patent/JP5388382B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、複数のユーザ端末間でデータを交換するデータ交換サーバ及びデータ交換方法に関する。   The present invention relates to a data exchange server and a data exchange method for exchanging data between a plurality of user terminals.

近年、ユーザの氏名や連絡先などのデータをユーザ端末間において電子的に交換し、ユーザ間のコミュニケーションの拡大及び円滑化を図るデータ交換システムが知られている。かかるデータ交換システムでは、データ交換サーバは、一のユーザ端末が他のユーザ端末との交換を希望する交換データ(例えば、一のユーザ端末のユーザの氏名や連絡先など)を管理し、当該一のユーザ端末の交換データの送付候補となる他のユーザ端末を特定する。例えば、データ交換サーバは、一のユーザ端末の交換データの送付候補として、同じエリア内に位置する他のユーザ端末や同じ時間内に交換データをデータ交換サーバに登録した他のユーザ端末などを特定することが知られている(例えば、特許文献1)。   2. Description of the Related Art In recent years, a data exchange system is known that electronically exchanges data such as user names and contact information between user terminals so as to expand and facilitate communication between users. In such a data exchange system, a data exchange server manages exchange data (for example, the name and contact information of a user of one user terminal) that one user terminal desires to exchange with another user terminal. Other user terminals that are candidates for sending exchange data of the user terminal are identified. For example, the data exchange server identifies other user terminals that are located in the same area or other user terminals that have registered the exchange data in the data exchange server within the same time period as candidates for exchange data for one user terminal. It is known to do (for example, patent document 1).

特開2011−186711号公報JP 2011-186711 A

上述のようなデータ交換システムにおいて、一のユーザ端末と同一エリアに位置する他のユーザ端末を送付候補とする場合、例えば、データ交換サーバは、当該一のユーザ端末と他のユーザ端末との間の距離を演算し、当該距離が所定距離以内であるか否かを判定することで、同一エリアに位置する他のユーザ端末を特定することが考えられる。   In the data exchange system as described above, when another user terminal located in the same area as the one user terminal is set as a sending candidate, for example, the data exchange server is configured so that the one user terminal is connected to the other user terminal. It is conceivable that another user terminal located in the same area is specified by calculating the distance and determining whether or not the distance is within a predetermined distance.

しかしながら、データ交換サーバには日本全国から無数のユーザ端末がログインする。このため、データ交換サーバが、ログイン中の他の全てのユーザ端末との間の距離を演算し、当該距離が所定距離以内であるか否かを判定する場合、一のユーザ端末と同一エリアに位置する他のユーザ端末を特定するために、データ交換サーバの処理負荷が増大するとともに、当該他のユーザ端末を特定するために多くの時間を要するという問題点があった。   However, innumerable user terminals from all over Japan log in to the data exchange server. For this reason, when the data exchange server calculates the distance to all other logged-in user terminals and determines whether the distance is within a predetermined distance, it is in the same area as the one user terminal. In order to specify the other user terminal located, the processing load of the data exchange server increases, and it takes a lot of time to specify the other user terminal.

本発明は、かかる問題点に鑑みてなされたものであり、一のユーザ端末と同一エリアに位置する他のユーザ端末を、処理負荷を増大させずに、かつ、迅速に、当該一のユーザ端末の交換データの送付候補として特定可能なデータ交換サーバ及びデータ交換方法を提供することを目的とする。   The present invention has been made in view of such a problem, and the other user terminal located in the same area as the one user terminal can be quickly and without increasing the processing load. An object of the present invention is to provide a data exchange server and a data exchange method that can be specified as candidates for exchange data transmission.

本発明の第1側面に係るデータ交換サーバは、エリア毎のインデックスキーを有する管理テーブルを記憶する記憶部と、各ユーザ端末からのログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに前記位置情報を登録する登録処理部と、一のユーザ端末から交換データの送付候補の検索要求が受信された場合、前記一のユーザ端末の位置情報に基づいて、前記位置情報が示す前記一のユーザ端末の位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアのインデックスキーを特定する特定部と、特定された前記各エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末と前記一のユーザ端末との間の距離を算出する距離算出部と、算出された前記距離が所定距離以下である他のユーザ端末を前記一のユーザ端末の交換データの送付候補として前記一のユーザ端末に通知する通知部と、を具備し、前記登録処理部は、前記ログイン要求に含まれる前記位置情報に基づいて算出したインデックスキーを有する管理テーブルに、前記ログイン要求の受信時刻を登録し、前記通知部は、前記距離算出部によって算出された距離が所定距離以下である他のユーザ端末のうち、前記管理テーブルに記憶された前記ログイン要求の受信時刻が前記一のユーザ端末からの前記検索要求の受信時刻から所定時間前の時刻までの間にある他のユーザ端末を、前記一のユーザ端末に通知することを特徴とする。 The data exchange server according to the first aspect of the present invention calculates an index key based on a storage unit that stores a management table having an index key for each area, and location information included in a login request from each user terminal, When a registration processing unit for registering the location information in the management table having the calculated index key and a search request for exchange data transmission candidates from one user terminal are received, based on the location information of the one user terminal A specifying unit for specifying an index key of each area at least partially included in a circle with a predetermined radius centered on the position of the one user terminal indicated by the position information; and an index key for each specified area A distance calculation unit that calculates a distance between the other user terminal registered in the management table having the one user terminal and the calculation Is the distance anda notification unit configured to notify the one user terminal as sending candidate replacement data of the user terminal of the other of said user terminals one at a predetermined distance or less was, the registration processing unit is configured The reception time of the login request is registered in a management table having an index key calculated based on the location information included in the login request, and the notification unit has a distance calculated by the distance calculation unit equal to or less than a predetermined distance. Among other user terminals, the other user terminals whose reception time of the login request stored in the management table is between the reception time of the search request from the one user terminal and the time before a predetermined time Is notified to the one user terminal .

この構成によれば、一のユーザ端末から交換データの送付候補の検索要求が受信された場合、前記一のユーザ端末の位置情報に基づいて、前記位置情報が示す前記一のユーザ端末の位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアのインデックスキーを特定する。このため、特定された各エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末と前記一のユーザ端末との間の距離を算出すればよく、ログイン中の全ての他のユーザ端末との間の距離を算出する必要がない。この結果、一のユーザ端末と同一エリアに位置する他のユーザ端末を、データ交換サーバの処理負荷を増大させずに、かつ、迅速に、当該一のユーザ端末の交換データの送付候補として特定できる。   According to this configuration, when an exchange data transmission candidate search request is received from one user terminal, the position of the one user terminal indicated by the position information is determined based on the position information of the one user terminal. An index key is specified for each area at least partially included in a circle with a predetermined radius at the center. For this reason, it is only necessary to calculate the distance between the other user terminal registered in the management table having the index key of each identified area and the one user terminal, and all other user terminals currently logged in There is no need to calculate the distance between. As a result, another user terminal located in the same area as the one user terminal can be quickly identified as a transmission candidate of the exchange data of the one user terminal without increasing the processing load of the data exchange server. .

本発明の第2側面に係るデータ交換方法は、エリア毎のインデックスキーを有する管理テーブルを記憶する記憶部を有するデータ交換サーバにおけるデータ交換方法であって、各ユーザ端末からのログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに前記位置情報を登録する工程と、一のユーザ端末から交換データの送付候補の検索要求が受信された場合、前記一のユーザ端末の位置情報に基づいて、前記位置情報が示す前記一のユーザ端末の位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアのインデックスキーを特定する工程と、特定された前記各エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末と前記一のユーザ端末との間の距離を算出する工程と、算出された前記距離が所定距離以下である他のユーザ端末を前記一のユーザ端末の交換データの送付候補として前記一のユーザ端末に通知する工程と、を具備し、前記登録する工程において、前記ログイン要求に含まれる前記位置情報に基づいて算出したインデックスキーを有する管理テーブルに、前記ログイン要求の受信時刻を登録し、前記通知する工程において、前記算出する工程において算出された距離が所定距離以下である他のユーザ端末のうち、前記管理テーブルに記憶された前記ログイン要求の受信時刻が前記一のユーザ端末からの前記検索要求の受信時刻から所定時間前の時刻までの間にある他のユーザ端末を、前記一のユーザ端末に通知することを特徴とする。 A data exchange method according to the second aspect of the present invention is a data exchange method in a data exchange server having a storage unit for storing a management table having an index key for each area, and is included in a login request from each user terminal. When the index key is calculated based on the position information, the position information is registered in the management table having the calculated index key, and when a search request for exchange data transmission candidates is received from one user terminal, Identifying an index key of each area at least partially included in a circle with a predetermined radius centered on the position of the one user terminal indicated by the position information based on the position information of the user terminal The other user terminal registered in the management table having the index key of each area and the one user terminal Calculating a distance between the first user terminal and another user terminal having the calculated distance equal to or less than a predetermined distance as a candidate for sending exchange data of the one user terminal, And in the step of registering, in the step of registering and notifying the reception time of the login request in a management table having an index key calculated based on the location information included in the login request Among other user terminals whose distance calculated in the step of performing is a predetermined distance or less, the reception time of the login request stored in the management table is a predetermined time from the reception time of the search request from the one user terminal Another user terminal in the previous time is notified to the one user terminal .

本発明によれば、一のユーザ端末と同一エリアに位置する他のユーザ端末を、処理負荷を増大させずに、かつ、迅速に、当該一のユーザ端末の交換データの送付候補として特定可能なデータ交換サーバ及びデータ交換方法を提供できる。   According to the present invention, another user terminal located in the same area as one user terminal can be quickly identified as a candidate for sending exchange data of the one user terminal without increasing the processing load. A data exchange server and a data exchange method can be provided.

第1の実施の形態に係るデータ交換システムの概略構成図である。1 is a schematic configuration diagram of a data exchange system according to a first embodiment. 第1の実施の形態に係るデータ交換サーバの詳細機能構成図である。It is a detailed functional block diagram of the data exchange server which concerns on 1st Embodiment. 第1の実施の形態に係る登録情報記憶部の概念図である。It is a conceptual diagram of the registration information storage part which concerns on 1st Embodiment. 第1の実施の形態に係る検索エリアの概念図である。It is a conceptual diagram of the search area which concerns on 1st Embodiment. 第1の実施の形態に係る交換状態記憶部の一例を示す図である。It is a figure which shows an example of the exchange state memory | storage part which concerns on 1st Embodiment. 第1の実施の形態に係るデータ交換システムの検索動作を示すシーケンス図である。It is a sequence diagram which shows the search operation | movement of the data exchange system which concerns on 1st Embodiment. 第1の実施の形態に係るデータ交換サーバの検索動作を示すフローチャートである。It is a flowchart which shows the search operation | movement of the data exchange server which concerns on 1st Embodiment. 第1の実施の形態に係るデータ交換システムの交換動作を示すシーケンス図である。It is a sequence diagram which shows the exchange operation | movement of the data exchange system which concerns on 1st Embodiment.

以下、本発明の実施の形態について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(第1の実施の形態)
図1は、第1の実施の形態に係るデータ交換システムの概略構成図である。図1に示すように、データ交換システム1は、ユーザ端末10A〜10Cと、ユーザ端末10A〜10Cと無線基地局20及びコアネットワーク30を介して通信を行うデータ交換サーバ40とから構成される。
(First embodiment)
FIG. 1 is a schematic configuration diagram of a data exchange system according to the first embodiment. As shown in FIG. 1, the data exchange system 1 includes user terminals 10 </ b> A to 10 </ b> C, and data exchange servers 40 that communicate with the user terminals 10 </ b> A to 10 </ b> C via the radio base station 20 and the core network 30.

図1に示すデータ交換システム1において、データ交換サーバ40は、ユーザ端末10A〜10C間におけるデータ交換を管理する。ここで、ユーザ端末10A〜10C間で交換される交換データは、例えば、ユーザ端末10A〜10Cの電話番号やメールアドレス、ユーザ端末10A〜10Cのユーザの氏名、住所、役職、当該ユーザの他のメールアドレスや、当該ユーザのソーシャルネットワークサービス(SNS)−IDなどの名刺情報や、写真やアバターなどの画像情報や、趣味や出身地などのプロフィール情報などであるが、これに限られるものではない。   In the data exchange system 1 shown in FIG. 1, the data exchange server 40 manages data exchange between the user terminals 10A to 10C. Here, the exchange data exchanged between the user terminals 10A to 10C includes, for example, telephone numbers and email addresses of the user terminals 10A to 10C, names, addresses, titles of the users of the user terminals 10A to 10C, and other information of the user. This includes, but is not limited to, e-mail addresses, business card information such as the social network service (SNS) -ID of the user, image information such as photos and avatars, and profile information such as hobbies and birthplaces. .

また、データ交換システム1は、図1に示す構成に限られるものではない。例えば、データ交換システム1において、コアネットワーク30とデータ交換サーバ40との間に不図示の認証用ノードやインタフェースノード等が設けられてもよい。また、ユーザ端末10A〜10Cの数、無線基地局20の数は、図1に示す数に限られるものではない。以下、ユーザ端末10A〜10Cを区別しない場合はユーザ端末10と総称するものとする。   Further, the data exchange system 1 is not limited to the configuration shown in FIG. For example, in the data exchange system 1, an authentication node, an interface node, etc. (not shown) may be provided between the core network 30 and the data exchange server 40. Further, the number of user terminals 10A to 10C and the number of radio base stations 20 are not limited to the numbers shown in FIG. Hereinafter, the user terminals 10 </ b> A to 10 </ b> C are collectively referred to as the user terminal 10 when not distinguished.

次に、第1の実施の形態に係るデータ交換システムの機能構成について説明する。なお、データ交換システム1を構成する各装置(具体的には、データ交換サーバ40、ユーザ端末10など)は、通信インタフェース、プロセッサ、メモリ、送受信回路、ディスプレイ、操作キー、タッチパネルなどを含むハードウェアを有しており、メモリには、プロセッサによって実行されるソフトウェアモジュールが記憶されている。後述する機能構成は、上述のハードウェアによって実現されてもよいし、プロセッサによって実行されるソフトウェアモジュールによって実現されてもよいし、両者の組み合わせによって実現されてもよい。   Next, a functional configuration of the data exchange system according to the first embodiment will be described. Note that each device (specifically, the data exchange server 40, the user terminal 10 and the like) constituting the data exchange system 1 includes hardware including a communication interface, a processor, a memory, a transmission / reception circuit, a display, operation keys, a touch panel, and the like. The memory stores software modules that are executed by the processor. A functional configuration to be described later may be realized by the hardware described above, may be realized by a software module executed by a processor, or may be realized by a combination of both.

図2は、第1の実施の形態に係るデータ交換サーバ40の詳細機能構成図である。図2に示すように、データ交換サーバ40は、送受信部401、登録情報記憶部402、登録処理部403、検索処理部404、交換管理部405、交換状態記憶部406、交換データ記憶部407を具備する。   FIG. 2 is a detailed functional configuration diagram of the data exchange server 40 according to the first embodiment. As shown in FIG. 2, the data exchange server 40 includes a transmission / reception unit 401, a registration information storage unit 402, a registration processing unit 403, a search processing unit 404, an exchange management unit 405, an exchange status storage unit 406, and an exchange data storage unit 407. It has.

送受信部401(通知部)は、無線基地局20及びコアネットワーク30などを介してユーザ端末10と情報を送受信する。具体的には、送受信部401は、後述するログイン要求、検索要求、状態取得要求、交換データなどをユーザ端末10から受信する。また、送受信部401は、後述する検索処理部404から入力された送付候補リスト、後述する交換管理部405から入力された状態情報、交換データなどをユーザ端末10に送信する。送受信部401は、例えば、HTTPプロトコルを用いて、上記情報の送受信を行う。   The transmission / reception unit 401 (notification unit) transmits / receives information to / from the user terminal 10 via the radio base station 20 and the core network 30. Specifically, the transmission / reception unit 401 receives a login request, a search request, a status acquisition request, exchange data, and the like, which will be described later, from the user terminal 10. In addition, the transmission / reception unit 401 transmits a transmission candidate list input from a search processing unit 404 described later, status information input from an exchange management unit 405 described later, exchange data, and the like to the user terminal 10. The transmission / reception unit 401 transmits and receives the information using, for example, an HTTP protocol.

登録情報記憶部402(記憶部)は、所定エリア毎にユーザ端末10の登録情報を管理する管理テーブルを記憶する。具体的には、所定エリア毎の管理テーブルでは、各エリアに位置するユーザ端末10のユーザ識別情報、位置情報、交換データの識別情報(以下、交換データ識別情報という)、ログイン要求の受信時刻(以下、ログイン要求受信時刻という)、ニックネームが関連付けて記憶される。図3は、第1の実施の形態に係る登録情報記憶部402の概念図である。   The registration information storage unit 402 (storage unit) stores a management table for managing registration information of the user terminal 10 for each predetermined area. Specifically, in the management table for each predetermined area, the user identification information of the user terminal 10 located in each area, the position information, the exchange data identification information (hereinafter referred to as exchange data identification information), the login request reception time ( Hereinafter, the login request reception time) is stored in association with the nickname. FIG. 3 is a conceptual diagram of the registration information storage unit 402 according to the first embodiment.

図3に示すように、管理テーブルは、矩形に区切られたエリア毎(例えば、1km四方の正方形のエリア毎)に設けられており、当該エリア内の位置情報(例えば、経度及び緯度や、在圏セル情報など)に基づいて算出されるインデックスキーを有する。このインデックスキーは、例えば、経度及び緯度をキーとするハッシュ関数で得られるハッシュ値である。   As shown in FIG. 3, the management table is provided for each area divided into rectangles (for example, for each square area of 1 km square), and position information in the area (for example, longitude and latitude, location information, etc.). Index key calculated based on the service cell information). This index key is a hash value obtained by a hash function using, for example, longitude and latitude as keys.

なお、図3では、経度方向をx軸、緯度方向をy軸として、x軸方向に連続するエリアに連続するインデックスキーが付与されるように、経度、緯度に基づいてインデックスキーが算出されるがこれに限られるものではない。例えば、y軸方向に連続するエリアに連続するインデックスキーが付与されるように、経度、緯度に基づいてインデックスキーが算出されてもよい。   In FIG. 3, the index key is calculated based on longitude and latitude so that a continuous index key is assigned to an area continuous in the x-axis direction, where the longitude direction is the x-axis and the latitude direction is the y-axis. Is not limited to this. For example, the index key may be calculated based on longitude and latitude so that a continuous index key is given to an area continuous in the y-axis direction.

また、図3では、x軸方向のエリアの数が「8」である場合を示しているが、1以上の整数であればどのような数であってもよい。同様に、y軸方向のエリアの数が「8」である場合を示しているが、1以上の整数であればどのような数であってもよい。   Further, FIG. 3 shows a case where the number of areas in the x-axis direction is “8”, but any number may be used as long as it is an integer of 1 or more. Similarly, the case where the number of areas in the y-axis direction is “8” is shown, but any number may be used as long as it is an integer of 1 or more.

また、図3に示すような複数のエリアからなるエリアブロックは、1つであってもよいし、複数であってもよい。具体的には、エリアブロックが、日本全国に1つ設けられてもよいし、所定数の地域毎(例えば、北海道エリア、東北エリアや、経度何度・緯度何度以上など)に設けられてもよい。エリアブロックが地域毎に設けられる場合、日本全国に対して1つのエリアブロックを設ける場合と比較して、各エリアブロックで付与されるインデックスキーの数が少なくなるので、より検索効率が高くなる。   Moreover, the area block which consists of a some area as shown in FIG. 3 may be one, and may be plural. Specifically, one area block may be provided throughout Japan, or a predetermined number of areas (for example, the Hokkaido area, the Tohoku area, the longitude number, the latitude number, etc.) may be provided. Also good. When the area block is provided for each region, the number of index keys assigned to each area block is reduced compared to the case where one area block is provided for the entire country of Japan, so that the search efficiency is further increased.

登録処理部403は、送受信部401によってユーザ端末10からログイン要求が受信された場合、当該ログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに当該ユーザ端末10の登録情報を登録する。ここで、ログイン要求とは、データ交換サービスを利用するために、データ交換サーバ40に対するログインを要求するものである。ログイン要求には、ユーザ端末10の位置情報(例えば、緯度及び経度、在圏セル情報など)の他に、ユーザ識別情報、合言葉、交換データなどが含まれてもよい。   When the log-in request is received from the user terminal 10 by the transmission / reception unit 401, the registration processing unit 403 calculates an index key based on the position information included in the log-in request, and stores the user in the management table having the calculated index key. Registration information of the terminal 10 is registered. Here, the login request is a request for login to the data exchange server 40 in order to use the data exchange service. The login request may include user identification information, secret words, exchange data, and the like in addition to location information of the user terminal 10 (for example, latitude and longitude, in-zone cell information, etc.).

具体的には、登録処理部403は、算出したインデックスキーを有する管理テーブルに、ユーザ端末10のユーザ識別情報、位置情報(例えば、緯度及び経度、在圏セル情報など)、交換データ識別情報、当該ログイン要求の受信時刻(以下、ログイン要求受信時刻という)、ニックネームを関連付けて登録する。   Specifically, the registration processing unit 403 adds, to the management table having the calculated index key, user identification information of the user terminal 10, position information (for example, latitude and longitude, in-zone cell information, etc.), exchange data identification information, The login request reception time (hereinafter referred to as login request reception time) and a nickname are registered in association with each other.

例えば、ユーザ端末10Aの位置情報「経度Xa,緯度Ya」に基づいてインデックスキー「36」が算出された場合、図3に示すように、インデックスキー「36」を有する管理テーブルにユーザ端末10Aのユーザ識別情報「#A」、位置情報「経度Xa,緯度Ya」、交換データ識別情報「名刺a」、ログイン要求受信時刻「21:30」、ニックネーム「Aaa」が関連付けて登録される。   For example, when the index key “36” is calculated based on the position information “longitude Xa, latitude Ya” of the user terminal 10A, as shown in FIG. 3, the management table having the index key “36” is displayed in the management table. User identification information “#A”, position information “longitude Xa, latitude Ya”, exchange data identification information “business card a”, login request reception time “21:30”, and nickname “Aaa” are registered in association with each other.

なお、図3に示す管理テーブルは例示にすぎず、管理テーブルには、ユーザ端末10の位置情報が少なくとも記憶されていればよい。また、図3に示すログイン要求受信時刻は、時分単位で登録されているが、これに限られるものではなく、時分秒単位で登録されてもよい。   Note that the management table illustrated in FIG. 3 is merely an example, and at least the location information of the user terminal 10 may be stored in the management table. The login request reception time shown in FIG. 3 is registered in units of hours and minutes, but is not limited to this, and may be registered in units of hours, minutes, and seconds.

また、登録処理部403は、ユーザ端末10からのログイン要求に含まれる交換データを交換データ記憶部407に記憶させる。なお、登録処理部403は、交換データを交換データ識別情報(例えば、名刺IDなど)やユーザ識別情報などに関連付けて交換データ記憶部407に記憶させてもよい。   In addition, the registration processing unit 403 stores the exchange data included in the login request from the user terminal 10 in the exchange data storage unit 407. The registration processing unit 403 may store the exchange data in the exchange data storage unit 407 in association with exchange data identification information (for example, business card ID) or user identification information.

検索処理部404は、送受信部401によってユーザ端末10からの検索要求が受信された場合、登録情報記憶部402を参照し、ユーザ端末10の交換データの送付候補となる他のユーザ端末10を検索する。ここで、検索要求とは、ユーザ端末10の交換データの送付候補となる他のユーザ端末10の検索をデータ交換サーバ40に要求するものである。   When the search request from the user terminal 10 is received by the transmission / reception unit 401, the search processing unit 404 refers to the registration information storage unit 402 and searches for another user terminal 10 that is a candidate for sending exchange data of the user terminal 10. To do. Here, the search request is to request the data exchange server 40 to search for another user terminal 10 that is a candidate for sending exchange data of the user terminal 10.

具体的には、検索処理部404は、検索エリア特定部404a(特定部)と、距離算出部404bと、送付候補決定部404cとを具備する。   Specifically, the search processing unit 404 includes a search area specifying unit 404a (specifying unit), a distance calculating unit 404b, and a sending candidate determining unit 404c.

検索エリア特定部404aは、送受信部401によってユーザ端末10からの検索要求が受信された場合、検索エリアを特定する。検索エリアは、ユーザ端末10の位置情報が示す位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアで構成される。検索エリア特定部404aは、上述の管理テーブルに登録されたユーザ端末10の位置情報に基づいて、上記検索エリアを構成する各エリアのインデックスキーを特定することで、上記検索エリアを特定する。   When the search request from the user terminal 10 is received by the transmission / reception unit 401, the search area specifying unit 404a specifies the search area. The search area is configured by areas each including at least a part in a circle with a predetermined radius centered on the position indicated by the position information of the user terminal 10. The search area specifying unit 404a specifies the search area by specifying the index key of each area constituting the search area based on the position information of the user terminal 10 registered in the management table.

図4は、第1の実施の形態に係る検索エリアの概念図である。ここでは、検索エリアがユーザ端末10の位置を中心とする半径2kmの円内に少なくとも一部が含まれる各エリアで構成される場合が示される。図4に示すように、検索要求を送信したユーザ端末10の登録情報がインデックスキー「36」を有する管理テーブルに登録されている場合、上記検索エリアを構成する各エリアのインデックスキーは、18〜22、26〜30、34〜38、42〜46、50〜54である。   FIG. 4 is a conceptual diagram of a search area according to the first embodiment. Here, a case is shown in which the search area is composed of areas each including at least a part within a circle with a radius of 2 km centered on the position of the user terminal 10. As shown in FIG. 4, when the registration information of the user terminal 10 that has transmitted the search request is registered in the management table having the index key “36”, the index keys of each area constituting the search area are 18 to 22, 26-30, 34-38, 42-46, 50-54.

このような検索エリアを構成する各エリアのインデックスキーは、検索要求を送信したユーザ端末10の位置情報に基づいて算出される。具体的には、当該ユーザ端末10の位置情報(X,Y)に基づいて、当該ユーザ端末10の位置を中心とする所定半径(ここでは、半径2km)の円内に少なくとも一部が含まれる各エリア内の所定地点の位置情報(X+a,Y+b)を算出する。ここで、ユーザ端末10の位置情報(X,Y)は、管理テーブルに登録されている位置情報(経度、緯度)を、経度1度を90km、緯度1度を111.6kmとしてkm(キロメートル)単位に変更するものとする。また、図4では、各エリアは1km四方の正方形である。このため、図4においては、上記各エリア内の所定地点の位置情報(X+a,Y+b)は、−2≦a≦+2(aは整数)、−2≦b≦+2(bは整数)として、(X−2、Y−2)、(X−1、Y−2)、(X、Y−2)、(X+1、Y−2)、(X+2、Y−2)、…、(X+2、Y+2)で合計25個算出される。算出された25個の位置情報は、km(キロメートル)単位から経度・緯度の度単位に再変換されてハッシュ関数に入力される。このハッシュ関数で算出されるハッシュ値が各エリアのインデックスキーとなる。   The index key of each area constituting such a search area is calculated based on the position information of the user terminal 10 that transmitted the search request. Specifically, based on the position information (X, Y) of the user terminal 10, at least a part is included in a circle having a predetermined radius (here, radius 2 km) centered on the position of the user terminal 10. Position information (X + a, Y + b) of a predetermined point in each area is calculated. Here, the position information (X, Y) of the user terminal 10 is the km (km) where the position information (longitude, latitude) registered in the management table is 90 km for longitude 1 degree and 111.6 km for latitude 1 degree. Change to units. Moreover, in FIG. 4, each area is a 1 km square. For this reason, in FIG. 4, the position information (X + a, Y + b) of a predetermined point in each area is set as −2 ≦ a ≦ + 2 (a is an integer), −2 ≦ b ≦ + 2 (b is an integer), (X-2, Y-2), (X-1, Y-2), (X, Y-2), (X + 1, Y-2), (X + 2, Y-2), ..., (X + 2, Y + 2) ) To calculate a total of 25. The calculated 25 pieces of position information are reconverted from km (kilometers) to longitude / latitude degrees and input to the hash function. The hash value calculated by this hash function becomes an index key for each area.

以上のように、検索エリア特定部404aは、検索要求を送信したユーザ端末10の位置情報に基づいて検索エリアを構成する各エリア内の所定地点の位置情報を算出し、当該所定地点の位置情報に基づいて上記各エリアのインデックスキーを算出する。特に、以上で説明した算出方法では、ユーザ端末10の位置情報(X,Y)を経度・緯度単位からkm単位に変更するので、検索エリアを構成する各エリア内の所定地点の位置情報(X+a,Y+b)(ここで、−2≦a≦+2(aは整数)、−2≦b≦+2(bは整数))の算出を簡略化でき、各エリアのインデックスキーを容易に算出できる。   As described above, the search area specifying unit 404a calculates the position information of a predetermined point in each area constituting the search area based on the position information of the user terminal 10 that transmitted the search request, and the position information of the predetermined point. Based on the above, the index key of each area is calculated. In particular, in the calculation method described above, the position information (X, Y) of the user terminal 10 is changed from the longitude / latitude unit to the km unit, so the position information (X + a) of a predetermined point in each area constituting the search area. , Y + b) (where −2 ≦ a ≦ + 2 (a is an integer), −2 ≦ b ≦ + 2 (b is an integer)), and the index key of each area can be easily calculated.

なお、検索エリアを構成する各エリア内の所定地点の位置情報の算出方法は、上記に限られるものではない。例えば、ユーザ端末10の位置情報(X,Y)を経度・緯度単位のまま変更せずに算出することも可能である。この場合、経度1度を90km、緯度1度を111.6kmとすると、図4のインデックスキー37のエリア内の所定地点の位置情報は、((X+1/90),Y)で表わされる。また、図4のインデックスキー44のエリア内の所定地点の位置情報は、(X,(Y−1/111.6))で算出される。このように算出された位置情報をハッシュ関数に入力することで、経度・緯度単位とkm単位との変換・再変換を行わずとも、検索エリアを構成する各エリアのインデックスキーを算出できる。   In addition, the calculation method of the positional information on the predetermined point in each area which comprises a search area is not restricted above. For example, it is possible to calculate the position information (X, Y) of the user terminal 10 without changing it in the unit of longitude and latitude. In this case, assuming that the longitude 1 degree is 90 km and the latitude 1 degree is 111.6 km, the position information of the predetermined point in the area of the index key 37 in FIG. 4 is represented by ((X + 1/90), Y). Further, the position information of a predetermined point in the area of the index key 44 in FIG. 4 is calculated by (X, (Y−1 / 111.6)). By inputting the position information calculated in this way into the hash function, it is possible to calculate the index key of each area constituting the search area without performing conversion / reconversion between longitude / latitude units and km units.

距離算出部404bは、検索要求を送信したユーザ端末10と検索エリア特定部404aによって特定された検索エリア内に位置する他のユーザ端末10との間の距離を算出する。具体的には、距離算出部404bは、検索エリア特定部404aで算出されたインデックスキーを有する管理テーブルに登録された他のユーザ端末10の位置情報を取得する。また、距離算出部404bは、取得した位置情報に基づいて、検索要求を送信したユーザ端末10と当該他のユーザ端末10との間の距離を算出する。   The distance calculation unit 404b calculates the distance between the user terminal 10 that has transmitted the search request and the other user terminals 10 located in the search area specified by the search area specifying unit 404a. Specifically, the distance calculation unit 404b acquires the position information of the other user terminal 10 registered in the management table having the index key calculated by the search area specifying unit 404a. Further, the distance calculation unit 404b calculates a distance between the user terminal 10 that transmitted the search request and the other user terminal 10 based on the acquired position information.

送付候補決定部404cは、距離算出部404bによって算出された距離が所定距離(例えば、2km)以下であるか否かを判定する。送付候補決定部404cは、算出された距離が所定距離以下である他のユーザ端末10を送付候補として決定する。   The sending candidate determination unit 404c determines whether or not the distance calculated by the distance calculation unit 404b is equal to or less than a predetermined distance (for example, 2 km). The sending candidate determination unit 404c determines another user terminal 10 whose calculated distance is equal to or less than a predetermined distance as a sending candidate.

また、送付候補決定部404cは、ユーザ端末10の交換データの送付候補として検索された他のユーザ端末10のユーザ識別情報を含む送付候補リストを送受信部401に出力する。送受信部401は、送付候補決定部404cから出力された送付候補リストをユーザ端末10に送信する。   Further, the sending candidate determination unit 404 c outputs a sending candidate list including user identification information of other user terminals 10 searched as sending candidates for exchange data of the user terminal 10 to the transmission / reception unit 401. The transmission / reception unit 401 transmits the transmission candidate list output from the transmission candidate determination unit 404c to the user terminal 10.

なお、送付候補決定部404cは、距離算出部404bによって算出された距離が所定距離以下である他のユーザ端末10のログイン要求受信時刻やニックネームなどに基づいて、検索要求を送信したユーザ端末10の交換データの送付候補を更に絞ってもよい。例えば、送付候補決定部404cは、上記他のユーザ端末10のうち、ログイン要求受信時刻が検索要求の受信時刻から所定時間前までの間にあるユーザ端末10を送付候補として決定してもよい。また、送付候補決定部404cは、上記他のユーザ端末のうち、検索要求を送信したユーザ端末10と同じ合言葉を有するユーザ端末10を送付候補として決定してもよい。   Note that the sending candidate determination unit 404c transmits the search request based on the login request reception time or nickname of another user terminal 10 whose distance calculated by the distance calculation unit 404b is equal to or less than a predetermined distance. The exchange data sending candidates may be further narrowed down. For example, the transmission candidate determination unit 404c may determine, as the transmission candidates, user terminals 10 among the other user terminals 10 whose login request reception time is between a reception time of the search request and a predetermined time before. Further, the transmission candidate determination unit 404c may determine, as a transmission candidate, the user terminal 10 having the same password as the user terminal 10 that transmitted the search request among the other user terminals.

以上の検索処理部404による送付候補の検索処理は、送受信部401によってユーザ端末10からの再検索要求が受信された場合に行われてもよい。ここで、再検索要求とは、既に、送付候補が検索されたユーザ端末10が再度送付候補の検索を要求するものである。また、検索処理部404は、送受信部401によってユーザ端末10からの検索要求や再検索要求が受信された場合に、登録情報記憶部402に記憶されたログイン要求受信時刻を更新してもよい。かかる場合、ログイン要求受信時刻は、検索要求又は再検索要求の受信時刻に更新される。このように、ログイン要求受信時刻を更新することで、ログイン要求が受信されてから時間が経過しているユーザ端末10であっても、検索要求又は再検索要求が受信されていれば、送付候補として検索されることとなる。   The search processing for sending candidates by the search processing unit 404 described above may be performed when a re-search request from the user terminal 10 is received by the transmission / reception unit 401. Here, the re-search request means that the user terminal 10 that has already been searched for a transmission candidate requests a search for a transmission candidate again. The search processing unit 404 may update the login request reception time stored in the registration information storage unit 402 when the search request or re-search request from the user terminal 10 is received by the transmission / reception unit 401. In such a case, the login request reception time is updated to the reception time of the search request or the re-search request. In this way, by updating the login request reception time, even if the user terminal 10 has passed the time since the login request was received, if the search request or the re-search request is received, the transmission candidate Will be searched.

交換管理部405は、検索処理部404でユーザ端末10の交換データの送付候補として他のユーザ端末10が検索された場合、検索された他のユーザ端末10のユーザ識別情報と、検索された他のユーザ端末10に対するユーザ端末10からの交換データの送信状態、検索された他のユーザ端末10によるユーザ端末10からの交換データの受信状態とを関連付けて交換状態記憶部406(図5参照)に記憶させる。   When the search processing unit 404 searches for another user terminal 10 as a candidate for sending exchange data of the user terminal 10, the exchange management unit 405 searches the user identification information of the other user terminal 10 searched for and other The exchange state of the exchange data from the user terminal 10 to the user terminal 10 and the reception state of the exchange data from the user terminal 10 by the other user terminal 10 searched are associated with each other in the exchange state storage unit 406 (see FIG. 5). Remember me.

図5は、第1の実施の形態に係る交換状態記憶部406の一例を示す図である。図5に示すように、交換状態記憶部406では、ユーザ端末10Aのユーザ識別情報「#A」と、ユーザ端末10Aの交換データ#Aの送付候補として検索されたユーザ端末10B及び10Cのユーザ識別情報「#B」及び「#C」と、ユーザ端末10Aからのユーザ端末10B及び10Cに対する交換データ#Aの送信状態と、ユーザ端末10B及び10Cによる交換データ#Aの受信状態と、が関連付けて記憶される。   FIG. 5 is a diagram illustrating an example of the exchange state storage unit 406 according to the first embodiment. As shown in FIG. 5, in the exchange status storage unit 406, user identification information “#A” of the user terminal 10 </ b> A and user identifications of the user terminals 10 </ b> B and 10 </ b> C searched as transmission candidates of the exchange data #A of the user terminal 10 </ b> A The information “#B” and “#C”, the transmission state of the exchange data #A from the user terminal 10A to the user terminals 10B and 10C, and the reception state of the exchange data #A by the user terminals 10B and 10C are associated with each other. Remembered.

交換管理部405は、送受信部401によってユーザ端末10からの他のユーザ端末10に対する送信要求が受信された場合、ユーザ端末10からの他のユーザ端末10に対する交換データの送信状態を「済(送信済)」に更新する。ここで、送信要求とは、送付候補の他のユーザ端末10に対して交換データ記憶部407に記憶された交換データを送信することをユーザ端末10が要求するものである。例えば、図5においては、ユーザ端末10Aからの送信要求に応じて、ユーザ端末10Aからのユーザ端末10B及び10Cに対する交換データ#Aの送信状態が「未(未送信)」から「済(送信済)」に更新されている。   When the transmission / reception unit 401 receives a transmission request from the user terminal 10 to another user terminal 10, the exchange management unit 405 sets the transmission state of the exchange data from the user terminal 10 to the other user terminal 10 as “completed (transmission). Update) ”. Here, the transmission request is a request from the user terminal 10 to transmit the exchange data stored in the exchange data storage unit 407 to another user terminal 10 that is a candidate for transmission. For example, in FIG. 5, in response to a transmission request from the user terminal 10A, the transmission state of the exchange data #A from the user terminal 10A to the user terminals 10B and 10C is changed from “Not (not transmitted)” to “Completed (transmitted). ) ”.

また、交換管理部405は、送受信部401によってユーザ端末10からの状態取得要求が受信された場合、ユーザ端末10に対する交換データの送信状態を取得して、送受信部401に出力する。ここで、状態取得要求とは、自端末に対する他のユーザ端末10からの交換データの送信状態の取得を要求する、すなわち、自端末が受信可能な交換データがデータ交換サーバ40に存在するか否かを確認するためのものである。   In addition, when the transmission / reception unit 401 receives a status acquisition request from the user terminal 10, the exchange management unit 405 acquires the transmission state of the exchange data for the user terminal 10 and outputs it to the transmission / reception unit 401. Here, the status acquisition request requests acquisition of the transmission status of exchange data from another user terminal 10 to the own terminal, that is, whether or not exchange data that can be received by the own terminal exists in the data exchange server 40. It is for confirming.

例えば、図5において、ユーザ端末10Aからのユーザ端末10Bに対する交換データ#Aの送信状態は「済(送信済)」である一方、ユーザ端末10Cからのユーザ端末10Bに対する交換データ#Cの送信状態は「未(未送信)」である。このため、ユーザ端末10Bからの状態取得要求が受信された場合、交換管理部405は、ユーザ端末10Aからの交換データ#Aを受信可能であることを示す状態情報を送受信部401に出力する。送受信部401は、交換管理部405から入力された状態情報をユーザ端末10Bに送信する。   For example, in FIG. 5, the transmission state of the exchange data #A from the user terminal 10 </ b> A to the user terminal 10 </ b> B is “Done (transmitted)”, while the transmission state of the exchange data #C from the user terminal 10 </ b> C to the user terminal 10 </ b> B Is “not yet sent”. For this reason, when a status acquisition request is received from the user terminal 10B, the exchange management unit 405 outputs status information indicating that the exchange data #A from the user terminal 10A can be received to the transmission / reception unit 401. The transmission / reception unit 401 transmits the state information input from the exchange management unit 405 to the user terminal 10B.

また、交換管理部405は、送受信部401によって交換データの受信要求が受信された場合、交換データ記憶部407から交換データを取得して、送受信部401に出力する。送受信部401は、交換管理部405から入力された交換データをユーザ端末10に送信する。なお、交換データの受信要求には、交換データ識別情報(例えば、名刺IDなど)が含まれていてもよく、交換管理部405は、当該交換データ識別情報に関連付けられた交換データを交換データ記憶部407から取得してもよい。   Further, when the exchange data reception request is received by the transmission / reception unit 401, the exchange management unit 405 acquires the exchange data from the exchange data storage unit 407 and outputs the exchange data to the transmission / reception unit 401. The transmission / reception unit 401 transmits the exchange data input from the exchange management unit 405 to the user terminal 10. The exchange data reception request may include exchange data identification information (such as a business card ID), and the exchange management unit 405 stores the exchange data associated with the exchange data identification information in the exchange data storage. You may acquire from the part 407.

また、交換管理部405は、交換データの受信要求に応じて送受信部401により交換データがユーザ端末10に送信された場合、交換状態記憶部406におけるユーザ端末10による受信状態を「済(受信済)」に更新する。例えば、図5においては、ユーザ端末10Bによる交換データ#Aの受信状態が「未(未受信)」から「済(受信済)」に更新されている。   In addition, when the exchange data is transmitted to the user terminal 10 by the transmission / reception unit 401 in response to the exchange data reception request, the exchange management unit 405 sets the reception state of the user terminal 10 in the exchange state storage unit 406 to “completed (received). ) ". For example, in FIG. 5, the reception state of the exchange data #A by the user terminal 10B is updated from “not yet received” to “completed (received)”.

次に、第1の実施の形態に係るデータ交換システムの動作について説明する。具体的には、(1)各ユーザ端末10の交換データの送付候補の検索動作(以下、検索動作という)と、(2)各ユーザ端末10の交換データの交換動作(以下、交換動作という)を説明する。なお、以下の検索動作及び交換動作において、ユーザ端末10A〜10Cとデータ交換サーバ40との通信は、例えば、HTTPプロトコルを用いて行われるものとするが、通信可能であればどのようなプロトコルが用いられてもよい。また、ユーザ端末10A〜10Cとデータ交換サーバ40との通信は、不図示の中継用ノード(例えば、MAPS、コアネットワーク上のノード、無線基地局20など)を介して行われてもよい。   Next, the operation of the data exchange system according to the first embodiment will be described. Specifically, (1) a search operation for sending exchange data of each user terminal 10 (hereinafter referred to as a search operation), and (2) an exchange operation of exchange data for each user terminal 10 (hereinafter referred to as an exchange operation). Will be explained. In the following search operation and exchange operation, the communication between the user terminals 10A to 10C and the data exchange server 40 is performed using, for example, the HTTP protocol. May be used. Communication between the user terminals 10A to 10C and the data exchange server 40 may be performed via a relay node (not shown) (for example, MAPS, a node on the core network, the radio base station 20, etc.).

(1)検索動作
図6及び図7を参照し、第1の実施の形態に係るデータ交換システムにおける検索動作を説明する。図6は、第1の実施の形態に係るデータ交換システムにおける検索動作を示すシーケンス図である。図7は、第1の実施の形態に係るデータ交換サーバにおける検索動作を示すフローチャートである。なお、図6及び図7では、図3に示すように、所定エリア毎にユーザ端末10の登録情報を管理する管理テーブルが登録情報記憶部402に記憶されているものとする。
(1) Search Operation The search operation in the data exchange system according to the first embodiment will be described with reference to FIGS. FIG. 6 is a sequence diagram showing a search operation in the data exchange system according to the first embodiment. FIG. 7 is a flowchart showing a search operation in the data exchange server according to the first embodiment. 6 and 7, it is assumed that a management table for managing registration information of the user terminal 10 is stored in the registration information storage unit 402 for each predetermined area, as shown in FIG.

図6に示すように、ユーザ端末10Aは、データ交換サーバ40に対して、ログイン要求を送信する(ステップS101)。ここでは、当該ログイン要求には、ユーザ端末10Aの位置情報(例えば、経度、緯度)が含まれる。なお、当該ログイン要求には、ユーザ端末10Aのユーザ識別情報、交換データ識別情報、ニックネーム、交換データなどが含まれてもよい。ユーザ端末10Aは、データ交換サーバ40に対するログイン要求の送信を契機として、検索要求制限タイマ(後述)を起動する。   As illustrated in FIG. 6, the user terminal 10A transmits a login request to the data exchange server 40 (step S101). Here, the login request includes location information (for example, longitude and latitude) of the user terminal 10A. The login request may include user identification information, exchange data identification information, nickname, exchange data, and the like of the user terminal 10A. The user terminal 10A starts a search request limit timer (described later) triggered by transmission of a login request to the data exchange server 40.

データ交換サーバ40は、ユーザ端末10Aからのログイン要求を受信すると、当該ログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに当該ユーザ端末10Aの登録情報を登録する。(ステップS102)。例えば、ユーザ端末10Aの位置情報「経度Xa,緯度Ya」からインデックスキー「36」が算出される場合、図3に示すように、データ交換サーバ40は、インデックスキー「36」を有する管理テーブルに、ユーザ端末10Aのユーザ識別情報「#A」、位置情報「経度Xa,緯度Ya」、交換データ識別情報「名刺a」、ログイン要求受信時刻「21:30」、ニックネーム「Aaa」を関連付けて登録する。また、データ交換サーバ40は、ユーザ端末10Aからのログイン要求に含まれる交換データ#Aを交換データ識別情報「名刺a」と関連付けて交換データ記憶部407に記憶させる。   When the data exchange server 40 receives the login request from the user terminal 10A, the data exchange server 40 calculates an index key based on the position information included in the login request, and the registration information of the user terminal 10A in the management table having the calculated index key. Register. (Step S102). For example, when the index key “36” is calculated from the position information “longitude Xa, latitude Ya” of the user terminal 10A, the data exchange server 40 stores the index key “36” in the management table as shown in FIG. , User identification information “#A” of user terminal 10A, position information “longitude Xa, latitude Ya”, exchange data identification information “business card a”, login request reception time “21:30”, and nickname “Aaa” are registered in association with each other. To do. Further, the data exchange server 40 stores the exchange data #A included in the login request from the user terminal 10A in the exchange data storage unit 407 in association with the exchange data identification information “business card a”.

同様に、ユーザ端末10B及び10Cは、データ交換サーバ40に対して、ログイン要求を送信する(ステップS103、S105)。データ交換サーバ40は、ユーザ端末10B及び10Cからのログイン要求を受信すると、当該ログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに当該ユーザ端末10B及び10Cの登録情報を登録する。(ステップS104、S106)。例えば、図3では、インデックスキー「37」を有する管理テーブルにユーザ端末10Cの登録情報が登録されており、インデックスキー「44」を有する管理テーブルにユーザ端末10Bの登録情報が登録されている。また、データ交換サーバ40は、ユーザ端末10B及び10Cからのログイン要求に含まれる交換データ#B及び#Cを交換データ識別情報「名刺b」、「名刺c」と関連付けて交換データ記憶部407に記憶させる。   Similarly, the user terminals 10B and 10C transmit a login request to the data exchange server 40 (steps S103 and S105). When the data exchange server 40 receives the login request from the user terminals 10B and 10C, the data exchange server 40 calculates an index key based on the position information included in the login request, and stores the user terminal 10B and the management table having the calculated index key. Register 10C registration information. (Steps S104 and S106). For example, in FIG. 3, registration information of the user terminal 10C is registered in the management table having the index key “37”, and registration information of the user terminal 10B is registered in the management table having the index key “44”. The data exchange server 40 associates the exchange data #B and #C included in the login request from the user terminals 10B and 10C with the exchange data identification information “business card b” and “business card c” in the exchange data storage unit 407. Remember me.

ユーザ端末10Aは、ログイン要求の送信を契機に起動した検索要求制限タイマが満了すると、データ交換サーバ40に対して、ユーザ端末10Aの交換データ#Aの送付候補の検索を要求する検索要求を送信する(ステップS107)。   When the search request limit timer started when the login request is transmitted expires, the user terminal 10A transmits a search request that requests the data exchange server 40 to search for transmission candidates for the exchange data #A of the user terminal 10A. (Step S107).

データ交換サーバ40は、ユーザ端末10Aからの検索要求を受信すると、ユーザ端末10Aの交換データ#Aの送付候補の検索処理を行う(ステップS108)。図7を参照し、データ交換サーバ40の検索処理部404における検索動作を詳述する。なお、図7の「検索者」とは、データ交換サーバ40に対して検索要求を送信するユーザ端末10である。以下では、「検索者」がユーザ端末10Aである場合を説明するが、他のユーザ端末10である場合も同様の動作が行なわれるものとする。   When the data exchange server 40 receives the search request from the user terminal 10A, the data exchange server 40 performs a search process for the transmission candidate of the exchange data #A of the user terminal 10A (step S108). The search operation in the search processing unit 404 of the data exchange server 40 will be described in detail with reference to FIG. The “searcher” in FIG. 7 is the user terminal 10 that transmits a search request to the data exchange server 40. Hereinafter, a case where the “searcher” is the user terminal 10 </ b> A will be described, but the same operation is performed when the “searcher” is another user terminal 10.

図7に示すように、データ交換サーバ40は、検索者(ここでは、ユーザ端末10A)からの検索要求を受信すると、検索者の登録情報が登録された管理テーブルを登録情報記憶部402から検索し、検索された管理テーブルのインデックスキーを取得する(ステップS201)。例えば、図4では、検索者(ユーザ端末10A)の登録情報はインデックスキー「36」を有する管理テーブルに登録されているので、インデックスキー「36」が取得される。   As shown in FIG. 7, when the data exchange server 40 receives a search request from a searcher (here, the user terminal 10 </ b> A), the data exchange server 40 searches the registration information storage unit 402 for a management table in which searcher registration information is registered. Then, the index key of the searched management table is acquired (step S201). For example, in FIG. 4, since the registration information of the searcher (user terminal 10A) is registered in the management table having the index key “36”, the index key “36” is acquired.

データ交換サーバ40は、検索者の登録情報が登録された管理テーブルのインデックスキーに基づいて、検索エリアを構成する各エリアのインデックスキーを算出する(ステップS202)。上述のように、検索エリアは、検索者の位置情報が示す位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアで構成される。   The data exchange server 40 calculates the index key of each area constituting the search area based on the index key of the management table in which the registration information of the searcher is registered (step S202). As described above, the search area is configured by areas each including at least a part of a circle having a predetermined radius centered on the position indicated by the position information of the searcher.

例えば、図4において、検索者(ユーザ端末10A)の位置情報「経度Xa,緯度Ya」を経度1度を90km、緯度1度を111.6kmとしてkm(キロメートル)単位に変更した値を(X、Y)とする。このとき、検索エリアを構成する各エリア内の所定地点の位置情報は、−2≦a≦+2(aは整数)、−2≦b≦+2(bは整数)として、(X+a,Y+b)で算出される。例えば、検索者の位置するエリアの右側に隣接するエリアの所定地点の位置情報は(X+1,Y)で算出され、下側に隣接するエリアの所定地点の位置情報は(X,Y−1)で算出される。これらの位置情報は経度・緯度単位に再変換されてハッシュ関数に入力される。経度・緯度単位に再変換された(X+1,Y)、(X,Y−1)をハッシュ関数に入力することでインデックスキー「37」、「44」算出される。同様に、図4では、検索エリアを構成する各エリアのインデックスキー「18」〜「22」、「26」〜「30」、「34」〜「38」、「42」〜「46」、「50」〜「54」が算出される。   For example, in FIG. 4, the position information “longitude Xa, latitude Ya” of the searcher (user terminal 10A) is changed to km (kilometers) with the longitude 1 degree being 90 km and the latitude 1 degree being 111.6 km. , Y). At this time, the position information of a predetermined point in each area constituting the search area is (X + a, Y + b) where −2 ≦ a ≦ + 2 (a is an integer) and −2 ≦ b ≦ + 2 (b is an integer). Calculated. For example, the position information of a predetermined point in the area adjacent to the right side of the area where the searcher is located is calculated by (X + 1, Y), and the position information of the predetermined point in the area adjacent to the lower side is (X, Y−1). Is calculated by The position information is reconverted into longitude / latitude units and input to the hash function. Index keys “37” and “44” are calculated by inputting (X + 1, Y) and (X, Y−1) re-converted into longitude / latitude units to the hash function. Similarly, in FIG. 4, the index keys “18” to “22”, “26” to “30”, “34” to “38”, “42” to “46”, “ 50 "to" 54 "are calculated.

データ交換サーバ40は、以上のように算出したインデックスキーを有する管理テーブルに登録されたユーザ端末10を抽出する(ステップS203)。図4に示す場合、検索エリアを構成する各エリアのインデックスキーは、18〜22、26〜30、34〜38、42〜46、50〜54であるので、これらのインデックスキーを有する管理テーブルに登録されたユーザ端末10が抽出される。   The data exchange server 40 extracts the user terminal 10 registered in the management table having the index key calculated as described above (step S203). In the case shown in FIG. 4, since the index keys of each area constituting the search area are 18-22, 26-30, 34-38, 42-46, 50-54, the management table having these index keys is included in the management table. The registered user terminal 10 is extracted.

以上のように、検索者の位置情報から検索エリアを構成する各エリアのインデックスキーを算出できるので、検索エリア(すなわち、検索者の位置情報が示す位置から所定半径以内の円に少なくとも一部が含まれる複数のエリア)を容易に特定することができる。   As described above, since the index key of each area constituting the search area can be calculated from the position information of the searcher, at least a part of the search area (that is, a circle within a predetermined radius from the position indicated by the position information of the searcher) A plurality of areas included) can be easily specified.

データ交換サーバ40は、検索者の位置情報と抽出されたユーザ端末10の位置情報とから、検索者と抽出されたユーザ端末10との間の2地点間の距離を算出する(ステップS204)。   The data exchange server 40 calculates the distance between two points between the searcher and the extracted user terminal 10 from the searcher's position information and the extracted position information of the user terminal 10 (step S204).

データ交換サーバ40は、算出された2地点間の距離が所定距離(例えば、2km)以下であるユーザ端末10を検索者の交換データの送付候補として決定する(ステップS205)。データ交換サーバ40は、決定されたユーザ端末10を検索者の交換データの送付候補として交換状態記憶部406に記憶する。   The data exchange server 40 determines the user terminal 10 whose calculated distance between the two points is equal to or less than a predetermined distance (for example, 2 km) as a searcher exchange data transmission candidate (step S205). The data exchange server 40 stores the determined user terminal 10 in the exchange state storage unit 406 as a candidate for sending searcher exchange data.

なお、データ交換サーバ40は、ステップS205で決定されたユーザ端末10のログイン要求受信時刻やニックネームに基づいて、検索者の交換データの送付候補を更に絞ってもよい。例えば、データ交換サーバ40は、ログイン要求受信時刻が検索要求受信時刻から所定時間前までの間となるユーザ端末10を送付候補として検索してもよい。また、データ交換サーバ40は、検索者と同じ合言葉を有する他のユーザ端末10を送付候補として検索してもよい。   Note that the data exchange server 40 may further narrow down searcher exchange data transmission candidates based on the login request reception time and nickname of the user terminal 10 determined in step S205. For example, the data exchange server 40 may search the user terminal 10 whose login request reception time is between a search request reception time and a predetermined time before as a transmission candidate. Further, the data exchange server 40 may search for another user terminal 10 having the same password as the searcher as a transmission candidate.

図6に示すように、データ交換サーバ40は、以上のように送付候補として検索されたユーザ端末10をユーザ端末10Aに通知する(ステップS109)。具体的には、データ交換サーバ40は、ユーザ端末10Aに対して、検索されたユーザ端末10のユーザ識別情報を含む送付候補リストを送信する。図4に示す場合、交換データ#Aの送付候補として、ユーザ端末10B及び10Cが決定されるので、ユーザ端末10B及び10Cのユーザ識別情報「#B」及び「#C」を含む送付候補リストが、ユーザ端末10Aに送信される。   As shown in FIG. 6, the data exchange server 40 notifies the user terminal 10 </ b> A of the user terminal 10 searched as a transmission candidate as described above (step S <b> 109). Specifically, the data exchange server 40 transmits a transmission candidate list including the user identification information of the searched user terminal 10 to the user terminal 10A. In the case shown in FIG. 4, since the user terminals 10B and 10C are determined as the transmission candidates for the exchange data #A, the transmission candidate list including the user identification information “#B” and “#C” of the user terminals 10B and 10C is generated. To the user terminal 10A.

同様に、ユーザ端末10Bは、ログイン要求の送信を契機に起動した検索要求制限タイマが満了すると、データ交換サーバ40に対して、ユーザ端末10Bの交換データ#Bの送付候補の検索を要求する検索要求を送信する(ステップS110)。データ交換サーバ40は、ユーザ端末10Bからの検索要求を受信すると、図7で説明したように交換データ#Bの送付候補の検索処理を行い(ステップS111)、検索された他のユーザ端末10をユーザ端末10Bに通知する(ステップS112)。   Similarly, when the search request limit timer started when the login request is transmitted expires, the user terminal 10B requests the data exchange server 40 to search for a transmission candidate for the exchange data #B of the user terminal 10B. A request is transmitted (step S110). When the data exchange server 40 receives the search request from the user terminal 10B, the data exchange server 40 performs a process for searching for a candidate for sending the exchange data #B as described with reference to FIG. 7 (step S111). The user terminal 10B is notified (step S112).

また、ユーザ端末10Cは、ログイン要求の送信を契機に起動した検索要求制限タイマが満了すると、データ交換サーバ40に対して、ユーザ端末10Cの交換データ#Cの送付候補の検索を要求する検索要求を送信する(ステップS113)。データ交換サーバ40は、ユーザ端末10Cからの検索要求を受信すると、図7で説明したように交換データ#Cの送付候補の検索処理を行い(ステップS114)、検索された他のユーザ端末10をユーザ端末10Cに通知する(ステップS115)。   Further, the user terminal 10C requests the data exchange server 40 to search for the transmission candidate of the exchange data #C of the user terminal 10C when the search request limit timer started when the login request is transmitted expires. Is transmitted (step S113). When receiving the search request from the user terminal 10C, the data exchange server 40 performs a process for searching for a candidate for sending the exchange data #C as described with reference to FIG. 7 (step S114). The user terminal 10C is notified (step S115).

以上のように、第1の実施の形態に係るデータ交換システムにおける検索動作によれば、ユーザ端末10Aから交換データの送付候補の検索要求が受信された場合、ユーザ端末10Aの位置情報に基づいて、当該位置情報が示すユーザ端末10Aの位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリア(すなわち、検索エリアを構成する各エリア)のインデックスキーを特定する。このため、特定された各エリアのインデックスキーを有する管理テーブルに登録されたユーザ端末10B、10Cとユーザ端末10Aとの間の距離を算出すればよく、ログイン中の全ての他のユーザ端末10との間の距離を算出する必要がない。この結果、ユーザ端末10Aと同一エリアに位置する他のユーザ端末10B、10Cを、データ交換サーバ40の処理負荷を増大させずに、かつ、迅速に、ユーザ端末10Aの交換データの送付候補として特定できる。   As described above, according to the search operation in the data exchange system according to the first embodiment, when a search request for a candidate for sending exchange data is received from the user terminal 10A, based on the location information of the user terminal 10A. The index key of each area (that is, each area constituting the search area) at least partially included in a circle with a predetermined radius centered on the position of the user terminal 10A indicated by the position information is specified. For this reason, it is only necessary to calculate the distance between the user terminals 10B and 10C registered in the management table having the index key of each identified area and the user terminal 10A. There is no need to calculate the distance between. As a result, the other user terminals 10B and 10C located in the same area as the user terminal 10A are quickly identified as candidates for sending the exchange data of the user terminal 10A without increasing the processing load of the data exchange server 40. it can.

また、第1の実施の形態に係るデータ交換システムにおける検索動作によれば、データ交換サーバ40は、ユーザ端末10Aの位置情報が登録された管理テーブルのインデックスキーに基づいて検索エリアのインデックスキーを算出する。このため、当該検索エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末10を、ユーザ端末10Aと同一エリアに位置するユーザ端末10としてより迅速に特定できる。   Further, according to the search operation in the data exchange system according to the first embodiment, the data exchange server 40 determines the index key of the search area based on the index key of the management table in which the location information of the user terminal 10A is registered. calculate. For this reason, the other user terminal 10 registered in the management table having the index key of the search area can be identified more quickly as the user terminal 10 located in the same area as the user terminal 10A.

(2)交換動作
次に、図8を参照し、第1の実施の形態に係るデータ交換システムにおける交換動作を説明する。図8は、第1の実施の形態に係るデータ交換システムにおける交換動作を示すシーケンス図である。なお、図8において、ユーザ端末10A〜10Cは、図6及び図7で説明した送付候補の検索動作を行っているものとする。すなわち、ユーザ端末10A〜10Cは、それぞれ、上述の送付候補リストを有するものとする。以下において、ユーザ端末10A〜10Cは、図5に示すように、互いに、交換データ#A〜#Cの送付候補であるものとする。
(2) Exchange Operation Next, an exchange operation in the data exchange system according to the first embodiment will be described with reference to FIG. FIG. 8 is a sequence diagram showing an exchange operation in the data exchange system according to the first embodiment. In FIG. 8, it is assumed that the user terminals 10 </ b> A to 10 </ b> C perform the transmission candidate search operation described in FIGS. 6 and 7. That is, each of the user terminals 10A to 10C has the above-described sending candidate list. In the following, it is assumed that user terminals 10A to 10C are candidates for sending exchange data #A to #C as shown in FIG.

図8に示すように、ユーザ端末10Aは、データ交換サーバ40に対して、状態取得要求を送信する(ステップS301)。上述のように、状態取得要求とは、ユーザ端末10Aに対するユーザ端末10B及び10Cからの交換データ#B及び#Cの送信状態の取得を要求する、すなわち、ユーザ端末10Aが受信可能な交換データ#B及び#Cがデータ交換サーバ40に存在するか否かを確認するためのものである。なお、ユーザ端末10Aは、例えば、送付候補リストの受信を契機として、所定時間間隔Tで定期的に状態取得要求を行う。   As illustrated in FIG. 8, the user terminal 10A transmits a status acquisition request to the data exchange server 40 (step S301). As described above, the status acquisition request requests acquisition of the transmission status of the exchange data #B and #C from the user terminals 10B and 10C to the user terminal 10A, that is, the exchange data # that can be received by the user terminal 10A. This is for confirming whether B and #C exist in the data exchange server 40. Note that the user terminal 10A periodically makes a status acquisition request at a predetermined time interval T, for example, triggered by reception of the sending candidate list.

データ交換サーバ40は、ユーザ端末10Aからの状態取得要求に応じて、ユーザ端末10B及び10Cからのユーザ端末10Aに対する交換データ#B及び#Cの送信状態を交換状態記憶部406から取得する(ステップS302)。   In response to the status acquisition request from the user terminal 10A, the data exchange server 40 acquires the transmission status of the exchange data #B and #C from the user terminals 10B and 10C to the user terminal 10A from the exchange status storage unit 406 (step S302).

データ交換サーバ40は、交換状態記憶部406から取得されたユーザ端末10Aに対する交換データ#B及び#Cの送信状態を示す状態情報をユーザ端末10Aに送信する(ステップS303)。ここでは、ユーザ端末10Aに対する交換データ#B及び#Cはデータ交換サーバ40に送信されていないので、ユーザ端末10Aが受信可能な交換データがないことを示す状態情報がユーザ端末10Aに送信される。   The data exchange server 40 transmits status information indicating the transmission status of the exchange data #B and #C to the user terminal 10A acquired from the exchange status storage unit 406 to the user terminal 10A (step S303). Here, since exchange data #B and #C for user terminal 10A are not transmitted to data exchange server 40, status information indicating that there is no exchange data that can be received by user terminal 10A is transmitted to user terminal 10A. .

ユーザ端末10Aは、送付候補リストから交換データ#Aの送付先としてユーザ端末10Bを選択し、選択されたユーザ端末10Bに対する交換データ#Aの送信要求をデータ交換サーバ40に送信する(ステップS304)。なお、ユーザ端末10Aは、送付候補リストを表示画面に表示し、ユーザに送付先のユーザ端末10を選択させてもよい。或いは、ユーザ端末10Aは、送付候補リストに含まれる全てのユーザ端末10を全て送付先として選択してもよい。   The user terminal 10A selects the user terminal 10B as the transmission destination of the exchange data #A from the transmission candidate list, and transmits a transmission request for the exchange data #A to the selected user terminal 10B to the data exchange server 40 (step S304). . Note that the user terminal 10A may display the sending candidate list on the display screen and allow the user to select the user terminal 10 that is the sending destination. Alternatively, the user terminal 10A may select all the user terminals 10 included in the transmission candidate list as the transmission destinations.

データ交換サーバ40は、ユーザ端末10Bに対する交換データ#Aの送信要求を受信すると、交換状態記憶部406におけるユーザ端末10Bに対する交換データ#Aの送信状態を「済(送信済)」に更新する(ステップS305)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Aの送付候補としてのユーザ端末10Bのユーザ識別情報「#B」に関連付けられた送信状態を「済(送信済)」に更新する。   When the data exchange server 40 receives the transmission request for the exchange data #A to the user terminal 10B, the data exchange server 40 updates the transmission state of the exchange data #A to the user terminal 10B in the exchange state storage unit 406 to “completed (transmitted)” ( Step S305). Specifically, as shown in FIG. 5, the data exchange server 40 transmits the transmission status associated with the user identification information “#B” of the user terminal 10B as a candidate for sending the exchange data #A in the exchange status storage unit 406. Is updated to “completed (sent)”.

ステップS301と同様に、ユーザ端末10Bは、所定時間間隔Tで、データ交換サーバ40に対して状態取得要求を送信する(ステップS306)。また、ステップS302と同様に、データ交換サーバ40は、ユーザ端末10A及び10Cからのユーザ端末10Bに対する交換データ#A及び#Cの送信状態を交換状態記憶部406から取得する(ステップS307)。ここでは、ユーザ端末10Bに対する交換データ#Aの送信状態は「済(送信済)」に更新されているので、ユーザ端末10Aからの交換データ#Aを受信可能であることを示す状態情報がユーザ端末10Bに送信される(ステップS308)。   Similarly to step S301, the user terminal 10B transmits a status acquisition request to the data exchange server 40 at a predetermined time interval T (step S306). Similarly to step S302, the data exchange server 40 acquires the transmission state of the exchange data #A and #C from the user terminals 10A and 10C to the user terminal 10B from the exchange state storage unit 406 (step S307). Here, since the transmission state of the exchange data #A to the user terminal 10B is updated to “completed (transmitted)”, the state information indicating that the exchange data #A from the user terminal 10A can be received is the user. It is transmitted to the terminal 10B (step S308).

ステップS301〜S303と同様に、ユーザ端末10Cは、状態取得処理を行う(ステップS309〜S311)。   Similarly to steps S301 to S303, the user terminal 10C performs state acquisition processing (steps S309 to S311).

ユーザ端末10Bは、ステップS308で受信した状態情報に基づいて、データ交換サーバ40に対して、交換データ#Aの受信要求を送信する(ステップS312)。なお、ユーザ端末10Bは、ステップS308で受信した状態情報に基づいて、ユーザ端末10Aからの交換データ#Aを受信するか否かの選択画面を表示し、ユーザによる受信指示を受け付けた場合に、交換データ#Aの受信要求を送信してもよい。   The user terminal 10B transmits a reception request for exchange data #A to the data exchange server 40 based on the status information received in step S308 (step S312). Note that the user terminal 10B displays a selection screen as to whether or not to receive the exchange data #A from the user terminal 10A based on the status information received in step S308, and receives a reception instruction from the user. A reception request for exchange data #A may be transmitted.

データ交換サーバ40は、ユーザ端末10Bからの受信要求に応じて交換データ記憶部407から交換データ#Aを取得して、ユーザ端末10Bに送信する(ステップS313)。   The data exchange server 40 acquires the exchange data #A from the exchange data storage unit 407 in response to the reception request from the user terminal 10B, and transmits it to the user terminal 10B (step S313).

データ交換サーバ40は、交換状態記憶部406におけるユーザ端末10Bに対する交換データ#Aの受信状態を「済(受信済)」に更新する(ステップS314)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Aの送付候補としてのユーザ端末10Bのユーザ識別情報「#B」に関連付けられた受信状態を「済(受信済)」に更新する。   The data exchange server 40 updates the reception state of the exchange data #A for the user terminal 10B in the exchange state storage unit 406 to “completed (received)” (step S314). Specifically, as shown in FIG. 5, the data exchange server 40 receives the reception status associated with the user identification information “#B” of the user terminal 10B as a candidate for sending the exchange data #A in the exchange status storage unit 406. Is updated to “completed (received)”.

ステップS304と同様に、ユーザ端末10Bは、送付候補リストから交換データ#Bの送付先としてユーザ端末10Aを選択し、選択されたユーザ端末10Aに対する交換データ#Bの送信要求をデータ交換サーバ40に送信する(ステップS315)。   Similarly to step S304, the user terminal 10B selects the user terminal 10A as the destination of the exchange data #B from the sending candidate list, and sends a transmission request for the exchange data #B to the selected user terminal 10A to the data exchange server 40. Transmit (step S315).

ステップS305と同様に、データ交換サーバ40は、ユーザ端末10Aに対する交換データ#Bの送信要求を受信すると、交換状態記憶部406におけるユーザ端末10Aに対する交換データ#Bの送信状態を「済(送信済)」に更新する(ステップS316)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Bの送付候補としてのユーザ端末10Aのユーザ識別情報「#A」に関連付けられた送信状態を「済(送信済)」に更新する。   Similarly to step S305, when the data exchange server 40 receives the transmission request for the exchange data #B to the user terminal 10A, the exchange status #B of the exchange data #B to the user terminal 10A in the exchange status storage unit 406 is “completed (transmitted). ”” (Step S316). Specifically, as shown in FIG. 5, the data exchange server 40 transmits the transmission status associated with the user identification information “#A” of the user terminal 10 </ b> A as a candidate for sending the exchange data #B in the exchange status storage unit 406. Is updated to “completed (sent)”.

ステップS301における状態取得要求から所定時間経過後、ユーザ端末10Aは、ユーザ端末10Aは、再び、データ交換サーバ40に対して、状態取得要求を送信する(ステップS317)。また、ステップS302と同様に、データ交換サーバ40は、ユーザ端末10B及び10Cからのユーザ端末10Aに対する交換データ#B及び#Cの送信状態を交換状態記憶部406から取得する(ステップS318)。ここでは、ユーザ端末10Aに対する交換データ#Bの送信状態は「済(送信済)」に更新されているので、ユーザ端末10Bからの交換データ#Bを受信可能であることを示す状態情報がユーザ端末10Aに送信される(ステップS319)。   After a predetermined time has elapsed from the status acquisition request in step S301, the user terminal 10A transmits the status acquisition request to the data exchange server 40 again (step S317). Similarly to step S302, the data exchange server 40 acquires the transmission state of the exchange data #B and #C from the user terminals 10B and 10C to the user terminal 10A from the exchange state storage unit 406 (step S318). Here, since the transmission state of the exchange data #B to the user terminal 10A has been updated to “completed (transmitted)”, the status information indicating that the exchange data #B from the user terminal 10B can be received is the user. It is transmitted to the terminal 10A (step S319).

ユーザ端末10Aは、ステップS319で受信した状態情報に基づいて、データ交換サーバ40に対して、交換データ#Bの受信要求を送信する(ステップS320)。データ交換サーバ40は、ユーザ端末10Aからの受信要求に応じて交換データ記憶部407から交換データ#Bを取得して、ユーザ端末10Aに送信する(ステップS321)。   The user terminal 10A transmits a reception request for exchange data #B to the data exchange server 40 based on the status information received in step S319 (step S320). The data exchange server 40 acquires the exchange data #B from the exchange data storage unit 407 in response to the reception request from the user terminal 10A, and transmits it to the user terminal 10A (step S321).

データ交換サーバ40は、交換状態記憶部406におけるユーザ端末10Aに対する交換データ#Bの受信状態を「済(受信済)」に更新する(ステップS322)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Bの送付候補としてのユーザ端末10Aのユーザ識別情報「#A」に関連付けられた受信状態を「済(受信済)」に更新する。   The data exchange server 40 updates the reception state of the exchange data #B for the user terminal 10A in the exchange state storage unit 406 to “completed (received)” (step S322). Specifically, as shown in FIG. 5, the data exchange server 40 receives the reception status associated with the user identification information “#A” of the user terminal 10 </ b> A as a candidate for sending the exchange data #B in the exchange status storage unit 406. Is updated to “completed (received)”.

以上のように、第1の実施の形態に係るデータ交換システムによる交換動作によれば、データ交換サーバ40は、ユーザ端末10Aから送付候補のユーザ端末10B及び10Cに対する交換データ#Aの送信状態を管理している。このため、交換データ#Aの送付候補のユーザ端末10B及び10Cがデータ交換サーバ40に状態取得要求を送信することで、ユーザ端末10B及び10Cが受信可能な交換データ#Aが存在するか否かを容易に確認することができる。   As described above, according to the exchange operation by the data exchange system according to the first embodiment, the data exchange server 40 changes the transmission state of the exchange data #A from the user terminal 10A to the user terminals 10B and 10C that are transmission candidates. I manage. Therefore, whether or not there is exchange data #A that can be received by the user terminals 10B and 10C by transmitting the status acquisition request to the data exchange server 40 by the user terminals 10B and 10C that are candidates for sending the exchange data #A. Can be easily confirmed.

また、第1の実施の形態に係るデータ交換システムによる交換動作によれば、ユーザ端末10Aは、上述の検索動作で検索されたユーザ端末10B及び10Cのうち、所望のユーザ端末10(例えば、ユーザ端末10B)に対してのみ交換データを送付できる。このため、意図しないユーザ端末10に交換データが送付されるのを防止することができる。   Further, according to the exchange operation by the data exchange system according to the first embodiment, the user terminal 10A can select a desired user terminal 10 (for example, a user) among the user terminals 10B and 10C searched by the search operation described above. Exchange data can only be sent to the terminal 10B). For this reason, it is possible to prevent the exchange data from being sent to the unintended user terminal 10.

また、第1の実施の形態に係るデータ交換システムによる交換動作によれば、交換データ#Aの送付候補のユーザ端末10B及び10Cは、交換データ#Aの受信要求を行った上で交換データ#Aを受信する。このため、ユーザ端末10B及び10Cに対する交換データ#Aの送信状態が「済(送信済)」であっても、ユーザ端末10B及び10Cは、当該交換データ#Aの受信を望まない場合、当該交換データ#Aを受信する必要がない。したがって、例えば、悪意のユーザ端末10Aが多数のユーザ端末10に対する交換データ#Aを送付するような場合でも、当該悪意のユーザ端末10Aからの交換データ#Aがむやみに受信されてしまうのを防止することができる。   Further, according to the exchange operation by the data exchange system according to the first embodiment, the user terminals 10B and 10C that are candidates for sending the exchange data #A make a reception request for the exchange data #A and then exchange data #A. A is received. For this reason, even if the transmission state of the exchange data #A with respect to the user terminals 10B and 10C is “completed (transmitted)”, the user terminals 10B and 10C may exchange the exchange data #A if they do not want to receive the exchange data #A. There is no need to receive data #A. Therefore, for example, even when the malicious user terminal 10A sends the exchange data #A to a large number of user terminals 10, the exchange data #A from the malicious user terminal 10A is prevented from being received unnecessarily. can do.

上述の実施の形態を用いて本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。   Although the present invention has been described in detail using the above-described embodiments, it will be apparent to those skilled in the art that the present invention is not limited to the embodiments described herein.

例えば、上述の実施の形態では、データ交換サーバ40は、登録情報記憶部402、交換状態記憶部406及び交換データ記憶部407の3つの記憶部を具備するが、記憶部の構成はこれに限られるものはなく、これらが1つ又は複数の記憶部で構成されてもよい。   For example, in the above-described embodiment, the data exchange server 40 includes the three storage units of the registration information storage unit 402, the exchange state storage unit 406, and the exchange data storage unit 407, but the configuration of the storage unit is not limited thereto. There is nothing to be done, and these may be composed of one or a plurality of storage units.

本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び更新態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。   The present invention can be implemented as a modified and updated mode without departing from the spirit and scope of the present invention defined by the description of the scope of claims. Therefore, the description of the present specification is for illustrative purposes and does not have any limiting meaning to the present invention.

1…データ交換システム
10…ユーザ端末
20…無線基地局
30…コアネットワーク
40…データ交換サーバ
401…送受信部
402…登録情報記憶部
403…登録処理部
404…検索処理部
404a…検索エリア特定部
404b…距離算出部
404c…送付候補決定部
405…交換管理部
406…交換状態記憶部
407…交換データ記憶部
DESCRIPTION OF SYMBOLS 1 ... Data exchange system 10 ... User terminal 20 ... Wireless base station 30 ... Core network 40 ... Data exchange server 401 ... Transmission / reception part 402 ... Registration information storage part 403 ... Registration process part 404 ... Search process part 404a ... Search area specific | specification part 404b ... distance calculation unit 404c ... sending candidate determination unit 405 ... exchange management unit 406 ... exchange state storage unit 407 ... exchange data storage unit

Claims (4)

エリア毎のインデックスキーを有する管理テーブルを記憶する記憶部と、
各ユーザ端末からのログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに前記位置情報を登録する登録処理部と、
一のユーザ端末から交換データの送付候補の検索要求が受信された場合、前記一のユーザ端末の位置情報に基づいて、前記位置情報が示す前記一のユーザ端末の位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアのインデックスキーを特定する特定部と、
特定された前記各エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末と前記一のユーザ端末との間の距離を算出する距離算出部と、
算出された前記距離が所定距離以下である他のユーザ端末を前記一のユーザ端末の交換データの送付候補として前記一のユーザ端末に通知する通知部と、
を具備し、
前記登録処理部は、前記ログイン要求に含まれる前記位置情報に基づいて算出したインデックスキーを有する管理テーブルに、前記ログイン要求の受信時刻を登録し、
前記通知部は、前記距離算出部によって算出された距離が所定距離以下である他のユーザ端末のうち、前記管理テーブルに記憶された前記ログイン要求の受信時刻が前記一のユーザ端末からの前記検索要求の受信時刻から所定時間前の時刻までの間にある他のユーザ端末を、前記一のユーザ端末に通知することを特徴とするデータ交換サーバ。
A storage unit for storing a management table having an index key for each area;
A registration processing unit that calculates an index key based on position information included in a login request from each user terminal, and registers the position information in a management table having the calculated index key;
When an exchange data transmission candidate search request is received from one user terminal, a predetermined radius centered on the position of the one user terminal indicated by the position information is based on the position information of the one user terminal. A specific part for identifying an index key of each area at least partially included in the circle;
A distance calculation unit for calculating a distance between the other user terminal registered in the management table having the index key of each identified area and the one user terminal;
A notifying unit for notifying the one user terminal of another user terminal whose calculated distance is equal to or less than a predetermined distance as a candidate for sending exchange data of the one user terminal;
Equipped with,
The registration processing unit registers the reception time of the login request in a management table having an index key calculated based on the location information included in the login request;
The notification unit receives the search from the one user terminal whose reception time of the login request stored in the management table is the other user terminal whose distance calculated by the distance calculation unit is a predetermined distance or less. A data exchange server that notifies another user terminal between a request reception time and a time before a predetermined time to the one user terminal .
前記特定部は、前記一のユーザ端末の位置情報に基づいて前記各エリア内の所定地点の位置情報を算出し、前記所定地点の位置情報に基づいて前記各エリアのインデックスキーを算出することを特徴とする請求項1に記載のデータ交換サーバ。   The specifying unit calculates position information of a predetermined point in each area based on the position information of the one user terminal, and calculates an index key of each area based on the position information of the predetermined point. The data exchange server according to claim 1, wherein: 前記位置情報は、経度及び緯度であり、
前記インデックスキーは、前記経度及び緯度をキーとするハッシュ関数のハッシュ値であることを特徴とする請求項1又は請求項2に記載のデータ交換サーバ。
The position information is longitude and latitude,
The data exchange server according to claim 1, wherein the index key is a hash value of a hash function using the longitude and latitude as keys.
エリア毎のインデックスキーを有する管理テーブルを記憶する記憶部を有するデータ交換サーバにおけるデータ交換方法であって、
各ユーザ端末からのログイン要求に含まれる位置情報に基づいてインデックスキーを算出し、算出したインデックスキーを有する管理テーブルに前記位置情報を登録する工程と、
一のユーザ端末から交換データの送付候補の検索要求が受信された場合、前記一のユーザ端末の位置情報に基づいて、前記位置情報が示す前記一のユーザ端末の位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアのインデックスキーを特定する工程と、
特定された前記各エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末と前記一のユーザ端末との間の距離を算出する工程と、
算出された前記距離が所定距離以下である他のユーザ端末を前記一のユーザ端末の交換データの送付候補として前記一のユーザ端末に通知する工程と、
を具備し、
前記登録する工程において、前記ログイン要求に含まれる前記位置情報に基づいて算出したインデックスキーを有する管理テーブルに、前記ログイン要求の受信時刻を登録し、
前記通知する工程において、前記算出する工程において算出された距離が所定距離以下である他のユーザ端末のうち、前記管理テーブルに記憶された前記ログイン要求の受信時刻が前記一のユーザ端末からの前記検索要求の受信時刻から所定時間前の時刻までの間にある他のユーザ端末を、前記一のユーザ端末に通知することを特徴とするデータ交換方法。
A data exchange method in a data exchange server having a storage unit for storing a management table having an index key for each area,
Calculating an index key based on position information included in a login request from each user terminal, and registering the position information in a management table having the calculated index key;
When an exchange data transmission candidate search request is received from one user terminal, a predetermined radius centered on the position of the one user terminal indicated by the position information is based on the position information of the one user terminal. Identifying an index key for each area at least partially contained within the circle;
Calculating a distance between the other user terminal registered in the management table having the index key of each identified area and the one user terminal;
Notifying the one user terminal of another user terminal whose calculated distance is equal to or less than a predetermined distance as a candidate for sending exchange data of the one user terminal;
Equipped with,
In the step of registering, the reception time of the login request is registered in a management table having an index key calculated based on the location information included in the login request,
In the notifying step, among other user terminals in which the distance calculated in the calculating step is a predetermined distance or less, the reception time of the login request stored in the management table is the one from the one user terminal. A data exchange method comprising: notifying the one user terminal of another user terminal between a reception time of a search request and a time before a predetermined time .
JP2012049389A 2012-03-06 2012-03-06 Data exchange server and data exchange method Expired - Fee Related JP5388382B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012049389A JP5388382B2 (en) 2012-03-06 2012-03-06 Data exchange server and data exchange method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012049389A JP5388382B2 (en) 2012-03-06 2012-03-06 Data exchange server and data exchange method

Publications (2)

Publication Number Publication Date
JP2013186553A JP2013186553A (en) 2013-09-19
JP5388382B2 true JP5388382B2 (en) 2014-01-15

Family

ID=49387956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012049389A Expired - Fee Related JP5388382B2 (en) 2012-03-06 2012-03-06 Data exchange server and data exchange method

Country Status (1)

Country Link
JP (1) JP5388382B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601624B (en) * 2013-10-31 2018-02-02 阿里巴巴集团控股有限公司 A kind of data interactive method and device
JP2016103699A (en) * 2014-11-27 2016-06-02 株式会社日立製作所 Information processing device, system for determining isolation between terminals, and method for determining isolation between terminals

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064686A (en) * 2003-08-08 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> User terminal changeover method and user authentication method
JP5488690B2 (en) * 2010-03-12 2014-05-14 富士通株式会社 Method for measuring communication quality, radio base station and mobile terminal, and radio communication system
JP2011217128A (en) * 2010-03-31 2011-10-27 Jin Yatomi Approach detection and notification system, approach detection and notification server of mobile portable terminal, information terminal, program, and recording medium

Also Published As

Publication number Publication date
JP2013186553A (en) 2013-09-19

Similar Documents

Publication Publication Date Title
JP5275175B2 (en) Content display system, portable terminal, and server
US9121921B2 (en) Location information collection method and system for dual SIM mobile terminals
US20130058321A1 (en) Communication device, distribution system, distribution data processing method, and distribution data processing program
JP5929501B2 (en) Information processing apparatus, information processing method, and program
JP5880293B2 (en) Communication system, call management server, location information server, and communication terminal
KR101045822B1 (en) Electronic business card processing method using a mobile terminal, the system and the computer-readable recording medium recording the program
CN104488302A (en) Wireless connection authentication method and server
JP6260703B2 (en) Information sharing apparatus, information sharing method, information sharing system, and computer program
JP5388382B2 (en) Data exchange server and data exchange method
JP6259600B2 (en) Communication program, information processing apparatus, communication terminal apparatus, communication system, and communication method
JP6453129B2 (en) Message management method in message management server
JP5718738B2 (en) Business card information exchange server, user terminal, and business card information exchange method
JP5542183B2 (en) Information sharing system
JP5468081B2 (en) Information processing system, information processing method, information processing apparatus, information processing apparatus control method, information processing terminal, information processing terminal control method, information storage medium, and program
JP5326009B2 (en) Data exchange server and data exchange method
JP4288410B2 (en) Presence system, presence server and program
JP5326013B2 (en) Data exchange server and data exchange method
WO2013055052A2 (en) Method for providing wifi wireless internet service to inbound roamer through non-sim
JP5735359B2 (en) Information distribution apparatus, management system, and information distribution method
US9037650B2 (en) Device-agnostic cloud and device-based user to user communication timeline/mosaic
KR100800973B1 (en) Method and medium for displaying data sent from friend&#39;s mobile phone in stand-by screen of user mobile phone
JP6184281B2 (en) Server apparatus, registration method, control program, and communication system
JP5651075B2 (en) Profile server, management system, and profile information management method
KR101252281B1 (en) Method and System for providing presence information and position information using instant messenger
JP2013005269A (en) Telephone directory management system and telephone directory management method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131007

R150 Certificate of patent or registration of utility model

Ref document number: 5388382

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees