JP7425300B2 - 実行制御方法及び実行制御プログラム - Google Patents

実行制御方法及び実行制御プログラム Download PDF

Info

Publication number
JP7425300B2
JP7425300B2 JP2020040068A JP2020040068A JP7425300B2 JP 7425300 B2 JP7425300 B2 JP 7425300B2 JP 2020040068 A JP2020040068 A JP 2020040068A JP 2020040068 A JP2020040068 A JP 2020040068A JP 7425300 B2 JP7425300 B2 JP 7425300B2
Authority
JP
Japan
Prior art keywords
time
message
event
regression line
period
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
JP2020040068A
Other languages
English (en)
Other versions
JP2021140665A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020040068A priority Critical patent/JP7425300B2/ja
Priority to EP21152275.0A priority patent/EP3879794B1/en
Priority to US17/155,127 priority patent/US11196813B2/en
Publication of JP2021140665A publication Critical patent/JP2021140665A/ja
Application granted granted Critical
Publication of JP7425300B2 publication Critical patent/JP7425300B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、実行制御方法及び実行制御プログラムに関する。
例えば、利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供を行うために必要な業務システムの構築を行う。具体的に、事業者は、例えば、大量かつ高頻度に発生するIoT(Internet of Things)データについてのストリーム処理を低レイテンシにおいて実行する業務システムの構築を行う。このような業務システムでは、例えば、課金や異常検知等を行う処理のように、IoTデータの発生順序に依存した処理が実行される。
ここで、上記のようなIoTデータの到着順序は、IoTデータを送信するIoT機器と業務システムとの間におけるネットワークの経路や遅延状況等によって、各IoTデータの発生順序と異なる場合がある。そのため、業務システムでは、例えば、遅延して到着するIoTデータを待ってから各IoTデータの処理を行う場合がある。
具体的に、業務システムは、例えば、所定の期間において到着したIoTデータのうち、発生時刻が最も遅いIoTデータ(最も新しいIoTデータ)を特定する。そして、業務システムは、例えば、特定したIoTデータの発生時刻よりも予め定められたマージン時間だけ前の時刻を基準時刻として特定する。その後、業務システムは、到着済のIoTデータのうち、発生時刻が基準時刻よりも前のIoTデータの処理を行う。
これにより、業務システムは、ネットワークの遅延等によって到着が遅延するIoTデータが存在する場合であっても、IoTデータの発生順序と処理順序とを合わせることが可能になる(例えば、特許文献1参照)。
特開2010-108073号公報
ここで、上記のマージン時間を長い時間に設定した場合、業務システムでは、IoTデータの発生順序により従いながら処理を行うことが可能になる一方、処理の完了時間が遅延する可能性が高くなる。これに対し、マージン時間を短い時間に設定した場合、業務システムでは、処理の完了時間の遅延を抑制することが可能になる一方、IoTデータの発生順序と処理順序との間に相違が生じる可能性が高くなる。そのため、事業者は、適切なマージン時間を決定することができない場合がある。
また、上記のような業務システムでは、ネットワークにおける遅延の発生状況や障害の発生有無等によって、IoTデータの遅延時間が大きく変化する。そのため、上記のようなマージン時間は、ネットワークにおける遅延の発生状況等(IoTデータの到着状況)に応じて随時決定されることが好ましい。
そこで、一つの側面では、本発明は、通信状況に応じて決定されたマージン時間に基づく処理を行うことを可能とする実行制御方法及び実行制御プログラムを提供することを目的とする。
実施の形態の一態様では、第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、処理をコンピュータに実行させる。
一つの側面によれば、通信状況に応じて決定されたマージン時間に基づく処理を行うことを可能とする。
図1は、情報処理システム10の構成について説明する図である。 図2は、情報処理装置1の機能の概略について説明する図である。 図3は、時刻決定部12における処理の概略を説明する図である。 図4は、時刻決定部12における処理の概略を説明する図である。 図5は、時刻決定部12における処理の概略を説明する図である。 図6は、時刻決定部12における処理の概略を説明する図である。 図7は、時刻決定部12における処理の概略を説明する図である。 図8は、時刻決定部12における処理の概略を説明する図である。 図9は、情報処理装置1のハードウエア構成を説明する図である。 図10は、情報処理装置1の機能のブロック図である。 図11は、第1の実施の形態における実行制御処理の概略を説明するフローチャート図である。 図12は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。 図13は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。 図14は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。 図15は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。 図16は、第1の実施の形態における実行制御処理の詳細を説明する図である。 図17は、第1の実施の形態における実行制御処理の詳細を説明する図である。 図18は、差分情報133の具体例を説明する図である。 図19は、平均値情報134の具体例を説明する図である。 図20は、第1の実施の形態における実行制御処理の詳細を説明する図である。 図21は、第1の実施の形態における実行制御処理の詳細を説明する図である。
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
図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とも呼ぶ。
IoT機器3は、例えば、車両(図示しない)に搭載されたIoT機器であって、各車両の位置、速度及び運転ログ等を含むメッセージ(以下、イベントメッセージとも呼ぶ)を所定時間ごと(例えば、1秒ごと)に生成する。そして、IoT機器3は、生成したイベントメッセージをメッセージ振分装置2に送信する。
メッセージ振分装置2は、各IoT機器3から受信したイベントメッセージをメッセージキュー2aに蓄積する。そして、メッセージ振分装置2は、メッセージキュー2aに蓄積したイベントメッセージを各情報処理装置1に振り分けながら送信する。
具体的に、メッセージ振分装置2は、例えば、メッセージキュー2aに蓄積した各イベントメッセージに含まれる属性情報(例えば、各イベントメッセージを送信したIoT機器3を搭載した車両の種類や走行中の道路等を示す情報)を参照し、各イベントメッセージの送信先の情報処理装置1(例えば、各イベントメッセージに対応する処理を行う情報処理装置1)を特定する。そして、メッセージ振分装置2は、各イベントメッセージを送信先の情報処理装置1にそれぞれ送信する。
また、メッセージ振分装置2は、例えば、各情報処理装置1に送信されるイベントメッセージの数が平準化されるように、各イベントメッセージを送信先の情報処理装置1にそれぞれ送信する。
情報処理装置1は、メッセージ振分装置2から送信されたイベントメッセージに対して必要な処理を行う。すなわち、各情報処理装置1は、各イベントメッセージに対する処理を分散して行う。そして、情報処理装置1は、例えば、各イベントメッセージに対して行った処理結果を出力装置(図示しない)に出力する。
なお、以下、情報処理システム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の機能の概略について説明を行う。
[情報処理装置の機能の概略]
図2は、情報処理装置1の機能の概略について説明する図である。
図2に示す例において、情報処理装置1aは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11aと、受信部11aが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12aと、受信部11aが受信した各イベントメッセージに対応する処理を行う処理実行部13aと、処理実行部13aが行った処理の実行結果を出力する結果出力部14aとを有する。また、情報処理装置1aは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11bと、受信部11bが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12bと、受信部11bが受信した各イベントメッセージに対応する処理を行う処理実行部13bと、処理実行部13bが行った処理の実行結果を出力する結果出力部14bとを有する。
また、図2に示す例において、情報処理装置1bは、受信部11bが受信した各イベントメッセージに対応する処理を行う処理実行部13cと、処理実行部13cが行った処理の実行結果を出力する結果出力部14cとを有する。また、情報処理装置1bは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11c及び受信部11dと、受信部11c及び受信部11dが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12cと、受信部11c、受信部11d及び後述する受信部11eが受信した各イベントメッセージに対応する処理を行う処理実行部13dと、処理実行部13dが行った処理の実行結果を出力する結果出力部14dとを有する。
さらに、図2に示す例において、情報処理装置1cは、メッセージ振分装置2が送信したイベントメッセージを受信する受信部11eと、受信部11eが受信した各イベントメッセージに対応するマージン時間を決定する時刻決定部12dと、受信部11eが受信した各イベントメッセージに対応する処理を行う処理実行部13eと、処理実行部13eが行った処理の実行結果を出力する結果出力部14eとを有する。
なお、以下、受信部11a、11b、11c、11d及び11eを総称して受信部11とも呼び、時刻決定部12a、12b、12c及び12dを総称して時刻決定部12とも呼ぶ。また、以下、処理実行部13a、13b、13c、13d及び13eを総称して処理実行部13とも呼び、結果出力部14a、14b、14c、14d及び14eを総称して結果出力部14とも呼ぶ。
また、図2の例において、処理実行部13のそれぞれは、複数の処理実行部から構成されているものであってもよい。そして、処理実行部13のそれぞれは、時刻決定部12のそれぞれから送信されたイベントメッセージに対して、複数の処理実行部のうちの1以上の処理実行部による処理を行うものであってよい。具体的に、処理実行部13のそれぞれは、例えば、各イベントメッセージに対して、複数の処理実行部のうち、各イベントメッセージの属性情報に対応する1以上の処理実行部による処理を行うものであってよい。
[時刻決定部における処理の概略]
次に、時刻決定部12における処理の概略について説明を行う。図3から図8は、時刻決定部12における処理の概略を説明する図である。なお、以下、マージン時間が10秒間であるものとして説明を行う。
例えば、図3に示すように、タイムスタンプが「13(秒)」であるイベントメッセージ(以下、イベントメッセージE11とも呼ぶ)と、タイムスタンプが「18(秒)」であるイベントメッセージ(以下、イベントメッセージE12とも呼ぶ)とが所定時間内(例えば、1秒間)に発生した場合、時刻決定部12aは、イベントメッセージE11とイベントメッセージE12とのうちの最新のイベントメッセージであるイベントメッセージE12を特定する。そして、時刻決定部12aは、この場合、特定したイベントメッセージE12のタイムスタンプである「18(秒)」からマージン時間を減算することによって「8(秒)」を算出する。
その後、時刻決定部12aは、図4に示すように、例えば、イベントメッセージE11及びイベントメッセージE12を処理実行部13aに送信した後、「8(秒)」をタイムスタンプとして有する制御メッセージ(watermark)W11を処理実行部13aに送信する。
一方、処理実行部13aは、時刻決定部12aからイベントメッセージを受信した場合、受信したイベントメッセージをバッファ(図示しない)に格納する。そして、処理実行部13aは、タイムスタンプが「8(秒)」である制御メッセージW11を時刻決定部12aから受信した場合、時刻決定部12aは、バッファに格納されているイベントメッセージ(処理がまだ行われてないイベントメッセージ)のうち、「8(秒)」より前のタイムスタンプを有するイベントメッセージに対する処理を行う。
すなわち、制御メッセージW11のタイムスタンプは、所定時間に発生したイベントメッセージのタイムスタンプからマージン時間を差し引くことによって算出されたタイムスタンプである。そのため、時刻決定部12aから制御メッセージW11を受信した処理実行部13aは、タイムスタンプが「8(秒)」よりも前であるイベントメッセージが今後発生する可能性(時刻決定部12aから送信される可能性)が極めて低いと判断し、バッファに格納されたイベントメッセージのうち、タイムスタンプが「8(秒)」よりも前のイベントメッセージに対する処理を開始する。
これにより、情報処理装置1aは、IoT機器3において発生したイベントメッセージを取り溢すことなく処理を行うことが可能になる。
続いて、例えば、図5に示すように、タイムスタンプが「31(秒)」であるイベントメッセージ(以下、イベントメッセージE21とも呼ぶ)と、タイムスタンプが「24(秒)」であるイベントメッセージ(以下、イベントメッセージE22とも呼ぶ)と、タイムスタンプが「26(秒)」であるイベントメッセージ(以下、イベントメッセージE23とも呼ぶ)とが次の所定時間に発生した場合、時刻決定部12aは、イベントメッセージE21とイベントメッセージE22とイベントメッセージE23とのうちの最新のイベントメッセージであるイベントメッセージE21を特定する。そして、時刻決定部12aは、この場合、特定したイベントメッセージE21のタイムスタンプである「31(秒)」からマージン時間を減算することによって「21(秒)」を算出する。
その後、時刻決定部12aは、図6に示すように、例えば、イベントメッセージE21、イベントメッセージE22及びイベントメッセージE23を処理実行部13aに送信した後、「21(秒)」をタイムスタンプとして有する制御メッセージW21を処理実行部13aに送信する。
一方、処理実行部13aは、タイムスタンプが「21(秒)」である制御メッセージW21を時刻決定部12aから受信した場合、時刻決定部12aは、バッファに格納されているイベントメッセージのうち、「21(秒)」より前のタイムスタンプを有するイベントメッセージ(例えば、図3等で説明したイベントメッセージE11及びイベントメッセージE12)に対する処理を行う。
すなわち、例えば、タイムスタンプが「8(秒)」である制御メッセージW11を受信した場合、処理実行部13aは、図7に示すように、バッファに格納されているイベントメッセージE01、E02、E03、E11及びE12のうち、タイムスタンプが「8(秒)」よりも前であるイベントメッセージE01、E02及びE03(網掛けの丸に対応するイベントメッセージ)に対する処理を行う。
その後、例えば、タイムスタンプが「21(秒)」である制御メッセージW21を受信した場合、処理実行部13aは、図8に示すように、バッファに格納されているイベントメッセージE11、E12、E21、E22及びE23のうち、タイムスタンプが「22(秒)」よりも前であるイベントメッセージE11及びE12(網掛けの丸に対応するイベントメッセージ)に対する処理を行う。
これにより、情報処理システム10は、ネットワークの遅延等によって到着が遅延するイベントメッセージが存在する場合であっても、イベントメッセージのIoT機器3における発生順序と処理実行部13における処理順序とを合わせることが可能になる
ここで、上記のマージン時間を長い時間に設定した場合、情報処理システム10では、イベントメッセージの発生順序により従いながら処理を行うことが可能になる一方、処理の完了時間が遅延する可能性が高くなる。これに対し、マージン時間を短い時間に設定した場合、情報処理システム10では、処理の完了時間の遅延を防止することが可能になる一方、イベントメッセージの発生順序と処理順序が異なる可能性が高くなる。そのため、事業者は、適切なマージン時間を決定することができない場合がある。
また、情報処理システム10では、ネットワークにおける遅延の発生状況や障害の発生有無等によって、イベントメッセージの遅延時間が大きく変化する。そのため、上記のようなマージン時間は、ネットワークにおける遅延の発生状況等(イベントメッセージの到着状況)に応じて随時決定されることが好ましい。
そこで、情報処理装置1は、所定期間(以下、第1期間とも呼ぶ)に受信した複数のイベントメッセージのそれぞれの受信時刻と、複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線(以下、第1回帰直線とも呼ぶ)を生成する。
そして、情報処理装置1は、複数のイベントメッセージごとに、各イベントメッセージの発生時刻と、各イベントメッセージの受信時刻に対応する第1回帰直線上における値との差分(以下、第1差分とも呼ぶ)を算出する。
その後、情報処理装置1は、算出した第1差分に応じたマージン時間に基づいて、複数のイベントメッセージの通信状況を示す制御メッセージに付加するタイムスタンプ(以下、通知時刻とも呼ぶ)を決定する。
すなわち、本実施の形態における情報処理装置1は、第1期間において受信した各イベントメッセージの情報処理装置1における受信時刻とIoT機器3における発生時刻との対応を示す第1回直線を用いることで、第1期間における通信状況(例えば、ネットワークの遅延状況)に応じたマージン時間を決定する。
第1差分のバラつきが大きいということは、その時間の通信状態が不安定であって、想定より大きく遅れて到着するメッセージが発生する確率が高いことを意味する。逆に、第1差分のバラつきが小さいということは、その時間の通信状態が比較的安定しており、想定より大きく遅れて到着するメッセージが発生する確率が低いことを意味する。本実施の形態では、このような事情に鑑み、第1差分のバラつきが大きい時の方が、第1差分のバラつきが小さい時よりマージン時間を長くとるように制御することで、通信状態に応じた適切なマージン時間を決定することを可能とするものである。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図9は、情報処理装置1のハードウエア構成を説明する図である。
情報処理装置1は、図9に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、IoT機器3から送信されるイベントメッセージの実行を制御する処理(以下、実行制御処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、実行制御処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。以下、情報格納領域130が第1記憶部及び第2記憶部に対応する情報格納領域をそれぞれ含むものとして説明を行う。
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して実行制御処理を行う。
また、通信装置103は、例えば、ネットワークを介してメッセージ振分装置2との通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図10は、情報処理装置1の機能のブロック図である。
情報処理装置1は、図10に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、メッセージ受信部111と、回帰直線生成部112と、情報管理部113と、差分算出部114と、時刻決定部115と、メッセージ生成部116と、メッセージ送信部117と、処理実行部118と、結果出力部119とを含む各種機能を実現する。
また、情報処理装置1は、例えば、図10に示すように、イベントメッセージ131と、回帰直線式132と、差分情報133と、平均値情報134とを情報格納領域130に記憶する。
なお、メッセージ受信部111は、図2等で説明した受信部11に対応する機能であり、処理実行部118は、図2等で説明した処理実行部13に対応する機能であり、さらに、結果出力部119は、図2等で説明した結果出力部14に対応する機能である。また、回帰直線生成部112、情報管理部113、差分算出部114、時刻決定部115、メッセージ生成部116及びメッセージ送信部117は、図2等で説明した時刻決定部12に対応する機能である。
メッセージ受信部111は、メッセージ振分装置2から送信されたイベントメッセージ131を受信して情報格納領域130に記憶(蓄積)する。
回帰直線生成部112は、所定期間に受信した複数のイベントメッセージ131のそれぞれの受信時刻と発生時刻との対応関係を示す回帰直線式132を生成する。そして、情報管理部113は、回帰直線生成部112が生成した回帰直線式132を情報格納領域130に記憶する。
差分算出部114は、所定期間に受信した複数のイベントメッセージ131ごとに、各イベントメッセージ131の発生時刻と、各イベントメッセージ131の受信時刻に対応する回帰直線式132上における値との差分を示す差分情報133を算出する。そして、情報管理部113は、差分算出部114が生成した差分情報133を情報格納領域130に記憶する。
時刻決定部115は、差分算出部114が算出した差分情報133に応じたマージン時間を決定する。そして、時刻決定部115は、決定したマージン時間に基づいて、所定期間に受信した複数のイベントメッセージ131の通信状況を示す制御メッセージに付加する通知時刻(以下、単にタイムスタンプとも呼ぶ)を決定する。
メッセージ生成部116は、時刻決定部115が決定した通知時刻をタイムスタンプとして有する制御メッセージを生成する。すなわち、メッセージ生成部116は、時刻決定部115が決定した通知時刻をタイムスタンプとして有するwatermarkを生成する。
メッセージ送信部117は、メッセージ受信部111が受信したイベントメッセージ131を、そのイベントメッセージ131に対応する処理実行部118に送信する。具体的に、メッセージ送信部117は、例えば、メッセージ受信部111が受信したイベントメッセージ131に含まれる属性情報を参照し、そのイベントメッセージ131に対応する処理実行部118に送信する。また、メッセージ送信部117は、メッセージ生成部116が生成した制御メッセージを、各処理実行部118に送信する。
処理実行部118は、メッセージ送信部117から送信されたイベントメッセージ131に対する各種処理を行う。
結果出力部119は、例えば、処理実行部118が各イベントメッセージ131に対して行った処理結果を出力装置(図示しない)に出力する。なお、平均値情報134の具体例については後述する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図11は、第1の実施の形態における実行制御処理の概略を説明するフローチャート図である。
情報処理装置1は、図11に示すように、実行制御タイミングになるまで待機する(S11のNO)。実行制御タイミングは、例えば、1秒間隔等の定期的なタイミングであってよい。また、実行制御タイミングは、例えば、メッセージ振分装置2から所定数(例えば、1000件)のイベントメッセージ131を受信するごとに訪れるタイミングであってもよい。
そして、実行制御タイミングになった場合(S11のYES)、情報処理装置1は、第1期間に受信した複数のイベントメッセージ131のそれぞれの受信時刻と発生時刻との対応関係を示す第1回帰直線を生成する(S2)。
続いて、情報処理装置1は、第1期間に受信した複数のイベントメッセージ131ごとに、各イベントメッセージ131の発生時刻と、各イベントメッセージ131の受信時刻に対応する第1回帰直線上における値との第1差分を算出する(S3)。
その後、情報処理装置1は、S3の処理で算出した第1差分に応じたマージン時間に基づいて、第1期間に受信した複数のイベントメッセージ131の通信状況を示す制御メッセージに付加する通知時刻を決定する(S4)。
すなわち、本実施の形態における情報処理装置1は、第1期間において受信した各イベントメッセージ131の受信時刻とIoT機器3における発生時刻との対応を示す第1回直線を用いることで、第1期間における通信状況(例えば、ネットワークの遅延状況)に応じたマージン時間を決定する。
これにより、情報処理装置1は、通信状況に応じて決定されたマージン時間に基づく処理を行うことが可能になる。
具体的に、例えば、イベントメッセージ131の遅延時間が小さい場合、情報処理装置1は、マージン時間を短い時間に設定することが可能になる。そのため、情報処理装置1は、この場合、各イベントメッセージ131に対する処理の完了時間の遅延を抑制することが可能になる。
一方、例えば、イベントメッセージ131の遅延時間が大きい場合、情報処理装置1は、マージン時間を長い時間に設定することが可能になる。そのため、情報処理装置1は、この場合、各イベントメッセージ131に対する処理を発生順序に従いながら行うことが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図12から図15は、第1の実施の形態における実行制御処理の詳細を説明するフローチャート図である。また、図16から図21は、第1の実施の形態における実行制御処理の詳細を説明する図である。
[メッセージ受信処理]
初めに、実行制御処理のうち、イベントメッセージ131を受信した際に行われる処理(以下、メッセージ受信処理とも呼ぶ)について説明を行う。図12は、メッセージ受信処理を説明するフローチャート図である。
情報処理装置1のメッセージ受信部111は、図12に示すように、メッセージ振分装置2から送信されたイベントメッセージ131を受信するまで待機する(S11のNO)。
そして、メッセージ振分装置2から送信されたイベントメッセージ131を受信した場合(S11のYES)、情報処理装置1の差分算出部114は、S11の処理で受信したイベントメッセージの発生時刻と受信時刻とを特定する(S12)。
具体的に、差分算出部114は、S11の処理で受信したイベントメッセージ131に含まれるタイムスタンプが示す時刻(S11の処理で受信したイベントメッセージ131がIoT機器3において発生した時刻)を発生時刻として特定する。また、差分算出部114は、S11の処理で受信したイベントメッセージ131をメッセージ受信部111が受信した時刻を受信時刻として特定する。
なお、S12の処理で特定される発生時刻及び受信時刻の組合せは、例えば、以下の式(1)のように表現される。
Figure 0007425300000001
上記の式(1)において、t は、n番目の区間に受信したイベントメッセージ131の発生時刻を示しており、t は、n番目の区間に受信したイベントメッセージ131の受信時刻を示している。
続いて、差分算出部114は、情報格納領域130に記憶した回帰直線式132を取得する(S13)。以下、S13の処理で取得した回帰直線式132に対応する回帰直線を第2回帰直線とも呼ぶ。
具体的に、差分算出部114は、直前に行われたS26の処理(後述する処理)において算出された回帰直線式132を取得する。
なお、S13の処理で取得される回帰直線式132は、例えば、以下の式(2)のように表現される。
Figure 0007425300000002
上記の式(2)において、tは、イベントメッセージ131の発生時刻を示しており、tは、情報処理装置1におけるマシン時間を示しており、aは、回帰直線式132の傾きを示しており、bは、回帰直線式132のY切片を示している。
次に、差分算出部114は、S11の処理で特定した受信時刻に対応する回帰直線(S13の処理で取得した回帰直線式132に対応する第2回帰直線)上の値を算出する(S14)。
具体的に、差分算出部114は、以下の式(3)に従うことによって、S11の処理で特定した受信時刻に対応する回帰直線上の値を算出する。
Figure 0007425300000003
上記の式(3)において、tcalc は、n番目の区間に受信したイベントメッセージ131の受信時刻に対応する回帰直線上の値を示している。
すなわち、差分算出部114は、例えば、図16に示すように、回帰直線RL1を用いることによって、S11の処理で受信したイベントメッセージE31の受信時刻t31に対応する発生時刻t31aを特定する。
そして、差分算出部114は、S12の処理で特定した発生時刻と、S14の処理で算出した値に対応する発生時刻との差分(以下、第2差分とも呼ぶ)を算出する(S15)。
具体的に、差分算出部114は、以下の式(4)に従うことによって、S12の処理で特定した発生時刻と、S14の処理で算出した値に対応する発生時刻との差分を算出する。
Figure 0007425300000004
上記の式(4)において、dtは、n番目の区間に受信したイベントメッセージ131の発生時刻と、n番目の区間に受信したイベントメッセージ131の受信時刻に対応する回帰直線上の値との差分を示している。
すなわち、差分算出部114は、例えば、図17に示すように、S11の処理で受信したイベントメッセージE31の発生時刻t31と、図16に示す例で特定した発生時刻t31aとの差分を算出する。
その後、情報処理装置1の情報管理部113は、図13に示すように、S12の処理で特定した発生時刻及び受信時刻と、S14の処理で算出した差分とを含む差分情報133を情報格納領域130に記憶する(S21)。
なお、差分情報133に含まれる各情報は、例えば、以下の式(5)のように表現される。
Figure 0007425300000005
以下、差分情報133の具体例について説明を行う。
[差分情報の具体例]
図18は、差分情報133の具体例を説明する図である。具体的に、図18に示す差分情報133は、n番目の区間において受信した各イベントメッセージ131に対応する差分情報133の具体例を説明する図である。
図18に示す差分情報133は、差分情報133に含まれる各情報を識別する「項番」と、各イベントメッセージ131の発生時刻を設定する「発生時刻」と、各イベントメッセージ131の受信時刻を設定する「受信時刻」と、各イベントメッセージ131の差分(S15の処理で算出した差分)を設定する「差分」とを項目として有する。
具体的に、図18に示す差分情報133において、「項番」が「1」である情報には、「発生時刻」として「11:59:00」が設定され、「受信時刻」として「11:59:05」が設定され、「差分」として「1(秒)」が設定されている。
また、図18に示す差分情報133において、「項番」が「2」である情報には、「発生時刻」として「11:59:01」が設定され、「受信時刻」として「11:59:04」が設定され、「差分」として「-1(秒)」が設定されている。
また、図18に示す差分情報133において、「項番」が「3」である情報には、「発生時刻」として「11:59:01」が設定され、「受信時刻」として「11:59:09」が設定され、「差分」として「4(秒)」が設定されている。図18に含まれる他の情報についての説明は省略する。
図13に戻り、情報処理装置1のメッセージ送信部117は、S11の処理で受信したイベントメッセージ131を、S11の処理で受信したイベントメッセージ131に対応する処理実行部118に送信する(S22)。
そして、情報処理装置1の処理実行部118は、S22の処理でメッセージ送信部117が送信したイベントメッセージ131に対する処理を行う(S23)。
具体的に、処理実行部118は、後述するように、メッセージ送信部117から制御メッセージを受信したことに応じて、メッセージ送信部117から受信したイベントメッセージ131であって未処理のイベントメッセージ131のうち、受信した制御メッセージよりも前のタイムスタンプを有するイベントメッセージ131に対する処理を行う。
その後、情報処理装置1の結果出力部119は、S23の処理において処理実行部118がイベントメッセージ131に対して行った処理の結果を出力する(S24)。
具体的に、結果出力部119は、例えば、出力装置(図示しない)に対して処理結果を出力する。
なお、イベントメッセージ131の送信先が異なる情報処理装置1において動作する処理実行部118であった場合、S23及びS24の処理は、図2で説明したように、S11からS22の処理を行った情報処理装置1と異なる情報処理装置1において行われるものであってもよい。
[時刻決定処理]
次に、実行制御処理のうち、通知時刻の決定を行う処理(以下、時刻決定処理とも呼ぶ)について説明を行う。
情報処理装置1の情報管理部113は、図14に示すように、時刻決定タイミングになるまで待機する(S31のNO)。
そして、時刻決定タイミングになった場合(S31のYES)、情報管理部113は、情報格納領域130に記憶された差分情報133のうち、直近の区間において受信した複数のイベントメッセージ131に対応する差分情報133を取得する(S32)。
具体的に、情報管理部113は、前回の時間決定タイミングの後に受信した複数のイベントメッセージ131に対応する差分情報133を取得する。
なお、情報格納領域130に記憶される差分情報133が直近の区間に対応する差分情報133のみである場合、情報管理部113は、情報格納領域130に記憶されている全ての差分情報133を取得する。
続いて、情報管理部113は、S32の処理で取得した差分情報133に含まれる発生時刻の平均値と、S32の処理で取得した差分情報133に含まれる受信時刻の平均値とをそれぞれ算出する(S33)。
具体的に、例えば、直近の区間において受信した複数のイベントメッセージ131に対応する差分情報133が図18で説明した差分情報133である場合、情報管理部113は、図18で説明した差分情報133の「発生時刻」に設定された時刻の平均値と「受信時刻」に設定された時刻の平均値とをそれぞれ算出する。
その後、情報管理部113は、S33の処理で算出した発生時刻の平均値と、S33の処理で算出した受信時刻の平均値とを含む平均値情報134を情報格納領域130に記憶する(S34)。
すなわち、情報管理部113は、時刻決定タイミングに到達するごとに生成される平均値情報134を情報格納領域130に蓄積する。以下、平均値情報134の具体例について説明を行う。
[平均値情報の具体例]
図19は、平均値情報134の具体例を説明する図である。具体的に、図19に示す平均値情報134は、情報格納領域130に記憶された平均値情報134(複数の区間のそれぞれに対応する平均値情報134)の具体例を説明する図である。
図19に示す平均値情報134は、平均値情報134に含まれる各情報を識別する「項番」と、各区間に発生した各イベントメッセージ131の発生時刻の平均値を設定する「発生時刻」と、各区間に発生した各イベントメッセージ131の受信時刻の平均値を設定する「受信時刻」とを項目として有する。
具体的に、図19に示す平均値情報134において、「項番」が「1」である情報には、「発生時刻」として「11:50:34」が設定され、「受信時刻」として「11:50:35」が設定されている。
また、図19に示す平均値情報134において、「項番」が「2」である情報には、「発生時刻」として「11:51:28」が設定され、「受信時刻」として「11:51:31」が設定されている。
さらに、図18に示す差分情報133において、「項番」が「3」である情報には、「発生時刻」として「11:52:34」が設定され、「受信時刻」として「11:52:32」が設定されている。図19に含まれる他の情報についての説明は省略する。
図14に戻り、情報処理装置1の回帰直線生成部112は、情報格納領域130に記憶された平均値情報134を参照し、直近のN区間に対応する発生時刻の平均値と受信時刻の平均値とを取得する(S35)。なお、Nは2以上の整数である。
そして、回帰直線生成部112は、S35の処理で取得した発生時刻の平均値と受信時刻の平均値とを用いて回帰直線を算出する(S36)。
具体的に、回帰直線生成部112は、図20に示すように、最小二乗法を用いることによって、例えば、S35の処理で取得した平均値A01からA07に対応する回帰直線RL2を生成する。
その後、情報管理部113は、図15に示すように、S36の処理で生成した回帰直線に対応する回帰直線式132を情報格納領域130に格納する(S41)。
続いて、情報処理装置1の時刻決定部115は、S32の処理で取得した差分情報133に含まれる差分の平均及び分散を算出する(S42)。
そして、時刻決定部115は、S42の処理で算出した平均及び分散から算出した所定のパーセントタイル値をマージン時間として決定する(S43)。
具体的に、例えば、図21に示すように、所定のパーセントタイル値が99パーセントタイル値である場合、時刻決定部115は、以下の式(6)に従うことによって、99パーセントタイル値を算出する。
Figure 0007425300000006
さらに、時刻決定部115は、直近の区間に含まれる最後の時刻に対応する回帰直線(情報格納領域130に記憶された回帰直線式132に対応する回帰直線)上の値から、S43の処理で算出した所定のパーセントタイル値を減算した値に対応する通知時刻を決定する(S44)。
具体的に、時刻決定部115は、以下の式(7)に従うことによって、通知時刻(watermarkのタイムスタンプ)を決定する。
Figure 0007425300000007
上記の式(7)において、Tは、直近の区間に含まれる最後の時刻を示す。
その後、情報処理装置1のメッセージ生成部116は、S44の処理で決定したタイムスタンプを付加した制御メッセージ(watermark)を生成する(S45)。
そして、メッセージ送信部117は、S45の処理で生成した制御メッセージを、後段の処理実行部118のそれぞれ(他の情報処理装置1において動作する処理実行部118を含む)に送信する(S46)。
これにより、制御メッセージを受信した処理実行部118は、メッセージ送信部117から受信したイベントメッセージ131であって未処理のイベントメッセージ131のうち、受信した制御メッセージのタイムスタンプよりも前のタイムスタンプを有するイベントメッセージ131に対する処理を行うことが可能になる。
そのため、情報処理装置1は、IoT機器3において発生したイベントメッセージ131を取り溢すことなく処理を行うことが可能になる。
なお、時刻決定部115は、S42の処理において、例えば、S32の処理で取得した差分情報133に含まれる差分についての母平均の所定パーセントの信頼区間(例えば、母平均の99%信頼区間)と、S32の処理で取得した差分情報133に含まれる差分についての母分散の所定パーセントの信頼区間(例えば、母分散の99%信頼区間)とを算出するものであってもよい。
そして、時刻決定部115は、S43の処理において、例えば、S42の処理で算出した母平均の所定パーセントの信頼区間に含まれる所定の平均(例えば、平均の上限値)と、S42の処理で算出した母分散の所定パーセントの信頼区間に含まれる所定の分散(例えば、平均の分散値)とに対応する正規分布における所定のパーセントタイル値をマージン時間として特定するものであってもよい。
これにより、時刻決定部115は、例えば、S32の処理で取得した差分情報133に含まれる差分の数(サンプル数)が少ない場合であっても、マージン時間の算出を精度良く行うことが可能になる。
このように、本実施の形態における情報処理装置1は、第1期間に受信した複数のイベントメッセージ131のそれぞれの受信時刻と、複数のイベントメッセージ131のそれぞれの発生時刻との対応関係を示す第1回帰直線を生成する。
そして、情報処理装置1は、複数のイベントメッセージ131ごとに、各イベントメッセージ131の発生時刻と、各イベントメッセージ131の受信時刻に対応する第1回帰直線上における値との第1差分を算出する。
その後、情報処理装置1は、算出した第1差分に応じたマージン時間に基づいて、複数のイベントメッセージ131の通信状況を示す制御メッセージに付加するタイムスタンプ(通知時刻)を決定する。
すなわち、本実施の形態における情報処理装置1は、第1期間において受信した各イベントメッセージの情報処理装置1における受信時刻とIoT機器3における発生時刻との対応を示す第1回直線を用いることで、第1期間における通信状況(例えば、ネットワークの遅延状況)に応じたマージン時間を決定する。
これにより、情報処理装置1は、通信状況に応じて決定されたマージン時間に基づく処理を行うことが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
処理をコンピュータに実行させることを特徴とする実行制御方法。
(付記2)
付記1において、さらに、
前記複数のイベントメッセージに含まれるいずれかのイベントメッセージを受信した場合、第1記憶部を参照し、前記第1期間よりも前の第2期間において受信した複数のイベントメッセージから生成された第2回帰直線を特定し、
前記いずれかのイベントメッセージの前記発生時刻と、前記いずれかのイベントメッセージの前記受信時刻に対応する前記第2回帰直線上の値との第2差分を算出し、
算出した前記第2差分を第2記憶部に記憶する、
処理をコンピュータに実行させ、
前記第1差分を算出する処理では、前記第1期間に受信した複数のイベントメッセージごとに、前記第2記憶部に記憶した前記第2差分を前記第1差分として特定する、
ことを特徴とする実行制御方法。
(付記3)
付記2において、さらに、
前記第2期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記第2期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す前記第2回帰直線を生成し、
生成した前記第2回帰直線を前記第1記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする実行制御方法。
(付記4)
付記2において、
前記第2期間は、前記第1期間の直前の期間である、
ことを特徴とする実行制御方法。
(付記5)
付記1において、
前記第1回帰直線を生成する処理では、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
(付記6)
付記5において、
前記第1回帰直線を生成する処理では、
前記複数の期間ごとに、各期間に受信した複数のイベントメッセージのそれぞれの受信時刻についての第1平均値と、各期間に受信した複数のイベントメッセージのそれぞれの発生時刻についての第2平均値とを算出し、
前記複数の期間のそれぞれに対応する前記第1平均値と、前記複数の期間のそれぞれに対応する前記第2平均値との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御方法。
(付記7)
付記1において、
前記通知時刻を決定する処理では、
前記第1差分についての分布における所定のパーセントタイル値を前記マージン時間として特定し、
前記第1期間に含まれる最後の時刻に対応する前記第1回帰直線上の値から前記マージン時間を減算した値から対応する時刻を、前記通知時刻として決定する、
ことを特徴とする実行制御方法。
(付記8)
付記7において、
前記通知時刻を決定する処理では、
前記第1差分についての母平均の所定パーセントの第1信頼区間と、前記第1差分についての母分散の所定パーセントの第2信頼区間とを算出し、
前記第1信頼区間に含まれる所定の平均と、前記第1信頼区間に含まれる所定の分散とに対応する分布における前記所定のパーセントタイル値を前記マージン時間として特定する、
ことを特徴とする実行制御方法。
(付記9)
付記8において、
前記通知時刻を決定する処理では、前記第1信頼区間における上限値の平均と、前記第1信頼区間における上限値の分散とに対応する正規分布における前記所定のパーセントタイル値を前記マージン時間として特定する、
ことを特徴とする実行制御方法。
(付記10)
付記1において、
前記通知時刻は、前記発生時刻が前記通知時刻よりも前であるイベントメッセージの受信が前記コンピュータにおいて完了していることを示す情報である、
ことを特徴とする実行制御方法。
(付記11)
付記1において、
前記制御メッセージは、watermarkである、
ことを特徴とする実行制御方法。
(付記12)
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成する回帰直線生成部と、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出する差分算出部と、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する時刻決定部と、を有する、
ことを特徴とする情報処理装置。
(付記13)
付記12において、
前記回帰直線生成部は、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする情報処理装置。
(付記14)
第1期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す第1回帰直線を生成し、
前記複数のイベントメッセージごとに、各イベントメッセージの前記発生時刻と、各イベントメッセージの前記受信時刻に対応する前記第1回帰直線上における値との第1差分を算出し、
算出した前記第1差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
処理をコンピュータに実行させることを特徴とする実行制御プログラム。
(付記15)
付記14において、
前記第1回帰直線を生成する処理では、前記第1期間を含む複数の期間に受信した複数のイベントメッセージのそれぞれの受信時刻と、前記複数の期間に受信した複数のイベントメッセージのそれぞれの発生時刻との対応関係を示す回帰直線を前記第1回帰直線として生成する、
ことを特徴とする実行制御プログラム。
1a:情報処理装置 1b:情報処理装置
1c:情報処理装置 2:メッセージ振分装置
2a:メッセージキュー 3a:IoT機器
3b:IoT機器 3c:IoT機器
3d:IoT機器 3e:IoT機器
10:情報処理システム

Claims (11)

  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差分に応じたマージン時間に基づいて、前記複数のイベントメッセージの通信状況を示す制御メッセージに付加する通知時刻を決定する、
    処理をコンピュータに実行させることを特徴とする実行制御プログラム。
JP2020040068A 2020-03-09 2020-03-09 実行制御方法及び実行制御プログラム Active JP7425300B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020040068A JP7425300B2 (ja) 2020-03-09 2020-03-09 実行制御方法及び実行制御プログラム
EP21152275.0A EP3879794B1 (en) 2020-03-09 2021-01-19 Execution control method, information processing apparatus, and execution control program
US17/155,127 US11196813B2 (en) 2020-03-09 2021-01-22 Execution control method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020040068A JP7425300B2 (ja) 2020-03-09 2020-03-09 実行制御方法及び実行制御プログラム

Publications (2)

Publication Number Publication Date
JP2021140665A JP2021140665A (ja) 2021-09-16
JP7425300B2 true JP7425300B2 (ja) 2024-01-31

Family

ID=74191578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020040068A Active JP7425300B2 (ja) 2020-03-09 2020-03-09 実行制御方法及び実行制御プログラム

Country Status (3)

Country Link
US (1) US11196813B2 (ja)
EP (1) EP3879794B1 (ja)
JP (1) JP7425300B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7425300B2 (ja) * 2020-03-09 2024-01-31 富士通株式会社 実行制御方法及び実行制御プログラム
KR20230079632A (ko) * 2021-11-29 2023-06-07 성창 주식회사 서버와 IoT 디바이스 사이의 시간 동기화 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010206253A (ja) 2009-02-27 2010-09-16 Kddi R & D Laboratories Inc 携帯端末装置、サーバ装置およびランキング通知システム
JP2011008629A (ja) 2009-06-26 2011-01-13 Nomura Research Institute Ltd コンピュータネットワークの時刻ずれ量算出システム
WO2016067335A1 (ja) 2014-10-27 2016-05-06 株式会社日立製作所 ストリームデータの処理方法及びストリームデータ処理装置
JP2018010562A (ja) 2016-07-15 2018-01-18 日本電気株式会社 コンピュータシステム、プログラムの応答時間の推定方法、計算機及びプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007009458A2 (en) * 2005-07-15 2007-01-25 Pinocchio Data Systems Aps Time synchronization algorithm for measurement systems with random delays
JP5337447B2 (ja) 2008-10-28 2013-11-06 株式会社日立製作所 ストリームデータ処理方法、及びシステム
JP5439014B2 (ja) 2009-04-10 2014-03-12 株式会社日立製作所 データ処理システム、その処理方法、及び計算機
CN103986743A (zh) * 2013-02-07 2014-08-13 伊姆西公司 用于在物联网中采集数据的方法、装置和系统
US9792259B2 (en) * 2015-12-17 2017-10-17 Software Ag Systems and/or methods for interactive exploration of dependencies in streaming data
US10484477B2 (en) * 2015-12-30 2019-11-19 Verizon Patent And Licensing Inc. Internet of things (IoT) device activation and management
US20180013831A1 (en) * 2016-07-11 2018-01-11 Hcl Technologies Limited Alerting one or more service providers based on analysis of sensor data
KR20180049634A (ko) * 2016-11-03 2018-05-11 한국전자통신연구원 IoT 데이터를 생성하는 장치 및 방법
US10452040B2 (en) * 2016-12-16 2019-10-22 Sap Se Graph-based data analysis for sensor networks
US20180268050A1 (en) * 2017-03-18 2018-09-20 Trendalyze Inc. Method and system for time series visual analysis and pattern search
US20180357604A1 (en) * 2017-06-12 2018-12-13 Sap Se IoT-Driven Architecture of a Production Line Scheduling System
JP6835677B2 (ja) * 2017-07-07 2021-02-24 株式会社日立製作所 データ処理方法、データ処理装置、及びデータ処理プログラム
US11774295B2 (en) * 2017-08-29 2023-10-03 International Business Machines Corporation Cognitive energy assessment by a non-intrusive sensor in a thermal energy fluid transfer system
US10339691B2 (en) * 2017-10-09 2019-07-02 Mapbox, Inc. Storage of time-varying data as parametrized functions
US10382308B2 (en) * 2018-01-10 2019-08-13 Citrix Systems, Inc. Predictive technique to suppress large-scale data exchange
US10560530B2 (en) * 2018-02-16 2020-02-11 Tata Consultancy Services Limited Data analyses using compressive sensing for internet of things (IoT) networks
US11341513B2 (en) * 2018-02-20 2022-05-24 James R Jackson Systems and methods for generating a relationship among a plurality of datasets to generate a desired attribute value
US20190392162A1 (en) * 2018-06-25 2019-12-26 Merck Sharp & Dohme Corp. Dynamic consent enforcement for internet of things
US11349709B2 (en) * 2019-02-13 2022-05-31 Walmart Apollo, Llc System and method for onboarding IOT devices
US10555202B1 (en) * 2019-02-20 2020-02-04 Oracle International Corporation Methods, systems, and computer readable media for monitoring internet of things (IoT) device state through service capability exposure function (SCEF)
US11521220B2 (en) * 2019-06-05 2022-12-06 International Business Machines Corporation Generating classification and regression tree from IoT data
US11137474B2 (en) * 2020-01-15 2021-10-05 Kiomars Anvari Use of 5G IoT network to navigate and protect moving objects in a smart environment
JP7425300B2 (ja) * 2020-03-09 2024-01-31 富士通株式会社 実行制御方法及び実行制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010206253A (ja) 2009-02-27 2010-09-16 Kddi R & D Laboratories Inc 携帯端末装置、サーバ装置およびランキング通知システム
JP2011008629A (ja) 2009-06-26 2011-01-13 Nomura Research Institute Ltd コンピュータネットワークの時刻ずれ量算出システム
WO2016067335A1 (ja) 2014-10-27 2016-05-06 株式会社日立製作所 ストリームデータの処理方法及びストリームデータ処理装置
JP2018010562A (ja) 2016-07-15 2018-01-18 日本電気株式会社 コンピュータシステム、プログラムの応答時間の推定方法、計算機及びプログラム

Also Published As

Publication number Publication date
JP2021140665A (ja) 2021-09-16
EP3879794B1 (en) 2023-09-13
US20210281645A1 (en) 2021-09-09
EP3879794A1 (en) 2021-09-15
US11196813B2 (en) 2021-12-07

Similar Documents

Publication Publication Date Title
US11748154B2 (en) Computing node job assignment using multiple schedulers
JP6457447B2 (ja) データセンターのネットワークトラフィックスケジューリング方法及び装置
JP7425300B2 (ja) 実行制御方法及び実行制御プログラム
US10977077B2 (en) Computing node job assignment for distribution of scheduling operations
US9531612B2 (en) System and method for a rate control technique for a lightweight directory access protocol over MQSeries (LoM) server
JP7031424B2 (ja) 情報処理装置、情報処理システムおよび情報処理プログラム
EP3205054B1 (en) Method, traffic monitor (tm), request router (rr) and system for monitoring a content delivery network (cdn)
CN114338695B (zh) 基于多副本的领导者选举方法、装置、设备及存储介质
US20080137546A1 (en) Distributed message routing in a virtualized messaging system using recursive least squares links cost estimation with choke points
US7839790B2 (en) Network congestion analysis
KR101251970B1 (ko) 우선순위 큐 기반의 긴급 데이터 전달을 위한 라우팅 방법 및 이를 적용한 네트워크 시스템
US7676561B1 (en) Method and apparatus for adaptive load balancing
US7839799B2 (en) Middleware components for bundling service invocations
US11700299B2 (en) Information processing apparatus, information processing system, non-transitory computer-readable medium, and information processing method
KR101535721B1 (ko) 큐잉 지연 추정 방법 및 장치
JP2014112779A (ja) データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム
JP2012118928A (ja) イベント処理装置、イベント処理方法およびイベント処理プログラム
CN115550183A (zh) 带宽估计设备和带宽估计方法
US10931563B2 (en) Adaptive routing pipelines for variable endpoint performance
JPWO2011048740A1 (ja) データ伝送システム、送信速度制御方法、受信端末、送信端末
CN109831342A (zh) 一种基于分布式系统的故障恢复方法
US20170201535A1 (en) Estimation device and estimation method
US20240073104A1 (en) System, server, and moving body
CN113596109B (zh) 业务请求运行方法、系统、装置、设备和存储介质
US20230344738A1 (en) One way latency estimation without clock synchronization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240101

R150 Certificate of patent or registration of utility model

Ref document number: 7425300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150