JP7230632B2 - Information processing device, system, program and control method - Google Patents

Information processing device, system, program and control method Download PDF

Info

Publication number
JP7230632B2
JP7230632B2 JP2019059401A JP2019059401A JP7230632B2 JP 7230632 B2 JP7230632 B2 JP 7230632B2 JP 2019059401 A JP2019059401 A JP 2019059401A JP 2019059401 A JP2019059401 A JP 2019059401A JP 7230632 B2 JP7230632 B2 JP 7230632B2
Authority
JP
Japan
Prior art keywords
proxy
server
information processing
execution
information
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
JP2019059401A
Other languages
Japanese (ja)
Other versions
JP2020160793A (en
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
Priority to JP2019059401A priority Critical patent/JP7230632B2/en
Publication of JP2020160793A publication Critical patent/JP2020160793A/en
Application granted granted Critical
Publication of JP7230632B2 publication Critical patent/JP7230632B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置、システム、プログラム及び制御方法に関する。 The present invention relates to an information processing device, system, program, and control method.

サーバの負荷を分散する技術として、特許文献1には、ネットワークに接続されたサーバが連携して処理を実行するシステムが開示されている。特許文献2には、他の装置に処理の実行を代行させる技術が開示されている。特許文献3には、処理を複数の処理ノードに分割処理させるとともに、処理の依頼元の処理ノードで処理ノードに割り当てる処理の調整を行う技術が開示されている。 As a technique for distributing the load of a server, Patent Literature 1 discloses a system in which servers connected to a network cooperate to execute processing. Japanese Patent Laid-Open No. 2002-200002 discloses a technique for allowing another device to perform processing on behalf of the other device. Japanese Patent Application Laid-Open No. 2002-200003 discloses a technique of dividing a process among a plurality of processing nodes and adjusting the process to be allocated to the processing node by the processing node that requested the process.

国際公開第2017/145389号WO2017/145389 特開2006-268166号公報JP 2006-268166 A 特開2006-201896号公報Japanese Patent Application Laid-Open No. 2006-201896

依頼元の装置は、処理の負荷を分散させるために複数の他の装置に処理を依頼しても、処理の割り当てに関する負荷が発生し、依頼元の装置の負荷がさほど軽減されないという課題があった。 Even if a requesting device requests processing to a plurality of other devices in order to distribute the processing load, there is a problem that a load related to processing allocation is generated and the load on the requesting device is not reduced so much. rice field.

そこでこの発明は、分散処理における負荷をより軽減可能な情報処理装置、システム、プログラム及び制御方法を提供することを目的としている。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an information processing apparatus, system, program, and control method that can further reduce the load in distributed processing.

上記目的を達成するために、本発明は、依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する受信手段と、前記受信手段により、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定手段と、前記実行判定手段により、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行手段と、代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定手段と、前記分配判定手段により、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配手段と、を有する。 To achieve the above object, the present invention provides a receiving means for receiving a proxy execution request requesting proxy execution of a process of an information processing apparatus that is a request source, and when the receiving means receives the proxy execution request, a request execution determining means for determining whether or not a part or all of the processing of the original information processing device can be executed by proxy; proxy execution means for executing the process of (1); distribution determination means for determining whether or not the processing target information to be the target of the process to be executed by proxy can be distributed to a plurality of information processing apparatuses; and distribution means for distributing the processing target information to an information processing apparatus that performs proxy execution when the determination is made.

上記目的を達成するために、本発明の別の態様によれば、複数の情報処理装置を含むシステムであって、処理の代理実行を要求する情報処理装置は、処理の代理実行を要求する代理実行要求を送信する送信手段を備え、前記代理実行要求を受信する情報処理装置は、前記代理実行要求を受信する受信手段と、前記受信手段により、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定手段と、前記実行判定手段により、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行手段と、代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定手段と、前記分配判定手段により、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配手段と、を有する。 In order to achieve the above object, according to another aspect of the present invention, there is provided a system including a plurality of information processing apparatuses, wherein an information processing apparatus requesting proxy execution of processing is a proxy requesting proxy execution of processing. An information processing apparatus having transmitting means for transmitting an execution request and receiving the proxy execution request includes: receiving means for receiving the proxy execution request; execution determining means for determining whether or not a part or all of the processing of the processing device can be executed by proxy; proxy execution means for execution; distribution determination means for determining whether processing target information to be processed by proxy execution can be distributed to a plurality of information processing devices; and a distribution means for distributing the processing target information to the information processing apparatus that performs proxy execution.

上記目的を達成するために、本発明の別の態様によれば、コンピュータに、依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する受信ステップと、前記受信ステップにより、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定ステップと、前記実行判定ステップにより、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行ステップと、代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定ステップと、前記分配判定ステップにより、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配ステップと、を実行させるためのプログラムである。 In order to achieve the above object, according to another aspect of the present invention, a computer receives a proxy execution request for requesting proxy execution of a process of an information processing apparatus that is a request source; When the proxy execution request is received, an execution determination step of determining whether or not a part or all of the processing of the information processing device of the request source can be executed by proxy; a proxy execution step of executing the processing of the information processing device that is the request source; a distribution determination step of determining whether or not the processing target information to be processed by proxy can be distributed to a plurality of information processing devices; and a distribution step of distributing the information to be processed to an information processing apparatus that performs proxy execution when the distribution determination step determines that the information can be distributed.

上記目的を達成するために、本発明の別の態様によれば、情報処理装置の制御方法であって、依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する受信ステップと、前記受信ステップにより、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定ステップと、前記実行判定ステップにより、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行ステップと、代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定ステップと、前記分配判定ステップにより、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配ステップと、を有する。 In order to achieve the above object, according to another aspect of the present invention, there is provided a control method for an information processing apparatus, comprising a receiving step of receiving a proxy execution request requesting proxy execution of a process of a request source information processing apparatus. an execution determination step of determining whether or not a part or all of the processing of the information processing apparatus that is the request source can be executed by proxy when the proxy execution request is received by the receiving step; A proxy execution step of executing the processing of the information processing device of the request source when it is determined to be executable, and determining whether or not the processing target information to be the target of the processing to be executed by proxy can be distributed to a plurality of information processing devices. and a distribution step of distributing the processing target information to an information processing apparatus that performs proxy execution when the distribution determination step determines that the information can be distributed.

本発明によれば、分散処理における負荷をより軽減可能という効果が得られる。 ADVANTAGE OF THE INVENTION According to this invention, the effect that the load in distributed processing can be reduced more is acquired.

本発明の一実施形態の構成を示す情報処理システムの構成例を示す図である。1 is a diagram showing a configuration example of an information processing system showing the configuration of an embodiment of the present invention; FIG. サーバの構成を示すブロック図である。It is a block diagram which shows the structure of a server. サーバ一覧DB、履歴DB、メッセージフォーマットを示す図である。It is a figure which shows server list DB, log|history DB, and a message format. 適用例(その1)を示すシーケンス図である。FIG. 11 is a sequence diagram showing an application example (Part 1); 適用例(その2)を示すシーケンス図である。FIG. 11 is a sequence diagram showing an application example (part 2); 適用例(その3)を示すシーケンス図である。FIG. 11 is a sequence diagram showing an application example (Part 3); 依頼元サーバの処理の流れを示すフローチャートである。10 is a flow chart showing the processing flow of the request source server; 代理実行要求を受信したときの受信サーバの処理の流れを示すフローチャートである。FIG. 11 is a flow chart showing the flow of processing of the receiving server when receiving a proxy execution request; FIG. 代理実行応答を送信した後の受信サーバの処理の流れを示すフローチャートである。FIG. 10 is a flow chart showing the flow of processing of the receiving server after transmitting a proxy execution response; FIG. 代理実行応答を送信した後の受信サーバの処理の流れを示すフローチャートである。FIG. 10 is a flow chart showing the flow of processing of the receiving server after transmitting a proxy execution response; FIG. 本実施形態による情報処理装置の最小構成を示す図である。It is a figure which shows the minimum structure of the information processing apparatus by this embodiment.

以下、本発明の一実施形態による情報処理システムを図面を参照して説明する。図1は、本発明の一実施形態の構成を示す情報処理システム100の構成例を示す図である。本実施形態では、情報処理システムの一例として、カメラで撮像された画像に所定の被写体が含まれる場合に、パトライト(登録商標)を点灯させるシステムを例にしている。 An information processing system according to an embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing a configuration example of an information processing system 100 showing the configuration of one embodiment of the present invention. In the present embodiment, as an example of an information processing system, a system that turns on a patrol light (registered trademark) when a predetermined subject is included in an image captured by a camera is used as an example.

情報処理システム100は、バックエンドサーバ1、および複数台のサーバ2A、2B、2C、2Dを含む。以下、サーバ2A、2B、2C、2Dのそれぞれを特に区別しない場合には任意の1台をサーバ2と表現する。サーバ2は、情報処理装置の一例である。また、サーバ2は、エッジサーバを想定している。エッジサーバは一般的に、他のサーバと比較して処理能力が低いことが多い。 The information processing system 100 includes a backend server 1 and multiple servers 2A, 2B, 2C, and 2D. Hereinafter, any one of the servers 2A, 2B, 2C, and 2D will be referred to as the server 2 unless otherwise distinguished. The server 2 is an example of an information processing device. Also, the server 2 is assumed to be an edge server. Edge servers generally have lower processing power than other servers.

サーバ2A、2B、2C、2Dには、それぞれカメラ102A、102B、102C、102Dが接続されている。サーバ2A、2B、2C、2Dには、それぞれパトライト202A、202B、202C、202Dが接続されている。以下、カメラ102A、102B、102C、102Dのそれぞれを特に区別しない場合には任意の1台をカメラ102と表現する。パトライト202A、202B、202C、202Dのそれぞれを特に区別しない場合には任意の1台をパトライト202と表現する。 Cameras 102A, 102B, 102C and 102D are connected to servers 2A, 2B, 2C and 2D, respectively. Patlites 202A, 202B, 202C and 202D are connected to the servers 2A, 2B, 2C and 2D, respectively. Hereinafter, any one of the cameras 102A, 102B, 102C, and 102D will be referred to as a camera 102 unless otherwise distinguished. Any one of the Patlites 202A, 202B, 202C, and 202D will be referred to as the Patlite 202 unless otherwise distinguished.

バックエンドサーバ1とサーバ2は、ネットワーク10で接続され、互いに通信可能である。バックエンドサーバ1は、サーバ2に他のサーバ2と通信するための後述するサーバ情報を提供する。 The backend server 1 and the server 2 are connected by a network 10 and can communicate with each other. The backend server 1 provides the server 2 with server information, which will be described later, for communicating with other servers 2 .

サーバ2は、カメラ102およびパトライト202を制御する。サーバ2は、カメラ102で撮像された画像を示す画像データに所定の被写体が含まれているか否かを判定する画像判定処理を実行する。画像判定処理の処理結果は、所定の被写体が含まれているか否かを示す。サーバ2は、画像判定処理の結果、所定の被写体が含まれている場合に、パトライト202を点灯させる。サーバ2は、上記画像判定処理の代理実行を他のサーバ2に要求することが可能である。他のサーバ2への代理実行の要求を代理実行要求と表現することがある。 Server 2 controls camera 102 and patrol light 202 . The server 2 executes image determination processing for determining whether or not a predetermined subject is included in image data representing an image captured by the camera 102 . A processing result of the image determination processing indicates whether or not a predetermined subject is included. The server 2 turns on the patrol light 202 when the predetermined subject is included as a result of the image determination processing. The server 2 can request another server 2 to execute the image determination process by proxy. A proxy execution request to another server 2 may be expressed as a proxy execution request.

代理実行要求を受信したサーバ2は、処理の一部または全部を代理実行可能か否かを判定する。サーバ2は、代理実行不可能と判定した場合には、代理実行要求を、依頼元のサーバ2とは異なる他のサーバ2に転送する。 The server 2 that has received the proxy execution request determines whether part or all of the processing can be executed by proxy. When the server 2 determines that proxy execution is impossible, the server 2 transfers the proxy execution request to another server 2 different from the server 2 of the request source.

一方、処理の一部または全部を代理実行可能と判定した場合には、サーバ2は、3つの動作モードのいずれかで動作する。代理実行に関してサーバ2が実行する主な処理として、上述した画像判定処理、分配処理、および処理結果送信処理がある。このうちの分配処理は、画像判定処理の対象となる処理対象情報(本実施形態では、カメラ102で撮像された画像を示す画像データ)をいくつかのサーバに分配する処理である。処理結果送信処理は、画像判定処理の処理結果を依頼元のサーバ2に送信する処理である。サーバ2は、分配処理によって他のサーバ2に画像情報を分配した場合には、処理結果送信処理において、分配したサーバ2から処理結果を受信し、受信した処理結果を依頼元のサーバ2に送信する。 On the other hand, when it is determined that part or all of the processing can be executed by proxy, the server 2 operates in one of three operation modes. Main processes executed by the server 2 regarding proxy execution include the above-described image determination process, distribution process, and process result transmission process. Among these, the distribution processing is processing for distributing processing target information (in this embodiment, image data representing an image captured by the camera 102) to be subjected to image determination processing to several servers. The process result transmission process is a process of transmitting the process result of the image determination process to the server 2 that is the request source. When the server 2 distributes the image information to the other servers 2 by the distribution process, in the process result transmission process, the server 2 receives the process result from the distributed server 2 and transmits the received process result to the request source server 2. do.

動作モードには、全処理モード、一部処理(分配あり)モード、一部処理(分配なし)モード、および分配モードの4つのモードがある。このうちの全処理モードは、代理実行要求で要求された処理の全てを自らのサーバで処理するモードである。全処理モードで動作する場合、サーバ2は、1台で上記画像判定処理、および処理結果送信処理を実行する。 There are four operating modes: full processing mode, partial processing (with distribution) mode, partial processing (without distribution) mode, and distribution mode. Of these, the all processing mode is a mode in which all the processing requested by the proxy execution request is processed by its own server. When operating in the all processing mode, the server 2 alone executes the image determination processing and the processing result transmission processing.

一部処理(分配あり)モードは、画像判定処理の一部の処理を実行するとともに、他のサーバ2に処理対象情報を分配する処理を実行するモードである。例えば、サーバAが画像判定処理の50%を実行し、サーバBが残りの50%を実行するものとする。そして、サーバBが一部処理(分配あり)モードで動作する場合には、サーバBは依頼元のサーバから処理対象情報を受信し、サーバAに50%分を分配し、自らも50%分の画像判定処理を実行する。 The partial processing (with distribution) mode is a mode in which a part of the image determination processing is executed and processing for distributing the processing target information to the other servers 2 is executed. For example, assume that server A performs 50% of the image determination processing and server B performs the remaining 50%. When server B operates in partial processing (with distribution) mode, server B receives processing target information from the requesting server, distributes 50% to server A, and distributes 50% to server A. image judgment processing.

一部処理(分配なし)モードは、画像判定処理の一部の処理を実行するが、分配する処理は実行しないモードである。例えば、上記サーバAが一部処理(分配なし)モードで動作している。 The partial processing (no distribution) mode is a mode in which a part of the image determination processing is executed, but the distribution processing is not executed. For example, the server A is operating in partial processing (no distribution) mode.

分配モードは、分配処理のみを行うモードである。例えば、上記サーバBが一部処理(分配なし)モードで動作するとし、サーバAが50%の処理を実行可能で、サーバBが50%の処理を実行可能であることを示した代理実行要求をサーバCに転送したものとする。サーバCは、サーバA、Bで合わせて100%の画像判定処理が実行されることから、自らが画像判定処理を実行する余地はないため、分配モードで動作するか否かを判定することとなる。サーバCが分配モードで動作する場合には、サーバCは依頼元のサーバから処理対象情報を受信し、サーバA、Bに50%ずつ分配する。サーバCは、サーバA、Bから処理結果を受信し、処理結果送信処理を実行する。 Distribution mode is a mode in which only distribution processing is performed. For example, assuming that server B operates in partial processing (no distribution) mode, a proxy execution request indicating that server A can execute 50% of processing and server B can execute 50% of processing is transferred to server C. Since 100% of the image determination processing is performed by servers A and B in total, server C has no room to perform image determination processing by itself, so it determines whether to operate in the distribution mode. Become. When the server C operates in the distribution mode, the server C receives the processing target information from the request source server and distributes it to the servers A and B 50% each. Server C receives the processing results from servers A and B, and executes processing result transmission processing.

図2は、サーバ2の構成を示すブロック図である。サーバ2は、メッセージ受信部501、結果確認部502、指示取得部503、判定部504、デバイス指示作成部505、状態更新部506、状態反映部507、メッセージ送信部509、要求作成部510、指示作成部511、結果作成部512、処理実行部514、ライト制御部516、および画像取得部515を含む。サーバ2は、サーバ一覧DB508、履歴DB513を含む。サーバ一覧DB508、履歴DB513におけるDBはデータベースを示す。サーバ一覧DB508は、代理実行要求を送信するサーバ2を定めるときに用いられるデータベースであり、詳細については後述する。履歴DB513は、実行した処理概要を示すデータベースであり、詳細は後述する。 FIG. 2 is a block diagram showing the configuration of the server 2. As shown in FIG. The server 2 includes a message reception unit 501, a result confirmation unit 502, an instruction acquisition unit 503, a determination unit 504, a device instruction creation unit 505, a status update unit 506, a status reflection unit 507, a message transmission unit 509, a request creation unit 510, an instruction It includes a creation unit 511 , a result creation unit 512 , a process execution unit 514 , a light control unit 516 and an image acquisition unit 515 . Server 2 includes server list DB 508 and history DB 513 . DB in the server list DB 508 and the history DB 513 indicates a database. The server list DB 508 is a database used when determining the server 2 to which the proxy execution request is to be sent, and details of which will be described later. The history DB 513 is a database showing an overview of executed processing, and the details will be described later.

メッセージ受信部501は、ネットワーク10から各種情報を受信する。メッセージ受信部501は、他のサーバ2から画像判定処理の処理結果を受信した場合には、処理結果を結果確認部502に出力する。なお、処理結果とともに、当該処理を実行したサーバ2の状態や性能に関するサーバ情報が受信されるので、当該サーバ情報も出力される。サーバ情報の詳細については後述する。メッセージ受信部501は、他のサーバ2から処理対象情報を受信した場合には、指示取得部503に出力する。指示取得部503は、取得した処理対象情報を処理実行部514に出力する。メッセージ受信部501は、他のサーバ2から代理実行要求を受信した場合には、判定部504に出力する。なお、代理実行要求とともに、他のサーバ2のサーバ情報が受信されるので、当該サーバ情報も出力される。 A message receiving unit 501 receives various types of information from the network 10 . When the message reception unit 501 receives the processing result of the image determination processing from another server 2 , the message reception unit 501 outputs the processing result to the result confirmation unit 502 . Since server information about the state and performance of the server 2 that executed the process is received together with the process result, the server information is also output. Details of the server information will be described later. When receiving processing target information from another server 2 , the message reception unit 501 outputs the information to the instruction acquisition unit 503 . The instruction acquisition unit 503 outputs the acquired processing target information to the processing execution unit 514 . When the message receiving unit 501 receives a proxy execution request from another server 2 , the message receiving unit 501 outputs the request to the determination unit 504 . Since the server information of the other server 2 is received together with the proxy execution request, the server information is also output.

結果確認部502は、処理結果を確認し、当該処理結果をデバイス指示作成部505に出力する。デバイス指示作成部505は、処理結果に基づき、パトライト202に対する指示を作成し、当該指示をライト制御部516に出力する。ライト制御部516は、指示に基づき、パトライト202を制御する。また、結果確認部502は、サーバ情報を状態更新部506に出力する。状態更新部506は、サーバ情報に基づき、サーバ一覧DB508を更新する。 The result confirmation unit 502 confirms the processing result and outputs the processing result to the device instruction generation unit 505 . The device instruction creation unit 505 creates an instruction for the patrol light 202 based on the processing result, and outputs the instruction to the light control unit 516 . The light control unit 516 controls the patrol lights 202 based on the instructions. Result confirmation unit 502 also outputs server information to status update unit 506 . A status update unit 506 updates the server list DB 508 based on the server information.

判定部504は、代理実行要求を受信すると、依頼元のサーバ2の処理の一部または全部を代理実行可能か否かを判定する。さらに、判定部504は、処理対象情報を複数のサーバ2に分配可能か否かを判定する。また、判定部504は、サーバ情報を状態反映部507に出力する。状態反映部507は、サーバ情報を、サーバ一覧DB508に反映する。 Upon receiving the proxy execution request, the determination unit 504 determines whether part or all of the processing of the request source server 2 can be executed by proxy. Furthermore, the determination unit 504 determines whether or not the processing target information can be distributed to a plurality of servers 2 . Also, the determination unit 504 outputs the server information to the state reflection unit 507 . The state reflection unit 507 reflects the server information on the server list DB 508 .

メッセージ送信部509は、ネットワーク10に各種情報を送信する。要求作成部510は、依頼元のサーバ2として動作する場合に、サーバ一覧DB508および履歴DB513を参照して、代理実行要求をメッセージ送信部509によって他のサーバ2に送信する。また、要求作成部510は、判定部504による判定結果が、他のサーバ2に代理実行要求を送信する必要がある場合、サーバ一覧DB508および履歴DB513を参照して、他のサーバ2に代理実行要求をメッセージ送信部509によって転送する。 A message transmission unit 509 transmits various types of information to the network 10 . When acting as the request source server 2 , the request creation unit 510 refers to the server list DB 508 and the history DB 513 and transmits the proxy execution request to the other server 2 via the message transmission unit 509 . Further, when the determination result by the determination unit 504 indicates that it is necessary to transmit a proxy execution request to another server 2 , the request creation unit 510 refers to the server list DB 508 and the history DB 513 to send the proxy execution request to the other server 2 . The request is forwarded by the message sending unit 509 .

デバイス指示作成部505は、依頼元のサーバ2として動作する場合に、他のサーバ2に処理対象情報をメッセージ送信部509によって転送する。なお、処理対象情報は、画像取得部515により取得される。結果作成部512は、代理実行した画像判定処理の処理結果をメッセージ送信部509によって送信する。また、結果作成部512は、他のサーバ2に処理対象情報を分配する場合には、分配する処理対象情報をメッセージ送信部509によって送信する。 The device instruction creation unit 505 , when operating as the request source server 2 , transfers the processing target information to the other server 2 using the message transmission unit 509 . Note that the processing target information is acquired by the image acquisition unit 515 . The result generation unit 512 transmits the processing result of the image determination processing executed by proxy through the message transmission unit 509 . Further, when distributing the processing target information to other servers 2 , the result creation unit 512 transmits the processing target information to be distributed by the message transmission unit 509 .

処理実行部514は、画像取得部515が取得した処理対象情報や、指示取得部503が出力した処理対象情報に対し、画像判定処理を実行する。画像判定処理の処理結果は、結果作成部512に出力される。処理実行部514は、画像判定処理の処理結果に基づき、パトライト202に対する指示を作成し、当該指示をライト制御部516に出力する。 The processing execution unit 514 executes image determination processing on the processing target information acquired by the image acquisition unit 515 and the processing target information output by the instruction acquisition unit 503 . A processing result of the image determination processing is output to the result generation unit 512 . The processing execution unit 514 creates an instruction for the patrol light 202 based on the processing result of the image determination processing, and outputs the instruction to the light control unit 516 .

処理実行部514は、画像判定処理の実行実績(データサイズ等)を履歴DB513に出力する。処理実行部514は、指示取得部503が出力した処理対象情報を、他のサーバ2に分配するために分割する。分割された処理対象情報は、結果作成部512に出力される。 The process execution unit 514 outputs the execution result (data size, etc.) of the image determination process to the history DB 513 . The processing execution unit 514 divides the processing target information output by the instruction acquisition unit 503 so as to be distributed to the other servers 2 . The divided processing target information is output to the result creation unit 512 .

画像取得部515は、カメラ102で撮像された画像を示す画像データを処理実行部514に出力したり、サーバ一覧DB508を経由して各部に提供する。ライト制御部516は、指示に基づき、パトライト202を制御したり、パトライト202の状態を取得する。 The image acquisition unit 515 outputs image data representing an image captured by the camera 102 to the processing execution unit 514 and provides the image data to each unit via the server list DB 508 . The light control unit 516 controls the patrol light 202 and acquires the state of the patrol light 202 based on the instruction.

次に、上述したサーバ一覧DB508と履歴DB513について説明する。図3(A)は、サーバ一覧DB508の一例を示す図である。サーバ一覧DB508は、サーバ名、IPアドレス、性能情報、状態、および最終更新時刻で構成される。このうちのサーバ名、IPアドレス、性能情報、および状態がサーバ情報である。 Next, the server list DB 508 and the history DB 513 described above will be described. FIG. 3A is a diagram showing an example of the server list DB 508. As shown in FIG. The server list DB 508 includes server names, IP addresses, performance information, statuses, and last update times. Of these, the server name, IP address, performance information, and status are server information.

サーバ名は、サーバ2の名称を示す。IPアドレスは、サーバ2のIPアドレスを示す。性能情報には、CPU(Central Processing Unit)の動作周波数(Hz)とコア数の情報が含まれる。状態は、サーバ2の状態を示す。状態には、アイドル、制御中、代理実行中がある。このうちの制御中は、代理実行ではなく自身の処理を実行している状態を示す。代理実行中は、他のサーバ2の処理を実行している状態を示す。最終更新時刻は、サーバ情報が更新された時刻を示す。なお、時刻に加えて年月日を記憶してもよい。 A server name indicates the name of the server 2 . IP address indicates the IP address of the server 2 . The performance information includes information on the operating frequency (Hz) of the CPU (Central Processing Unit) and the number of cores. A state indicates the state of the server 2 . The states are Idle, Controlling, and Executing on behalf of. Of these, "during control" indicates a state in which its own processing is being executed instead of being executed by proxy. During proxy execution indicates a state in which processing of another server 2 is being executed. The last update time indicates the time when the server information was updated. In addition to the time, the year, month, and day may be stored.

図3(A)において、例えばサーバDは、IPアドレスが192.168.0.3で、CPUの動作周波数は1.5G Hzで、コア数は4つであり、4時22分時点での状態は代理実行中であることがわかる。 In FIG. 3A, for example, server D has an IP address of 192.168.0.3, a CPU operating frequency of 1.5 GHz, and four cores. You can see that the state is proxy running.

図3(B)は、履歴DB513の一例を示す図である。履歴DB513は、データサイズ、CPU使用率、および処理時間で構成される。データサイズは、処理対象情報のデータサイズを示し、単位はキロバイトやメガバイト等が用いられる。CPU使用率は、処理対象情報に対して画像判定処理を実行したときのCPU使用率を示し、単位は%が用いられる。処理時間は、画像判定処理の実行に要した時間であり、単位は秒が用いられる。図3(B)に示される履歴を有するサーバ2の処理能力は、CPU使用率が100%だとすると約100KB/秒であることわかる。 FIG. 3B is a diagram showing an example of the history DB 513. As shown in FIG. The history DB 513 is composed of data size, CPU usage rate, and processing time. The data size indicates the data size of the information to be processed, and the unit is kilobytes, megabytes, or the like. The CPU usage rate indicates the CPU usage rate when the image determination process is executed on the processing target information, and the unit is %. The processing time is the time required to execute the image determination processing, and the unit is seconds. It can be seen that the processing capacity of the server 2 having the history shown in FIG. 3(B) is about 100 KB/sec if the CPU usage rate is 100%.

図3(C)は、代理実行要求のメッセージフォーマットを示す図である。代理実行要求は、依頼元、処理量、処理時間、および0個以上の代理実行情報で構成される。このうちの依頼元は、依頼元のサーバ2のIPアドレスである。処理量は、代理実行を依頼する処理対象情報のデータサイズである。処理時間は、依頼元が指定する、画像判定処理に要する時間であり、当該時間内に処理を終えることが要求される。 FIG. 3C is a diagram showing the message format of the proxy execution request. A proxy execution request is composed of a requester, a processing amount, a processing time, and zero or more pieces of proxy execution information. Among these, the request source is the IP address of the server 2 that is the request source. The amount of processing is the data size of the processing target information for which proxy execution is requested. The processing time is the time required for image determination processing specified by the requester, and the processing is required to be completed within that time.

代理実行情報は、サーバ情報と、処理量とで構成される。代理実行情報は、代理実行要求を受信したサーバ2の数だけ設けられる。代理実行情報は、サーバ2が受信した元のメッセージに、新たに代理実行情報を追加して他のサーバ2に転送する。代理実行情報におけるサーバ情報は、代理実行情報を受信したサーバ2のサーバ情報であり、処理量はサーバ情報に示されるサーバ2が処理する処理量である。受信したサーバ2が代理実行を全く行わない場合は、処理量を0として代理実行情報を追加する。 The proxy execution information is composed of server information and processing amount. Proxy execution information is provided for the number of servers 2 that have received proxy execution requests. The proxy execution information is transferred to another server 2 by adding new proxy execution information to the original message received by the server 2 . The server information in the proxy execution information is the server information of the server 2 that received the proxy execution information, and the processing amount is the processing amount of the server 2 indicated in the server information. If the receiving server 2 does not perform proxy execution at all, it sets the processing amount to 0 and adds proxy execution information.

依頼元は、サーバ一覧DB508を参照して、代理実行要求の送信先を決定する。このサーバ一覧DB508は、サーバ2の起動時と、代理実行要求を受信したときなどに更新されたり、処理結果を受信した場合に反映される。サーバ2の起動時には、上述したバックエンドサーバ1から他のサーバ2のサーバ情報が提供されるので、このときサーバ一覧DB508が作成される。バックエンドサーバ1が提供するサーバ情報は、提供されるサーバ2に隣接するサーバ2や、システム管理者により設定されたサーバ2のサーバ情報であってもよい。なお、隣接するサーバ2とは、例えば物理的に最も近いサーバ2や、ネットワーク遅延が少ないサーバ2や、同一のハブに接続されているサーバ2をいう。 The requester refers to the server list DB 508 to determine the destination of the proxy execution request. This server list DB 508 is updated when the server 2 is activated and when a proxy execution request is received, and is reflected when a processing result is received. When the server 2 is activated, the server information of the other server 2 is provided from the backend server 1 described above, so the server list DB 508 is created at this time. The server information provided by the backend server 1 may be the server information of the server 2 adjacent to the server 2 provided or the server information of the server 2 set by the system administrator. Note that the adjacent server 2 means, for example, the server 2 that is physically closest, the server 2 with little network delay, or the server 2 connected to the same hub.

また、本実施形態によれば、依頼元のサーバ2は、依頼元が代理実行要求を送信したサーバ2が更に転送するサーバ2のサーバ情報を記憶する必要がないこととなる。また、サーバ一覧DB508には、バックエンドサーバ1が提供するサーバ情報や、代理実行要求を受信したときに加わるサーバ情報が記憶されるので、必要以上にサーバ情報が記憶されることがない。 Further, according to this embodiment, the request source server 2 does not need to store the server information of the server 2 to be further transferred by the server 2 to which the request source has transmitted the proxy execution request. Further, since the server list DB 508 stores server information provided by the backend server 1 and server information added when a proxy execution request is received, unnecessary server information is not stored.

これにより、サーバ2は、多くのサーバ情報を記憶する必要がないので、サーバ2のハードウェアリソースを有効に利用でき、また全サーバ情報を記憶するようなサーバも必要ない。 As a result, the server 2 does not need to store a large amount of server information, so that the hardware resources of the server 2 can be used effectively, and a server that stores all server information is not required.

依頼元のサーバ2は、サーバ一覧DB508に複数のサーバ2が記憶されている場合、代理実行要求の送信先として、アイドル状態のサーバ2や、性能の良い(例えば動作周波数とコア数の積が大きいなど)サーバ2を優先的に決定する。 When a plurality of servers 2 are stored in the server list DB 508, the request source server 2 selects an idle server 2 or a server 2 with good performance (for example, the product of the operating frequency and the number of cores) as a transmission destination of the proxy execution request. large, etc.) server 2 is determined preferentially.

代理実行要求を受信したサーバ2は、上記代理実行要求の処理量や自らの状態等に基づき代理実行可能か否かを判定する(換言すると、処理可能量(0%~100%)を判定する)。例えば、代理実行要求による画像判定処理を実行したとき、以下の(a)、(b)のいずれかの条件を満たす場合に、代理実行可能と判定する。
(a)サーバ2が元々実行する必要のある計算やパトライト202の制御処理と代理実行要求による画像判定処理を並行して実行しても、そのサーバ2での各種制御のリアルタイム性を損なわないこと
(b)サーバ2が元々実行する必要のある計算やパトライト202の制御処理を行う必要のない時間内に画像判定処理が終了すること
The server 2 that has received the proxy execution request determines whether or not the proxy execution is possible based on the processing amount of the proxy execution request and its own state (in other words, it determines the processing capacity (0% to 100%)). ). For example, when executing the image determination processing by the proxy execution request, it is determined that the proxy execution is possible if either of the following conditions (a) or (b) is satisfied.
(a) Even if the server 2 executes the calculations that originally need to be executed, the control processing of the patrol light 202, and the image determination processing by proxy execution request in parallel, the real-time performance of various controls in the server 2 is not impaired. (b) The image determination process must be completed within a time period during which the server 2 does not need to perform calculations or control processes for the patrol lights 202.

(a)の場合は、例えばサーバ2は、履歴DB513を参照し、画像判定処理を実行したときのCPU使用率の最大値と、パトライト202の制御中のCPU使用率の最大値のいずれか大きい方のCPU使用率を求める。このCPU使用率と、これから代理実行を行った場合の代理実行によるCPU使用率とを合わせてもCPU使用率が100%以下となる場合に、(a)を満たすと判定する。(b)は、例えば、これから10分程度アイドル状態が継続することが予めわかっているときになどに有効な条件となる。 In the case of (a), for example, the server 2 refers to the history DB 513 and determines whichever of the maximum CPU usage rate when executing the image determination process and the maximum CPU usage rate during control of the patrol light 202 is greater. Find the CPU usage rate of the other side. It is determined that (a) is satisfied when the CPU usage rate is 100% or less even after combining this CPU usage rate and the CPU usage rate by the proxy execution when the proxy execution is performed from now on. Condition (b) is effective when, for example, it is known in advance that the idle state will continue for about 10 minutes.

次に、具体的な適用例や処理の流れについてシーケンス図やフローチャートを用いて説明する。以下の説明では、分かりやすくするために、依頼元のサーバ2を依頼元サーバと表現し、代理実行要求を受信するサーバ2をサーバA、B、Cや受信サーバなどと表現する。 Next, specific application examples and the flow of processing will be described using sequence diagrams and flowcharts. In the following description, for the sake of clarity, the server 2 that is the request source will be referred to as the request source server, and the servers 2 that receive the proxy execution request will be referred to as servers A, B, C, the receiving server, and the like.

図4は、適用例(その1)を示すシーケンス図である。依頼元サーバは、サーバAに代理実行要求を送信する(ステップS101)。代理実行要求を受信したサーバAは、実行不可能と判定し、サーバBに代理実行要求を転送する(ステップS102)。代理実行要求を受信したサーバBは、処理の全部を代理実行可能と判定し、代理実行応答を依頼元サーバに送信する(ステップS103)。これにより、サーバBは、全処理モードで動作する。 FIG. 4 is a sequence diagram showing an application example (Part 1). The request source server transmits a proxy execution request to server A (step S101). Server A, which has received the proxy execution request, determines that execution is not possible, and transfers the proxy execution request to server B (step S102). Server B, which has received the proxy execution request, determines that all processing can be executed by proxy, and transmits a proxy execution response to the request source server (step S103). As a result, server B operates in full processing mode.

依頼元サーバは、処理対象情報をサーバBに送信する(ステップS104)。サーバBは、画像判定処理を代理実行し、処理結果を通知する結果通知を依頼元サーバに送信し(ステップS105)、処理を終了する。図4の適用例において、サーバA、サーバBは代理実行要求受信時にサーバ一覧DB508を更新可能で、依頼元サーバは代理実行応答受信時または結果通知受信時にサーバ一覧DB508を更新可能である。これから説明する他の適用例においても、同様にサーバ一覧DB508を更新可能である。 The requesting server transmits the processing target information to the server B (step S104). Server B executes the image determination processing as a proxy, transmits a result notification notifying the processing result to the request source server (step S105), and ends the processing. In the application example of FIG. 4, servers A and B can update the server list DB 508 when receiving a proxy execution request, and the requesting server can update the server list DB 508 when receiving a proxy execution response or result notification. The server list DB 508 can be similarly updated in other application examples that will be described below.

図5は、適用例(その2)を示すシーケンス図である。依頼元サーバは、サーバAに代理実行要求を送信する(ステップS201)。代理実行要求を受信したサーバAは、処理量の30%を実行可能と判定し、サーバBに代理実行要求を転送する(ステップS202)。代理実行要求を受信したサーバBは、残りの処理量の70%を代理実行可能と判定し、さらに分配も可能と判定し、代理実行応答を依頼元サーバに送信する(ステップS203)。これにより、サーバAは、一部処理(分配なし)モードで動作し、サーバBは、一部処理(分配あり)モードで動作する。 FIG. 5 is a sequence diagram showing an application example (part 2). The request source server transmits a proxy execution request to server A (step S201). Server A, which has received the proxy execution request, determines that 30% of the processing amount can be executed, and transfers the proxy execution request to server B (step S202). Server B, which has received the proxy execution request, determines that 70% of the remaining processing amount can be proxy executed, further determines that distribution is possible, and transmits a proxy execution response to the request source server (step S203). As a result, server A operates in partial processing (without distribution) mode, and server B operates in partial processing (with distribution) mode.

依頼元サーバは、処理対象情報をサーバBに送信する(ステップS204)。サーバBは、処理対象情報の30%をサーバAに送信し(ステップS205)、また70%分の画像判定処理を代理実行する。サーバAは30%分の画像判定処理を代理実行し、結果通知をサーバBに送信する(ステップS206)。サーバBは、自らの処理結果とサーバAの処理結果を通知する結果通知を依頼元サーバに送信し(ステップS207)、処理を終了する。 The requesting server transmits the processing target information to the server B (step S204). Server B transmits 30% of the processing target information to server A (step S205), and executes image determination processing for 70% as a proxy. Server A performs image determination processing for 30% by proxy, and transmits a result notification to server B (step S206). Server B transmits a result notification of its own processing result and server A's processing result to the requesting server (step S207), and ends the process.

図6は、適用例(その3)を示すシーケンス図である。依頼元サーバは、サーバAに代理実行要求を送信する(ステップS301)。代理実行要求を受信したサーバAは、処理量の30%を実行可能と判定し、サーバBに代理実行要求を転送する(ステップS302)。代理実行要求を受信したサーバBは、残りの処理量の70%を代理実行可能と判定するが、分配は不可能と判定し、サーバCに代理実行要求を転送する(ステップS303)。 FIG. 6 is a sequence diagram showing an application example (No. 3). The request source server transmits a proxy execution request to server A (step S301). Server A, which has received the proxy execution request, determines that 30% of the processing amount can be executed, and transfers the proxy execution request to server B (step S302). Server B, which has received the proxy execution request, determines that 70% of the remaining processing amount can be proxy executed, but determines that it cannot be distributed, and transfers the proxy execution request to server C (step S303).

代理実行要求を受信したサーバCは、分配可能と判定し、代理実行応答を依頼元サーバに送信する(ステップS304)。これにより、サーバA、サーバBは、一部処理(分配なし)モードで動作し、サーバCは、分配モードで動作する。 Server C, which has received the proxy execution request, determines that distribution is possible, and transmits a proxy execution response to the requesting server (step S304). As a result, Server A and Server B operate in partial processing (no distribution) mode, and Server C operates in distribution mode.

依頼元サーバは、処理対象情報をサーバCに送信する(ステップS305)。サーバCは、処理対象情報の30%をサーバAに送信し(ステップS306)、処理対象情報の70%をサーバBに送信する(ステップS307)。サーバAは30%分の画像判定処理を代理実行し、結果通知をサーバCに送信する(ステップS308)。サーバAは30%分の画像判定処理を代理実行し、結果通知をサーバCに送信する(ステップS308)。サーバBは70%分の画像判定処理を代理実行し、結果通知をサーバCに送信する(ステップS309)。サーバCは、サーバAの処理結果とサーバBの処理結果を通知する結果通知を依頼元サーバに送信し(ステップS310)、処理を終了する。 The requesting server transmits the processing target information to the server C (step S305). Server C transmits 30% of the processing target information to server A (step S306), and transmits 70% of the processing target information to server B (step S307). Server A executes 30% of the image determination processing by proxy, and transmits a result notification to server C (step S308). Server A executes 30% of the image determination processing by proxy, and transmits a result notification to server C (step S308). Server B executes 70% of the image determination processing by proxy, and transmits a result notification to server C (step S309). Server C transmits a result notification notifying the processing result of server A and the processing result of server B to the requesting server (step S310), and ends the process.

上述した適用例に示されるように、依頼元サーバは、代理実行要求を送信し、処理対象情報を送信し、結果通知を待っていればよい。このように、依頼元サーバは、依頼先を何度も探す必要がなく、また受信サーバが実行する処理の割り当てに関する負荷(処理対象情報の分配による負荷など)も発生しないため、分散処理における負荷をより軽減可能となる。 As shown in the application example described above, the request source server only needs to transmit the proxy execution request, transmit the processing target information, and wait for the notification of the result. In this way, the request source server does not need to repeatedly search for the request destination, and there is no load associated with allocating the processing to be executed by the receiving server (load due to distribution of processing target information, etc.). can be further reduced.

また、受信サーバにおいても、受信サーバが可能な範囲で代理処理を実行でき、また分配のみを実行可能など、受信サーバの性能や状態に応じて柔軟に対応できるため、負荷を軽減できるだけではなく、より実態に応じた分散処理を行うことができる。 Also, the receiving server can flexibly respond to the performance and status of the receiving server, such as executing proxy processing within the scope of the receiving server's ability, or executing only distribution. Distributed processing can be performed in a more practical manner.

次に、依頼元サーバや受信サーバの処理の流れをフローチャートを用いて説明する。図7は、依頼元サーバの処理の流れを示すフローチャートである。依頼元サーバは、サーバ一覧DB508を参照し、代理実行を要求する受信サーバを決定する(ステップS401)。依頼元サーバは、決定した受信サーバに、代理実行要求を送信する(ステップS402)。 Next, the processing flow of the request source server and the receiving server will be described using flowcharts. FIG. 7 is a flow chart showing the processing flow of the request source server. The requesting server refers to the server list DB 508 and determines the receiving server that requests proxy execution (step S401). The request source server transmits a proxy execution request to the determined receiving server (step S402).

依頼元サーバは、受信サーバからの代理実行応答を待ち、代理実行応答を受信すると(ステップS403:YES)、代理実行応答を送信した受信サーバに処理対象情報を送信する(ステップS404)。依頼元サーバは、受信サーバからの結果通知を待ち、結果通知を受信すると(ステップS405:YES)、処理結果に応じた制御を実行し(ステップS406)、処理を終了する。 The request source server waits for a proxy execution response from the receiving server, and upon receiving the proxy execution response (step S403: YES), transmits processing target information to the receiving server that has transmitted the proxy execution response (step S404). The requesting server waits for the result notification from the receiving server, and when the result notification is received (step S405: YES), executes control according to the processing result (step S406), and ends the processing.

図7に示されるように、依頼元サーバは、代理実行要求を送信し、処理対象情報を送信し、結果通知を待っていればよい。また、フローチャートに示されるように非常に軽い処理であるため、依頼元サーバの負荷をより軽減可能となる。 As shown in FIG. 7, the request source server only needs to send the proxy execution request, send the processing target information, and wait for the notification of the result. Moreover, as shown in the flowchart, the processing is very light, so the load on the request source server can be further reduced.

次に、受信サーバの処理の流れを説明する。図8は、代理実行要求を受信したときの受信サーバの処理の流れを示すフローチャートである。受信サーバは、代理実行要求を受信すると、代理実行情報がある場合には、代理実行情報に示される処理量の総和を求め、残処理量は0%以外か否かを判定する。代理実行情報がない場合には残処理量は100%である。 Next, the processing flow of the receiving server will be described. FIG. 8 is a flow chart showing the processing flow of the receiving server when receiving a proxy execution request. When the receiving server receives the proxy execution request, if there is proxy execution information, the receiving server obtains the total processing amount indicated in the proxy execution information, and determines whether the remaining processing amount is other than 0%. If there is no proxy execution information, the remaining processing amount is 100%.

残処理量は0%以外の場合には(ステップS501:YES)、受信サーバは、処理可能量を判定し(ステップS502)、判定された処理可能量で分岐する(ステップS503)。処理可能量が0%の場合、すなわち全く処理できない場合、受信サーバは、サーバ一覧DB508を参照して、代理実行要求の転送先を決定する(ステップS504)。受信サーバは、決定した転送先に代理実行要求を転送して(ステップS505)、処理を終了する。 If the remaining processing amount is other than 0% (step S501: YES), the receiving server determines the processable amount (step S502), and branches according to the determined processable amount (step S503). If the processing capacity is 0%, that is, if the processing cannot be performed at all, the receiving server refers to the server list DB 508 and determines the transfer destination of the proxy execution request (step S504). The receiving server transfers the proxy execution request to the determined transfer destination (step S505), and ends the process.

上記ステップS502において、処理可能量が100%と判定された場合、受信サーバは全処理モードで動作し(ステップS506)、依頼元に代理実行応答を送信し(ステップS511)、処理を終了する。 If it is determined in step S502 that the processable amount is 100%, the receiving server operates in all processing mode (step S506), transmits a proxy execution response to the requester (step S511), and ends the process.

上記ステップS502において、処理可能量が一部(0%より大きく、100%未満)と判定された場合、受信サーバは、この処理可能量により残処理量が0となるか否かを判定する(ステップS507)。残処理量が0となる場合には、受信サーバは、処理対象情報の分配処理も可能か否かを判定する(ステップS508)。分配処理も可能場合には(ステップS508:YES)、受信サーバは、一部処理(分配あり)モードで動作し(ステップS509)、依頼元に代理実行応答を送信し(ステップS511)、処理を終了する。 In step S502, if it is determined that the processable amount is partial (greater than 0% and less than 100%), the receiving server determines whether or not the remaining processing amount becomes 0 due to the processable amount ( step S507). When the remaining processing amount becomes 0, the receiving server determines whether or not distribution processing of the processing target information is also possible (step S508). If distribution processing is also possible (step S508: YES), the receiving server operates in partial processing (with distribution) mode (step S509), transmits a proxy execution response to the request source (step S511), and executes processing. finish.

分配処理が不可能場合には(ステップS508:NO)、受信サーバは、一部処理(分配なし)モードで動作し(ステップS510)、受信サーバは、サーバ一覧DB508を参照して、代理実行要求の転送先を決定する(ステップS504)。受信サーバは、決定した転送先に代理実行要求を転送して(ステップS505)、処理を終了する。 If distribution processing is not possible (step S508: NO), the receiving server operates in a partial processing (no distribution) mode (step S510), refers to the server list DB 508, and issues a proxy execution request. is determined (step S504). The receiving server transfers the proxy execution request to the determined transfer destination (step S505), and ends the process.

上記ステップS501において、残処理量は0%の場合には(ステップS501:NO)、受信サーバは、分配モードで動作可能か否かを判定する(ステップS512)。分配モードで動作不可能な場合には(ステップS512:NO)、受信サーバは、サーバ一覧DB508を参照して、代理実行要求の転送先を決定する(ステップS504)。受信サーバは、決定した転送先に代理実行要求を転送して(ステップS505)、処理を終了する。 At step S501, if the remaining processing amount is 0% (step S501: NO), the receiving server determines whether or not it can operate in the distribution mode (step S512). If it cannot operate in the distribution mode (step S512: NO), the receiving server refers to the server list DB 508 and determines the transfer destination of the proxy execution request (step S504). The receiving server transfers the proxy execution request to the determined transfer destination (step S505), and ends the process.

一方、分配モードで動作可能な場合には(ステップS512:YES)、受信サーバは、分配モードで動作し(ステップS513)、依頼元に代理実行応答を送信し(ステップS511)、処理を終了する。 On the other hand, if it is possible to operate in the distribution mode (step S512: YES), the receiving server operates in the distribution mode (step S513), transmits a proxy execution response to the request source (step S511), and ends the process. .

次に、図9を用いて、全処理モードまたは一部処理(分配あり)モードで動作する受信サーバの処理の流れを説明する。図9は、代理実行応答を送信した後の受信サーバの処理の流れを示すフローチャートである。受信サーバは、処理対象情報を受信すると(ステップS601:YES)、全処理モードで動作しているか否かを判定する(ステップS602)。 Next, with reference to FIG. 9, the processing flow of the receiving server operating in the full processing mode or the partial processing (with distribution) mode will be described. FIG. 9 is a flow chart showing the processing flow of the receiving server after transmitting the proxy execution response. When the receiving server receives the processing target information (step S601: YES), it determines whether or not it is operating in all processing modes (step S602).

全処理モードで動作している場合には(ステップS602:YES)、受信サーバは、代理処理を実行し(ステップS607)、依頼元サーバに結果通知を送信し(ステップS606)、処理を終了する。 When operating in all processing mode (step S602: YES), the receiving server executes proxy processing (step S607), transmits a result notification to the requesting server (step S606), and ends the processing. .

全処理モードで動作していない場合には(ステップS602:NO)、一部処理(分配あり)モードで動作しているため、受信サーバは、分配先にデータ通知を送信する(ステップS604)。次いで、受信サーバは、代理処理を実行し(ステップS604)、分配先からの結果通知を待ち、結果通知を受信すると(ステップS605)、自らの処理結果と分配先の処理結果を通知する結果通知を依頼元サーバに送信し(ステップS606)、処理を終了する。 If it is not operating in the full processing mode (step S602: NO), it is operating in the partial processing (with distribution) mode, so the receiving server transmits a data notification to the distribution destination (step S604). Next, the receiving server executes proxy processing (step S604), waits for a result notification from the distribution destination, and receives the result notification (step S605). is sent to the request source server (step S606), and the process ends.

このように、複数のサーバ2によって分散処理される場合であっても、処理結果は1つのサーバ2によって送信される。したがって、依頼元サーバは、代理実行するサーバ2の各々から処理結果を待たなくてもよいため、分散処理に係る負荷をより低減可能となる。 In this way, even when distributed processing is performed by a plurality of servers 2 , the processing result is transmitted by one server 2 . Therefore, the request source server does not have to wait for the processing result from each of the servers 2 that perform proxy execution, so that the load related to the distributed processing can be further reduced.

次に、図10を用いて、分配モードで動作する受信サーバの処理の流れを説明する。図10は、代理実行応答を送信した後の受信サーバの処理の流れを示すフローチャートである。受信サーバは、処理対象情報を受信すると(ステップS701:YES)、分配先にデータ通知を送信する(ステップS702)。次いで、受信サーバは、分配先からの結果通知を待ち、結果通知を受信すると(ステップS703:YES)、分配先の処理結果を通知する結果通知を依頼元サーバに送信し(ステップS704)、処理を終了する。 Next, with reference to FIG. 10, the processing flow of the receiving server operating in the distribution mode will be described. FIG. 10 is a flow chart showing the processing flow of the receiving server after transmitting the proxy execution response. When the receiving server receives the processing target information (step S701: YES), it transmits a data notification to the distribution destination (step S702). Next, the receiving server waits for a result notification from the distribution destination, and upon receiving the result notification (step S703: YES), transmits a result notification notifying the processing result of the distribution destination to the request source server (step S704), and performs processing. exit.

このように、分配のみを実行することを可能とすることで、代理実行要求を受信したサーバ2は、その負荷に応じて、画像判定処理を実行するか、または分配のみを実行するかを柔軟に決定することができる。 In this way, by enabling execution of only distribution, the server 2 that receives the proxy execution request can flexibly decide whether to execute the image determination process or to execute only distribution according to the load. can be determined to

上述した実施形態では、一例としてカメラとパトライトを制御するサーバを例にしたが、これに限るものではない。例えばフラッパーゲートなど、サーバが制御可能な装置であれば、制御対象はどのような装置であってもよい。 In the above-described embodiment, a server that controls a camera and a patrol light was used as an example, but the present invention is not limited to this. For example, the device to be controlled may be any device, such as a flapper gate, as long as the device can be controlled by the server.

図11は本実施形態による情報処理装置600の最小構成を示す図である。本実施形態による情報処理装置600は少なくとも受信手段601と、実行判定手段602と、代理実行手段603と、分配判定手段604と、分配手段605とを有していればよい。 FIG. 11 is a diagram showing the minimum configuration of an information processing device 600 according to this embodiment. The information processing apparatus 600 according to the present embodiment may have at least reception means 601 , execution determination means 602 , proxy execution means 603 , distribution determination means 604 and distribution means 605 .

受信手段601は、依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する。実行判定手段602は、前記受信手段601により、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する。代理実行手段603は、前記実行判定手段602により、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する。分配判定手段604は、代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する。分配手段605は、前記分配判定手段604により、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する。 The receiving unit 601 receives a proxy execution request for requesting proxy execution of processing of the information processing apparatus that is the request source. When the reception unit 601 receives the proxy execution request, the execution determination unit 602 determines whether or not part or all of the processing of the request source information processing apparatus can be executed by proxy. The proxy executing means 603 executes the process of the information processing apparatus of the request source when the execution determining means 602 determines that the proxy execution is possible. The distribution determination unit 604 determines whether or not the processing target information to be processed by proxy can be distributed to a plurality of information processing apparatuses. When the distribution determination unit 604 determines that the information can be distributed, the distribution unit 605 distributes the information to be processed to the information processing apparatus that performs proxy execution.

上述の情報処理装置600は内部に、コンピュータシステムを有している。そして、上述した図4-図10に示される処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。 The information processing apparatus 600 described above has a computer system inside. The processes shown in FIGS. 4 to 10 described above are stored in a computer-readable recording medium in the form of a program, and the above processes are performed by reading and executing this program by a computer. . Here, the computer-readable recording medium refers to magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, semiconductor memories, and the like. Alternatively, the computer program may be distributed to a computer via a communication line, and the computer receiving the distribution may execute the program.

なお、図11における情報処理装置600の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより図4-図10に示される処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 11 is recorded in a computer-readable recording medium, and the program recorded in the recording medium is read into a computer system and executed, thereby performing the functions of the information processing apparatus 600 shown in FIG. - The process shown in Figure 10 may be performed. It should be noted that the "computer system" referred to here includes hardware such as an OS and peripheral devices. Also, the "computer system" includes a WWW system provided with a home page providing environment (or display environment). The term "computer-readable recording medium" refers to portable media such as flexible discs, magneto-optical discs, ROMs and CD-ROMs, and storage devices such as hard discs incorporated in computer systems. In addition, "computer-readable recording medium" means a volatile memory (RAM) inside a computer system that acts as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. , includes those that hold the program for a certain period of time.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 Further, the above program may be transmitted from a computer system storing this program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in a transmission medium. Here, the "transmission medium" for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the program may be for realizing part of the functions described above. Further, it may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.

本発明は、情報処理装置、システム、プログラム及び制御方法に関する。 The present invention relates to an information processing device, system, program, and control method.

1 バックエンドサーバ
2 サーバ
10 ネットワーク
102 カメラ
202 パトライト
501 メッセージ受信部
502 結果確認部
503 指示取得部
504 判定部
505 デバイス指示作成部
506 状態更新部
507 状態反映部
508 サーバ一覧DB
509 メッセージ送信部
510 要求作成部
511 指示作成部
512 結果作成部
513 履歴DB
514 処理実行部
515 画像取得部
516 ライト制御部
600 情報処理装置
601 受信手段
602 実行判定手段
603 代理実行手段
604 分配判定手段
605 分配手段
1 backend server 2 server 10 network 102 camera 202 patrol light 501 message reception unit 502 result confirmation unit 503 instruction acquisition unit 504 determination unit 505 device instruction creation unit 506 status update unit 507 status reflection unit 508 server list DB
509 Message sending unit 510 Request creating unit 511 Instruction creating unit 512 Result creating unit 513 History DB
514 process execution unit 515 image acquisition unit 516 light control unit 600 information processing device 601 reception means 602 execution determination means 603 proxy execution means 604 distribution determination means 605 distribution means

Claims (9)

依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する受信手段と、
前記受信手段により、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定手段と、
前記実行判定手段により、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行手段と、
代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定手段と、
前記分配判定手段により、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配手段と、
を有する情報処理装置。
Receiving means for receiving a proxy execution request for requesting proxy execution of processing of the request source information processing device;
execution determining means for determining, when the proxy execution request is received by the receiving means, whether part or all of the processing of the request source information processing apparatus can be executed by proxy;
a proxy executing means for executing the processing of the information processing apparatus that is the request source when the execution determining means determines that the proxy execution is possible;
distribution determination means for determining whether or not processing target information to be processed by proxy can be distributed to a plurality of information processing apparatuses;
a distribution means for distributing the information to be processed to an information processing apparatus that performs proxy execution when the distribution determination means determines that the information can be distributed;
Information processing device having
前記実行判定手段により、代理実行不可能と判定された場合には、前記代理実行要求を、前記依頼元の情報処理装置とは異なる他の情報処理装置に転送する請求項1に記載の情報処理装置。 2. The information processing according to claim 1, wherein, when said execution determining means determines that proxy execution is impossible, said proxy execution request is transferred to another information processing apparatus different from said request source information processing apparatus. Device. 前記実行判定手段により、一部の処理を実行可能と判定された場合には、一部の処理を実行可能であることを示した前記代理実行要求を、前記依頼元の情報処理装置とは異なる他の情報処理装置に転送可能である請求項1または請求項2に記載の情報処理装置。 When the execution determination means determines that the part of the process is executable, the proxy execution request indicating that the part of the process is executable is sent from a different information processing apparatus as the request source. 3. The information processing apparatus according to claim 1, capable of being transferred to another information processing apparatus. 前記代理実行要求を転送可能な情報処理装置の性能および状態を示すリストに基づき前記代理実行要求を転送する請求項2または請求項3に記載の情報処理装置。 4. The information processing apparatus according to claim 2, wherein the proxy execution request is transferred based on a list indicating the performance and status of information processing apparatuses to which the proxy execution request can be transferred. 前記実行判定手段により、一部の処理を代理実行可能と判定され、かつ前記分配判定手段により、分配可能と判定された場合には、前記依頼元の情報処理装置の処理を実行するとともに、前記処理対象情報を代理実行する情報処理装置に分配する請求項1から請求項4のいずれか1項に記載の情報処理装置。 When the execution determination means determines that a part of the process can be executed by proxy and the distribution determination means determines that it can be distributed, the process of the information processing apparatus that is the request source is executed, and 5. The information processing apparatus according to any one of claims 1 to 4, wherein the information to be processed is distributed to the information processing apparatus that performs proxy execution. 前記分配手段により、代理実行する情報処理装置に前記処理対象情報が分配された場合には、分配された情報処理装置から代理処理の処理結果を受信し、当該処理結果を前記依頼元の情報処理装置に送信する請求項1から請求項5のいずれか1項に記載の情報処理装置。 When the information to be processed is distributed by the distribution means to the information processing device that performs proxy execution, the processing result of the proxy processing is received from the distributed information processing device, and the processing result is sent to the information processing of the request source. 6. The information processing apparatus according to any one of claims 1 to 5, which transmits to the apparatus. 複数の情報処理装置を含むシステムであって、
処理の代理実行を要求する情報処理装置は、
処理の代理実行を要求する代理実行要求を送信する送信手段を備え、
前記代理実行要求を受信する情報処理装置は、
前記代理実行要求を受信する受信手段と、
前記受信手段により、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定手段と、
前記実行判定手段により、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行手段と、
代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定手段と、
前記分配判定手段により、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配手段と、
を有するシステム。
A system including a plurality of information processing devices,
An information processing device that requests proxy execution of processing,
a transmission means for transmitting a proxy execution request for requesting proxy execution of processing;
The information processing device that receives the proxy execution request,
receiving means for receiving the proxy execution request;
execution determining means for determining, when the proxy execution request is received by the receiving means, whether part or all of the processing of the request source information processing apparatus can be executed by proxy;
a proxy executing means for executing the processing of the information processing apparatus that is the request source when the execution determining means determines that the proxy execution is possible;
distribution determination means for determining whether or not processing target information to be processed by proxy can be distributed to a plurality of information processing apparatuses;
a distribution means for distributing the information to be processed to an information processing apparatus that performs proxy execution when the distribution determination means determines that the information can be distributed;
A system with
コンピュータに、
依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する受信ステップと、
前記受信ステップにより、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定ステップと、
前記実行判定ステップにより、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行ステップと、
代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定ステップと、
前記分配判定ステップにより、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配ステップと、
を実行させるためのプログラム。
to the computer,
a receiving step of receiving a proxy execution request for requesting proxy execution of a process of an information processing device that is a request source;
an execution determination step of determining, when the proxy execution request is received by the receiving step, whether or not part or all of the processing of the information processing device that is the request source can be executed by proxy;
a proxy execution step of executing a process of the information processing device that is the request source when the execution determination step determines that proxy execution is possible;
a distribution determination step of determining whether or not processing target information to be processed by proxy can be distributed to a plurality of information processing apparatuses;
a distribution step of distributing the processing target information to an information processing apparatus that performs proxy execution when the distribution determination step determines that the information can be distributed;
program to run the
情報処理装置の制御方法であって、
依頼元の情報処理装置の処理の代理実行を要求する代理実行要求を受信する受信ステップと、
前記受信ステップにより、前記代理実行要求を受信すると、依頼元の情報処理装置の処理の一部または全部を代理実行可能か否かを判定する実行判定ステップと、
前記実行判定ステップにより、代理実行可能と判定された場合に、前記依頼元の情報処理装置の処理を実行する代理実行ステップと、
代理実行する処理の対象となる処理対象情報を複数の情報処理装置に分配可能か否かを判定する分配判定ステップと、
前記分配判定ステップにより、分配可能と判定された場合に、前記処理対象情報を代理実行する情報処理装置に分配する分配ステップと、
を有する制御方法。
A control method for an information processing device,
a receiving step of receiving a proxy execution request for requesting proxy execution of a process of an information processing device that is a request source;
an execution determination step of determining, when the proxy execution request is received by the receiving step, whether or not part or all of the processing of the information processing device that is the request source can be executed by proxy;
a proxy execution step of executing a process of the information processing device that is the request source when the execution determination step determines that proxy execution is possible;
a distribution determination step of determining whether or not processing target information to be processed by proxy can be distributed to a plurality of information processing apparatuses;
a distribution step of distributing the processing target information to an information processing apparatus that performs proxy execution when the distribution determination step determines that the information can be distributed;
A control method with
JP2019059401A 2019-03-26 2019-03-26 Information processing device, system, program and control method Active JP7230632B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019059401A JP7230632B2 (en) 2019-03-26 2019-03-26 Information processing device, system, program and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019059401A JP7230632B2 (en) 2019-03-26 2019-03-26 Information processing device, system, program and control method

Publications (2)

Publication Number Publication Date
JP2020160793A JP2020160793A (en) 2020-10-01
JP7230632B2 true JP7230632B2 (en) 2023-03-01

Family

ID=72643479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019059401A Active JP7230632B2 (en) 2019-03-26 2019-03-26 Information processing device, system, program and control method

Country Status (1)

Country Link
JP (1) JP7230632B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209622A (en) 1999-12-09 2001-08-03 Hewlett Packard Co <Hp> System for managing constitution of data processor
JP2008191787A (en) 2007-02-01 2008-08-21 Taito Corp Mobile terminal and parallel processing control program
JP2013021472A (en) 2011-07-11 2013-01-31 Ntt Docomo Inc Transmission device, communication system and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08278948A (en) * 1995-04-07 1996-10-22 Hitachi Ltd Distributed processing system
JPH09237194A (en) * 1996-03-01 1997-09-09 Mitsubishi Electric Corp Dynamic load distribution method for parallel computer
JP5915656B2 (en) * 2011-08-09 2016-05-11 富士通株式会社 Scheduling method and scheduling system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209622A (en) 1999-12-09 2001-08-03 Hewlett Packard Co <Hp> System for managing constitution of data processor
JP2008191787A (en) 2007-02-01 2008-08-21 Taito Corp Mobile terminal and parallel processing control program
JP2013021472A (en) 2011-07-11 2013-01-31 Ntt Docomo Inc Transmission device, communication system and program

Also Published As

Publication number Publication date
JP2020160793A (en) 2020-10-01

Similar Documents

Publication Publication Date Title
KR101758884B1 (en) Large scale storage system
JP4144897B2 (en) Optimal server in common work queue environment
JP5526137B2 (en) Selective data transfer storage
US9535873B2 (en) System, computer-implemented method and computer program product for direct communication between hardward accelerators in a computer cluster
JP2007066161A (en) Cache system
US11922059B2 (en) Method and device for distributed data storage
JP5845877B2 (en) Information processing apparatus, data control method, and data control program
JP2012065281A (en) Communication program, communication apparatus, communication method, and communication system
JP2005070987A (en) Node to be used in file sharing system, file storage method to be used in file sharing system, and file storing program
EP3345345B1 (en) Systems and methods for remote network topology discovery
JP5549189B2 (en) Virtual machine management apparatus, virtual machine management method, and virtual machine management program
JP7230632B2 (en) Information processing device, system, program and control method
JPWO2009034994A1 (en) Load distribution system, service processing server, load distribution method, and load distribution program
JP7435735B2 (en) Distributed processing system, distributed processing system control method, and distributed processing system control device
JP2014174597A (en) In-memory distributed database, data distribution method, and program
JP2015094976A (en) Information processing apparatus, information processing method, and program
CN113434290A (en) Data processing method and device based on RAFT protocol, and computer storage medium
WO2019149031A1 (en) Data processing method and apparatus applied to node system
JP6082305B2 (en) Computer and calculation processing method
JP6787576B2 (en) Cloud relay system and relay server
JP2014203329A (en) Storage system, node device, and data management method
JP2005339079A (en) Processing proxy method for database management system
TWI762565B (en) Apparatus and method for responding to snoop requests
JP5488029B2 (en) Distributed processing system, distributed processing method, and program
JP6012409B2 (en) Image management apparatus, image management method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R151 Written notification of patent or utility model registration

Ref document number: 7230632

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151