(57)【特許請求の範囲】
【請求項１】
コンピュータが、複数のサーバを、記憶部に記憶されたサービス種別毎の要求比率に基づいて、サービス種別毎のグループに分類し、
前記コンピュータが、端末からジョブ要求を受信し、受信したジョブ要求に対応するサービスのグループを特定し、前記特定したグループに属するサーバをジョブの割当先として決定し、当該割当先のサーバに前記受信したジョブ要求を送信する
ことを特徴とするジョブ割当方法。
【請求項２】
前記コンピュータが、前記複数のサーバを前記複数のグループに分類するとき、記憶部に記憶された前記サービス種別毎の要求比率と、各サーバが提供するサービスの種別と、に基づいて、各サーバをいずれかのグループに分類する
請求項１に記載のジョブ割当方法。
【請求項３】
前記コンピュータが、各端末から受信したサービス要求を記憶部に記憶しておき、当該記憶されたサービス要求について統計値を算出することにより前記サービス種別毎の要求比率を取得する
請求項１又は請求項２に記載のジョブ割当方法。
【請求項４】
複数のサーバを、サービス種別毎の要求比率に基づいて、サービス種別毎のグループに分類する分類手段と、
受信したジョブ要求に対応するサービスのグループを特定し、前記特定したグループに属するサーバに前記ジョブを割り当てる手段と、
を備えることを特徴とするジョブ割当装置。
【請求項５】
前記分類手段は、前記複数のサーバを前記複数のグループに分類するとき、前記サービス種別毎の要求比率と、各サーバが提供するサービスの種別と、に基づいて、各サーバをいずれかのグループに分類する
請求項４に記載のジョブ割当装置。
【請求項６】
各端末から受信したサービス要求を記憶部に記憶しておき、当該記憶されたサービス要求について統計値を算出することにより前記サービス種別毎の要求比率を取得する
請求項４または請求項５に記載のジョブ割当装置。
【請求項７】
コンピュータに、
複数のサーバを、記憶部に記憶されたサービス種別毎の要求比率に基づいて、サービス種別毎のグループに分類する分類処理、
端末からジョブ要求を受信し、受信したジョブ要求に対応するサービスのグループを特定し、前記特定したグループに属するサーバをジョブの割当先として決定し、当該割当先のサーバに前記受信したジョブ要求を送信する処理、
を実行させることを特徴とするプログラム。
【請求項８】
前記分類処理は、前記複数のサーバを前記複数のグループに分類するとき、記憶部に記憶された前記サービス種別毎の要求比率と、各サーバが提供するサービスの種別と、に基づいて、各サーバをいずれかのグループに分類する
請求項７に記載のプログラム。
【請求項９】
各端末から受信したサービス要求を記憶部に記憶しておき、当該記憶されたサービス要求について統計値を算出することにより前記サービス種別毎の要求比率を取得する処理を前記コンピュータにさらに実行させる請求項７又は請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でのデータ通信におけるジョブ割当技術に関する。
【背景技術】
【０００２】
ジョブ割当に関する技術について説明する。サーバで処理すべき仕事をジョブと呼ぶ。サーバとしては、コンピュータ、通信網、店といった何らかのサービスを有限時間で提供してジョブを完了するものをいう。ジョブはサーバにて有限の時間で処理を終えることが出来るが、サーバの能力など特性に応じて処理時間が終わるものとする。このとき、固定のあるいはダイナミックに特性が変動する複数のサーバに対して、複数のジョブが順次生成され、サーバで処理されるモデルを考える。各サーバは、同時にサービスできるジョブ数という特性を持っており、このジョブ数以上のジョブにサービスを求められると、助部数以内のジョブにサービスを提供し、つまりジョブを処理し、それ以上のジョブは待たせる。このモデルは、待ち行列モデルとしてモデル化できる。さらに、各サーバは特性の属性（以下タイプと呼ぶ）を持つジョブしか処理を行わないとする。このようなモデルが、非特許文献１に示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】清水、能上、“量的・質的 VCHS問題のシミュレーション評価”電子情報通信学会  技術報告、情報ネットワーク研究会、IN2010-108、2010年12月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、統計的に生成（以下、到着とよぶ）するジョブを仮定し、到着したジョブ以降のジョブがどのような順序でどの時刻に到着するかは、知ることが出来ず、統計的な性質のみがしれているとする。つまり、ジョブＡが到着したときに、次のジョブがいつ到着するのか、ＢかＣかＤのどれが到着するのかは予め知ることが出来ないが、ジョブの到着がポアソン到着であるといったように、統計的な到着間隔の性質はわかっているとする。ここで、複数のサーバにジョブを割り当て、その全ジョブの平均待ち時間最小を目的とする割当を考える。ジョブの待ち時間最小とは、ジョブの処理時間とサービスの待ち時間の合計のことを意味する。言い換えると、ジョブの待ち時間とは、ジョブが到着してからサービスが終了してサーバから離れるまでの時間である。また、平均待ち時間とは、ジョブ個々に異なる待ち時間を持つジョブの平均値を意味する。従って、当然、全ジョブの平均待ち時間最小を達成するためには、個々のジョブの待ち時間をできるだけ小さくすることが必要になる。複数のサーバがある状況で待ち時間を最小にするには、期待待ち時間が最も短いサーバに到着ジョブを振り分ける方法が考えられる。これは、各サーバの待ち状況を知ることが出来る場合には有効である。
【０００５】
しかし、上記の振り分け方法は、各サーバの状況を知ることが出来ない場合には有効ではない。これは、サーバが非常に多い、あるいは通信回線などが不備である、あるいはサーバがそのような情報提供を拒否するといった理由などで各サーバからの情報を収集することが困難な場合がその一例である。しかしながら、サーバの特性である、前記タイプや処理能力といった情報は予め知ることが出来るものとする。このような前提では、待ち行列の状況を見ながらジョブをサーバに割り当てることが出来ない。このため、何らかの統計的あるいはルールを決めた振り分け方法が必要となる。
【０００６】
例えば、図４に示すような２通りのＡＰ（アクセスポイント）選択を行うとする。ジョブ−１をＡＰ−１に割り当てる割当（Assignment-1）をとってしまうと、ジョブ−２が到着したときに、ジョブ２を空いているＡＰ−２に割り当てることが出来ない。一方、ジョブ−１をＡＰ−２に割り当てるような割当（Assignment-2）であれば、ジョブ−２をＡＰ−１に割り当てることが出来る。この例では、Assignment-2により、平均待ち時間を最小に出来る。
【０００７】
本発明は、上記問題点に鑑みてなされたもので、平均待ち時間を最小にするような、ジョブの最適割り当てを求めることができるジョブ割当方法、装置及びプログラムを提供することを目的とする。
【０００８】
また、本発明は、各サーバの待ち状況を知ることが出来ない場合においても、平均待ち時間を最小にするようなジョブの最適割り当てを求めることができるジョブ割当方法、装置及びプログラムを提供することを他の目的とする。
【課題を解決するための手段】
【０００９】
本発明は、サーバをタイプ別にグループに分類し、ジョブのタイプと合致するタイプの前記グループを特定し、前記特定したグループに属するいずれかサーバに前記ジョブを割り当てることを特徴とするジョブ割当方法である。
【００１０】
本発明は、サーバをタイプ別にグループに分類する分類手段と、ジョブのタイプと合致するタイプの前記グループを特定し、前記特定したグループに属するいずれかサーバに前記ジョブを割り当てる手段と、を備えることを特徴とするジョブ割当装置である。
【００１１】
本発明は、コンピュータに、サーバをタイプ別にグループに分類する分類処理、ジョブのタイプと合致するタイプの前記グループを特定し、前記特定したグループに属するいずれかサーバに前記ジョブを割り当てる処理、を実行させることを特徴とするプログラムである。
【発明の効果】
【００１２】
本発明によれば、平均待ち時間を最小にするような、ジョブの最適割り当てを求めることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明の実施形態に係るジョブ割当装置のブロック図である。
【図２】図２は本発明のＡＰグループ化および割当処理の概要を示す図である。
【図３】図３はＡＰが持つ属性をその属性の数で分類して示す図である。
【図４】図４はＡＰの選択における損得を表す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して説明する。
【００１５】
図１は、本発明の実施形態に係るジョブ割当装置のブロック図である。図示されるように、このジョブ割当装置は、制御部１１と記憶部１２と通信部１３とを備える。
制御部１１は、サーバをタイプ別にグループに分類し、ジョブのタイプと合致するタイプの前記グループを特定し、前記特定したグループに属するいずれかサーバに前記ジョブを割り当てる処理を行う。制御部１１は、例えば、ユーザのモバイル端末からジョブ要求を受信すると、上記の割当処理を行って割当先のサーバを決定し、そのサーバにジョブ要求を送信する。
記憶部１２は、サーバの分類に用いられる各種情報等を記憶する。
通信部１３は、ユーザのモバイル端末、サーバとの通信を制御する。
【００１６】
本発明は、ジョブが到着したときに、ジョブのタイプを判断し、そのタイプに相当するグループのサーバにジョブを割り当てる。この割当においては、サーバをグループに分けることが必要である。このグループ構成について説明する。
【００１７】
ここでは、サーバとして、無線ＬＡＮなどの基地局（ＡＰ：アクセスポイントと呼ぶ）を用いる。考慮しているフィールドに、複数のＡＰが存在する。ジョブとしては、ユーザが保有するモバイル端末がもつ仕事（以下、単にユーザ端末とよぶ）を想定する。サーバが提供する複数のタイプ（サービスと呼ぶ）とユーザ端末が要求する複数のサービスの間で、どれか１つでもマッチングが取れる場合にサービスが可能である。本システムでは、モバイル端末のユーザは、Ｍ個中のＭｕ個のサービスを受ける権利を有し、ＡＰはＭ個中のＭａ個のサービスを提供可能というモデルを考える。これは、例えば、ＡＰ−１は、プロバイダＡ、Ｂ社のユーザを収容でき、ＡＰ−２は、プロバイダＡ社のユーザを収容でき、ユーザ−１は、Ａ社と契約し、ユーザ−２は、Ｂ社と契約しているとする。あるいは、ＡＰ−１は、８０２．１１ｇのサービスのみを提供し、ＡＰ−２は、８０２．１１ａ／ｂを提供する。ユーザ−１は、８０２．１１ｂのみを持ち、ユーザ−２は、８０２．１１ａ／ｂ／ｇのインタフェースを持っているとする、といった状況に相当する。
【００１８】
モバイルユーザは、順次システムに到着し、割り当てられた各ＡＰで所定の情報量を通信してから、次のＡＰ（あるいは目的地）に向かうものとする。以下、図２を用いて、モデルパラメータの説明と共にモデルの構造を説明する。サービスの識別子（ユーザ属性情報１０３）をｉ＝１〜Ｍとする。また、ＡＰｉは、接続数の上限が決まっており、最大Ｓｉ個の端末を収容し、Ｓｉ以上の端末は、待ち行列に並ぶ。ｓｉ（＜＝Ｓｉ個の端末でＡＰｉを使用するときには、端末は、ＡＰの全帯域Ｃｉをｓｉで割った(帯域)を得られるとする。ここでは、簡単のため、次のような仮定をおいて、割り当て方法を説明する。ユーザ端末は、１つのサービスだけ（Ｍｕ＝１）を要求する。ｉのサービスを要求するユーザトラヒックの割合は、全体のＰｉ％であると予めわかっている。ＡＰは、各々異なる、あるいは同じサービス（Ｍａ）を持ち、なおかつ、各ＡＰの持つサービスiの種類についても異なる、あるいは同じである。各ＡＰの通信容量は、全て同一とする。
【００１９】
このような場合において本発明のジョブ割当装置の制御部は、最適な割り当てとして、トラヒック量に応じてＡＰ数に重みを付けたサービス毎のＡＰグループ化を行う。ＡＰのグループ化とは、サービスｉを含むＡＰをＰｉ％まで集めて、iのグループとし、サービスiを要求するユーザを、必ずこのグループiに割り当てる戦略である。つまり、複数のサービスを行うことが出来るＡＰであっても単一のサービスを提供するような排他的な利用を行う方法である。例えば、Ｍ＝５（識別子Ａ，Ｂ，Ｃ，Ｄ，Ｅで表示）とする。ユーザはランダム間隔で到着し、Ａ：Ｂ：Ｃ：Ｄ：Ｅ＝５：４：３：２：１になるような確率でそれぞれのサービスをランダムに要求し、ＡＰにて所定のデータ量をダウンロードして、退去するものとする。各ＡＰの属性は、図３の通りで、全ての属性の組み合わせが１つずつ存在するような、すなわちΣ５Ｃｉ＝３１個のＡＰがあるとする。例えば、２つのサービスを提供する１０個のＡＰはそれぞれ、”Ａ、Ｂ”、”Ａ、Ｃ”、”Ａ、Ｄ”、”Ａ、Ｅ”、”Ｂ、Ｃ”、”Ｂ、Ｄ”、”Ｂ、Ｅ”、”Ｃ、Ｄ”、”Ｃ、Ｅ”、”Ｄ、Ｅ”である。”Ａ、Ｂ”は、サービスＡもサービスＢも提供できる、すなわち、サービスＡを要求するユーザもサービスＢを要求するユーザもサービスできるが、サービスＣやＤやＥを要求するユーザはサービス不可能という意味とする。グループ化は、これらの３１個のＡＰそれぞれ（ＡＰカバー数i別分類１０２）をサービスＡを行うグループ（グループＡとよぶ、以下同様）、グループＢ、．．．、グループＥに分類する（ＡＰグループ化１０４）ことに相当する。ユーザは、要求するサービスｉ（ｉ＝Ａ、・・・，Ｅ）と合致するグループiに割り当てられる（ＡＰ割当１０５）。
【００２０】
ここで、先の例で、ジョブ割当装置によるグループ分けの効果を説明する。図４において、ＡＰ−１をグループＢとし、ＡＰ−２をグループＡとする。これにより、１番目に到着したユーザはモバイル端末よりサービスＡを要求するため、そのジョブは、グループＡである、ＡＰ−２に割当られる。２番目に到着したユーザは、モバイル端末よりサービスＢを要求するため、そのジョブはグループＢであるＡＰ−１に割り当てられる。これにより、ユーザにより要求されたジョブが１つのＡＰに集中せず、分散することで、待ち時間を小さくすることが出来ている。
【００２１】
また、このとき、グループ化を工夫することで、性能を向上させることが可能である。ユーザのサービス要求比率がわかっている場合には、サービス要求比率に応じてサーバのグループ構成を決めることで、より性能を向上することが出来る。
【００２２】
また、要求比率が予めわからないときには、ジョブ割当装置が、各端末から受信したサービス要求を記憶部に記録しておき、平均値などの統計値を算出して前記サービス要求比率として扱うことで、サービス要求比率に応じてサーバのグループ構成を決めることができ、より性能を向上することが出来る。また、このとき、要求比率通り(理想割当と呼ぶ)にグループへの分類を行うと、ＡＰ数が、自然数であるため、割当ＡＰ数が０．１といったような無理な割当が起きる可能性がある。これを回避するため、ジョブ割当装置が、理想割当にできるだけ近く、なおかつ自然数となる割当を行うことで、より性能を向上することが出来る。
【００２３】
上述した本発明の実施形態に係るジョブ割当装置は、本装置のＣＰＵ（Central Processing Unit）が記憶部に格納された動作プログラム等を読み出して実行することにより実現されてもよく、また、ハードウェアで構成されてもよい。上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することもできる。
【００２４】
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【符号の説明】
【００２５】
１１    制御部
１２    記憶部
１３    通信部
【図１】
0005928699.tif 000002
【図２】
0005928699.tif 000003
【図３】
0005928699.tif 000004
【図４】
0005928699.tif 000005