JP7009894B2 - 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置 - Google Patents

分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置 Download PDF

Info

Publication number
JP7009894B2
JP7009894B2 JP2017192485A JP2017192485A JP7009894B2 JP 7009894 B2 JP7009894 B2 JP 7009894B2 JP 2017192485 A JP2017192485 A JP 2017192485A JP 2017192485 A JP2017192485 A JP 2017192485A JP 7009894 B2 JP7009894 B2 JP 7009894B2
Authority
JP
Japan
Prior art keywords
time
unit
information
processing amount
processing
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
JP2017192485A
Other languages
English (en)
Other versions
JP2019067176A (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 JP2017192485A priority Critical patent/JP7009894B2/ja
Priority to US16/145,335 priority patent/US10958716B2/en
Publication of JP2019067176A publication Critical patent/JP2019067176A/ja
Application granted granted Critical
Publication of JP7009894B2 publication Critical patent/JP7009894B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本件は、分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置に関する。
管理装置が被管理装置の情報を収集し、被管理装置に負荷(タスク)を分配する分散システムにおいて、故障などが原因で管理装置が負荷を分配できない場合に、被管理装置が管理装置に代替して負荷を分配する技術が知られている(例えば、特許文献1参照)。また、コンピュータの利用形態として、クラウドコンピューティングと、その派生形であるエッジコンピューティングが知られている(例えば、特許文献2参照)。
エッジコンピューティングとは、クラウドに相当するサーバ(以下、センタサーバという)に加え、エンドユーザにより近い別のサーバ(以下、エッジサーバという)を設置する利用形態をいう。エッジサーバは、クラウドの負荷を分散させることが可能である。また、エッジサーバは、高速なレスポンスが要求される処理をクラウドの代わりに実行することで、通信に起因する遅延を抑制することが可能である(例えば、特許文献3参照)。
特開平8-123768号公報 特表2015-505404号公報 特開2017-126238号公報
ところで、上述したエッジサーバは、エンドユーザのデバイスが生成して送出したデータ(例えばセンシングデータなど)を受信する。エンドユーザのデバイスは、Personal Computer(PC)やスマートフォンなどに限定されず、近年では環境センサ、ビーコン端末、自動車、家電機器など、多くのものが対象になる。エッジサーバはこのようなデバイスから送出されたデータを受信すると、データの内容に対応するプロセスを起動して実行する。
しかしながら、エッジサーバが受信するデータはInternet of Things(IoT)への注目が高まるにつれて増加傾向にあり、これに伴い、エッジサーバが起動するプロセス数が増大しつつある。一方で、エッジサーバのコンピュータリソースはセンタサーバに比べて少ないこと多い。このため、プロセスを実行するエッジサーバを制御してエッジサーバ間で負荷を分散させるために、エッジサーバが実行するプロセスの状態(例えばプロセスの起動時刻や終了時刻など)をセンタサーバがエッジサーバ毎に管理することが要求される。
プロセスの状態をセンタサーバが管理する場合、例えばプロセスの状態を伝えるメッセージをエッジサーバがセンタサーバに通知してもよいが、プロセスの数が増大するにつれて、エッジサーバが通知するメッセージの数が増大するおそれがある。
そこで、1つの側面では、エッジサーバとセンタサーバ間のメッセージ数の増大を抑制できる分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置を提供することを目的とする。
1つの実施態様では、デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、前記エッジサーバは、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、前記センタサーバは、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、ことを特徴とする。
エッジサーバとセンタサーバ間のメッセージ数の増大を抑制することができる。
図1は分散プロセス管理システムの一例を説明するための図である。 図2はセンタサーバのハードウェア構成の一例である。 図3はエッジサーバ及びセンタサーバのブロック図の一例である。 図4(a)はプロセス情報テーブルの一例である。図4(b)は処理量情報テーブルの一例である。図4(c)は状態情報テーブルの一例である。図4(d)は状態情報テーブルの一例である。 図5はエッジサーバの動作の一例を示すフローチャートである。 図6は情報更新処理の一例を示すフローチャートである。 図7はセンタサーバの動作の一例を示すフローチャートである。 図8は状態更新処理の一例を示すフローチャートである。 図9(a)~(c)はプロセスの終了時刻の予測を説明するための図である。 図10は状態補正処理の一例を示すフローチャートである。 図11はメッセージ数の削減効果の一例を説明するための図である。
以下、本件を実施するための形態について図面を参照して説明する。
図1は分散プロセス管理システムSの一例を説明するための図である。分散プロセス管理システムSはエッジサーバ100とセンタサーバ200とを含んでいる。エッジサーバ100とセンタサーバ200は互いに通信ネットワークNW1によって接続されている。通信ネットワークNW1としては例えばインターネットがある。
エッジサーバ100はエンドユーザが利用する種々のデバイス(具体的にはIoTデバイス)300から送出されるデータを、通信ネットワークNW2を介して受信することができる。デバイス300としては、例えば自動車などの移動体、スマートテレビなどの家電機器、スマートウォッチなどのウェアラブル端末、スマートフォンやタブレット端末などのスマート端末、照度センサや温度センサなどの環境センサなどがある。また、通信ネットワークNW2としては例えばLong Term Evolution(LTE)網といった広域無線通信ネットワークがある。尚、通信ネットワークNW2は広域無線通信ネットワークに限定されず、Wi-Fi(登録商標)やBluetooth(登録商標)といった近距離無線通信ネットワークであってもよいし、狭帯域通信の有線通信ネットワークであってもよい。
エッジサーバ100は、図1に示すように、センタサーバ200に比べてエンドユーザ側に近い位置に配置される。言い換えれば、エッジサーバ100はセンタサーバ200とデバイス300との間に配置される。エッジサーバ100としては、例えばIoTゲートウェイ製品、携帯基地局、アクセスポイントなどの情報処理装置がある。エッジサーバ100はデバイス300から送出されたデータを、無線通信WLを利用して受信する。エッジサーバ100はデータを受信すると、データの内容(例えば画像や音声といったコンテンツやその種別など)に対応するプロセスを起動して実行する。具体的には、エッジサーバ100はプロセスを起動して実行し、受信したデータを処理する。尚、詳細は後述するが、本実施形態に係るエッジサーバ100はプロセスを起動する度に、プロセスの起動時刻とプロセスの処理量とを含む起動通知をセンタサーバ200に送信する。しかしながら、本実施形態に係るエッジサーバ100はプロセスを終了しても、プロセスの終了時刻を含む終了通知をセンタサーバ200に送信しない。したがって、起動通知と終了通知の両方が送信される場合に比べて、本実施形態では、終了通知が送信されないため、エッジサーバ100から通信ネットワークNW1に出る通知の数は2分の1になる。
センタサーバ200はクラウドCL上のデータセンターDCなどに配備される情報処理装置である。センタサーバ200はエッジサーバ100から送信された起動通知を受信し、種々の情報処理を実行する。例えば、センタサーバ200は起動通知に含まれるプロセスの起動時刻と処理量や、エッジサーバ100の処理能力を利用して、プロセスの終了時刻を予測して更新する。尚、センタサーバ200が実行する情報処理の詳細については後述する。
以下、上述したエッジサーバ100とセンタサーバ200の詳細を説明する。
図2はセンタサーバ200のハードウェア構成の一例である。尚、上述したエッジサーバ100については基本的にセンタサーバ200と同様のハードウェア構成であるため、説明を省略する。図2に示すように、センタサーバ200は、少なくともハードウェアプロセッサとしてのCentral Processing Unit(CPU)200A、Random Access Memory(RAM)200B、Read Only Memory(ROM)200C及びネットワークI/F(インタフェース)200Dを含んでいる。センタサーバ200は、必要に応じて、Hard Disk Drive(HDD)200E、入力I/F200F、出力I/F200G、入出力I/F200H、ドライブ装置200Iの少なくとも1つを含んでいてもよい。CPU200Aからドライブ装置200Iまでは、内部バス200Jによって互いに接続されている。少なくともCPU200AとRAM200Bとが協働することによってコンピュータが実現される。尚、CPU200Aに代えてMicro Processing Unit(MPU)をハードウェアプロセッサとして利用してもよい。
入力I/F200Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。出力I/F200Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。入出力I/F200Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F200Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。入力I/F200F及び入出力I/F200Hは、例えばUSBポートを備えている。出力I/F200Gは、例えばディスプレイポートを備えている。
ドライブ装置200Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)-ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置200Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。ネットワークI/F200Dは、例えばLANポートを備えている。ネットワークI/F200Dは上述した通信ネットワークNW1と接続される。
上述したRAM200Bには、ROM200CやHDD200Eに記憶されたプログラムがCPU200Aによって格納される。RAM200Bには、可搬型記録媒体740に記録されたプログラムがCPU200Aによって格納される。格納されたプログラムをCPU200Aが実行することにより、CPU200Aは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
次に、図3及び図4を参照して、エッジサーバ100及びセンタサーバ200の機能について説明する。
図3はエッジサーバ100及びセンタサーバ200のブロック図の一例である。図4(a)はプロセス情報テーブルT1の一例である。図4(b)は処理量情報テーブルT2の一例である。図4(c)は状態情報テーブルT3の一例である。図4(d)は状態情報テーブルT4の一例である。
まず、エッジサーバ100について説明する。エッジサーバ100は、図3に示すように、プロセス情報記憶部101、処理量情報記憶部102、及び状態情報記憶部103を含んでいる。また、エッジサーバ100は、データ処理部104、通信状態監視部105、及び情報処理部106を含んでいる。さらに、エッジサーバ100は起動通知送信部107及び更新要求送信部108を含んでいる。尚、プロセス情報記憶部101、処理量情報記憶部102、及び状態情報記憶部103は例えば上述したHDD200Eによって実現することができる。データ処理部104、通信状態監視部105及び情報処理部106は例えば上述したCPU200A及びRAM200Bによって実現することができる。起動通知送信部107及び更新要求送信部108は例えば上述したネットワークI/F200Dによって実現することができる。
プロセス情報記憶部101は、データ処理部104が起動して実行するプロセスに関するプロセス情報を記憶する。プロセス情報は、図4(a)に示すように、プロセス情報テーブルT1により管理される。プロセス情報は、プロセスID、処理量、及び更新時刻といった複数の項目を含んでいる。プロセスIDはプロセスを識別する識別情報である。処理量は受信したデータに対してそのプロセスが実際に行う仕事の量である。更新時刻はプロセス情報が更新された時刻を表している。
ここで、上述した処理量は以下の数式(1)により表すことができる。
処理量Wproc=ΣC・t/N・・・(1)
変数Cはエッジサーバ100の処理能力を表している。特に単一のエッジサーバ100内では変数Cが一定であると仮定できるため、変数Cを処理能力「1」や処理能力「10」に設定すれば、処理量をエッジサーバ100毎に正規化することができる。変数tはプロセスの処理時間を表している。処理時間は処理に要する時間であり、現在時刻と更新時刻と差により表すことができる。変数Nは現在のプロセス数を表している。変数iはプロセスが到着してから離脱するまでの間隔を表している。したがって、例えば処理能力「10」のエッジサーバ100が1台で2つのプロセスを処理する場合、1つのプロセスに対してエッジサーバ100は変数C/変数Nにより処理能力「5」で処理する。そして、処理能力「5」に処理時間を掛け合わせることで処理量を算出することができる。尚、処理能力「1」の場合、上述した数式(1)から変数Cを省略することができる。
処理量情報記憶部102は、上述した処理量の移動平均を記憶する。処理量情報は、図4(b)に示すように、処理量情報テーブルT2により管理される。処理量情報は、プログラムID及び処理量平均といった複数の項目を含んでいる。プログラムIDはプログラムを識別する識別情報である。尚、プロセスはプログラムの実行単位である。一方、処理量平均は処理量の移動平均を表している。
状態情報記憶部103は、データ処理部104が起動したプロセスの状態に関する第1の状態情報を記憶する。第1の状態情報は、図4(c)に示すように、状態情報テーブルT3により管理される。第1の状態情報は、プロセスID、プロセス起動時刻、及びプロセス終了時刻といった複数の項目を含んでいる。特に、プロセス起動時刻及びプロセス終了時刻はそれぞれプロセスの起動時刻及び終了時刻を表している。
データ処理部104はデバイス300から送出されたデータを、通信ネットワークNW2を介して受信すると、受信したデータを処理する。より詳しくは、データ処理部104はデータを受信すると、データの内容に対応するプロセスを起動して実行し、データを処理しつつプロセスを管理する。特に、データ処理部104はプロセスを起動すると、プロセスの起動をプロセスIDとともに情報処理部106に通知する。また、データ処理部104はプロセスを終了すると、プロセスの終了をプロセスIDとともに情報処理部106に通知する。これにより、情報処理部106はプロセスの状態を確認することができる。
通信状態監視部105はエッジサーバ100とセンタサーバ200との通信状態を監視して情報処理部106に通知する。例えば、エッジサーバ100とセンタサーバ200との通信が遮断すると、通信状態監視部105は通信不能であることを示す第1の通信状態を情報処理部106に通知する。例えば、エッジサーバ100とセンタサーバ200との通信が遮断した状態から復帰すると、通信状態監視部105は通信中であることを示す第2の通信状態を情報処理部106に通知する。尚、通信状態監視部105は例えば起動通知送信部107などを監視してエッジサーバ100とセンタサーバ200との通信状態を判断すればよい。
情報処理部106はデータ処理部104から通知された内容と通信状態監視部105から通知された通信状態とに基づいて、種々の情報処理を実行する。例えば、情報処理部106はデータ処理部104からプロセスの起動が通知され、通信状態監視部105から第2の通信状態が通知されると、状態情報記憶部103にアクセスし、状態情報を更新する。具体的には、情報処理部106はプロセスIDとプロセス起動時刻を登録する。プロセスの終了が通知された場合には、情報処理部106はそのプロセスIDに応じたプロセス終了時刻を登録する。また、情報処理部106はプロセスIDとプロセス起動時刻を登録した場合、上述した処理量とその処理量の移動平均を算出し、それぞれプロセス情報記憶部101と処理量情報記憶部102とに登録する。そして、情報処理部106は算出した処理量が閾値処理量より大きい場合、プロセスの起動時刻とそのプロセスの処理量とを含む起動通知を起動通知送信部107に出力する。その他、情報処理部106は種々の情報処理を実行するが、その詳細については後述する。
起動通知送信部107は情報処理部106から出力された起動通知をセンタサーバ200に向けて送信する。更新要求送信部108は情報処理部106から出力された更新要求をセンタサーバ200に向けて送信する。尚、詳細は後述するが、更新要求はセンタサーバ200が管理する第2の状態情報の更新を要求する情報である。例えば、エッジサーバ100とセンタサーバ200の通信が遮断した場合、起動通知送信部107は起動通知をセンタサーバ200に送信することができない。この場合、情報処理部106はプロセス終了時刻が登録された第1の状態情報のリストをプロセス状態のリストとして含む更新要求を更新要求送信部108に出力する。このような更新要求を更新要求送信部108はセンタサーバ200に向けて送信する。
次に、センタサーバ200について説明する。センタサーバ200は、図3に示すように、状態情報記憶部201、起動通知受信部202、更新要求受信部203、情報更新部204、及び状態情報管理部205を含んでいる。尚、状態情報記憶部201は例えば上述したHDD200Eによって実現することができる。起動通知受信部202及び更新要求受信部203は例えば上述したネットワークI/F200Dによって実現することができる。情報更新部204及び状態情報管理部205は例えば上述したCPU200A及びRAM200Bによって実現することができる。
状態情報記憶部201は、各エッジサーバ100のプロセスの状態に関する第2の状態情報を記憶する。第2の状態情報は、図4(d)に示すように、状態情報テーブルT4により管理される。第2の状態情報は、エッジサーバID、プロセスID、プロセス起動時刻、及びプロセス終了予測時刻といった複数の項目を含んでいる。特に、エッジサーバIDは各エッジサーバ100を識別する識別情報である。また、プロセス終了予測時刻は情報更新部204が起動通知に含まれるプロセスの起動時刻及び処理量、並びにエッジサーバ100の処理能力に基づいて算出したそのプロセスの終了時刻の予測値である。
起動通知受信部202はエッジサーバ100から送信された起動通知を受信して、情報更新部204に出力する。更新要求受信部203はエッジサーバ100から送信された更新要求を受信して、情報更新部204に出力する。情報更新部204は起動通知受信部202から出力された起動通知や更新要求受信部203から出力された更新要求に基づいて、状態情報記憶部201が記憶する第2の状態情報を更新する。例えば、情報更新部204は起動通知を受け付けると、起動通知に含まれるプロセスの起動時刻と処理量とエッジサーバ100の処理能力とに基づいて、プロセス終了予測時刻を算出して更新する。例えば、情報更新部204は更新要求を受け付けると、受け付けた更新要求に含まれる第1の状態情報のリストに基づいて、状態情報記憶部201が記憶する第2の状態情報を更新する。これにより、第2の状態情報に含まれるプロセス終了予測時刻が第1の状態情報に含まれるプロセス終了時刻に書き換わる。すなわち、プロセス終了予測時刻が実際のプロセス終了時刻に補正される。
状態情報管理部205は状態情報記憶部201が記憶する第2の状態情報を監視し、プロセス終了予測時刻を経過した第2の状態情報を検出すると、検出した第2の状態情報を情報更新部204に通知する。すなわち、状態情報管理部205はプロセスの終了を情報更新部204に通知する。これにより、情報更新部204はそのプロセスが終了した後に残るプロセスの起動時刻と処理量とエッジサーバ100の処理能力とに基づいて、プロセス終了予測時刻を改めて算出して更新する。
次に、分散プロセス管理システムSの動作について説明する。
まず、図5を参照して、エッジサーバ100の動作について説明する。図5はエッジサーバ100の動作の一例を示すフローチャートである。まず、データ処理部104は新規プロセスを起動したか否かを判断する(ステップS101)。データ処理部104は新規プロセスを起動したと判断した場合(ステップS101:YES)、次いで、通信状態監視部105は通信が遮断しているか否かを判断する(ステップS102)。通信状態監視部105は通信が遮断していないと判断した場合(ステップS102:NO)、情報処理部106は処理量が閾値処理量以下であるか否かを判断する(ステップS103)。より詳しくは、情報処理部106は起動した新規プロセスの処理量を算出し、算出した処理量が閾値処理量以下であるか否かを判断する。
情報処理部106は処理量が閾値処理量以下でないと判断した場合(ステップS103:NO)、起動通知送信部107は起動通知を送信する(ステップS104)。言い換えれば、情報処理部106は処理量が閾値処理量より大きいと判断した場合、起動通知送信部107は起動通知を送信する。一方で、情報処理部106は処理量が閾値処理量以下であると判断した場合(ステップS103:YES)、ステップS104の処理をスキップする。すなわち、処理量が閾値処理量以下である場合、そのプロセスは短時間で終了する可能性が高く、センタサーバ200に起動通知を送信してプロセス終了予測時刻を算出するほどの理由が乏しいためである。このように、処理量が閾値処理量以下である場合に、起動通知を送信しないことで、エッジサーバ100とセンタサーバ200とのメッセージ数を削減することができる。
一方、データ処理部104は新規プロセスを起動しておらず(ステップS101:NO)、既存プロセスを終了したと判断した場合(ステップS105:YES)、次いで、通信状態監視部105は通信が遮断しているか否かを判断する(ステップS106)。通信状態監視部105は通信が遮断していると判断した場合(ステップS106:YES)、情報処理部106は第1の状態情報を更新する(ステップS107)。尚、ステップS102の処理において、通信状態監視部105は通信が遮断していると判断した場合(ステップS102:YES)も同様に、情報処理部106はステップS107の処理を実行する。すなわち、エッジサーバ100とセンタサーバ200との通信が遮断している状態では、起動通知送信部107は起動通知を送信することができない。この場合、情報処理部106は起動して実行したプロセスが終了すると、そのプロセスの終了時刻を第1の状態情報に登録し、通信が復帰するまで第1の状態情報を保持する。
ここで、ステップS103の処理において処理量が閾値処理量以下である場合、ステップS104の処理が実行された場合、ステップS106の処理において通信が遮断していない場合、又はステップS107の処理が実行された場合、情報処理部106は情報更新処理を実行する(ステップS108)。情報更新処理は、プロセス情報記憶部101が記憶するプロセス情報、及び処理量情報記憶部102が記憶する処理量情報を更新する処理である。尚、情報更新処理の詳細については後述する。
一方、データ処理部104は既存プロセスが終了していない場合(ステップS105:NO)、通信状態監視部105は通信が復帰したか否かを判断する(ステップS109)。通信状態監視部105は通信が復帰していると判断した場合(ステップS109:YES)、更新要求送信部108は更新要求を送信する(ステップS110)。より詳しくは、新規のプロセスが起動したもののそのプロセスが終了しておらず、かつ、通信が遮断した状態から復帰した場合には、情報処理部106は第1の状態情報を取得してリスト化し、リスト化した第1の状態情報を更新要求に含め、その更新要求を更新要求送信部108に出力する。これにより、更新要求送信部108は第1の状態情報のリストを含む更新要求をセンタサーバ200に向けて送信する。ステップS110の処理が完了した場合、又は、通信状態監視部105は通信が復帰していないと判断した場合(ステップS109:NO)、エッジサーバ100は処理を終える。エッジサーバ100は当該処理を定期的に繰り返す。
次に、図6を参照して、上述した情報更新処理について説明する。
図6は情報更新処理の一例を示すフローチャートである。上述したように、ステップS104やS107などの処理が完了すると、情報処理部106はプロセスIDを選択する(ステップS201)。より詳しくは、情報処理部106はプロセス情報記憶部101にアクセスし、プロセス情報テーブルT1によって管理されたプロセス情報の中からいずれかのプロセスIDを選択する。ステップS201の処理が完了すると、次いで、情報処理部106は選択したプロセスIDが特定するプロセスの処理量を算出する(ステップS202)。具体的には、上述した数式(1)を利用して、情報処理部106はプロセスの処理量を算出し、プロセス情報に登録する。
ステップS202の処理が完了すると、次いで、情報処理部106は更新時刻に現在時刻を登録する(ステップS203)。すなわち、情報処理部106は選択したプロセスIDが特定するプロセス情報の更新時刻に現在時刻を登録する。ステップS203の処理が完了すると、次いで、情報処理部106はプロセス終了時の処理であるか否かを判断する(ステップS204)。情報処理部106はプロセス終了時の処理であると判断した場合(ステップS204:YES)、エントリを削除して処理量平均を更新する(ステップS205)。一方、情報処理部106はプロセス終了時の処理でないと判断した場合(ステップS204:NO)、ステップS205の処理をスキップする。
ステップS205の処理が完了した場合、又は、ステップS205の処理がスキップされた場合、情報処理部106は全プロセスIDが終了したか否かを判断する(ステップS206)。言い換えれば、情報処理部106はまだ選択していないプロセスIDがあるか否かを判断する。情報処理部106は全プロセスIDが終了していないと判断した場合(ステップS206:NO)、再び、ステップS201の処理を実行する。一方、情報処理部106は全プロセスIDが終了したと判断した場合(ステップS206:YES)、情報更新処理を終える。
続いて、図7を参照して、センタサーバ200の動作について説明する。図7はセンタサーバ200の動作の一例を示すフローチャートである。まず、起動通知受信部202は起動通知を受信したか否かを判断する(ステップS301)。起動通知受信部202は起動通知を受信したと判断した場合(ステップS301:YES)、情報更新部204は状態更新処理を実行する(ステップS302)。状態更新処理は、状態情報記憶部201が記憶する第2の状態情報を更新する処理である。尚、状態更新処理の詳細については後述する。情報更新部204が状態更新処理を実行し終えると、センタサーバ200は動作を終える。
一方、起動通知受信部202は起動通知を受信していないと判断した場合(ステップS301:NO)、次いで、状態情報管理部205はプロセス終了予測時刻を経過したか否かを判断する(ステップS303)。例えば、状態情報管理部205は状態情報記憶部201に定期的にアクセスし、プロセス終了予測時刻を経過した第2の状態情報があるか否かを判断する。状態情報管理部205はプロセス終了予測時刻を経過したと判断した場合(ステップS303:YES)、情報更新部204はステップS302の処理を実行する。情報更新部204が状態更新処理を実行し終えると、センタサーバ200は動作を終える。
一方、状態情報管理部205はプロセス終了予測時刻を経過していないと判断した場合(ステップS303:NO)、更新要求受信部203は更新要求を受信したか否かを判断する(ステップS304)。更新要求受信部203は更新要求を受信したと判断した場合(ステップS304:YES)、情報更新部204は状態補正処理を実行する(ステップS305)。状態補正処理は、状態情報記憶部201が記憶する第2の状態情報を補正する処理である。尚、状態補正処理の詳細については後述する。情報更新部204が状態補正処理を実行し終えると、センタサーバ200は動作を終える。また、更新要求受信部203は更新要求を受信していないと判断した場合(ステップS304:NO)も同様に、センタサーバ200は動作を終える。
次に、図8を参照して、上述した状態更新処理について説明する。
図8は状態更新処理の一例を示すフローチャートである。上述したように、ステップS301の処理で起動通知受信部202が起動通知を受信したと判断した場合や、ステップS303の処理で状態情報管理部205がプロセス終了予測時刻を経過したと判断した場合、情報更新部204はプロセスIDを選択する(ステップS401)。より詳しくは、情報更新部204は起動通知受信部202から出力された起動通知に基づいて、起動通知を送信したエッジサーバ100を特定し、特定したエッジサーバ100における第2の状態情報の中からいずれかのプロセスIDを選択する。
ステップS401の処理が完了すると、次いで、情報更新部204は選択したプロセスIDが特定するプロセスの終了時刻を予測する(ステップS402)。ステップS402の処理が完了した場合、情報更新部204は全プロセスIDが終了したか否かを判断する(ステップS403)。言い換えれば、情報更新部204はまだ選択していないプロセスIDがあるか否かを判断する。情報更新部204は全プロセスIDが終了していないと判断した場合(ステップS403:NO)、再び、ステップS401の処理を実行する。一方、情報更新部204は全プロセスIDが終了したと判断した場合(ステップS403:YES)、状態更新処理を終える。
ここで、図9を参照して、上述したプロセスの終了時刻の予測をさらに詳しく説明する。
図9(a)~(c)はプロセスの終了時刻の予測を説明するための図である。まず、図9(a)に示すように、情報更新部204が時刻「0」にプロセスAの処理量「150」を含む起動通知を起動通知受信部202から受け付けた場合、起動通知を送信したエッジサーバ100が処理能力「10」であると、情報更新部204は1つのプロセスAの処理量「150」を処理能力「10」で処理するため、プロセスAの終了時刻「15」(=処理量/処理能力)を予測する。すなわち、情報更新部204は起動時刻を現在時刻とした場合、プロセスAが現在時刻から時刻「15」を経過すると離脱すると予測する。尚、時刻の単位は特に限定されず、例えば時間、分、秒などいずれでもよい。
次に、図9(b)に示すように、プロセスAが到着した時刻「0」から時刻「5」が経過した現在時刻に、プロセスBの処理量「200」を含む起動通知を起動通知受信部202から受け付けた場合、まず、情報更新部204はプロセスAの残りの処理量を算出する。具体的には、1つのプロセスAを処理するために処理能力「10」の全てを使用し、現在時刻まで経過時間「5」(=時刻「5」-時刻「0」)であるため、情報更新部204は時刻「0」から時刻「5」までに処理した処理量「50」(=(処理能力/現在時刻までのプロセス数)*(現在時刻-プロセスAの起動時刻))を算出する。このため、情報更新部204はプロセスAの残りの処理量「100」(=処理量「150」-処理量「50」)を算出する。
一方、プロセスBが到着したことにより、エッジサーバ100は時刻「5」以後の処理は2つのプロセスA,Bを処理するために処理能力「10」の全てを使用する。このため、エッジサーバ100はプロセスAとプロセスBのそれぞれを処理能力「5」(=処理能力/新たなプロセス数)で処理する。したがって、情報更新部204はプロセスAの残りの処理量「100」を処理能力「5」で処理するため、処理時間「20」(処理量/処理能力)を算出する。そして、現在時刻「5」であるため、情報更新部204はプロセスAの新たな終了時刻「25」(=現在時刻+処理時間)を予測する。このため、情報更新部204はプロセスAの終了時刻「15」を新たな終了時刻「25」に更新し、その情報を状態情報記憶部201(具体的にはプロセス終了予測時刻)に登録する。
また、プロセスBはまだ処理されていないため、情報更新部204はプロセスBの残りの処理量「200」を処理能力「5」で処理するため、処理時間「40」(処理量/処理能力)を算出する。そして、現在時刻「5」であるため、情報更新部204はプロセスBの終了時刻「45」(=現在時刻+処理時間)を予測する。このため、情報更新部204はプロセスBの離脱時刻「45」の情報を状態情報記憶部201(具体的にはプロセス終了予測時刻)に登録する。
次に、図9(c)に示すように、現在時刻がプロセスAの終了時刻「25」を経過すると、プロセスAが終了して離脱する。エッジサーバ100は時刻「25」以前の処理は2つのプロセスA,Bを処理するために処理能力「5」を使用している。ここで、プロセスBの起動時刻から現在時刻までは経過時間「20」(=時刻「25」-時刻「5」)であるため、情報更新部204は時刻「25」から時刻「5」までに処理した処理量「100」(=(処理能力/現在時刻までのプロセス数)*(現在時刻-プロセスBの起動時刻))を算出する。このため、情報更新部204はプロセスBの残りの処理量「100」(=処理量「200」-処理量「100」)を算出する。
一方、プロセスAが離脱したことにより、エッジサーバ100は時刻「25」以後の処理は1つのプロセスBを処理するために処理能力「10」の全てを使用する。このため、エッジサーバ100はプロセスBを処理能力「10」(=処理能力/新たなプロセス数)で処理する。したがって、情報更新部204はプロセスBの残りの処理量「100」を処理能力「10」で処理するため、処理時間「10」(処理量/処理能力)を算出する。そして、現在時刻「25」であるため、情報更新部204はプロセスBの新たな終了時刻「35」(=現在時刻+処理時間)を予測する。このため、情報更新部204はプロセスBの終了時刻「45」を新たな終了時刻「35」に更新し、その情報を状態情報記憶部201(具体的にはプロセス終了予測時刻)に登録する。
次に、図10を参照して、上述した状態補正処理について説明する。
図10は状態補正処理の一例を示すフローチャートである。上述したように、ステップS304の処理で更新要求受信部203が更新要求を受信したと判断した場合、情報更新部204はプロセス状態のリストをソートする(ステップS501)。より詳しくは、情報更新部204は更新要求受信部203から出力された更新要求から第1の状態情報(図4(c)参照)のリストを取得し、取得したリストをプロセス起動時刻順に並び替える。ステップS501の処理が完了すると、次いで、情報更新部204はリストから順にプロセスIDを選択する(ステップS502)。
ステップS502の処理が完了すると、次いで、情報更新部204は第2の状態情報からプロセスIDを選択する(ステップS503)。より詳しくは、情報更新部204は更新要求に基づいて、更新要求を送信したエッジサーバ100を特定し、特定したエッジサーバ100における第2の状態情報(図4(d)参照)の中からいずれかのプロセスIDを選択する。
ステップS503の処理が完了すると、次いで、情報更新部204はプロセス終了予測時刻を更新する(ステップS504)。より詳しくは、情報更新部204は選択したプロセスIDが特定する第2の状態情報に含まれるプロセス終了予測時刻を、第1の状態情報に含まれるプロセス終了時刻に更新する。これにより、第2の状態情報に含まれるプロセス終了予測時刻は、実際にプロセスが終了した時刻に補正される。
ステップS504の処理が完了すると、次いで、情報更新部204は第2の状態情報に含まれる全プロセスIDが終了したか否かを判断する(ステップS505)。言い換えれば、情報更新部204は第2の状態情報の中にまだ選択していないプロセスIDがあるか否かを判断する。情報更新部204は第2の状態情報に含まれる全プロセスIDが終了していないと判断した場合(ステップS505:NO)、再び、ステップS503の処理を実行する。
一方、情報更新部204は第2の状態情報に含まれる全プロセスIDが終了したと判断した場合(ステップS505:YES)、次いで、第1の状態情報のリストに含まれる全プロセスIDが終了したか否かを判断する(ステップS506)。言い換えれば、情報更新部204は第1の状態情報の中にまだ選択していないプロセスIDがあるか否かを判断する。情報更新部204は第1の状態情報のリストに含まれる全プロセスIDが終了していないと判断した場合(ステップS506:NO)、再び、ステップS502の処理を実行する。一方、情報更新部204は第1の状態情報のリストに含まれる全プロセスIDが終了したと判断した場合(ステップS506:YES)、状態補正処理を終える。
以上、本実施形態によれば、分散プロセス管理システムSは、デバイス300から送出されたデータを受信した場合、データの内容に対応するプロセスを起動して実行するエッジサーバ100とプロセスの状態を管理するセンタサーバ200とを含んでいる。特に、エッジサーバ100はプロセスを起動する度に、プロセスの起動時刻と処理量とを含む起動通知をセンタサーバ200に送信する。一方、センタサーバ200は起動時刻と処理量を含む起動通知が送信される度に、起動時刻と処理量とに基づいてプロセスの終了時刻を予測して更新する。
これにより、エッジサーバ100とセンタサーバ200間のメッセージ数の増大を抑制することができる。特に、エッジサーバ100のコンピュータリソースが少ない場合でも、エッジサーバ100は処理量とその処理量の移動平均の計算といった負荷が低い処理を担当し、センタサーバ200はプロセスの終了時刻の予測といった負荷が重い処理を担当するため、エッジサーバ100は負荷が低い処理を十分に実行することができる。そして、通信ネットワークNW1が不安定な場合でも、通信ネットワークNW1が安定したときにエッジサーバ100が実行するプロセスの状態が送信されるため、センタサーバ200はプロセスの管理を維持することができる。
また、図11に示すように、閾値処理量を超える処理量Xは起動通知に含まれて送信対象となるが、閾値処理量以下の4つの処理量Y1,Y2,Y3,Y4は起動通知に含まれずに送信対象外となる。仮に、処理量Xも処理量Y1,Y2,Y3,Y4もその都度、エッジサーバ100からセンタサーバ200に送信されると、5回の起動通知が発生して送信されるが、本実施形態によれば、処理量Y1,Y2,Y3,Y4は送信されないため、送信対象が5分の1に抑制される。さらに、本実施形態によれば、プロセスが起動した場合に起動通知が送信されるが、プロセスが終了した場合の通知は発生しない。すなわち、エッジサーバ100からセンタサーバ200に送信される通知は2分の1に抑制される。このため、全体として、エッジサーバ100からセンタサーバ200に通知されるメッセージは10分の1に抑制することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、プロセスの処理において、処理の優先度を設定してもよい。仮に、プロセスAの処理量「10」、処理の優先度「2」が設定された場合、情報処理部106は処理時間「20」(=処理量×優先度)を算出する。同様に、プロセスBの処理量「10」、処理の優先度「1」が設定された場合、情報処理部106は処理時間「10」を算出する。情報処理部106が算出したこれらの処理時間は上述した数式(1)に適用できるため、処理の優先度が考慮された場合も、上述した実施形態で実現することができる。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、前記エッジサーバは、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、前記センタサーバは、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、ことを特徴とする分散プロセス管理システム。
(付記2)前記エッジサーバは、前記処理量が閾値処理量より大きい場合に、前記プロセスの起動時刻と処理量とを通知する、ことを特徴とする付記1に記載の分散プロセス管理システム。
(付記3)前記エッジサーバは、前記センタサーバとの通信が遮断した場合、前記プロセスの終了時刻を保持し、前記センタサーバとの通信が復帰した場合、前記プロセスの終了時刻を前記センタサーバに送信し、前記センタサーバは、予測した前記プロセスの終了時刻を受信した前記プロセスの終了時刻に補正する、ことを特徴とする付記1又は2に記載の分散プロセス管理システム。
(付記4)前記エッジサーバは、前記プロセスを終了した場合、前記プロセスの終了時刻を前記センタサーバに通知しない、ことを特徴とする付記1から3のいずれか1項に記載の分散プロセス管理システム。
(付記5)デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するステップと、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するステップとを第1のコンピュータが実行し、前記プロセスの状態を管理するステップと、前記第1のコンピュータから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するステップとを第2のコンピュータが実行する、ことを特徴とする分散プロセス管理方法。
(付記6)前記第1のコンピュータは、前記処理量が閾値処理量より大きい場合に、前記プロセスの起動時刻と処理量とを通知する、ことを特徴とする付記5に記載の分散プロセス管理方法。
(付記7)前記第1のコンピュータは、前記第2のコンピュータとの通信が遮断した場合、前記プロセスの終了時刻を保持し、前記第2のコンピュータとの通信が復帰した場合、前記プロセスの終了時刻を前記第2のコンピュータに送信し、前記第2のコンピュータは、予測した前記プロセスの終了時刻を受信した前記プロセスの終了時刻に補正する、ことを特徴とする付記5又は6に記載の分散プロセス管理方法。
(付記8)前記第1のコンピュータは、前記プロセスを終了した場合、前記プロセスの終了時刻を前記第2のコンピュータに通知しない、ことを特徴とする付記5から7のいずれか1項に記載の分散プロセス管理方法。
(付記9)デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行する処理部と、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを、前記プロセスの状態を管理し、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するセンタサーバに通知する通知部と、を含む情報処理装置。
(付記10)デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行し、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するエッジサーバと通信可能な情報処理装置であって、前記プロセスの状態を管理する管理部と、前記エッジサーバから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する更新部と、を含む情報処理装置。
S 分散プロセス管理システム
100 エッジサーバ
101 プロセス情報記憶部
102 処理量情報記憶部
103 状態情報記憶部
104 データ処理部
105 通信状態監視部
106 情報処理部
107 起動通知送信部
108 更新要求送信部
200 センタサーバ
201 状態情報記憶部
202 起動通知受信部
203 更新要求受信部
204 情報更新部
205 状態情報管理部
300 デバイス

Claims (7)

  1. デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するエッジサーバと前記プロセスの状態を管理するセンタサーバとを含む分散プロセス管理システムであって、
    前記エッジサーバは、
    前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを前記センタサーバに通知し、
    前記センタサーバは、
    前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する、
    ことを特徴とする分散プロセス管理システム。
  2. 前記エッジサーバは、前記処理量が閾値処理量より大きい場合に、前記プロセスの起動時刻と処理量とを通知する、
    ことを特徴とする請求項1に記載の分散プロセス管理システム。
  3. 前記エッジサーバは、前記センタサーバとの通信が遮断した場合、前記プロセスの終了時刻を保持し、前記センタサーバとの通信が復帰した場合、前記プロセスの終了時刻を前記センタサーバに送信し、
    前記センタサーバは、予測した前記プロセスの終了時刻を受信した前記プロセスの終了時刻に補正する、
    ことを特徴とする請求項1又は2に記載の分散プロセス管理システム。
  4. 前記エッジサーバは、前記プロセスを終了した場合、前記プロセスの終了時刻を前記センタサーバに通知しない、
    ことを特徴とする請求項1又は2に記載の分散プロセス管理システム。
  5. デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行するステップと、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するステップとを第1のコンピュータが実行し、
    前記プロセスの状態を管理するステップと、前記第1のコンピュータから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するステップとを第2のコンピュータが実行する、
    ことを特徴とする分散プロセス管理方法。
  6. デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行する処理部と、
    前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを、前記プロセスの状態を管理し、前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新するセンタサーバに通知する通知部と、
    を含む情報処理装置。
  7. デバイスから送出されたデータを受信した場合に前記データの内容に対応するプロセスを起動して実行し、前記プロセスを起動する度に、前記プロセスの起動時刻と処理量とを通知するエッジサーバと通信可能な情報処理装置であって、
    前記プロセスの状態を管理する管理部と、
    前記エッジサーバから前記起動時刻と前記処理量が通知される度に、前記起動時刻と前記処理量とに基づいて前記プロセスの終了時刻を予測して更新する更新部と、
    を含む情報処理装置。
JP2017192485A 2017-10-02 2017-10-02 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置 Active JP7009894B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017192485A JP7009894B2 (ja) 2017-10-02 2017-10-02 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置
US16/145,335 US10958716B2 (en) 2017-10-02 2018-09-28 Distributed process management system, distributed process management method for suppressing number of messages between computers, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017192485A JP7009894B2 (ja) 2017-10-02 2017-10-02 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2019067176A JP2019067176A (ja) 2019-04-25
JP7009894B2 true JP7009894B2 (ja) 2022-01-26

Family

ID=65898160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017192485A Active JP7009894B2 (ja) 2017-10-02 2017-10-02 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置

Country Status (2)

Country Link
US (1) US10958716B2 (ja)
JP (1) JP7009894B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7171614B2 (ja) * 2017-12-20 2022-11-15 フェリカネットワークス株式会社 情報処理装置および情報処理方法
US11582152B2 (en) * 2020-01-29 2023-02-14 Hewlett Packard Enterprise Development Lp Method and system for data management in an edge server
JP7483463B2 (ja) 2020-03-30 2024-05-15 キヤノン株式会社 情報処理装置、制御方法、プログラム及び情報処理システム
CN113783731A (zh) * 2021-09-15 2021-12-10 云茂互联智能科技(厦门)有限公司 边缘服务器的控制方法、装置、存储介质及电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134473A (ja) 1999-11-08 2001-05-18 Nec Corp 負荷監視・連動処理自動起動方式
JP2013077143A (ja) 2011-09-30 2013-04-25 Brother Ind Ltd 画像形成管理装置、画像形成管理システムおよび画像形成管理プログラム
JP2017027240A (ja) 2015-07-17 2017-02-02 富士ゼロックス株式会社 ジョブ処理システム、ジョブ処理装置及びジョブ処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123768A (ja) 1994-10-21 1996-05-17 Mitsubishi Electric Corp 分散システム管理方式及び分散システム管理方法
JPH098850A (ja) * 1995-06-15 1997-01-10 Mitsubishi Electric Corp データバッファリングシステム
US6618820B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
JP4602535B2 (ja) * 2000-11-17 2010-12-22 富士通株式会社 スケジュール実行管理装置および管理方法
US7945909B2 (en) * 2003-05-09 2011-05-17 Sap Aktiengesellschaft Initiating recovery of an executing task using historical information and task information
US8032867B2 (en) * 2007-06-05 2011-10-04 Computer Associates Think, Inc. Programmatic root cause analysis for application performance management
JP2009246690A (ja) 2008-03-31 2009-10-22 Fujitsu Ltd ネットワーク負荷分散システム、ネットワーク負荷分散方法、及びネットワーク負荷分散プログラム
US8566287B2 (en) * 2010-01-29 2013-10-22 Hewlett-Packard Development Company, L.P. Method and apparatus for scheduling data backups
US9098344B2 (en) 2011-12-27 2015-08-04 Microsoft Technology Licensing, Llc Cloud-edge topologies
JP2017126238A (ja) 2016-01-15 2017-07-20 日本電気株式会社 システム管理装置、情報処理システム、システム管理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134473A (ja) 1999-11-08 2001-05-18 Nec Corp 負荷監視・連動処理自動起動方式
JP2013077143A (ja) 2011-09-30 2013-04-25 Brother Ind Ltd 画像形成管理装置、画像形成管理システムおよび画像形成管理プログラム
JP2017027240A (ja) 2015-07-17 2017-02-02 富士ゼロックス株式会社 ジョブ処理システム、ジョブ処理装置及びジョブ処理プログラム

Also Published As

Publication number Publication date
JP2019067176A (ja) 2019-04-25
US20190104173A1 (en) 2019-04-04
US10958716B2 (en) 2021-03-23

Similar Documents

Publication Publication Date Title
JP7009894B2 (ja) 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置
US9955290B2 (en) Opportunistic offloading of tasks between nearby computing devices
US20240031426A1 (en) Cross Device Application Discovery And Control
CN107251533B (zh) 用于对等匹配的位于一处的对等设备
US10027743B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
JP6902237B2 (ja) 地理的領域についてのロケーションベースサービスゾーン管理
US20160183247A1 (en) Wireless media usage, channel aggregation, and full-duplex communications
US8819278B2 (en) System and method for delivering alerts
US20180039519A1 (en) Systems and methods for managing processing load
US20100191848A1 (en) Information sharing method between neighboring nodes, node and information sharing program
US10467531B2 (en) Server-managed, triggered device actions
CN111614748A (zh) 可扩展的对等匹配
CN110609738A (zh) 自适应数据同步
EP3058705B1 (en) Data classification for adaptive synchronization
JP2019128755A (ja) 情報処理装置、状態監視システムおよびプログラム
US20130346959A1 (en) Terminal managing server device, terminal device, and terminal managing method
US20140244728A1 (en) Controller, method for controlling, and computer-readable recording medium having stored therein control program
JP7055090B2 (ja) 情報処理プログラム、情報処理装置及び情報処理方法
JP2013169119A (ja) 電力管理装置、コンテンツ配信装置、及び電力管理装置における制御方法
JP2011124677A (ja) パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法
EP2907346B1 (en) Method, node and computer program for reset of timers
JP5804499B2 (ja) データ転送装置、スリープ制御方法、プログラム
US11178058B2 (en) Information processing device, information processing method and recording medium
JP6792543B2 (ja) 通信不可時間推定装置、通信不可時間推定方法、及びプログラム
JP6412203B2 (ja) 電力管理システム、コンテンツ配信装置、及び電力管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227

R150 Certificate of patent or registration of utility model

Ref document number: 7009894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150