JP2014191720A - Information processing method, device and program - Google Patents

Information processing method, device and program Download PDF

Info

Publication number
JP2014191720A
JP2014191720A JP2013068440A JP2013068440A JP2014191720A JP 2014191720 A JP2014191720 A JP 2014191720A JP 2013068440 A JP2013068440 A JP 2013068440A JP 2013068440 A JP2013068440 A JP 2013068440A JP 2014191720 A JP2014191720 A JP 2014191720A
Authority
JP
Japan
Prior art keywords
area
identifier
region
request
extracted
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.)
Granted
Application number
JP2013068440A
Other languages
Japanese (ja)
Other versions
JP6065708B2 (en
Inventor
Takeshi Sano
健 佐野
Kazuo Sasaki
和雄 佐々木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013068440A priority Critical patent/JP6065708B2/en
Publication of JP2014191720A publication Critical patent/JP2014191720A/en
Application granted granted Critical
Publication of JP6065708B2 publication Critical patent/JP6065708B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To quicken the search of a region.SOLUTION: The information processing method includes processing of: receiving a request including the identifier and position of a mobile terminal; specifying, from a first data storage part in which the identifier of a region to which the mobile terminal has belonged immediately before among a plurality of preliminarily set regions is stored in association with the identifier of the mobile terminal, the identifier of the region associated with the identifier of the mobile terminal included in the request; extracting, from a second data storage part in which the identifier of a second region to which the mobile terminal is likely to move from each of a plurality of regions is stored, the identifier of the second region stored about the specified identifier of the region; determining whether or not the position included in the request is included in the second region to be specified from the extracted identifier of the second region; and adding the extracted identifier of the second region to result data when the position included in the request is included in the second region to be specified from the extracted identifier of the second region.

Description

本技術は、複数の領域の中から該当する領域を検索するための技術に関する。   The present technology relates to a technology for searching for a corresponding region from a plurality of regions.

GPS(Global Positioning System)搭載の携帯電話機やスマートフォンが普及するなど、端末から位置情報を通知できるようになり、端末を保持する人の位置を利用した様々なサービスが普及してきている。位置情報を利用したサービスの例としては、ある店舗の周辺の領域に人が移動したときに、その人に対して店舗の情報を通知するサービスなどがある。   Positional information can be notified from terminals such as mobile phones and smartphones equipped with GPS (Global Positioning System), and various services using the positions of people holding the terminals are becoming widespread. As an example of a service using location information, there is a service for notifying store information to a person when the person moves to an area around a store.

今後、位置を通知する端末やその位置情報を利用するサービスはますます普及し、これらの増加に伴い、端末が存在する領域を判定するための処理量も増加する。   In the future, terminals that notify the location and services that use the location information will become increasingly popular, and with these increases, the amount of processing for determining the area in which the terminal exists will also increase.

従来、空間内に存在する大量のデータから条件に合ったものを高速に判定するためには、判定条件に合わせたインデックスを作成して、一部のデータのみを確認することで該当データを取得できるようにする。インデックスを用いたデータ管理方式には、一次元のデータを検索する場合に用いられるB−Treeを利用した方式や、2次元以上の多次元データを検索する場合に用いられるR−Treeを利用した方式がある。   Conventionally, in order to quickly determine a large amount of data in the space that meets the conditions, an index that matches the conditions is created and the corresponding data is obtained by checking only a portion of the data. It can be so. As a data management method using an index, a method using B-Tree used when searching one-dimensional data or an R-Tree used when searching two-dimensional or more multidimensional data is used. There is a method.

R−Treeでは、相互に重なり合う矩形領域(多次元空間における超矩形を指す。二次元空間の場合は長方形、三次元空間の場合は直方体となる。四次元空間以上の場合も、次元数に合わせて拡張した領域を指す。)に対応するノードで木を作成する。そして、各ノードは、子ノードの最小外接矩形(子ノードの領域をすべて含む最小の矩形領域)を表すものとする。領域判定時には、範囲が重なる子ノードに絞って判定を行うことで判定を高速化する。   In R-Tree, rectangular areas that overlap each other (pointing to a super-rectangular shape in a multidimensional space. A rectangular shape in the case of a two-dimensional space, and a rectangular parallelepiped in a case of a three-dimensional space. The tree is created with the node corresponding to the expanded area. Each node represents the minimum circumscribed rectangle of the child node (minimum rectangular area including all the child node areas). At the time of area determination, the determination is made faster by narrowing down to child nodes whose ranges overlap.

例えば、R−Treeを利用したデータ管理について、図1A及び図1Bを参照して説明する。図1Aは、R−Treeで管理するデータを示し、図1Bは、矩形領域の例を示す。図1Aに示すように、ルートノードR0は、子ノードR1乃至R4の矩形領域を全て含む矩形領域であり、ノードR1は、ノードR5乃至R8の矩形領域を全て含む矩形領域である。また、最下段のノードR5乃至R11は葉ノードであり、内部にデータを含む矩形領域である。すなわち、R0はR1のインデックス情報となり、R1は、R5のインデックス情報となっている。   For example, data management using R-Tree will be described with reference to FIGS. 1A and 1B. FIG. 1A shows data managed by the R-Tree, and FIG. 1B shows an example of a rectangular area. As shown in FIG. 1A, the root node R0 is a rectangular area including all the rectangular areas of the child nodes R1 to R4, and the node R1 is a rectangular area including all of the rectangular areas of the nodes R5 to R8. Further, the lowest nodes R5 to R11 are leaf nodes, which are rectangular areas containing data therein. That is, R0 is index information of R1, and R1 is index information of R5.

図1Bに示すように、条件に合ったデータを検索するために、インデックス情報を用いて該当範囲を検索していく場合、ルートノードであるR0の4つの子ノードR1乃至R4から検索範囲が重なるノードR1を選択する。さらに、ノードR1の4つの子ノードR5乃至R8から検索範囲が重なるノードR5を選択する。このように、重なる部分を持つノードから再帰的に検索範囲が重なるノードを選択し、最終的に葉ノードR5の中から検索範囲内にあるデータを選択する。   As shown in FIG. 1B, when searching for a corresponding range using index information in order to search for data that meets a condition, the search ranges overlap from the four child nodes R1 to R4 of R0 that is the root node. Select node R1. Further, the node R5 having overlapping search ranges is selected from the four child nodes R5 to R8 of the node R1. In this way, a node whose search ranges overlap recursively is selected from the nodes having overlapping portions, and finally, data within the search range is selected from the leaf node R5.

従来のR−Treeでは、領域判定を行う度に毎回ツリーの最上位ノードから判定を始めるため、ノードの深さに比例する比較処理を行うことになる。判定対象の領域がまばらなケースでは比較的すぐに対象領域が無いと判断できて判定処理を終了することができる。しかし、判定対象の領域が密なケースでは、領域自身や中間ノードが重なり合って、判定回数が多くなる。   In the conventional R-Tree, since the determination is started from the highest node of the tree every time the region is determined, a comparison process proportional to the depth of the node is performed. In a case where the determination target areas are sparse, it can be determined that there is no target area relatively quickly, and the determination process can be terminated. However, in the case where the determination target area is dense, the areas themselves and intermediate nodes overlap, and the number of determinations increases.

一般的に、領域判定すべき領域が集まるエリアは、繁華街や交通機関など人や物が集中するエリアであり、リクエストとして与えられる位置情報も同領域になることが多い。そのため、従来技術では、多くの場合に処理時間を効率的に削減することができない。   Generally, an area where areas to be determined gather is an area where people and things are concentrated, such as downtowns and transportation facilities, and position information given as a request is often the same area. For this reason, the conventional technology cannot efficiently reduce the processing time in many cases.

この問題に対する一つの解決策としては、以下のような技術が存在している。すなわち、所定の位置を含む領域の問合せ要求を取得すると、所定の位置が前回検索できた領域に含まれるか否かを判定し、判定の結果、所定の位置が前回検索できた領域に含まれると判定された場合、記憶部に基づいて、含まれると判定された領域の重複領域の中から所定の位置を含む領域を検索する。一方、判定の結果、所定の位置が前回検索できた領域に含まれないと判定された場合、R−Treeに含まれるノードの中で、含まれないと判定された領域を含むインデックス情報の葉ノードからボトムアップでR−Treeを遡った後所定の位置を含む領域を検索する。そして、所定の位置を含む領域を検索できた場合、検索できた情報の重複領域の中から所定の位置を含む領域を検索する。   The following technologies exist as one solution to this problem. That is, when an inquiry request for an area including a predetermined position is acquired, it is determined whether or not the predetermined position is included in the area that was previously searched. As a result of the determination, the predetermined position is included in the area that was previously searched. If it is determined, the area including the predetermined position is searched from the overlapping areas determined to be included based on the storage unit. On the other hand, as a result of the determination, if it is determined that the predetermined position is not included in the previously searched area, the leaf of the index information including the area determined not included in the nodes included in the R-Tree A region including a predetermined position is searched after tracing the R-Tree bottom-up from the node. When the area including the predetermined position can be searched, the area including the predetermined position is searched from the overlapping areas of the information that can be searched.

このような手法を用いると、端末の移動距離が短い場合は、前回位置を含む葉ノードからボトムアップで判定することでルートノードから判定する従来のR−Treeに比べ判定処理を高速化することができる。しかし、移動先がツリー上離れたノード配下である場合(移動距離が近距離の場合でも、親のノードがツリー上離れることもある)、最悪ボトムアップでルートノードまで遡り、さらにルートノードから判定することになるため、判定処理を高速化できない場合がある。   When such a method is used, when the moving distance of the terminal is short, the determination process is speeded up compared to the conventional R-Tree that is determined from the root node by determining from the leaf node including the previous position in the bottom-up manner. Can do. However, if the destination is under a node far away from the tree (even if the distance is short, the parent node may be far away from the tree), it goes back to the root node with the worst bottom-up and further determines from the root node. Therefore, the determination process may not be accelerated.

特開2013−25591号公報JP 2013-25591 A

従って、本技術の目的は、一側面によれば、領域の検索を高速化するための技術を提供することである。   Accordingly, an object of the present technology is, according to one aspect, to provide a technology for speeding up a region search.

本技術に係る領域判定方法は、(A)移動端末の識別子と位置とを含むリクエストを受信し、(B)移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、リクエストに含まれる移動端末の識別子に対応付けられている領域の識別子を特定し、(C)複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された領域の識別子について格納されている第2の領域の識別子を抽出し、(D)抽出された第2の領域の識別子から特定される第2の領域内に、リクエストに含まれる位置が含まれるか判断し、(E)抽出された第2の領域の識別子から特定される第2の領域内にリクエストに含まれる位置が含まれる場合には、抽出された第2の領域の識別子を結果データに追加し、(F)抽出された第2の領域の識別子から特定される第2の領域内にリクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、複数の領域を探索するためのツリー構造をルートから探索する処理を含む。   The region determination method according to the present technology receives (A) a request including an identifier and a position of a mobile terminal, and (B) associates the mobile terminal with the identifier of the mobile terminal, and moves the mobile From the first data storage unit that stores the identifier of the region to which the terminal belonged immediately before, the identifier of the region associated with the identifier of the mobile terminal included in the request is specified, and (C) each of the plurality of regions An identifier of the second area stored for the identified area identifier is extracted from the second data storage unit storing the identifier of the second area that may move from the area, ( D) It is determined whether the position included in the request is included in the second area specified from the extracted second area identifier, and (E) specified from the extracted second area identifier. In the second region When the position included in the request is included, the identifier of the extracted second area is added to the result data, and (F) the second area specified by the extracted identifier of the second area When the second condition including the first condition that the position included in the request is not included is satisfied, a process for searching a tree structure for searching a plurality of areas from the root is included.

一側面によれば、領域の検索を高速化できるようになる。   According to one aspect, the search for a region can be speeded up.

図1Aは、R−Treeを説明するための図である。FIG. 1A is a diagram for explaining R-Tree. 図1Bは、R−Treeを説明するための図である。FIG. 1B is a diagram for explaining R-Tree. 図2は、実施の形態に係るシステムの概要を示す図である。FIG. 2 is a diagram illustrating an overview of the system according to the embodiment. 図3は、判定サーバの機能ブロック図である。FIG. 3 is a functional block diagram of the determination server. 図4は、領域インデックス格納部に格納されるデータを説明するための図である。FIG. 4 is a diagram for explaining data stored in the area index storage unit. 図5は、ルートノードのデータ例を示す図である。FIG. 5 is a diagram illustrating an example of data of the root node. 図6は、中間ノードのデータ例を示す図である。FIG. 6 is a diagram illustrating an example of data in the intermediate node. 図7は、葉ノードのデータ例を示す図である。FIG. 7 is a diagram illustrating an example of leaf node data. 図8は、領域データ格納部に格納されるデータの一例を示す図である。FIG. 8 is a diagram illustrating an example of data stored in the area data storage unit. 図9Aは、領域インデックス格納部及び領域データ格納部に格納されるデータを模式的に示す図である。FIG. 9A is a diagram schematically illustrating data stored in the region index storage unit and the region data storage unit. 図9Bは、領域インデックス格納部及び領域データ格納部に格納されるデータを模式的に示す図である。FIG. 9B is a diagram schematically illustrating data stored in the region index storage unit and the region data storage unit. 図10は、前回領域データ格納部に格納されるデータの一例を示す図である。FIG. 10 is a diagram illustrating an example of data stored in the previous area data storage unit. 図11は、遷移領域データ格納部に格納されるデータの一例を示す図である。FIG. 11 is a diagram illustrating an example of data stored in the transition area data storage unit. 図12は、実施の形態に係る処理フローを示す図である。FIG. 12 is a diagram illustrating a processing flow according to the embodiment. 図13は、リクエストのデータ例を示す図である。FIG. 13 is a diagram illustrating an example of request data. 図14は、重複領域チェック処理の処理フローを示す図である。FIG. 14 is a diagram illustrating a processing flow of the overlapping area check processing. 図15は、実施の形態に係る処理フローを示す図である。FIG. 15 is a diagram illustrating a processing flow according to the embodiment. 図16は、遷移領域設定処理の処理フローを示す図である。FIG. 16 is a diagram illustrating a process flow of the transition area setting process. 図17は、レスポンスデータの一例を示す図である。FIG. 17 is a diagram illustrating an example of response data. 図18は、ルートからの判定処理の処理フローを示す図である。FIG. 18 is a diagram illustrating a processing flow of determination processing from a route. 図19は、コンピュータの機能ブロック図である。FIG. 19 is a functional block diagram of a computer.

本実施の形態に係るシステムの概要を図2に示す。図2に示すように、携帯電話網及びインターネットなどであるネットワーク1を介して、複数の移動端末3(図2では3a及び3b)は、判定サーバ5と接続される。移動端末3a及び3bは、携帯電話機である場合もあれば、スマートフォンである場合もある。さらに、カーナビゲーション装置のような車載端末であっても良い。   An overview of the system according to the present embodiment is shown in FIG. As shown in FIG. 2, a plurality of mobile terminals 3 (3a and 3b in FIG. 2) are connected to a determination server 5 via a network 1 such as a mobile phone network and the Internet. The mobile terminals 3a and 3b may be mobile phones or smart phones. Furthermore, an in-vehicle terminal such as a car navigation device may be used.

移動端末3は、GPS機能を有しており、例えばユーザからの指示に応じて位置データを取得して当該位置データ及び移動端末3の識別子であるセンサIDを含むリクエストを判定サーバ5へ送信する。移動端末3に含まれる他の機能が、定期的に位置データを取得してリクエストを判定サーバ5へ送信する場合もある。判定サーバ5は、位置データ及びセンサIDを含むリクエストを受信すると、以下で述べるような処理を実行して、移動端末3の現在位置を含む領域に関するデータをレスポンスデータとして、移動端末3へ返信する。   The mobile terminal 3 has a GPS function. For example, the mobile terminal 3 acquires position data in response to an instruction from the user, and transmits a request including the position data and a sensor ID that is an identifier of the mobile terminal 3 to the determination server 5. . Other functions included in the mobile terminal 3 may periodically acquire position data and transmit a request to the determination server 5. When the determination server 5 receives the request including the position data and the sensor ID, the determination server 5 executes processing as described below, and returns data related to the area including the current position of the mobile terminal 3 to the mobile terminal 3 as response data. .

図3に判定サーバ5の機能ブロック図を示す。判定サーバ5は、リクエスト受信部51と、ツリー探索部52と、遷移領域管理部53と、前回領域管理部54と、レスポンス送信部55と、関連領域判定部56と、重複領域判定部57と、領域インデックス格納部58と、領域データ格納部59と、前回領域データ格納部59と、遷移領域データ格納部61とを有する。   FIG. 3 shows a functional block diagram of the determination server 5. The determination server 5 includes a request reception unit 51, a tree search unit 52, a transition region management unit 53, a previous region management unit 54, a response transmission unit 55, a related region determination unit 56, and an overlapping region determination unit 57. A region index storage unit 58, a region data storage unit 59, a previous region data storage unit 59, and a transition region data storage unit 61.

リクエスト受信部51は、移動端末3からのリクエストを受信する。レスポンス送信部55は、移動端末3へレスポンスを送信する。ツリー探索部52は、領域インデックス格納部58等に格納されているデータにより実現されているR−Treeを探索するための処理を実行する。関連領域判定部56及び重複領域判定部57は、領域データ格納部59に格納されているデータを用いて、領域判定処理を高速化するための処理を実行する。遷移領域管理部53は、領域間の遷移し易さを表すデータである遷移領域データを格納する遷移領域データ格納部61の管理を行う。前回領域管理部54は、各移動端末について前回リクエスト時における所属領域のデータである前回領域データを格納する前回領域データ格納部59の管理を行う。   The request receiving unit 51 receives a request from the mobile terminal 3. The response transmission unit 55 transmits a response to the mobile terminal 3. The tree search unit 52 executes a process for searching for an R-Tree realized by data stored in the region index storage unit 58 and the like. The related area determination unit 56 and the overlapping area determination unit 57 use the data stored in the area data storage unit 59 to execute processing for speeding up the region determination processing. The transition region management unit 53 manages the transition region data storage unit 61 that stores transition region data that is data indicating the ease of transition between regions. The previous area management unit 54 manages the previous area data storage unit 59 that stores the previous area data that is the data of the belonging area at the time of the previous request for each mobile terminal.

領域インデックス格納部58に格納されるデータについて図4乃至図7を用いて説明する。領域インデックス格納部58は、空間内に存在する多数の領域から、条件に合致する領域を高速に検索するための索引情報を格納する。例えば、領域インデックス格納部58は、どの領域がどこにあるのかを示すインデックスデータをRーTreeで保持する。   Data stored in the area index storage unit 58 will be described with reference to FIGS. The area index storage unit 58 stores index information for quickly searching for an area that matches a condition from a large number of areas existing in the space. For example, the area index storage unit 58 holds index data indicating which area is where by R-Tree.

ここで、領域インデックス格納部58に格納されるデータの例を、図4を用いて説明する。図4に示すように、領域インデックスは、ルートノード、中間ノード及び葉ノードにより形成される木構造のデータである。ルートノードは、R−Treeに1つ存在する最上位のノードである。また、葉ノードは、R−Treeの最下位のノードであり、自らは子ノードを含まず、検索対象となる領域のIDを1又は複数含む領域IDデータと対応付けられている。木構造データにおけるルートノード及び葉ノード以外のノードは、中間ノードであり、1又は複数の子ノードを有する。   Here, an example of data stored in the area index storage unit 58 will be described with reference to FIG. As shown in FIG. 4, the region index is data of a tree structure formed by a root node, an intermediate node, and a leaf node. The root node is the highest node that exists in the R-Tree. The leaf node is the lowest node of the R-Tree, and does not include a child node, but is associated with region ID data including one or more IDs of regions to be searched. Nodes other than the root node and leaf node in the tree structure data are intermediate nodes and have one or more child nodes.

図4の例では、ルートノードR1の子ノード且つ中間ノードがノードR10及びR11である。ノードR1は、ノードR10及びR11についての矩形領域を全て含む矩形領域に対応する。中間ノードR10の子ノード(葉ノード)は、ノードR100及びR101である。そして、ノードR10は、ノードR100及びR101についての矩形領域を全て含む矩形領域に対応する。中間ノードR11の子ノード(葉ノード)は、ノードR110及びR111である。ノードR11は、ノードR110及びR111についての矩形領域を全て含む矩形領域に対応する。そして、葉ノードであるノードR100には、検索対象となる領域ID「1」「2」及び「3」が関連付けられている。   In the example of FIG. 4, the child nodes and intermediate nodes of the root node R1 are the nodes R10 and R11. Node R1 corresponds to a rectangular area that includes all of the rectangular areas for nodes R10 and R11. Child nodes (leaf nodes) of the intermediate node R10 are nodes R100 and R101. The node R10 corresponds to a rectangular area including all the rectangular areas for the nodes R100 and R101. Child nodes (leaf nodes) of the intermediate node R11 are nodes R110 and R111. The node R11 corresponds to a rectangular area that includes all the rectangular areas for the nodes R110 and R111. Then, the area IDs “1”, “2”, and “3” to be searched are associated with the node R100 that is the leaf node.

葉ノードであるノードR101は、検索対象となる領域ID「4」及び「5」が関連付けられている。葉ノードであるノードR110には、検索対象となる領域ID「6」及び「7」が関連付けられている。さらに、葉ノードであるノードR111には、検索対象となる領域ID「8」及び「9」が関連付けられている。   A node R101 that is a leaf node is associated with region IDs “4” and “5” to be searched. Area IDs “6” and “7” to be searched are associated with the node R110 that is a leaf node. Furthermore, region IDs “8” and “9” to be searched are associated with the node R111 that is a leaf node.

領域インデックス格納部58は、R−Treeの実体としてルートノード、中間ノード、葉ノードの各ノードのデータを格納している。図5は、領域インデックス格納部58に格納されているルートノードのデータの例を示す。図5に示すように、ルートノードR1のデータは、ノード種別、矩形領域データ及び子ノードリストを含む。「ノード種別」は、ノードがルートノード、中間ノード、葉ノードのいずれであるかを示す。矩形領域データは、子ノードの担当領域を全て含む最小外接矩形を表すデータである。最小外接矩形とは、子ノードの領域を全て含む最小の矩形領域である。子ノードリストは、当該ノードの子ノードへのリンクポインタのリストである。   The area index storage unit 58 stores data of each node of a root node, an intermediate node, and a leaf node as an R-Tree entity. FIG. 5 shows an example of root node data stored in the area index storage unit 58. As shown in FIG. 5, the data of the root node R1 includes a node type, rectangular area data, and a child node list. “Node type” indicates whether the node is a root node, an intermediate node, or a leaf node. The rectangular area data is data representing a minimum circumscribed rectangle including all the areas in charge of child nodes. The minimum circumscribed rectangle is a minimum rectangular area including all child node areas. The child node list is a list of link pointers to child nodes of the node.

図5の例では、ルートノードR1のノード種別は、ルートノードである。ルートノードR1の矩形領域データは、xyの2次元データであり、「x1=35.5、y1=139.0」が担当領域の最小点であり、「x2=35.9、y2=139.5」が担当領域の最大点であることを示す。すなわち、ノードR1が担当する領域は、両点を頂点として各次元軸に直交した4直線で作られる領域である。また、子ノードリストには、子ノード「R10」及び「R11」へのポインタを含む。   In the example of FIG. 5, the node type of the root node R1 is a root node. The rectangular area data of the root node R1 is xy two-dimensional data, “x1 = 35.5, y1 = 139.0” is the minimum point of the assigned area, and “x2 = 35.9, y2 = 139. “5” indicates the maximum point in the assigned area. That is, the area in charge of the node R1 is an area formed by four straight lines that are perpendicular to each dimension axis with both points as vertices. The child node list includes pointers to the child nodes “R10” and “R11”.

図6は、領域インデックス格納部58に格納される中間ノードのデータの例を示す。図6に示すように、中間ノードのデータは、ノード種別、矩形領域データ及び子ノードリストを含む。領域インデックス格納部58は、ノードR10及びR11について、図6に示すデータを格納する。   FIG. 6 shows an example of intermediate node data stored in the area index storage unit 58. As shown in FIG. 6, the intermediate node data includes a node type, rectangular area data, and a child node list. The area index storage unit 58 stores the data shown in FIG. 6 for the nodes R10 and R11.

図6の例では、ノードR10のノード種別は、中間ノードである。中間ノードR10の矩形領域データは、「x1=35.5、y1=139.2」が担当領域の最小点であり、「x2=35.7、y2=139.3」が担当領域の最大点であることを示す。すなわち、中間ノードR10が担当する領域は、両点を頂点として各次元軸に直交した4直線で作られる領域である。また、ノードR10の子ノードリストは、子ノード「R100」及び「R101」へのポインタを含む。   In the example of FIG. 6, the node type of the node R10 is an intermediate node. In the rectangular area data of the intermediate node R10, “x1 = 35.5, y1 = 139.2” is the minimum point of the assigned area, and “x2 = 35.7, y2 = 139.3” is the maximum point of the assigned area. Indicates that In other words, the region handled by the intermediate node R10 is a region formed by four straight lines that are perpendicular to each dimension axis with both points serving as vertices. The child node list of the node R10 includes pointers to the child nodes “R100” and “R101”.

図7は、領域インデックス格納部58に格納される葉ノードのデータの例を示す図である。図7に示すように、葉ノードのデータは、ノード種別、矩形領域データ及びデータリストを含む。データリストは、領域データへのポインタのリストである。領域インデックス格納部58は、ノードR100、R101、R110及びR111について、図7に示すデータを格納する。   FIG. 7 is a diagram illustrating an example of leaf node data stored in the region index storage unit 58. As shown in FIG. 7, the leaf node data includes a node type, rectangular area data, and a data list. The data list is a list of pointers to area data. The area index storage unit 58 stores the data shown in FIG. 7 for the nodes R100, R101, R110, and R111.

図7の例では、葉ノードR100のノード種別は、葉ノードである。葉ノードR100の矩形領域データは、「x1=35.5、y1=139.2」が担当領域の最小点であり、「x2=35.6、y2=139.3」が担当領域の最大点であることを示す。すなわち、葉ノードR100が担当する領域は、両点を頂点として各次元軸に直交した4直線で作られる領域である。また、ノードR100のデータリストは、領域データへのポインタ「D1」、「D2」及び「D3」を含む。各領域の領域データの実体は、領域データ格納部59に格納されている。   In the example of FIG. 7, the node type of the leaf node R100 is a leaf node. In the rectangular area data of the leaf node R100, “x1 = 35.5, y1 = 139.2” is the minimum point of the assigned area, and “x2 = 35.6, y2 = 139.3” is the maximum point of the assigned area. Indicates that That is, the area in which the leaf node R100 is in charge is an area formed by four straight lines orthogonal to each dimension axis with both points serving as vertices. The data list of the node R100 includes pointers “D1”, “D2”, and “D3” to the area data. The substance of the area data of each area is stored in the area data storage unit 59.

領域データ格納部59は、複数の領域の領域データを格納する。領域データ格納部59に格納されるデータの一例を、図8を用いて説明する。図8に示すように、領域データ格納部59は、領域ID122a毎に、データ名122b、領域情報122c、重複領域122d及び遷移領域122eを対応付けて格納する。   The area data storage unit 59 stores area data of a plurality of areas. An example of data stored in the area data storage unit 59 will be described with reference to FIG. As shown in FIG. 8, the area data storage unit 59 stores a data name 122b, area information 122c, an overlapping area 122d, and a transition area 122e in association with each area ID 122a.

領域ID122aは、領域を一意に識別可能なIDを示す。データ名122bは、領域IDで示される領域のデータ名を示す。領域情報122cは、領域IDで示される領域の具体的な範囲を示す。重複領域122dは、領域IDで示される領域と重複する他の領域の領域IDを示す。また、遷移領域122eは、当該領域から移動端末3が移動する蓋然性が高い領域の領域IDである。遷移領域122eのフィールドには、予め定められている個数の領域IDが登録されるものとするが、移動する蓋然性が低い領域しか検出されていない場合には、登録されない場合がある。   The area ID 122a indicates an ID that can uniquely identify the area. The data name 122b indicates the data name of the area indicated by the area ID. The area information 122c indicates a specific range of the area indicated by the area ID. The overlapping area 122d indicates the area ID of another area that overlaps the area indicated by the area ID. The transition area 122e is an area ID of an area having a high probability that the mobile terminal 3 moves from the area. It is assumed that a predetermined number of region IDs are registered in the field of the transition region 122e, but may not be registered if only regions with a low probability of movement are detected.

例えば、領域ID122aが「00001」である場合、データ名122bとして「A商店X店舗近辺」、領域情報122cとして「円領域:緯度35.491、経度139.650、半径100m」が登録されている。そして、領域ID122aが「00001」である場合の重複領域122dとして領域ID「00034」が登録され、遷移領域122eとして領域ID「00002」「00005」「00010」が登録されている。   For example, when the region ID 122a is “00001”, “A store X near store” is registered as the data name 122b, and “Circle region: latitude 35.491, longitude 139.650, radius 100m” is registered as the region information 122c. . Then, the area ID “00034” is registered as the overlapping area 122d when the area ID 122a is “00001”, and the area IDs “00002”, “00005”, and “00010” are registered as the transition area 122e.

このようなデータを保持していることで、模式的に示せば、図9Aに示すようなデータが用意されていることになる。すなわち、葉ノードに関連付けられている領域IDデータに含まれる領域ID毎に、重複領域及び遷移領域を探索できるようになっている。特に遷移領域のデータによって、図9Bで矢印Mで示すように、領域ID「1」の領域から領域ID「2」の領域への遷移の蓋然性が高いことが領域データに反映されている。   By holding such data, if schematically shown, data as shown in FIG. 9A is prepared. That is, an overlapping area and a transition area can be searched for each area ID included in the area ID data associated with the leaf node. In particular, as shown by the arrow M in FIG. 9B, the data of the transition area reflects that the probability of transition from the area of the area ID “1” to the area of the area ID “2” is high in the area data.

また、前回領域データ格納部59には、図10に示すようなデータが格納される。図10に示すように、移動端末3の識別子であるセンサID毎に、前回この移動端末3が存在すると判定された領域の前回領域IDが登録される。但し、初回は、何も前回領域IDは登録されない。また、例えば所定時間以上変更がなされない場合にはクリアされる場合もある。   Further, data as shown in FIG. 10 is stored in the previous area data storage unit 59. As shown in FIG. 10, for each sensor ID that is an identifier of the mobile terminal 3, the previous area ID of the area in which it was previously determined that the mobile terminal 3 exists is registered. However, at the first time, no previous area ID is registered. For example, it may be cleared when no change is made for a predetermined time.

さらに、遷移領域データ格納部61には、図11に示すようなデータが格納される。この遷移領域データ格納部61には、領域データ格納部59に格納される遷移領域のデータの元となるデータが格納される。すなわち、領域ID毎に、当該領域IDの領域の次に移動したことがある領域のIDとその遷移回数とが登録されるようになっている。遷移回数を、その遷移を検出する毎にインクリメントして、上位所定数の領域の領域IDを遷移領域の領域IDとして、領域データ格納部59における遷移領域122eの欄に登録する。   Further, the transition area data storage unit 61 stores data as shown in FIG. The transition area data storage unit 61 stores data that is the source of the transition area data stored in the area data storage unit 59. That is, for each area ID, the ID of the area that has moved to the area of the area ID and the number of transitions thereof are registered. The number of transitions is incremented each time the transition is detected, and the region IDs of the upper predetermined number of regions are registered in the field of transition region 122e in the region data storage unit 59 as the region ID of the transition region.

次に、図12乃至図18を用いて、判定サーバ5の処理内容について説明する。まず、リクエスト受信部51は、移動端末3から領域判定のリクエストを受信する(図12:ステップS1)。領域判定のリクエストには、図13に示すようにセンサID及び位置のデータ(ここでは緯度経度の座標値)が含まれる。   Next, processing contents of the determination server 5 will be described with reference to FIGS. 12 to 18. First, the request receiving unit 51 receives an area determination request from the mobile terminal 3 (FIG. 12: step S1). The area determination request includes sensor ID and position data (here, latitude and longitude coordinate values) as shown in FIG.

そうすると、リクエスト受信部51は、ツリー探索部52にリクエストのデータを出力する。ツリー探索部52は、まず関連領域判定部56に対してリクエストのデータを出力し、処理を指示する。具体的には、関連領域判定部56は、リクエストのデータに含まれるセンサIDで前回領域データ格納部59を検索して前回領域IDを読み出す(ステップS3)。   Then, the request reception unit 51 outputs the request data to the tree search unit 52. The tree search unit 52 first outputs request data to the related area determination unit 56 and instructs processing. Specifically, the related area determination unit 56 searches the previous area data storage unit 59 with the sensor ID included in the request data and reads the previous area ID (step S3).

ここで関連領域判定部56は、ステップS3で前回領域IDを読み出すことができたか判断する(ステップS5)。前回領域IDを読み出すことができなかった場合には、関連領域判定部56は、ツリー探索部52に前回領域IDを用いた処理が行えなかったことを表す通知を出力する。ツリー探索部52は、関連領域判定部56から通知を受信すると、ルートからの判定処理を実行する(ステップS19)。ルートからの判定処理については、図18を用いて後に説明する。そして処理は端子Bを介して図15の処理に移行する。   Here, the related area determination unit 56 determines whether or not the previous area ID has been read in step S3 (step S5). When the previous area ID cannot be read, the related area determination unit 56 outputs a notification indicating that the process using the previous area ID cannot be performed to the tree search unit 52. When the tree search unit 52 receives the notification from the related region determination unit 56, the tree search unit 52 executes determination processing from the root (step S19). The determination process from the route will be described later with reference to FIG. Then, the processing shifts to the processing in FIG.

一方、前回領域IDを読み出すことができた場合には、関連領域判定部56は、今回のリクエストに含まれる位置座標が前回領域IDで特定される領域内であるか否かを判断する(ステップS7)。領域データ格納部59に格納されている領域データから前回領域IDで特定される領域内に、位置座標が包含されるか否かを判断する。   On the other hand, if the previous area ID can be read, the related area determination unit 56 determines whether or not the position coordinates included in the current request are within the area specified by the previous area ID (step). S7). It is determined whether or not position coordinates are included in the area specified by the previous area ID from the area data stored in the area data storage unit 59.

そして、今回リクエストに含まれる位置座標が前回領域IDの領域内である場合には、関連領域判定部56は、前回領域IDを判定結果に追加する(ステップS15)。そして、関連領域判定部56は、前回領域IDを重複領域判定部57に出力する。重複領域判定部57は、前回領域IDを処理対象領域IDとして特定し、重複領域チェック処理を実行する(ステップS17)。そして処理は端子Aを介して図15の処理に移行する。   When the position coordinates included in the current request are within the area of the previous area ID, the related area determination unit 56 adds the previous area ID to the determination result (step S15). Then, the related area determination unit 56 outputs the previous area ID to the overlapping area determination unit 57. The overlapping area determination unit 57 specifies the previous area ID as the processing target area ID, and executes the overlapping area check process (step S17). Then, the processing shifts to the processing in FIG.

重複領域チェック処理については図14を用いて説明する。重複領域判定部57は、処理対象領域IDで領域データ格納部59を検索して重複領域の領域IDを特定する(ステップS21)。複数特定される場合もあれば、全く領域IDが特定されない場合もある。全く領域IDが特定されない場合には、処理は呼出元の処理に戻る。   The overlapping area check process will be described with reference to FIG. The overlapping area determination unit 57 searches the area data storage unit 59 using the processing target area ID and specifies the area ID of the overlapping area (step S21). There are cases where a plurality of areas are specified, and there are cases where no area ID is specified. If no area ID is specified, the process returns to the caller process.

そして、重複領域判定部57は、未処理の重複領域IDを1つ選択する(ステップS23)。また、重複領域判定部57は、選択された重複領域IDの領域が、今回のリクエストに含まれる位置座標を含むか判断する(ステップS25)。領域データ格納部59に格納されている領域データから選択重複領域IDで特定される領域内に、位置座標が包含されるか否かを判断する。   Then, the overlapping area determination unit 57 selects one unprocessed overlapping area ID (step S23). Also, the overlapping area determination unit 57 determines whether the area of the selected overlapping area ID includes the position coordinates included in the current request (step S25). It is determined whether or not position coordinates are included in the area specified by the selected overlap area ID from the area data stored in the area data storage unit 59.

選択された重複領域IDの領域が今回のリクエストに含まれる位置座標を含まないと判断された場合には、処理はステップS29に移行する。一方、選択された重複領域IDの領域が今回のリクエストに含まれる位置座標を含むと判断された場合には、重複領域判定部57は、選択された重複領域IDを、判定結果に追加する(ステップS27)。   If it is determined that the area of the selected overlapping area ID does not include the position coordinates included in the current request, the process proceeds to step S29. On the other hand, if it is determined that the area of the selected overlapping area ID includes the position coordinates included in the current request, the overlapping area determination unit 57 adds the selected overlapping area ID to the determination result ( Step S27).

その後、重複領域判定部57は、未処理の重複領域IDが存在するか判断する(ステップS29)。未処理の重複領域IDが存在する場合には、処理はステップS23に戻る。一方、未処理の重複領域IDが存在しない場合には、呼出元の処理に戻る。   Thereafter, the overlapping area determination unit 57 determines whether there is an unprocessed overlapping area ID (step S29). If there is an unprocessed overlapping area ID, the process returns to step S23. On the other hand, if there is no unprocessed overlapping area ID, the process returns to the calling process.

このように重複領域を予め領域データ格納部59に用意しておくことで、処理対象領域に重複する領域についても高速に特定でき、処理に係る位置座標を包含するか否かを高速に判断できるようになる。   In this way, by preparing the overlapping area in the area data storage unit 59 in advance, it is possible to specify the area overlapping the processing target area at high speed, and to determine whether or not the position coordinates related to the process are included at high speed. It becomes like this.

一方、今回リクエストに含まれる位置座標が前回領域IDの領域内ではない場合には、関連領域判定部56は、領域データ格納部59から、前回領域IDに対応付けられている遷移領域ID及び当該遷移領域IDに対応付けられている重複領域IDを読み出す(ステップS9)。そして、関連領域判定部56は、今回のリクエストに含まれる位置座標が、遷移領域IDで特定される領域及び重複領域IDで特定される領域の少なくとも1つの領域に含まれるか判断する(ステップS11)。今回リクエストに含まれる位置座標がいずれの領域にも含まれない場合には、処理はステップS19に移行する。前回領域IDで特定される領域及び当該領域に重複する領域に今回リクエストに含まれる位置座標が含まれない場合には、R−Treeのルートから検索する。   On the other hand, if the position coordinates included in the current request are not within the area of the previous area ID, the related area determination unit 56 sends the transition area ID associated with the previous area ID and the relevant area ID from the area data storage unit 59. The overlapping area ID associated with the transition area ID is read (step S9). Then, the related area determination unit 56 determines whether or not the position coordinates included in the current request are included in at least one of the area specified by the transition area ID and the area specified by the overlapping area ID (step S11). ). If the position coordinates included in the request this time are not included in any area, the process proceeds to step S19. When the position coordinate included in the current request is not included in the area specified by the previous area ID and the area overlapping the area, the search is performed from the R-Tree route.

一方、今回のリクエストに含まれる位置座標が、遷移領域IDで特定される領域及び重複領域IDで特定される領域の少なくとも1つの領域に含まれる場合には、関連領域判定部56は、今回のリクエストに含まれる位置座標を含む領域のうち面積が最も小さい領域を特定し、当該領域の領域IDを判定結果に追加する(ステップS13)。なお、ステップS15又はS13において関連領域判定部56は、判定結果に追加した領域の領域IDをツリー探索部52に通知する。その後処理は、ステップS17に移行する。ステップS17では、特定された領域の領域IDを処理対象領域IDとして、重複領域チェック処理を実行する。   On the other hand, when the position coordinate included in the current request is included in at least one of the area specified by the transition area ID and the area specified by the overlap area ID, the related area determination unit 56 A region having the smallest area among the regions including the position coordinates included in the request is specified, and the region ID of the region is added to the determination result (step S13). In step S15 or S13, the related region determination unit 56 notifies the tree search unit 52 of the region ID of the region added to the determination result. Thereafter, the process proceeds to step S17. In step S17, an overlapping area check process is executed using the area ID of the identified area as the processing target area ID.

次に、端子Aを介して図15の処理に移行して、重複領域判定部57は、遷移領域管理部53に処理を指示する。そうすると、遷移領域管理部53は、判定結果に基づき遷移領域設定処理を実行する(ステップS31)。遷移領域設定処理については、図16を用いて説明する。   Next, the process proceeds to the process of FIG. 15 via the terminal A, and the overlapping area determination unit 57 instructs the transition area management unit 53 to perform the process. Then, the transition area management unit 53 executes a transition area setting process based on the determination result (step S31). The transition area setting process will be described with reference to FIG.

遷移領域管理部53は、前回領域IDで特定される領域から、判定結果に含まれる移動先の領域への遷移回数を1インクリメントする(ステップS41)。なお、前回領域IDで特定される領域から移動しない場合には、移動していないので遷移回数を変更することはない。また、判定結果に複数の領域IDが含まれる場合には、それぞれについて遷移回数を1インクリメントするようにしても良いし、最初に判定結果に追加された領域IDで特定される領域への遷移回数のみをインクリメントするようにしても良い。   The transition area management unit 53 increments the number of transitions from the area specified by the previous area ID to the destination area included in the determination result by 1 (step S41). In addition, when it does not move from the area | region specified by last area | region ID, since it has not moved, the frequency | count of transition is not changed. Further, when a plurality of area IDs are included in the determination result, the number of transitions may be incremented by 1 for each, or the number of transitions to the area specified by the area ID first added to the determination result It is also possible to increment only.

そして、遷移領域管理部53は、前回領域IDについての遷移領域を遷移回数でソートする(ステップS43)。そして、遷移領域管理部53は、上位所定数の遷移領域が変化すれば、領域データにおける遷移領域の領域IDを、当該上位所定数の遷移領域の領域IDで更新する(ステップS45)。そして処理は呼出元の処理に戻る。   Then, the transition area management unit 53 sorts the transition areas for the previous area ID by the number of transitions (step S43). Then, when the upper predetermined number of transition areas change, the transition area management unit 53 updates the area ID of the transition area in the area data with the area ID of the upper predetermined number of transition areas (step S45). Then, the process returns to the caller process.

例えば、図11の例では、領域ID「00001」に対応付けられている遷移領域は「00002」「00005」「00010」となっているが、これが遷移領域設定処理において「00002」「00005」「00012」というように変化した場合には、領域データ格納部59における遷移領域の領域IDを「00002」「00005」「00012」に更新する。   For example, in the example of FIG. 11, the transition areas associated with the area ID “00001” are “00002”, “00005”, and “00010”, which are “00002”, “00005”, “ In the case of a change such as “00012”, the area ID of the transition area in the area data storage unit 59 is updated to “00002”, “00005”, and “00012”.

また、ツリー探索部52は前回領域管理部54に指示を行って、前回領域管理部54は、前回領域データ格納部59においてセンサIDに対応付けられる前回領域IDを、ステップS13又はS15で判定結果に追加した領域ID又はステップS19で最初に判定結果に追加した領域IDで更新する(ステップS33)。   Further, the tree search unit 52 instructs the previous region management unit 54, and the previous region management unit 54 determines the previous region ID associated with the sensor ID in the previous region data storage unit 59 in step S13 or S15. The region ID added to the region ID or the region ID first added to the determination result in step S19 is updated (step S33).

最後に、レスポンス送信部55は、判定結果に基づき領域データ格納部59から抽出されるデータを含むレスポンスを、移動端末3へ返信する(ステップS35)。   Finally, the response transmission unit 55 returns a response including data extracted from the area data storage unit 59 based on the determination result to the mobile terminal 3 (step S35).

例えば、図17に示すようなレスポンスのデータを生成して送信する。図17の例では、領域IDと、領域データ格納部59において当該領域IDに対応付けられているデータ名とが含まれる。但し、他のデータベースのデータを抽出するようにしても良い。例えば、クーポンDBを設けておき、当該領域IDに対応付けられているクーポンデータを含むようにしても良い。   For example, response data as shown in FIG. 17 is generated and transmitted. In the example of FIG. 17, the area ID and the data name associated with the area ID in the area data storage unit 59 are included. However, data from other databases may be extracted. For example, a coupon DB may be provided to include coupon data associated with the region ID.

移動端末3は、このようなレスポンスのデータを受信すると、移動端末3の表示装置に表示したり、印刷装置から印刷したり、その他予め定められている処理を実行する。   When the mobile terminal 3 receives such response data, the mobile terminal 3 displays it on the display device of the mobile terminal 3, prints it from the printing device, and executes other predetermined processes.

このような処理を実行すれば、移動する可能性がある遷移領域が特定されているので、前回領域に含まれていない場合であっても当該遷移領域に含まれていれば、R−Treeのルートノードからの探索を回避でき、処理負荷を削減できるようになる。   If such a process is executed, a transition region that may move is specified. Even if it is not included in the previous region, if it is included in the transition region, the R-Tree Searching from the root node can be avoided, and the processing load can be reduced.

なお、図18を用いて、ルートからの判定処理について説明する。ツリー探索部52は、領域インデックス格納部58に格納されているデータにおいてルートノードを選択する(図18:ステップS61)。そして、ツリー探索部52は、選択したノードが葉ノードであるか否かを判断する(ステップS63)。子ノードへのポインタを有しない場合には、葉ノードである。選択したノードが葉ノードでない場合には、ツリー探索部52は、選択したノードの子ノードに、今回のリクエストに含まれる位置座標を含むものがあるか否かを、領域インデックス格納部58に格納されている子ノードの矩形領域データから判断する(ステップS65)。選択したノードの子ノードに、今回のリクエストに含まれる位置座標を含むものがない場合には、ツリー探索部52は、未処理の候補ノードが存在しているか判断する(ステップS69)。未処理の候補ノードが存在している場合には、ツリー探索部52は、未処理の候補ノードを1つ選択し(ステップS71)、処理はステップS63に戻る。一方、未処理の候補ノードが存在しない場合には、ツリー探索部52は、領域無しという結果を生成し(ステップS79)、処理は呼出元の処理に戻る。この場合には、前回領域IDも更新されない。   The determination process from the route will be described with reference to FIG. The tree search unit 52 selects a root node in the data stored in the region index storage unit 58 (FIG. 18: step S61). Then, the tree search unit 52 determines whether or not the selected node is a leaf node (step S63). If it does not have a pointer to a child node, it is a leaf node. If the selected node is not a leaf node, the tree search unit 52 stores in the region index storage unit 58 whether or not any child node of the selected node includes the position coordinates included in the current request. Judgment is made from the rectangular area data of the child node that has been set (step S65). If there is no child node of the selected node that includes the position coordinates included in the current request, the tree search unit 52 determines whether there is an unprocessed candidate node (step S69). When there is an unprocessed candidate node, the tree search unit 52 selects one unprocessed candidate node (step S71), and the process returns to step S63. On the other hand, when there is no unprocessed candidate node, the tree search unit 52 generates a result of no area (step S79), and the process returns to the caller process. In this case, the previous area ID is not updated either.

一方、選択したノードの子ノードに、今回のリクエストに含まれる位置座標を含むものがある場合には、ツリー探索部52は、今回のリクエストに含まれる位置座標を含む子ノードを候補ノードに追加する(ステップS67)。そして処理はステップS69に移行する。   On the other hand, when there is a child node of the selected node that includes the position coordinate included in the current request, the tree search unit 52 adds the child node including the position coordinate included in the current request to the candidate node. (Step S67). Then, the process proceeds to step S69.

一方、ステップS63で、選択したノードが葉ノードであると判断された場合には、ツリー探索部52は、選択した葉ノード配下の領域のうち、今回のリクエストに含まれる位置座標を含む領域があるか判断する(ステップS73)。個々の領域の範囲については、領域データ格納部59に格納されているデータに基づき判断する。   On the other hand, when it is determined in step S63 that the selected node is a leaf node, the tree search unit 52 selects an area including the position coordinates included in the current request from the areas under the selected leaf node. It is determined whether or not there is (step S73). The range of each area is determined based on the data stored in the area data storage unit 59.

選択した葉ノード配下の領域のうち、今回のリクエストに含まれる位置座標を含む領域が存在しない場合には、処理はステップS69に移行する。一方、選択した葉ノード配下の領域のうち、今回のリクエストに含まれる位置座標を含む領域がある場合には、ツリー探索部52は、最小面積の領域を特定し、判定結果に当該領域の領域IDを追加する(ステップS75)。1つの領域のみが抽出された場合には当該領域の領域IDを判定結果に追加する。そして、ツリー探索部52は、重複領域判定部57に、特定された領域の領域IDを処理対象領域IDとして、重複領域チェック処理を実行させる(ステップS77)。そして処理は呼出元の処理に戻る。   If there is no area including the position coordinates included in the current request among the areas under the selected leaf node, the process proceeds to step S69. On the other hand, if there is a region including the position coordinates included in the current request among the regions under the selected leaf node, the tree search unit 52 identifies the region with the minimum area, and the region of the region is included in the determination result. An ID is added (step S75). When only one area is extracted, the area ID of the area is added to the determination result. Then, the tree search unit 52 causes the overlapping region determination unit 57 to execute the overlapping region check process using the region ID of the identified region as the processing target region ID (step S77). Then, the process returns to the caller process.

以上のような処理を行えば、前回と同じ領域にいなくても、前回いた領域から移動する可能性が高い遷移領域に移動したか否かを確認した上で、移動していない場合にルートノードからの探索を行うようにしているので、遷移する可能性が高い遷移領域に移動していれば処理負荷を下げることができる。   If the above processing is performed, even if you are not in the same area as the previous time, check if you have moved to a transition area that has a high possibility of moving from the previous area, and if you have not moved, the route Since the search is performed from the node, the processing load can be reduced if the transition area has a high possibility of transition.

以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって、プログラムモジュール構成とは一致しない場合がある。また、データ格納部の構成についても、ファイル構成とは一致しない場合もある。さらに、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、複数のステップを並列に実行しても良い。   Although the embodiment of the present technology has been described above, the present technology is not limited to this. For example, the functional block diagram is an example, and may not match the program module configuration. Also, the configuration of the data storage unit may not match the file configuration. Further, regarding the processing flow, as long as the processing result does not change, the order of the steps may be changed or a plurality of steps may be executed in parallel.

なお、上で述べた判定サーバ5は、コンピュータ装置であって、図19に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。   The determination server 5 described above is a computer device, and as shown in FIG. 19, a memory 2501, a CPU (Central Processing Unit) 2503, a hard disk drive (HDD: Hard Disk Drive) 2505, and a display device 2509. A display control unit 2507 connected to the computer, a drive device 2513 for a removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519. An operating system (OS) and an application program for executing the processing in this embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. The CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 according to the processing content of the application program, and performs a predetermined operation. Further, data in the middle of processing is mainly stored in the memory 2501, but may be stored in the HDD 2505. In an embodiment of the present technology, an application program for performing the above-described processing is stored in a computer-readable removable disk 2511 and distributed, and installed from the drive device 2513 to the HDD 2505. In some cases, the HDD 2505 may be installed via a network such as the Internet and the communication control unit 2517. Such a computer apparatus realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above and programs such as the OS and application programs. .

以上述べた本実施の形態をまとめると、以下のようになる。   The above-described embodiment can be summarized as follows.

本実施の形態に係る領域判定方法は、(A)移動端末の識別子と位置とを含むリクエストを受信し、(B)移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、リクエストに含まれる移動端末の識別子に対応付けられている領域の識別子を特定し、(C)複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された領域の識別子について格納されている第2の領域の識別子を抽出し、(D)抽出された第2の領域の識別子から特定される第2の領域内に、リクエストに含まれる位置が含まれるか判断し、(E)抽出された第2の領域の識別子から特定される第2の領域内にリクエストに含まれる位置が含まれる場合には、抽出された第2の領域の識別子を結果データに追加し、(F)抽出された第2の領域の識別子から特定される第2の領域内にリクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、複数の領域を探索するためのツリー構造をルートから探索する処理を含む。   The area determination method according to the present embodiment receives (A) a request including an identifier and a position of a mobile terminal, and (B) among a plurality of areas set in advance in association with the identifier of the mobile terminal. From the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before, the identifier of the region associated with the identifier of the mobile terminal included in the request is specified, and (C) a plurality of regions The identifier of the second region stored for the identifier of the specified region is extracted from the second data storage unit storing the identifier of the second region that may move from the region for each. (D) It is determined whether the position included in the request is included in the second area specified from the extracted second area identifier, and (E) specified from the extracted second area identifier Second to be When the position included in the request is included in the area, the identifier of the extracted second area is added to the result data, and (F) the second area specified from the extracted identifier of the second area In the case where the second condition including the first condition that the position included in the request is not included in the request is included, a process for searching a tree structure for searching a plurality of areas from the root is included.

このように第1の領域から移動する可能性がある(より具体的には可能性が高い)第2の領域に含まれているか否かを先に判断することで、ツリー構造をルートから探索する処理を省略できる場合が多くなり、全体の処理負荷を削減できるようになる。   In this way, the tree structure is searched from the root by determining first whether or not it is included in the second area that is likely to move from the first area (more specifically, the possibility is high). In many cases, the processing to be performed can be omitted, and the overall processing load can be reduced.

また、本領域判定方法は、(G)複数の領域の各々について当該領域と少なくとも一部重複する第3の領域の識別子が格納される第3のデータ格納部から、特定された領域の識別子について格納されている第3の領域の識別子を抽出し、(H)抽出された第3の領域の識別子から特定される第3の領域内に、リクエストに含まれる位置が含まれるか判断する処理を含むようにしても良い。この場合、上で述べた第2の条件が、抽出された第3の領域の識別子から特定される第3の領域内に、リクエストに含まれる位置が含まれないという条件を含む場合もある。   In addition, the region determination method includes: (G) for each of the plurality of regions, from the third data storage unit storing the identifier of the third region at least partially overlapping with the region, Extracting the stored third area identifier, and (H) determining whether the position included in the request is included in the third area specified from the extracted third area identifier. It may be included. In this case, the second condition described above may include a condition that the position included in the request is not included in the third area specified from the extracted identifier of the third area.

このようにすれば、重複領域のデータを用いればより高速に複数の領域に含まれるか否かを判断できるようになる。   In this way, it is possible to determine whether or not it is included in a plurality of areas at a higher speed by using the data of the overlapping area.

さらに、本領域判定方法は、(I)複数の領域の各々について当該領域と少なくとも一部重複する第3の領域の識別子が格納される第3のデータ格納部から、抽出された第2の領域の識別子について格納されている第3の領域の識別子を抽出し、(J)抽出された第3の領域の識別子から特定される第3の領域内に、リクエストに含まれる位置が含まれるか判断し、(K)抽出された第3の領域の識別子から特定される第3の領域内に、リクエストに含まれる位置が含まれる場合には、抽出された第3の領域の識別子を結果データに追加する処理をさらに含むようにしても良い。このような場合にも、重複領域のデータは有用である。   Furthermore, this area determination method includes: (I) a second area extracted from a third data storage unit in which an identifier of a third area that at least partially overlaps the area is stored for each of the plurality of areas. (J) Judge whether the position included in the request is included in the third area specified from the extracted identifier of the third area (K) If the position included in the request is included in the third area specified from the extracted third area identifier, the extracted third area identifier is used as the result data. A process to be added may be further included. Even in such a case, the data of the overlapping area is useful.

さらに、本領域判定方法は、(L)第2の領域の識別子を抽出する処理の前に、特定された領域の識別子から特定される領域内に、リクエストに含まれる位置が含まれるか判断し、(M)特定された領域の識別子から特定される領域内に、リクエストに含まれる位置が含まれる場合には、特定された領域の識別子を結果データに追加する処理をさらに含むようにしても良い。すなわち、移動していないか否かを先に判断することで処理負荷を削減できる場合もある。   Furthermore, this region determination method determines whether the position included in the request is included in the region specified from the identifier of the specified region before the process of (L) extracting the identifier of the second region. (M) When the position included in the request is included in the area specified from the identifier of the specified area, a process of adding the identifier of the specified area to the result data may be further included. In other words, it may be possible to reduce the processing load by first determining whether or not it is moving.

なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。   Note that a program for causing a computer to execute the processing described above can be created, and the program includes, for example, a flexible disk, an optical disk such as a CD-ROM, a magneto-optical disk, and a semiconductor memory (for example, ROM). Or a computer-readable storage medium such as a hard disk or a storage device. Note that data being processed is temporarily stored in a storage device such as a RAM.

以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)
移動端末の識別子と位置とを含むリクエストを受信し、
前記移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、前記リクエストに含まれる前記移動端末の識別子に対応付けられている領域の識別子を特定し、
前記複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された前記領域の識別子について格納されている第2の領域の識別子を抽出し、
抽出された前記第2の領域の識別子から特定される第2の領域内に、前記リクエストに含まれる位置が含まれるか判断し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれる場合には、抽出された前記第2の領域の識別子を結果データに追加し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、前記複数の領域を探索するためのツリー構造をルートから探索する
処理を、コンピュータに実行させるためのプログラム。
(Appendix 1)
Receives a request containing the identifier and location of the mobile terminal,
Corresponding to the identifier of the mobile terminal, the mobile terminal included in the request from the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before among the plurality of preset regions Identify the identifier of the region associated with the identifier of
For each of the plurality of regions, the second data storage unit storing the identifier of the second region that may move from the region stores the second identifier stored for the identified region. Extract region identifiers,
Determining whether the position included in the request is included in the second area specified from the extracted identifier of the second area;
If the location included in the request is included in the second area specified from the extracted identifier of the second area, the extracted identifier of the second area is added to the result data,
In the case where the second condition including the first condition that the position included in the request is not included in the second area specified from the extracted identifier of the second area, A program that causes a computer to execute the process of searching from the root for a tree structure for searching an area.

(付記2)
前記複数の領域の各々について当該領域と少なくとも一部重複する第3の領域の識別子が格納される第3のデータ格納部から、特定された前記領域の識別子について格納されている第3の領域の識別子を抽出し、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれるか判断する
処理を、前記コンピュータに実行させ、
前記第2の条件が、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれないという条件を含む
付記1記載のプログラム。
(Appendix 2)
For each of the plurality of areas, from the third data storage unit storing the identifier of the third area at least partially overlapping with the area, the third area stored for the identified identifier of the area Extract the identifier,
Causing the computer to execute a process of determining whether the position included in the request is included in the third area identified from the extracted identifier of the third area;
The second condition is
The program according to claim 1, including a condition that a position included in the request is not included in a third area specified by the extracted identifier of the third area.

(付記3)
前記複数の領域の各々について当該領域と少なくとも一部重複する第3の領域の識別子が格納される第3のデータ格納部から、抽出された前記第2の領域の識別子について格納されている第3の領域の識別子を抽出し、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれるか判断し、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれる場合には、抽出された前記第3の領域の識別子を前記結果データに追加する
処理をさらに前記コンピュータに実行させるための付記1記載のプログラム。
(Appendix 3)
For each of the plurality of regions, the third identifier stored for the identifier of the second region extracted from the third data storage unit storing the identifier of the third region at least partially overlapping with the region. Extract the region identifier,
Determining whether the location included in the request is included in the third region identified from the extracted identifier of the third region;
When the position included in the request is included in the third area specified from the extracted identifier of the third area, the extracted identifier of the third area is added to the result data The program according to appendix 1, for causing the computer to further execute a process.

(付記4)
前記第2の領域の識別子を抽出する処理の前に、
特定された前記領域の識別子から特定される領域内に、前記リクエストに含まれる位置が含まれるか判断し、
特定された前記領域の識別子から特定される領域内に、前記リクエストに含まれる位置が含まれる場合には、特定された前記領域の識別子を結果データに追加する
処理をさらに前記コンピュータに実行させるための付記1乃至3のいずれか1つ記載のプログラム。
(Appendix 4)
Before the process of extracting the identifier of the second area,
Determining whether the location included in the request is included in the region identified from the identified identifier of the region;
In order to cause the computer to further execute a process of adding the specified identifier of the region to the result data when the location included in the request is included in the region specified from the specified identifier of the region The program according to any one of appendices 1 to 3.

(付記5)
移動端末の識別子と位置とを含むリクエストを受信し、
前記移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、前記リクエストに含まれる前記移動端末の識別子に対応付けられている領域の識別子を特定し、
前記複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された前記領域の識別子について格納されている第2の領域の識別子を抽出し、
抽出された前記第2の領域の識別子から特定される第2の領域内に、前記リクエストに含まれる位置が含まれるか判断し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれる場合には、抽出された前記第2の領域の識別子を結果データに追加し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、前記複数の領域を探索するためのツリー構造をルートから探索する
処理を含み、コンピュータにより実行される領域判定方法。
(Appendix 5)
Receives a request containing the identifier and location of the mobile terminal,
Corresponding to the identifier of the mobile terminal, the mobile terminal included in the request from the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before among the plurality of preset regions Identify the identifier of the region associated with the identifier of
For each of the plurality of regions, the second data storage unit storing the identifier of the second region that may move from the region stores the second identifier stored for the identified region. Extract region identifiers,
Determining whether the position included in the request is included in the second area specified from the extracted identifier of the second area;
If the location included in the request is included in the second area specified from the extracted identifier of the second area, the extracted identifier of the second area is added to the result data,
In the case where the second condition including the first condition that the position included in the request is not included in the second area specified from the extracted identifier of the second area, An area determination method executed by a computer, including a process of searching a tree structure for searching an area from a root.

(付記6)
移動端末の識別子と位置とを含むリクエストを受信する受信部と、
前記移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、前記リクエストに含まれる前記移動端末の識別子に対応付けられている領域の識別子を特定し、前記複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された前記領域の識別子について格納されている第2の領域の識別子を抽出し、抽出された前記第2の領域の識別子から特定される第2の領域内に、前記リクエストに含まれる位置が含まれるか判断し、抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれる場合には、抽出された前記第2の領域の識別子を結果データに追加する処理部と、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、前記複数の領域を探索するためのツリー構造をルートから探索する探索部と、
を有する情報処理装置。
(Appendix 6)
A receiving unit for receiving a request including an identifier and a location of a mobile terminal;
Corresponding to the identifier of the mobile terminal, the mobile terminal included in the request from the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before among the plurality of preset regions From the second data storage unit in which the identifier of the second region that is likely to move from the region is stored for each of the plurality of regions, The second area identifier stored for the identified area identifier is extracted, and the position included in the request is within the second area identified from the extracted second area identifier. If the position included in the request is included in the second area identified from the extracted identifier of the second area, the extracted second area Result processing unit for adding the data Besshi,
In the case where the second condition including the first condition that the position included in the request is not included in the second area specified from the extracted identifier of the second area, A search unit for searching a tree structure for searching an area from the root;
An information processing apparatus.

51 リクエスト受信部
52 ツリー探索部
53 遷移領域管理部
54 前回領域管理部
55 レスポンス送信部
56 関連領域判定部
57 重複領域判定部
58 領域インデックス格納部
59 領域データ格納部
60 前回領域データ格納部
61 遷移領域データ格納部
51 Request Receiving Unit 52 Tree Searching Unit 53 Transition Region Management Unit 54 Previous Region Management Unit 55 Response Transmission Unit 56 Related Region Determination Unit 57 Duplicate Region Determination Unit 58 Region Index Storage Unit 59 Region Data Storage Unit 60 Previous Region Data Storage Unit 61 Transition Area data storage

Claims (6)

移動端末の識別子と位置とを含むリクエストを受信し、
前記移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、前記リクエストに含まれる前記移動端末の識別子に対応付けられている領域の識別子を特定し、
前記複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された前記領域の識別子について格納されている第2の領域の識別子を抽出し、
抽出された前記第2の領域の識別子から特定される第2の領域内に、前記リクエストに含まれる位置が含まれるか判断し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれる場合には、抽出された前記第2の領域の識別子を結果データに追加し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、前記複数の領域を探索するためのツリー構造をルートから探索する
処理を、コンピュータに実行させるためのプログラム。
Receives a request containing the identifier and location of the mobile terminal,
Corresponding to the identifier of the mobile terminal, the mobile terminal included in the request from the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before among the plurality of preset regions Identify the identifier of the region associated with the identifier of
For each of the plurality of regions, the second data storage unit storing the identifier of the second region that may move from the region stores the second identifier stored for the identified region. Extract region identifiers,
Determining whether the position included in the request is included in the second area specified from the extracted identifier of the second area;
If the location included in the request is included in the second area specified from the extracted identifier of the second area, the extracted identifier of the second area is added to the result data,
In the case where the second condition including the first condition that the position included in the request is not included in the second area specified from the extracted identifier of the second area, A program that causes a computer to execute the process of searching from the root for a tree structure for searching an area.
前記複数の領域の各々について当該領域と少なくとも一部重複する第3の領域の識別子が格納される第3のデータ格納部から、特定された前記領域の識別子について格納されている第3の領域の識別子を抽出し、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれるか判断する
処理を、前記コンピュータに実行させ、
前記第2の条件が、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれないという条件を含む
請求項1記載のプログラム。
For each of the plurality of areas, from the third data storage unit storing the identifier of the third area at least partially overlapping with the area, the third area stored for the identified identifier of the area Extract the identifier,
Causing the computer to execute a process of determining whether the position included in the request is included in the third area identified from the extracted identifier of the third area;
The second condition is
The program according to claim 1, further comprising a condition that a position included in the request is not included in a third area identified from the extracted identifier of the third area.
前記複数の領域の各々について当該領域と少なくとも一部重複する第3の領域の識別子が格納される第3のデータ格納部から、抽出された前記第2の領域の識別子について格納されている第3の領域の識別子を抽出し、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれるか判断し、
抽出された前記第3の領域の識別子から特定される第3の領域内に、前記リクエストに含まれる位置が含まれる場合には、抽出された前記第3の領域の識別子を前記結果データに追加する
処理をさらに前記コンピュータに実行させるための請求項1記載のプログラム。
For each of the plurality of regions, the third identifier stored for the identifier of the second region extracted from the third data storage unit storing the identifier of the third region at least partially overlapping with the region. Extract the region identifier,
Determining whether the location included in the request is included in the third region identified from the extracted identifier of the third region;
When the position included in the request is included in the third area specified from the extracted identifier of the third area, the extracted identifier of the third area is added to the result data The program according to claim 1, further causing the computer to execute a process.
前記第2の領域の識別子を抽出する処理の前に、
特定された前記領域の識別子から特定される領域内に、前記リクエストに含まれる位置が含まれるか判断し、
特定された前記領域の識別子から特定される領域内に、前記リクエストに含まれる位置が含まれる場合には、特定された前記領域の識別子を結果データに追加する
処理をさらに前記コンピュータに実行させるための請求項1乃至3のいずれか1つ記載のプログラム。
Before the process of extracting the identifier of the second area,
Determining whether the location included in the request is included in the region identified from the identified identifier of the region;
In order to cause the computer to further execute a process of adding the specified identifier of the region to the result data when the location included in the request is included in the region specified from the specified identifier of the region The program according to any one of claims 1 to 3.
移動端末の識別子と位置とを含むリクエストを受信し、
前記移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、前記リクエストに含まれる前記移動端末の識別子に対応付けられている領域の識別子を特定し、
前記複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された前記領域の識別子について格納されている第2の領域の識別子を抽出し、
抽出された前記第2の領域の識別子から特定される第2の領域内に、前記リクエストに含まれる位置が含まれるか判断し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれる場合には、抽出された前記第2の領域の識別子を結果データに追加し、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、前記複数の領域を探索するためのツリー構造をルートから探索する
処理を含み、コンピュータにより実行される領域判定方法。
Receives a request containing the identifier and location of the mobile terminal,
Corresponding to the identifier of the mobile terminal, the mobile terminal included in the request from the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before among the plurality of preset regions Identify the identifier of the region associated with the identifier of
For each of the plurality of regions, the second data storage unit storing the identifier of the second region that may move from the region stores the second identifier stored for the identified region. Extract region identifiers,
Determining whether the position included in the request is included in the second area specified from the extracted identifier of the second area;
If the location included in the request is included in the second area specified from the extracted identifier of the second area, the extracted identifier of the second area is added to the result data,
In the case where the second condition including the first condition that the position included in the request is not included in the second area specified from the extracted identifier of the second area, An area determination method executed by a computer, including a process of searching a tree structure for searching an area from a root.
移動端末の識別子と位置とを含むリクエストを受信する受信部と、
前記移動端末の識別子に対応付けて、予め設定されている複数の領域のうち当該移動端末が直前に属していた領域の識別子を格納する第1データ格納部から、前記リクエストに含まれる前記移動端末の識別子に対応付けられている領域の識別子を特定し、前記複数の領域の各々について当該領域から移動する可能性がある第2の領域の識別子が格納されている第2のデータ格納部から、特定された前記領域の識別子について格納されている第2の領域の識別子を抽出し、抽出された前記第2の領域の識別子から特定される第2の領域内に、前記リクエストに含まれる位置が含まれるか判断し、抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれる場合には、抽出された前記第2の領域の識別子を結果データに追加する処理部と、
抽出された前記第2の領域の識別子から特定される第2の領域内に前記リクエストに含まれる位置が含まれないという第1の条件を含む第2の条件を満たす場合には、前記複数の領域を探索するためのツリー構造をルートから探索する探索部と、
を有する情報処理装置。
A receiving unit for receiving a request including an identifier and a location of a mobile terminal;
Corresponding to the identifier of the mobile terminal, the mobile terminal included in the request from the first data storage unit that stores the identifier of the region to which the mobile terminal belonged immediately before among the plurality of preset regions From the second data storage unit in which the identifier of the second region that is likely to move from the region is stored for each of the plurality of regions, The second area identifier stored for the identified area identifier is extracted, and the position included in the request is within the second area identified from the extracted second area identifier. If the position included in the request is included in the second area identified from the extracted identifier of the second area, the extracted second area Result processing unit for adding the data Besshi,
In the case where the second condition including the first condition that the position included in the request is not included in the second area specified from the extracted identifier of the second area, A search unit for searching a tree structure for searching an area from the root;
An information processing apparatus.
JP2013068440A 2013-03-28 2013-03-28 Information processing method, apparatus and program Expired - Fee Related JP6065708B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013068440A JP6065708B2 (en) 2013-03-28 2013-03-28 Information processing method, apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013068440A JP6065708B2 (en) 2013-03-28 2013-03-28 Information processing method, apparatus and program

Publications (2)

Publication Number Publication Date
JP2014191720A true JP2014191720A (en) 2014-10-06
JP6065708B2 JP6065708B2 (en) 2017-01-25

Family

ID=51837872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013068440A Expired - Fee Related JP6065708B2 (en) 2013-03-28 2013-03-28 Information processing method, apparatus and program

Country Status (1)

Country Link
JP (1) JP6065708B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009118470A (en) * 2007-10-15 2009-05-28 Ntt Docomo Inc Information distributing apparatus and information distribution method
JP2009199151A (en) * 2008-02-19 2009-09-03 Hitachi Ltd k-NEAREST NEIGHBOR SEARCH METHOD AND k-NEAREST NEIGHBOR SEARCH PROGRAM AND k-NEAREST NEIGHBOR SEARCH DEVICE
JP2010160591A (en) * 2009-01-07 2010-07-22 Hitachi Ltd Device, method and program for managing spatial data
JP2013025591A (en) * 2011-07-21 2013-02-04 Fujitsu Ltd Area searching method, area searching program, and information processing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009118470A (en) * 2007-10-15 2009-05-28 Ntt Docomo Inc Information distributing apparatus and information distribution method
JP2009199151A (en) * 2008-02-19 2009-09-03 Hitachi Ltd k-NEAREST NEIGHBOR SEARCH METHOD AND k-NEAREST NEIGHBOR SEARCH PROGRAM AND k-NEAREST NEIGHBOR SEARCH DEVICE
JP2010160591A (en) * 2009-01-07 2010-07-22 Hitachi Ltd Device, method and program for managing spatial data
JP2013025591A (en) * 2011-07-21 2013-02-04 Fujitsu Ltd Area searching method, area searching program, and information processing device

Also Published As

Publication number Publication date
JP6065708B2 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
EP2958033A1 (en) Tile-based distribution of searchable geospatial data to client devices
US9189280B2 (en) Tracking large numbers of moving objects in an event processing system
CN103268730B (en) Electronic map interface shows the method and apparatus of association mark point
CN106202367A (en) A kind of processing method and processing device of object information
KR20100068468A (en) Method, apparatus and computer program product for performing a visual search using grid-based feature organization
WO2006059629A1 (en) Device, method and program for managing area information
JP2008090195A (en) Map data distribution system
CN103714080A (en) Spatial index structure tree based method and device for providing results of searching spatial objects
CN105653537A (en) Paging query method and device for database application system
JP5678790B2 (en) Index management method, index management program, and index management apparatus
US20230194302A1 (en) Method of updating map data, electronic device and storage medium
CN109800360A (en) Cell queries method, apparatus, electronic equipment and storage medium
CN101207880A (en) Mobile phone indicating guidance system based on server client machine mode
CN105786941A (en) Information mining method and device
CN112836093A (en) Data query method and device, electronic equipment and storage medium
US10182307B2 (en) System for providing location-based social networking services to users of mobile devices
JP6065708B2 (en) Information processing method, apparatus and program
CN107657474B (en) Method for determining business circle boundary and server
JP2012212057A (en) Map provision server, map provision method, and program
CN104735237A (en) Path prediction method and interactive voice response (IVR) path prediction system
JP5912328B2 (en) Point name output device, navigation device, point name output method, and program
CN111274272B (en) Object searching method and device and computer system
KR101634108B1 (en) A geographic information providing method using dynamic cache
CN116010677B (en) Spatial index method and device and electronic equipment thereof
JP5492267B2 (en) Information processing apparatus, method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161104

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: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161212

R150 Certificate of patent or registration of utility model

Ref document number: 6065708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees