Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5493223B2 - Distribution processing apparatus, computer system, and request distribution method - Google Patents
[go: Go Back, main page]

JP5493223B2 - Distribution processing apparatus, computer system, and request distribution method - Google Patents

Distribution processing apparatus, computer system, and request distribution method Download PDF

Info

Publication number
JP5493223B2
JP5493223B2 JP2009237513A JP2009237513A JP5493223B2 JP 5493223 B2 JP5493223 B2 JP 5493223B2 JP 2009237513 A JP2009237513 A JP 2009237513A JP 2009237513 A JP2009237513 A JP 2009237513A JP 5493223 B2 JP5493223 B2 JP 5493223B2
Authority
JP
Japan
Prior art keywords
server
position information
request
map
distribution
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.)
Active
Application number
JP2009237513A
Other languages
Japanese (ja)
Other versions
JP2011086066A (en
Inventor
英樹 ▲高▼野
俊介 秋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009237513A priority Critical patent/JP5493223B2/en
Publication of JP2011086066A publication Critical patent/JP2011086066A/en
Application granted granted Critical
Publication of JP5493223B2 publication Critical patent/JP5493223B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

ネットワークによって接続された一以上のコンピュータと一以上のサーバによって構成された計算機システムにおいて、コンピュータが実行するクライアントプログラムから送信されるリクエストの振り分け先のサーバを特定する振り分け方法に関する。   The present invention relates to a distribution method for specifying a server to which a request transmitted from a client program executed by a computer is distributed in a computer system configured by one or more computers and one or more servers connected via a network.

特に、地図やPOI情報等の地域情報を扱う計算機システムにおいて、ユーザに情報を提供するサーバが地域情報提供サーバから取得した地域情報をキャッシュするときに、キャッシュが効果的に利用されるように、振り分け先のサーバを特定する方法に関する。   In particular, in a computer system that handles regional information such as maps and POI information, when a server providing information to a user caches regional information acquired from a regional information providing server, the cache is used effectively. The present invention relates to a method of specifying a distribution destination server.

複数のクライアント端末に対して、地図やPOI(Point Of Interest:レストラン及びガソリンスタンド等を表す情報)情報等の地域情報を用いたアプリケーション(以下、地図アプリケーションともいう)を提供するシステムがある。地図アプリケーションの一例として、Webを介して世界の地図を提供するGoogle(登録商標)マップが広く知られている。   There is a system that provides a plurality of client terminals with an application (hereinafter also referred to as a map application) using regional information such as a map and POI (Point Of Interest: information indicating a restaurant, a gas station, etc.) information. As an example of a map application, a Google (registered trademark) map that provides a map of the world via the Web is widely known.

Webシステムに代表される計算機システムでは、性能を向上するために、サーバを多重化し、負荷分散装置がクライアントからのリクエストを振り分ける方法が適用される。負荷分散方法として、リクエストが到来するたびに順番に振り分けるラウンドロビン方式、又はレスポンスタイムの長さに応じて振り分けるサーバを決定する方法等がある(例えば、特許文献1参照)。   In a computer system typified by a Web system, a method of multiplexing servers and distributing a request from a client is applied to improve the performance. As a load distribution method, there are a round robin method in which distribution is performed in order each time a request arrives, a method of determining a server to distribute according to the length of response time, and the like (for example, see Patent Document 1).

特許文献1には、地図アプリケーションを提供するシステムが地図データ配信サーバと地図データ合成サーバから構成され、地図データ合成サーバがクライアント端末からの地図要求を受け付けると、地図データ配信サーバから必要な地図データを取得し、クライアント端末が要求する地図を合成して返すという処理を行うときに、地図データ合成サーバが地図データ配信サーバから取得した地図データをキャッシュしておき、再度クライアント端末から同様のリクエストが発生したときに地図データ配信サーバを利用せずにキャッシュの地図データを利用することで処理負荷を軽減する方法を開示している。   In Patent Document 1, a system that provides a map application includes a map data distribution server and a map data composition server, and when the map data composition server accepts a map request from a client terminal, the map data required from the map data distribution server is disclosed. , And the map data synthesis server caches the map data acquired from the map data distribution server, and a similar request is received again from the client terminal. A method of reducing processing load by using cache map data without using a map data distribution server when it occurs is disclosed.

特開2003−288004号公報JP 2003-288004 A

一般的にキャッシュの容量は全地図データの大きさに比べて少ないため、サーバはキャッシュ容量に余裕がなくなると利用頻度の少ないデータを削除する等して十分な容量を確保する。そのため、全国の地図データが偏りなく利用されるような地図アプリケーションではキャッシュ内に蓄積された地図データにヒットする確率が小さくなる。   Since the cache capacity is generally smaller than the size of all map data, the server secures sufficient capacity by deleting data that is not frequently used when the cache capacity is not sufficient. Therefore, in a map application in which nationwide map data is used without bias, the probability of hitting map data stored in the cache is reduced.

特許文献1に記載の発明を組み合わせて地図データ合成サーバを多重化した場合、地図データ合成サーバの数だけキャッシュ容量は増加するが、キャッシュがデータを蓄える条件は同一であるため、全国の地図データが偏りなく利用されるような場合におけるキャッシュ率向上はできない。   When the map data composition server is multiplexed by combining the invention described in Patent Document 1, the cache capacity increases by the number of map data composition servers, but the conditions under which the cache stores data are the same. The cache rate cannot be improved in the case where is used without bias.

本発明の代表的な一例を示せば以下の通りである。すなわち、一以上のクライアント装置から送信されるリクエストを複数のサーバに振り分ける振り分け処理装置を備える計算機システムにおける振り分け処理装置であって、前記複数のサーバは、要求された地図データを応答する地図アプリケーションサーバであり、プロセッサと、前記プロセッサに接続されるメモリとを備え、前記メモリは、前記各サーバが地図データ上で担当する代表位置を示す第1の位置情報を格納し、前記リクエストは、地図データを要求し、当該リクエストを前記複数のサーバに振り分けるために用いられる第2の位置情報を含み、前記プロセッサは、前記クライアント装置から前記リクエストを受信した場合、前記受信したリクエストに含まれる第2の位置情報を抽出し、前記第1の位置情報と前記抽出された第2の位置情報とに基づいて、前記第1の位置情報に示された代表位置と、前記第2の位置情報に示された位置との距離である第1の距離を算出し、前記算出された第1の距離が最小となる前記サーバを、前記受信したリクエストの振り分け先サーバに決定し、前記決定された振り分け先サーバに前記受信したリクエストを送信することを特徴とする。 A typical example of the present invention is as follows. That is, a distribution processing device in a computer system including a distribution processing device that distributes requests transmitted from one or more client devices to a plurality of servers, the plurality of servers responding to requested map data A processor and a memory connected to the processor, wherein the memory stores first position information indicating a representative position in charge of each server on map data, and the request includes map data requests, the request includes a second position information used for sorting the plurality of servers, the processor, upon receiving the request from the client device, the second included in the request for the received Extract location information and extract the first location information and the extracted Based on the second location information, the a first position information to the indicated representative position, calculating a first distance which is a distance between the shown in the second position information position, the calculated The server having the smallest first distance is determined as a distribution destination server of the received request, and the received request is transmitted to the determined distribution destination server.

本発明によれば、サーバごとに設定された第1の位置情報付近の地域に関する情報がサーバのメモリに蓄積される。したがって、特定の地域に対するリクエストは、当該地域を担当するサーバに割り振られるため、サーバが格納する情報へのヒット率が高まり処理性能を向上することが可能となる。   According to the present invention, information related to the area near the first position information set for each server is accumulated in the memory of the server. Therefore, since requests for a specific area are allocated to a server in charge of the area, the hit rate for information stored in the server is increased, and the processing performance can be improved.

本発明の第1の実施形態の計算機システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system of the 1st Embodiment of this invention. 本発明の第1の実施形態の周辺POI検索アプリケーションを実行した場合に表示部に表示される処理画像の一例を示す説明図である。It is explanatory drawing which shows an example of the process image displayed on a display part when the periphery POI search application of the 1st Embodiment of this invention is performed. 本発明の第1の実施形態の地図アプリケーションサーバ管理テーブルの一例を示す説明図である。It is explanatory drawing which shows an example of the map application server management table of the 1st Embodiment of this invention. 本発明の第1の実施形態の地図アプリケーションサーバが備える地図データキャッシュの一例を示す説明図である。It is explanatory drawing which shows an example of the map data cache with which the map application server of the 1st Embodiment of this invention is provided. 本発明の第1の実施形態の地図アプリケーションサーバが備えるPOIデータキャッシュの一例を示す説明図である。It is explanatory drawing which shows an example of the POI data cache with which the map application server of the 1st Embodiment of this invention is provided. 本発明の第1の実施形態の地図アプリケーションが実行された場合の各装置の処理を説明するシーケンス図である。It is a sequence diagram explaining the process of each apparatus when the map application of the 1st Embodiment of this invention is performed. 本発明の第1の実施形態の地図アプリケーションサーバが実行する地図取得手段の処理の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the process of the map acquisition means which the map application server of the 1st Embodiment of this invention performs. 本発明の第1の実施形態における端末装置の位置情報と地図アプリケーションサーバの代表位置情報との距離の算出式を示す図である。It is a figure which shows the calculation formula of the distance of the positional information on the terminal device in the 1st Embodiment of this invention, and the representative positional information on a map application server. 本発明の第3の実施形態の地図アプリケーションサーバ管理テーブルの一例を示す説明図である。It is explanatory drawing which shows an example of the map application server management table of the 3rd Embodiment of this invention. 本発明の第3の実施形態における端末装置の位置情報と地図アプリケーションサーバの代表位置情報との距離の算出式を示す図である。It is a figure which shows the calculation formula of the distance of the positional information on the terminal device in the 3rd Embodiment of this invention, and the representative positional information on a map application server. 本発明の第4の実施形態の計算機システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system of the 4th Embodiment of this invention. 本発明の第4の実施形態の振り分け履歴テーブルの一例を示す説明図である。It is explanatory drawing which shows an example of the distribution log | history table of the 4th Embodiment of this invention. 本発明の第4の実施形態の地図アプリケーションが実行された場合の各装置の処理を説明するシーケンス図である。It is a sequence diagram explaining the process of each apparatus when the map application of the 4th Embodiment of this invention is performed. 本発明の第4の実施形態の振り分け処理装置が実行するテーブル更新手段の処理内容の一例を示すフローチャートである。It is a flowchart which shows an example of the processing content of the table update means which the distribution processing apparatus of the 4th Embodiment of this invention performs. 本発明の第4の実施形態の代表位置の算出式を示す図である。It is a figure which shows the calculation formula of the representative position of the 4th Embodiment of this invention. 本発明の第5の実施形態の振り分け処理装置が実行するテーブル更新手段の処理内容の一例を示すフローチャートである。It is a flowchart which shows an example of the processing content of the table update means which the distribution processing apparatus of the 5th Embodiment of this invention performs. 本発明の第5の実施形態の重みの算出式を示す図である。It is a figure which shows the calculation formula of the weight of the 5th Embodiment of this invention. 本発明の第6の実施形態の地図アプリケーションサーバ管理テーブルの一例を示す説明図である。It is explanatory drawing which shows an example of the map application server management table of the 6th Embodiment of this invention. 本発明の第7の実施形態の計算機システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system of the 7th Embodiment of this invention.

[第1の実施形態]
地図アプリケーションを提供する計算機システムにおいて、アプリケーションの性能を向上するために、キャッシュを効果的に利用可能にする方法を示す。
[First Embodiment]
In a computer system that provides a map application, a method for effectively making a cache available to improve the performance of the application is shown.

図1は、本発明の第1の実施形態の計算機システムの構成例を示すブロック図である。   FIG. 1 is a block diagram illustrating a configuration example of a computer system according to the first embodiment of this invention.

本発明の第1の実施形態の計算機システムは、端末装置110−1〜110−m、振り分け処理装置120、地図アプリケーションサーバ130−1〜130−n、地図配信サーバ150、及びPOI配信サーバ160を備え、ネットワーク170を介して互いに接続される。   The computer system according to the first embodiment of the present invention includes terminal devices 110-1 to 110-m, a distribution processing device 120, map application servers 130-1 to 130-n, a map distribution server 150, and a POI distribution server 160. And are connected to each other via a network 170.

なお、複数のネットワークを介して互いに接続してもよい。   Note that they may be connected to each other via a plurality of networks.

以下、端末装置110−1〜110−mを区別しない場合、端末装置110と記載し、また、地図アプリケーションサーバ130−1〜130−nを区別しない場合、地図アプリケーションサーバ130と記載する。   Hereinafter, the terminal device 110-1 to 110-m is described as the terminal device 110 when not distinguished, and the map application server 130-1 to 130-n is described as the map application server 130 when not distinguished.

端末装置110は、地図アプリケーションを利用するユーザが操作する端末装置である。端末装置110は、CPU112、メモリ116、表示部113、HDD114、通信部111及び入力部115を備える。   The terminal device 110 is a terminal device operated by a user who uses the map application. The terminal device 110 includes a CPU 112, a memory 116, a display unit 113, an HDD 114, a communication unit 111, and an input unit 115.

CPU112は、メモリ116上に展開されたプログラムを実行する。   The CPU 112 executes a program developed on the memory 116.

メモリ116は、CPU112によって実行されるプログラム及び処理に必要となる情報を格納する。メモリ116は、クライアントプログラム117及び位置情報取得手段118を格納する。   The memory 116 stores programs executed by the CPU 112 and information necessary for processing. The memory 116 stores the client program 117 and the position information acquisition unit 118.

クライアントプログラム117は、地図アプリケーションを利用するためのプログラムである。なお、クライアントプログラム117は、HDD114に格納されてもよく、地図アプリケーションを利用するときに、メモリ116に読み出されCPU112によって実行される。   The client program 117 is a program for using the map application. The client program 117 may be stored in the HDD 114, and is read into the memory 116 and executed by the CPU 112 when using the map application.

クライアントプログラム117を実行する端末装置110は、表示部113を用いてユーザに処理結果を示し、入力部115を用いてユーザからの入力を受け付ける。Webシステムの場合、クライアントプログラム117として、Webブラウザを用いることが考えられる。   The terminal device 110 that executes the client program 117 indicates a processing result to the user using the display unit 113 and receives an input from the user using the input unit 115. In the case of a Web system, it is conceivable to use a Web browser as the client program 117.

位置情報取得手段118は、端末装置110が設定されている場所を特定するための手段である。位置情報取得手段118は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The position information acquisition unit 118 is a unit for specifying a place where the terminal device 110 is set. The position information acquisition unit 118 may be realized by one program or a plurality of programs.

位置情報の取得方法としては、予めHDD114に格納された位置情報を読み出す方法、又は、GPSデバイス等を利用して現在場所を逐次取得する方法が考えられる。本実施形態では、位置情報として緯度及び経度が用いられる場合について説明する。   As a method for acquiring position information, a method of reading position information stored in advance in the HDD 114 or a method of sequentially acquiring the current location using a GPS device or the like can be considered. In this embodiment, a case where latitude and longitude are used as position information will be described.

HDD114は、端末装置110が備える機能を実現するためのプログラム及び情報を格納する。なお、端末装置110は、HDD114以外の記憶媒体を備えていてもよい。   The HDD 114 stores programs and information for realizing functions provided in the terminal device 110. Note that the terminal device 110 may include a storage medium other than the HDD 114.

通信部111は、ネットワーク170を介して他の装置と通信するための装置である。表示部113は、ユーザに処理結果等を表示する装置である。表示部113は、例えば、ディスプレイ等が考えられる。入力部115は、ユーザからの入力を受け付けるための装置である。入力部115は、例えば、キーボード等が考えられる。   The communication unit 111 is a device for communicating with other devices via the network 170. The display unit 113 is a device that displays processing results and the like to the user. The display unit 113 may be a display, for example. The input unit 115 is a device for receiving input from a user. The input unit 115 may be a keyboard, for example.

振り分け処理装置120は、端末装置110が実行するクライアントプログラム117によって送信されたリクエストを受信し、当該リクエストを適切な地図アプリケーションサーバ130に振り分ける。振り分け処理装置120は、CPU122、メモリ126、表示部123、HDD124、通信部121及び入力部125を備える。   The distribution processing device 120 receives a request transmitted by the client program 117 executed by the terminal device 110 and distributes the request to an appropriate map application server 130. The distribution processing device 120 includes a CPU 122, a memory 126, a display unit 123, an HDD 124, a communication unit 121, and an input unit 125.

CPU122は、メモリ126上に展開されたプログラムを実行する。   The CPU 122 executes a program developed on the memory 126.

メモリ126は、CPU122によって実行されるプログラム及び処理に必要となる情報を格納する。メモリ126は、距離最短サーバ検索手段127及び地図アプリケーションサーバ管理テーブル128を格納する。   The memory 126 stores a program executed by the CPU 122 and information necessary for processing. The memory 126 stores a shortest distance server search unit 127 and a map application server management table 128.

距離最短サーバ検索手段127は、受信したリクエストの送信元の端末装置110から最短の距離にある地図アプリケーションサーバ130を検索し、当該地図アプリケーションサーバ130に受信したリクエストを振り分けるための手段である。距離最短サーバ検索手段127は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The shortest distance server search means 127 is a means for searching the map application server 130 at the shortest distance from the terminal device 110 that has transmitted the received request, and distributing the received request to the map application server 130. The shortest distance server search means 127 may be realized by one program or a plurality of programs.

地図アプリケーションサーバ管理テーブル128は、地図アプリケーションサーバ130に関する位置情報を格納する。地図アプリケーションサーバ管理テーブル128の詳細については、図3を用いて後述する。   The map application server management table 128 stores location information regarding the map application server 130. Details of the map application server management table 128 will be described later with reference to FIG.

HDD124は、振り分け処理装置120が備える機能を実現するためのプログラム及び情報を格納する。なお、振り分け処理装置120は、HDD124以外の記憶媒体を備えていてもよい。   The HDD 124 stores programs and information for realizing the functions provided in the distribution processing device 120. The distribution processing device 120 may include a storage medium other than the HDD 124.

通信部121は、ネットワーク170を介して他の装置と通信するための装置である。表示部123は、振り分け処理装置120の操作者に処理結果等を表示する装置である。表示部123は、例えば、ディスプレイ等が考えられる。入力部125は、振り分け処理装置120の操作者からの入力を受け付けるための装置である。入力部125は、例えば、キーボード等が考えられる。   The communication unit 121 is a device for communicating with other devices via the network 170. The display unit 123 is a device that displays a processing result or the like to an operator of the distribution processing device 120. The display unit 123 may be a display, for example. The input unit 125 is a device for receiving an input from an operator of the distribution processing device 120. The input unit 125 may be a keyboard, for example.

地図アプリケーションサーバ130は、地図配信サーバ150、POI配信サーバ160から必要なデータを取得して、地図アプリケーションが実行される端末装置110を操作する提供する。地図アプリケーションの例については、図2を用いて後述する。   The map application server 130 obtains necessary data from the map distribution server 150 and the POI distribution server 160 and provides the operation of the terminal device 110 on which the map application is executed. An example of the map application will be described later with reference to FIG.

地図アプリケーションサーバ130は、CPU132、メモリ136、表示部133、HDD134、通信部131及び入力部135を備える。   The map application server 130 includes a CPU 132, a memory 136, a display unit 133, an HDD 134, a communication unit 131, and an input unit 135.

CPU132は、メモリ136上に展開されたプログラムを実行する。   The CPU 132 executes a program expanded on the memory 136.

メモリ136は、CPU132によって実行されるプログラム及び処理に必要となる情報を格納する。メモリ136は、メッシュコード取得手段137、地図取得手段138、POI取得手段139、画面構成手段140、地図データキャッシュ141、及びPOIデータキャッシュ142を格納する。   The memory 136 stores a program executed by the CPU 132 and information necessary for processing. The memory 136 stores a mesh code acquisition unit 137, a map acquisition unit 138, a POI acquisition unit 139, a screen configuration unit 140, a map data cache 141, and a POI data cache 142.

メッシュコード取得手段137は、メッシュコードを取得するための手段である。メッシュコード取得手段137は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The mesh code acquisition unit 137 is a unit for acquiring a mesh code. The mesh code acquisition unit 137 may be realized by one program or a plurality of programs.

ここで、メッシュとは全国の地域を網目上に分けたものであり、メッシュコード401とは一つのメッシュを一意に識別するための識別子である。すなわち、メッシュコード401は、各地域を識別するための識別子である。本実施形態では地域を識別するためにメッシュコードを用いるが、他の手段を用いてもよい。   Here, the mesh is obtained by dividing regions throughout the country on a mesh, and the mesh code 401 is an identifier for uniquely identifying one mesh. That is, the mesh code 401 is an identifier for identifying each region. In this embodiment, a mesh code is used to identify the area, but other means may be used.

地図取得手段138は、地図配信サーバ150から地図データを取得するための手段である。地図取得手段138は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The map acquisition unit 138 is a unit for acquiring map data from the map distribution server 150. The map acquisition unit 138 may be realized by one program or a plurality of programs.

POI取得手段139は、POI配信サーバ160からPOIデータを取得するための手段である。POI取得手段139は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The POI acquisition unit 139 is a unit for acquiring POI data from the POI distribution server 160. The POI acquisition unit 139 may be realized by one program or a plurality of programs.

ここで、POIは、Point Of Interestの略であり、レストランやガソリンスタンド等のユーザが関心を持つことが予想される地点を表す。   Here, POI is an abbreviation for Point Of Interest, and represents a point where a user such as a restaurant or a gas station is expected to be interested.

画面構成手段140は、地図データ及びPOIデータを組み合わせて端末装置110の表示部113に表示する画面を構成するための手段である。画面構成手段140は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The screen configuration unit 140 is a unit for configuring a screen to be displayed on the display unit 113 of the terminal device 110 by combining the map data and the POI data. The screen configuration unit 140 may be realized by a single program or a plurality of programs.

地図データキャッシュ141は、地図配信サーバ150から取得した地図データを格納するキャッシュである。なお、地図データキャッシュ141は、実行されるアプリケーションに必要なデータのみを格納してもよいし、地図データの全てを格納してもよい。   The map data cache 141 is a cache that stores map data acquired from the map distribution server 150. The map data cache 141 may store only data necessary for the application to be executed, or may store all map data.

POIデータキャッシュ142は、POI配信サーバ160から取得したPOIデータを格納するキャッシュである。なお、POIデータキャッシュ142は、実行されるアプリケーションに必要なデータのみを格納してもよいし、POIデータの全てを格納してもよい。   The POI data cache 142 is a cache that stores POI data acquired from the POI distribution server 160. The POI data cache 142 may store only data necessary for the application to be executed, or may store all of the POI data.

HDD134は、地図アプリケーションサーバ130が備える機能を実現するためのプログラム及び情報を格納する。なお、地図アプリケーションサーバ130は、HDD134以外の記憶媒体を備えていてもよい。   The HDD 134 stores programs and information for realizing the functions provided in the map application server 130. The map application server 130 may include a storage medium other than the HDD 134.

通信部131は、ネットワーク170を介して他の装置と通信するための装置である。表示部133は、地図アプリケーションサーバ130の操作者に処理結果等を表示する装置である。表示部123は、例えば、ディスプレイ等が考えられる。入力部135は、地図アプリケーションサーバ130の操作者からの入力を受け付けるための装置である。入力部135は、例えば、キーボード等が考えられる。   The communication unit 131 is a device for communicating with other devices via the network 170. The display unit 133 is a device that displays processing results and the like to the operator of the map application server 130. The display unit 123 may be a display, for example. The input unit 135 is a device for receiving input from the operator of the map application server 130. The input unit 135 may be a keyboard, for example.

本実施形態では、各地図アプリケーションサーバ130は、各々担当する地域を示す位置情報が設定される。振り分け処理装置120は、各々の地図アプリケーションサーバ130に設定された位置情報に基づいて、各地図アプリケーションサーバ130に端末装置110から送信されたリクエストを適切に振り分ける。   In the present embodiment, each map application server 130 is set with position information indicating the area in charge. The distribution processing device 120 appropriately distributes the request transmitted from the terminal device 110 to each map application server 130 based on the position information set in each map application server 130.

地図配信サーバ150は、地図アプリケーションサーバ130から送信されるリクエストに応じて、地域情報である地図データを地図アプリケーションサーバ130に返信する。地図配信サーバ150は、CPU(図示省略)、メモリ(図示省略)、及び記憶媒体(図示省略)を備える。   In response to the request transmitted from the map application server 130, the map distribution server 150 returns map data as area information to the map application server 130. The map distribution server 150 includes a CPU (not shown), a memory (not shown), and a storage medium (not shown).

CPU(図示省略)は、メモリ(図示省略)上に展開されたプログラムを実行する。メモリ(図示省略)は、CPU(図示省略)によって実行されるプログラム及び処理に必要となる情報を格納する。記憶媒体(図示省略)は、地図配信サーバ150が備える機能を実現するためのプログラム及び情報を格納する。記憶媒体(図示省略)は、例えば、地図データを格納する。   A CPU (not shown) executes a program developed on a memory (not shown). The memory (not shown) stores a program executed by a CPU (not shown) and information necessary for processing. The storage medium (not shown) stores programs and information for realizing the functions provided in the map distribution server 150. The storage medium (not shown) stores, for example, map data.

なお、図1に示す例では、地図配信サーバ150は一つのみであるが、複数あってもよい。   In the example shown in FIG. 1, there is only one map distribution server 150, but there may be a plurality of map distribution servers 150.

POI配信サーバ160は、地図アプリケーションサーバ130から送信されるリクエストに応じて地域情報であるPOIデータを地図アプリケーションサーバ130に返信する。POI配信サーバ160は、CPU(図示省略)、メモリ(図示省略)、及び記憶媒体(図示省略)を備える。   The POI distribution server 160 returns POI data, which is area information, to the map application server 130 in response to a request transmitted from the map application server 130. The POI distribution server 160 includes a CPU (not shown), a memory (not shown), and a storage medium (not shown).

CPU(図示省略)は、メモリ(図示省略)上に展開されたプログラムを実行する。メモリ(図示省略)は、CPU(図示省略)によって実行されるプログラム及び処理に必要となる情報を格納する。記憶媒体(図示省略)は、POI配信サーバ160が備える機能を実現するためのプログラム及び情報を格納する。記憶媒体(図示省略)は、例えば、POIデータを格納する。   A CPU (not shown) executes a program developed on a memory (not shown). The memory (not shown) stores a program executed by a CPU (not shown) and information necessary for processing. A storage medium (not shown) stores a program and information for realizing the functions of the POI distribution server 160. The storage medium (not shown) stores, for example, POI data.

なお、図1に示す例では、POI配信サーバ160は一つのみであるが、複数あってもよい。   In the example shown in FIG. 1, there is only one POI distribution server 160, but there may be a plurality of POI distribution servers 160.

各装置を配置方法としては、振り分け処理装置120、地図アプリケーションサーバ130、地図配信サーバ150、及びPOI配信サーバ160はデータセンタ内に配置し、端末装置110は、全国の各地に配置する方法が考えられる。例えば、店舗等に固定して端末装置110を配置する方法、又は携帯電話若しくはカーナビ等の移動端末として端末装置110を実現する方法が考えられる。   As an arrangement method of each device, a method is considered in which the distribution processing device 120, the map application server 130, the map distribution server 150, and the POI distribution server 160 are arranged in the data center, and the terminal device 110 is arranged in various places throughout the country. It is done. For example, a method of arranging the terminal device 110 fixed in a store or the like, or a method of realizing the terminal device 110 as a mobile terminal such as a mobile phone or a car navigation can be considered.

また、各処理装置及びサーバは各々一台の計算機として実現してもよいし、仮想化ソフトウェアを用いて一つのコンピュータ内に複数の処理装置及びサーバを実現してもよい。   Each processing device and server may be realized as a single computer, or a plurality of processing devices and servers may be realized in one computer using virtualization software.

図2は、本発明の第1の実施形態の周辺POI検索アプリケーションを実行した場合に表示部113に表示される処理画像の一例を示す説明図である。   FIG. 2 is an explanatory diagram illustrating an example of a processed image displayed on the display unit 113 when the peripheral POI search application according to the first embodiment of this invention is executed.

周辺POI検索アプリケーションは、地図アプリケーションに含まれる一つのアプリケーションである。周辺POI検索アプリケーションが実行されることによって、端末装置110の周辺に存在するPOIが検索され、表示部113に、POI一覧と地図上にPOIの位置が表示される。   The peripheral POI search application is one application included in the map application. By executing the peripheral POI search application, the POI existing around the terminal device 110 is searched, and the POI list and the position of the POI are displayed on the map on the display unit 113.

端末装置110を操作するユーザは、表示部113に表示される検索条件入力画面210を用いてPOIの検索条件を設定する。   A user who operates the terminal device 110 sets a POI search condition using the search condition input screen 210 displayed on the display unit 113.

図2に示すように、検索条件入力画面210には、検索条件として、範囲、カテゴリ、サブカテゴリ、日時及び時間が表示される。また、検索条件入力画面210には、検索ボタン211が表示される。検索ボタン211を操作することによって、周辺POI検索アプリケーションは検索条件に基づいて検索対象を検索し、検索結果画面220を出力する。   As shown in FIG. 2, the search condition input screen 210 displays a range, a category, a subcategory, a date and time as a search condition. A search button 211 is displayed on the search condition input screen 210. By operating the search button 211, the neighboring POI search application searches for a search target based on the search condition and outputs a search result screen 220.

ここで、範囲は、端末装置110を基点とした検索範囲を指定するための条件である。カテゴリは、検索範囲上の検索対象を指定する条件である。サブカテゴリは、検索対象をさらに詳細に指定する条件である。日時は、検索対象の営業日等を指定する条件である。時間は、対象検索の営業時間等を指定する条件である。   Here, the range is a condition for designating a search range based on the terminal device 110. The category is a condition for designating a search target on the search range. The subcategory is a condition for specifying the search target in more detail. The date and time is a condition for designating a business day to be searched. The time is a condition for designating business hours for the target search.

図2に示す例では、範囲に「5Km四方」、カテゴリに「飲食店」、サブカテゴリに「イタリアン」、日時に「今日」、及び時間に「12:00−14:00」が設定されている。   In the example shown in FIG. 2, “5 km square” is set for the range, “restaurant” for the category, “Italian” for the subcategory, “today” for the date and time, and “12: 00-14: 00” for the time. .

前述した検索条件に基づいて周辺POI検索アプリケーションが実行された場合、端末装置110の現在の位置を中心に5km四方の範囲にある、今日の12:00−14:00の間に営業しているイタリア料理の飲食店が検索される。   When the peripheral POI search application is executed based on the above-described search conditions, it is open between 12:00 and 14:00 today, which is in a range of 5 km around the current position of the terminal device 110. Search for Italian restaurants.

検索結果画面220は、表示部113に表示される周辺POI検索アプリケーションの実行結果である。   The search result screen 220 is an execution result of the peripheral POI search application displayed on the display unit 113.

図2に示す例では、検索された飲食店のPOI一覧222が検索結果画面220の左側に表示され、検索結果画面220の右側に地図223上で検索された飲食店の位置が表示される。戻るボタン221を操作すると、検索条件入力画面210に戻り、再度検索条件を入力可能となる。   In the example shown in FIG. 2, the POI list 222 of searched restaurants is displayed on the left side of the search result screen 220, and the positions of restaurants searched on the map 223 are displayed on the right side of the search result screen 220. When the return button 221 is operated, the search condition input screen 210 is displayed again, and the search condition can be input again.

図3は、本発明の第1の実施形態の地図アプリケーションサーバ管理テーブル128の一例を示す説明図である。   FIG. 3 is an explanatory diagram illustrating an example of the map application server management table 128 according to the first embodiment of this invention.

地図アプリケーションサーバ管理テーブル128は、地図アプリケーションサーバIP301、及び代表位置情報302を含む。   The map application server management table 128 includes a map application server IP 301 and representative position information 302.

地図アプリケーションサーバIP301は、地図アプリケーションサーバ130に割り当てられたIPアドレスである。代表位置情報302は、地図アプリケーションサーバ130が担当する場所を示す位置情報である。なお、各地図アプリケーションサーバ130は、予め担当する場所が設定される。   The map application server IP 301 is an IP address assigned to the map application server 130. The representative position information 302 is position information indicating a place that the map application server 130 is in charge of. Each map application server 130 is set in advance with a place in charge.

地図アプリケーションサーバ管理テーブル128は、HDD124に格納され、CPU122によってメモリ126に読み出されて用いられる。振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128を参照することによって、地図アプリケーションサーバ130が担当する地域を把握することができる。   The map application server management table 128 is stored in the HDD 124 and is read by the CPU 122 into the memory 126 and used. By referring to the map application server management table 128, the distribution processing device 120 can grasp the area that the map application server 130 is in charge of.

図4は、本発明の第1の実施形態の地図アプリケーションサーバ130が備える地図データキャッシュ141の一例を示す説明図である。   FIG. 4 is an explanatory diagram illustrating an example of the map data cache 141 included in the map application server 130 according to the first embodiment of this invention.

地図データキャッシュ141は、メッシュコード401、地図画像データ402、及び地図名称データ403を格納する。   The map data cache 141 stores a mesh code 401, map image data 402, and map name data 403.

メッシュコード401は、各地域を識別するための識別子である。   The mesh code 401 is an identifier for identifying each region.

地図画像データ402は、地図の画像データである。   The map image data 402 is map image data.

地図名称データ403は、地図上に表示する名称データである。一つのメッシュコード401に対して複数の名称データを含めることができる。地図名称データ403は、地図上に表示する名称であるname、及び地図上で表示する位置を表す座標(x,y)から構成される。   The map name data 403 is name data displayed on the map. A plurality of name data can be included for one mesh code 401. The map name data 403 includes name, which is a name displayed on the map, and coordinates (x, y) representing the position displayed on the map.

地図データキャッシュ141は、地図取得手段138が実行されることによって地図配信サーバ150に送信されたリクエストの処理結果として取得される地図データを格納する。これによって、地図アプリケーションサーバ130は、地図データキャッシュ141を用いることによって、同一の検索範囲であるリクエストを地図配信サーバ150に送信しなくともよい。   The map data cache 141 stores map data acquired as a processing result of a request transmitted to the map distribution server 150 when the map acquisition unit 138 is executed. As a result, the map application server 130 does not need to transmit the request having the same search range to the map distribution server 150 by using the map data cache 141.

したがって、地図配信サーバ150へのリクエスト送信、地図配信サーバ150からの応答、及び地図配信サーバ150が実行する処理に要する時間を削除することができる。すなわち、地図アプリケーションサーバ130は、地図配信サーバ150を介すことなく処理を実行できるため、処理性能の向上を実現できる。   Therefore, it is possible to delete the time required for the request transmission to the map distribution server 150, the response from the map distribution server 150, and the processing executed by the map distribution server 150. That is, since the map application server 130 can execute processing without going through the map distribution server 150, the processing performance can be improved.

なお、地図画像データ402は、ポリゴンデータであってもよい。また、地図データキャッシュ141は、地図画像データ402と地図名称データ403とを一つのデータとして格納してもよい。また、地図データキャッシュ141は、実行されるアプリケーションに応じて格納するデータを変更することができる。   The map image data 402 may be polygon data. The map data cache 141 may store the map image data 402 and the map name data 403 as one data. Moreover, the map data cache 141 can change the data stored according to the application to be executed.

図5は、本発明の第1の実施形態の地図アプリケーションサーバ130が備えるPOIデータキャッシュ142の一例を示す説明図である。   FIG. 5 is an explanatory diagram illustrating an example of the POI data cache 142 included in the map application server 130 according to the first embodiment of this invention.

POIデータキャッシュ142は、メッシュコード501、検索条件502、及びPOIデータ503を格納する。   The POI data cache 142 stores a mesh code 501, a search condition 502, and POI data 503.

メッシュコード501は、メッシュコード401と同一のものである。   The mesh code 501 is the same as the mesh code 401.

検索条件502は、POIを検索するための条件である。例えば、図2に示す検索条件入力画面210においてユーザが入力するデータに対応する。   The search condition 502 is a condition for searching for a POI. For example, it corresponds to data input by the user on the search condition input screen 210 shown in FIG.

POIデータ503は、メッシュコード501に対応するメッシュの範囲に含まれ、検索条件502に一致するPOIデータである。一つのメッシュコード501に対して複数のPOIデータを含めることができる。POIデータ504は、レストラン等の名称を表すname、地図上に表示する位置を表す座標(x,y)、定休日を表すholiday、開始時間open、及び終了時間closeから構成される。   The POI data 503 is POI data that is included in the mesh range corresponding to the mesh code 501 and matches the search condition 502. A single mesh code 501 can include a plurality of POI data. The POI data 504 is composed of a name indicating the name of a restaurant, etc., coordinates (x, y) indicating a position to be displayed on the map, a holiday indicating a regular holiday, a start time open, and an end time close.

POIデータキャッシュ142は、POI取得手段139が実行されることによってPOI配信サーバ160に送信されたリクエストの処理結果として取得されるPOIデータを格納する。これによって、地図アプリケーションサーバ130は、POIデータキャッシュ142を用いることによって、同一の検索範囲であるリクエストをPOI配信サーバ160に送信しなくともよい。   The POI data cache 142 stores POI data acquired as a result of processing a request transmitted to the POI distribution server 160 when the POI acquisition unit 139 is executed. As a result, the map application server 130 does not need to transmit the request having the same search range to the POI distribution server 160 by using the POI data cache 142.

したがって、POI配信サーバ160へのリクエスト送信、POI配信サーバ160からの応答、及びPOI配信サーバ160が実行する処理に要する時間を削除することができる。すなわち、地図アプリケーションサーバ130は、POI配信サーバ160を介すことなく処理を実行できるため、処理性能の向上を実現できる。   Therefore, it is possible to delete the time required for the request transmission to the POI distribution server 160, the response from the POI distribution server 160, and the processing executed by the POI distribution server 160. That is, since the map application server 130 can execute processing without going through the POI distribution server 160, improvement in processing performance can be realized.

地図アプリケーションサーバ130が与えられた検索キーに基づいて所定の値を迅速に取得するため、地図データキャッシュ141及びPOIデータキャッシュ142は、一般的にハッシュテーブルを用いてメモリ136上に実現されるが、他の方法を用いても実現されてもよい。   In order for the map application server 130 to quickly acquire a predetermined value based on a given search key, the map data cache 141 and the POI data cache 142 are generally implemented on the memory 136 using a hash table. Alternatively, other methods may be used.

ハッシュテーブルを用いる場合、地図データキャッシュ141では、検索キーとしてメッシュコード401が用いられ、値として地図画像データ402及び地図名称データ403が出力される。また、POIデータキャッシュ142では、検索キーとしてメッシュコード501と検索条件502との組み合わせが用いられ、値としてPOIデータ503が出力される。   When the hash table is used, the map data cache 141 uses the mesh code 401 as a search key and outputs map image data 402 and map name data 403 as values. In the POI data cache 142, a combination of the mesh code 501 and the search condition 502 is used as a search key, and POI data 503 is output as a value.

図6は、本発明の第1の実施形態の地図アプリケーションが実行された場合の各装置の処理を説明するシーケンス図である。   FIG. 6 is a sequence diagram illustrating processing of each device when the map application according to the first embodiment of this invention is executed.

まず、端末装置110がPOI検索リクエストを振り分け処理装置120に送信する(ステップ601)。なお、POI検索リクエストには、ユーザが指定した検索条件及び位置情報取得手段118によって取得された端末装置110の位置情報が含まれる。   First, the terminal device 110 transmits a POI search request to the distribution processing device 120 (step 601). The POI search request includes the search condition specified by the user and the location information of the terminal device 110 acquired by the location information acquisition unit 118.

POI検索リクエストを受信した振り分け処理装置120は、距離最短サーバ検索手段127を実行し、受信したPOI検索リクエストを送信する地図アプリケーションサーバ130を決定する(ステップ602)。受信したPOI検索リクエストを送信する地図アプリケーションサーバ130の決定方法については、後述する。   The distribution processing device 120 that has received the POI search request executes the shortest distance server search means 127 to determine the map application server 130 to which the received POI search request is transmitted (step 602). A method of determining the map application server 130 that transmits the received POI search request will be described later.

振り分け処理装置120は、決定された地図アプリケーションサーバ130にPOI検索リクエストを送信する(ステップ602)。なお、振り分け処理装置120が送信するPOI検索リクエストは、端末装置110から送信されるPOI検索リクエストと同一のものである。   The distribution processing device 120 transmits a POI search request to the determined map application server 130 (step 602). Note that the POI search request transmitted by the distribution processing device 120 is the same as the POI search request transmitted from the terminal device 110.

POI検索リクエストを受信した地図アプリケーションサーバ130は、メッシュコード取得手段137を実行し、POI検索リクエストに含まれる位置情報及び検索条件によって決定される検索範囲を含むメッシュのメッシュコードを取得する(ステップ604)。なお、メッシュコードは複数取得されてもよい。   The map application server 130 that has received the POI search request executes the mesh code acquisition means 137 to acquire the mesh code of the mesh including the search range determined by the position information and search conditions included in the POI search request (step 604). ). A plurality of mesh codes may be acquired.

メッシュコードの取得方法としては、振り分け処理装置120がPOI検索リクエストに含まれる位置情報から緯度及び経度の情報を抽出し、抽出された緯度及び経度を用いて所定の数式を算出することによってメッシュコードを取得する方法が考えられる。   As a mesh code acquisition method, the distribution processing device 120 extracts latitude and longitude information from the position information included in the POI search request, and calculates a predetermined mathematical expression using the extracted latitude and longitude. The method of acquiring is considered.

地図アプリケーションサーバ130は、取得されたメッシュコードを用いて、地図取得手段138を実行して地図データを取得する。地図取得手段138では、以下で説明するような処理が実行される。   The map application server 130 executes map acquisition means 138 using the acquired mesh code to acquire map data. In the map acquisition unit 138, processing as described below is executed.

まず、地図取得手段138を実行する地図アプリケーションサーバ130は、地図データキャッシュ141を参照し、必要な地図データのメッシュコードと一致するエントリが格納されているか否かを判定する。   First, the map application server 130 that executes the map acquisition unit 138 refers to the map data cache 141 and determines whether an entry that matches the mesh code of the necessary map data is stored.

地図データキャッシュ141に、必要な地図データのメッシュコードと一致するエントリが格納されていると判定された場合、地図アプリケーションサーバ130は、当該エントリから地図データを取得する。   If it is determined that an entry that matches the mesh code of the necessary map data is stored in the map data cache 141, the map application server 130 acquires map data from the entry.

地図データキャッシュ141に、必要な地図データのメッシュコードと一致するエントリが格納されていないと判定された場合、地図アプリケーションサーバ130は、地図配信サーバ150に地図取得リクエスト605を送信し、地図配信サーバ150から地図データを取得する。なお、取得した地図データは地図データキャッシュ141に格納し、次回同じメッシュコードの地図データが要求されたときの負荷軽減を実現する。   When it is determined that the map data cache 141 does not store an entry that matches the mesh code of the required map data, the map application server 130 transmits a map acquisition request 605 to the map distribution server 150, and the map distribution server 150 Map data is acquired from 150. The acquired map data is stored in the map data cache 141, and the load reduction when map data of the same mesh code is requested next time is realized.

以上が地図取得手段138において実行される処理の一例である。なお、地図取得手段138における処理の詳細については、図7を用いて後述する。   The above is an example of processing executed in the map acquisition unit 138. Details of the processing in the map acquisition unit 138 will be described later with reference to FIG.

地図データを取得した地図アプリケーションサーバ130は、POI取得手段139を実行して、POI検索リクエストに含まれる検索条件と一致するPOIデータを取得する。POI取得手段139では、以下で説明するような処理が実行される。   The map application server 130 that has acquired the map data executes the POI acquisition means 139 to acquire POI data that matches the search condition included in the POI search request. The POI acquisition unit 139 executes processing as described below.

まず、POI取得手段139を実行する地図アプリケーションサーバ130は、POIデータキャッシュ142を参照し、必要なPOIデータのメッシュコード及び検索条件と一致するエントリが格納されているか否かを判定する。   First, the map application server 130 that executes the POI acquisition unit 139 refers to the POI data cache 142 and determines whether or not an entry that matches the mesh code of the necessary POI data and the search condition is stored.

POIデータキャッシュ142に、必要なPOIデータのメッシュコード及び検索条件と一致するエントリが格納されていると判定された場合、地図アプリケーションサーバ130は、当該エントリからPOIデータを取得する。   If it is determined that the POI data cache 142 stores an entry that matches the mesh code and search conditions of the necessary POI data, the map application server 130 acquires POI data from the entry.

POIデータキャッシュ142に、必要なPOIデータのメッシュコード及び検索条件と一致するエントリが格納されていないと判定された場合、地図アプリケーションサーバ130は、POI配信サーバ160にPOI取得リクエスト606を送信し、POI配信サーバ160からPOIデータを取得する。なお、取得したPOIデータはPOIデータキャッシュ142に格納し、次回同じメッシュコードのPOIデータが要求されたときの負荷軽減を実現する。   If it is determined that the POI data cache 142 does not store an entry that matches the mesh code and search conditions of the required POI data, the map application server 130 sends a POI acquisition request 606 to the POI distribution server 160, POI data is acquired from the POI distribution server 160. The acquired POI data is stored in the POI data cache 142 to realize a load reduction when the POI data of the same mesh code is requested next time.

以上がPOI取得手段139において実行される処理の一例である。   The above is an example of processing executed in the POI acquisition unit 139.

次に、地図アプリケーションサーバ130は、画面構成手段140を実行し、取得された地図データ及びPOIデータを組み合わせて検索結果(例えば、検索結果画面220)を表示するための情報を生成し(ステップ607)、生成された情報を端末装置110に送信する(ステップ608)。   Next, the map application server 130 executes the screen composition unit 140, and generates information for displaying the search result (for example, the search result screen 220) by combining the acquired map data and POI data (step 607). ), And transmits the generated information to the terminal device 110 (step 608).

地図アプリケーションサーバ130が画面構成手段140を実行することによって生成された情報を受信した端末装置110は、当該受信した情報に基づいて、表示部605に検索結果を表示する(ステップ609)。   The terminal device 110 that has received the information generated by the map application server 130 executing the screen composition unit 140 displays the search result on the display unit 605 based on the received information (step 609).

図7は、本発明の第1の実施形態の地図アプリケーションサーバ130が実行する地図取得手段138の処理の詳細を説明するフローチャートである。   FIG. 7 is a flowchart illustrating details of the processing of the map acquisition unit 138 executed by the map application server 130 according to the first embodiment of this invention.

CPU132は、メモリ136上に地図取得手段138を読み出し、必要なメッシュ分のデータを取得するまで地図取得手段138を繰り返し実行する。ここで、必要なメッシュ分のデータを取得するとは、検索する範囲が複数のメッシュにまたがっている場合、各々のメッシュから必要な地図データを取得することを示す。   The CPU 132 reads the map acquisition unit 138 on the memory 136 and repeatedly executes the map acquisition unit 138 until necessary mesh data is acquired. Here, acquiring the data for the necessary meshes indicates that if the range to be searched spans a plurality of meshes, the necessary map data is acquired from each mesh.

最初に、地図アプリケーションサーバ130は、地図データキャッシュ141を参照し、地図取得リクエストに含まれるメッシュコードに対応する地図データの取得処理を実行する(ステップ701)。   First, the map application server 130 refers to the map data cache 141 and executes map data acquisition processing corresponding to the mesh code included in the map acquisition request (step 701).

地図アプリケーションサーバ130は、取得処理を実行した結果、地図取得リクエストに含まれるメッシュコードに対応する地図データが取得できたか否かを判定する(ステップ702)。すなわち、地図データキャッシュ141にメッシュコードに対応する地図データが格納されているか否かが判定される。   As a result of executing the acquisition process, the map application server 130 determines whether map data corresponding to the mesh code included in the map acquisition request has been acquired (step 702). That is, it is determined whether or not map data corresponding to the mesh code is stored in the map data cache 141.

地図取得リクエストに含まれるメッシュコードに対応する地図データが取得できたと判定された場合、地図アプリケーションサーバ130は、ステップ707に進む。   If it is determined that the map data corresponding to the mesh code included in the map acquisition request has been acquired, the map application server 130 proceeds to step 707.

地図取得リクエストに含まれるメッシュコードに対応する地図データが取得できないと判定された場合、地図アプリケーションサーバ130は、地図配信サーバ150に地図取得リクエストを送信し、地図データを取得する(ステップ704)。   If it is determined that the map data corresponding to the mesh code included in the map acquisition request cannot be acquired, the map application server 130 transmits a map acquisition request to the map distribution server 150 to acquire the map data (step 704).

次に、地図アプリケーションサーバ130は、取得された地図データを地図データキャッシュ141に格納し(ステップ704)、地図データキャッシュ141に格納されるデータ数が上限値以上であるか否かを判定する(ステップ705)。   Next, the map application server 130 stores the acquired map data in the map data cache 141 (step 704), and determines whether or not the number of data stored in the map data cache 141 is equal to or greater than the upper limit ( Step 705).

地図データキャッシュ141に格納されるデータ数が上限値より小さいと判定された場合、地図アプリケーションサーバ130は、ステップ707に進む。   If it is determined that the number of data stored in the map data cache 141 is smaller than the upper limit value, the map application server 130 proceeds to step 707.

地図データキャッシュ141に格納されるデータ数が上限値以上であると判定された場合、地図アプリケーションサーバ130は、地図データキャッシュ141に格納されるデータを削除する(ステップ706)。   If it is determined that the number of data stored in the map data cache 141 is equal to or greater than the upper limit value, the map application server 130 deletes the data stored in the map data cache 141 (step 706).

地図データキャッシュ141に格納されるデータを削除する方法としては、例えば、地図データキャッシュ141に格納されるデータが利用された時刻を記録しておき、利用されてから最も時間が経過したデータを削除する方法が考えられる。また、地図データキャッシュ141に格納されるデータに有効期間を付加しておき、当該有効期間が経過したらデータを自動的に削除する方法も考えられる。   As a method for deleting the data stored in the map data cache 141, for example, the time when the data stored in the map data cache 141 is used is recorded, and the data that has passed the most time is deleted. A way to do this is conceivable. Another possible method is to add an effective period to the data stored in the map data cache 141 and automatically delete the data when the effective period elapses.

地図アプリケーションサーバ130は、取得された地図データを、検索結果を出力するために用いる地図データとして確定する(ステップ707)。   The map application server 130 determines the acquired map data as map data used for outputting the search result (step 707).

ステップ606において実行される処理の流れは、前述した図7において地図データキャッシュ141をPOIデータキャッシュ142に、地図配信サーバ150をPOI配信サーバ160に変更した場合と同様であるため説明は省略する。   The processing flow executed in step 606 is the same as that in the case where the map data cache 141 is changed to the POI data cache 142 and the map distribution server 150 is changed to the POI distribution server 160 in FIG.

次に、ステップ602において、振り分け処理装置120によって実行される距離最短サーバ検索手段127の処理について説明する。   Next, the processing of the shortest distance server search unit 127 executed by the distribution processing device 120 in step 602 will be described.

距離最短サーバ検索手段127を実行する振り分け処理装置120は、ステップ601において端末装置110から送信されたPOI検索リクエストを受信する。   The distribution processing device 120 that executes the shortest distance server search unit 127 receives the POI search request transmitted from the terminal device 110 in step 601.

振り分け処理装置120は、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離を算出する。   The distribution processing device 120 calculates the distance between the terminal device 110 included in the received POI search request and the map application server 130.

具体的には、受信したPOI検索リクエストに含まれる端末装置110の位置情報と、地図アプリケーションサーバ管理テーブル128に格納された各エントリの代表位置情報302とを用いて距離が算出される。   Specifically, the distance is calculated using the position information of the terminal device 110 included in the received POI search request and the representative position information 302 of each entry stored in the map application server management table 128.

図8は、本発明の第1の実施形態における端末装置110の位置情報と地図アプリケーションサーバ130の代表位置情報302との距離の算出式を示す図である。   FIG. 8 is a diagram illustrating a calculation formula for the distance between the position information of the terminal device 110 and the representative position information 302 of the map application server 130 according to the first embodiment of the present invention.

図8に示すように、端末装置110の位置と地図アプリケーションサーバ130の代表位置情報302に示された位置との距離は、代表位置情報302に示された経度と端末装置110が配置された位置の経度との差の自乗、及び、代表位置情報302に示された緯度と端末装置110が配置された位置の緯度との差の自乗の和の平方根で算出される。   As shown in FIG. 8, the distance between the position of the terminal device 110 and the position indicated in the representative position information 302 of the map application server 130 is the position indicated by the longitude indicated in the representative position information 302 and the position of the terminal device 110. And the square root of the sum of the square of the difference between the latitude indicated in the representative position information 302 and the latitude of the position where the terminal device 110 is located.

振り分け処理装置120は、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離が最も小さい地図アプリケーションサーバ130(以下、距離最短サーバともいう)を、POI検索リクエストを送信する地図アプリケーションサーバ130として決定する。   The distribution processing device 120 transmits a POI search request to the map application server 130 (hereinafter also referred to as the shortest distance server) having the shortest distance between the terminal device 110 included in the received POI search request and the map application server 130. The map application server 130 is determined.

振り分け処理装置120は、距離最短サーバに対応する地図アプリケーションサーバIP301を取得する。   The distribution processing device 120 acquires the map application server IP 301 corresponding to the shortest distance server.

そして、振り分け処理装置120は、取得された地図アプリケーションサーバIP301に基づいて、距離最短サーバにPOI検索リクエストを送信する。   Then, the distribution processing device 120 transmits a POI search request to the shortest distance server based on the acquired map application server IP301.

なお、第1の実施形態では、地図アプリケーションサーバ130は、地図データキャッシュ141とPOIデータキャッシュ142とを別々に備えているが、一つのキャッシュにまとめてよい。この場合、ステップ605及びステップ606における処理は同時に実行される。   In the first embodiment, the map application server 130 includes the map data cache 141 and the POI data cache 142 separately, but may be combined into one cache. In this case, the processes in step 605 and step 606 are executed simultaneously.

なお、第1の実施形態では、計算機システムは、地図配信サーバ150とPOI配信サーバ160とを別々に備えているが、地図配信サーバ150及びPOI配信サーバ160が備える機能を一つのサーバで実現してもよい。   In the first embodiment, the computer system includes the map distribution server 150 and the POI distribution server 160 separately, but the functions of the map distribution server 150 and the POI distribution server 160 are realized by one server. May be.

第1の実施形態によれば、振り分け処理装置が、各地図アプリケーションサーバ130が配置される位置に基づいて、任意の地域からのリクエストを特定の地図アプリケーションサーバ130に割り当てることが可能となる。これによって、各地図アプリケーションサーバ130には特定地域の地図データ及びPOI情報が地図データキャッシュ141及びPOIデータキャッシュ142に蓄積される。したがって、地図アプリケーションサーバ130におけるキャッシュヒット率が向上し、地図アプリケーションの性能向上を実現できる。   According to the first embodiment, the distribution processing device can allocate a request from an arbitrary region to a specific map application server 130 based on the position where each map application server 130 is arranged. As a result, the map data and POI information of a specific area are stored in the map data cache 141 and the POI data cache 142 in each map application server 130. Therefore, the cache hit rate in the map application server 130 is improved, and the performance of the map application can be improved.

[第2の実施形態]
第2の実施形態では、検索条件入力画面210に、中心位置情報(緯度及び経度)の入力欄を新たに設け、ステップ601において送信されるPOI検索リクエストに、検索条件入力画面210においてユーザが指定した中心位置情報を含める点が異なる。
[Second Embodiment]
In the second embodiment, an input field for center position information (latitude and longitude) is newly provided in the search condition input screen 210, and the user designates the POI search request transmitted in step 601 on the search condition input screen 210. The difference is that the center position information is included.

第2の実施形態は、システム構成及び各装置構成は第1の実施形態と同一であるため説明を省略する。以下、第1の実施形態との差異を中心に説明する。   In the second embodiment, the system configuration and each device configuration are the same as those in the first embodiment, and a description thereof will be omitted. Hereinafter, the difference from the first embodiment will be mainly described.

検索条件入力画面210に新たに設けられた中心位置情報(緯度及び経度)の入力欄を用いた検索を実行した場合、中心位置情報を用いて距離最短サーバ検索手段127が実行されるため、ユーザが検索したい地域に配置された地図アプリケーションサーバ130にPOI検索リクエストが送信される。   When the search using the input field of the center position information (latitude and longitude) newly provided on the search condition input screen 210 is executed, the shortest distance server search means 127 is executed using the center position information. A POI search request is transmitted to the map application server 130 located in the area where the user wants to search.

したがって、端末装置110が存在する場所を用いる検索よりもキャッシュヒット率を向上できる。   Therefore, the cache hit rate can be improved as compared with the search using the place where the terminal device 110 exists.

なお、検索処理を実行するたびにPOI検索リクエストが送信される地図アプリケーションサーバ130が異なる場合が考えられるため、地図アプリケーションサーバ130にセッション情報を格納する機能を備え、各地図アプリケーションサーバ130間でセッション情報を共有する等の仕組みを用いることが考えられる。   Since the map application server 130 to which the POI search request is transmitted every time the search process is executed may be different, the map application server 130 has a function of storing session information, and a session between the map application servers 130 is provided. It is conceivable to use a mechanism such as sharing information.

具体的には、複数の地図アプリケーションサーバ130が一以上のグループを構成し、グループ内のいずれかの地図アプリケーションサーバ130との通信のために用いられるセッション情報を当該グループ内で共有する。グループの分け方としては、地図アプリケーションサーバ130が担当する地域に基づいて構成する方法が考えられる。例えば、東京を担当する地図アプリケーションサーバ130を一つのグループとして構成し、大阪を担当する地図アプリケーションサーバ130を他のグループとして構成する方法が考えられる。   Specifically, a plurality of map application servers 130 constitute one or more groups, and session information used for communication with any one of the map application servers 130 in the group is shared within the group. As a method of dividing the group, a method of configuring based on an area in which the map application server 130 is in charge can be considered. For example, a method may be considered in which the map application server 130 in charge of Tokyo is configured as one group and the map application server 130 in charge of Osaka is configured as another group.

これによって、異なる地図アプリケーションサーバ130にPOI検索リクエストが振り分けられることによって生じる問題点を解決できる。例えば、Webアプリケーションが提供される計算機システムおいて、ログイン情報の入力を毎回要求されるような問題点を解決できる。   As a result, it is possible to solve a problem caused by the distribution of POI search requests to different map application servers 130. For example, in a computer system provided with a Web application, it is possible to solve the problem that the login information is requested every time.

[第3の実施形態]
第3の実施形態は、振り分け処理装置120によって実行される距離最短サーバ検索手段127の処理において、重みを用いて各地図アプリケーションサーバ130が担当する地域の広さを調整する点が異なる。
[Third Embodiment]
The third embodiment is different in that, in the processing of the shortest distance server search unit 127 executed by the distribution processing device 120, the area size of each map application server 130 is adjusted using weights.

第3の実施形態は、システム構成及び各装置構成は第1の実施形態と同一であるため説明を省略する。以下、第1の実施形態との差異を中心に説明する。   In the third embodiment, the system configuration and each device configuration are the same as those in the first embodiment, and a description thereof will be omitted. Hereinafter, the difference from the first embodiment will be mainly described.

図9は、本発明の第3の実施形態の地図アプリケーションサーバ管理テーブル128の一例を示す説明図である。   FIG. 9 is an explanatory diagram illustrating an example of the map application server management table 128 according to the third embodiment of this invention.

地図アプリケーションサーバ管理テーブル128は、新たに重み901のカラムを含む。重み901は、地図アプリケーションサーバ130が担当する地域を調整するために用いられる値である。本実施形態では、予め各地図アプリケーションサーバ130に重み901の値が設定される。   The map application server management table 128 newly includes a column with a weight 901. The weight 901 is a value used to adjust the area that the map application server 130 is in charge of. In the present embodiment, the value of the weight 901 is set in advance for each map application server 130.

振り分け処理装置120によって実行される距離最短サーバ検索手段127の処理では、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離が最も小さい地図アプリケーションサーバ130にリクエストを振り分ける処理は同一であるが、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離を算出する方法が異なる。   In the processing of the shortest distance server search means 127 executed by the distribution processing device 120, the request is distributed to the map application server 130 having the shortest distance between the terminal device 110 included in the received POI search request and the map application server 130. Are the same, but the method for calculating the distance between the terminal device 110 included in the received POI search request and the map application server 130 is different.

図10は、本発明の第3の実施形態における端末装置110の位置情報と地図アプリケーションサーバ130の代表位置情報302との距離の算出式を示す図である。   FIG. 10 is a diagram illustrating a calculation formula for the distance between the position information of the terminal device 110 and the representative position information 302 of the map application server 130 according to the third embodiment of the present invention.

図10に示す算出式は、図8の示す算出式によって算出された距離に重みを乗算している点が異なる。重みが大きければ距離が長くなるため、重みが大きいほど担当する地域の範囲は狭くなる。   The calculation formula shown in FIG. 10 is different in that the distance calculated by the calculation formula shown in FIG. 8 is multiplied by a weight. The greater the weight, the longer the distance. Therefore, the greater the weight, the narrower the range of the area in charge.

第3の実施形態によれば、例えば、特定の地図アプリケーションサーバ130に負荷が偏っている場合、当該地図アプリケーションサーバ130の重み901を予め大きい値に設定しておくことによって、当該地図アプリケーションサーバ130が担当する範囲を狭くすることができる。したがって、特定の地図アプリケーションサーバ130に負荷が集中することを防止することが可能となる。   According to the third embodiment, for example, when the load is biased to a specific map application server 130, the map application server 130 is set to a large value in advance by setting the weight 901 of the map application server 130 to a large value. Can be narrowed. Therefore, it is possible to prevent the load from being concentrated on the specific map application server 130.

[第4の実施形態]
第1の実施形態では、地図アプリケーションサーバ管理テーブル128の代表位置情報302は予め設定されていたが、第4の実施形態では、代表位置情報302を動的に変更する点が異なる。
[Fourth Embodiment]
In the first embodiment, the representative position information 302 of the map application server management table 128 is set in advance, but the fourth embodiment is different in that the representative position information 302 is dynamically changed.

適切な代表位置情報302を設定するには、多くのリクエストが到来する位置、又は検索される頻度が高い位置等を事前に予測する必要があった。しかし、前述した予測を事前に行うことは難しく、正しく予測が設定されない場合、特定の地図アプリケーションサーバ130にアクセスが集中すること等によって、適切な負荷分散が実現できない。   In order to set appropriate representative position information 302, it is necessary to predict in advance a position where many requests arrive or a position where the frequency of searching is high. However, it is difficult to perform the above-mentioned prediction in advance, and when the prediction is not set correctly, appropriate load distribution cannot be realized due to concentration of access to a specific map application server 130 or the like.

以下、地図アプリケーションの利用状況に応じて動的に代表位置情報を最適化する方法について、第1の実施形態との差異を中心に説明する。   Hereinafter, a method for dynamically optimizing the representative position information in accordance with the usage status of the map application will be described focusing on differences from the first embodiment.

図11は、本発明の第4の実施形態の計算機システムの構成例を示すブロック図である。   FIG. 11 is a block diagram illustrating a configuration example of a computer system according to the fourth embodiment of this invention.

図11に示すように、計算機システムは、端末装置110−1〜110−m、振り分け処理装置120、地図アプリケーションサーバ130−1〜130−n、地図配信サーバ150、及びPOI配信サーバ160を備え、ネットワーク170を介して互いに接続される。端末装置110−1〜110−m、地図アプリケーションサーバ130−1〜130−n、地図配信サーバ150、及びPOI配信サーバ160の構成は第1の実施形態と同一であるため説明を省略する。   As shown in FIG. 11, the computer system includes terminal devices 110-1 to 110-m, a distribution processing device 120, map application servers 130-1 to 130-n, a map distribution server 150, and a POI distribution server 160. They are connected to each other via a network 170. Since the configurations of the terminal devices 110-1 to 110-m, the map application servers 130-1 to 130-n, the map distribution server 150, and the POI distribution server 160 are the same as those in the first embodiment, description thereof will be omitted.

第4の実施形態の振り分け処理装置120は、新たにテーブル更新手段1101及び振り分け履歴テーブル1102を備える。   The distribution processing device 120 according to the fourth embodiment newly includes a table update unit 1101 and a distribution history table 1102.

テーブル更新手段1101は、振り分け履歴テーブル1102を参照して、地図アプリケーションサーバ管理テーブル128の代表位置情報302を更新するための手段である。テーブル更新手段1101は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The table update unit 1101 is a unit for updating the representative position information 302 of the map application server management table 128 with reference to the distribution history table 1102. The table update unit 1101 may be realized by a single program or a plurality of programs.

振り分け履歴テーブル1102は、地図アプリケーションサーバ130に振り分けられたリクエストに関する情報を格納する。振り分け履歴テーブル1102は、地図アプリケーションサーバ130に振り分けられたリクエスト数等を格納する。振り分け履歴テーブル1102の詳細については図12を用いて後述する。   The distribution history table 1102 stores information related to requests distributed to the map application server 130. The distribution history table 1102 stores the number of requests distributed to the map application server 130 and the like. Details of the distribution history table 1102 will be described later with reference to FIG.

図12は、本発明の第4の実施形態の振り分け履歴テーブル1102の一例を示す説明図である。   FIG. 12 is an explanatory diagram illustrating an example of the distribution history table 1102 according to the fourth embodiment of this invention.

振り分け履歴テーブル1102は、時刻1201、位置情報1202、及び地図アプリケーションサーバIP1203を含む。   The distribution history table 1102 includes time 1201, position information 1202, and map application server IP 1203.

時刻1201は、振り分け処理装置120がリクエストを振り分けた時刻を示す。位置情報1202は、振り分けられたリクエストを送信した端末装置110の位置(第1の実施形態参照)又はWebアプリケーションを用いて検索された位置(第2の実施形態参照)を示す。地図アプリケーションサーバIP1203は、リクエストが振り分けられた地図アプリケーションサーバ130のIPアドレスを示す。   A time 1201 indicates a time when the distribution processing device 120 distributes the request. The position information 1202 indicates the position of the terminal device 110 that transmitted the distributed request (see the first embodiment) or the position searched using the Web application (see the second embodiment). The map application server IP 1203 indicates the IP address of the map application server 130 to which the request is distributed.

なお、距離最短サーバ検索手段127が距離最短サーバを検索されるたびに、振り分け履歴テーブル1102にエントリが追加されることによって、振り分け履歴テーブル1102が作成される。   Each time the shortest distance server search unit 127 searches for the shortest distance server, an entry is added to the distribution history table 1102, thereby creating the distribution history table 1102.

図13は、本発明の第4の実施形態の地図アプリケーションが実行された場合の各装置の処理を説明するシーケンス図である。   FIG. 13 is a sequence diagram illustrating processing of each device when the map application according to the fourth embodiment of this invention is executed.

図6と異なる点は、POI検索リクエストを地図アプリケーションサーバ130に送信した後(ステップ603)、振り分け処理装置120がテーブル更新手段1101を実行する(ステップ1301)点である。振り分け処理装置120が実行するテーブル更新手段1101の処理内容の詳細は、図14を用いて後述する。   6 is different from FIG. 6 in that after the POI search request is transmitted to the map application server 130 (step 603), the distribution processing device 120 executes the table updating unit 1101 (step 1301). Details of processing contents of the table updating unit 1101 executed by the distribution processing device 120 will be described later with reference to FIG.

なお、図13に示す例では、地図アプリケーションサーバ130にPOI検索リクエストを送信した後(ステップ603)、地図アプリケーションサーバ130からのレスポンスを待たずに非同期にテーブル更新手段1101が実行されているが、地図アプリケーションサーバ130からのレスポンスと同期して実行されてもよいし、ステップ602の前に実行されてもよい。   In the example shown in FIG. 13, after the POI search request is transmitted to the map application server 130 (step 603), the table updating unit 1101 is executed asynchronously without waiting for a response from the map application server 130. It may be executed in synchronization with the response from the map application server 130 or may be executed before step 602.

また、各リクエストが到来する毎に振り分け処理装置120はテーブル更新手段1101を実行するが、本実施形態ではこれに限定されず、特定のリクエストを処理するたびにテーブル更新手段1101が実行されてもよいし、周期的にテーブル更新手段1101が実行されてもよい。   Further, the distribution processing device 120 executes the table update unit 1101 every time a request arrives. However, the present embodiment is not limited to this, and the table update unit 1101 may be executed every time a specific request is processed. Alternatively, the table update unit 1101 may be executed periodically.

図14は、本発明の第4の実施形態の振り分け処理装置120が実行するテーブル更新手段1101の処理内容の一例を示すフローチャートである。   FIG. 14 is a flowchart illustrating an example of processing contents of the table update unit 1101 executed by the distribution processing device 120 according to the fourth embodiment of this invention.

ステップ1301において、振り分け処理装置120は、リクエスト状況に応じて地図アプリケーションサーバ管理テーブル128の代表位置情報302を更新する。   In step 1301, the distribution processing device 120 updates the representative position information 302 of the map application server management table 128 according to the request status.

振り分け処理装置120は、振り分け履歴テーブル1102から、現在の時刻から単位時間内のエントリ(以下、履歴という)を取得する(ステップ1701)。ここで、単位時間とは、例えば、6時間以内、又は24時間以内、1週間以内等が考えられる。   The distribution processing device 120 acquires an entry within the unit time from the current time (hereinafter referred to as a history) from the distribution history table 1102 (step 1701). Here, the unit time may be, for example, within 6 hours, within 24 hours, within one week, or the like.

振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128から、一つのエントリを取得する(ステップ1702)。エントリの取得方法としては、例えば、地図アプリケーションサーバ管理テーブル128に格納されている順に取得する方法が考えられる。   The distribution processing device 120 acquires one entry from the map application server management table 128 (step 1702). As an entry acquisition method, for example, a method of acquiring entries in the order stored in the map application server management table 128 can be considered.

ステップ1701において取得された履歴のうち、ステップ1702において取得されたエントリに対応する地図アプリケーションサーバ130に関する履歴のみを抽出する(ステップ1703)。つまり、現在の時刻から単位時間内に当該地図アプリケーションサーバ130に振り分けられたリクエストを抽出する。   Of the history acquired in step 1701, only the history related to the map application server 130 corresponding to the entry acquired in step 1702 is extracted (step 1703). That is, a request distributed to the map application server 130 within a unit time from the current time is extracted.

具体的には、ステップ1702において取得されたエントリに対応する地図アプリケーションサーバ130の地図アプリケーションサーバIP1301と一致する地図アプリケーションサーバIP1203の履歴が取得される。   Specifically, the history of the map application server IP 1203 that matches the map application server IP 1301 of the map application server 130 corresponding to the entry acquired in step 1702 is acquired.

振り分け処理装置120は、抽出された履歴に含まれる位置情報を用いて新たな代表位置を算出する(ステップ1704)。   The distribution processing device 120 calculates a new representative position using the position information included in the extracted history (step 1704).

具体的には、振り分け処理装置120は、抽出された履歴の位置情報1202の緯度及び経度に基づいて、各々の平均を算出する。具体的には、図15に示す代表位置の算出式を用いて平均が算出される。   Specifically, the distribution processing device 120 calculates each average based on the latitude and longitude of the extracted location information 1202 of the history. Specifically, the average is calculated by using a representative position calculation formula shown in FIG.

図15は、本発明の第4の実施形態の代表位置の算出式を示す図である。   FIG. 15 is a diagram illustrating an expression for calculating the representative position according to the fourth embodiment of the present invention.

図15に示すように、地図アプリケーションサーバ130の代表位置情報302における経度は、当該地図アプリケーションサーバ130にリクエストを送信した全ての端末装置110が配置された位置の経度を加算したものを、当該地図アプリケーションサーバ130に振り分けられた全履歴数(リクエストの総数)で除算して算出される。また、地図アプリケーションサーバ130の代表位置情報302における緯度は、当該地図アプリケーションサーバ130にリクエストを送信した全ての端末装置110が配置された位置の緯度を加算したものを、当該地図アプリケーションサーバ130に振り分けられた全履歴数(リクエストの総数)で除算して算出される。   As shown in FIG. 15, the longitude in the representative position information 302 of the map application server 130 is obtained by adding the longitudes of the positions where all the terminal devices 110 that have transmitted requests to the map application server 130 are added. It is calculated by dividing by the total number of history (total number of requests) distributed to the application server 130. Further, the latitude in the representative position information 302 of the map application server 130 is obtained by adding the latitudes of the positions where all the terminal devices 110 that have transmitted requests to the map application server 130 are added to the map application server 130. It is calculated by dividing by the total number of history records (total number of requests).

図15の式を用いることによって、各地図アプリケーションサーバ130の負荷が考慮された代表位置情報302を決定することが可能となる。   By using the formula of FIG. 15, it is possible to determine the representative position information 302 in which the load of each map application server 130 is taken into consideration.

次に、振り分け処理装置120は、ステップ1704において算出された代表位置を、地図アプリケーションサーバ管理テーブル128の対応するエントリの代表位置情報302に格納する(ステップ1705)。   Next, the distribution processing device 120 stores the representative position calculated in step 1704 in the representative position information 302 of the corresponding entry in the map application server management table 128 (step 1705).

振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されたか否かを判定する(ステップ1706)。   The distribution processing device 120 determines whether or not processing has been executed for all entries in the map application server management table 128 (step 1706).

地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されていないと判定された場合、振り分け処理装置120は、ステップ1702に戻り、次の取得されたエントリに対して同様の処理(ステップ1702〜ステップ1706)を実行する。   If it is determined that processing has not been executed for all entries in the map application server management table 128, the distribution processing device 120 returns to step 1702 and performs the same processing (steps 1702 to 1702) for the next acquired entry. Step 1706) is executed.

地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されたと判定された場合、振り分け処理装置120は処理を終了する(ステップ1707)。   If it is determined that the processing has been executed for all entries in the map application server management table 128, the distribution processing device 120 ends the processing (step 1707).

第4の実施形態によれば、リクエスト発生が多い地域、又は地図アプリケーションによって検索される頻度が多い地域に地図アプリケーションサーバ130の代表位置情報が動的に設定される。これによって、地図アプリケーションサーバ130の負荷分散が適切になるように地図アプリケーションサーバ130間の距離を動的に調整できる。   According to the fourth embodiment, the representative position information of the map application server 130 is dynamically set in an area where a large number of requests are generated or an area where the frequency of searching by the map application is high. Thereby, the distance between the map application servers 130 can be dynamically adjusted so that the load distribution of the map application servers 130 is appropriate.

[第5の実施形態]
第3の実施形態では、地図アプリケーションサーバ管理テーブル128の重み901は予め設定されていたが、第5の実施形態では、重み901を動的に変更する点が異なる。
[Fifth Embodiment]
In the third embodiment, the weight 901 of the map application server management table 128 is set in advance, but the fifth embodiment is different in that the weight 901 is dynamically changed.

計算機システムの構成は、図11と同一であるため説明を省略する。また、各装置の構成も第4の実施形態と同一であるため説明を省略する。   The configuration of the computer system is the same as that shown in FIG. Also, the configuration of each device is the same as that of the fourth embodiment, and thus the description thereof is omitted.

第5の実施形態のテーブル更新手段1101が実行されることによって、重み901が動的に更新される。   By executing the table update unit 1101 of the fifth embodiment, the weight 901 is dynamically updated.

第5の実施形態の地図アプリケーションが実行された場合の各装置の処理を説明するシーケンスは、図13と同一であるため省略する。   The sequence for explaining the processing of each device when the map application of the fifth embodiment is executed is the same as FIG.

以下、振り分け処理装置120が実行するテーブル更新手段1101の処理内容について説明する。   Hereinafter, processing contents of the table updating unit 1101 executed by the distribution processing device 120 will be described.

図16は、本発明の第5の実施形態の振り分け処理装置120が実行するテーブル更新手段1101の処理内容の一例を示すフローチャートである。   FIG. 16 is a flowchart illustrating an example of processing contents of the table update unit 1101 executed by the distribution processing device 120 according to the fifth embodiment of this invention.

まず、振り分け処理装置120は、振り分け履歴テーブル1102から、現在の時刻から単位時間内の履歴を取得する(ステップ1801)。ここで、単位時間とは、例えば、6時間以内、24時間以内、又は1週間以内等が考えられる。   First, the distribution processing device 120 acquires a history within a unit time from the current time from the distribution history table 1102 (step 1801). Here, the unit time may be, for example, within 6 hours, within 24 hours, or within one week.

次に、振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128から一つのエントリを取得し(ステップ1802)、現在の時刻から単位時間内の履歴のうち、取得されたエントリに対応する地図アプリケーションサーバに関する履歴の一覧を取得する(ステップ1803)。   Next, the distribution processing device 120 acquires one entry from the map application server management table 128 (step 1802), and relates to the map application server corresponding to the acquired entry in the history within the unit time from the current time. A list of histories is acquired (step 1803).

振り分け処理装置120は、取得された履歴における履歴数を、最近の単位時間以内における全地図アプリケーションサーバ130へ振り分けた履歴数で除算することによって重みを算出する(ステップ1804)。具体的には、図17に示す算出式が用いて、重みが算出される。   The distribution processing device 120 calculates a weight by dividing the number of histories in the acquired history by the number of histories distributed to all the map application servers 130 within the latest unit time (step 1804). Specifically, the weight is calculated using the calculation formula shown in FIG.

図17は、本発明の第5の実施形態の重みの算出式を示す図である。   FIG. 17 is a diagram illustrating a weight calculation formula according to the fifth embodiment of the present invention.

図17に示すように、地図アプリケーションサーバ130の重み901は、当該アプリケーションサーバ130に振り分けられた履歴数(リクエスト数)を全地図アプリケーションサーバ130に振り分けられた履歴数(リクエスト数)で除算することによって算出される。   As shown in FIG. 17, the weight 901 of the map application server 130 is obtained by dividing the number of histories (number of requests) distributed to the application server 130 by the number of histories (number of requests) distributed to all the map application servers 130. Is calculated by

図17の式を用いることによって、各地図アプリケーションサーバ130における負荷が考慮された重み901を決定することが可能となる。これによって、地図アプリケーションサーバ130が担当する地域の範囲を変更することができ、適切な負荷分散が可能となる。   By using the formula of FIG. 17, it is possible to determine the weight 901 in consideration of the load on each map application server 130. As a result, it is possible to change the range of the area in which the map application server 130 is in charge, and appropriate load distribution is possible.

次に、振り分け処理装置120は、取得したエントリの重み901に、算出された重みを格納する(ステップ1805)。   Next, the distribution processing device 120 stores the calculated weight in the acquired entry weight 901 (step 1805).

振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されたか否かを判定する(ステップ1806)。   The distribution processing device 120 determines whether or not processing has been executed for all entries in the map application server management table 128 (step 1806).

地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されていないと判定された場合、振り分け処理装置120は、ステップ1802に戻り、次の取得されたエントリに対して同様の処理(ステップ1802〜ステップ1806)を実行する。   If it is determined that processing has not been executed for all entries in the map application server management table 128, the distribution processing device 120 returns to step 1802 and performs the same processing (steps 1802 to 1802) for the next acquired entry. Step 1806) is executed.

地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されたと判定された場合、振り分け処理装置120は処理を終了する(ステップ1807)。   If it is determined that the processing has been executed for all entries in the map application server management table 128, the distribution processing device 120 ends the processing (step 1807).

第5の実施形態によれば、リクエスト状況に応じて重みを動的に調整できる。これによって、各地図アプリケーションサーバ130が担当する地域の範囲を広げたり又は狭めたりできる。   According to the fifth embodiment, the weight can be dynamically adjusted according to the request status. As a result, the range of the area that each map application server 130 is in charge of can be expanded or narrowed.

具体的には、リクエスト送信が多い地域、又は地図アプリケーションによる検索頻度が多い地域を担当する地図アプリケーションサーバ130の重みを大きくし(担当する地域の範囲を狭くし)、リクエスト送信が少ない地域、又は地図アプリケーションによる検索頻度が少ない地域を担当する地図アプリケーションサーバ130の重みは小さくする(担当する地域の範囲を広くする)ことで負荷を動的に調整できる。   Specifically, the weight of the map application server 130 in charge of the area where the request transmission is high or the area where the search frequency by the map application is high is increased (the area in charge is narrowed), and the area where the request transmission is low The load can be dynamically adjusted by reducing the weight of the map application server 130 in charge of an area where the search frequency by the map application is low (widening the area of the area in charge).

また、第4の実施形態と第5の実施形態とを組み合わせると、地図アプリケーションサーバ130の代表位置情報と重みとの両方を動的に調整できる。この場合、図14に示す処理と図16に示す処理とを並列して実行してもよい、いずれかの処理を実行した後に、他の処理を実行してもよい。   Further, when the fourth embodiment and the fifth embodiment are combined, both the representative position information and the weight of the map application server 130 can be dynamically adjusted. In this case, the process shown in FIG. 14 and the process shown in FIG. 16 may be executed in parallel, or after one of the processes is executed, another process may be executed.

[第6の実施形態]
第6の実施形態は、時間に応じて地図アプリケーションサーバ管理テーブル128の内容を瞬時に切り替える点が異なる。
[Sixth Embodiment]
The sixth embodiment is different in that the contents of the map application server management table 128 are instantaneously switched according to time.

地図アプリケーションによっては、季節、日付、又は時間帯等に応じてリクエストの送信元地域又は検索される地域が変わることがある。例えば、春であれば、花見場所からのリクエストが多くなり、花見スポットが検索されることが多くなる。また、花火大会が開催される日の前後では花火大会の開催場所が検索されることが多くなる。   Depending on the map application, the area from which the request is transmitted or the area to be searched may change depending on the season, date, time zone, or the like. For example, in spring, requests from cherry-blossom viewing places increase, and cherry-blossom viewing spots are often searched. In addition, the location of the fireworks display is often searched before and after the day of the fireworks display.

第6の実施形態では、予め、時間に応じてリクエスト元の地域及び検索地域の傾向が分かる場合、当該傾向に合わせて地図アプリケーションサーバ管理テーブル128に格納される値を切り替える。   In the sixth embodiment, when the tendency of the request source region and the search region is known in advance according to time, the value stored in the map application server management table 128 is switched according to the tendency.

例えば、振り分け処理装置120が、花火大会前に、複数台の地図アプリケーションサーバ130に花火大会の開催場所近辺を代表位置情報に設定し、かつ重みを大きく設定し、それ以外の地図アプリケーションサーバ130については適切に代表位置をばらつかせる。花火大会の前日等に地図アプリケーションサーバ管理テーブル128の内容を入れ替える。   For example, before the fireworks display, the distribution processing device 120 sets the vicinity of the place where the fireworks display is held in the representative position information and sets a large weight on a plurality of map application servers 130, and the other map application servers 130 Appropriately disperse the representative positions. The contents of the map application server management table 128 are replaced the day before the fireworks display.

第6の実施形態の計算機システムの構成は、図11と同一であるため説明を省略する。また、各装置の構成についても第1の実施形態と同一であるため説明を省略する。以下、他の実施形態との差異を中心に説明する。   The configuration of the computer system according to the sixth embodiment is the same as that shown in FIG. Further, the configuration of each device is the same as that of the first embodiment, and thus the description thereof is omitted. Hereinafter, the difference from the other embodiments will be mainly described.

第6の実施形態では、地図アプリケーションサーバ管理テーブル128の構成が異なる。   In the sixth embodiment, the configuration of the map application server management table 128 is different.

図18は、本発明の第6の実施形態の地図アプリケーションサーバ管理テーブル128の一例を示す説明図である。   FIG. 18 is an explanatory diagram illustrating an example of the map application server management table 128 according to the sixth embodiment of this invention.

地図アプリケーションサーバ管理テーブル128は、新たに、適用時間1901を含む。   The map application server management table 128 newly includes an application time 1901.

適用時間1901は、地図アプリケーションサーバ管理テーブル128の内容を適用する期間等を示す。なお、適用時間1901は、期間であってもよいし、時間であってもよい。   The application time 1901 indicates a period during which the contents of the map application server management table 128 are applied. The application time 1901 may be a period or a time.

第6の実施形態の距離最短サーバ検索手段127は、現在時刻を取得する手段を備えており、適用時間1901を参照し、現在の時刻が適用時間1901に示された提供時間に含まれるエントリ(複数)の中から、受信したリクエストに含まれる位置情報とエントリの代表位置情報との距離が最短となるエントリを特定する。   The shortest distance server search unit 127 according to the sixth embodiment includes a unit that acquires the current time, refers to the application time 1901, and includes an entry (the current time is included in the provision time indicated in the application time 1901 ( The entry having the shortest distance between the position information included in the received request and the representative position information of the entry is specified from among the plurality of requests.

以上の処理によって、現在時刻に応じて、地図アプリケーションサーバ130の代表位置情報302及び重み901を変更することが可能となる。   With the above processing, the representative position information 302 and the weight 901 of the map application server 130 can be changed according to the current time.

なお、地図アプリケーションサーバ130の代表位置情報302及び重み901の変更方法は、これに限定されず、振り分け処理装置120が、適用時間ごとに異なる地図アプリケーションサーバ管理テーブル128を備え、適用時間ごとに地図アプリケーションサーバ管理テーブル128を入れ替える方法であってもよい。   Note that the method for changing the representative position information 302 and the weight 901 of the map application server 130 is not limited to this, and the distribution processing device 120 includes a map application server management table 128 that differs for each application time, and maps for each application time. A method of replacing the application server management table 128 may be used.

なお、切り替え時に用いられる代表位置情報及び重みは、第4の実施形態及び第5の実施形態でしめした方法を用いて生成された値を利用する方法が考えられる。   For the representative position information and weight used at the time of switching, a method using values generated using the methods shown in the fourth embodiment and the fifth embodiment can be considered.

第6の実施形態によれば、地図アプリケーションサーバ130の担当地域及び担当範囲を時間に応じて切り替えることが可能となる。   According to the sixth embodiment, it is possible to switch the assigned area and assigned range of the map application server 130 according to time.

[第7の実施形態]
第7の実施形態は、地図アプリケーションサーバ130を追加又は削除する点が他の実施形態と異なる。
[Seventh Embodiment]
The seventh embodiment is different from the other embodiments in that the map application server 130 is added or deleted.

以下、他の実施形態との差異を中心に第7の実施形態について説明する。   Hereinafter, the seventh embodiment will be described focusing on differences from the other embodiments.

図19は、本発明の第7の実施形態の計算機システムの構成例を示すブロック図である。   FIG. 19 is a block diagram illustrating a configuration example of a computer system according to the seventh embodiment of this invention.

計算機システムは、新たに管理装置1600を備える。なお、管理装置1600は、データセンタに配置する。他の装置については、第1の実施形態と同一であるため説明を省略する。   The computer system newly includes a management apparatus 1600. Note that the management apparatus 1600 is arranged in a data center. Since other devices are the same as those in the first embodiment, the description thereof is omitted.

管理装置1600は、CPU(図示省略)、メモリ(図示省略)、記憶媒体及び通信部1601を備える。   The management device 1600 includes a CPU (not shown), a memory (not shown), a storage medium, and a communication unit 1601.

CPU(図示省略)は、メモリ(図示省略)上に展開されたプログラムを実行する。メモリ(図示省略)は、CPU(図示省略)によって実行されるプログラム及び処理に必要となる情報を格納する。メモリ(図示省略)は、地図アプリケーションサーバ追加手段1602及び地図アプリケーションサーバ削除手段1603を備える。   A CPU (not shown) executes a program developed on a memory (not shown). The memory (not shown) stores a program executed by a CPU (not shown) and information necessary for processing. The memory (not shown) includes a map application server adding unit 1602 and a map application server deleting unit 1603.

地図アプリケーションサーバ追加手段1602は、地図アプリケーションサーバ130を追加するための手段である。地図アプリケーションサーバ追加手段1602は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The map application server adding unit 1602 is a unit for adding the map application server 130. The map application server adding unit 1602 may be realized by one program or a plurality of programs.

地図アプリケーションサーバ削除手段1603は、地図アプリケーションサーバ130を削除するための手段である。地図アプリケーションサーバ削除手段1603は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。   The map application server deletion unit 1603 is a unit for deleting the map application server 130. The map application server deletion unit 1603 may be realized by one program or a plurality of programs.

記憶媒体(図示省略)は、管理装置1600が備える機能を実現するためのプログラム及び情報を格納する。   The storage medium (not shown) stores programs and information for realizing the functions provided in the management apparatus 1600.

通信部1601は、ネットワーク170を介して他の装置と通信するための装置である。   The communication unit 1601 is a device for communicating with other devices via the network 170.

地図アプリケーションサーバ130の追加時の処理を説明する。なお、予め、追加される地図アプリケーションサーバ130はネットワーク170に接続する。   Processing when the map application server 130 is added will be described. The map application server 130 to be added is connected to the network 170 in advance.

管理装置1600は、地図アプリケーションサーバ追加手段1602を実行する。具体的には、以下の処理が実行される。   The management device 1600 executes the map application server addition unit 1602. Specifically, the following processing is executed.

管理装置1600は、地図アプリケーションサーバ管理テーブル128に新たなエントリを追加し、追加された地図アプリケーションサーバ130の地図アプリケーションサーバIP301、代表位置情報302及び重み901を設定する。各値は、管理装置の操作者が設定してもよいし、自動で設定してもよい。   The management apparatus 1600 adds a new entry to the map application server management table 128, and sets the map application server IP 301, the representative position information 302, and the weight 901 of the added map application server 130. Each value may be set by an operator of the management apparatus or may be set automatically.

地図アプリケーションサーバ管理テーブル128の各値を自動で設定する一例を説明する。   An example of automatically setting each value of the map application server management table 128 will be described.

動的に代表位置情報302又は重み901を調整する場合(第4の実施形態及び第5の実施形態参照)、太平洋上等の、どの端末装置110からも近い位置になり得ない場所が代表位置として選択されると、追加した地図アプリケーションサーバ130が利用できない。   When the representative position information 302 or the weight 901 is dynamically adjusted (see the fourth embodiment and the fifth embodiment), a place that cannot be close to any terminal device 110 such as on the Pacific Ocean is the representative position. Is selected, the added map application server 130 cannot be used.

そこで、例えば、管理装置1600は、既存の地図アプリケーションサーバ130の代表位置情報の平均位置(各位置情報の緯度及び経度を各々平均した値)を設定したり、端末装置110の平均位置を設定したり、POI配信サーバ160に含まれるPOI情報の平均位置を設定したりする方法が考えられる。   Therefore, for example, the management device 1600 sets the average position of the representative position information of the existing map application server 130 (value obtained by averaging the latitude and longitude of each position information), or sets the average position of the terminal device 110. Or an average position of POI information included in the POI distribution server 160 can be considered.

管理装置1600は、決定した各値を振り分け処理装置120に送信する。振り分け処理装置120は、管理装置1600によって決定された値を地図アプリケーションサーバ管理テーブル128に反映させる。   The management device 1600 transmits the determined values to the distribution processing device 120. The distribution processing device 120 reflects the value determined by the management device 1600 in the map application server management table 128.

地図アプリケーションサーバ130を削除時の処理を説明する。   Processing when the map application server 130 is deleted will be described.

管理装置1600は、地図アプリケーションサーバ削除手段1603を実行する。具体的には、以下の処理が実行される。   The management device 1600 executes the map application server deletion unit 1603. Specifically, the following processing is executed.

管理装置1600は、地図アプリケーションサーバ管理テーブル128から削除対象の地図アプリケーションサーバ130に対応するエントリを削除する。   The management device 1600 deletes the entry corresponding to the map application server 130 to be deleted from the map application server management table 128.

具体的には、管理装置1600は、振り分け処理装置120に地図アプリケーションサーバ管理テーブル128から削除対象の地図アプリケーションサーバ130に対応するエントリを削除するように命令を発行する。当該命令を受信した振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128から削除対象の地図アプリケーションサーバ130に対応するエントリを削除する。   Specifically, the management device 1600 issues a command to the distribution processing device 120 to delete the entry corresponding to the map application server 130 to be deleted from the map application server management table 128. Upon receiving the command, the distribution processing device 120 deletes the entry corresponding to the map application server 130 to be deleted from the map application server management table 128.

次に、管理装置1600の操作者は、削除対象の地図アプリケーションサーバ130をネットワーク170から取り除く。   Next, the operator of the management apparatus 1600 removes the map application server 130 to be deleted from the network 170.

なお、管理装置1600が備える機能を、振り分け処理装置120が備えていてもよい。   It should be noted that the distribution processing device 120 may have the functions that the management device 1600 has.

第7の実施形態によれば、地図アプリケーションサーバ130を自由に追加又は削除することが可能となる。特に、地図アプリケーションサーバ130を追加する場合、適切な位置情報を設定して、ネットワーク170に追加することが可能となる。   According to the seventh embodiment, the map application server 130 can be freely added or deleted. In particular, when the map application server 130 is added, appropriate position information can be set and added to the network 170.

110 端末装置
111 通信部
112 CPU
113 表示部
114 HDD
115 入力部
116 メモリ
117 クライアントプログラム
118 位置情報取得手段
120 振り分け処理装置
121 通信部
122 CPU
123 表示部
124 HDD
125 入力部
126 メモリ
127 距離最短サーバ検索手段
128 地図アプリケーションサーバ管理テーブル
130 地図アプリケーションサーバ
131 通信部
132 CPU
133 表示部
134 HDD
135 入力部
136 メモリ
137 メッシュコード取得手段
138 地図取得手段
139 POI取得手段
140 画面構成手段
141 地図データキャッシュ
142 POIデータキャッシュ
150 地図配信サーバ
160 POI配信サーバ
170 ネットワーク
210 検索条件入力画面
211 検索ボタン
220 検索結果画面
221 戻るボタン
222 POI一覧
223 地図
301 地図アプリケーションサーバIP
302 代表位置情報
401 メッシュコード
402 地図画像データ
403 地図名称データ
501 メッシュコード
502 検索条件
503 POIデータ
504 POIデータ
605 表示部
901 重み
1101 テーブル更新手段
1102 振り分け履歴テーブル
1201 時刻
1202 位置情報
1203 地図アプリケーションサーバIP
1301 地図アプリケーションサーバIP
1600 管理装置
1601 通信部
1602 地図アプリケーションサーバ追加手段
1603 地図アプリケーションサーバ削除手段
1901 適用時間
110 terminal device 111 communication unit 112 CPU
113 Display 114 HDD
115 Input Unit 116 Memory 117 Client Program 118 Location Information Acquisition Unit 120 Distribution Processing Device 121 Communication Unit 122 CPU
123 Display unit 124 HDD
125 Input unit 126 Memory 127 Shortest distance server search means 128 Map application server management table 130 Map application server 131 Communication unit 132 CPU
133 Display unit 134 HDD
135 Input unit 136 Memory 137 Mesh code acquisition unit 138 Map acquisition unit 139 POI acquisition unit 140 Screen configuration unit 141 Map data cache 142 POI data cache 150 Map distribution server 160 POI distribution server 170 Network 210 Search condition input screen 211 Search button 220 Search Result screen 221 Back button 222 POI list 223 Map 301 Map application server IP
302 Representative position information 401 Mesh code 402 Map image data 403 Map name data 501 Mesh code 502 Search condition 503 POI data 504 POI data 605 Display unit 901 Weight 1101 Table update means 1102 Sorting history table 1201 Time 1202 Location information 1203 Map application server IP
1301 Map application server IP
1600 management device 1601 communication unit 1602 map application server addition means 1603 map application server deletion means 1901 application time

Claims (17)

一以上のクライアント装置から送信されるリクエストを、複数のサーバに振り分ける振り分け処理装置を備える計算機システムにおける振り分け処理装置であって、
前記複数のサーバは、要求された地図データを応答する地図アプリケーションサーバであり、
プロセッサと、前記プロセッサに接続されるメモリとを備え、
前記メモリは、前記各サーバが地図データ上で担当する地域の代表位置を示す第1の位置情報を格納し、
前記リクエストは、地図データを要求し、当該リクエストを前記複数のサーバに振り分けるために用いられる第2の位置情報を含み、
前記プロセッサは、
前記クライアント装置から前記リクエストを受信した場合、前記受信したリクエストに含まれる第2の位置情報を抽出し、
前記第1の位置情報と前記抽出された第2の位置情報とに基づいて、前記第1の位置情報に示された代表位置と、前記第2の位置情報に示された位置との距離である第1の距離を算出し、
前記算出された第1の距離が最小となる前記サーバを、前記受信したリクエストの振り分け先サーバに決定し、
前記決定された振り分け先サーバに前記受信したリクエストを送信することを特徴とする振り分け処理装置。
A distribution processing device in a computer system including a distribution processing device that distributes requests transmitted from one or more client devices to a plurality of servers,
The plurality of servers are map application servers that respond to requested map data;
A processor and a memory connected to the processor;
The memory stores first position information indicating a representative position of an area in which each server is in charge of map data ,
The request includes second location information used to request map data and distribute the request to the plurality of servers;
The processor is
When receiving the request from the client device, extracting a second position information included in the request with the received,
Based on the first position information and the extracted second position information, the distance between the representative position indicated in the first position information and the position indicated in the second position information. Calculate a certain first distance,
The server having the smallest calculated first distance is determined as a distribution destination server of the received request,
The distribution processing apparatus, wherein the received request is transmitted to the determined distribution destination server.
前記メモリは、前記リクエストが振り分けられた結果を示す履歴を格納し
前記プロセッサは、
前記履歴を参照して、前記各サーバに振り分けられたリクエスト数を算出し、
前記算出されたリクエスト数に基づいて、前記各サーバの負荷を算出し、
前記算出された各サーバの負荷に基づいて、前記第1の位置情報を変更することを特徴とする請求項1に記載の振り分け処理装置。
The memory stores a history indicating a result of distributing the request ,
The processor is
Referring to the history, calculate the number of requests distributed to each server,
Based on the calculated number of requests, calculate the load of each server,
The distribution processing device according to claim 1 , wherein the first position information is changed based on the calculated load of each server.
前記メモリは、前記サーバが処理を担当する地域の範囲を調整するための重みを格納し、
前記プロセッサは、
前記第1の位置情報に示された位置と、前記第2の位置情報に示された位置との距離を算出する場合に、前記算出された第1の距離に前記重みを乗算して第2の距離を算出し、
前記算出された第2の距離が最小となる前記サーバを、前記振り分け先サーバに決定することを特徴とする請求項1に記載の振り分け処理装置。
The memory stores weights for adjusting the range of areas in which the server is responsible for processing;
The processor is
When calculating the distance between the position indicated in the first position information and the position indicated in the second position information, the calculated first distance is multiplied by the weight to obtain the second Calculate the distance of
The distribution processing apparatus according to claim 1, wherein the server having the smallest calculated second distance is determined as the distribution destination server.
前記メモリは、前記リクエストが振り分けられた結果を示す履歴を格納し、
前記プロセッサは、
前記履歴を参照して、前記各サーバに振り分けられたリクエスト数を算出し、
前記算出されたリクエスト数に基づいて、前記各々のサーバの負荷を算出し、
前記算出された各サーバの負荷に基づいて、前記重みを変更することを特徴とする請求項3に記載の振り分け処理装置。
The memory stores a history indicating a result of distributing the request,
The processor is
Referring to the history, calculate the number of requests distributed to each server,
Based on the calculated number of requests, calculate the load on each of the servers,
The distribution processing apparatus according to claim 3, wherein the weight is changed based on the calculated load of each server.
前記メモリは、時間範囲ごとに異なる複数の前記第1の位置情報を格納し、
前記プロセッサは、
現在の時間を示す時間情報を取得し、
前記取得された時間情報に示された時間の前記第1の位置情報を特定し、
前記特定された第1の位置情報に基づいて、前記振り分け先サーバを決定することを特徴とする請求項1に記載の振り分け処理装置。
The memory stores a plurality of the first position information different for each time range;
The processor is
Get time information showing the current time,
Identifying the first location information at the time indicated in the acquired time information;
2. The distribution processing apparatus according to claim 1, wherein the distribution destination server is determined based on the specified first position information.
前記計算機システムに、新たに前記サーバが追加された場合、前記新たなサーバが追加される前に前記計算機システムに備わる前記サーバの前記第1の位置情報に基づいて、前記新たに追加されたサーバの前記第1の位置情報を決定し、前記決定された第1の位置情報を前記メモリに格納し、
前記計算機システムから前記サーバが削除される場合、前記削除されるサーバの第1の位置情報を前記メモリから削除することを特徴とする請求項1に記載の振り分け処理装置。
When the server is newly added to the computer system, the newly added server is based on the first location information of the server provided in the computer system before the new server is added. Determining the first position information of the first position information and storing the determined first position information in the memory;
2. The distribution processing device according to claim 1, wherein when the server is deleted from the computer system, the first location information of the deleted server is deleted from the memory.
前記第2の位置情報は、前記クライアント装置が配置された位置を示す情報であることを特徴とする請求項1に記載の振り分け処理装置。   The distribution processing apparatus according to claim 1, wherein the second position information is information indicating a position where the client apparatus is arranged. 前記第2の位置情報は、前記クライアント装置を操作するユーザが所望する地域を示す情報であることを特徴とする請求項1に記載の振り分け処理装置。   The distribution processing device according to claim 1, wherein the second position information is information indicating a region desired by a user who operates the client device. 複数のサーバと、一以上のクライアント装置から送信されるリクエストを前記複数のサーバに振り分ける振り分け処理装置とを備える計算機システムであって、
前記複数のサーバは、要求された地図データを応答する地図アプリケーションサーバであり、
前記振り分け処理装置は、第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリとを備え、
前記サーバは、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリとを備え、
前記第1のメモリは、前記各サーバが地図データ上で担当する地域の代表位置を示す第1の位置情報を格納し、
前記リクエストは、地図データを要求し、当該リクエストを前記複数のサーバに振り分けるために用いられる第2の位置情報を含み、
前記振り分け処理装置は、
前記クライアント装置から前記リクエストを受信した場合、前記受信したリクエストに含まれる第2の位置情報を抽出し、
前記第1の位置情報と前記抽出された第2の位置情報とに基づいて、前記第1の位置情
報に示された代表位置と、前記第2の位置情報に示された位置との距離である第1の距離を算出し、
前記算出された第1の距離が最小となる前記サーバを、前記受信したリクエストの振り分け先サーバに決定し、
前記決定された振り分け先サーバに前記受信したリクエストを送信することを特徴とする計算機システム。
A computer system comprising a plurality of servers and a distribution processing device that distributes requests transmitted from one or more client devices to the plurality of servers,
The plurality of servers are map application servers that respond to requested map data;
The distribution processing device includes a first processor and a first memory connected to the first processor,
The server includes a second processor and a second memory connected to the second processor,
The first memory stores first position information indicating a representative position of an area in which each server is in charge of map data ,
The request includes second location information used to request map data and distribute the request to the plurality of servers;
The distribution processing device includes:
When the request is received from the client device, the second location information included in the received request is extracted,
Based on the first position information and the extracted second position information, the distance between the representative position indicated in the first position information and the position indicated in the second position information. Calculate a certain first distance,
The server having the smallest calculated first distance is determined as a distribution destination server of the received request,
A computer system, wherein the received request is transmitted to the determined distribution destination server.
前記第1のメモリは、前記リクエストが振り分けられた結果を示す履歴を格納し
前記振り分け処理装置は、
前記履歴を参照して、前記各サーバに振り分けられたリクエスト数を算出し、
前記算出されたリクエスト数に基づいて、前記各サーバの負荷を算出し、
前記算出された各サーバの負荷に基づいて、前記第1の位置情報を変更することを特徴とする請求項9に記載の計算機システム。
The first memory stores a history indicating a result of distributing the request ,
The distribution processing device includes:
Referring to the history, calculate the number of requests distributed to each server,
Based on the calculated number of requests, calculate the load of each server,
The computer system according to claim 9, wherein the first position information is changed based on the calculated load of each server.
前記第1のメモリは、前記サーバが処理を担当する地域の範囲を調整するための重みを格納し、
前記振り分け処理装置は、
前記第1の位置情報に示された位置と、前記第2の位置情報に示された位置との距離を算出する場合に、前記算出された第1の距離に前記重みを乗算して第2の距離を算出し、
前記算出された第2の距離が最小となる前記サーバを、前記振り分け先サーバに決定することを特徴とする請求項9に記載の計算機システム。
The first memory stores a weight for adjusting a range of an area in which the server is in charge of processing,
The distribution processing device includes:
When calculating the distance between the position indicated in the first position information and the position indicated in the second position information, the calculated first distance is multiplied by the weight to obtain the second Calculate the distance of
The computer system according to claim 9, wherein the server that has the smallest calculated second distance is determined as the distribution destination server.
前記第1のメモリは、前記リクエストが振り分けられた結果を示す履歴を格納し、
前記振り分け処理装置は、
前記履歴を参照して、前記各サーバに振り分けられたリクエスト数を算出し、
前記算出されたリクエスト数に基づいて、前記各サーバの負荷を算出し、
前記算出された各サーバの負荷に基づいて、前記重みを変更することを特徴とする請求項11に記載の計算機システム。
The first memory stores a history indicating a result of distributing the request,
The distribution processing device includes:
Referring to the history, calculate the number of requests distributed to each server,
Based on the calculated number of requests, calculate the load of each server,
The computer system according to claim 11, wherein the weight is changed based on the calculated load of each server.
前記第1のメモリは、時間範囲ごとに異なる複数の前記第1の位置情報を格納し、
前記振り分け処理装置は、
現在の時間を示す時間情報を取得し、
前記取得された時間情報に示された時間の前記第1の位置情報を特定し、
前記特定された第1の位置情報に基づいて、前記振り分け先サーバを決定することを特徴とする請求項9に記載の計算機システム。
The first memory stores a plurality of the first position information different for each time range;
The distribution processing device includes:
Get time information showing the current time,
Identifying the first location information at the time indicated in the acquired time information;
The computer system according to claim 9, wherein the distribution destination server is determined based on the specified first position information.
前記計算機システムは、前記計算機システムへの前記サーバの追加及び削除を管理する管理装置を備え、
前記計算機システムに新たに前記サーバが追加された場合、前記管理装置は、前記新たなサーバが追加される前に前記計算機システムに備わる前記サーバの前記第1の位置情報に基づいて、前記新たに追加されたサーバの前記第1の位置情報を決定し、
前記決定された第1の位置情報を前記振り分け処理装置に送信し、
前記振り分け処理装置は、前記管理装置によって決定された第1の位置情報を前記第1のメモリに格納し、
前記計算機システムから前記サーバが削除される場合、前記管理装置は、前記削除されるサーバの第1の位置情報を前記第1のメモリから削除するための命令を前記振り分け処理装置に送信し、
前記振り分け処理装置は、前記受信した命令に基づいて、前記第1のメモリから前記削除されるサーバの第1の位置情報を削除することを特徴とする請求項9に記載の計算機システム。
The computer system includes a management device that manages addition and deletion of the server to the computer system,
In a case where the server is newly added to the computer system, the management device newly adds the new server based on the first location information of the server provided in the computer system before the new server is added. Determining the first location information of the added server;
Transmitting the determined first position information to the distribution processing device;
The distribution processing device stores the first position information determined by the management device in the first memory,
When the server is deleted from the computer system, the management device transmits an instruction for deleting the first location information of the server to be deleted from the first memory to the distribution processing device,
The computer system according to claim 9, wherein the distribution processing device deletes the first location information of the deleted server from the first memory based on the received command.
前記第2の位置情報は、前記クライアント装置が配置された位置を示す情報であることを特徴とする請求項9に記載の計算機システム。   The computer system according to claim 9, wherein the second position information is information indicating a position where the client device is arranged. 前記第2の位置情報は、前記クライアント装置を操作するユーザが所望する地域を示す情報であることを特徴とする請求項9に記載の計算機システム。   The computer system according to claim 9, wherein the second position information is information indicating a region desired by a user who operates the client device. 複数のサーバと、一以上のクライアント装置から送信される地図データのリクエストを前記複数のサーバに振り分ける振り分け処理装置とを備える計算機システムにおけるリクエスト振り分け方法であって、
前記振り分け処理装置は、第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリとを備え、
前記複数のサーバは、要求された地図データを応答する地図アプリケーションサーバであり
第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリとを備え、
前記第1のメモリは、前記各サーバが地図データ上で担当する地域の代表位置を示す第1の位置情報を格納し、
前記リクエストは、当該リクエストを前記複数のサーバに振り分けるために用いられる第2の位置情報を含み、
前記方法は、
前記振り分け処理装置が、前記クライアント装置から前記リクエストを受信した場合、前記受信したリクエストに含まれる第2の位置情報を抽出するステップと、
前記振り分け処理装置が、前記第1の位置情報と前記抽出された第2の位置情報とに基づいて、前記第1の位置情報に示された代表位置と、前記第2の位置情報に示された位置との距離である第1の距離を算出するステップと、
前記振り分け処理装置が、前記算出された第1の距離が最小となる前記を、前記受信したリクエストの振り分け先に決定するステップと、
前記振り分け処理装置が、前記決定された振り分け先に前記受信したリクエストを送信するステップと、を含むことを特徴とするリクエスト振り分け方法。
A request distribution method in a computer system comprising a plurality of servers and a distribution processing device that distributes map data requests transmitted from one or more client devices to the plurality of servers,
The distribution processing device includes a first processor and a first memory connected to the first processor,
The plurality of servers are map application servers that respond to requested map data ;
A second processor; and a second memory connected to the second processor;
The first memory stores first position information indicating a representative position of an area in which each server is in charge of map data,
The request includes second location information used to distribute the request to the plurality of servers,
The method
When the distribution processing device receives the request from the client device, the step of extracting second location information included in the received request;
The distribution processing device is indicated in the representative position indicated in the first position information and the second position information based on the first position information and the extracted second position information. Calculating a first distance that is a distance to the position;
The distribution processing device determining the calculated first distance as a minimum as a distribution destination of the received request;
The distribution processing apparatus includes a step of transmitting the received request to the determined distribution destination.
JP2009237513A 2009-10-14 2009-10-14 Distribution processing apparatus, computer system, and request distribution method Active JP5493223B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009237513A JP5493223B2 (en) 2009-10-14 2009-10-14 Distribution processing apparatus, computer system, and request distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009237513A JP5493223B2 (en) 2009-10-14 2009-10-14 Distribution processing apparatus, computer system, and request distribution method

Publications (2)

Publication Number Publication Date
JP2011086066A JP2011086066A (en) 2011-04-28
JP5493223B2 true JP5493223B2 (en) 2014-05-14

Family

ID=44078970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009237513A Active JP5493223B2 (en) 2009-10-14 2009-10-14 Distribution processing apparatus, computer system, and request distribution method

Country Status (1)

Country Link
JP (1) JP5493223B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581118A (en) * 2019-12-31 2020-08-25 北京忆芯科技有限公司 Computational Acceleration System

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101584329B1 (en) * 2011-08-16 2016-01-21 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Allocating data to plurality storage devices
WO2013035719A1 (en) * 2011-09-06 2013-03-14 日本電気株式会社 Data placement system, distributed access node, data placement method and program
JP5410487B2 (en) * 2011-09-22 2014-02-05 ヤフー株式会社 Cache server, web server and method
US9460218B2 (en) 2011-10-26 2016-10-04 Google Inc. Indicating location status
JP5914198B2 (en) * 2012-06-14 2016-05-11 シャープ株式会社 Data distribution system, data distribution method, and distribution control server
JP6086021B2 (en) * 2013-04-25 2017-03-01 富士通株式会社 Search system and search method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973411A (en) * 1995-09-06 1997-03-18 Hitachi Ltd Access load distribution control system
JPH1196099A (en) * 1997-09-19 1999-04-09 Hitachi Ltd Service providing system
JP2000196677A (en) * 1998-12-28 2000-07-14 Fujitsu Ltd Relay device used in network system
JP2001028004A (en) * 1999-07-15 2001-01-30 Telecommunication Advancement Organization Of Japan Geographic information data search device / method / recording medium, node information exchange device / method / recording medium, and geographic information data search system
JP2001082977A (en) * 1999-09-09 2001-03-30 Fuji Xerox Co Ltd Information processor and information processing system
JP2002049602A (en) * 2000-08-02 2002-02-15 Ricoh Co Ltd Search system
JP2002082988A (en) * 2000-09-08 2002-03-22 Sony Corp Search device, distribution device, and content data distribution system
JP4096223B2 (en) * 2001-09-19 2008-06-04 富士ゼロックス株式会社 Service search apparatus and method
JP2003288004A (en) * 2002-03-27 2003-10-10 Seiko Epson Corp Map data providing system, map data synthesizing server, map data distribution server, and map data providing method
JP2004118659A (en) * 2002-09-27 2004-04-15 Sony Corp Information providing system, server device, store terminal device, user terminal device, computer program, and server device information providing method.
JP2004334657A (en) * 2003-05-09 2004-11-25 Sharp Corp Information providing apparatus, information providing method, program for realizing the method, and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581118A (en) * 2019-12-31 2020-08-25 北京忆芯科技有限公司 Computational Acceleration System
CN111581118B (en) * 2019-12-31 2021-04-13 北京忆芯科技有限公司 Computational Acceleration System

Also Published As

Publication number Publication date
JP2011086066A (en) 2011-04-28

Similar Documents

Publication Publication Date Title
JP5493223B2 (en) Distribution processing apparatus, computer system, and request distribution method
US8457653B2 (en) Method and apparatus for pre-fetching location-based data while maintaining user privacy
US7565157B1 (en) System and method for providing search results based on location
JP4997950B2 (en) Network management system, network management program, and network management method
JP5984685B2 (en) Display system, server, terminal device, display method and program
JP5433538B2 (en) Communication volume reduction method
CN103425655A (en) Method and device for searching venue information for location based service
US9172767B2 (en) Mobile terminal, data distribution server, data distribution system, and data distribution method
JP4922814B2 (en) Information distribution method
CN109446348A (en) A kind of operating method, device, terminal and storage medium polymerizeing point of interest
CN108921666A (en) Travel information recommended method, device, equipment and storage medium
JP5265418B2 (en) Sightseeing route providing device, sightseeing route providing method, and program
JP5959478B2 (en) Determination device, determination method, determination program, and map display system
JP2019095833A (en) Address management system
JP5056365B2 (en) Content information distribution apparatus, content information distribution system, and content information distribution method
JP5665767B2 (en) Information distribution apparatus, information distribution system, information distribution method, and program
JP2014066957A (en) Information processor and advertisement information providing method
JP5508980B2 (en) Point information distribution system
JP2008090802A (en) Information processing apparatus, information processing method, and program
JP4761548B2 (en) Mobile terminal device, control program therefor, and server
JP2008009762A (en) Information distribution apparatus, information distribution method, and information distribution program
JP2006268488A (en) Image display system, terminal and program thereof
JP2011197881A (en) Transmission server, portable terminal, transmission system, server program, and terminal program
JPWO2016117010A1 (en) Information processing apparatus, route registration method, and route registration program
JP5165746B2 (en) Trade area setting device and trade area setting method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140214

R150 Certificate of patent or registration of utility model

Ref document number: 5493223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150