JP7384215B2 - 負荷分散システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム - Google Patents

負荷分散システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム Download PDF

Info

Publication number
JP7384215B2
JP7384215B2 JP2021554465A JP2021554465A JP7384215B2 JP 7384215 B2 JP7384215 B2 JP 7384215B2 JP 2021554465 A JP2021554465 A JP 2021554465A JP 2021554465 A JP2021554465 A JP 2021554465A JP 7384215 B2 JP7384215 B2 JP 7384215B2
Authority
JP
Japan
Prior art keywords
processing unit
processing
unit
load
overload
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
JP2021554465A
Other languages
English (en)
Other versions
JPWO2021090399A5 (ja
JPWO2021090399A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021090399A1 publication Critical patent/JPWO2021090399A1/ja
Publication of JPWO2021090399A5 publication Critical patent/JPWO2021090399A5/ja
Application granted granted Critical
Publication of JP7384215B2 publication Critical patent/JP7384215B2/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/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は、負荷分散システム、負荷分散装置、負荷分散方法、及びコンピュータ可読媒体に関する。
近年、映像認識の分野では、認識対象や適用場所が多様化しており、それに伴い、機能追加やカメラ数の拡大等のシステムの変更・拡張を柔軟に行いたいというニーズがある。このニーズを受けて、システムの処理を複数の処理に分散させ、複数の処理を疎結合させた、マイクロサービスアーキテクチャと呼ばれるシステムが注目されている。
複数の処理を疎結合させたシステムでは、複数の処理の各々が、前段の処理結果を順次処理していくことになる。例えば、映像認識システムの場合、映像取得処理、物体検出処理、物体照合処理等の複数の処理を疎結合させてシステムを構築する。
ここで、各処理の処理能力を高める手法としては、該当する処理のリソースを増加させる、スケールアウトと呼ばれる手法が存在する。リソースのスケールアウトを行う関連技術としては、例えば、特許文献1に開示された技術が挙げられる。
特許文献1に開示された技術によれば、サーバ装置が過負荷傾向にあり、かつ、サーバ装置による情報処理の実行時のセキュリティ違反が増加傾向にない場合は、サーバ装置をスケールアウトする。
特開2015-219753号公報
しかし、複数の処理を疎結合させたシステムに、特許文献1に開示された技術を適用した場合、対象段の処理に過負荷が発生したことに起因して、対象段の処理のリソースを増加させると、後段の処理の負荷が急激に増加してしまう。その結果、処理対象がデータサイズの大きな映像等である場合には、後段の処理に過負荷が発生してしまうおそれがある。
そこで本開示の目的は、上述した課題を解決し、後段に過負荷を発生させることなく、対象段のリソースのスケールアウトを実現することができる負荷分散システム、負荷分散装置、負荷分散方法、及びコンピュータ可読媒体を提供することにある。
一態様による負荷分散システムは、
第1の処理部と、
前記第1の処理部の処理結果を処理する第2の処理部と、
前記第2の処理部の処理結果を処理する第3の処理部と、
前記第1の処理部のリソースを管理する第1のリソース管理部と、
前記第2の処理部のリソースを管理する第2のリソース管理部と、
前記第3の処理部のリソースを管理する第3のリソース管理部と、を備え、
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したか否かを検出し、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始し、
前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第3の処理部のリソースの追加を開始し、
前記第1のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始し、
前記第1のリソース管理部は、前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する。
一態様による負荷分散装置は、
第1の処理部と、
前記第1の処理部の処理結果を処理する第2の処理部と、
前記第2の処理部の処理結果を処理する第3の処理部と、
前記第1の処理部のリソースを管理する第1のリソース管理部と、
前記第2の処理部のリソースを管理する第2のリソース管理部と、
前記第3の処理部のリソースを管理する第3のリソース管理部と、を備え、
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したか否かを検出し、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始し、
前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第3の処理部のリソースの追加を開始し、
前記第1のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始し、
前記第1のリソース管理部は、前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する。
一態様による負荷分散方法は、
第1の処理部と、前記第1の処理部の処理結果を処理する第2の処理部と、前記第2の処理部の処理結果を処理する第3の処理部と、を備える負荷分散装置が行う負荷分散方法であって、
前記第2の処理部に過負荷が発生したか否かを検出する第1のステップと、
前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部及び前記第3の処理部のリソースの追加を開始すると共に、前記第1の処理部の処理量の抑制を開始する第2のステップと、
前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する第3のステップと、
を含む。
一態様によるコンピュータ可読媒体は、
第1の処理部と、前記第1の処理部の処理結果を処理する第2の処理部と、前記第2の処理部の処理結果を処理する第3の処理部と、を備えるコンピュータに、
前記第2の処理部に過負荷が発生したか否かを検出する第1の手順と、
前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部及び前記第3の処理部のリソースの追加を開始すると共に、前記第1の処理部の処理量の抑制を開始する第2の手順と、
前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する第3の手順と、
を実行させるための負荷分散プログラムが格納された非一時的なコンピュータ可読媒体である。
上述の態様によれば、後段に過負荷を発生させることなく、対象段のリソースのスケールアウトを実現可能な負荷分散システム、負荷分散装置、負荷分散方法、及びコンピュータ可読媒体を提供できるという効果が得られる。
実施の形態の概要に係る負荷分散システムの構成例を示すブロック図である。 実施の形態の概要に係る負荷分散システムの動作例を示す図である。 実施の形態に係る負荷分散システムの構成例を示すブロック図である。 実施の形態に係る負荷分散システムにおいて、複数の処理部のいずれかに過負荷が発生した場合に行われるリソース追加処理の例を示すフローチャートである。 図4のステップS202の律速開始処理の例を示すフローチャートである。 図4のステップS209の律速解除処理の例を示すフローチャートである。 図4のステップS206のリソース調整処理の例を示すフローチャートである。 実施の形態の具体例に係る負荷分散システムの構成例を示すブロック図である。 実施の形態の具体例に係る映像取得処理部が取得する映像の例を示す図である。 実施の形態の具体例に係る負荷分散システムの動作例を示すタイミングチャートである。 実施の形態に係る負荷分散システムを実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、本開示の実施の形態について図面を参照して詳細に説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。また、以下の実施の形態に示す具体的な数値等は、本開示の理解を容易とするための例示にすぎず、それに限定されるものではない。
<実施の形態の概要>
本実施の形態を説明する前に、本実施の形態の概要について説明する。
まず、図1を参照して、本実施の形態の概要に係る負荷分散システム1の構成例について説明する。
図1に示されるように、本実施の形態の概要に係る負荷分散システム1は、互いに疎結合された処理部10-1~10-3と、リソース管理部20-1~20-3と、を備えている。以下、処理部10-1~10-3を特に区別することなく言及する場合には、単に「処理部10」と呼ぶことがある。同様に、リソース管理部20-1~20-3は、単に「リソース管理部20」と呼ぶことがある。なお、図1は、3つの処理部10-1~10-3が疎結合された例、すなわち、処理の段数が3段の例であるが、処理の段数は3段以上であれば良い。
処理部10-2は、処理部10-1の処理結果を処理する。
処理部10-3は、処理部10-2の処理結果を処理する。
なお、処理部10-1~10-3は、不図示のバッファを備えており、処理対象をバッファに一時的に格納した後に、その処理対象の処理を行うものとする。ただし、バッファは、処理部10の内部に設けることには限定されず、処理部10の前段に設けても良い。
リソース管理部20-1は、処理部10-1のリソースを管理する。
リソース管理部20-2は、処理部10-2のリソースを管理する。
リソース管理部20-3は、処理部10-3のリソースを管理する。
続いて、図2を参照して、本実施の形態の概要に係る負荷分散システム1の動作例について説明する。
図2に示されるように、リソース管理部20-2は、処理部10-2に過負荷が発生したことを検出したとする(ステップS101)。
すると、リソース管理部20-2は、リソース管理部20-1に対し、処理部10-1の処理量を抑制すること(すなわち、処理部10-1を律速すること)を依頼する律速依頼を送信する(ステップS102)。リソース管理部20-1は、リソース管理部20-2から律速依頼を受信した場合、処理部10-1の処理量の抑制を開始する(ステップS103)。例えば、リソース管理部20-1は、処理部10-1の処理速度を下げる。
また、リソース管理部20-2は、リソース管理部20-3に対し、処理部10-3のリソースを追加することを依頼するリソース追加依頼を送信する(ステップS104)。リソース管理部20-3は、リソース管理部20-2からリソース追加依頼を受信した場合、処理部10-3のリソースの追加を開始する(ステップS105)。また、リソース管理部20-3は、処理部10-3のリソースの追加が完了した場合、リソース管理部20-2に対し、処理部10-3のリソースの追加が完了したことを通知するリソース追加完了通知を送信する(ステップS106)。
また、リソース管理部20-2は、処理部10-2のリソースの追加を開始する(ステップS107)。
リソース管理部20-2は、処理部10-2のリソースの追加が完了し、かつ、リソース管理部20-3からリソース追加完了通知を受信した場合、リソース管理部20-1に対し、処理部10-1の処理量の抑制を解除すること(すなわち、処理部10-1の律速を解除すること)を依頼する律速解除依頼を送信する(ステップS108)。リソース管理部20-1は、リソース管理部20-2から律速解除依頼を受信した場合、処理部10-1の処理量の抑制を解除する(ステップS109)。例えば、リソース管理部20-1は、処理部10-1の処理速度を元に戻す。
なお、図2の例では、処理部10-2,10-3のリソースの追加を開始する前に、処理部10-1の処理量の抑制を開始しているが、これには限定されない。例えば、処理部10-2,10-3のリソースの追加の開始と、処理部10-1の処理量の抑制の開始と、を同時に行っても良い。又は、処理部10-2,10-3のリソースの追加を開始した後に、処理部10-1の処理量の抑制を開始しても良い。
上述したように、本実施の形態の概要に係る負荷分散システム1によれば、対象段の処理部10-2に過負荷が発生したことを検出した場合、対象段の処理部10-2に加えて、後段の処理部10-3のリソースも追加を開始し、対象段及び後段の処理部10-2,10-3のリソースの追加が完了するまで、前段の処理部10-1の処理量を抑制する。
これにより、対象段の処理部10-2に過負荷が発生した場合に、後段の処理部10-3に過負荷を発生させることなく、対象段の処理部10-2のリソースのスケールアウトを実現することができる。
また、対象段の処理部10-2のリソースをスケールアウトしても、3つの処理部10-1~10-3の疎結合性を維持できるため、スケールアウトによるシステムの変更範囲を最小限に維持することができる。
なお、本実施の形態の概要に係る負荷分散システム1は、処理部10-2に過負荷が発生したことを検出した場合、処理部10-2に加えて、処理部10-3のリソースも追加している。しかし、処理部10-2のリソースを追加しても、処理部10-3に過負荷が発生しない場合もあり得る。このような場合にまで、処理部10-3のリソースを追加すると、追加したリソースが無駄になる、リソース効率が悪化する、等の問題が発生してしまう。
そこで、リソース管理部20-2は、処理部10-2に過負荷が発生したことを検出した場合、処理部10-2のリソースを追加することにより、後段の処理部10-3に過負荷が発生する可能性があるか否かを判断しても良い。そして、リソース管理部20-2は、後段の処理部10-3に過負荷が発生する可能性があると判断した場合に、処理部10-3のリソースを追加することを決定し、リソース管理部20-3に対し、リソース追加依頼を送信しても良い。
<実施の形態>
続いて、本実施の形態について説明する。
まず、図3を参照して、本実施の形態に係る負荷分散システム1Aの構成例について説明する。
図3に示されるように、本実施の形態に係る負荷分散システム1Aは、互いに疎結合された処理部10-1~10-n(nは3以上の整数)と、内容監視部21-1~21-nと、負荷監視部22-1~22-nと、リソース制御部23-1~23-nと、リソース調整部24-1~24-nと、を備えている。以下、内容監視部21-1~21-nを特に区別することなく言及する場合には、単に「内容監視部21」と呼ぶことがある。同様に、負荷監視部22-1~22-nは、単に「負荷監視部22」と呼び、リソース制御部23-1~23-nは、単に「リソース制御部23」と呼び、リソース調整部24-1~24-nは、単に「リソース調整部24」と呼ぶことがある。なお、内容監視部21、負荷監視部22、リソース制御部23、及びリソース調整部24からなる構成が、図1のリソース管理部20に対応する。
処理部10は、例えば、映像や前段の処理部10による映像の解析処理結果に対する解析処理を行い、解析処理結果を後段の処理部10に出力する。
内容監視部21は、自段の処理部10の処理内容を監視し、監視結果を自段のリソース調整部24に出力する。
負荷監視部22は、自段の処理部10の処理負荷を監視し、監視結果を自段のリソース調整部24に出力する。
リソース制御部23は、自段のリソース調整部24の制御の下で、自段の処理部10の処理量の増減及びリソースの増減を行う。
リソース調整部24は、自段の負荷監視部22から、自段の処理部10の処理負荷の監視結果を取得する。そして、リソース調整部24は、自段の処理部10の処理負荷に基づいて、自段の処理部10に過負荷が発生したか否かを検出する。
リソース調整部24は、自段の処理部10に過負荷が発生したことを検出した場合、前段のリソース調整部24に対し、律速依頼を送信する。また、リソース調整部24は、自段のリソース制御部23を制御して、自段の処理部10のリソースの追加を開始する。
リソース調整部24は、自段の処理部10に過負荷が発生したことを検出した場合、自段の内容監視部21及び負荷監視部22から、自段の処理部10の処理内容及び処理負荷の監視結果を取得すると共に、後段の負荷監視部22から、後段のリソース調整部24を介して、後段の処理部10の処理負荷の監視結果を取得する。そして、リソース調整部24は、自段の処理部10の処理内容及び処理負荷と、後段の処理部10の処理負荷と、に基づいて、自段の処理部10にリソースを追加することにより、後段の処理部10に過負荷が発生する可能性があるか否かを判断する。
リソース調整部24は、後段の処理部10に過負荷が発生する可能性があると判断した場合、後段のリソース調整部24に対し、リソース追加依頼を送信する。
リソース調整部24は、前段のリソース調整部24からリソース追加依頼を受信した場合、自段のリソース制御部23を制御して、自段の処理部10のリソースの追加を開始する。また、リソース調整部24は、自段の処理部10のリソースの追加が完了した場合、前段のリソース調整部24に対し、リソース追加完了通知を送信する。
リソース調整部24は、自段の処理部10のリソースの追加が完了した場合、又は、自段の処理部10のリソースの追加が完了し、かつ、後段のリソース調整部24からリソース追加完了通知を受信した場合、前段のリソース調整部24に対し、律速解除依頼を送信する。
リソース調整部24は、後段のリソース調整部24から律速依頼を受信した場合、自段のリソース制御部23を制御して、自段の処理部10の処理量の抑制を開始する。また、リソース調整部24は、後段のリソース調整部24から律速解除依頼を受信した場合、自段のリソース制御部23を制御して、自段の処理部10の処理量の抑制を解除する。
なお、リソース調整部24は、自段の処理部10のリソースを追加する場合、自段の処理部10の処理内容及び処理負荷に基づいて、自段の処理部10にリソースを追加するタイミング及び追加するリソース量を決定しても良い。そして、リソース調整部24は、決定したタイミングで決定したリソース量を自段の処理部10に追加しても良い。
また、リソース調整部24は、後段の処理部10のリソースを追加する場合、後段の処理部10の処理内容及び処理負荷に基づいて、後段の処理部10にリソースを追加するタイミング及び追加するリソース量を決定しても良い。そして、リソース調整部24は、後段のリソース調整部24に送信するリソース追加依頼において、決定したタイミングで決定したリソース量を後段の処理部10に追加することを依頼しても良い。
また、最前段のリソース調整部24-1は、自段の処理部10-1に過負荷が発生したことを検出した場合、律速依頼や律速解除依頼の送信を省略する。これ以外は、リソース調整部24-1は、他のリソース調整部24と同様の動作を行えば良い。
また、最後段のリソース調整部24-nは、自段の処理部10-nに過負荷が発生したことを検出した場合、後段の処理部10の過負荷の判断やリソース追加依頼の送信を省略する。これ以外は、リソース調整部24-nは、他のリソース調整部24と同様の動作を行えば良い。
続いて、本実施の形態に係る負荷分散システム1Aの動作例について説明する。
まず、図4を参照して、処理部10-1~10-nのいずれかに過負荷が発生した場合に行われるリソース追加処理の例について説明する。以下では、処理部10-2に過負荷が発生した場合のリソース追加処理の例について説明する。
図4に示されるように、リソース調整部24-2は、処理部10-2に過負荷が発生したことを検出すると、前段のリソース調整部24-1に対し、律速依頼を送信する(ステップS201)。これを受けて、リソース調整部24-1は、律速開始処理を行う(ステップS202)。律速開始処理については後述する。
続いて、リソース調整部24-2は、処理部10-2のリソースを追加することにより、後段の処理部10-3に過負荷が発生する可能性があるか否かを判断する(ステップS203)。
ステップS203において、後段の処理部10-3に過負荷が発生する可能性がない場合(ステップS203のNo)、リソース調整部24-2は、リソース制御部23-2を制御して、処理部10-2のリソースの追加を開始する(ステップS204)。
一方、ステップS203において、後段の処理部10-3に過負荷が発生する可能性がある場合(ステップS203のYes)、リソース調整部24-2は、後段のリソース調整部24-3に対し、リソース追加依頼を送信する(ステップS205)。これを受けて、リソース調整部24-3は、リソース調整処理を行う(ステップS206)。リソース調整処理については後述する。以降、リソース調整部24-2は、後段のリソース調整部24-3から、リソース追加完了通知を受信するまで待機する(ステップS207)。リソース調整部24-2は、後段のリソース調整部24-3からリソース追加完了通知を受信すると、リソース制御部23-2を制御して、処理部10-2のリソースの追加を開始する(ステップS204)。ただし、これには限定されず、リソース調整部24-2は、後段のリソース調整部24-3からのリソース追加完了通知を待たずに、処理部10-2のリソースの追加を開始しても良い。
リソース調整部24-2は、処理部10-2のリソースの追加が完了した場合、又は、処理部10-2のリソースの追加が完了し、かつ、後段のリソース調整部24-3からリソース追加完了通知を受信した場合、前段のリソース調整部24-1に対し、律速解除依頼を送信する(ステップS208)。これを受けて、リソース調整部24-1は、律速解除処理を行う(ステップS209)。律速解除処理については後述する。
以上で、リソース追加処理が終了する。
続いて、図5を参照して、図4のステップS202の律速開始処理の例について説明する。以下では、処理部10-2に過負荷が発生した場合に行われる律速開始処理の例について説明する。
図4のステップS201で説明したように、処理部10-2に過負荷が発生した場合、リソース調整部24-2からリソース調整部24-1に対し、律速依頼が送信される。
そのため、図5に示されるように、リソース調整部24-1は、後段のリソース調整部24-2から律速依頼を受信する(ステップS301)。
続いて、リソース調整部24-1は、リソース制御部23-1を制御して、処理部10-1の処理量の抑制を開始する(ステップS302)。例えば、リソース調整部24-1は、処理部10-1の処理速度を下げる。
以上で、律速開始処理が終了する。
続いて、図6を参照して、図4のステップS209の律速解除処理の例について説明する。以下では、処理部10-2に過負荷が発生した場合に行われる律速解除処理の例について説明する。
図4のステップS208で説明したように、処理部10-2に過負荷が発生し、その後、処理部10-2のリソースの追加が完了した場合、又は、処理部10-2のリソースの追加が完了し、かつ、後段のリソース調整部24-3からリソース追加完了通知を受信した場合、リソース調整部24-2からリソース調整部24-1に対し、律速解除依頼が送信される。
そのため、図6に示されるように、リソース調整部24-1は、後段のリソース調整部24-2から律速解除依頼を受信する(ステップS401)。
続いて、リソース調整部24-1は、リソース制御部23-1を制御して、処理部10-1の処理量の抑制を解除する(ステップS402)。例えば、リソース調整部24-1は、処理部10-1の処理速度を元に戻す。
以上で、律速解除処理が終了する。
続いて、図7を参照して、図4のステップS206のリソース調整処理の例について説明する。以下では、処理部10-2に過負荷が発生した場合に行われるリソース調整処理の例について説明する。
図4のステップS205で説明したように、処理部10-2に過負荷が発生し、かつ、処理部10-3に過負荷が発生する可能性がある場合、リソース調整部24-2からリソース調整部24-3に対し、リソース追加依頼が送信される。
そのため、図7に示されるように、リソース調整部24-3は、前段のリソース調整部24-2からリソース追加依頼を受信する(ステップS501)。
続いて、リソース調整部24-3は、処理部10-3の処理量を抑制中であるか否か(すなわち、律速中であるか否か)を判断する(ステップS502)。
ステップS502において、処理部10-3の処理量を抑制中ではない場合(ステップS502のNo)、リソース調整部24-3は、処理部10-3のリソースを追加することにより、後段の処理部10-4に過負荷が発生する可能性があるか否かを判断する(ステップS503)。
一方、ステップS502において、処理部10-3の処理量を抑制中である場合(ステップS502のYes)、リソース調整部24-3は、後段のリソース調整部24-4から律速解除依頼を受信するまで待機する(ステップS504)。リソース調整部24-3は、後段のリソース調整部24-4から律速解除依頼を受信すると、リソース制御部23-3を制御して、処理部10-3の処理量の抑制を解除する。続いて、リソース調整部24-3は、処理部10-3のリソースを追加することにより、後段の処理部10-4に過負荷が発生する可能性があるか否かを判断する(ステップS503)。ただし、これには限定されず、リソース調整部24-3は、後段のリソース調整部24-4からの律速解除依頼を待たずに、後段の処理部10-4に過負荷が発生する可能性を判断しても良い。
ステップS503において、後段の処理部10-4に過負荷が発生する可能性がない場合(ステップS503のNo)、リソース調整部24-3は、リソース制御部23-3を制御して、処理部10-3のリソースの追加を開始する(ステップS505)。
一方、ステップS503において、後段の処理部10-4に過負荷が発生する可能性がある場合(ステップS503のYes)、リソース調整部24-3は、後段のリソース調整部24-4に対し、リソース追加依頼を送信する(ステップS506)。これを受けて、リソース調整部24-4は、リソース調整処理を行う(ステップS507)。以降、リソース調整部24-3は、後段のリソース調整部24-4からリソース追加完了通知を受信するまで待機する(ステップS508)。リソース調整部24-3は、後段のリソース調整部24-4からリソース追加完了通知を受信すると、リソース制御部23-3を制御して、処理部10-3のリソースの追加を開始する(ステップS505)。ただし、これには限定されず、リソース調整部24-3は、後段のリソース調整部24-4からのリソース追加完了通知を待たずに、処理部10-3のリソースの追加を開始しても良い。
リソース調整部24-3は、処理部10-3のリソースの追加が完了した場合、又は、処理部10-3のリソースの追加が完了し、かつ、後段のリソース調整部24-4からリソース追加完了通知を受信した場合、前段のリソース調整部24-2に対し、リソース追加完了通知を送信する(ステップS509)。
以上で、リソース調整処理が終了する。
上述したように、本実施の形態に係る負荷分散システム1Aによれば、対象段の処理部10に過負荷が発生したことを検出した場合、対象段の処理部10のリソースの追加を開始する。また、対象段の処理部10のリソースを追加することにより、後段の処理部10に過負荷が発生する可能性があれば、後段の処理部10のリソースも追加を開始する。そして、対象段の処理部10のリソースの追加が完了するまで、又は、対象段及び後段の処理部10のリソースの追加が完了するまで、前段の処理部10の処理量を抑制する。
これにより、対象段の処理部10に過負荷が発生した場合に、後段の処理部10に過負荷を発生させることなく、対象段の処理部10のリソースのスケールアウトを実現することができる。
また、対象段の処理部10のリソースをスケールアウトしても、対象段及び前後段の処理部10の疎結合性を維持できるため、スケールアウトによるシステムの変更範囲を最小限に維持することができる。
<実施の形態の具体例>
続いて、本実施の形態の具体例について説明する。ここでは、本実施の形態を顔解析に適用する場合の具体例について説明する。
まず、図8を参照して、本実施の形態の具体例に係る負荷分散システム1Xの構成例について説明する。
図8に示されるように、本実施の形態の具体例に係る負荷分散システム1Xは、図3の構成と比較して、処理の段数を3段にした点と、処理部10-1~10-3の具体例として、映像取得処理部10X-1、顔検出処理部10X-2、及び顔特徴抽出処理部10X-3を設けた点と、が異なる。
映像取得処理部10X-1は、映像(映像フレーム)を取得する。図9に、映像取得処理部10X-1が取得する映像の例を示す。
顔検出処理部10X-2は、映像取得処理部10X-1が取得した映像から顔を検出する。
顔特徴抽出処理部10X-3は、顔検出処理部10X-2が検出した顔から顔特徴を抽出する。
顔検出処理部10X-2及び顔特徴抽出処理部10X-3は、映像取得処理部10X-1が取得した映像に含まれる顔の数に応じて、処理負荷が変動する。
本実施の形態の具体例に係る負荷分散システム1Xは、例えば、映像に含まれる顔の数が増えたことに起因して、顔検出処理部10X-2に過負荷が発生した場合、概略的には、以下の動作を行う。
まず、顔検出処理部10X-2のリソースの追加を開始する。本実施の形態の具体例では、リソースは、プロセス数やVM(virtual machine。仮想マシン)数等である。また、顔検出処理部10X-2のリソースを追加することにより、顔特徴抽出処理部10X-3に過負荷が発生する可能性があれば、顔特徴抽出処理部10X-3のリソースの追加も開始する。
そして、顔検出処理部10X-2のリソースの追加が完了するまで、又は、顔検出処理部10X-2及び顔特徴抽出処理部10X-3のリソースの追加が完了するまで、映像取得処理部10X-1の処理量を抑制する。例えば、映像取得処理部10X-1の処理速度(FPS:frames per second)を下げる。
続いて、図10を参照して、本実施の形態の具体例に係る負荷分散システム1Xの詳細な動作例について説明する。図10は、映像取得処理部10X-1、顔検出処理部10X-2、及び顔特徴抽出処理部10X-3毎に、各処理部10に割り当てられた割り当てリソース数及び各処理部10の処理負荷の時系列変化の例を示している。また、図10は、顔検出処理部10X-2に過負荷が発生した場合の例を示している。
図10に示されるように、時刻t1において、リソース調整部24-2は、顔検出処理部10X-2に過負荷が発生したことを検出したとする。すると、リソース調整部24-2は、前段のリソース調整部24-1に対し、律速依頼を送信する。これを受けて、リソース調整部24-1は、リソース制御部23-1を制御して、映像取得処理部10X-1の処理量の抑制を開始する。ここでは、リソース調整部24-1は、映像取得処理部10X-1のFPSを下げて動作させている。
続いて、時刻t2において、リソース調整部24-2は、リソース制御部23-2を制御して、顔検出処理部10X-2のリソースの追加を開始する。また、ここでは、リソース調整部24-2は、顔検出処理部10X-2のリソースを追加することにより、後段の顔特徴抽出処理部10X-3に過負荷が発生する可能性があると判断し、後段のリソース調整部24-3に対し、リソース追加依頼を送信する。これを受けて、リソース調整部24-3は、リソース制御部23-3を制御して、顔特徴抽出処理部10X-3のリソースの追加を開始する。
続いて、時刻t3において、顔特徴抽出処理部10X-3のリソースの追加が完了すると、リソース調整部24-3は、リソース調整部24-2に対し、リソース追加完了通知を送信する。
続いて、時刻t4において、顔検出処理部10X-2のリソースの追加が完了する。この時点では、リソース調整部24-2は、リソース調整部24-3からのリソース追加完了通知を既に受信している。そのため、リソース調整部24-2は、前段のリソース調整部24-1に対し、律速解除依頼を送信する。これを受けて、リソース調整部24-1は、リソース制御部23-1を制御して、映像取得処理部10X-1の処理量の抑制を解除する。ここでは、リソース調整部24-1は、映像取得処理部10X-1のFPSを元に戻している。
なお、図10の例では、顔検出処理部10X-2及び顔特徴抽出処理部10X-3のリソースの追加を開始する前に、映像取得処理部10X-1の処理量の抑制を開始しているが、これには限定されない。例えば、顔検出処理部10X-2及び顔特徴抽出処理部10X-3のリソースの追加の開始と、映像取得処理部10X-1の処理量の抑制の開始と、を同時に行っても良い。又は、顔検出処理部10X-2及び顔特徴抽出処理部10X-3のリソースの追加を開始した後に、映像取得処理部10X-1の処理量の抑制を開始しても良い。
続いて、本実施の形態の具体例に係る内容監視部21、負荷監視部22、及びリソース調整部24の具体的な動作例について説明する。
まず、内容監視部21が、自段の処理部10の処理内容を監視する動作の具体例について説明する。
上述のように、内容監視部21は、自段の処理部10の処理内容を監視する。
さらに、内容監視部21は、自段の処理部10の処理内容に基づいて、自段の処理部10の処理の実績を示すスケール値を算出する。
例えば、顔検出処理部10X-2に対応する内容監視部21-2は、顔検出処理部10X-2の処理内容として、映像取得処理部10X-1が取得した映像から検出した顔の数を示す検出顔数を監視する。また、内容監視部21-2は、顔検出処理部10X-2の検出顔数の履歴を示す内容履歴情報を保持する。表1に、内容監視部21-2が保持する内容履歴情報の例を示す。
Figure 0007384215000001
表1の内容履歴情報は、時刻と、その時刻における検出顔数と、を対応付けた情報になっている。
この例では、顔検出処理部10X-2のスケール値を、検出顔数とするものとする。
そして、内容監視部21-2は、直近の単位時間(以下では、m秒間とする)における顔検出処理部10X-2のスケール値の平均値として、検出顔数の平均値を算出する。
例えば、m=1の場合、内容監視部21-2は、表1の行のうちの時刻の最新値から1秒以内の行から、検出顔数を抽出する。そして、内容監視部21-2は、以下のように、抽出した検出顔数の平均値を算出する。
scale=average(10+9+…)=10
この例では、直近の1秒間における顔検出処理部10X-2のスケール値の平均値は、“10”となる。
また、顔特徴抽出処理部10X-3に対応する内容監視部21-3は、顔特徴抽出処理部10X-3の処理内容として、顔検出処理部10X-2が検出した顔から顔特徴の抽出を試行した回数(すなわち、顔特徴の抽出を試行した顔の数)を示す特徴抽出処理数と、そのうち顔特徴の抽出に成功した回数(すなわち、顔特徴の抽出に成功した顔の数)を示す特徴抽出成功数と、を監視する。また、内容監視部21-3は、顔特徴抽出処理部10X-3の特徴抽出処理数及び特徴抽出成功数の履歴を示す内容履歴情報を保持する。表2に、内容監視部21-3が保持する内容履歴情報の例を示す。
Figure 0007384215000002
表2の内容履歴情報は、時刻と、その時刻における特徴抽出処理数及び特徴抽出成功数と、を対応付けた情報になっている。
この例では、顔特徴抽出処理部10X-3のスケール値を、顔特徴の抽出に成功した成功率を示す特徴抽出成功率とするものとする。
そして、内容監視部21-3は、直近のm秒間における顔特徴抽出処理部10X-3のスケール値の平均値として、特徴抽出成功率の平均値を算出する。
例えば、m=1の場合、内容監視部21-3は、表1の行のうちの時刻の最新値から1秒以内の行から、特徴抽出処理数及び特徴抽出成功数を抽出する。そして、内容監視部21-3は、以下のように、抽出した特徴抽出処理数の平均値及び特徴抽出成功数の平均値をそれぞれ算出し、それぞれの平均値の比を算出する。
scale=average(100+90+…)/average(83+80+…)=0.9
この例では、直近の1秒間における顔特徴抽出処理部10X-3のスケール値の平均値は、“0.9”となる。
続いて、負荷監視部22が、自段の処理部10の処理負荷を監視する動作の具体例について説明する。
上述のように、負荷監視部22は、自段の処理部10の処理負荷を監視する。
具体的には、負荷監視部22は、自段の処理部10の処理負荷として、自段の処理部10の処理を待機している処理対象の数を示す処理待ち数と、自段の処理部10が1秒あたりに処理した処理対象の数を示す秒間処理数と、を監視する。
例えば、顔検出処理部10X-2に対応する負荷監視部22-2は、顔検出処理部10X-2の処理待ち数として、映像取得処理部10X-1が取得した映像フレームのうち顔検出処理部10X-2の処理を待機している映像フレームの数を監視する。また、負荷監視部22-2は、顔検出処理部10X-2の秒間処理数として、顔検出処理部10X-2が1秒あたりに処理した映像フレームの数を監視する。また、負荷監視部22-2は、顔検出処理部10X-2の処理待ち数及び秒間処理数の履歴を示す負荷履歴情報を保持する。表3に、負荷監視部22-2が保持する負荷履歴情報の例を示す。
Figure 0007384215000003
表3の負荷履歴情報は、時刻と、その時刻における処理待ち数及び秒間処理数と、を対応付けた情報になっている。
負荷監視部22-2は、直近のm秒間における顔検出処理部10X-2の処理待ち数の平均値を算出すると共に、直近のm秒間における顔検出処理部10X-2の秒間処理数の最大値を算出する。
例えば、m=1の場合、負荷監視部22-2は、表1の行のうちの時刻の最新値から1秒以内の行から、処理待ち数及び秒間処理数を抽出する。そして、負荷監視部22-2は、以下のように、抽出した処理待ち数の平均値を算出すると共に、抽出した秒間処理数の最大値を算出する。
処理待ち数=average(10+4+…)=7
秒間処理数=max(30+33+…)=33
この例では、直近の1秒間における顔検出処理部10X-2の処理待ち数の平均値は、“7”となり、秒間処理数の最大値は、“33”となる。
また、顔特徴抽出処理部10X-3に対応する負荷監視部22-3は、顔特徴抽出処理部10X-3の処理待ち数として、顔検出処理部10X-2が検出した顔のうち顔特徴抽出処理部10X-3の処理を待機している顔の数を監視する。また、負荷監視部22-3は、顔特徴抽出処理部10X-3の秒間処理数として、顔特徴抽出処理部10X-3が1秒あたりに処理した顔の数を監視する。また、負荷監視部22-3は、顔特徴抽出処理部10X-3の処理待ち数及び秒間処理数の履歴を示す負荷履歴情報を保持する。表4に、負荷監視部22-3が保持する負荷履歴情報の例を示す。
Figure 0007384215000004
表4の負荷履歴情報は、時刻と、その時刻における処理待ち数及び秒間処理数と、を対応付けた情報になっている。
負荷監視部22-3は、直近のm秒間における顔特徴抽出処理部10X-3の処理待ち数の平均値を算出すると共に、直近のm秒間における顔特徴抽出処理部10X-3の秒間処理数の最大値を算出する。
例えば、m=1の場合、負荷監視部22-3は、表1の行のうちの時刻の最新値から1秒以内の行から、処理待ち数及び秒間処理数を抽出する。そして、負荷監視部22-3は、以下のように、抽出した処理待ち数の平均値を算出すると共に、抽出した秒間処理数の最大値を算出する。
処理待ち数=average(120+110+…)=100
秒間処理数=max(43+22+…)=43
この例では、直近の1秒間における顔特徴抽出処理部10X-3の処理待ち数の平均値は、“100”となり、秒間処理数の最大値は、“43”となる。
続いて、リソース調整部24が、自段の処理部10の過負荷を検出する動作の具体例について説明する。
上述のように、リソース調整部24は、自段の処理部10の処理負荷に基づいて、自段の処理部10に過負荷が発生したか否かを検出する。
例えば、リソース調整部24は、自段の処理部10の処理負荷として、自段の負荷監視部22で算出された、直近のm秒間における処理待ち数の平均値を取得する。そして、リソース調整部24は、直近のm秒間における処理待ち数の平均値が閾値を超えている場合に、自段の処理部10に過負荷が発生したことを検出する。
又は、リソース調整部24は、自段の処理部10の処理負荷として、自段の負荷監視部22で算出された、直近のm秒間における秒間処理数の最大値を取得する。そして、リソース調整部24は、直近のm秒間における秒間処理数の最大値が閾値を超えている場合に、自段の処理部10に過負荷が発生したことを検出する。このとき、リソース調整部24は、自段の処理部10に割り当てられた割り当てリソース数に基づいて、自段の処理部10の秒間処理数の上限値がわかる。そのため、上記の閾値は、例えば、秒間処理数の上限値の所定の割合(例えば、80%)に設定することができる。
続いて、リソース調整部24が、後段の処理部10に過負荷が発生する可能性があるか否かを判断する動作の具体例について説明する。
上述のように、リソース調整部24は、自段の処理部10の処理内容及び処理負荷と、後段の処理部10の処理負荷と、に基づいて、後段の処理部10に過負荷が発生する可能性があるか否かを判断する。
より詳細には、リソース調整部24は、自段の処理部10の処理内容及び処理負荷に基づいて、後段の処理部10に期待される負荷を示す負荷期待値を算出する。そして、リソース調整部24は、後段の処理部10の負荷期待値が、後段の処理部10の処理負荷を超えている場合に、後段の処理部10に過負荷が発生する可能性があると判断する。
このとき、リソース調整部24は、自段の処理部10の処理負荷として、自段の負荷監視部22で算出された、直近のm秒間における処理待ち数の平均値を取得する。また、リソース調整部24は、自段の処理部10の処理内容として、自段の内容監視部21で算出された、直近のm秒間におけるスケール値の平均値を取得する。また、リソース調整部24は、後段の処理部10の処理負荷として、後段の負荷監視部22で算出された、直近のm秒間における秒間処理数の最大値を取得する。
そして、リソース調整部24は、直近のm秒間における自段の処理部10の処理待ち数の平均値と、直近のm秒間における自段の処理部10のスケール値の平均値と、を乗算することにより、後段の処理部10の負荷期待値を算出する。そして、リソース調整部24は、後段の処理部10の負荷期待値が、直近のm秒間における後段の処理部10の秒間処理数の最大値を超えている場合に、後段の処理部10に過負荷が発生する可能性があると判断する。
例えば、顔検出処理部10X-2に対応するリソース調整部24-2は、後段の顔特徴抽出処理部10X-3の負荷期待値を、以下のように算出する。
後段の顔特徴抽出処理部10X-3の負荷期待値
=直近のm秒間における顔検出処理部10X-2の処理待ち数の平均値×直近のm秒間における顔検出処理部10X-2のスケール値の平均値
=直近のm秒間における顔検出処理部10X-2の処理待ち数の平均値×直近のm秒間における顔検出処理部10X-2の検出顔数の平均値
表1及び表3の例では、m=1の場合、直近の1秒間における顔検出処理部10X-2の処理待ち数の平均値は“10”であり、検出顔数の平均値は“7”である。
そのため、リソース調整部24-2は、後段の顔特徴抽出処理部10X-3の負荷期待値“70(=10×7)”を算出する。
また、表4の例では、m=1の場合、直近の1秒間における後段の顔特徴抽出処理部10X-3の秒間処理数の最大値は“43”である。
そこで、リソース調整部24-2は、後段の顔特徴抽出処理部10X-3の負荷期待値“70”と、後段の顔特徴抽出処理部10X-3の秒間処理数の最大値“43”と、を比較する。その結果、後段の顔特徴抽出処理部10X-3の負荷期待値“70”は、後段の顔特徴抽出処理部10X-3の秒間処理数の最大値“43”を超えている。
そのため、リソース調整部24-2は、後段の顔特徴抽出処理部10X-3に過負荷が発生する可能性があると判断する。
上述したように、本実施の形態の具体例に係る負荷分散システム1Xによれば、顔検出処理部10X-2に過負荷が発生したことを検出した場合、顔検出処理部10X-2のリソースの追加を開始する。また、顔検出処理部10X-2のリソースを追加することにより、後段の顔特徴抽出処理部10X-3に過負荷が発生する可能性があれば、後段の顔特徴抽出処理部10X-3のリソースも追加を開始する。そして、顔検出処理部10X-2の顔特徴抽出処理部10X-3のリソースの追加が完了するまで、又は、顔検出処理部10X-2及び後段の顔特徴抽出処理部10X-3のリソースの追加が完了するまで、前段の映像取得処理部10X-1の処理量を抑制する。
これにより、顔検出処理部10X-2に過負荷が発生した場合に、後段の顔特徴抽出処理部10X-3に過負荷を発生させることなく、顔検出処理部10X-2のリソースのスケールアウトを実現することができる。
また、顔検出処理部10X-2のリソースをスケールアウトしても、映像取得処理部10X-1、顔検出処理部10X-2、及び顔特徴抽出処理部10X-3の疎結合性を維持できるため、スケールアウトによるシステムの変更範囲を最小限に維持することができる。
<実施の形態の他の具体例>
以上の説明では、本実施の形態を顔解析に適用する具体例について説明したが、これには限定されない。
例えば、本実施の形態は、解析対象が顔ではなく、人物又は物体である場合にも適用可能である。解析対象が人物又は物体である場合、顔検出処理部10X-2は、映像取得処理部10X-1が取得した映像から、人物又は物体を検出する検出処理部に置き換えれば良い。また、顔特徴抽出処理部10X-3は、検出処理部が検出した人物又は物体から、人物又は物体の特徴を抽出する特徴抽出処理部に置き換えれば良い。
また、処理部10のスケール値、処理待ち数、及び秒間処理数は、処理部10の処理種別に応じて決まるものであり、上述した例には限定されない。
例えば、処理部10のスケール値は、顔、人物、物体等の解析対象の数、大きさ、位置、向き、傾き、速度、進行方向、鮮明さ等であっても良い。
<実施の形態のハードウェア構成>
上述した実施の形態に係る負荷分散システム1,1A,1Xは、1台のコンピュータ(負荷分散装置)で実現することもできる。以下、図11を参照して、上述した実施の形態に係る負荷分散システム1,1A,1Xを実現するコンピュータ30のハードウェア構成について説明する。
図11に示されるように、上述した実施の形態に係る負荷分散システム1,1A,1Xは、コンピュータ30で実現することができる。コンピュータ30は、プロセッサ31、メモリ32、ストレージ33、入出力インタフェース(入出力I/F)34、及び通信インタフェース(通信I/F)35等を備えている。プロセッサ31、メモリ32、ストレージ33、入出力インタフェース34、及び通信インタフェース35は、相互にデータを送受信するためのデータ伝送路で接続されている。
プロセッサ31は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算処理装置である。メモリ32は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリである。ストレージ33は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はメモリカード等の記憶装置である。また、ストレージ33は、RAMやROM等のメモリであっても良い。
ストレージ33は、上述した負荷分散システム1,1A,1Xが備える各構成要素の機能を実現するプログラム(負荷分散プログラム)を記憶している。プロセッサ31は、これら各プログラムを実行することで、上述した負荷分散システム1,1A,1Xが備える各構成要素の機能をそれぞれ実現する。ここで、プロセッサ31は、上記各プログラムを実行する際、これらのプログラムをメモリ32上に読み出してから実行しても良いし、メモリ32上に読み出さずに実行しても良い。また、メモリ32やストレージ33は、上述した負荷分散システム1,1A,1Xが備える各構成要素が保持する情報やデータを記憶する役割も果たす。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(コンピュータ30を含む)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Compact Disc-Read Only Memory)、CD-R(CD-Recordable)、CD-R/W(CD-ReWritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
入出力インタフェース34は、不図示の表示装置や入力装置等と接続される。表示装置は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)ディスプレイのような、プロセッサ31により処理された描画データに対応する画面を表示する装置である。また、入力装置は、例えば、オペレータの操作入力を受け付ける装置であり、例えば、キーボード、マウス、およびタッチセンサ等である。表示装置及び入力装置は一体化され、タッチパネルとして実現されていても良い。
通信インタフェース35は、外部の装置との間でデータを送受信する。例えば、通信インタフェース35は、有線ネットワーク又は無線ネットワークを介して外部装置と通信する。
以上、実施の形態を参照して本開示を説明したが、本開示は上記の実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
また、上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
第1の処理部と、
前記第1の処理部の処理結果を処理する第2の処理部と、
前記第2の処理部の処理結果を処理する第3の処理部と、
前記第1の処理部のリソースを管理する第1のリソース管理部と、
前記第2の処理部のリソースを管理する第2のリソース管理部と、
前記第3の処理部のリソースを管理する第3のリソース管理部と、を備え、
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したか否かを検出し、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始し、
前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第3の処理部のリソースの追加を開始し、
前記第1のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始し、
前記第1のリソース管理部は、前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する、
負荷分散システム。
(付記2)
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断し、
前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第2のリソース管理部が前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始する、
付記1に記載の負荷分散システム。
(付記3)
前記第2のリソース管理部は、前記第2の処理部の処理内容及び処理負荷を監視し、
前記第3のリソース管理部は、前記第3の処理部の処理負荷を監視し、
前記第2のリソース管理部は、前記第2の処理部の処理負荷に基づいて、前記第2の処理部に過負荷が発生したか否かを検出し、
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部の処理内容及び処理負荷と、前記第3の処理部の処理負荷と、に基づいて、前記第3の処理部に過負荷が発生する可能性があるか否かを判断する、
付記2に記載の負荷分散システム。
(付記4)
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部の処理内容及び処理負荷に基づいて、前記第3の処理部に期待される処理負荷を示す負荷期待値を算出し、前記第3の処理部の前記負荷期待値が前記第3の処理部の処理負荷を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断する、
付記3に記載の負荷分散システム。
(付記5)
前記第2のリソース管理部は、前記第2の処理部の処理負荷として、前記第2の処理部の処理を待機している処理対象の数を示す処理待ち数及び前記第2の処理部が1秒あたりに処理した処理対象の数を示す秒間処理数を監視し、
前記第2のリソース管理部は、直近の単位時間における前記第2の処理部の前記処理待ち数の平均値を算出すると共に、直近の単位時間における前記第2の処理部の前記秒間処理数の最大値を算出し、
前記第2のリソース管理部は、直近の単位時間における前記第2の処理部の前記処理待ち数の平均値又は前記秒間処理数の最大値が閾値を超えている場合に、前記第2の処理部に過負荷が発生したことを検出する、
付記4に記載の負荷分散システム。
(付記6)
前記第2のリソース管理部は、前記第2の処理部の処理内容に基づいて、直近の単位時間における前記第2の処理部の処理の実績を示すスケール値の平均値を算出し、
前記第3のリソース管理部は、前記第3の処理部の処理負荷として、前記第3の処理部が1秒あたりに処理した処理対象の数を示す秒間処理数を監視し、
前記第3のリソース管理部は、直近の単位時間における前記第3の処理部の前記秒間処理数の最大値を算出し、
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、直近の単位時間における前記第2の処理部の前記処理待ち数の平均値と前記スケール値の平均値とを乗算することにより、前記第3の処理部の前記負荷期待値を算出し、前記第3の処理部の前記負荷期待値が、直近の単位時間における前記第3の処理部の前記秒間処理数の最大値を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断する、
付記5に記載の負荷分散システム。
(付記7)
前記第1の処理部は、映像を取得する映像取得処理部であり、
前記第2の処理部は、前記映像取得処理部が取得した映像から解析対象を検出する検出処理部であり、
前記第3の処理部は、前記検出処理部が検出した解析対象から特徴を抽出する特徴抽出処理部である、
付記1から6のいずれか1項に記載の負荷分散システム。
(付記8)
第1の処理部と、
前記第1の処理部の処理結果を処理する第2の処理部と、
前記第2の処理部の処理結果を処理する第3の処理部と、
前記第1の処理部のリソースを管理する第1のリソース管理部と、
前記第2の処理部のリソースを管理する第2のリソース管理部と、
前記第3の処理部のリソースを管理する第3のリソース管理部と、を備え、
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したか否かを検出し、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始し、
前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第3の処理部のリソースの追加を開始し、
前記第1のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始し、
前記第1のリソース管理部は、前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する、
負荷分散装置。
(付記9)
前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断し、
前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第2のリソース管理部が前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始する、
付記8に記載の負荷分散装置。
(付記10)
第1の処理部と、前記第1の処理部の処理結果を処理する第2の処理部と、前記第2の処理部の処理結果を処理する第3の処理部と、を備える負荷分散装置が行う負荷分散方法であって、
前記第2の処理部に過負荷が発生したか否かを検出する第1のステップと、
前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部及び前記第3の処理部のリソースの追加を開始すると共に、前記第1の処理部の処理量の抑制を開始する第2のステップと、
前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する第3のステップと、
を含む、負荷分散方法。
(付記11)
前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断する第4のステップをさらに含み、
前記第2のステップでは、前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始する、
付記10に記載の負荷分散方法。
(付記12)
第1の処理部と、前記第1の処理部の処理結果を処理する第2の処理部と、前記第2の処理部の処理結果を処理する第3の処理部と、を備えるコンピュータに、
前記第2の処理部に過負荷が発生したか否かを検出する第1の手順と、
前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部及び前記第3の処理部のリソースの追加を開始すると共に、前記第1の処理部の処理量の抑制を開始する第2の手順と、
前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する第3の手順と、
を実行させるための負荷分散プログラムが格納された非一時的なコンピュータ可読媒体。
(付記13)
前記負荷分散プログラムは、
前記コンピュータに、
前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断する第4の手順をさらに実行させるものであり、
前記第2の手順では、前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始する、
付記12に記載のコンピュータ可読媒体。
1,1A,1X 負荷分散システム
10-1~10-n 処理部
10X-1 映像取得処理部
10X-2 顔検出処理部
10X-3 顔特徴抽出処理部
20-1~20-3 リソース管理部
21-1~21-n 内容監視部
22-1~22-n 負荷監視部
23-1~23-n リソース制御部
24-1~24-n リソース調整部
30 コンピュータ
31 プロセッサ
32 メモリ
33 ストレージ
34 入出力インタフェース
35 通信インタフェース

Claims (7)

  1. 第1の処理部と、
    前記第1の処理部の処理結果を処理する第2の処理部と、
    前記第2の処理部の処理結果を処理する第3の処理部と、
    前記第1の処理部のリソースを管理する第1のリソース管理部と、
    前記第2の処理部のリソースを管理する第2のリソース管理部と、
    前記第3の処理部のリソースを管理する第3のリソース管理部と、を備え、
    前記第2のリソース管理部は、前記第2の処理部の処理内容及び処理負荷を監視し、
    前記第3のリソース管理部は、前記第3の処理部の処理負荷を監視し、
    前記第2のリソース管理部は、前記第2の処理部の処理負荷に基づいて、前記第2の処理部に過負荷が発生したか否かを検出し、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始し、
    前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部の処理内容及び処理負荷と、前記第3の処理部の処理負荷と、に基づいて、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断することとして、前記第2の処理部の処理内容及び処理負荷に基づいて、前記第3の処理部に期待される処理負荷を示す負荷期待値を算出し、前記第3の処理部の前記負荷期待値が前記第3の処理部の処理負荷を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断し、
    前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第2のリソース管理部が前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始し、
    前記第1のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始し、
    前記第1のリソース管理部は、前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する、
    負荷分散システム。
  2. 前記第2のリソース管理部は、前記第2の処理部の処理負荷として、前記第2の処理部の処理を待機している処理対象の数を示す処理待ち数及び前記第2の処理部が1秒あたりに処理した処理対象の数を示す秒間処理数を監視し、
    前記第2のリソース管理部は、直近の単位時間における前記第2の処理部の前記処理待ち数の平均値を算出すると共に、直近の単位時間における前記第2の処理部の前記秒間処理数の最大値を算出し、
    前記第2のリソース管理部は、直近の単位時間における前記第2の処理部の前記処理待ち数の平均値又は前記秒間処理数の最大値が閾値を超えている場合に、前記第2の処理部に過負荷が発生したことを検出する、
    請求項に記載の負荷分散システム。
  3. 前記第2のリソース管理部は、前記第2の処理部の処理内容に基づいて、直近の単位時間における前記第2の処理部の処理の実績を示すスケール値の平均値を算出し、
    前記第3のリソース管理部は、前記第3の処理部の処理負荷として、前記第3の処理部が1秒あたりに処理した処理対象の数を示す秒間処理数を監視し、
    前記第3のリソース管理部は、直近の単位時間における前記第3の処理部の前記秒間処理数の最大値を算出し、
    前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、直近の単位時間における前記第2の処理部の前記処理待ち数の平均値と前記スケール値の平均値とを乗算することにより、前記第3の処理部の前記負荷期待値を算出し、前記第3の処理部の前記負荷期待値が、直近の単位時間における前記第3の処理部の前記秒間処理数の最大値を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断する、
    請求項に記載の負荷分散システム。
  4. 前記第1の処理部は、映像を取得する映像取得処理部であり、
    前記第2の処理部は、前記映像取得処理部が取得した映像から解析対象を検出する検出処理部であり、
    前記第3の処理部は、前記検出処理部が検出した解析対象から特徴を抽出する特徴抽出処理部である、
    請求項1からのいずれか1項に記載の負荷分散システム。
  5. 第1の処理部と、
    前記第1の処理部の処理結果を処理する第2の処理部と、
    前記第2の処理部の処理結果を処理する第3の処理部と、
    前記第1の処理部のリソースを管理する第1のリソース管理部と、
    前記第2の処理部のリソースを管理する第2のリソース管理部と、
    前記第3の処理部のリソースを管理する第3のリソース管理部と、を備え、
    前記第2のリソース管理部は、前記第2の処理部の処理内容及び処理負荷を監視し、
    前記第3のリソース管理部は、前記第3の処理部の処理負荷を監視し、
    前記第2のリソース管理部は、前記第2の処理部の処理負荷に基づいて、前記第2の処理部に過負荷が発生したか否かを検出し、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始し、
    前記第2のリソース管理部は、前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部の処理内容及び処理負荷と、前記第3の処理部の処理負荷と、に基づいて、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断することとして、前記第2の処理部の処理内容及び処理負荷に基づいて、前記第3の処理部に期待される処理負荷を示す負荷期待値を算出し、前記第3の処理部の前記負荷期待値が前記第3の処理部の処理負荷を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断し、
    前記第3のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第2のリソース管理部が前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始し、
    前記第1のリソース管理部は、前記第2のリソース管理部が前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始し、
    前記第1のリソース管理部は、前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する、
    負荷分散装置。
  6. 第1の処理部と、前記第1の処理部の処理結果を処理する第2の処理部と、前記第2の処理部の処理結果を処理する第3の処理部と、を備える負荷分散装置が行う負荷分散方法であって、
    前記第2の処理部の処理内容及び処理負荷を監視する第1のステップと、
    前記第3の処理部の処理負荷を監視する第2のステップと、
    前記第2の処理部の処理負荷に基づいて、前記第2の処理部に過負荷が発生したか否かを検出する第3のステップと、
    前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始する第4のステップと、
    前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部の処理内容及び処理負荷と、前記第3の処理部の処理負荷と、に基づいて、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断することとして、前記第2の処理部の処理内容及び処理負荷に基づいて、前記第3の処理部に期待される処理負荷を示す負荷期待値を算出し、前記第3の処理部の前記負荷期待値が前記第3の処理部の処理負荷を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断する第5のステップと、
    前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始する第6のステップと、
    前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始する第7のステップと、
    前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する第8のステップと、
    を含む、負荷分散方法。
  7. 第1の処理部と、前記第1の処理部の処理結果を処理する第2の処理部と、前記第2の処理部の処理結果を処理する第3の処理部と、を備えるコンピュータに、
    前記第2の処理部の処理内容及び処理負荷を監視する第1の手順と、
    前記第3の処理部の処理負荷を監視する第2の手順と、
    前記第2の処理部の処理負荷に基づいて、前記第2の処理部に過負荷が発生したか否かを検出する第3の手順と、
    前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部のリソースの追加を開始する第4の手順と、
    前記第2の処理部に過負荷が発生したことを検出した場合、前記第2の処理部の処理内容及び処理負荷と、前記第3の処理部の処理負荷と、に基づいて、前記第2の処理部のリソースを追加することにより、前記第3の処理部に過負荷が発生する可能性があるか否かを判断することとして、前記第2の処理部の処理内容及び処理負荷に基づいて、前記第3の処理部に期待される処理負荷を示す負荷期待値を算出し、前記第3の処理部の前記負荷期待値が前記第3の処理部の処理負荷を超えている場合に、前記第3の処理部に過負荷が発生する可能性があると判断する第5の手順と、
    前記第2の処理部に過負荷が発生したことを検出し、かつ、前記第3の処理部に過負荷が発生する可能性があると判断した場合に、前記第3の処理部のリソースの追加を開始する第6の手順と、
    前記第2の処理部に過負荷が発生したことを検出した場合、前記第1の処理部の処理量の抑制を開始する第7の手順と、
    前記第2の処理部及び前記第3の処理部のリソースの追加が完了した場合、前記第1の処理部の処理量の抑制を解除する第8の手順と、
    を実行させるための負荷分散プログラム。
JP2021554465A 2019-11-06 2019-11-06 負荷分散システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム Active JP7384215B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/043476 WO2021090399A1 (ja) 2019-11-06 2019-11-06 負荷分散システム、負荷分散装置、負荷分散方法、及びコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2021090399A1 JPWO2021090399A1 (ja) 2021-05-14
JPWO2021090399A5 JPWO2021090399A5 (ja) 2022-06-02
JP7384215B2 true JP7384215B2 (ja) 2023-11-21

Family

ID=75848098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021554465A Active JP7384215B2 (ja) 2019-11-06 2019-11-06 負荷分散システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム

Country Status (3)

Country Link
US (1) US20220365819A1 (ja)
JP (1) JP7384215B2 (ja)
WO (1) WO2021090399A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310749A (ja) 2006-05-19 2007-11-29 Hitachi Information Systems Ltd サーバリソース提供システム及びサーバリソース提供方法
JP2009225385A (ja) 2008-03-19 2009-10-01 Nec Corp 接続制御装置
JP2011013870A (ja) 2009-07-01 2011-01-20 Hitachi Ltd 負荷分散システム
CN103399789A (zh) 2013-08-09 2013-11-20 香港应用科技研究院有限公司 分布式流计算系统中可构建的动态过载控制方法
JP2016192661A (ja) 2015-03-31 2016-11-10 日本電気株式会社 ネットワークシステム、ネットワーク制御方法および制御装置
WO2018097058A1 (ja) 2016-11-22 2018-05-31 日本電気株式会社 解析ノード、リソース管理方法およびプログラム記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310749A (ja) 2006-05-19 2007-11-29 Hitachi Information Systems Ltd サーバリソース提供システム及びサーバリソース提供方法
JP2009225385A (ja) 2008-03-19 2009-10-01 Nec Corp 接続制御装置
JP2011013870A (ja) 2009-07-01 2011-01-20 Hitachi Ltd 負荷分散システム
CN103399789A (zh) 2013-08-09 2013-11-20 香港应用科技研究院有限公司 分布式流计算系统中可构建的动态过载控制方法
JP2016192661A (ja) 2015-03-31 2016-11-10 日本電気株式会社 ネットワークシステム、ネットワーク制御方法および制御装置
WO2018097058A1 (ja) 2016-11-22 2018-05-31 日本電気株式会社 解析ノード、リソース管理方法およびプログラム記録媒体

Also Published As

Publication number Publication date
WO2021090399A1 (ja) 2021-05-14
JPWO2021090399A1 (ja) 2021-05-14
US20220365819A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
US10454850B2 (en) Apparatus and method for buffering data in a switch
CN107197015A (zh) 一种基于消息队列系统的消息处理方法和装置
KR101944460B1 (ko) 정보 처리 시스템, 서버 및 프로그램, 그리고 단말 및 프로그램
US9396129B2 (en) Synchronous and asynchronous discard scans based on the type of cache memory
US20160241482A1 (en) Packet communication apparatus and packet communication method
CN113407347B (zh) 资源调度方法、装置、设备和计算机存储介质
US8782663B2 (en) Terminal device, communication method used in the terminal device and recording medium
JP7384215B2 (ja) 負荷分散システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム
CN113360266B (zh) 任务处理方法和装置
US9052796B2 (en) Asynchronous handling of an input stream dedicated to multiple targets
JP6207193B2 (ja) サーバ数調整システムおよび方法ならびにプログラム
CN113419880A (zh) 云手机根权限获取方法、相关装置及计算机程序产品
RU2698766C1 (ru) Способ и устройство для передачи, отправки и получения информации
CN111787268B (zh) 音频信号的处理方法、装置、电子设备及存储介质
CN114095758A (zh) 云图像截取方法、相关装置及计算机程序产品
JP6260163B2 (ja) 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム
JP6495872B2 (ja) 移行システム、移行方法および移行プログラム
CN114449095B (zh) 云手机截图方法、装置、电子设备和存储介质
CN117221617B (zh) 直播推流系统、方法及计算机存储介质
US11789777B2 (en) Resource utilization method, electronic device, and computer program product
JP7452753B2 (ja) 通信システム、通信方法、サーバ、クライアント端末、および、プログラム
JP5482139B2 (ja) コンピュータ・システム、情報処理方法及びプログラム
JP2019117605A (ja) 情報処理装置、情報処理システム及び情報処理方法
JP2013157742A (ja) 監視装置、プログラム及び監視方法
CN117170619A (zh) 一种缓冲音频数据的控制装置和方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231023

R151 Written notification of patent or utility model registration

Ref document number: 7384215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151