JP5941167B2 - ジオロケーションに基づく負荷均衡化 - Google Patents

ジオロケーションに基づく負荷均衡化 Download PDF

Info

Publication number
JP5941167B2
JP5941167B2 JP2014557616A JP2014557616A JP5941167B2 JP 5941167 B2 JP5941167 B2 JP 5941167B2 JP 2014557616 A JP2014557616 A JP 2014557616A JP 2014557616 A JP2014557616 A JP 2014557616A JP 5941167 B2 JP5941167 B2 JP 5941167B2
Authority
JP
Japan
Prior art keywords
cell
cache server
cache
real space
user device
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
JP2014557616A
Other languages
English (en)
Other versions
JP2015510643A (ja
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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of JP2015510643A publication Critical patent/JP2015510643A/ja
Application granted granted Critical
Publication of JP5941167B2 publication Critical patent/JP5941167B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/02Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
    • H04W36/023Buffering or recovering information during reselection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

スマートフォンやタブレットコンピュータなど、ハイエンドのモバイルデバイスと関連するネットワークトラフィックが増加しつつある。スマートフォンに関するユーザ一人あたりの平均トラフィック(ATPU)は2015年までに776メガバイト/月に到達し、スマートフォンと関連する全世界のネットワークトラフィックは2015年には6.3エクサバイト/月まで増加すると予想される。モバイルトラフィックが上述したように爆発的に増加するにつれて、クラウドコンピューティングシステムを用いたスケールアウトが、重要になる。
しかし、クラウドコンピューティング環境を実装するための既存のインフラストラクチャは、一般に、パーソナルコンピュータ上で動作する電子メールアプリケーションやワードプロセッサなどの業務用アプリケーションに適応しており、モバイルコンピューティングアプリケーションを効率的に実装することは困難である。例えば、モバイルサービスのための地図アプリケーションやジオロケーション情報に基づく情報配信アプリケーションでは、大量の地図イメージデータや配信データがデータベースサーバから一度に取り出されるため、データベースサーバとウェブアプリケーションサーバとの間の通信がボトルネックになる傾向がある。
ある例では、方法が、ユーザデバイスが第1のセルから第2のセルへ移動する確率を計算することと、計算された確率に少なくとも部分的に基づき、第2のセルに対応する第2のキャッシュサーバから第1のセルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を計算することと、を含みうる。
別の例では、方法が、ユーザデバイスの移動に少なくとも部分的に基づき、データベースサーバのためのデータキャッシュを動的に構成することと、動的構成に基づき、ユーザデバイスによって要求された地理データをキャッシュすることと、を含みうる。
さらに別の例では、ロードバランサが、ユーザデバイスから受け取られたストリームから、ユーザデバイスに関連する識別子とジオロケーション情報との少なくとも一方を抽出するように構成されたデバイス情報抽出器と、キャッシュサーバと現実空間セルとの間の関連付けを管理するように構成されたジオロケーションメッシュマネージャであって、キャッシュサーバは、それぞれが、当該キャッシュサーバに配分されたセルに関する情報をデータベースサーバからキャッシュする、ジオロケーションメッシュマネージャと、ユーザデバイスが第1の現実空間セルから第2の現実空間セルに移動する確率を計算するように構成された移動確率計算器と、計算された移動確率に少なくとも部分的に基づき、第2の現実空間セルに対応する第2のキャッシュサーバから第1の現実空間セルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を計算するように構成されたコピーファクタ計算器と、を含みうる。
さらに別の例では、コンピュータ可読記憶媒体が、地理データを記憶するデータベースサーバとウェブアプリケーションサーバとの間での負荷平衡を実施するプログラムを記憶しうるのであって、このプログラムが、現実空間セルとキャッシュサーバとの間の関連付けを管理するように構成されているジオロケーションメッシュ管理モジュールであって、キャッシュサーバのそれぞれが現実空間セルの内の対応する1つに関連する地理データの少なくとも一部をデータベースサーバからキャッシュする、ジオロケーションメッシュ管理モジュールと、第2の現実空間セルに対応する第2のキャッシュサーバから第1の現実空間セルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を、第1の現実空間セルから第2の現実空間セルへユーザデバイスが移動する計算された確率と、第1の現実空間セルと第2の現実空間セルとの間の距離とに少なくとも部分的に基づいて、計算するように構成されているコピーファクタ計算モジュールと、を含む。
以上の概要は、説明の目的だけを有し、どのような意味においても限定的であることは意図されていない。上述した説明のための態様、実施形態、および特徴に加え、さらなる態様、実施形態、および特徴が、図面と以下の詳細な説明とを参照することにより明らかになるであろう。
本開示の以上のおよびそれ以外の特徴は、添付の図面と共に以下の説明と添付の特許請求の範囲とを考察することで、より明らかになる。これらの図面は本開示によるいくつかの実施形態を示しているだけであり、したがって、本開示の範囲を限定するものと考えるべきではないことを理解した上で、本開示は、以下の添付の図面を用いることを通じ、追加的な特定性と詳細とを伴って、説明される。
本明細書で説明される少なくともいくつかの実施形態に従って構成されたロードバランサがデータベースサーバとアプリケーションサーバとの間で負荷均衡化を提供する環境の説明を目的とする例を概略的に示す図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成された、キャッシュサーバと現実空間セルとの間を関連付けるためのメッシュ構造の、説明を目的とする例を示す図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成された、キャッシュサーバの間でキャッシュされたデータをコピーすることの、説明を目的とする例を示す図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するように構成されているロードバランサの、説明を目的とする例の概略的なブロック図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するように構成されている説明目的の例示的なシステムを概略的に示す図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するプロセスの例示的な流れ図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するのに用いることができるコンピュータプログラム製品を示す図である。 本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するのに用いることができる例示的なコンピューティングデバイスを示すブロック図である。
以下の詳細な説明では添付の図面を参照するが、これらの図面は、詳細な説明の一部を形成する。図面では、別段文脈により示されない限り、類似の記号は類似のコンポーネントを識別するのが典型的である。詳細な説明、図面、および特許請求の範囲に記載されている説明のための実施形態は、限定を意図していない。本明細書において提示される主題の精神または範囲から逸脱することなく、他の実施形態を用いることが可能であり、他の変更を行うことが可能である。本明細書で一般的に説明され図面で示されている本開示の態様は、広範な異なる構成で配列され、置き換えられ、組み合わされ、分離され、設計されることが可能であり、これらのすべてが、本明細書で明示的に企図されることが容易に理解されよう。
この開示は、一般に、とりわけ、モバイルサービスをホストするクラウドコンピューティング環境において負荷を均衡化することに関係する方法、装置、システム、デバイス、およびコンピュータプログラム製品に関する。
データベースサーバとアプリケーションサーバとの間でジオロケーションに基づく負荷均衡化を提供するように構成されたロードバランサのための技術が、一般的に説明される。
いくつかの例では、クラウドコンピューティング環境におけるアプリケーションを、ウェブサーバ、ウェブアプリケーションサーバなどのアプリケーションサーバ、およびデータベースサーバを含む3つのサーバ層を用いて実装することができる。いくつかの例では、ロードバランサは、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供して、トラフィックの増加に起因するそれらのサーバの間での通信ボトルネックを解消することができる。
いくつかの例では、モバイルサービスのための地図アプリケーションまたはジオロケーション情報に基づく情報配信アプリケーションの場合に、ロードバランサは、データベースサーバとアプリケーションサーバとの間でジオロケーションに基づく負荷均衡化を提供して、大量の地図イメージデータまたは配信データをデータベースサーバから取り出すことによって生じる通信ボトルネックを解消することができる。
いくつかの例では、ロードバランサは、ユーザデバイスの移動に少なくとも部分的に基づいてデータベースサーバのためにデータキャッシュを動的に構成し、その動的構成に少なくとも部分的に基づいてユーザデバイスによって要求される地理データをキャッシュすることができ、よって、アプリケーションサーバからデータベースサーバへのデータアクセスを高速化することができる。
いくつかの例では、インメモリキャッシュサーバなど、データベースサーバから取り出されたデータをキャッシュする複数のキャッシュサーバを用いて、アプリケーションサーバからデータベースサーバへのアクセス数を減少させることができる。
いくつかの例では、モバイルサービスの応答速度とサービス提供容量(すなわち、同時に接続可能なユーザデバイスの数)とを改善するために、ロードバランサは、複数のキャッシュサーバの間でのデータのコピーを管理することができる。
いくつかの例では、ロードバランサは、現実空間の所定の範囲または領域を複数のセルに分割し、複数のキャッシュサーバを、それら複数のキャッシュサーバのそれぞれが複数のセルの内の1つに関する地理データをデータベースサーバからキャッシュするように、管理することができる。ロードバランサは、キャッシュサーバとセルとの間の関連付けを管理することができる。
いくつかの例では、ロードバランサは、地理データに対する要求をユーザデバイスから受け取り、受け取られた要求から抽出されたユーザデバイスに関連する識別子とジオロケーション情報との少なくとも一方に少なくとも部分的に基づいて、第1のセルから第2のセルにユーザデバイスが移動する確率を計算することができる。
いくつかの例では、ロードバランサは、この確率を、地図情報を用いることによって、前もって静的に計算することができる。
いくつかの例では、ロードバランサは、次に、第2のセルに対応する第2のキャッシュサーバから第1のセルに対応する第1のキャッシュサーバへのコピーファクタ、すなわち、第2のキャッシュサーバから第1のキャッシュサーバへコピーするキャッシュされたデータの量を、計算された確率に少なくとも部分的に基づいて、計算することができる。
いくつかの例では、すべての領域およびユーザに対するコピーファクタを管理することによって、キャッシュサーバを、ユーザがそこへ移動する可能性がある領域に関する情報を動的および/または自動的に記憶するように構成することができ、それによりアプリケーションサーバからデータベースサーバへのアクセス数を減少させることができる。
いくつかの例では、ロードバランサを、アプリケーションサーバおよびデータベースサーバと独立なネットワーク機器として、実装することができる。そうすることで、ロードバランサを、既存のインフラストラクチャとアプリケーションとを著しく修正することなく、クラウドコンピューティング環境に導入し、モバイルサービスの応答速度とサービス提供容量とを向上させることができる。
図1は、本明細書で説明される少なくともいくつかの実施形態に従って構成されたロードバランサが、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供する環境の、説明を目的とする例を概略的に示している。図1に示されているように、ユーザデバイス110は、アプリケーションサーバ120−1、120−2、・・・、120−mの内の少なくとも1つに、データベースサーバ130に記憶されている可能性がある地理データに対する要求を送ることができる。例示であり限定ではないが、この要求は、例えばHTTP(ハイパーテキスト転送プロトコル) GET要求またはHTTP POST要求などのHTTP要求を含みうる。
いくつかの実施形態では、接続ハンドラ140が、ユーザデバイス110からの要求を、アプリケーションサーバ120−1、120−2、・・・、120−mの内の適切な1つに配分または割り当てることができる。いくつかの実施形態では、接続ハンドラ140は、アプリケーションサーバ120−1、120−2、・・・、120−mの処理負荷に少なくとも部分的に基づいて、要求の配分または割り当てを行うことができる。
いくつかの実施形態では、データベースサーバ130は、所定の範囲または領域の現実空間に関する地理データを記憶していることがある。いくつかの実施形態では、キャッシュサーバ150−1、150−2、・・・、150−nは、データベースサーバ130に記憶されている地理データの少なくとも一部をキャッシュしていることがありうる。いくつかの実施形態では、キャッシュサーバ150−1、150−2、・・・、150−nは、それぞれが、上記所定の範囲または領域の現実空間における複数のセルの内の1つに関連する地理データの少なくとも一部を、データベースサーバ130からキャッシュすることがありうる。例示であり限定ではないが、キャッシュサーバ150−1、150−2、・・・、150−nは、インメモリキャッシュサーバでありうる。例示であり限定ではないが、セルのそれぞれのサイズは、クラウドコンピューティング環境に提供されているキャッシュサーバ150−1、150−2、・・・、150−nの総数および/またはキャッシュサーバ150−1、150−2、・・・、150−nのメモリ容量に応じて、変動しうる。例えば、クラウドコンピューティング環境において十分な数のキャッシュサーバ150−1、150−2、・・・、150−nが提供され、そのメモリ容量も十分であるときには、セルのサイズを比較的小さく設定することができ(例えば、それぞれの辺が10メートルである正方形)、他方で、キャッシュサーバ150−1、150−2、・・・、150−nの数が十分でないおよび/またはそのメモリ容量が小さいときには、セルのサイズを比較的大きく設定することができる(例えば、それぞれの辺が1000メートルである正方形)。
いくつかの実施形態では、ロードバランサ160は、キャッシュサーバ150−1、150−2、・・・、150−nと現実空間セルとの間の関連付けを管理することができる。例示であり限定ではないが、ロードバランサ160は、キャッシュサーバ150−1、150−2、・・・、150−nをセル170−1、170−2、・・・、170−nにそれぞれ配分して、キャッシュサーバ150−1、150−2、・・・、150−nが、セル170−1、170−2、・・・、170−nにそれぞれ関連する地理データをデータベースサーバ130からキャッシュまたは取り出すことができる。
いくつかの実施形態では、ロードバランサ160は、また、アプリケーションサーバ120−1、120−2、・・・、120−mの内の少なくとも1つから、ユーザデバイス110からの要求を受け取ることがある。すると、ロードバランサ160は、受け取られた要求を解析し、その要求から、ユーザデバイス110に関連する識別子および/またはジオロケーション情報を抽出することができる。例示であり限定ではないが、要求がHTTP GET要求またはHTTP POST要求などのHTTP要求であるときには、識別子は、HTTP要求のヘッダに、クッキーと識別テキストストリングとの少なくとも一方を含みうる。例示であり限定ではないが、ジオロケーション情報は、GPS(全地球測位システム)情報を含みうる。
いくつかの実施形態では、ロードバランサ160は、また、要求から抽出された識別子とジオロケーション情報との少なくとも一方に少なくとも部分的に基づいて、セルの間をユーザデバイス110が移動する確率を計算することができる。例示であり限定ではないが、ロードバランサ160は、その現在の位置から他のセルへユーザデバイス110が移動する確率を、ユーザデバイス110の輸送手段および/または移動速度を考慮することによって、計算することができる。
いくつかの実施形態では、ロードバランサ160は、また、計算された確率に少なくとも部分的に基づいて、キャッシュサーバ150−1、150−2、・・・、150−nの間のコピーファクタを、すなわち、キャッシュサーバ150−1、150−2、・・・、150−nの間でコピーするキャッシュされたデータの量を、計算することができる。例示であり限定ではないが、ロードバランサ160は、セル170−2に対応するキャッシュサーバ150−2からセル170−1に対応するキャッシュサーバ150−1へのコピーファクタを、すなわち、セル170−2に対応するキャッシュサーバ150−2からセル170−1に対応するキャッシュサーバ150−1にコピーするキャッシュされたデータの量を、セル170−1からセル170−2にユーザデバイス110が移動する計算された確率に少なくとも部分的に基づいて、計算することができる。いくつかの実施形態では、キャッシュサーバ150−2からキャッシュサーバ150−1へのコピーファクタは、セル170−1からセル170−2への計算された移動確率が増加するのにつれて、増加することがある。いくつかの実施形態では、キャッシュサーバ150−2からキャッシュサーバ150−1へのコピーファクタは、セル170−1とセル170−2との間の距離が増加するのにつれて、減少することがある。
現実空間における点xに対応するキャッシュサーバから現実空間における点xに対応する別のキャッシュサーバに情報をコピーすることに対するコピーファクタ、すなわち、copy_factor(x,x)の例は、次の例示的な数式1に従って計算することができる。
Figure 0005941167
数式1では、item_count(x)は点xに対応するキャッシュサーバにおいてキャッシュされているデータの量を示し、確率(x,x)は点xから点xにユーザデバイス110が移動する確率を示し、距離(x,x)は点xから点xへの現実空間での距離を示す。
図2(A)および図2(B)は、それぞれ、本明細書で説明される少なくともいくつかの実施形態に従って構成された、キャッシュサーバと現実空間セルとの間を関連付けるためのメッシュ構造の説明目的の例と、キャッシュサーバの間でキャッシュされたデータをコピーすることの説明目的の例と、を示している。示されているように、所定の範囲または領域の現実空間200を、複数のセル210−1、210−2、・・・、210−25に分割することができる。図2(A)および図2(B)では、空間200が25個の同じサイズのセル210−1、210−2、・・・、210−25に分割されているように示されているが、空間200は、任意の数および/または任意のサイズのセルに分割することも可能であることは、当業者であれば理解するはずである。
いくつかの実施形態では、セル210−1、210−2、・・・、210−25に関する地理データは、データベースサーバ(例えば、データベースサーバ130)に記憶されうる。複数のキャッシュサーバ(例えば、キャッシュサーバ150−1、150−2、・・・、150−n)が、データベースサーバへのアクセス数を減らすために、セル210−1、210−2、・・・、210−25に関する地理データを、データベースサーバからリトリーブおよび/またはキャッシュすることができる。いくつかの実施形態では、複数のキャッシュサーバのそれぞれは、セル210−1、210−2、・・・、210−25のそれぞれと関連付けるかまたはセル210−1、210−2、・・・、210−25のそれぞれに配分して、セル210−1、210−2、・・・、210−25の内の対応する1つに関する地理データをキャッシュすることができる。
図2(A)に示されているように、ユーザデバイス220が現時点でセル210−14に存在するときには、ロードバランサ(例えば、ロードバランサ160)は、ユーザデバイス220がセル210−14から他のセルに移動する確率を計算することができ、さらに、他のセルに対応する他のキャッシュサーバからセル210−14に対応するキャッシュサーバへのコピーファクタを計算することができる。例示であり限定ではないが、図2(A)に示されているようにロードバランサがセル210−14から他のセルにユーザデバイス220が移動する確率を見出して計算し、図2(B)に示されているようにセルに対応するキャッシュサーバのそれぞれにおけるキャッシュされているデータの量を見出すと、ロードバランサは、上述した数式1に従って、他のセルに対応するキャッシュサーバからセル210−14に対応するキャッシュサーバへのそれぞれのコピーファクタを計算することができる。
図3は、本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するように構成されているロードバランサの説明目的の例の概略的なブロック図を示している。示されているように、ロードバランサ160は、デバイス情報抽出器310と、ジオロケーションメッシュマネージャ320と、移動確率計算器330と、コピーファクタ計算器340と、を含みうる。離散的なコンポーネントとして示されているが、開示されている主題の範囲に属するものと考えつつ、様々なコンポーネントを追加的なコンポーネントに分割したり、より少数のコンポーネントになるように組み合わせたり、または完全に除去したりすることが可能である。
デバイス情報抽出器310は、ユーザデバイス(例えば、ユーザデバイス110)から受け取られたストリームから、そのユーザデバイスと関連するデバイス情報を抽出するように構成することができる。いくつかの実施形態では、このデバイス情報には、当該ユーザデバイスと関連する識別子とジオロケーション情報との少なくとも一方が含まれうる。いくつかの実施形態では、ストリームがユーザデバイスからのHTTP(ハイパーテキスト転送プロトコル)要求から生じており、デバイス情報抽出器は、HTTP要求のヘッダを解析することにより、ユーザデバイスに関連する識別子とジオロケーション情報との少なくとも一方を抽出することができる。例示であり限定ではないが、ジオロケーション情報には、GPS(全地球測位システム)情報が含まれうる。いくつかの実施形態では、抽出されたデバイス情報は、ユーザデバイスの現在位置を見つけるのに用いられることがある。
ジオロケーションメッシュマネージャ320は、キャッシュサーバ(例えば、キャッシュサーバ150−1、150−2、・・・、150−n)と現実空間セル(例えば、セル170−1、170−2、・・・、170−n)との間の関連付けを管理するように構成することができる。キャッシュサーバのそれぞれは、それ自体に配分されているセルに関する情報を、データベースサーバ(例えば、データベースサーバ130)からキャッシュすることができる。例示であり限定ではないが、キャッシュサーバのそれぞれは、セルの内の対応する1つに関する地理データを、データベースサーバからキャッシュすることができる。いくつかの実施形態では、キャッシュサーバは、インメモリキャッシュサーバを含みうる。いくつかの実施形態では、ジオロケーションメッシュマネージャ320は、ユーザデバイスの現在位置に対応するキャッシュサーバを含む関連キャッシュサーバを見つけることができる。
移動確率計算器330は、第1のセルから第2のセルにユーザデバイスが移動する確率を計算するように構成することができる。いくつかの実施形態では、移動確率計算器330は、ユーザデバイスの移動速度に少なくとも部分的に基づいて、確率を計算することができる。いくつかの実施形態では、移動確率計算器330は、ユーザデバイスが現在位置から他の位置へ移動する確率を計算することができる。
コピーファクタ計算器340は、第2のセルに対応する第2のキャッシュサーバから第1のセルに対応する第1のキャッシュサーバへのコピーファクタ、すなわち、第2のセルに対応する第2のキャッシュサーバから第1のセルに対応する第1のキャッシュサーバへコピーするキャッシュされたデータの量を、移動確率計算器330によって計算された移動確率に少なくとも部分的に基づいて、計算することができる。いくつかの実施形態では、コピーファクタ計算器340は、第1のセルと第2のセルとの間の距離を考慮することによって、第2のキャッシュサーバから第1のキャッシュサーバへのコピーファクタを計算することができる。いくつかの実施形態では、コピーファクタ計算器340は、キャッシュサーバを動的に管理または構成するために、他のキャッシュサーバからユーザデバイスの現在位置に対応するキャッシュサーバにコピーするキャッシュされたデータの量を計算することもある。
図4は、本明細書で説明される少なくともいくつかの実施形態に従って構成され、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するように構成されている説明目的の例示的なシステムを概略的に示している。示されているように、例えばモバイルサービスのための地図アプリケーションまたはジオロケーション情報に基づく情報配信アプリケーションなどのアプリケーションプログラムを、ユーザがユーザデバイス110上で走らせるまたは実行するときには、ユーザデバイス110は、地理データに対する要求をアプリケーションサーバ120に送るのであるが、要求された地理データは、データベースサーバ130に記憶されている可能性がある。次いで、アプリケーションサーバ120は、受け取られた要求を、ロードバランサ160に送ることができる。
いくつかの実施形態では、ロードバランサ160の中のデバイス情報抽出器310が、アプリケーションサーバ120から受け取られた要求を含むストリームから、ユーザデバイス110に関連する識別子および/またはジオロケーション情報を含むユーザデバイス110に関連するデバイス情報を抽出することができる。
いくつかの実施形態では、ロードバランサ160の中の、キャッシュサーバ150−1、150−2、・・・、150−nと現実空間セルとの間の関連付けを管理できるジオロケーションメッシュマネージャ320が、デバイス情報抽出器310によって抽出されたユーザデバイス110に関連する識別子および/またはジオロケーション情報に少なくとも部分的に基づいて、ユーザデバイス110の現在位置に対応するキャッシュサーバを含む関連キャッシュサーバを見出すことができる。
いくつかの実施形態では、ロードバランサ160の中の移動確率計算器330が、ユーザデバイス110の現在位置が属する可能性のある第1の現実空間セルから第2の現実空間セルへのユーザデバイス110の移動確率を、ジオロケーションメッシュマネージャ320によって管理されているおよび/もしくは見出されたデバイス情報抽出器310ならびに/または関連キャッシュサーバによって抽出されたユーザデバイス110に関連する識別子および/またはジオロケーション情報に少なくとも部分的に基づいて、計算することができる。
いくつかの実施形態では、ロードバランサ160の中のコピーファクタ計算器340は、移動確率計算器330によって計算された確率に少なくとも部分的に基づいて、第2のセルに対応する第2のキャッシュサーバから第1のセルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を計算することができる。
いくつかの実施形態では、ロードバランサ160は、コピーファクタ計算器340によって計算された第2のキャッシュサーバから第1のキャッシュサーバにコピーするキャッシュされたデータの量に少なくとも部分的に基づき、第2のキャッシュサーバから第1のキャッシュサーバに、キャッシュされたデータの計算された量をコピーすることによって、キャッシュサーバ150−1、150−2、・・・、150−nを動的に管理または構成することができる。
図5は、本明細書で説明されている少なくともいくつかの実施形態に従って構成された、データベースサーバとアプリケーションサーバとの間で負荷均衡化を提供するプロセスの例示的な流れ図を示している。図5の方法は、上で論じたデバイス情報抽出器310と、ジオロケーションメッシュマネージャ320と、移動確率計算器330と、コピーファクタ計算器340とを含むロードバランサ160などのロードバランサにおいて実装することができる。このプロセスの例は、1つまたは複数のブロック500、510、520および/または530によって示されているような1つまたは複数の動作、作用、または機能を含みうる。離散的なブロックとして示されているが、様々なブロックを、所望の実装例に応じて、追加的なブロックに分割する、より少数のブロックになるように結合させる、または消去することが可能である。処理は、ブロック500において開始しうる。
ブロック500では、ロードバランサは、ユーザデバイスから生じる地理データに対する要求を受け取りうる。例えば、限定ではないが、要求は、例えばHTTP(ハイパーテキスト転送プロトコル) GET要求やHTTP POST要求などのHTTP要求を含みうる。処理は、ブロック500からブロック510に続きうる。
ブロック510では、ロードバランサは、受け取られた要求を解析して、ユーザデバイスに関連する識別子および/またはジオロケーション情報を、受け取られた要求から抽出することができる。例示であり限定ではないが、要求がHTTP GET要求やHTTP POST要求などのHTTP要求であるときには、識別子には、HTTP要求のヘッダにおけるクッキーと識別テキストストリングとの少なくとも一方が含まれる。例示であり限定ではないが、ジオロケーション情報には、GPS(全地球測位システム)情報が含まれうる。処理は、ブロック510からブロック520に続きうる。
ブロック520では、ロードバランサは、ユーザデバイスが第1のセルから第2のセルに移動する確率を計算することができる。いくつかの実施形態では、ロードバランサは、要求から抽出された識別子とジオロケーション情報との少なくとも一方に少なくとも部分的に基づいて、この確率を計算することができる。例示であり限定ではないが、ロードバランサは、ユーザデバイスの輸送手段および/または移動速度を考慮することによって、この確率を計算することができる。処理は、ブロック520からブロック530に続きうる。
ブロック530では、ロードバランサは、第2のセルに対応する第2のキャッシュサーバから第1のセルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を、すなわち、第2のキャッシュサーバから第1のキャッシュサーバへのコピーファクタを、計算することができる。いくつかの実施形態では、ロードバランサは、計算された確率に少なくとも部分的に基づいて、このコピーファクタを計算することができる。いくつかの実施形態では、ロードバランサは、さらに第1のセルと第2のセルとの間の距離に基づいて、このコピーファクタを計算することができる。ロードバランサは、第2のキャッシュサーバから第1のキャッシュサーバに、キャッシュされたデータの計算された量をコピーすることによって、キャッシュサーバを動的に管理または構成することができる。
本明細書に開示されているこのおよび他のプロセスおよび方法に関し、これらのプロセスおよび方法において実行される機能は、別の順序でも実装可能であることを、当業者であれば理解するであろう。さらに、概要が示されているステップおよび動作は単なる例としてのみ提供されており、これらのステップおよび動作の内の一部を、開示されている実施形態の本質から逸脱することなく、オプションとしたり、より少数のステップおよび動作となるように組み合わせたり、追加的なステップおよび動作に拡張したりすることが可能である。
図6は、本明細書で説明される少なくとも一部の実施形態に従って構成された、データベースサーバとアプリケーションサーバとの間での負荷均衡化を提供するのに用いることができるコンピュータプログラム製品を示す。プログラム製品600は、信号搬送媒体602を含むことがありうる。信号搬送媒体602は、例えばプロセッサによって実行されると、図1〜図5との関係で上述した機能を提供することができる1つまたは複数の命令604を含みうる。例えば、命令604は、現実空間セルとキャッシュサーバとの間の関連付けを管理する1つまたは複数の命令であって、キャッシュサーバのそれぞれが現実空間セルの内の対応する1つに関連する地理データの少なくとも一部をデータベースサーバからキャッシュする、1つまたは複数の命令と、第1の現実空間セルから第2の現実空間セルへのユーザデバイスの計算された移動確率と第1の現実空間セルと第2の現実空間セルとの間の距離とに少なくとも部分的に基づいて、第2の現実空間セルに対応する第2のキャッシュサーバから第1の現実空間セルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を計算する1つまたは複数の命令と、を含みうる。したがって、例えば、図3を参照すると、ロードバランサ160は、命令604に応答して、図5に示されているブロックの内の1つまたは複数を引き受けることができる。
いくつかの実装例では、信号搬送媒体602は、これらに限定されないが、ハードディスクドライブ、CD、DVD、デジタルテープ、メモリなどのようなコンピュータ可読媒体606を含みうる。いくつかの実装例では、信号搬送媒体602は、これらに限定されないが、メモリ、リード/ライト(R/W)CD、R/W DVDなどのような記録可能媒体608を含みうる。いくつかの実装例では、信号搬送媒体602は、これらに限定されないが、デジタルおよび/またはアナログ通信媒体(例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)などの通信媒体610を含みうる。よって、例えば、プログラム製品600は、RF信号搬送媒体602により、ロードバランサ160の内の1つまたは複数のモジュールまで運ばれうる。なお、RF信号搬送媒体602は、無線通信媒体610(例えば、IEEE802.11の標準に従う無線通信媒体)によって運ばれる。
図7は、本明細書で説明されている少なくとも一部の実施形態に従って構成された、データベースサーバとアプリケーションサーバとの間の負荷均衡化を提供するのに用いることができる例示的なコンピューティングデバイスを示すブロック図である。これらの例では、コンピューティングデバイス700の構成要素を、モバイルサービスをホストするクラウドコンピューティングシステムのために配列または構成することができる。非常に基本的な構成702では、コンピューティングデバイス700は、1つまたは複数のプロセッサ704と、システムメモリ706とを含むのが典型的である。メモリバス708は、プロセッサ704とシステムメモリ706との間で、通信のために、用いられうる。
所望の構成に応じて、プロセッサ704は、これらに限定されることはないが、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、またはこれらの任意の組み合わせを含む任意のタイプでありうる。プロセッサ704は、レベル1キャッシュ710およびレベル2キャッシュ712などのキャッシングの1つまたは複数のレベル、プロセッサコア714、ならびにレジスタ716を含みうる。例示的なプロセッサコア714は、算術論理ユニット(ALU)、浮動小数点ユニット(FPU)、デジタル信号処理コア(DSPコア)、またはこれらの任意の組み合わせを含みうる。例示的なメモリコントローラ718が、プロセッサ704と共に用いられることもあり、または、いくつかの実装例では、メモリコントローラ718が、プロセッサ704の内部的な部分である場合もありうる。
所望の構成に応じて、システムメモリ706は、これらに限定されることはないが、(RAMなどの)揮発性メモリ、(ROM、フラッシュメモリなどの)不揮発性メモリ、またはそれらの任意の組み合わせを含む任意のタイプでありうる。システムメモリ706は、オペレーティングシステム720、1つまたは複数のアプリケーション722、およびプログラムデータ724を含みうる。アプリケーション722は、図3に示されているようなロードバランサ160のアーキテクチャとの関係で説明される動作を含めて、または、図5に示されている流れ図との関係で説明されている動作を含めて、本明細書で説明されているような機能を実行するように構成することができる命令726を含みうる。プログラムデータ724は、命令726を実装するために用いられうるデータを含みうる(例えば、キャッシュサーバと現実空間セルとの間を関連付けるためのメッシュ構造)。いくつかの例では、アプリケーション722は、オペレーティングシステム720の上でプログラムデータ724を用いて動作するように構成でき、そのことにより、本明細書において説明されているロードバランサに対する命令を実装することができる。
コンピューティングデバイス700は、基本構成702と任意の必要とされるデバイスおよびインターフェースとの間の通信を容易にするために、追加的な特徴または機能と、追加的なインターフェースとを有することがある。例えば、基本構成702と1つまたは複数のデータ記憶装置732との間での、ストレージインターフェースバス734を経由した通信を容易にするために、バス/インターフェースコントローラ730が用いられることがある。データ記憶装置732は、取外し式ストレージデバイス736、非取外し式ストレージデバイス738、またはそれらの組み合わせでありうる。取外し式ストレージデバイスと非取外し式ストレージデバイスとの例には、いくつかの例を挙げるならば、フレキシブルディスクドライブやハードディスクドライブ(HDD)などの磁気ディスクデバイス、コンパクトディスク(CD)ドライブやデジタルバーサタイルディスク(DVD)ドライブなどの光ディスクドライブ、ソリッドステートドライブ(SSD)、およびテープドライブが含まれる。例示的なコンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはそれ以外のデータなどの情報を記憶するための任意の方法または技術として実装されている、揮発性および不揮発性、そして、取外し式および非取外し式の媒体が含まれうる。
システムメモリ706、取外し式ストレージデバイス736、および非取外し式ストレージデバイス738は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、これらに限定されることはないが、RAM、ROM、EEPROM、フラッシュメモリもしくはそれ以外のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくはそれ以外の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくはそれ以外の磁気記憶デバイス、または、所望の情報を記憶するのに用いることができコンピューティングデバイス700によってアクセス可能である任意のそれ以外の媒体が含まれる。任意のそのようなコンピュータ記憶媒体は、コンピューティングデバイス700の一部でありうる。
コンピューティングデバイス700は、また、インターフェースバス740を含みうるが、このインターフェースバス740は、様々なインターフェース装置(例えば、出力装置742、周辺インターフェース744、および通信装置746)からバス/インターフェースコントローラ730を経由して基本構成702に至る通信を容易にするためのものである。例示的な出力装置742には、グラフィック処理ユニット748とオーディオ処理ユニット750とが含まれており、これらのユニットは、1つまたは複数のA/Vポート752を経由してディスプレイやスピーカなど様々な外部装置と通信するように構成されうる。例示的な周辺インターフェース744には、シリアルインターフェースコントローラ754またはパラレルインターフェースコントローラ756が含まれ、これらのコントローラは、入力装置(例えば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など)または他の周辺装置(例えば、プリンタ、スキャナなど)などの外部装置と1つまたは複数のI/Oポート758を経由して通信するように構成されうる。例示的な通信装置746には、ネットワークコントローラ760が含まれるが、これは、1つまたは複数の通信ポート764を経由してネットワーク通信リンクを介する1つまたは複数の他のコンピューティングデバイス762との通信を容易にするように構成されうる。
ネットワーク通信リンクは、通信媒体の一例でありうる。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または、搬送波やそれ以外の転送機構などの変調されたデータ信号におけるそれ以外のデータによって、実現されうるのが典型的であり、任意の情報搬送媒体を含みうる。「変調されたデータ信号」とは、当該信号の中の情報を符号化するような態様にその特性の1つまたは複数が設定または変更されている信号でありうる。例示であり限定ではないが、通信媒体には、ワイアードネットワークやダイレクトワイアード接続などのワイアード媒体と、音響、無線周波数(RF)、マイクロ波、赤外(IR)、およびそれ以外の無線媒体などの無線媒体とが含まれうる。本明細書において用いられるコンピュータ可読媒体という用語は、記憶媒体と通信媒体との両者を含みうる。
コンピューティングデバイス700は、携帯電話、携帯情報端末(パーソナルデータアシスタント、PDA)、パーソナルメディアプレイヤデバイス、無線Web視聴デバイス、パーソナルヘッドセットデバイス、特定用途向け(アプリケーションスペシフィック)デバイス、または上記の機能のいずれかを含むハイブリッドデバイスなど、小型フォームファクタポータブル(またはモバイル)電子デバイスの一部として実装されることがある。コンピューティングデバイス700は、また、ラップトップコンピュータの構成とラップトップコンピュータ以外の構成との両方を含むパーソナルコンピュータとして実装されることもある。
本開示は、この出願に記載されており様々な態様の例示として意図されている特定の実施形態に限定されることはない。当業者には明らかであるように、その精神および範囲から逸脱することなく、多くの修正および変更を行うことが可能である。本明細書で列挙されているものに加えて、本開示の範囲に含まれる機能的に均等な方法および装置が、以上の記載から、当業者には明らかになるであろう。そのような修正および変更は、添付の特許請求の範囲に属することが意図されている。本開示は、特許請求の範囲が及ぶ均等物の全範囲と共に、添付されている特許請求の範囲の記載によってのみ限定される。本開示は、当然に変動の余地がある特定の方法、試薬、化合物、組成、または生体系には限定されないことを理解すべきである。また、本明細書において用いられている用語は特定の実施形態を説明することのみを目的とし、限定を意図していないことも理解すべきである。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。様々な単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(例えば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(例えば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(例えば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(例えば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(例えば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
さらに、本開示の特徴または態様がマーカッシュ形式の群として記載されている場合には、そのような開示は、マーカッシュ形式の群の任意の個々の構成要素としても、またはマーカッシュ形式の群の複数の構成要素で構成される任意の部分群としても記載される、ということを当業者であれば理解するであろう。
当業者によって理解されるように、書面による説明を提供することに関してなど、任意のおよびすべての目的について、本明細書に開示されているすべての範囲は、任意のおよびすべての可能性のある下位の範囲と下位の範囲の組み合わせとにも及ぶ。リスト化されているいずれの範囲も、同一の範囲が、少なくとも、等しい2分の1、3分の1、4分の1、5分の1、10分の1などに分割されることを十分に説明し可能にするものとして、容易に認識されうる。非限定的な例として、本明細書で論じられているそれぞれの範囲は、下位の3分の1、中間の3分の1、上位の3分の1などに、容易に分割可能である。当業者によって容易に理解されるように、「まで」、「少なくとも」などのすべての言葉は、言及されている数値を含み、上述したように、以後に下位の範囲に分割可能な範囲も意味する。最後に、当業者に理解されるように、範囲は、それぞれの個別の構成要素を含む。したがって、例えば、1個から3個のセルを有するグループとは、1個、2個、または3個のセルを有するグループも意味する。同様に、1個から5個のセルを有するグループとは、1個、2個、3個、4個、または5個のセルを有するグループも意味する、などである。
本明細書では、本開示の様々な実施形態について説明を目的として述べてきたが、本開示の範囲および精神から逸脱せずに様々な修正が可能であることは、以上から理解されるであろう。したがって、本明細書に開示されている様々な実施形態は限定を意図したものではなく、真の範囲および精神は、以下の特許請求の範囲によって示される。

Claims (26)

  1. ユーザデバイスが第1のセルから第2のセルへ移動する確率を計算することと、
    前記計算された確率に少なくとも部分的に基づき、前記第2のセルに対応する第2のキャッシュサーバから前記第1のセルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を計算することと、
    を含む方法。
  2. 地理データに対する要求を前記ユーザデバイスから受け取ることと、
    前記ユーザデバイスに関連する識別子とジオロケーション情報との少なくとも一方を、前記受け取られた要求から抽出することと、
    をさらに含んでおり、移動する前記確率の前記計算が、前記抽出された識別子とジオロケーション情報との前記少なくとも一方に基づく、請求項1に記載の方法。
  3. 前記要求がHTTP(ハイパーテキスト転送プロトコル)要求を含み、前記識別子と前記ジオロケーション情報との少なくとも一方の前記抽出が、前記HTTP要求のヘッダの解析を含む、請求項2に記載の方法。
  4. 前記HTTP要求がHTTP GET要求またはHTTP POST要求を含んでおり、前記識別子が前記HTTP GET要求または前記HTTP POST要求の前記ヘッダにおけるクッキーと識別テキストストリングとの少なくとも一方を含む、請求項3に記載の方法。
  5. 前記ジオロケーション情報がGPS(全地球測位システム)情報を含む、請求項2に記載の方法。
  6. 前記ユーザデバイスが移動する前記確率の前記計算が、前記ユーザデバイスの移動速度に少なくとも部分的に基づく、請求項1に記載の方法。
  7. 前記第1のキャッシュサーバと前記第2のキャッシュサーバとがインメモリキャッシュサーバである、請求項1に記載の方法。
  8. 前記第1のキャッシュサーバと前記第2のキャッシュサーバとが、データベースサーバから、前記第1のセルに関する地理データと前記第2のセルに関する地理データとをそれぞれキャッシュする、請求項1に記載の方法。
  9. コピーするキャッシュされたデータの前記量が、移動の前記計算された確率と共に増加する、請求項1に記載の方法。
  10. コピーするキャッシュされたデータの量の前記計算が、前記第1のセルと前記第2のセルとの間の距離に少なくとも部分的に基づく、請求項1に記載の方法。
  11. 前記第1のセルと前記第2のセルとが相互に実質的に同じサイズである、請求項1に記載の方法。
  12. 前記第1のセルと前記第2のセルとのそれぞれのサイズが、キャッシュサーバの総数と前記キャッシュサーバのメモリ容量との少なくとも一方に依存して変動する、請求項1に記載の方法。
  13. キャッシュされたデータの前記計算された量を前記第2のキャッシュサーバから前記第1のキャッシュサーバにコピーすることをさらに含む、請求項1に記載の方法。
  14. 前記第1のキャッシュサーバは、前記第1のセルに関するデータをキャッシュし、前記第2のキャッシュサーバは、前記第2のセルに関するデータをキャッシュする、請求項1に記載の方法。
  15. ユーザデバイスから受け取られたストリームから、前記ユーザデバイスに関連する識別子とジオロケーション情報との少なくとも一方を抽出するように構成されたデバイス情報抽出器と、
    キャッシュサーバと現実空間セルとの間の関連付けを管理するように構成されたジオロケーションメッシュマネージャであって、前記キャッシュサーバは、それぞれが、当該キャッシュサーバに配分されたセルに関する情報をデータベースサーバからキャッシュする、ジオロケーションメッシュマネージャと、
    前記ユーザデバイスが第1の現実空間セルから第2の現実空間セルに移動する確率を計算するように構成された移動確率計算器と、
    前記計算された移動確率に少なくとも部分的に基づき、前記第2の現実空間セルに対応する第2のキャッシュサーバから前記第1の現実空間セルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を計算するように構成されたコピーファクタ計算器と、
    を備えているロードバランサ。
  16. 前記ストリームが前記ユーザデバイスからのHTTP(ハイパーテキスト転送プロトコル)要求から生じ、
    前記デバイス情報抽出器が、さらに、前記ユーザデバイスに関連する前記識別子と前記ジオロケーション情報との少なくとも一方を抽出するために、前記HTTP要求のヘッダを解析するように構成されている、請求項15に記載のロードバランサ。
  17. 前記ジオロケーション情報がGPS(全地球測位システム)情報を含む、請求項15に記載のロードバランサ。
  18. 前記第1のキャッシュサーバと前記第2のキャッシュサーバとがインメモリキャッシュサーバである、請求項15に記載のロードバランサ。
  19. 前記第1のキャッシュサーバと前記第2のキャッシュサーバとが、前記データベースサーバから、前記第1の現実空間セルに関する地理データと前記第2の現実空間セルに関する地理データとをそれぞれキャッシュする、請求項15に記載のロードバランサ。
  20. 前記移動確率計算器が、さらに、前記ユーザデバイスの移動速度に少なくとも部分的に基づき、前記確率を計算するように構成されている、請求項15に記載のロードバランサ。
  21. 前記コピーファクタ計算器が、さらに、前記第1の現実空間セルと前記第2の現実空間セルとの間の距離に少なくとも部分的に基づき、前記第2のキャッシュサーバから前記第1のキャッシュサーバへのキャッシュコピーの量を計算するように構成されている、請求項15に記載のロードバランサ。
  22. 前記第1の現実空間セルと前記第2の現実空間セルとのサイズが、キャッシュサーバの総数と前記キャッシュサーバのメモリ容量との少なくとも一方に依存して変動する、請求項15に記載のロードバランサ。
  23. 地理データを記憶するデータベースサーバとウェブアプリケーションサーバとの間での負荷平衡を実施するプログラムが記憶されているコンピュータ可読記憶媒体であって、前記プログラムが、
    現実空間セルとキャッシュサーバとの間の関連付けを管理するように構成されているジオロケーションメッシュ管理モジュールであって、前記キャッシュサーバは、それぞれが、前記現実空間セルの内の対応する1つに関連する前記地理データの少なくとも一部を、前記データベースサーバからキャッシュする、ジオロケーションメッシュ管理モジュールと、
    第2の現実空間セルに対応する第2のキャッシュサーバから第1の現実空間セルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を、前記第1の現実空間セルから前記第2の現実空間セルへユーザデバイスが移動する計算された確率と、前記第1の現実空間セルと前記第2の現実空間セルとの間の距離とに少なくとも部分的に基づき、計算するように構成されているコピーファクタ計算モジュールと、
    を含む、コンピュータ可読記憶媒体。
  24. 前記プログラムが、
    前記ユーザデバイスからのHTTP(ハイパーテキスト転送プロトコル)要求を解析し、前記HTTP要求から、前記ユーザデバイスに関連する識別子とジオロケーション情報との少なくとも一方を抽出するように構成されているHTTPヘッダ解析モジュールをさらに含む、請求項23に記載のコンピュータ可読記憶媒体。
  25. 前記第1のキャッシュサーバと前記第2のキャッシュサーバとがインメモリキャッシュサーバである、請求項23に記載のコンピュータ可読記憶媒体。
  26. 地理データを記憶するデータベースサーバとウェブアプリケーションサーバとの間での負荷平衡を実施するプログラムであって、
    現実空間セルとキャッシュサーバとの間の関連付けを管理するように構成されているジオロケーションメッシュ管理機能であって、前記キャッシュサーバは、それぞれが、前記現実空間セルの内の対応する1つに関連する前記地理データの少なくとも一部を、前記データベースサーバからキャッシュする、ジオロケーションメッシュ管理機能と、
    第2の現実空間セルに対応する第2のキャッシュサーバから第1の現実空間セルに対応する第1のキャッシュサーバにコピーするキャッシュされたデータの量を、前記第1の現実空間セルから前記第2の現実空間セルへユーザデバイスが移動する計算された確率と、前記第1の現実空間セルと前記第2の現実空間セルとの間の距離とに少なくとも部分的に基づき、計算するように構成されているコピーファクタ計算機能と、
    コンピュータに実現させるための前記プログラム。
JP2014557616A 2012-02-24 2012-02-24 ジオロケーションに基づく負荷均衡化 Active JP5941167B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/026521 WO2013126072A1 (en) 2012-02-24 2012-02-24 Geolocation-based load balancing

Publications (2)

Publication Number Publication Date
JP2015510643A JP2015510643A (ja) 2015-04-09
JP5941167B2 true JP5941167B2 (ja) 2016-06-29

Family

ID=49003408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014557616A Active JP5941167B2 (ja) 2012-02-24 2012-02-24 ジオロケーションに基づく負荷均衡化

Country Status (5)

Country Link
US (1) US8929896B2 (ja)
JP (1) JP5941167B2 (ja)
KR (1) KR101576193B1 (ja)
CN (2) CN103843384B (ja)
WO (1) WO2013126072A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150039524A (ko) * 2013-10-02 2015-04-10 삼성전자주식회사 클라우드 시스템, 클라우드 시스템 제어 방법, 관리 서버 및 그 제어 방법
CN107547596B (zh) * 2016-06-27 2022-01-25 中兴通讯股份有限公司 一种基于Docker的云平台控制方法及装置
US10432737B2 (en) * 2017-10-12 2019-10-01 Engine Media, Llc Geopartitioned data caching
US10063632B1 (en) 2017-12-22 2018-08-28 Engine Media, Llc Low-latency high-throughput scalable data caching
KR102247213B1 (ko) 2019-11-27 2021-05-04 한국생산기술연구원 이산화탄소 용매를 이용한 디메티콘의 제조방법
KR102650892B1 (ko) 2021-04-12 2024-03-26 한국전자통신연구원 지역적으로 분산된 다중 클라우드 환경에서의 컨테이너 오케스트레이션 장치 및 이를 이용한 방법
KR20240081370A (ko) 2022-11-30 2024-06-07 주식회사 씨에스리 컨테이너 기반 머신 러닝 오퍼레이션 장치 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825759A (en) * 1994-10-26 1998-10-20 Telefonaktiebolaget Lm Ericsson Distributing network services and resources in a mobile communications network
ATE491297T1 (de) * 1999-06-17 2010-12-15 Level 3 Communications Llc System und verfahren zur integrierter lastverteilung und betriebsmittelverwaltung in einer internet-umgebung
US8385977B2 (en) * 2001-05-02 2013-02-26 Trex Enterprises Corp Cellular communication system with high speed content distribution
US7170447B2 (en) * 2003-02-14 2007-01-30 Qualcomm Incorporated Method and apparatus for processing navigation data in position determination
US8005483B2 (en) * 2004-10-27 2011-08-23 Qwest Communications International Inc. Mobile caching and data relay vectoring systems and methods
US7538725B2 (en) * 2005-08-18 2009-05-26 Mitsubishi Electric Corporation GPS positioning method and GPS position device
JP4519779B2 (ja) * 2006-01-25 2010-08-04 株式会社東芝 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法
US7519470B2 (en) 2006-03-15 2009-04-14 Microsoft Corporation Location-based caching for mobile devices
WO2007130695A2 (en) * 2006-05-05 2007-11-15 Globstream, Inc. Method and apparatus for streaming media to a plurality of adaptive client devices
US7809818B2 (en) 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US11187541B2 (en) 2008-05-09 2021-11-30 Blackberry Limited Predictive downloading of map data
US8838724B2 (en) * 2010-07-02 2014-09-16 Futurewei Technologies, Inc. Computation of caching policy based on content and network constraints
US8665743B2 (en) * 2011-10-28 2014-03-04 Cisco Technology, Inc. User behavior model and statistical transition map to assist advanced WLAN applications

Also Published As

Publication number Publication date
JP2015510643A (ja) 2015-04-09
WO2013126072A1 (en) 2013-08-29
CN107622108B (zh) 2021-04-16
KR20140099497A (ko) 2014-08-12
KR101576193B1 (ko) 2015-12-09
CN103843384A (zh) 2014-06-04
US8929896B2 (en) 2015-01-06
US20130225176A1 (en) 2013-08-29
CN103843384B (zh) 2017-10-10
CN107622108A (zh) 2018-01-23

Similar Documents

Publication Publication Date Title
JP5941167B2 (ja) ジオロケーションに基づく負荷均衡化
JP6207558B2 (ja) キャッシュデータの量を計算する方法
TWI570628B (zh) 負載均衡方案
US8887169B2 (en) Task assignment in cloud computing environment
US9286571B2 (en) Machine learning for database migration source
US20120291133A1 (en) Security compliant data storage management
US20140067758A1 (en) Method and apparatus for providing edge-based interoperability for data and computations
TWI709862B (zh) 用於預測性檔案快取及同步之技術
US20110153946A1 (en) Domain based cache coherence protocol
WO2013190405A1 (en) Storage collaboration and access
US9772881B2 (en) Hardware resource allocation for applications
US20170295077A1 (en) Optimal service provider selection
JP5513674B2 (ja) 表示管理
US20130339527A1 (en) Virtual machine migration in a cloud fabric
US20130135997A1 (en) Priority assigning scheme
US10241922B2 (en) Processor and method
US9800657B2 (en) Allocating data to plurality storage devices
US8868800B2 (en) Accelerator buffer access
US20170295086A1 (en) Single tier routing
Ghosh et al. Mobility driven cloud-fog-edge framework for location-aware services: a comprehensive review
CN107894873A (zh) 一种存储虚拟化系统数据处理实现方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150722

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160121

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160224

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160303

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160519

R150 Certificate of patent or registration of utility model

Ref document number: 5941167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250