特許第6788690号(P6788690)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許6788690優先度の制御方法及びデータ処理システム
<>
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000002
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000003
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000004
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000005
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000006
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000007
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000008
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000009
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000010
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000011
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000012
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000013
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000014
  • 特許6788690-優先度の制御方法及びデータ処理システム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6788690
(24)【登録日】2020年11月4日
(45)【発行日】2020年11月25日
(54)【発明の名称】優先度の制御方法及びデータ処理システム
(51)【国際特許分類】
   G06Q 10/10 20120101AFI20201116BHJP
   G06Q 50/10 20120101ALI20201116BHJP
【FI】
   G06Q10/10
   G06Q50/10
【請求項の数】8
【全頁数】20
(21)【出願番号】特願2018-558615(P2018-558615)
(86)(22)【出願日】2016年12月28日
(86)【国際出願番号】JP2016089128
(87)【国際公開番号】WO2018123030
(87)【国際公開日】20180705
【審査請求日】2019年3月7日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】西山 零士
【審査官】 阿部 潤
(56)【参考文献】
【文献】 特開2009−278254(JP,A)
【文献】 特開2009−020551(JP,A)
【文献】 国際公開第2008/050409(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
G16H 10/00 − 80/00
G16Y 10/00 − 40/60
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリを有して、データソースが発行したデータに所定の処理を実行した処理結果を端末に配信する業務を実行するサーバが、前記業務の優先度を制御する優先度の制御方法であって、
前記端末が、前記サーバに前記業務の既定優先度と前記端末の情報とを送信する第1のステップと、
前記サーバが、前記既定優先度を受信し、前記業務と前記既定優先度を対応付けて優先度管理情報に設定する第2のステップと、
前記サーバが、前記データソースが発行するデータと、前記業務とを対応付けて購読者管理情報に設定する第3のステップと、
前記データソースが、前記データの重要度を送信する第4のステップと、
前記サーバが、前記データソースから受信した前記データの重要度を、前記業務と対応付けて前記優先度管理情報に設定する第5のステップと、
前記サーバが、前記データと、前記端末の情報に基づいて興味度を設定する第6のステップと、
前記サーバが、前記興味度を前記業務と対応付けて前記優先度管理情報に設定する第7のステップと、
前記サーバが、前記優先度管理情報を参照して前記業務前記既定優先度と前記重要度と前記興味度から前記業務の最終優先度を算出する第のステップと、
を含むことを特徴とする優先度の制御方法。
【請求項2】
請求項1に記載の優先度の制御方法であって、
前記データソースが、前記データを発行する第のステップと、
前記サーバが、前記発行されたデータを受信して、前記業務の最終優先度に基づいて当該データの配信を制御する第10のステップと、
を含むことを特徴とする優先度の制御方法。
【請求項3】
請求項2に記載の優先度の制御方法であって、
前記第10のステップは、
前記データソースから発行されたデータを受信して、当該データを購読する前記業務の最終優先度に基づいて、当該業務に割り当てる計算機リソースを制御することを特徴とする優先度の制御方法。
【請求項4】
請求項に記載の優先度の制御方法であって、
前記サーバは、
前記データソースから発行されたデータを受信して、端末に前記データを配信する出版購読型メッセージハブと、前記出版購読型メッセージハブから配信されたデータを前記業務で処理した処理結果を前記端末に送信するデータ処理サーバと、を含むことを特徴とする優先度の制御方法。
【請求項5】
プロセッサとメモリを有して、出版側のデータソースが発行したデータに所定の処理を実行した処理結果を端末に配信する業務を実行するサーバが、前記業務の優先度を制御するデータ処理システムであって、
前記端末は、
前記サーバに前記サーバに前記業務の既定優先度と前記端末の情報とを送信し、
前記サーバは、
前記既定優先度を受信し、前記業務と、前記既定優先度とを対応付けて優先度管理情報に設定し、前記データソースから受信した前記データの重要度を、前記業務と対応付けて前記優先度管理情報に設定する優先度管理部と、
前記データソースが発行するデータと、前記業務とを対応付けて購読者管理情報に設定するメッセージハブ部と、を有し、
前記優先度管理部は、
前記データと、前記端末の情報に基づいて興味度を設定し、前記興味度を前記業務と対応付けて前記優先度管理情報に設定し、前記優先度管理情報を参照して前記業務前記既定優先度と前記重要度と前記興味度から前記業務の最終優先度を算出することを特徴とするデータ処理システム。
【請求項6】
請求項に記載のデータ処理システムであって、
前記データソースが、前記データを発行し、
前記サーバは、
前記データソースが発行したデータを受信して、前記業務の最終優先度に基づいて当該データの配信を制御する業務スケジューラ部を有することを特徴とするデータ処理システム。
【請求項7】
請求項に記載のデータ処理システムであって、
前記業務スケジューラ部は、
前記データを購読する前記業務の最終優先度に基づいて、当該業務に割り当てる計算機リソースを制御することを特徴とするデータ処理システム。
【請求項8】
請求項に記載のデータ処理システムであって、
前記サーバは、
前記データソースから発行されたデータを受信して、配信先に前記データを配信する出版購読型メッセージハブと、前記出版購読型メッセージハブから配信されたデータを前記業務で処理した処理結果を前記端末に送信するデータ処理サーバと、を含み、
前記出版購読型メッセージハブは、
前記メッセージハブ部を含み、
前記データ処理サーバは、
前記優先度管理部を含むことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出版購読型システムの改良に関する。
【背景技術】
【0002】
従来から出版購読(Publish-Subscribe)型モデルを採用したメッセージハブ(以下、出版購読型メッセージハブ)では出版者(出版社)がデータを出版(発行)することができ、ある出版者のデータを不特定多数の購読者が受信することが可能になっている(例えば、特許文献1)。
【0003】
近年、ITやIoTの分野では出版購読型のメッセージハブを大規模データ処理システムに適用することで、様々なデータソースを収容し、各データソースから収集したデータを様々な手法で分析処理を行うことが期待されている。これにより、拡張性の高いデータ処理システムの構築が可能になる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2005/261923号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
優先度制御において、データの送信者が優先度を設定する技術が知られている。しかしながら、出版購読型メッセージハブでは、同じデータであっても購読者によってデータに対する重要性が変わる場合があるが、上記従来の技術では購読者側からの的確な優先度の設定を行うことができない、という問題があった。したがって、上記従来技術では、的確でない優先度に基づくスケジューリングにより、本来重要な業務が他の業務の処理によって阻害される場合があった。
【0006】
そこで本発明は、上記問題点に鑑みてなされたもので、購読者側の優先度を反映可能な出版購読型システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願発明は、プロセッサとメモリを有して、データソースが発行したデータに所定の処理を実行した処理結果を端末に配信する業務を実行するサーバが、前記業務の優先度を制御する優先度の制御方法であって、前記端末が、前記サーバに前記業務の既定優先度と前記端末の情報とを送信する第1のステップと、前記サーバが、前記既定優先度を受信し、前記業務と前記既定優先度を対応付けて優先度管理情報に設定する第2のステップと、前記サーバが、前記データソースが発行するデータと、前記業務とを対応付けて購読者管理情報に設定する第3のステップと、前記データソースが、前記データの重要度を送信する第4のステップと、前記サーバが、前記データソースから受信した前記データの重要度を、前記業務と対応付けて前記優先度管理情報に設定する第5のステップと、前記サーバが、前記データと、前記端末の情報に基づいて興味度を設定する第6のステップと、前記サーバが、前記興味度を前記業務と対応付けて前記優先度管理情報に設定する第7のステップと、前記サーバが、前記優先度管理情報を参照して前記業務前記既定優先度と前記重要度と前記興味度から前記業務の最終優先度を算出する第のステップと、を含む。
【発明の効果】
【0008】
本発明によれば、データの出版者が発行するデータの重要度に加えて、購読者側の端末の既定優先度を最終優先度に反映させる。これにより、データの出版者側の優先度と、購読者側の優先度とを加味した最終優先度の値で、データの配信を制御することが可能となる。
【図面の簡単な説明】
【0009】
図1】本発明の第1の実施例を示し、データ処理システムの構成の一例を示すブロック図である。
図2】本発明の第1の実施例を示し、出版購読型メッセージハブサーバの構成の一例を示すブロック図である。
図3】本発明の第1の実施例を示し、データ処理サーバの構成の一例を示すブロック図である。
図4】本発明の第1の実施例を示し、データソースサーバの構成の一例を示すブロック図である。
図5】本発明の第1の実施例を示し、データストアサーバの構成の一例を示すブロック図である。
図6】本発明の第1の実施例を示し、携帯端末の構成の一例を示すブロック図である。
図7】本発明の第1の実施例を示し、購読者管理情報の一例を示す図である。
図8】本発明の第1の実施例を示し、業務優先度管理情報の一例を示す図である。
図9】本発明の第1の実施例を示し、配信先管理情報の一例を示す図である。
図10】本発明の第1の実施例を示し、業務の一例を示すブロック図である。
図11】本発明の第1の実施例を示し、データ処理システムで行われる処理の一例を示すシーケンス図である。
図12】本発明の第1の実施例を示し、データ処理サーバで行われるリソース割り当て処理の一例を示すフローチャートである。
図13】本発明の第2の実施例を示し、データ処理サーバで行われる業務処理の一例を示すフローチャートである。
図14】本発明の第3の実施例を示し、データ処理サーバで行われる業務処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について添付図面を用いて説明する。
【実施例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のリソースを制御することになる。
【実施例2】
【0111】
前記実施例1では、出版購読型メッセージハブ部220は購読者にデータを送信するプッシュ型のデータ配信の一例を示したが、本実施例2では購読者としての業務330から出版購読型メッセージハブ部220にデータの取得要求を行うプル型のデータ配信を適用して例を示す。
【0112】
本実施例2では、データソースサーバ5がデータを発行すると、出版購読型メッセージハブサーバ2は受信したデータを、全ての購読者の購読が完了するまで保持する。
【0113】
図13は、第2の実施例を示し、業務330で行われる処理の一例を示すフローチャートである。この処理は、所定の周期(例えば、1分毎)で実行される。
【0114】
業務330は、出版購読型メッセージハブサーバ2に対してデータの購読要求を送信する(S41)。出版購読型メッセージハブサーバ2は、当該業務330が購読しているデータが発行されていればデータをデータ処理サーバ3の業務330に配信する。
【0115】
データ処理サーバ3の業務330は、購読中のデータを取得したか否かを判定する(S42)。データを取得していればステップS43へ進み、そうでない場合には処理を終了する。
【0116】
ステップS43では、取得したデータに所定の処理を実行し、処理の結果を配信先の携帯端末8及びデータストアサーバ4へ送信する。ステップS44では、業務330が携帯端末8から位置情報を取得して、図11のステップS21と同様にして興味度324を更新するか否かを判定する。
【0117】
次に、ステップS45では、業務330が更新の有無を判定し、更新する場合にはステップS46へ進み、そうでない場合には処理を終了する。ステップS46では、業務330が興味度324の更新要求を業務優先度管理部360へ送信して処理を終了する。
【0118】
以上のように、出版購読型メッセージハブサーバ2がプル型の場合でも、前記実施例1と同様に、データ処理サーバ3はデータソースサーバ5が発行した話題(データ)を処理して携帯端末8に配信することができるのである。
【実施例3】
【0119】
実施例1または実施例2では出版部510側から購読者である業務330の重要度を更新する場合、重要度代理要求部210を介して行っていたが、本実施例3では重要度代理要求部210の代わりに送信するデータに重要度を付与することで重要度323の更新を行う例を示す。
【0120】
本実施例3では、前記実施例1の出版購読型メッセージハブサーバ2の重要度代理要求部210を使用しない。また、データソースサーバ5の出版部510は、データを発行する際に、重要度の更新が必要であれば、データに重要度を付加して配信する。
【0121】
図14は、第3の実施例を示し、業務330で行われる処理の一例を示すフローチャートである。この処理は、所定の周期(例えば、1分毎)で実行される。
【0122】
業務330は、出版購読型メッセージハブサーバ2からデータを受信する(S51)。業務330は、前記実施例1と同様にして、受信したデータに所定の処理を実行して、処理の結果を配信先の携帯端末8及びデータストアサーバ4へ送信する(S52)。
【0123】
次に、業務330は、受信したデータに重要度が付加されているか否かを判定する。データに重要度が付加されている場合にはステップS54へ進み、付加されていなければステップS55へ進む。
【0124】
ステップS54では、業務330は、データに付加されている重要度の値を取得して、業務優先度管理部360へ重要度323を指定された値で更新するように指令する。
【0125】
ステップS55では、業務330が携帯端末8から位置情報を取得して、図11のステップS21と同様にして興味度324を更新するか否かを判定する。更新する場合にはステップS56へ進み、そうでない場合には処理を終了する。ステップS56では、業務330が興味度324の更新要求を業務優先度管理部360へ送信して処理を終了する。
【0126】
以上のように、データソースサーバ5が重要度を更新する際に、データに重要度を付加する場合は、実施例1に示した出版購読型メッセージハブサーバ2の重要度代理要求部210を使用せずに、データ処理サーバ3の業務330でデータに付加された重要度を受信して業務優先度管理情報320を更新させることができる。
【0127】
本実施例3では、重要度代理要求部210を使用しないので、出版購読型メッセージハブサーバ2として前記従来例と同様の装置を利用することが可能となる。
【0128】
<まとめ>
なお、前記実施例1では、業務330が処理するデータの一例として、データソースサーバ5から降雨量のデータを購読する例を示したが、これに限定されるものではなく、物量や価格あるいは文字列などのデータを含むことができる。
【0129】
また、前記実施例1では、データソースサーバ5がデータを発行する例を示したが、これに限定されるものではなく、データを発行する主体は生産装置や輸送機械などがデータを発行してもよい。
【0130】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【0131】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0132】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14