JP5388382B2 - Data exchange server and data exchange method - Google Patents
Data exchange server and data exchange method Download PDFInfo
- 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
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).
上述のようなデータ交換システムにおいて、一のユーザ端末と同一エリアに位置する他のユーザ端末を送付候補とする場合、例えば、データ交換サーバは、当該一のユーザ端末と他のユーザ端末との間の距離を演算し、当該距離が所定距離以内であるか否かを判定することで、同一エリアに位置する他のユーザ端末を特定することが考えられる。 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.
以下、本発明の実施の形態について図面を参照して詳細に説明する。 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
図1に示すデータ交換システム1において、データ交換サーバ40は、ユーザ端末10A〜10C間におけるデータ交換を管理する。ここで、ユーザ端末10A〜10C間で交換される交換データは、例えば、ユーザ端末10A〜10Cの電話番号やメールアドレス、ユーザ端末10A〜10Cのユーザの氏名、住所、役職、当該ユーザの他のメールアドレスや、当該ユーザのソーシャルネットワークサービス(SNS)−IDなどの名刺情報や、写真やアバターなどの画像情報や、趣味や出身地などのプロフィール情報などであるが、これに限られるものではない。
In the
また、データ交換システム1は、図1に示す構成に限られるものではない。例えば、データ交換システム1において、コアネットワーク30とデータ交換サーバ40との間に不図示の認証用ノードやインタフェースノード等が設けられてもよい。また、ユーザ端末10A〜10Cの数、無線基地局20の数は、図1に示す数に限られるものではない。以下、ユーザ端末10A〜10Cを区別しない場合はユーザ端末10と総称するものとする。
Further, the
次に、第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
図2は、第1の実施の形態に係るデータ交換サーバ40の詳細機能構成図である。図2に示すように、データ交換サーバ40は、送受信部401、登録情報記憶部402、登録処理部403、検索処理部404、交換管理部405、交換状態記憶部406、交換データ記憶部407を具備する。
FIG. 2 is a detailed functional configuration diagram of the
送受信部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
登録情報記憶部402(記憶部)は、所定エリア毎にユーザ端末10の登録情報を管理する管理テーブルを記憶する。具体的には、所定エリア毎の管理テーブルでは、各エリアに位置するユーザ端末10のユーザ識別情報、位置情報、交換データの識別情報(以下、交換データ識別情報という)、ログイン要求の受信時刻(以下、ログイン要求受信時刻という)、ニックネームが関連付けて記憶される。図3は、第1の実施の形態に係る登録情報記憶部402の概念図である。
The registration information storage unit 402 (storage unit) stores a management table for managing registration information of the
図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
具体的には、登録処理部403は、算出したインデックスキーを有する管理テーブルに、ユーザ端末10のユーザ識別情報、位置情報(例えば、緯度及び経度、在圏セル情報など)、交換データ識別情報、当該ログイン要求の受信時刻(以下、ログイン要求受信時刻という)、ニックネームを関連付けて登録する。
Specifically, the
例えば、ユーザ端末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
なお、図3に示す管理テーブルは例示にすぎず、管理テーブルには、ユーザ端末10の位置情報が少なくとも記憶されていればよい。また、図3に示すログイン要求受信時刻は、時分単位で登録されているが、これに限られるものではなく、時分秒単位で登録されてもよい。
Note that the management table illustrated in FIG. 3 is merely an example, and at least the location information of the
また、登録処理部403は、ユーザ端末10からのログイン要求に含まれる交換データを交換データ記憶部407に記憶させる。なお、登録処理部403は、交換データを交換データ識別情報(例えば、名刺IDなど)やユーザ識別情報などに関連付けて交換データ記憶部407に記憶させてもよい。
In addition, the
検索処理部404は、送受信部401によってユーザ端末10からの検索要求が受信された場合、登録情報記憶部402を参照し、ユーザ端末10の交換データの送付候補となる他のユーザ端末10を検索する。ここで、検索要求とは、ユーザ端末10の交換データの送付候補となる他のユーザ端末10の検索をデータ交換サーバ40に要求するものである。
When the search request from the
具体的には、検索処理部404は、検索エリア特定部404a(特定部)と、距離算出部404bと、送付候補決定部404cとを具備する。
Specifically, the
検索エリア特定部404aは、送受信部401によってユーザ端末10からの検索要求が受信された場合、検索エリアを特定する。検索エリアは、ユーザ端末10の位置情報が示す位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアで構成される。検索エリア特定部404aは、上述の管理テーブルに登録されたユーザ端末10の位置情報に基づいて、上記検索エリアを構成する各エリアのインデックスキーを特定することで、上記検索エリアを特定する。
When the search request from the
図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
このような検索エリアを構成する各エリアのインデックスキーは、検索要求を送信したユーザ端末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
以上のように、検索エリア特定部404aは、検索要求を送信したユーザ端末10の位置情報に基づいて検索エリアを構成する各エリア内の所定地点の位置情報を算出し、当該所定地点の位置情報に基づいて上記各エリアのインデックスキーを算出する。特に、以上で説明した算出方法では、ユーザ端末10の位置情報(X,Y)を経度・緯度単位からkm単位に変更するので、検索エリアを構成する各エリア内の所定地点の位置情報(X+a,Y+b)(ここで、−2≦a≦+2(aは整数)、−2≦b≦+2(bは整数))の算出を簡略化でき、各エリアのインデックスキーを容易に算出できる。
As described above, the search
なお、検索エリアを構成する各エリア内の所定地点の位置情報の算出方法は、上記に限られるものではない。例えば、ユーザ端末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
距離算出部404bは、検索要求を送信したユーザ端末10と検索エリア特定部404aによって特定された検索エリア内に位置する他のユーザ端末10との間の距離を算出する。具体的には、距離算出部404bは、検索エリア特定部404aで算出されたインデックスキーを有する管理テーブルに登録された他のユーザ端末10の位置情報を取得する。また、距離算出部404bは、取得した位置情報に基づいて、検索要求を送信したユーザ端末10と当該他のユーザ端末10との間の距離を算出する。
The
送付候補決定部404cは、距離算出部404bによって算出された距離が所定距離(例えば、2km)以下であるか否かを判定する。送付候補決定部404cは、算出された距離が所定距離以下である他のユーザ端末10を送付候補として決定する。
The sending candidate determination unit 404c determines whether or not the distance calculated by the
また、送付候補決定部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
なお、送付候補決定部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
以上の検索処理部404による送付候補の検索処理は、送受信部401によってユーザ端末10からの再検索要求が受信された場合に行われてもよい。ここで、再検索要求とは、既に、送付候補が検索されたユーザ端末10が再度送付候補の検索を要求するものである。また、検索処理部404は、送受信部401によってユーザ端末10からの検索要求や再検索要求が受信された場合に、登録情報記憶部402に記憶されたログイン要求受信時刻を更新してもよい。かかる場合、ログイン要求受信時刻は、検索要求又は再検索要求の受信時刻に更新される。このように、ログイン要求受信時刻を更新することで、ログイン要求が受信されてから時間が経過しているユーザ端末10であっても、検索要求又は再検索要求が受信されていれば、送付候補として検索されることとなる。
The search processing for sending candidates by the
交換管理部405は、検索処理部404でユーザ端末10の交換データの送付候補として他のユーザ端末10が検索された場合、検索された他のユーザ端末10のユーザ識別情報と、検索された他のユーザ端末10に対するユーザ端末10からの交換データの送信状態、検索された他のユーザ端末10によるユーザ端末10からの交換データの受信状態とを関連付けて交換状態記憶部406(図5参照)に記憶させる。
When the
図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
交換管理部405は、送受信部401によってユーザ端末10からの他のユーザ端末10に対する送信要求が受信された場合、ユーザ端末10からの他のユーザ端末10に対する交換データの送信状態を「済(送信済)」に更新する。ここで、送信要求とは、送付候補の他のユーザ端末10に対して交換データ記憶部407に記憶された交換データを送信することをユーザ端末10が要求するものである。例えば、図5においては、ユーザ端末10Aからの送信要求に応じて、ユーザ端末10Aからのユーザ端末10B及び10Cに対する交換データ#Aの送信状態が「未(未送信)」から「済(送信済)」に更新されている。
When the transmission /
また、交換管理部405は、送受信部401によってユーザ端末10からの状態取得要求が受信された場合、ユーザ端末10に対する交換データの送信状態を取得して、送受信部401に出力する。ここで、状態取得要求とは、自端末に対する他のユーザ端末10からの交換データの送信状態の取得を要求する、すなわち、自端末が受信可能な交換データがデータ交換サーバ40に存在するか否かを確認するためのものである。
In addition, when the transmission /
例えば、図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
また、交換管理部405は、送受信部401によって交換データの受信要求が受信された場合、交換データ記憶部407から交換データを取得して、送受信部401に出力する。送受信部401は、交換管理部405から入力された交換データをユーザ端末10に送信する。なお、交換データの受信要求には、交換データ識別情報(例えば、名刺IDなど)が含まれていてもよく、交換管理部405は、当該交換データ識別情報に関連付けられた交換データを交換データ記憶部407から取得してもよい。
Further, when the exchange data reception request is received by the transmission /
また、交換管理部405は、交換データの受信要求に応じて送受信部401により交換データがユーザ端末10に送信された場合、交換状態記憶部406におけるユーザ端末10による受信状態を「済(受信済)」に更新する。例えば、図5においては、ユーザ端末10Bによる交換データ#Aの受信状態が「未(未受信)」から「済(受信済)」に更新されている。
In addition, when the exchange data is transmitted to the
次に、第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
(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
図6に示すように、ユーザ端末10Aは、データ交換サーバ40に対して、ログイン要求を送信する(ステップS101)。ここでは、当該ログイン要求には、ユーザ端末10Aの位置情報(例えば、経度、緯度)が含まれる。なお、当該ログイン要求には、ユーザ端末10Aのユーザ識別情報、交換データ識別情報、ニックネーム、交換データなどが含まれてもよい。ユーザ端末10Aは、データ交換サーバ40に対するログイン要求の送信を契機として、検索要求制限タイマ(後述)を起動する。
As illustrated in FIG. 6, the
データ交換サーバ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
同様に、ユーザ端末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
ユーザ端末10Aは、ログイン要求の送信を契機に起動した検索要求制限タイマが満了すると、データ交換サーバ40に対して、ユーザ端末10Aの交換データ#Aの送付候補の検索を要求する検索要求を送信する(ステップS107)。
When the search request limit timer started when the login request is transmitted expires, the
データ交換サーバ40は、ユーザ端末10Aからの検索要求を受信すると、ユーザ端末10Aの交換データ#Aの送付候補の検索処理を行う(ステップS108)。図7を参照し、データ交換サーバ40の検索処理部404における検索動作を詳述する。なお、図7の「検索者」とは、データ交換サーバ40に対して検索要求を送信するユーザ端末10である。以下では、「検索者」がユーザ端末10Aである場合を説明するが、他のユーザ端末10である場合も同様の動作が行なわれるものとする。
When the
図7に示すように、データ交換サーバ40は、検索者(ここでは、ユーザ端末10A)からの検索要求を受信すると、検索者の登録情報が登録された管理テーブルを登録情報記憶部402から検索し、検索された管理テーブルのインデックスキーを取得する(ステップS201)。例えば、図4では、検索者(ユーザ端末10A)の登録情報はインデックスキー「36」を有する管理テーブルに登録されているので、インデックスキー「36」が取得される。
As shown in FIG. 7, when the
データ交換サーバ40は、検索者の登録情報が登録された管理テーブルのインデックスキーに基づいて、検索エリアを構成する各エリアのインデックスキーを算出する(ステップS202)。上述のように、検索エリアは、検索者の位置情報が示す位置を中心とする所定半径の円内に少なくとも一部が含まれる各エリアで構成される。
The
例えば、図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 (
データ交換サーバ40は、以上のように算出したインデックスキーを有する管理テーブルに登録されたユーザ端末10を抽出する(ステップS203)。図4に示す場合、検索エリアを構成する各エリアのインデックスキーは、18〜22、26〜30、34〜38、42〜46、50〜54であるので、これらのインデックスキーを有する管理テーブルに登録されたユーザ端末10が抽出される。
The
以上のように、検索者の位置情報から検索エリアを構成する各エリアのインデックスキーを算出できるので、検索エリア(すなわち、検索者の位置情報が示す位置から所定半径以内の円に少なくとも一部が含まれる複数のエリア)を容易に特定することができる。 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
データ交換サーバ40は、算出された2地点間の距離が所定距離(例えば、2km)以下であるユーザ端末10を検索者の交換データの送付候補として決定する(ステップS205)。データ交換サーバ40は、決定されたユーザ端末10を検索者の交換データの送付候補として交換状態記憶部406に記憶する。
The
なお、データ交換サーバ40は、ステップS205で決定されたユーザ端末10のログイン要求受信時刻やニックネームに基づいて、検索者の交換データの送付候補を更に絞ってもよい。例えば、データ交換サーバ40は、ログイン要求受信時刻が検索要求受信時刻から所定時間前までの間となるユーザ端末10を送付候補として検索してもよい。また、データ交換サーバ40は、検索者と同じ合言葉を有する他のユーザ端末10を送付候補として検索してもよい。
Note that the
図6に示すように、データ交換サーバ40は、以上のように送付候補として検索されたユーザ端末10をユーザ端末10Aに通知する(ステップS109)。具体的には、データ交換サーバ40は、ユーザ端末10Aに対して、検索されたユーザ端末10のユーザ識別情報を含む送付候補リストを送信する。図4に示す場合、交換データ#Aの送付候補として、ユーザ端末10B及び10Cが決定されるので、ユーザ端末10B及び10Cのユーザ識別情報「#B」及び「#C」を含む送付候補リストが、ユーザ端末10Aに送信される。
As shown in FIG. 6, the
同様に、ユーザ端末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
また、ユーザ端末10Cは、ログイン要求の送信を契機に起動した検索要求制限タイマが満了すると、データ交換サーバ40に対して、ユーザ端末10Cの交換データ#Cの送付候補の検索を要求する検索要求を送信する(ステップS113)。データ交換サーバ40は、ユーザ端末10Cからの検索要求を受信すると、図7で説明したように交換データ#Cの送付候補の検索処理を行い(ステップS114)、検索された他のユーザ端末10をユーザ端末10Cに通知する(ステップS115)。
Further, the
以上のように、第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
また、第1の実施の形態に係るデータ交換システムにおける検索動作によれば、データ交換サーバ40は、ユーザ端末10Aの位置情報が登録された管理テーブルのインデックスキーに基づいて検索エリアのインデックスキーを算出する。このため、当該検索エリアのインデックスキーを有する管理テーブルに登録された他のユーザ端末10を、ユーザ端末10Aと同一エリアに位置するユーザ端末10としてより迅速に特定できる。
Further, according to the search operation in the data exchange system according to the first embodiment, the
(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
図8に示すように、ユーザ端末10Aは、データ交換サーバ40に対して、状態取得要求を送信する(ステップS301)。上述のように、状態取得要求とは、ユーザ端末10Aに対するユーザ端末10B及び10Cからの交換データ#B及び#Cの送信状態の取得を要求する、すなわち、ユーザ端末10Aが受信可能な交換データ#B及び#Cがデータ交換サーバ40に存在するか否かを確認するためのものである。なお、ユーザ端末10Aは、例えば、送付候補リストの受信を契機として、所定時間間隔Tで定期的に状態取得要求を行う。
As illustrated in FIG. 8, the
データ交換サーバ40は、ユーザ端末10Aからの状態取得要求に応じて、ユーザ端末10B及び10Cからのユーザ端末10Aに対する交換データ#B及び#Cの送信状態を交換状態記憶部406から取得する(ステップS302)。
In response to the status acquisition request from the
データ交換サーバ40は、交換状態記憶部406から取得されたユーザ端末10Aに対する交換データ#B及び#Cの送信状態を示す状態情報をユーザ端末10Aに送信する(ステップS303)。ここでは、ユーザ端末10Aに対する交換データ#B及び#Cはデータ交換サーバ40に送信されていないので、ユーザ端末10Aが受信可能な交換データがないことを示す状態情報がユーザ端末10Aに送信される。
The
ユーザ端末10Aは、送付候補リストから交換データ#Aの送付先としてユーザ端末10Bを選択し、選択されたユーザ端末10Bに対する交換データ#Aの送信要求をデータ交換サーバ40に送信する(ステップS304)。なお、ユーザ端末10Aは、送付候補リストを表示画面に表示し、ユーザに送付先のユーザ端末10を選択させてもよい。或いは、ユーザ端末10Aは、送付候補リストに含まれる全てのユーザ端末10を全て送付先として選択してもよい。
The
データ交換サーバ40は、ユーザ端末10Bに対する交換データ#Aの送信要求を受信すると、交換状態記憶部406におけるユーザ端末10Bに対する交換データ#Aの送信状態を「済(送信済)」に更新する(ステップS305)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Aの送付候補としてのユーザ端末10Bのユーザ識別情報「#B」に関連付けられた送信状態を「済(送信済)」に更新する。
When the
ステップ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
ステップS301〜S303と同様に、ユーザ端末10Cは、状態取得処理を行う(ステップS309〜S311)。
Similarly to steps S301 to S303, the
ユーザ端末10Bは、ステップS308で受信した状態情報に基づいて、データ交換サーバ40に対して、交換データ#Aの受信要求を送信する(ステップS312)。なお、ユーザ端末10Bは、ステップS308で受信した状態情報に基づいて、ユーザ端末10Aからの交換データ#Aを受信するか否かの選択画面を表示し、ユーザによる受信指示を受け付けた場合に、交換データ#Aの受信要求を送信してもよい。
The
データ交換サーバ40は、ユーザ端末10Bからの受信要求に応じて交換データ記憶部407から交換データ#Aを取得して、ユーザ端末10Bに送信する(ステップS313)。
The
データ交換サーバ40は、交換状態記憶部406におけるユーザ端末10Bに対する交換データ#Aの受信状態を「済(受信済)」に更新する(ステップS314)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Aの送付候補としてのユーザ端末10Bのユーザ識別情報「#B」に関連付けられた受信状態を「済(受信済)」に更新する。
The
ステップS304と同様に、ユーザ端末10Bは、送付候補リストから交換データ#Bの送付先としてユーザ端末10Aを選択し、選択されたユーザ端末10Aに対する交換データ#Bの送信要求をデータ交換サーバ40に送信する(ステップS315)。
Similarly to step S304, the
ステップS305と同様に、データ交換サーバ40は、ユーザ端末10Aに対する交換データ#Bの送信要求を受信すると、交換状態記憶部406におけるユーザ端末10Aに対する交換データ#Bの送信状態を「済(送信済)」に更新する(ステップS316)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Bの送付候補としてのユーザ端末10Aのユーザ識別情報「#A」に関連付けられた送信状態を「済(送信済)」に更新する。
Similarly to step S305, when the
ステップ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
ユーザ端末10Aは、ステップS319で受信した状態情報に基づいて、データ交換サーバ40に対して、交換データ#Bの受信要求を送信する(ステップS320)。データ交換サーバ40は、ユーザ端末10Aからの受信要求に応じて交換データ記憶部407から交換データ#Bを取得して、ユーザ端末10Aに送信する(ステップS321)。
The
データ交換サーバ40は、交換状態記憶部406におけるユーザ端末10Aに対する交換データ#Bの受信状態を「済(受信済)」に更新する(ステップS322)。具体的には、図5に示すように、データ交換サーバ40は、交換状態記憶部406において交換データ#Bの送付候補としてのユーザ端末10Aのユーザ識別情報「#A」に関連付けられた受信状態を「済(受信済)」に更新する。
The
以上のように、第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
また、第1の実施の形態に係るデータ交換システムによる交換動作によれば、ユーザ端末10Aは、上述の検索動作で検索されたユーザ端末10B及び10Cのうち、所望のユーザ端末10(例えば、ユーザ端末10B)に対してのみ交換データを送付できる。このため、意図しないユーザ端末10に交換データが送付されるのを防止することができる。
Further, according to the exchange operation by the data exchange system according to the first embodiment, the
また、第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
上述の実施の形態を用いて本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。 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
本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び更新態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。 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
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又は請求項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 .
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)
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)
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 |
-
2012
- 2012-03-06 JP JP2012049389A patent/JP5388382B2/en not_active Expired - Fee Related
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'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 |