IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 富士通株式会社の特許一覧

<>
  • 特許-実行制御方法及び実行制御プログラム 図1
  • 特許-実行制御方法及び実行制御プログラム 図2
  • 特許-実行制御方法及び実行制御プログラム 図3
  • 特許-実行制御方法及び実行制御プログラム 図4
  • 特許-実行制御方法及び実行制御プログラム 図5
  • 特許-実行制御方法及び実行制御プログラム 図6
  • 特許-実行制御方法及び実行制御プログラム 図7
  • 特許-実行制御方法及び実行制御プログラム 図8
  • 特許-実行制御方法及び実行制御プログラム 図9
  • 特許-実行制御方法及び実行制御プログラム 図10
  • 特許-実行制御方法及び実行制御プログラム 図11
  • 特許-実行制御方法及び実行制御プログラム 図12
  • 特許-実行制御方法及び実行制御プログラム 図13
  • 特許-実行制御方法及び実行制御プログラム 図14
  • 特許-実行制御方法及び実行制御プログラム 図15
  • 特許-実行制御方法及び実行制御プログラム 図16
  • 特許-実行制御方法及び実行制御プログラム 図17
  • 特許-実行制御方法及び実行制御プログラム 図18
  • 特許-実行制御方法及び実行制御プログラム 図19
  • 特許-実行制御方法及び実行制御プログラム 図20
  • 特許-実行制御方法及び実行制御プログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-23
(45)【発行日】2024-01-31
(54)【発明の名称】実行制御方法及び実行制御プログラム
(51)【国際特許分類】
   G06F 16/907 20190101AFI20240124BHJP
   G06F 17/18 20060101ALI20240124BHJP
   G06F 17/17 20060101ALI20240124BHJP
   G16Y 30/00 20200101ALI20240124BHJP
【FI】
G06F16/907
G06F17/18 Z
G06F17/17
G16Y30/00
【請求項の数】 11
(21)【出願番号】P 2020040068
(22)【出願日】2020-03-09
(65)【公開番号】P2021140665
(43)【公開日】2021-09-16
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】大西 隆史
(72)【発明者】
【氏名】金政 泰彦
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2011-008629(JP,A)
【文献】特開2018-010562(JP,A)
【文献】特開2010-206253(JP,A)
【文献】国際公開第2016/067335(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 17/00-17/18
G16Y 30/00
(57)【特許請求の範囲】
【請求項1】
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
処理をコンピュータに実行させることを特徴とする実行制御方法。
【請求項2】
請求項1において
前記生成する処理では、前記第1期間と前記第1期間よりも前の第2期間とのそれぞれに受信した複数のイベントメッセージのそれぞれの受信時刻と、前記第1期間と前記第2期間とのそれぞれに受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
【請求項3】
請求項2において、
前記第2期間は、前記第1期間の直前の期間である、
ことを特徴とする実行制御方法。
【請求項4】
請求項1において、
前記第1回帰直線を生成する処理では、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
【請求項5】
請求項において、
前記第1回帰直線を生成する処理では、
前記複数の期間ごとに、各期間に受信した複数のイベントメッセージのそれぞれの受信時刻についての第1平均値と、各期間に受信した複数のイベントメッセージのそれぞれの発生時刻についての第2平均値とを算出し、
前記複数の期間のそれぞれに対応する前記第1平均値と、前記複数の期間のそれぞれに対応する前記第2平均値との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
【請求項6】
請求項1において、
前記通知時刻を決定する処理では、
前記第1差分についての分布における所定のパーセントタイル値を前記マージン時間として特定し、
前記第1期間に含まれる最後の時刻に対応する前記第1回帰直線上の値から前記マージン時間を減算した値から対応する時刻を、前記通知時刻として決定する、
ことを特徴とする実行制御方法。
【請求項7】
請求項において、
前記通知時刻を決定する処理では、
前記第1差分についての母平均の所定パーセントの第1信頼区間と、前記第1差分についての母分散の所定パーセントの第2信頼区間とを算出し、
前記第1信頼区間に含まれる所定の平均と、前記第1信頼区間に含まれる所定の分散とに対応する分布における前記所定のパーセントタイル値を前記マージン時間として特定する、
ことを特徴とする実行制御方法。
【請求項8】
請求項において、
前記通知時刻を決定する処理では、前記第1信頼区間における上限値の平均と、前記第1信頼区間における上限値の分散とに対応する正規分布における前記所定のパーセントタイル値を前記マージン時間として特定する、
ことを特徴とする実行制御方法。
【請求項9】
請求項1において、
前記通知時刻は、前記発生時刻が前記通知時刻よりも前であるイベントメッセージの受信が前記コンピュータにおいて完了していることを示す情報である、
ことを特徴とする実行制御方法。
【請求項10】
請求項1において、
前記制御メッセージは、ウォータマーク(watermarkである、
ことを特徴とする実行制御方法。
【請求項11】
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
処理をコンピュータに実行させることを特徴とする実行制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実行制御方法及び実行制御プログラムに関する。
【背景技術】
【0002】
例えば、利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供を行うために必要な業務システムの構築を行う。具体的に、事業者は、例えば、大量かつ高頻度に発生するIoT(Internet of Things)データについてのストリーム処理を低レイテンシにおいて実行する業務システムの構築を行う。このような業務システムでは、例えば、課金や異常検知等を行う処理のように、IoTデータの発生順序に依存した処理が実行される。
【0003】
ここで、上記のようなIoTデータの到着順序は、IoTデータを送信するIoT機器と業務システムとの間におけるネットワークの経路や遅延状況等によって、各IoTデータの発生順序と異なる場合がある。そのため、業務システムでは、例えば、遅延して到着するIoTデータを待ってから各IoTデータの処理を行う場合がある。
【0004】
具体的に、業務システムは、例えば、所定の期間において到着したIoTデータのうち、発生時刻が最も遅いIoTデータ(最も新しいIoTデータ)を特定する。そして、業務システムは、例えば、特定したIoTデータの発生時刻よりも予め定められたマージン時間だけ前の時刻を基準時刻として特定する。その後、業務システムは、到着済のIoTデータのうち、発生時刻が基準時刻よりも前のIoTデータの処理を行う。
【0005】
これにより、業務システムは、ネットワークの遅延等によって到着が遅延するIoTデータが存在する場合であっても、IoTデータの発生順序と処理順序とを合わせることが可能になる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2010-108073号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、上記のマージン時間を長い時間に設定した場合、業務システムでは、IoTデータの発生順序により従いながら処理を行うことが可能になる一方、処理の完了時間が遅延する可能性が高くなる。これに対し、マージン時間を短い時間に設定した場合、業務システムでは、処理の完了時間の遅延を抑制することが可能になる一方、IoTデータの発生順序と処理順序との間に相違が生じる可能性が高くなる。そのため、事業者は、適切なマージン時間を決定することができない場合がある。
【0008】
また、上記のような業務システムでは、ネットワークにおける遅延の発生状況や障害の発生有無等によって、IoTデータの遅延時間が大きく変化する。そのため、上記のようなマージン時間は、ネットワークにおける遅延の発生状況等(IoTデータの到着状況)に応じて随時決定されることが好ましい。
【0009】
そこで、一つの側面では、本発明は、通信状況に応じて決定されたマージン時間に基づく処理を行うことを可能とする実行制御方法及び実行制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
実施の形態の一態様では、第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、処理をコンピュータに実行させる。
【発明の効果】
【0011】
一つの側面によれば、通信状況に応じて決定されたマージン時間に基づく処理を行うことを可能とする。
【図面の簡単な説明】
【0012】
図1図1は、情報処理システム10の構成について説明する図である。
図2図2は、情報処理装置1の機能の概略について説明する図である。
図3図3は、時刻決定部12における処理の概略を説明する図である。
図4図4は、時刻決定部12における処理の概略を説明する図である。
図5図5は、時刻決定部12における処理の概略を説明する図である。
図6図6は、時刻決定部12における処理の概略を説明する図である。
図7図7は、時刻決定部12における処理の概略を説明する図である。
図8図8は、時刻決定部12における処理の概略を説明する図である。
図9図9は、情報処理装置1のハードウエア構成を説明する図である。
図10図10は、情報処理装置1の機能のブロック図である。
図11図11は、第1の実施の形態における実行制御処理の概略を説明するフローチャート図である。
図12図12は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。
図13図13は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。
図14図14は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。
図15図15は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。
図16図16は、第1の実施の形態における実行制御処理の詳細を説明する図である。
図17図17は、第1の実施の形態における実行制御処理の詳細を説明する図である。
図18図18は、差分情報133の具体例を説明する図である。
図19図19は、平均値情報134の具体例を説明する図である。
図20図20は、第1の実施の形態における実行制御処理の詳細を説明する図である。
図21図21は、第1の実施の形態における実行制御処理の詳細を説明する図である。
【発明を実施するための形態】
【0013】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
【0014】
図1に示す情報処理システム10は、情報処理装置1aと、情報処理装置1bと、情報処理装置1cと、メッセージ振分装置2と、IoT機器3aと、IoT機器3bと、IoT機器3cと、IoT機器3dと、IoT機器3eとを有する。以下、情報処理装置1a、1b及び1cを総称して単に情報処理装置1とも呼ぶ。また、IoT機器3a、3b、3c、3d及び3eを総称して単にIoT機器3とも呼ぶ。
【0015】
IoT機器3は、例えば、車両(図示しない)に搭載されたIoT機器であって、各車両の位置、速度及び運転ログ等を含むメッセージ(以下、イベントメッセージとも呼ぶ)を所定時間ごと(例えば、1秒ごと)に生成する。そして、IoT機器3は、生成したイベントメッセージをメッセージ振分装置2に送信する。
【0016】
メッセージ振分装置2は、各IoT機器3から受信したイベントメッセージをメッセージキュー2aに蓄積する。そして、メッセージ振分装置2は、メッセージキュー2aに蓄積したイベントメッセージを各情報処理装置1に振り分けながら送信する。
【0017】
具体的に、メッセージ振分装置2は、例えば、メッセージキュー2aに蓄積した各イベントメッセージに含まれる属性情報(例えば、各イベントメッセージを送信したIoT機器3を搭載した車両の種類や走行中の道路等を示す情報)を参照し、各イベントメッセージの送信先の情報処理装置1(例えば、各イベントメッセージに対応する処理を行う情報処理装置1)を特定する。そして、メッセージ振分装置2は、各イベントメッセージを送信先の情報処理装置1にそれぞれ送信する。
【0018】
また、メッセージ振分装置2は、例えば、各情報処理装置1に送信されるイベントメッセージの数が平準化されるように、各イベントメッセージを送信先の情報処理装置1にそれぞれ送信する。
【0019】
情報処理装置1は、メッセージ振分装置2から送信されたイベントメッセージに対して必要な処理を行う。すなわち、各情報処理装置1は、各イベントメッセージに対する処理を分散して行う。そして、情報処理装置1は、例えば、各イベントメッセージに対して行った処理結果を出力装置(図示しない)に出力する。
【0020】
なお、以下、情報処理システム10が5台のIoT機器3(IoT機器3a、3b、3c、3d及び3e)を有する場合について説明を行うが、情報処理システム10は、これ以外の数のIoT機器3を有するものであってもよい。具体的に、情報処理システム10は、例えば、100万台規模のIoT機器3を有するものであってもよい。また、以下、情報処理システム10が3台の情報処理装置1(情報処理装置1a、1b及び1c)を有する場合について説明を行うが、情報処理システム10は、これ以外の数の情報処理装置1を有するものであってもよい。以下、情報処理装置1の機能の概略について説明を行う。
【0021】
[情報処理装置の機能の概略]
図2は、情報処理装置1の機能の概略について説明する図である。
【0022】
図2に示す例において、情報処理装置1aは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11aと、受信部11aが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12aと、受信部11aが受信した各イベントメッセージに対応する処理を行う処理実行部13aと、処理実行部13aが行った処理の実行結果を出力する結果出力部14aとを有する。また、情報処理装置1aは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11bと、受信部11bが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12bと、受信部11bが受信した各イベントメッセージに対応する処理を行う処理実行部13bと、処理実行部13bが行った処理の実行結果を出力する結果出力部14bとを有する。
【0023】
また、図2に示す例において、情報処理装置1bは、受信部11bが受信した各イベントメッセージに対応する処理を行う処理実行部13cと、処理実行部13cが行った処理の実行結果を出力する結果出力部14cとを有する。また、情報処理装置1bは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11c及び受信部11dと、受信部11c及び受信部11dが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12cと、受信部11c、受信部11d及び後述する受信部11eが受信した各イベントメッセージに対応する処理を行う処理実行部13dと、処理実行部13dが行った処理の実行結果を出力する結果出力部14dとを有する。
【0024】
さらに、図2に示す例において、情報処理装置1cは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11eと、受信部11eが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12dと、受信部11eが受信した各イベントメッセージに対応する処理を行う処理実行部13eと、処理実行部13eが行った処理の実行結果を出力する結果出力部14eとを有する。
【0025】
なお、以下、受信部11a、11b、11c、11d及び11eを総称して受信部11とも呼び、時刻決定部12a、12b、12c及び12dを総称して時刻決定部12とも呼ぶ。また、以下、処理実行部13a、13b、13c、13d及び13eを総称して処理実行部13とも呼び、結果出力部14a、14b、14c、14d及び14eを総称して結果出力部14とも呼ぶ。
【0026】
また、図2の例において、処理実行部13のそれぞれは、複数の処理実行部から構成されているものであってもよい。そして、処理実行部13のそれぞれは、時刻決定部12のそれぞれから送信されたイベントメッセージに対して、複数の処理実行部のうちの1以上の処理実行部による処理を行うものであってよい。具体的に、処理実行部13のそれぞれは、例えば、各イベントメッセージに対して、複数の処理実行部のうち、各イベントメッセージの属性情報に対応する1以上の処理実行部による処理を行うものであってよい。
【0027】
[時刻決定部における処理の概略]
次に、時刻決定部12における処理の概略について説明を行う。図3から図8は、時刻決定部12における処理の概略を説明する図である。なお、以下、マージン時間が10秒間であるものとして説明を行う。
【0028】
例えば、図3に示すように、タイムスタンプが「13(秒)」であるイベントメッセージ(以下、イベントメッセージE11とも呼ぶ)と、タイムスタンプが「18(秒)」であるイベントメッセージ(以下、イベントメッセージE12とも呼ぶ)とが所定時間内(例えば、1秒間)に発生した場合、時刻決定部12aは、イベントメッセージE11とイベントメッセージE12とのうちの最新のイベントメッセージであるイベントメッセージE12を特定する。そして、時刻決定部12aは、この場合、特定したイベントメッセージE12のタイムスタンプである「18(秒)」からマージン時間を減算することによって「8(秒)」を算出する。
【0029】
その後、時刻決定部12aは、図4に示すように、例えば、イベントメッセージE11及びイベントメッセージE12を処理実行部13aに送信した後、「8(秒)」をタイムスタンプとして有する制御メッセージ(watermark)W11を処理実行部13aに送信する。
【0030】
一方、処理実行部13aは、時刻決定部12aからイベントメッセージを受信した場合、受信したイベントメッセージをバッファ(図示しない)に格納する。そして、処理実行部13aは、タイムスタンプが「8(秒)」である制御メッセージW11を時刻決定部12aから受信した場合、時刻決定部12aは、バッファに格納されているイベントメッセージ(処理がまだ行われてないイベントメッセージ)のうち、「8(秒)」より前のタイムスタンプを有するイベントメッセージに対する処理を行う。
【0031】
すなわち、制御メッセージW11のタイムスタンプは、所定時間に発生したイベントメッセージのタイムスタンプからマージン時間を差し引くことによって算出されたタイムスタンプである。そのため、時刻決定部12aから制御メッセージW11を受信した処理実行部13aは、タイムスタンプが「8(秒)」よりも前であるイベントメッセージが今後発生する可能性(時刻決定部12aから送信される可能性)が極めて低いと判断し、バッファに格納されたイベントメッセージのうち、タイムスタンプが「8(秒)」よりも前のイベントメッセージに対する処理を開始する。
【0032】
これにより、情報処理装置1aは、IoT機器3において発生したイベントメッセージを取り溢すことなく処理を行うことが可能になる。
【0033】
続いて、例えば、図5に示すように、タイムスタンプが「31(秒)」であるイベントメッセージ(以下、イベントメッセージE21とも呼ぶ)と、タイムスタンプが「24(秒)」であるイベントメッセージ(以下、イベントメッセージE22とも呼ぶ)と、タイムスタンプが「26(秒)」であるイベントメッセージ(以下、イベントメッセージE23とも呼ぶ)とが次の所定時間に発生した場合、時刻決定部12aは、イベントメッセージE21とイベントメッセージE22とイベントメッセージE23とのうちの最新のイベントメッセージであるイベントメッセージE21を特定する。そして、時刻決定部12aは、この場合、特定したイベントメッセージE21のタイムスタンプである「31(秒)」からマージン時間を減算することによって「21(秒)」を算出する。
【0034】
その後、時刻決定部12aは、図6に示すように、例えば、イベントメッセージE21、イベントメッセージE22及びイベントメッセージE23を処理実行部13aに送信した後、「21(秒)」をタイムスタンプとして有する制御メッセージW21を処理実行部13aに送信する。
【0035】
一方、処理実行部13aは、タイムスタンプが「21(秒)」である制御メッセージW21を時刻決定部12aから受信した場合、時刻決定部12aは、バッファに格納されているイベントメッセージのうち、「21(秒)」より前のタイムスタンプを有するイベントメッセージ(例えば、図3等で説明したイベントメッセージE11及びイベントメッセージE12)に対する処理を行う。
【0036】
すなわち、例えば、タイムスタンプが「8(秒)」である制御メッセージW11を受信した場合、処理実行部13aは、図7に示すように、バッファに格納されているイベントメッセージE01、E02、E03、E11及びE12のうち、タイムスタンプが「8(秒)」よりも前であるイベントメッセージE01、E02及びE03(網掛けの丸に対応するイベントメッセージ)に対する処理を行う。
【0037】
その後、例えば、タイムスタンプが「21(秒)」である制御メッセージW21を受信した場合、処理実行部13aは、図8に示すように、バッファに格納されているイベントメッセージE11、E12、E21、E22及びE23のうち、タイムスタンプが「22(秒)」よりも前であるイベントメッセージE11及びE12(網掛けの丸に対応するイベントメッセージ)に対する処理を行う。
【0038】
これにより、情報処理システム10は、ネットワークの遅延等によって到着が遅延するイベントメッセージが存在する場合であっても、イベントメッセージのIoT機器3における発生順序と処理実行部13における処理順序とを合わせることが可能になる
ここで、上記のマージン時間を長い時間に設定した場合、情報処理システム10では、イベントメッセージの発生順序により従いながら処理を行うことが可能になる一方、処理の完了時間が遅延する可能性が高くなる。これに対し、マージン時間を短い時間に設定した場合、情報処理システム10では、処理の完了時間の遅延を防止することが可能になる一方、イベントメッセージの発生順序と処理順序が異なる可能性が高くなる。そのため、事業者は、適切なマージン時間を決定することができない場合がある。
【0039】
また、情報処理システム10では、ネットワークにおける遅延の発生状況や障害の発生有無等によって、イベントメッセージの遅延時間が大きく変化する。そのため、上記のようなマージン時間は、ネットワークにおける遅延の発生状況等(イベントメッセージの到着状況)に応じて随時決定されることが好ましい。
【0040】
そこで、情報処理装置1は、所定期間(以下、第1期間とも呼ぶ)に受信した複数のイベントメッセージのそれぞれの受信時刻と、複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線(以下、第1回帰直線とも呼ぶ)を生成する。
【0041】
そして、情報処理装置1は、複数のイベントメッセージごとに、各イベントメッセージの発生時刻と、各イベントメッセージの受信時刻に対応する第1回帰直線上における値との差分(以下、第1差分とも呼ぶ)を算出する。
【0042】
その後、情報処理装置1は、算出した第1差分に応じたマージン時間に基づいて、複数のイベントメッセージの通信状況を示す制御メッセージに付加するタイムスタンプ(以下、通知時刻とも呼ぶ)を決定する。
【0043】
すなわち、本実施の形態における情報処理装置1は、第1期間において受信した各イベントメッセージの情報処理装置1における受信時刻とIoT機器3における発生時刻との対応を示す第1回直線を用いることで、第1期間における通信状況(例えば、ネットワークの遅延状況)に応じたマージン時間を決定する。
【0044】
第1差分のバラつきが大きいということは、その時間の通信状態が不安定であって、想定より大きく遅れて到着するメッセージが発生する確率が高いことを意味する。逆に、第1差分のバラつきが小さいということは、その時間の通信状態が比較的安定しており、想定より大きく遅れて到着するメッセージが発生する確率が低いことを意味する。本実施の形態では、このような事情に鑑み、第1差分のバラつきが大きい時の方が、第1差分のバラつきが小さい時よりマージン時間を長くとるように制御することで、通信状態に応じた適切なマージン時間を決定することを可能とするものである。
【0045】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図9は、情報処理装置1のハードウエア構成を説明する図である。
【0046】
情報処理装置1は、図9に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0047】
記憶媒体104は、例えば、IoT機器3から送信されるイベントメッセージの実行を制御する処理(以下、実行制御処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、実行制御処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。以下、情報格納領域130が第1記憶部及び第2記憶部に対応する情報格納領域をそれぞれ含むものとして説明を行う。
【0048】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して実行制御処理を行う。
【0049】
また、通信装置103は、例えば、ネットワークを介してメッセージ振分装置2との通信を行う。
【0050】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図10は、情報処理装置1の機能のブロック図である。
【0051】
情報処理装置1は、図10に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、メッセージ受信部111と、回帰直線生成部112と、情報管理部113と、差分算出部114と、時刻決定部115と、メッセージ生成部116と、メッセージ送信部117と、処理実行部118と、結果出力部119とを含む各種機能を実現する。
【0052】
また、情報処理装置1は、例えば、図10に示すように、イベントメッセージ131と、回帰直線式132と、差分情報133と、平均値情報134とを情報格納領域130に記憶する。
【0053】
なお、メッセージ受信部111は、図2等で説明した受信部11に対応する機能であり、処理実行部118は、図2等で説明した処理実行部13に対応する機能であり、さらに、結果出力部119は、図2等で説明した結果出力部14に対応する機能である。また、回帰直線生成部112、情報管理部113、差分算出部114、時刻決定部115、メッセージ生成部116及びメッセージ送信部117は、図2等で説明した時刻決定部12に対応する機能である。
【0054】
メッセージ受信部111は、メッセージ振分装置2から送信されたイベントメッセージ131を受信して情報格納領域130に記憶(蓄積)する。
【0055】
回帰直線生成部112は、所定期間に受信した複数のイベントメッセージ131のそれぞれの受信時刻と発生時刻との対応関係を示す回帰直線式132を生成する。そして、情報管理部113は、回帰直線生成部112が生成した回帰直線式132を情報格納領域130に記憶する。
【0056】
差分算出部114は、所定期間に受信した複数のイベントメッセージ131ごとに、各イベントメッセージ131の発生時刻と、各イベントメッセージ131の受信時刻に対応する回帰直線式132上における値との差分を示す差分情報133を算出する。そして、情報管理部113は、差分算出部114が生成した差分情報133を情報格納領域130に記憶する。
【0057】
時刻決定部115は、差分算出部114が算出した差分情報133に応じたマージン時間を決定する。そして、時刻決定部115は、決定したマージン時間に基づいて、所定期間に受信した複数のイベントメッセージ131の通信状況を示す制御メッセージに付加する通知時刻(以下、単にタイムスタンプとも呼ぶ)を決定する。
【0058】
メッセージ生成部116は、時刻決定部115が決定した通知時刻をタイムスタンプとして有する制御メッセージを生成する。すなわち、メッセージ生成部116は、時刻決定部115が決定した通知時刻をタイムスタンプとして有するwatermarkを生成する。
【0059】
メッセージ送信部117は、メッセージ受信部111が受信したイベントメッセージ131を、そのイベントメッセージ131に対応する処理実行部118に送信する。具体的に、メッセージ送信部117は、例えば、メッセージ受信部111が受信したイベントメッセージ131に含まれる属性情報を参照し、そのイベントメッセージ131に対応する処理実行部118に送信する。また、メッセージ送信部117は、メッセージ生成部116が生成した制御メッセージを、各処理実行部118に送信する。
【0060】
処理実行部118は、メッセージ送信部117から送信されたイベントメッセージ131に対する各種処理を行う。
【0061】
結果出力部119は、例えば、処理実行部118が各イベントメッセージ131に対して行った処理結果を出力装置(図示しない)に出力する。なお、平均値情報134の具体例については後述する。
【0062】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図11は、第1の実施の形態における実行制御処理の概略を説明するフローチャート図である。
【0063】
情報処理装置1は、図11に示すように、実行制御タイミングになるまで待機する(S11のNO)。実行制御タイミングは、例えば、1秒間隔等の定期的なタイミングであってよい。また、実行制御タイミングは、例えば、メッセージ振分装置2から所定数(例えば、1000件)のイベントメッセージ131を受信するごとに訪れるタイミングであってもよい。
【0064】
そして、実行制御タイミングになった場合(S11のYES)、情報処理装置1は、第1期間に受信した複数のイベントメッセージ131のそれぞれの受信時刻と発生時刻との対応関係を示す第1回帰直線を生成する(S2)。
【0065】
続いて、情報処理装置1は、第1期間に受信した複数のイベントメッセージ131ごとに、各イベントメッセージ131の発生時刻と、各イベントメッセージ131の受信時刻に対応する第1回帰直線上における値との第1差分を算出する(S3)。
【0066】
その後、情報処理装置1は、S3の処理で算出した第1差分に応じたマージン時間に基づいて、第1期間に受信した複数のイベントメッセージ131の通信状況を示す制御メッセージに付加する通知時刻を決定する(S4)。
【0067】
すなわち、本実施の形態における情報処理装置1は、第1期間において受信した各イベントメッセージ131の受信時刻とIoT機器3における発生時刻との対応を示す第1回直線を用いることで、第1期間における通信状況(例えば、ネットワークの遅延状況)に応じたマージン時間を決定する。
【0068】
これにより、情報処理装置1は、通信状況に応じて決定されたマージン時間に基づく処理を行うことが可能になる。
【0069】
具体的に、例えば、イベントメッセージ131の遅延時間が小さい場合、情報処理装置1は、マージン時間を短い時間に設定することが可能になる。そのため、情報処理装置1は、この場合、各イベントメッセージ131に対する処理の完了時間の遅延を抑制することが可能になる。
【0070】
一方、例えば、イベントメッセージ131の遅延時間が大きい場合、情報処理装置1は、マージン時間を長い時間に設定することが可能になる。そのため、情報処理装置1は、この場合、各イベントメッセージ131に対する処理を発生順序に従いながら行うことが可能になる。
【0071】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図12から図15は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。また、図16から図21は、第1の実施の形態における実行制御処理の詳細を説明する図である。
【0072】
[メッセージ受信処理]
初めに、実行制御処理のうち、イベントメッセージ131を受信した際に行われる処理(以下、メッセージ受信処理とも呼ぶ)について説明を行う。図12は、メッセージ受信処理を説明するフローチャート図である。
【0073】
情報処理装置1のメッセージ受信部111は、図12に示すように、メッセージ振分装置2から送信されたイベントメッセージ131を受信するまで待機する(S11のNO)。
【0074】
そして、メッセージ振分装置2から送信されたイベントメッセージ131を受信した場合(S11のYES)、情報処理装置1の差分算出部114は、S11の処理で受信したイベントメッセージの発生時刻と受信時刻とを特定する(S12)。
【0075】
具体的に、差分算出部114は、S11の処理で受信したイベントメッセージ131に含まれるタイムスタンプが示す時刻(S11の処理で受信したイベントメッセージ131がIoT機器3において発生した時刻)を発生時刻として特定する。また、差分算出部114は、S11の処理で受信したイベントメッセージ131をメッセージ受信部111が受信した時刻を受信時刻として特定する。
【0076】
なお、S12の処理で特定される発生時刻及び受信時刻の組合せは、例えば、以下の式(1)のように表現される。
【0077】
【数1】
【0078】
上記の式(1)において、t は、n番目の区間に受信したイベントメッセージ131の発生時刻を示しており、t は、n番目の区間に受信したイベントメッセージ131の受信時刻を示している。
【0079】
続いて、差分算出部114は、情報格納領域130に記憶した回帰直線式132を取得する(S13)。以下、S13の処理で取得した回帰直線式132に対応する回帰直線を第2回帰直線とも呼ぶ。
【0080】
具体的に、差分算出部114は、直前に行われたS26の処理(後述する処理)において算出された回帰直線式132を取得する。
【0081】
なお、S13の処理で取得される回帰直線式132は、例えば、以下の式(2)のように表現される。
【0082】
【数2】
【0083】
上記の式(2)において、tは、イベントメッセージ131の発生時刻を示しており、tは、情報処理装置1におけるマシン時間を示しており、aは、回帰直線式132の傾きを示しており、bは、回帰直線式132のY切片を示している。
【0084】
次に、差分算出部114は、S11の処理で特定した受信時刻に対応する回帰直線(S13の処理で取得した回帰直線式132に対応する第2回帰直線)上の値を算出する(S14)。
【0085】
具体的に、差分算出部114は、以下の式(3)に従うことによって、S11の処理で特定した受信時刻に対応する回帰直線上の値を算出する。
【0086】
【数3】
【0087】
上記の式(3)において、tcalc は、n番目の区間に受信したイベントメッセージ131の受信時刻に対応する回帰直線上の値を示している。
【0088】
すなわち、差分算出部114は、例えば、図16に示すように、回帰直線RL1を用いることによって、S11の処理で受信したイベントメッセージE31の受信時刻t31に対応する発生時刻t31aを特定する。
【0089】
そして、差分算出部114は、S12の処理で特定した発生時刻と、S14の処理で算出した値に対応する発生時刻との差分(以下、第2差分とも呼ぶ)を算出する(S15)。
【0090】
具体的に、差分算出部114は、以下の式(4)に従うことによって、S12の処理で特定した発生時刻と、S14の処理で算出した値に対応する発生時刻との差分を算出する。
【0091】
【数4】
【0092】
上記の式(4)において、dtは、n番目の区間に受信したイベントメッセージ131の発生時刻と、n番目の区間に受信したイベントメッセージ131の受信時刻に対応する回帰直線上の値との差分を示している。
【0093】
すなわち、差分算出部114は、例えば、図17に示すように、S11の処理で受信したイベントメッセージE31の発生時刻t31と、図16に示す例で特定した発生時刻t31aとの差分を算出する。
【0094】
その後、情報処理装置1の情報管理部113は、図13に示すように、S12の処理で特定した発生時刻及び受信時刻と、S14の処理で算出した差分とを含む差分情報133を情報格納領域130に記憶する(S21)。
【0095】
なお、差分情報133に含まれる各情報は、例えば、以下の式(5)のように表現される。
【0096】
【数5】
【0097】
以下、差分情報133の具体例について説明を行う。
【0098】
[差分情報の具体例]
図18は、差分情報133の具体例を説明する図である。具体的に、図18に示す差分情報133は、n番目の区間において受信した各イベントメッセージ131に対応する差分情報133の具体例を説明する図である。
【0099】
図18に示す差分情報133は、差分情報133に含まれる各情報を識別する「項番」と、各イベントメッセージ131の発生時刻を設定する「発生時刻」と、各イベントメッセージ131の受信時刻を設定する「受信時刻」と、各イベントメッセージ131の差分(S15の処理で算出した差分)を設定する「差分」とを項目として有する。
【0100】
具体的に、図18に示す差分情報133において、「項番」が「1」である情報には、「発生時刻」として「11:59:00」が設定され、「受信時刻」として「11:59:05」が設定され、「差分」として「1(秒)」が設定されている。
【0101】
また、図18に示す差分情報133において、「項番」が「2」である情報には、「発生時刻」として「11:59:01」が設定され、「受信時刻」として「11:59:04」が設定され、「差分」として「-1(秒)」が設定されている。
【0102】
また、図18に示す差分情報133において、「項番」が「3」である情報には、「発生時刻」として「11:59:01」が設定され、「受信時刻」として「11:59:09」が設定され、「差分」として「4(秒)」が設定されている。図18に含まれる他の情報についての説明は省略する。
【0103】
図13に戻り、情報処理装置1のメッセージ送信部117は、S11の処理で受信したイベントメッセージ131を、S11の処理で受信したイベントメッセージ131に対応する処理実行部118に送信する(S22)。
【0104】
そして、情報処理装置1の処理実行部118は、S22の処理でメッセージ送信部117が送信したイベントメッセージ131に対する処理を行う(S23)。
【0105】
具体的に、処理実行部118は、後述するように、メッセージ送信部117から制御メッセージを受信したことに応じて、メッセージ送信部117から受信したイベントメッセージ131であって未処理のイベントメッセージ131のうち、受信した制御メッセージよりも前のタイムスタンプを有するイベントメッセージ131に対する処理を行う。
【0106】
その後、情報処理装置1の結果出力部119は、S23の処理において処理実行部118がイベントメッセージ131に対して行った処理の結果を出力する(S24)。
【0107】
具体的に、結果出力部119は、例えば、出力装置(図示しない)に対して処理結果を出力する。
【0108】
なお、イベントメッセージ131の送信先が異なる情報処理装置1において動作する処理実行部118であった場合、S23及びS24の処理は、図2で説明したように、S11からS22の処理を行った情報処理装置1と異なる情報処理装置1において行われるものであってもよい。
【0109】
[時刻決定処理]
次に、実行制御処理のうち、通知時刻の決定を行う処理(以下、時刻決定処理とも呼ぶ)について説明を行う。
【0110】
情報処理装置1の情報管理部113は、図14に示すように、時刻決定タイミングになるまで待機する(S31のNO)。
【0111】
そして、時刻決定タイミングになった場合(S31のYES)、情報管理部113は、情報格納領域130に記憶された差分情報133のうち、直近の区間において受信した複数のイベントメッセージ131に対応する差分情報133を取得する(S32)。
【0112】
具体的に、情報管理部113は、前回の時間決定タイミングの後に受信した複数のイベントメッセージ131に対応する差分情報133を取得する。
【0113】
なお、情報格納領域130に記憶される差分情報133が直近の区間に対応する差分情報133のみである場合、情報管理部113は、情報格納領域130に記憶されている全ての差分情報133を取得する。
【0114】
続いて、情報管理部113は、S32の処理で取得した差分情報133に含まれる発生時刻の平均値と、S32の処理で取得した差分情報133に含まれる受信時刻の平均値とをそれぞれ算出する(S33)。
【0115】
具体的に、例えば、直近の区間において受信した複数のイベントメッセージ131に対応する差分情報133が図18で説明した差分情報133である場合、情報管理部113は、図18で説明した差分情報133の「発生時刻」に設定された時刻の平均値と「受信時刻」に設定された時刻の平均値とをそれぞれ算出する。
【0116】
その後、情報管理部113は、S33の処理で算出した発生時刻の平均値と、S33の処理で算出した受信時刻の平均値とを含む平均値情報134を情報格納領域130に記憶する(S34)。
【0117】
すなわち、情報管理部113は、時刻決定タイミングに到達するごとに生成される平均値情報134を情報格納領域130に蓄積する。以下、平均値情報134の具体例について説明を行う。
【0118】
[平均値情報の具体例]
図19は、平均値情報134の具体例を説明する図である。具体的に、図19に示す平均値情報134は、情報格納領域130に記憶された平均値情報134(複数の区間のそれぞれに対応する平均値情報134)の具体例を説明する図である。
【0119】
図19に示す平均値情報134は、平均値情報134に含まれる各情報を識別する「項番」と、各区間に発生した各イベントメッセージ131の発生時刻の平均値を設定する「発生時刻」と、各区間に発生した各イベントメッセージ131の受信時刻の平均値を設定する「受信時刻」とを項目として有する。
【0120】
具体的に、図19に示す平均値情報134において、「項番」が「1」である情報には、「発生時刻」として「11:50:34」が設定され、「受信時刻」として「11:50:35」が設定されている。
【0121】
また、図19に示す平均値情報134において、「項番」が「2」である情報には、「発生時刻」として「11:51:28」が設定され、「受信時刻」として「11:51:31」が設定されている。
【0122】
さらに、図18に示す差分情報133において、「項番」が「3」である情報には、「発生時刻」として「11:52:34」が設定され、「受信時刻」として「11:52:32」が設定されている。図19に含まれる他の情報についての説明は省略する。
【0123】
図14に戻り、情報処理装置1の回帰直線生成部112は、情報格納領域130に記憶された平均値情報134を参照し、直近のN区間に対応する発生時刻の平均値と受信時刻の平均値とを取得する(S35)。なお、Nは2以上の整数である。
【0124】
そして、回帰直線生成部112は、S35の処理で取得した発生時刻の平均値と受信時刻の平均値とを用いて回帰直線を算出する(S36)。
【0125】
具体的に、回帰直線生成部112は、図20に示すように、最小二乗法を用いることによって、例えば、S35の処理で取得した平均値A01からA07に対応する回帰直線RL2を生成する。
【0126】
その後、情報管理部113は、図15に示すように、S36の処理で生成した回帰直線に対応する回帰直線式132を情報格納領域130に格納する(S41)。
【0127】
続いて、情報処理装置1の時刻決定部115は、S32の処理で取得した差分情報133に含まれる差分の平均及び分散を算出する(S42)。
【0128】
そして、時刻決定部115は、S42の処理で算出した平均及び分散から算出した所定のパーセントタイル値をマージン時間として決定する(S43)。
【0129】
具体的に、例えば、図21に示すように、所定のパーセントタイル値が99パーセントタイル値である場合、時刻決定部115は、以下の式(6)に従うことによって、99パーセントタイル値を算出する。
【0130】
【数6】
【0131】
さらに、時刻決定部115は、直近の区間に含まれる最後の時刻に対応する回帰直線(情報格納領域130に記憶された回帰直線式132に対応する回帰直線)上の値から、S43の処理で算出した所定のパーセントタイル値を減算した値に対応する通知時刻を決定する(S44)。
【0132】
具体的に、時刻決定部115は、以下の式(7)に従うことによって、通知時刻(watermarkのタイムスタンプ)を決定する。
【0133】
【数7】
【0134】
上記の式(7)において、Tは、直近の区間に含まれる最後の時刻を示す。
【0135】
その後、情報処理装置1のメッセージ生成部116は、S44の処理で決定したタイムスタンプを付加した制御メッセージ(watermark)を生成する(S45)。
【0136】
そして、メッセージ送信部117は、S45の処理で生成した制御メッセージを、後段の処理実行部118のそれぞれ(他の情報処理装置1において動作する処理実行部118を含む)に送信する(S46)。
【0137】
これにより、制御メッセージを受信した処理実行部118は、メッセージ送信部117から受信したイベントメッセージ131であって未処理のイベントメッセージ131のうち、受信した制御メッセージのタイムスタンプよりも前のタイムスタンプを有するイベントメッセージ131に対する処理を行うことが可能になる。
【0138】
そのため、情報処理装置1は、IoT機器3において発生したイベントメッセージ131を取り溢すことなく処理を行うことが可能になる。
【0139】
なお、時刻決定部115は、S42の処理において、例えば、S32の処理で取得した差分情報133に含まれる差分についての母平均の所定パーセントの信頼区間(例えば、母平均の99%信頼区間)と、S32の処理で取得した差分情報133に含まれる差分についての母分散の所定パーセントの信頼区間(例えば、母分散の99%信頼区間)とを算出するものであってもよい。
【0140】
そして、時刻決定部115は、S43の処理において、例えば、S42の処理で算出した母平均の所定パーセントの信頼区間に含まれる所定の平均(例えば、平均の上限値)と、S42の処理で算出した母分散の所定パーセントの信頼区間に含まれる所定の分散(例えば、平均の分散値)とに対応する正規分布における所定のパーセントタイル値をマージン時間として特定するものであってもよい。
【0141】
これにより、時刻決定部115は、例えば、S32の処理で取得した差分情報133に含まれる差分の数(サンプル数)が少ない場合であっても、マージン時間の算出を精度良く行うことが可能になる。
【0142】
このように、本実施の形態における情報処理装置1は、第1期間に受信した複数のイベントメッセージ131のそれぞれの受信時刻と、複数のイベントメッセージ131のそれぞれの発生時刻との対応関係を示す第1回帰直線を生成する。
【0143】
そして、情報処理装置1は、複数のイベントメッセージ131ごとに、各イベントメッセージ131の発生時刻と、各イベントメッセージ131の受信時刻に対応する第1回帰直線上における値との第1差分を算出する。
【0144】
その後、情報処理装置1は、算出した第1差分に応じたマージン時間に基づいて、複数のイベントメッセージ131の通信状況を示す制御メッセージに付加するタイムスタンプ(通知時刻)を決定する。
【0145】
すなわち、本実施の形態における情報処理装置1は、第1期間において受信した各イベントメッセージの情報処理装置1における受信時刻とIoT機器3における発生時刻との対応を示す第1回直線を用いることで、第1期間における通信状況(例えば、ネットワークの遅延状況)に応じたマージン時間を決定する。
【0146】
これにより、情報処理装置1は、通信状況に応じて決定されたマージン時間に基づく処理を行うことが可能になる。
【0147】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0148】
(付記1)
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
処理をコンピュータに実行させることを特徴とする実行制御方法。
【0149】
(付記2)
付記1において、さらに、
前記複数のイベントメッセージに含まれるいずれかのイベントメッセージを受信した場合、第1記憶部を参照し、前記第1期間よりも前の第2期間において受信した複数のイベントメッセージから生成された第2回帰直線を特定し、
前記いずれかのイベントメッセージの前記発生時刻と、前記いずれかのイベントメッセージの前記受信時刻に対応する前記第2回帰直線上の値との第2差分を算出し、
算出した前記第2差分を第2記憶部に記憶する、
処理をコンピュータに実行させ、
前記第1差分を算出する処理では、前記第1期間に受信した複数のイベントメッセージごとに、前記第2記憶部に記憶した前記第2差分を前記第1差分として特定する、
ことを特徴とする実行制御方法。
【0150】
(付記3)
付記2において、さらに、
前記第2期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記第2期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す前記第2回帰直線を生成し、
生成した前記第2回帰直線を前記第1記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする実行制御方法。
【0151】
(付記4)
付記2において、
前記第2期間は、前記第1期間の直前の期間である、
ことを特徴とする実行制御方法。
【0152】
(付記5)
付記1において、
前記第1回帰直線を生成する処理では、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
【0153】
(付記6)
付記5において、
前記第1回帰直線を生成する処理では、
前記複数の期間ごとに、各期間に受信した複数のイベントメッセージのそれぞれの受信時刻についての第1平均値と、各期間に受信した複数のイベントメッセージのそれぞれの発生時刻についての第2平均値とを算出し、
前記複数の期間のそれぞれに対応する前記第1平均値と、前記複数の期間のそれぞれに対応する前記第2平均値との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
【0154】
(付記7)
付記1において、
前記通知時刻を決定する処理では、
前記第1差分についての分布における所定のパーセントタイル値を前記マージン時間として特定し、
前記第1期間に含まれる最後の時刻に対応する前記第1回帰直線上の値から前記マージン時間を減算した値から対応する時刻を、前記通知時刻として決定する、
ことを特徴とする実行制御方法。
【0155】
(付記8)
付記7において、
前記通知時刻を決定する処理では、
前記第1差分についての母平均の所定パーセントの第1信頼区間と、前記第1差分についての母分散の所定パーセントの第2信頼区間とを算出し、
前記第1信頼区間に含まれる所定の平均と、前記第1信頼区間に含まれる所定の分散とに対応する分布における前記所定のパーセントタイル値を前記マージン時間として特定する、
ことを特徴とする実行制御方法。
【0156】
(付記9)
付記8において、
前記通知時刻を決定する処理では、前記第1信頼区間における上限値の平均と、前記第1信頼区間における上限値の分散とに対応する正規分布における前記所定のパーセントタイル値を前記マージン時間として特定する、
ことを特徴とする実行制御方法。
【0157】
(付記10)
付記1において、
前記通知時刻は、前記発生時刻が前記通知時刻よりも前であるイベントメッセージの受信が前記コンピュータにおいて完了していることを示す情報である、
ことを特徴とする実行制御方法。
【0158】
(付記11)
付記1において、
前記制御メッセージは、watermarkである、
ことを特徴とする実行制御方法。
【0159】
(付記12)
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成する回帰直線生成部と、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出する差分算出部と、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する時刻決定部と、を有する、
ことを特徴とする情報処理装置。
【0160】
(付記13)
付記12において、
前記回帰直線生成部は、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする情報処理装置。
【0161】
(付記14)
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
処理をコンピュータに実行させることを特徴とする実行制御プログラム。
【0162】
(付記15)
付記14において、
前記第1回帰直線を生成する処理では、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御プログラム。
【符号の説明】
【0163】
1a:情報処理装置 1b:情報処理装置
1c:情報処理装置 2:メッセージ振分装置
2a:メッセージキュー 3a:IoT機器
3b:IoT機器 3c:IoT機器
3d:IoT機器 3e:IoT機器
10:情報処理システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21