JP5493223B2 - Distribution processing apparatus, computer system, and request distribution method - Google Patents
Distribution processing apparatus, computer system, and request distribution method Download PDFInfo
- 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
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.
一般的にキャッシュの容量は全地図データの大きさに比べて少ないため、サーバはキャッシュ容量に余裕がなくなると利用頻度の少ないデータを削除する等して十分な容量を確保する。そのため、全国の地図データが偏りなく利用されるような地図アプリケーションではキャッシュ内に蓄積された地図データにヒットする確率が小さくなる。 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の実施形態]
地図アプリケーションを提供する計算機システムにおいて、アプリケーションの性能を向上するために、キャッシュを効果的に利用可能にする方法を示す。
[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
なお、複数のネットワークを介して互いに接続してもよい。 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
端末装置110は、地図アプリケーションを利用するユーザが操作する端末装置である。端末装置110は、CPU112、メモリ116、表示部113、HDD114、通信部111及び入力部115を備える。
The
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
位置情報取得手段118は、端末装置110が設定されている場所を特定するための手段である。位置情報取得手段118は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The position information acquisition unit 118 is a unit for specifying a place where the
位置情報の取得方法としては、予め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
通信部111は、ネットワーク170を介して他の装置と通信するための装置である。表示部113は、ユーザに処理結果等を表示する装置である。表示部113は、例えば、ディスプレイ等が考えられる。入力部115は、ユーザからの入力を受け付けるための装置である。入力部115は、例えば、キーボード等が考えられる。
The
振り分け処理装置120は、端末装置110が実行するクライアントプログラム117によって送信されたリクエストを受信し、当該リクエストを適切な地図アプリケーションサーバ130に振り分ける。振り分け処理装置120は、CPU122、メモリ126、表示部123、HDD124、通信部121及び入力部125を備える。
The
CPU122は、メモリ126上に展開されたプログラムを実行する。
The
メモリ126は、CPU122によって実行されるプログラム及び処理に必要となる情報を格納する。メモリ126は、距離最短サーバ検索手段127及び地図アプリケーションサーバ管理テーブル128を格納する。
The
距離最短サーバ検索手段127は、受信したリクエストの送信元の端末装置110から最短の距離にある地図アプリケーションサーバ130を検索し、当該地図アプリケーションサーバ130に受信したリクエストを振り分けるための手段である。距離最短サーバ検索手段127は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The shortest distance server search means 127 is a means for searching the
地図アプリケーションサーバ管理テーブル128は、地図アプリケーションサーバ130に関する位置情報を格納する。地図アプリケーションサーバ管理テーブル128の詳細については、図3を用いて後述する。
The map application server management table 128 stores location information regarding the
HDD124は、振り分け処理装置120が備える機能を実現するためのプログラム及び情報を格納する。なお、振り分け処理装置120は、HDD124以外の記憶媒体を備えていてもよい。
The
通信部121は、ネットワーク170を介して他の装置と通信するための装置である。表示部123は、振り分け処理装置120の操作者に処理結果等を表示する装置である。表示部123は、例えば、ディスプレイ等が考えられる。入力部125は、振り分け処理装置120の操作者からの入力を受け付けるための装置である。入力部125は、例えば、キーボード等が考えられる。
The
地図アプリケーションサーバ130は、地図配信サーバ150、POI配信サーバ160から必要なデータを取得して、地図アプリケーションが実行される端末装置110を操作する提供する。地図アプリケーションの例については、図2を用いて後述する。
The
地図アプリケーションサーバ130は、CPU132、メモリ136、表示部133、HDD134、通信部131及び入力部135を備える。
The
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
メッシュコード取得手段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
地図取得手段138は、地図配信サーバ150から地図データを取得するための手段である。地図取得手段138は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The map acquisition unit 138 is a unit for acquiring map data from the
POI取得手段139は、POI配信サーバ160からPOIデータを取得するための手段である。POI取得手段139は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The POI acquisition unit 139 is a unit for acquiring POI data from the
ここで、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
地図データキャッシュ141は、地図配信サーバ150から取得した地図データを格納するキャッシュである。なお、地図データキャッシュ141は、実行されるアプリケーションに必要なデータのみを格納してもよいし、地図データの全てを格納してもよい。
The
POIデータキャッシュ142は、POI配信サーバ160から取得したPOIデータを格納するキャッシュである。なお、POIデータキャッシュ142は、実行されるアプリケーションに必要なデータのみを格納してもよいし、POIデータの全てを格納してもよい。
The
HDD134は、地図アプリケーションサーバ130が備える機能を実現するためのプログラム及び情報を格納する。なお、地図アプリケーションサーバ130は、HDD134以外の記憶媒体を備えていてもよい。
The HDD 134 stores programs and information for realizing the functions provided in the
通信部131は、ネットワーク170を介して他の装置と通信するための装置である。表示部133は、地図アプリケーションサーバ130の操作者に処理結果等を表示する装置である。表示部123は、例えば、ディスプレイ等が考えられる。入力部135は、地図アプリケーションサーバ130の操作者からの入力を受け付けるための装置である。入力部135は、例えば、キーボード等が考えられる。
The
本実施形態では、各地図アプリケーションサーバ130は、各々担当する地域を示す位置情報が設定される。振り分け処理装置120は、各々の地図アプリケーションサーバ130に設定された位置情報に基づいて、各地図アプリケーションサーバ130に端末装置110から送信されたリクエストを適切に振り分ける。
In the present embodiment, each
地図配信サーバ150は、地図アプリケーションサーバ130から送信されるリクエストに応じて、地域情報である地図データを地図アプリケーションサーバ130に返信する。地図配信サーバ150は、CPU(図示省略)、メモリ(図示省略)、及び記憶媒体(図示省略)を備える。
In response to the request transmitted from the
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
なお、図1に示す例では、地図配信サーバ150は一つのみであるが、複数あってもよい。
In the example shown in FIG. 1, there is only one
POI配信サーバ160は、地図アプリケーションサーバ130から送信されるリクエストに応じて地域情報であるPOIデータを地図アプリケーションサーバ130に返信する。POI配信サーバ160は、CPU(図示省略)、メモリ(図示省略)、及び記憶媒体(図示省略)を備える。
The
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
なお、図1に示す例では、POI配信サーバ160は一つのみであるが、複数あってもよい。
In the example shown in FIG. 1, there is only one
各装置を配置方法としては、振り分け処理装置120、地図アプリケーションサーバ130、地図配信サーバ150、及びPOI配信サーバ160はデータセンタ内に配置し、端末装置110は、全国の各地に配置する方法が考えられる。例えば、店舗等に固定して端末装置110を配置する方法、又は携帯電話若しくはカーナビ等の移動端末として端末装置110を実現する方法が考えられる。
As an arrangement method of each device, a method is considered in which the
また、各処理装置及びサーバは各々一台の計算機として実現してもよいし、仮想化ソフトウェアを用いて一つのコンピュータ内に複数の処理装置及びサーバを実現してもよい。 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
端末装置110を操作するユーザは、表示部113に表示される検索条件入力画面210を用いてPOIの検索条件を設定する。
A user who operates the
図2に示すように、検索条件入力画面210には、検索条件として、範囲、カテゴリ、サブカテゴリ、日時及び時間が表示される。また、検索条件入力画面210には、検索ボタン211が表示される。検索ボタン211を操作することによって、周辺POI検索アプリケーションは検索条件に基づいて検索対象を検索し、検索結果画面220を出力する。
As shown in FIG. 2, the search
ここで、範囲は、端末装置110を基点とした検索範囲を指定するための条件である。カテゴリは、検索範囲上の検索対象を指定する条件である。サブカテゴリは、検索対象をさらに詳細に指定する条件である。日時は、検索対象の営業日等を指定する条件である。時間は、対象検索の営業時間等を指定する条件である。
Here, the range is a condition for designating a search range based on the
図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
検索結果画面220は、表示部113に表示される周辺POI検索アプリケーションの実行結果である。
The
図2に示す例では、検索された飲食店のPOI一覧222が検索結果画面220の左側に表示され、検索結果画面220の右側に地図223上で検索された飲食店の位置が表示される。戻るボタン221を操作すると、検索条件入力画面210に戻り、再度検索条件を入力可能となる。
In the example shown in FIG. 2, the
図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
地図アプリケーションサーバIP301は、地図アプリケーションサーバ130に割り当てられたIPアドレスである。代表位置情報302は、地図アプリケーションサーバ130が担当する場所を示す位置情報である。なお、各地図アプリケーションサーバ130は、予め担当する場所が設定される。
The map
地図アプリケーションサーバ管理テーブル128は、HDD124に格納され、CPU122によってメモリ126に読み出されて用いられる。振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128を参照することによって、地図アプリケーションサーバ130が担当する地域を把握することができる。
The map application server management table 128 is stored in the
図4は、本発明の第1の実施形態の地図アプリケーションサーバ130が備える地図データキャッシュ141の一例を示す説明図である。
FIG. 4 is an explanatory diagram illustrating an example of the
地図データキャッシュ141は、メッシュコード401、地図画像データ402、及び地図名称データ403を格納する。
The
メッシュコード401は、各地域を識別するための識別子である。
The
地図画像データ402は、地図の画像データである。
The
地図名称データ403は、地図上に表示する名称データである。一つのメッシュコード401に対して複数の名称データを含めることができる。地図名称データ403は、地図上に表示する名称であるname、及び地図上で表示する位置を表す座標(x,y)から構成される。
The
地図データキャッシュ141は、地図取得手段138が実行されることによって地図配信サーバ150に送信されたリクエストの処理結果として取得される地図データを格納する。これによって、地図アプリケーションサーバ130は、地図データキャッシュ141を用いることによって、同一の検索範囲であるリクエストを地図配信サーバ150に送信しなくともよい。
The
したがって、地図配信サーバ150へのリクエスト送信、地図配信サーバ150からの応答、及び地図配信サーバ150が実行する処理に要する時間を削除することができる。すなわち、地図アプリケーションサーバ130は、地図配信サーバ150を介すことなく処理を実行できるため、処理性能の向上を実現できる。
Therefore, it is possible to delete the time required for the request transmission to the
なお、地図画像データ402は、ポリゴンデータであってもよい。また、地図データキャッシュ141は、地図画像データ402と地図名称データ403とを一つのデータとして格納してもよい。また、地図データキャッシュ141は、実行されるアプリケーションに応じて格納するデータを変更することができる。
The
図5は、本発明の第1の実施形態の地図アプリケーションサーバ130が備えるPOIデータキャッシュ142の一例を示す説明図である。
FIG. 5 is an explanatory diagram illustrating an example of the
POIデータキャッシュ142は、メッシュコード501、検索条件502、及びPOIデータ503を格納する。
The
メッシュコード501は、メッシュコード401と同一のものである。
The
検索条件502は、POIを検索するための条件である。例えば、図2に示す検索条件入力画面210においてユーザが入力するデータに対応する。
The
POIデータ503は、メッシュコード501に対応するメッシュの範囲に含まれ、検索条件502に一致するPOIデータである。一つのメッシュコード501に対して複数のPOIデータを含めることができる。POIデータ504は、レストラン等の名称を表すname、地図上に表示する位置を表す座標(x,y)、定休日を表すholiday、開始時間open、及び終了時間closeから構成される。
The
POIデータキャッシュ142は、POI取得手段139が実行されることによってPOI配信サーバ160に送信されたリクエストの処理結果として取得されるPOIデータを格納する。これによって、地図アプリケーションサーバ130は、POIデータキャッシュ142を用いることによって、同一の検索範囲であるリクエストをPOI配信サーバ160に送信しなくともよい。
The
したがって、POI配信サーバ160へのリクエスト送信、POI配信サーバ160からの応答、及びPOI配信サーバ160が実行する処理に要する時間を削除することができる。すなわち、地図アプリケーションサーバ130は、POI配信サーバ160を介すことなく処理を実行できるため、処理性能の向上を実現できる。
Therefore, it is possible to delete the time required for the request transmission to the
地図アプリケーションサーバ130が与えられた検索キーに基づいて所定の値を迅速に取得するため、地図データキャッシュ141及びPOIデータキャッシュ142は、一般的にハッシュテーブルを用いてメモリ136上に実現されるが、他の方法を用いても実現されてもよい。
In order for the
ハッシュテーブルを用いる場合、地図データキャッシュ141では、検索キーとしてメッシュコード401が用いられ、値として地図画像データ402及び地図名称データ403が出力される。また、POIデータキャッシュ142では、検索キーとしてメッシュコード501と検索条件502との組み合わせが用いられ、値としてPOIデータ503が出力される。
When the hash table is used, the
図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
POI検索リクエストを受信した振り分け処理装置120は、距離最短サーバ検索手段127を実行し、受信したPOI検索リクエストを送信する地図アプリケーションサーバ130を決定する(ステップ602)。受信したPOI検索リクエストを送信する地図アプリケーションサーバ130の決定方法については、後述する。
The
振り分け処理装置120は、決定された地図アプリケーションサーバ130にPOI検索リクエストを送信する(ステップ602)。なお、振り分け処理装置120が送信するPOI検索リクエストは、端末装置110から送信されるPOI検索リクエストと同一のものである。
The
POI検索リクエストを受信した地図アプリケーションサーバ130は、メッシュコード取得手段137を実行し、POI検索リクエストに含まれる位置情報及び検索条件によって決定される検索範囲を含むメッシュのメッシュコードを取得する(ステップ604)。なお、メッシュコードは複数取得されてもよい。
The
メッシュコードの取得方法としては、振り分け処理装置120がPOI検索リクエストに含まれる位置情報から緯度及び経度の情報を抽出し、抽出された緯度及び経度を用いて所定の数式を算出することによってメッシュコードを取得する方法が考えられる。
As a mesh code acquisition method, the
地図アプリケーションサーバ130は、取得されたメッシュコードを用いて、地図取得手段138を実行して地図データを取得する。地図取得手段138では、以下で説明するような処理が実行される。
The
まず、地図取得手段138を実行する地図アプリケーションサーバ130は、地図データキャッシュ141を参照し、必要な地図データのメッシュコードと一致するエントリが格納されているか否かを判定する。
First, the
地図データキャッシュ141に、必要な地図データのメッシュコードと一致するエントリが格納されていると判定された場合、地図アプリケーションサーバ130は、当該エントリから地図データを取得する。
If it is determined that an entry that matches the mesh code of the necessary map data is stored in the
地図データキャッシュ141に、必要な地図データのメッシュコードと一致するエントリが格納されていないと判定された場合、地図アプリケーションサーバ130は、地図配信サーバ150に地図取得リクエスト605を送信し、地図配信サーバ150から地図データを取得する。なお、取得した地図データは地図データキャッシュ141に格納し、次回同じメッシュコードの地図データが要求されたときの負荷軽減を実現する。
When it is determined that the
以上が地図取得手段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
まず、POI取得手段139を実行する地図アプリケーションサーバ130は、POIデータキャッシュ142を参照し、必要なPOIデータのメッシュコード及び検索条件と一致するエントリが格納されているか否かを判定する。
First, the
POIデータキャッシュ142に、必要なPOIデータのメッシュコード及び検索条件と一致するエントリが格納されていると判定された場合、地図アプリケーションサーバ130は、当該エントリからPOIデータを取得する。
If it is determined that the
POIデータキャッシュ142に、必要なPOIデータのメッシュコード及び検索条件と一致するエントリが格納されていないと判定された場合、地図アプリケーションサーバ130は、POI配信サーバ160にPOI取得リクエスト606を送信し、POI配信サーバ160からPOIデータを取得する。なお、取得したPOIデータはPOIデータキャッシュ142に格納し、次回同じメッシュコードのPOIデータが要求されたときの負荷軽減を実現する。
If it is determined that the
以上が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
地図アプリケーションサーバ130が画面構成手段140を実行することによって生成された情報を受信した端末装置110は、当該受信した情報に基づいて、表示部605に検索結果を表示する(ステップ609)。
The
図7は、本発明の第1の実施形態の地図アプリケーションサーバ130が実行する地図取得手段138の処理の詳細を説明するフローチャートである。
FIG. 7 is a flowchart illustrating details of the processing of the map acquisition unit 138 executed by the
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
地図アプリケーションサーバ130は、取得処理を実行した結果、地図取得リクエストに含まれるメッシュコードに対応する地図データが取得できたか否かを判定する(ステップ702)。すなわち、地図データキャッシュ141にメッシュコードに対応する地図データが格納されているか否かが判定される。
As a result of executing the acquisition process, the
地図取得リクエストに含まれるメッシュコードに対応する地図データが取得できたと判定された場合、地図アプリケーションサーバ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
地図取得リクエストに含まれるメッシュコードに対応する地図データが取得できないと判定された場合、地図アプリケーションサーバ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
次に、地図アプリケーションサーバ130は、取得された地図データを地図データキャッシュ141に格納し(ステップ704)、地図データキャッシュ141に格納されるデータ数が上限値以上であるか否かを判定する(ステップ705)。
Next, the
地図データキャッシュ141に格納されるデータ数が上限値より小さいと判定された場合、地図アプリケーションサーバ130は、ステップ707に進む。
If it is determined that the number of data stored in the
地図データキャッシュ141に格納されるデータ数が上限値以上であると判定された場合、地図アプリケーションサーバ130は、地図データキャッシュ141に格納されるデータを削除する(ステップ706)。
If it is determined that the number of data stored in the
地図データキャッシュ141に格納されるデータを削除する方法としては、例えば、地図データキャッシュ141に格納されるデータが利用された時刻を記録しておき、利用されてから最も時間が経過したデータを削除する方法が考えられる。また、地図データキャッシュ141に格納されるデータに有効期間を付加しておき、当該有効期間が経過したらデータを自動的に削除する方法も考えられる。
As a method for deleting the data stored in the
地図アプリケーションサーバ130は、取得された地図データを、検索結果を出力するために用いる地図データとして確定する(ステップ707)。
The
ステップ606において実行される処理の流れは、前述した図7において地図データキャッシュ141をPOIデータキャッシュ142に、地図配信サーバ150をPOI配信サーバ160に変更した場合と同様であるため説明は省略する。
The processing flow executed in
次に、ステップ602において、振り分け処理装置120によって実行される距離最短サーバ検索手段127の処理について説明する。
Next, the processing of the shortest distance
距離最短サーバ検索手段127を実行する振り分け処理装置120は、ステップ601において端末装置110から送信されたPOI検索リクエストを受信する。
The
振り分け処理装置120は、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離を算出する。
The
具体的には、受信したPOI検索リクエストに含まれる端末装置110の位置情報と、地図アプリケーションサーバ管理テーブル128に格納された各エントリの代表位置情報302とを用いて距離が算出される。
Specifically, the distance is calculated using the position information of the
図8は、本発明の第1の実施形態における端末装置110の位置情報と地図アプリケーションサーバ130の代表位置情報302との距離の算出式を示す図である。
FIG. 8 is a diagram illustrating a calculation formula for the distance between the position information of the
図8に示すように、端末装置110の位置と地図アプリケーションサーバ130の代表位置情報302に示された位置との距離は、代表位置情報302に示された経度と端末装置110が配置された位置の経度との差の自乗、及び、代表位置情報302に示された緯度と端末装置110が配置された位置の緯度との差の自乗の和の平方根で算出される。
As shown in FIG. 8, the distance between the position of the
振り分け処理装置120は、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離が最も小さい地図アプリケーションサーバ130(以下、距離最短サーバともいう)を、POI検索リクエストを送信する地図アプリケーションサーバ130として決定する。
The
振り分け処理装置120は、距離最短サーバに対応する地図アプリケーションサーバIP301を取得する。
The
そして、振り分け処理装置120は、取得された地図アプリケーションサーバIP301に基づいて、距離最短サーバにPOI検索リクエストを送信する。
Then, the
なお、第1の実施形態では、地図アプリケーションサーバ130は、地図データキャッシュ141とPOIデータキャッシュ142とを別々に備えているが、一つのキャッシュにまとめてよい。この場合、ステップ605及びステップ606における処理は同時に実行される。
In the first embodiment, the
なお、第1の実施形態では、計算機システムは、地図配信サーバ150とPOI配信サーバ160とを別々に備えているが、地図配信サーバ150及びPOI配信サーバ160が備える機能を一つのサーバで実現してもよい。
In the first embodiment, the computer system includes the
第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
[第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
第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
したがって、端末装置110が存在する場所を用いる検索よりもキャッシュヒット率を向上できる。
Therefore, the cache hit rate can be improved as compared with the search using the place where the
なお、検索処理を実行するたびにPOI検索リクエストが送信される地図アプリケーションサーバ130が異なる場合が考えられるため、地図アプリケーションサーバ130にセッション情報を格納する機能を備え、各地図アプリケーションサーバ130間でセッション情報を共有する等の仕組みを用いることが考えられる。
Since the
具体的には、複数の地図アプリケーションサーバ130が一以上のグループを構成し、グループ内のいずれかの地図アプリケーションサーバ130との通信のために用いられるセッション情報を当該グループ内で共有する。グループの分け方としては、地図アプリケーションサーバ130が担当する地域に基づいて構成する方法が考えられる。例えば、東京を担当する地図アプリケーションサーバ130を一つのグループとして構成し、大阪を担当する地図アプリケーションサーバ130を他のグループとして構成する方法が考えられる。
Specifically, a plurality of
これによって、異なる地図アプリケーションサーバ130にPOI検索リクエストが振り分けられることによって生じる問題点を解決できる。例えば、Webアプリケーションが提供される計算機システムおいて、ログイン情報の入力を毎回要求されるような問題点を解決できる。
As a result, it is possible to solve a problem caused by the distribution of POI search requests to different
[第3の実施形態]
第3の実施形態は、振り分け処理装置120によって実行される距離最短サーバ検索手段127の処理において、重みを用いて各地図アプリケーションサーバ130が担当する地域の広さを調整する点が異なる。
[Third Embodiment]
The third embodiment is different in that, in the processing of the shortest distance
第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
振り分け処理装置120によって実行される距離最短サーバ検索手段127の処理では、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離が最も小さい地図アプリケーションサーバ130にリクエストを振り分ける処理は同一であるが、受信したPOI検索リクエストに含まれる端末装置110と、地図アプリケーションサーバ130との距離を算出する方法が異なる。
In the processing of the shortest distance server search means 127 executed by the
図10は、本発明の第3の実施形態における端末装置110の位置情報と地図アプリケーションサーバ130の代表位置情報302との距離の算出式を示す図である。
FIG. 10 is a diagram illustrating a calculation formula for the distance between the position information of the
図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
[第4の実施形態]
第1の実施形態では、地図アプリケーションサーバ管理テーブル128の代表位置情報302は予め設定されていたが、第4の実施形態では、代表位置情報302を動的に変更する点が異なる。
[Fourth Embodiment]
In the first embodiment, the
適切な代表位置情報302を設定するには、多くのリクエストが到来する位置、又は検索される頻度が高い位置等を事前に予測する必要があった。しかし、前述した予測を事前に行うことは難しく、正しく予測が設定されない場合、特定の地図アプリケーションサーバ130にアクセスが集中すること等によって、適切な負荷分散が実現できない。
In order to set appropriate
以下、地図アプリケーションの利用状況に応じて動的に代表位置情報を最適化する方法について、第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
第4の実施形態の振り分け処理装置120は、新たにテーブル更新手段1101及び振り分け履歴テーブル1102を備える。
The
テーブル更新手段1101は、振り分け履歴テーブル1102を参照して、地図アプリケーションサーバ管理テーブル128の代表位置情報302を更新するための手段である。テーブル更新手段1101は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The
振り分け履歴テーブル1102は、地図アプリケーションサーバ130に振り分けられたリクエストに関する情報を格納する。振り分け履歴テーブル1102は、地図アプリケーションサーバ130に振り分けられたリクエスト数等を格納する。振り分け履歴テーブル1102の詳細については図12を用いて後述する。
The distribution history table 1102 stores information related to requests distributed to the
図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
時刻1201は、振り分け処理装置120がリクエストを振り分けた時刻を示す。位置情報1202は、振り分けられたリクエストを送信した端末装置110の位置(第1の実施形態参照)又はWebアプリケーションを用いて検索された位置(第2の実施形態参照)を示す。地図アプリケーションサーバIP1203は、リクエストが振り分けられた地図アプリケーションサーバ130のIPアドレスを示す。
A
なお、距離最短サーバ検索手段127が距離最短サーバを検索されるたびに、振り分け履歴テーブル1102にエントリが追加されることによって、振り分け履歴テーブル1102が作成される。
Each time the shortest distance
図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
なお、図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
また、各リクエストが到来する毎に振り分け処理装置120はテーブル更新手段1101を実行するが、本実施形態ではこれに限定されず、特定のリクエストを処理するたびにテーブル更新手段1101が実行されてもよいし、周期的にテーブル更新手段1101が実行されてもよい。
Further, the
図14は、本発明の第4の実施形態の振り分け処理装置120が実行するテーブル更新手段1101の処理内容の一例を示すフローチャートである。
FIG. 14 is a flowchart illustrating an example of processing contents of the
ステップ1301において、振り分け処理装置120は、リクエスト状況に応じて地図アプリケーションサーバ管理テーブル128の代表位置情報302を更新する。
In
振り分け処理装置120は、振り分け履歴テーブル1102から、現在の時刻から単位時間内のエントリ(以下、履歴という)を取得する(ステップ1701)。ここで、単位時間とは、例えば、6時間以内、又は24時間以内、1週間以内等が考えられる。
The
振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128から、一つのエントリを取得する(ステップ1702)。エントリの取得方法としては、例えば、地図アプリケーションサーバ管理テーブル128に格納されている順に取得する方法が考えられる。
The
ステップ1701において取得された履歴のうち、ステップ1702において取得されたエントリに対応する地図アプリケーションサーバ130に関する履歴のみを抽出する(ステップ1703)。つまり、現在の時刻から単位時間内に当該地図アプリケーションサーバ130に振り分けられたリクエストを抽出する。
Of the history acquired in
具体的には、ステップ1702において取得されたエントリに対応する地図アプリケーションサーバ130の地図アプリケーションサーバIP1301と一致する地図アプリケーションサーバIP1203の履歴が取得される。
Specifically, the history of the map
振り分け処理装置120は、抽出された履歴に含まれる位置情報を用いて新たな代表位置を算出する(ステップ1704)。
The
具体的には、振り分け処理装置120は、抽出された履歴の位置情報1202の緯度及び経度に基づいて、各々の平均を算出する。具体的には、図15に示す代表位置の算出式を用いて平均が算出される。
Specifically, the
図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
図15の式を用いることによって、各地図アプリケーションサーバ130の負荷が考慮された代表位置情報302を決定することが可能となる。
By using the formula of FIG. 15, it is possible to determine the
次に、振り分け処理装置120は、ステップ1704において算出された代表位置を、地図アプリケーションサーバ管理テーブル128の対応するエントリの代表位置情報302に格納する(ステップ1705)。
Next, the
振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されたか否かを判定する(ステップ1706)。
The
地図アプリケーションサーバ管理テーブル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
地図アプリケーションサーバ管理テーブル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
第4の実施形態によれば、リクエスト発生が多い地域、又は地図アプリケーションによって検索される頻度が多い地域に地図アプリケーションサーバ130の代表位置情報が動的に設定される。これによって、地図アプリケーションサーバ130の負荷分散が適切になるように地図アプリケーションサーバ130間の距離を動的に調整できる。
According to the fourth embodiment, the representative position information of the
[第5の実施形態]
第3の実施形態では、地図アプリケーションサーバ管理テーブル128の重み901は予め設定されていたが、第5の実施形態では、重み901を動的に変更する点が異なる。
[Fifth Embodiment]
In the third embodiment, the
計算機システムの構成は、図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
第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
図16は、本発明の第5の実施形態の振り分け処理装置120が実行するテーブル更新手段1101の処理内容の一例を示すフローチャートである。
FIG. 16 is a flowchart illustrating an example of processing contents of the
まず、振り分け処理装置120は、振り分け履歴テーブル1102から、現在の時刻から単位時間内の履歴を取得する(ステップ1801)。ここで、単位時間とは、例えば、6時間以内、24時間以内、又は1週間以内等が考えられる。
First, the
次に、振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128から一つのエントリを取得し(ステップ1802)、現在の時刻から単位時間内の履歴のうち、取得されたエントリに対応する地図アプリケーションサーバに関する履歴の一覧を取得する(ステップ1803)。
Next, the
振り分け処理装置120は、取得された履歴における履歴数を、最近の単位時間以内における全地図アプリケーションサーバ130へ振り分けた履歴数で除算することによって重みを算出する(ステップ1804)。具体的には、図17に示す算出式が用いて、重みが算出される。
The
図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
図17の式を用いることによって、各地図アプリケーションサーバ130における負荷が考慮された重み901を決定することが可能となる。これによって、地図アプリケーションサーバ130が担当する地域の範囲を変更することができ、適切な負荷分散が可能となる。
By using the formula of FIG. 17, it is possible to determine the
次に、振り分け処理装置120は、取得したエントリの重み901に、算出された重みを格納する(ステップ1805)。
Next, the
振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128の全てのエントリについて処理が実行されたか否かを判定する(ステップ1806)。
The
地図アプリケーションサーバ管理テーブル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
地図アプリケーションサーバ管理テーブル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
第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
具体的には、リクエスト送信が多い地域、又は地図アプリケーションによる検索頻度が多い地域を担当する地図アプリケーションサーバ130の重みを大きくし(担当する地域の範囲を狭くし)、リクエスト送信が少ない地域、又は地図アプリケーションによる検索頻度が少ない地域を担当する地図アプリケーションサーバ130の重みは小さくする(担当する地域の範囲を広くする)ことで負荷を動的に調整できる。
Specifically, the weight of the
また、第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
[第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
第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
適用時間1901は、地図アプリケーションサーバ管理テーブル128の内容を適用する期間等を示す。なお、適用時間1901は、期間であってもよいし、時間であってもよい。
The
第6の実施形態の距離最短サーバ検索手段127は、現在時刻を取得する手段を備えており、適用時間1901を参照し、現在の時刻が適用時間1901に示された提供時間に含まれるエントリ(複数)の中から、受信したリクエストに含まれる位置情報とエントリの代表位置情報との距離が最短となるエントリを特定する。
The shortest distance
以上の処理によって、現在時刻に応じて、地図アプリケーションサーバ130の代表位置情報302及び重み901を変更することが可能となる。
With the above processing, the
なお、地図アプリケーションサーバ130の代表位置情報302及び重み901の変更方法は、これに限定されず、振り分け処理装置120が、適用時間ごとに異なる地図アプリケーションサーバ管理テーブル128を備え、適用時間ごとに地図アプリケーションサーバ管理テーブル128を入れ替える方法であってもよい。
Note that the method for changing the
なお、切り替え時に用いられる代表位置情報及び重みは、第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
[第7の実施形態]
第7の実施形態は、地図アプリケーションサーバ130を追加又は削除する点が他の実施形態と異なる。
[Seventh Embodiment]
The seventh embodiment is different from the other embodiments in that the
以下、他の実施形態との差異を中心に第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
管理装置1600は、CPU(図示省略)、メモリ(図示省略)、記憶媒体及び通信部1601を備える。
The
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
地図アプリケーションサーバ追加手段1602は、地図アプリケーションサーバ130を追加するための手段である。地図アプリケーションサーバ追加手段1602は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The map application
地図アプリケーションサーバ削除手段1603は、地図アプリケーションサーバ130を削除するための手段である。地図アプリケーションサーバ削除手段1603は、一つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
The map application
記憶媒体(図示省略)は、管理装置1600が備える機能を実現するためのプログラム及び情報を格納する。
The storage medium (not shown) stores programs and information for realizing the functions provided in the
通信部1601は、ネットワーク170を介して他の装置と通信するための装置である。
The
地図アプリケーションサーバ130の追加時の処理を説明する。なお、予め、追加される地図アプリケーションサーバ130はネットワーク170に接続する。
Processing when the
管理装置1600は、地図アプリケーションサーバ追加手段1602を実行する。具体的には、以下の処理が実行される。
The
管理装置1600は、地図アプリケーションサーバ管理テーブル128に新たなエントリを追加し、追加された地図アプリケーションサーバ130の地図アプリケーションサーバIP301、代表位置情報302及び重み901を設定する。各値は、管理装置の操作者が設定してもよいし、自動で設定してもよい。
The
地図アプリケーションサーバ管理テーブル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
そこで、例えば、管理装置1600は、既存の地図アプリケーションサーバ130の代表位置情報の平均位置(各位置情報の緯度及び経度を各々平均した値)を設定したり、端末装置110の平均位置を設定したり、POI配信サーバ160に含まれるPOI情報の平均位置を設定したりする方法が考えられる。
Therefore, for example, the
管理装置1600は、決定した各値を振り分け処理装置120に送信する。振り分け処理装置120は、管理装置1600によって決定された値を地図アプリケーションサーバ管理テーブル128に反映させる。
The
地図アプリケーションサーバ130を削除時の処理を説明する。
Processing when the
管理装置1600は、地図アプリケーションサーバ削除手段1603を実行する。具体的には、以下の処理が実行される。
The
管理装置1600は、地図アプリケーションサーバ管理テーブル128から削除対象の地図アプリケーションサーバ130に対応するエントリを削除する。
The
具体的には、管理装置1600は、振り分け処理装置120に地図アプリケーションサーバ管理テーブル128から削除対象の地図アプリケーションサーバ130に対応するエントリを削除するように命令を発行する。当該命令を受信した振り分け処理装置120は、地図アプリケーションサーバ管理テーブル128から削除対象の地図アプリケーションサーバ130に対応するエントリを削除する。
Specifically, the
次に、管理装置1600の操作者は、削除対象の地図アプリケーションサーバ130をネットワーク170から取り除く。
Next, the operator of the
なお、管理装置1600が備える機能を、振り分け処理装置120が備えていてもよい。
It should be noted that the
第7の実施形態によれば、地図アプリケーションサーバ130を自由に追加又は削除することが可能となる。特に、地図アプリケーションサーバ130を追加する場合、適切な位置情報を設定して、ネットワーク170に追加することが可能となる。
According to the seventh embodiment, the
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
113 Display 114 HDD
115 Input Unit 116 Memory 117 Client Program 118 Location
123
125
133 Display unit 134 HDD
135 Input unit 136 Memory 137 Mesh code acquisition unit 138 Map acquisition unit 139 POI acquisition unit 140
302
1301 Map application server IP
1600
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に記載の振り分け処理装置。 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に記載の振り分け処理装置。 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.
前記複数のサーバは、要求された地図データを応答する地図アプリケーションサーバであり、
前記振り分け処理装置は、第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の位置情報を変更することを特徴とする請求項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の位置情報に示された位置と、前記第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.
前記振り分け処理装置は、
前記履歴を参照して、前記各サーバに振り分けられたリクエスト数を算出し、
前記算出されたリクエスト数に基づいて、前記各サーバの負荷を算出し、
前記算出された各サーバの負荷に基づいて、前記重みを変更することを特徴とする請求項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の位置情報に基づいて、前記振り分け先サーバを決定することを特徴とする請求項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.
前記振り分け処理装置は、第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.
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111581118A (en) * | 2019-12-31 | 2020-08-25 | 北京忆芯科技有限公司 | Computational Acceleration System |
Families Citing this family (6)
| 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)
| 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 |
-
2009
- 2009-10-14 JP JP2009237513A patent/JP5493223B2/en active Active
Cited By (2)
| 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 |