【実施例1】
【0011】
図1は、本発明の実施例1のデータ処理システムの構成の一例を示すブロック図である。
図1は、複数のデータソースサーバ5−1〜5−3と出版購読型メッセージハブサーバ2を含むデータセンタ1が公衆網6を介して接続され、データセンタ1と複数の携帯端末8−1〜8−2が公衆網7を介して接続される。
【0012】
データセンタ1は、公衆網6を介してデータソースサーバ5−1〜5−3と通信を行う出版購読型メッセージハブサーバ2と、公衆網7を介して複数の携帯端末8−1〜8−2がとデータ処理サーバ3と、データ処理サーバ3から受信したデータを格納するデータストアサーバ4と、これらの出版購読型メッセージハブサーバ2とデータ処理サーバ3とデータストアサーバ4を接続する閉域網9を含む。
【0013】
なお、以下の説明では、データソースサーバ5−1〜5−3の全体を指すときには「−」以降を省略した符号「5」で示す。他の構成要素の符号についても同様である。
【0014】
データソースサーバ5は、出版購読型メッセージハブサーバ2にデータを送信可能で、出版購読型メッセージハブサーバ2は、データソースサーバ5からのデータを受信すると受信したデータをデータ処理サーバ3に配信する。
【0015】
本実施例のデータは、電子書籍などの出版物に限定されるものではなく、センサから収集したデータや、他の装置から受信したデータを含み、データソースサーバ5−1〜5−3の各出版部510−1〜510−3が発行(出版)したデータである。
【0016】
データ処理サーバ3は、出版購読型メッセージハブサーバ2からデータを受信すると受信したデータの形式変換や数値演算や論理演算等の所定の処理を実施し、処理した結果をデータストアサーバ4と購読者が利用する携帯端末8−1〜8−2に送信する。
【0017】
データ処理サーバ3が行う所定の処理は、上述のように、データソースサーバ5が発行するデータはセンサの情報などのバイナリの情報を含むため、バイナリ等の情報を購読者が識別可能な情報に変換または加工するものである。
【0018】
データストアサーバ4は、データ処理サーバ3から受信したデータを格納する。携帯端末8−1〜8−2は、データ処理サーバ3からデータを受信すると画面表示等の処理を行う。また、前記携帯端末8−1〜8−2は、センサなどから収集したデータをデータ処理サーバ3へ送信することが可能である。
【0019】
なお、本実施例1では、ひとつのデータセンタ1にひとつの出版購読型メッセージハブサーバ2とデータ処理サーバ3を含む例を示したが、出版購読型メッセージハブサーバ2とデータ処理サーバ3が複数配置されていてもよい。また、データセンタ1は複数存在しても良い。
【0020】
<出版購読型メッセージハブ>
図2は、出版購読型メッセージハブサーバ2の構成の一例を示すブロック図である。出版購読型メッセージハブサーバ2は、プログラムを実行するプロセッサ21と、プログラムやデータを格納する不揮発性の記憶部25と、他の装置と通信を行う通信部24と、管理者からの入力や画面表示などを行う入出力部23と、データやプログラムを一時的に保持するメモリ22と、を含む。
【0021】
メモリ22には、OS200と、重要度代理要求部210と、出版購読型メッセージハブ部220がロードされてプロセッサ21によって実行される。重要度代理要求部210と、出版購読型メッセージハブ部220はOS200上で稼働する。
【0022】
プロセッサ21は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ21は、重要度代理要求プログラムに従って処理することで重要度代理要求部210として機能する。他のプログラムについても同様である。さらに、プロセッサ21は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0023】
重要度代理要求部210と、出版購読型メッセージハブ部220の各機能を実現するプログラムや、テーブル等の情報は、記憶部25や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0024】
出版購読型メッセージハブ部220は、購読者管理情報230と、話題設定変更部240と、購読者特定部260と、購読者設定変更部250と、データ配信部270と、を含む。
【0025】
図7は、購読者管理情報230の一例を示す図である。購読者管理情報230は、データソースサーバ5が発行するデータの識別子を格納する話題231と、話題を購読する携帯端末8へデータ(処理結果)を送信する業務の識別子を格納する購読者232と、をエントリに含む。
【0026】
購読者管理情報230は、出版購読型メッセージハブサーバ2の管理者などによって予め設定された情報である。購読者管理情報230を参照することで、出版購読型メッセージハブ部220は、データソースサーバ5が発行したデータを、データ処理サーバ3のいずれの業務(携帯端末8のユーザアプリ810の業務)で処理させるかを決定することができる。なお、本実施例1では、購読者232として携帯端末8のユーザアプリ810に情報を提供する業務330(
図3参照)の識別子を格納しているが、後述するように、業務と配信先の携帯端末8の関係はデータ処理サーバ3が保持している。
【0027】
重要度代理要求部210は、データソースサーバ5の出版部510から話題(データ)に関する重要度の更新要求を受け付けると、出版購読型メッセージハブ部220に対して当該話題231毎の購読者232を問合せし、問合せして得られた全ての購読者232の重要度の設定を更新するためにデータ処理サーバ3の業務スケジューラ部310に対して購読者232の重要度の更新要求を送信する。
【0028】
次に、出版購読型メッセージハブ部220の話題設定変更部240は、データソースサーバ5の出版部510から、出版購読型メッセージハブサーバ2に話題の追加や削除などの更新要求を受け付けると、
図7に示した購読者管理情報230の設定を更新する。
【0029】
購読者設定変更部250は、データ処理サーバ3の業務から話題231の購読要求または購読解除の要求を受け付けると、購読者232の情報を更新する。
【0030】
購読者特定部260は、重要度代理要求部210またはデータ配信部270から話題231に対する購読者232の問合せ要求を受信すると、購読者管理情報230を参照して問合せ要求で指定された話題231の購読者232を特定し、該当する購読者232を応答する。購読者特定部260は、例えば、「話題1」の購読者の問合せ要求を受け付けると、
図7の購読者管理情報230から購読者232を特定して「業務1」と「業務4」を応答する。
【0031】
データ配信部270は、データソースサーバ5の出版部510から購読者管理情報230に設定された話題231に対して送信されたデータをメモリ22または記憶部25に一時的に蓄積し、購読者特定部260に当該話題231の購読者232を問合せ、一時的に蓄積されたデータを該当購読者232へ配信する。
【0032】
以上のように、出版購読型メッセージハブサーバ2は、重要度代理要求部210が、データソースサーバ5からの重要度の更新要求をデータ処理サーバ3へ送信して、データ処理サーバ3に重要度の更新を実行させる。また、出版購読型メッセージハブ部220は、購読者管理情報230の管理とデータソースサーバ5から受信したデータの配信を実施する。
【0033】
<データ処理サーバ>
図3は、データ処理サーバ3の構成の一例を示すブロック図である。データ処理サーバ3は、プログラムを実行するプロセッサ31と、プログラムやデータを格納する不揮発性の記憶部35と、他の装置と通信を行う通信部34と、管理者からの入力や画面表示などを行う入出力部33と、データやプログラムを一時的に保持するメモリ32と、を含む。
【0034】
メモリ32には、OS300と、業務スケジューラ部310と、業務優先度管理部360と、業務330−1〜330−nと、配信先管理情報340と、計算機リソースモニタ部370がロードされてプロセッサ31によって実行される。業務スケジューラ部310と、業務優先度管理部360と、業務330−1〜330−nと、計算機リソースモニタ部370はOS300上で稼働する。
【0035】
プロセッサ31は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ31は、業務優先度管理プログラムに従って処理することで業務優先度管理部360として機能する。他のプログラムについても同様である。さらに、プロセッサ31は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0036】
業務スケジューラ部310と、業務優先度管理部360と、業務330−1〜330−nと、計算機リソースモニタ部370の各機能を実現するプログラムや、テーブル等の情報は、記憶部35や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0037】
業務スケジューラ部310は、業務優先度管理情報320と、業務スケジューリング部350と、を含む。
【0038】
業務330−1〜330−nは、出版購読型のメッセージ配信により出版購読型メッセージハブサーバ2から受信した話題(データ)を購読し、話題毎に様々な業務(分析業務)が割り当てられ、所定の処理を実行して携帯端末8のユーザアプリ810に配信する。なお、業務330と配信先の携帯端末8の関係は、配信先管理情報340で管理される。
【0039】
業務330は、携帯端末8のユーザアプリ810に情報を提供する処理を含み、ユーザアプリ810または携帯端末8が指定した話題(データ)を業務330で購読して、当該データに指定された処理を行った処理結果を携帯端末8に配信する。
【0040】
業務330は、データ処理サーバ3上では、出版購読型メッセージハブサーバ2の購読者の代理として機能し、業務330の処理結果は実質的な購読者である携帯端末8のユーザアプリ810で利用される。
【0041】
配信先管理情報340は、
図9で示すように、業務330の識別子を格納する業務341と、配信先の宛先を格納する配信先342とを一つのエントリに含む。配信先管理情報340は、業務330が起動するときに、予め設定された配信先を配信先管理情報340に登録する。なお、図示の例では、ひとつの業務341に、ひとつの配信先を割り当てた例を示すが、これに限定されるものではなく、ひとつの業務341に、複数の配信先を割り当てることができる。
【0042】
各業務330は、出版購読型メッセージハブサーバ2に設定された話題231を購読して、出版購読型メッセージハブサーバ2から配信されたデータに対して所定の処理を実施する購読者として機能する。
【0043】
購読者である業務330は、例えば、イベントドリブンで所定の処理を開始する。業務330は、出版購読型メッセージハブサーバ2からデータを受信すると、所定の自身の処理を実施し、処理の結果に応じて当該話題に対する興味度を判定して、興味度に変更があれば興味度の更新要求を業務スケジューラ部310に通知する。なお、興味度は、業務330が設定する購読対象の話題231に対する現在の優先度を示す。
【0044】
業務スケジューラ部310は、業務優先度管理情報320に基づいて業務330に優先度を設定し、重要な業務330の実行を他の業務から保護する。業務優先度管理部360は、データソースサーバ5からの要求と、業務330からの要求に応じて業務優先度管理情報320を管理する。
【0045】
計算機リソースモニタ部370は、OS300からデータ処理サーバ3の計算機リソースの使用状態を取得して監視する。計算機リソースモニタ部370は、計算機リソースが不足していると判定した場合、業務スケジューラ部310の業務スケジューリング部350に対して後述する優先度スケジューリングを実施するよう指令する。なお、計算機リソースが不足していない場合、計算機リソースモニタ部370は、業務スケジューリング部350に対して後述する通常スケジューリングを実施するよう指令する。
【0046】
なお、計算機リソースの監視の手法やリソース不足の判定に手法については、公知または周知の技術を用いることができる。例えば、監視対象の計算機リソースおよび指標はプロセッサ31の負荷や、メモリ32の使用率や、プロセスのプロセッサ占有率などがあり、計算機リソース不足の判定手法としては、それぞれの指標に対し予め設定した閾値と稼動状態との比較を用いることができる。
【0047】
図8は、業務優先度管理情報320の一例を示す図である。業務優先度管理情報320は、データ処理サーバ3の業務330の識別子を格納する業務321と、携帯端末8を利用する購読者側の優先度を格納する既定優先度322と、データソースサーバ5側が設定する優先度を格納する重要度323と、携帯端末8を利用する購読者側の現在の優先度を格納する興味度324と、各優先度の総計を格納する最終優先度325と、をひとつのエントリに含む。
【0048】
既定優先度322は、可変要素である重要度323と興味度324とを加味して業務330の最終優先度325を決定する際の基準値である。また、既定優先度322は、データ処理サーバ3で予め設定される購読者側の優先度の初期値である。
【0049】
重要度323は、データソースサーバ5によって設定される優先度であって、配信内容に関する環境変化等に基づいて変更される。なお、重要度323は、購読者側(業務330または携帯端末8)で話題を利用または処理する際の優先度を示す。
【0050】
興味度324は、業務330が動的に当該業務330の最終優先度325の変更を可能にすることを目的とした可変値である。例えば、業務330は、携帯端末8の状態を受信して、話題231に対する興味度を携帯端末8の状態に応じて変更することができる。例えば、話題231と携帯端末8の位置情報に相関関係がある場合、業務330は、携帯端末8の位置情報が所定の条件を満たせば興味度を増大させ、そうでない場合には興味度を低減させることで、最終優先度325を制御することができる。
【0051】
このように、業務優先度管理情報320は、出版側のデータソースサーバ5から設定される重要度323と、購読側の携帯端末8(または業務330)から予め設定される既定優先度322と、に基づく最終優先度325を業務330毎に管理する。これにより、出版側の優先度に対する要求と、購読側の優先度に対する要求に応じて、業務330の実行環境を制御することができる。
【0052】
そして、業務優先度管理情報320には、データを使用する購読者(業務330)が自身の環境変化等から判断して可変設定する興味度324を加えることで、業務330の状態に応じて最終優先度325を動的に更新することが可能となる。
【0053】
業務優先度管理部360は、出版購読型メッセージハブサーバ2の重要度代理要求部210から重要度更新の要求を受け付けると、指定された業務330の重要度323を指定された値に設定して業務優先度管理情報320を更新する。
【0054】
また、業務優先度管理部360は、業務330から興味度更新の要求を受け付けると、当該業務330の興味度324を指定された値に設定して業務優先度管理情報320を更新する。
【0055】
業務優先度管理部360は、業務優先度管理情報320を更新すると最終優先度325の更新を実行する。
【0056】
最終優先度325は、例えば、業務優先度管理部360が、既定優先度322と重要度323と興味度324を加算した値を用いる。なお、最終優先度325の算出については、これに限定されるものではなく、既定優先度322と重要度323と興味度324のそれぞれに重み係数を掛けてから加算する方法など、公知または周知の手法を適宜採用することができる。
【0057】
業務スケジューリング部350は、計算機リソースモニタ部370からの要求に応じて、各業務330に対する計算機リソースの割り当てを制御する。計算機リソースモニタ部370が優先度スケジューリングを要求した場合、業務スケジューリング部350は、業務330毎の最終優先度325を参照して、プロセッサ31の割り付け時間や単位時間当たりのリクエスト受付数などを、より最終優先度325の高い業務330により多くの計算機リソースが割り当てられるようにスケジュールする。
【0058】
一方、計算機リソースモニタ部370が通常スケジューリングを要求した場合、業務スケジューリング部350は、最終優先度325を加味しない計算機リソースの割り当てを行う。業務スケジューリング部350は、例えば、ラウンドロビン等による計算機リソースの割り当てのスケジューリングを行う。なお、最終優先度325に応じた計算機リソースの配分は、公知または周知の手法を用いれば良いので、説明は省略する。
【0059】
なお、上記では、業務スケジューラ部310が、計算機リソースモニタ部370からの指令によってスケジューリングの種類を切り替える例を示したが、業務スケジューラ部310は優先度スケジューリングを常時適用してもよい。
【0060】
また、本実施例1では、業務スケジューリング部350は、各業務330に割り当てる計算機リソースが決定されると、当該割り当てを実行する。
【0061】
図10は、業務330−1の構成の一例を示す図である。本実施例1では、業務330−1が処理の状態に応じて興味度を更新する例を示す。図示の例では、購読するデータと、配信先の携帯端末8の位置情報の関係から業務330−1が興味度を更新する。
【0062】
業務330−1は、携帯端末8の位置情報を格納する位置情報331と、購読しているデータ(降雨量データ)を処理する降雨量データ処理部332と、位置情報331から携帯端末8の位置情報を参照する位置情報参照部333とを含む。
【0063】
降雨量データ処理部332は、出版購読型メッセージハブサーバ2から受信した降雨量データの所定の処理を実行して処理結果を生成する。降雨量データ処理部332は、配信先管理情報340を参照して配信先の携帯端末8−1とデータストアサーバ4に処理結果を送信する。業務330−1は、携帯端末8−1から位置情報を受信すると位置情報331に格納する。
【0064】
業務330−1は、位置情報331を参照し、携帯端末8−1が河川の下流域付近にあると判定した場合、降雨量データは携帯端末8−1にとって重要であると判定する。そして、業務330−1は、興味度に所定値である「1」を加算して業務優先度管理部360へ興味度の更新を要求する。業務優先度管理部360は、興味度の更新要求を受信すると、指定された業務の興味度324を更新して最終優先度325を増大させる。
【0065】
逆に、業務330−1は、携帯端末8−1が河川の下流域付近にないと判定した場合、降雨量データは携帯端末8−1にとって重要ではないと判定する。そして、業務330−1は、興味度から所定値である「1」を減算して業務優先度管理部360へ興味度の更新を要求する。業務優先度管理部360は、興味度の変更要求を受信すると、指定された業務の興味度324を更新し、最終優先度325を低下させる。
【0066】
このように、各業務330は処理の状態に応じて、当該業務330に計算機リソースを割り当てる優先度を、興味度324によって動的に変更することができるのである。
【0067】
以上のように、データ処理サーバ3は、出版購読型メッセージハブサーバ2から配信されたデータを購読者としての業務330で処理して携帯端末8に送信する。業務スケジューリング部350は、計算機リソースが不足する場合には、既定優先度322と重要度323を加味した最終優先度325の値に応じた計算機リソースを各業務330へ割り当てることが可能となる。
【0068】
さらに、業務スケジューリング部350は、購読している話題231の内容や、業務330の処理結果を利用する携帯端末8の状態などに応じて興味度324を変更して、業務330毎の最終優先度325を動的に変更することができる。
【0069】
<データソースサーバ>
図4は、データソースサーバ5−1の構成の一例を示すブロック図である。なお、データソースサーバ5−2及び5−3も、同様の構成であるので重複する説明は省略する。
【0070】
データソースサーバ5は、プログラムを実行するプロセッサ51と、プログラムやデータを格納する不揮発性の記憶部55と、他の装置と通信を行う通信部54と、管理者からの入力や画面表示などを行う入出力部53と、データやプログラムを一時的に保持するメモリ52と、位置や降雨量などの環境情報を検出するセンサ56と、を含む。
【0071】
メモリ52には、OS500と、出版部510−1がロードされてプロセッサ31によって実行される。出版部510−1はOS500上で稼働する。
【0072】
プロセッサ51は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ51は、出版プログラムに従って処理することで出版部510−1として機能する。他のプログラムについても同様である。さらに、プロセッサ51は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0073】
センサ56は、例えば、降雨量センサで構成され、出版部510−1のデータを購読する業務330としては、降雨量を検出して河川の上流域の降雨量を測定して、降雨量を監視する例を示す。
【0074】
河川などの降雨量量監ステムの場合、河川の上流域の降雨量が所定の閾値を超えた場合に重要度が増大したと判定する。そして、出版部510は、話題を購読している購読者の重要度を上げるために出版購読型メッセージハブサーバ2の重要度代理要求部210へ重要度323の設定変更要求を行う。
【0075】
逆に、河川の上流域の降雨量が所定の閾値以下になった場合、出版部510は、重要度が低下したと判定する。そして、出版部510は、話題を購読している購読者の重要度を上げるために出版購読型メッセージハブサーバ2の重要度代理要求部210へ重要度323の設定変更要求を行う。
【0076】
以上のように、データソースサーバ5は、出版部510の判定に応じて動的に重要度323を動的に変更することができる。
【0077】
<データストアサーバ>
図5は、データストアサーバ4の構成の一例を示すブロック図である。データストアサーバ4は、プログラムを実行するプロセッサ41と、プログラムやデータを格納する不揮発性の記憶部45と、他の装置と通信を行う通信部44と、管理者からの入力や画面表示などを行う入出力部43と、データやプログラムを一時的に保持するメモリ42と、を含む。記憶部45は、受信したデータを蓄積する蓄積データ420を有する。メモリ42には、OS400と、クエリ処理部410がロードされてプロセッサ41によって実行される。クエリ処理部410はOS400上で稼働する。
【0078】
データストアサーバ4は、データ処理サーバ3から送信された処理済みのデータを受信して蓄積データ420に格納する。
【0079】
<携帯端末>
図8は、携帯端末8の構成の一例を示すブロック図である。携帯端末8は、プログラムを実行するプロセッサ81と、プログラムやデータを格納する不揮発性の記憶部85と、他の装置と通信を行う通信部84と、管理者からの入力や画面表示などを行う入出力部83と、データやプログラムを一時的に保持するメモリ82と、位置情報を検出するセンサ86を含む。
【0080】
メモリ82には、OS800と、ユーザアプリ810がロードされてプロセッサ81によって実行される。ユーザアプリ810はOS400上で稼働する。携帯端末8のユーザアプリ810は、データ処理サーバ3から送信された処理済みのデータを受信して入出力部83のディスプレイなどに表示する。また、ユーザアプリ810は、携帯端末8の位置情報をデータ処理サーバ3へ送信する。
【0081】
<処理>
図11は、データ処理システムで行われる処理の一例を示すシーケンス図である。まず、携帯端末8のユーザアプリ810が、データソースサーバ5のデータを利用するために、データ処理サーバ3に対して業務開始要求を送信する(S1)。なお、業務開始要求には、購読対象の話題(データ)や業務330の種類や既定優先度322の値を含めることができる。
【0082】
データ処理サーバ3は、業務開始要求に基づいて、業務330を起動して購読する話題を決定し(S2)、当該業務330の優先度の初期値である既定優先度を設定し、業務優先度管理情報320にエントリを追加する(S3)。データ処理サーバ3は、業務優先度管理情報320に業務321と既定優先度322を設定する。
【0083】
業務330が購読する話題や既定優先度322は、上述のように携帯端末8が指定しても良いが、これに限定されるものではなく、携帯端末8が選択した業務330に応じて予め購読する話題と既定優先度322を設定しておいても良い。
【0084】
データ処理サーバ3は、新たに起動した業務330が購読する話題の購読要求を出版購読型メッセージハブサーバ2に通知する(S4)。出版購読型メッセージハブサーバ2は、データ処理サーバ3から購読要求を受信すると、購読者管理情報230に話題231と購読者232を登録する(S5)。
【0085】
そして、出版購読型メッセージハブサーバ2は、話題231の設定完了の通知をデータ処理サーバ3に送信する(S6)。データ処理サーバ3は、出版購読型メッセージハブサーバ2からの設定完了の通知を受け付けると、携帯端末8に業務330の開始を通知する(S7)。
【0086】
業務330の開始以降は、次のステップS8〜ステップS12の処理が繰り返して実行される。
【0087】
まず、データソースサーバ5が話題(データ)を発行する(S8)。出版購読型メッセージハブサーバ2は、データソースサーバ5から話題を受信すると、購読者管理情報230を参照して購読者(配信先)を決定し(S9)、当該データの購読者となる業務330へデータを配信する(S10)。出版購読型メッセージハブサーバ2は、データを配信する際に、購読者の情報をデータ処理サーバ3へ通知することができる。なお、これに限定されるものではなく、出版購読型メッセージハブサーバ2は、購読者管理情報230を更新する度に、購読者管理情報230の内容をデータ処理サーバ3へ通知しても良い。
【0088】
出版購読型メッセージハブサーバ2からデータを受信したデータ処理サーバ3は、出版購読型メッセージハブサーバ2から通知された購読者の情報に基づいて、受信したデータを業務330に配信し、各業務330で所定の処理を実行させる(S11)。各業務330は配信されたデータの処理結果を、配信先管理情報340の配信先342に設定された携帯端末8に送信する(S12)。
【0089】
次に出版側のデータソースサーバ5が重要度の変更を要求する例を、次のステップS13〜ステップS19に示す。
【0090】
まず、データソースサーバ5は、発行するデータの値が所定の閾値を超えたか否かを判定し(S13)、閾値を超えていれば出版購読型メッセージハブサーバ2に対して重要度を増大する更新要求を送信する(S14)。
【0091】
出版購読型メッセージハブサーバ2は、データソースサーバ5から重要度の更新要求を受け付けると、重要度代理要求部210が、データソースサーバ5が発行する話題231を購読する購読者232を特定する。そして、重要度代理要求部210は、特定した購読者232の重要度を増大する更新要求をデータ処理サーバ3に送信する(S15)。
【0092】
データ処理サーバ3は、出版購読型メッセージハブサーバ2から重要度の更新要求と購読者の業務を受け付けると、業務優先度管理部360が、業務優先度管理情報320の指定された業務について重要度323を更新する(S16)。なお、業務優先度管理部360は、重要度を増大する更新要求の場合、所定値である「1」を重要度に加算する。そして、業務優先度管理部360は、当該業務321のエントリで最終優先度325を再計算して更新する(S16)。
【0093】
なお、データソースサーバ5は、データの値が所定の閾値を超えた後に、閾値以下になった場合、重要度を減少させる更新要求を送信し、上記と同様に処理することができる。
【0094】
データ処理サーバ3は、重要度323の更新が完了した後に、更新完了の通知を出版購読型メッセージハブサーバ2へ送信する。出版購読型メッセージハブサーバ2は、受信した更新完了の通知をデータソースサーバ5に送信して重要度の更新処理を終了する(S18、S19)。
【0095】
次に購読者側の業務330が興味度の更新を要求する例を、次のステップS20〜ステップS23に示す。
【0096】
業務330は、携帯端末8から位置情報を受信する(S20)。なお、携帯端末8からの位置情報の受信は、処理結果の配信の際に行うようにしても良い。業務330は、
図10で示したように、受信した位置情報を位置情報331に格納し、位置情報が予め設定された領域(河川の下流域付近)内にあるか否かを判定する(S21)。位置情報が予め設定された領域内であれば、業務330は、業務優先度管理部360に対して、興味度324を増大する更新要求を出力する。
【0097】
業務優先度管理部360は、業務330から興味度324の更新要求を受け付けると、当該業務について興味度324を更新する(S22)。なお、業務優先度管理部360は、興味度324を増大する更新要求の場合、所定値である「1」を興味度324に加算する。そして、業務優先度管理部360は、当該業務321のエントリで最終優先度325を再計算して更新し(S23)、更新処理を終了する。
【0098】
なお、業務330は、位置情報が所定の領域外に移動した場合、興味度324を減少させる更新要求を送信し、上記と同様に処理することができる。
【0099】
なお、上記では業務優先度管理部360が、重要度323を増減する値を設定する例を示したが、これに限定されるものではなく、重要度323の増減を判定するデータソースサーバ5が、重要度323の増分値(または減少値)を決定しても良い。
【0100】
また、上記では業務優先度管理部360が、興味度324を増減する値を設定する例を示したが、これに限定されるものではなく、興味度324の増減を判定する業務330が、興味度324の増分値(または減少値)を決定しても良い。
【0101】
図12は、データ処理サーバ3できるだけ行われる業務330へのリソース割り当て処理の一例を示すシーケンス図である。この処理は、所定の周期(例えば、1分毎)で実行される。
【0102】
計算機リソースモニタ部370は、データ処理サーバ3のOS300から計算機リソースの使用状態を取得する(S31)。計算機リソースの使用状態は、上述のようにプロセッサ31の使用率や、メモリ32の使用率や、通信部34の使用率等の予め設定された値を取得する。
【0103】
計算機リソースモニタ部370は、取得した計算機リソースの使用状態の各値と、予め設定された閾値とを比較し(S32)、閾値を超えている値があれば計算機リソースの不足が発生したと判定する(S33)。計算機リソースモニタ部370は、計算機リソースの不足が発生している場合には、業務スケジューラ部310に計算機リソースの不足を通知してステップS34へ進む。一方、計算機リソースの不足が発生していない場合、計算機リソースモニタ部370は、業務スケジューラ部310に計算機リソースの通常スケジューリングを通知してステップS36へ進む。
【0104】
ステップS34では、計算機リソースの不足を受け付けた業務スケジューラ部310が、業務優先度管理情報320の最終優先度325を参照する。そして、業務スケジューラ部310は、最終優先度325の値の大きさに応じて、業務330毎に割り当てる計算機リソースを決定する優先度スケジューリングを実行する(S35)。
【0105】
ステップS36では、計算機リソースの通常スケジューリングを受け付けた業務スケジューラ部310が、各業務330に計算機リソースの均等割り当てなど、所定の手法で配分する。
【0106】
上記処理によって、業務スケジューラ部310はリソース不足が発生すると、最終優先度325に基づいて業務330に割り当てる計算機リソースをスケジューリングすることで、計算機リソースが不足している場合でも重要な業務330を他の業務330の影響から保護することができる。
【0107】
以上、本実施例1によれば、データの出版者であるデータソースサーバ5が発行するデータの重要度に加えて、購読者側の携帯端末8の既定優先度を最終優先度に反映させることができる。これにより、データ処理サーバ3は、データの出版者側の優先度と、購読者側の優先度とを加味した最終優先度の値で、データの配信を制御することが可能となる。
【0108】
そして、購読者側の業務スケジューラ部310内に予め設定する既定優先度322と、データの出版者が発行する話題(データ)に関して環境変化等から動的に設定する当該話題の重要度323を、最終優先度325に反映させる。これにより、データの出版者側の優先度と、購読者側の優先度とを加味した最終優先度325の値で、各業務330へ計算機リソースの割り当てを行うことが可能となって、データの出版者側および購読者側の双方から臨機応変にリソースの配分を制御することが可能となる。
【0109】
さらに、データを使用する購読者(業務330)が、自身の環境変化等から動的に設定する興味度324を加えて、最終優先度325に反映させることにより、データの出版者側の動的な優先度と、購読者側の動的な優先度の双方を業務330への計算機リソースの割り当てに反映させることができる。
【0110】
なお、上記実施例1では、出版購読型メッセージハブサーバ2とデータ処理サーバ3を異なる計算機で稼働させる例を示したが、同一の計算機(サーバ)で稼働させてもよい。この場合、出版側のデータソースサーバ5から発行されたデータを、購読側の携帯端末8に配信するサーバ(出版購読型メッセージハブサーバ2+データ処理サーバ3)は、出版側からデータの優先度として重要度を受け付けて、購読側の携帯端末8から既定優先度322を受け付けて、重要度と既定優先度から最終優先度を算出し、最終優先度に応じて業務330のリソースを制御することになる。