WO2013186851A1 - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
WO2013186851A1
WO2013186851A1 PCT/JP2012/064956 JP2012064956W WO2013186851A1 WO 2013186851 A1 WO2013186851 A1 WO 2013186851A1 JP 2012064956 W JP2012064956 W JP 2012064956W WO 2013186851 A1 WO2013186851 A1 WO 2013186851A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
token
execution
unit
priority
Prior art date
Application number
PCT/JP2012/064956
Other languages
French (fr)
Japanese (ja)
Inventor
政志 五十嵐
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2012/064956 priority Critical patent/WO2013186851A1/en
Priority to JP2014520837A priority patent/JP5955385B2/en
Publication of WO2013186851A1 publication Critical patent/WO2013186851A1/en

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/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

Abstract

A token queue administration unit (503) comprises a plurality of token queues. The token queues respectively correspond to different services, and store tokens which are information of instances of services for the services respectively corresponding thereto. A rule storage unit (504) stores execution sequence adjustment rule information (5041) whereby an execution sequence adjustment rule for adjusting an execution sequence of the services is defined. A service execution standby evaluation unit (5011) determines whether the token is stored for each token queue, extracts as an execution candidate service the service for which the token is stored in the corresponding token queue, and, employing the execution sequence adjustment rule which is defined in the execution sequence adjustment rule information (5041), determines for each execution candidate service whether to execute the service or to defer the execution of the service.

Description

情報処理システムInformation processing system
 本発明は、複数のサービスを連携するサービス連携技術に関する。
 本発明は、例えば、スマートメータシステムに用いられる複数のサービスを連携するサービス連携技術に関する。
The present invention relates to a service cooperation technique for linking a plurality of services.
The present invention relates to a service cooperation technology that links a plurality of services used in, for example, a smart meter system.
 スマートメータシステムとは、各家庭に配置された通信機能の付いたスマートメータを電力会社のセンターシステムから制御して、電力量検針値の定期的な収集や、電力供給(ブレーカー開閉)の制御を行うステムである。
 スマートメータシステムは、収集したデータの各家庭への公開や、電力使用状況のきめ細かい分析などを可能にする、エネルギーを最適化するための技術として注目されている。
 スマートメータシステムは、各家庭のスマートメータ(以下、単に「メータ」ともいう)、電信柱などに配置され近いエリアの複数のスマートメータを取りまとめるコンセントレータ(Data Concentrator Unit)(以下、コンセントレータを「DCU」という)、センターシステム(以下、単に「センター」ともいう)からなる。
 スマートメータとDCUは無人で運用される。
 また、スマートメータとDCUは、携帯電話通信網やPLC(Power Line Communications)通信網など、あまり安定しない通信網を用いて通信を行う。
 運用管理者はセンターのみに存在するため、すべての監視や運用はセンターシステムで行える必要がある。
The smart meter system controls the smart meter with communication function installed in each home from the central system of the electric power company, and periodically collects power meter readings and controls power supply (breaker open / close). Stem to perform.
The smart meter system is attracting attention as a technology for optimizing energy that enables the collected data to be disclosed to each home and detailed analysis of power usage.
A smart meter system is a concentrator (Data Concentrator Unit) (hereinafter referred to as a “DCU”) that collects a plurality of smart meters located near a smart meter (hereinafter also simply referred to as a “meter”), a telephone pole, etc. And a center system (hereinafter also referred to simply as “center”).
The smart meter and DCU are operated unattended.
In addition, the smart meter and the DCU perform communication using a communication network that is not very stable, such as a mobile phone communication network or a PLC (Power Line Communications) communication network.
Since the operation manager exists only in the center, all monitoring and operation must be performed in the center system.
 スマートメータシステムでは、複数のアプリケーションを1つのセンターシステムで処理する必要がある。
 センターシステムで処理するアプリケーションには、例えば、定期収集業務、メータ監視制御アプリケーション、イベント検知アプリケーションなどがある。
 定期収集業務は、メータが示す電力量および異常フラグをセンターシステムが定期的に収集するためのアプリケーションである。
 メータ監視制御アプリケーションは、センターシステムからメータに対して指示を出すためのアプリケーションである。
 イベント検知アプリケーションは、メータで検知した停電・復電(停電の後に電力供給が再開されること)などを検知するためのアプリケーションである。
In the smart meter system, it is necessary to process a plurality of applications in one center system.
Examples of applications processed by the center system include a periodic collection job, a meter monitoring control application, and an event detection application.
The periodic collection service is an application for the center system to periodically collect the electric energy and the abnormality flag indicated by the meter.
The meter monitoring control application is an application for issuing an instruction to the meter from the center system.
The event detection application is an application for detecting a power failure / recovery (resumption of power supply after a power failure) detected by a meter.
 センターシステムの負荷バランスは、需要の変化、停電、地域災害、個々の家庭の電源に関する故障、メンテナンスなどシーンにより動的に変化する。
 このため、センターシステムでの負荷バランスの調整は、業務の優先度、メータの配置されるエリア、メータが異常を検知したか否かなど、業務とシステム構成を考慮して行う必要がある。
 例えば、定期収集業務中に、あるメータが停電などの異常を検知した場合、メータからDCUを通して停電メッセージが送られてイベント検知アプリケーションが動作する。
 そして、センターにいる運用管理者に停電メッセージが伝えられ、運用管理者はメータ監視制御アプリケーションを動作させて、メータからのログ取得と障害を解決するための対応を行う。
 この時、定期収集業務に優先して、イベント検知アプリケーションやメータ監視制御アプリケーションの実行を行う必要があり、定期収集業務がDCUやメータとの通信帯域、DCUやメータの処理リソースを占有するような場合には定期収集業務を一時停止させるなどの制御が必要である。
The load balance of the center system dynamically changes depending on scenes such as changes in demand, power outages, regional disasters, failures related to the power supply of individual households, and maintenance.
Therefore, it is necessary to adjust the load balance in the center system in consideration of the business and the system configuration, such as the priority of the business, the area where the meter is arranged, and whether or not the meter detects an abnormality.
For example, when a certain meter detects an abnormality such as a power failure during regular collection work, a power failure message is sent from the meter through the DCU and the event detection application operates.
Then, a power failure message is transmitted to the operation manager in the center, and the operation manager operates the meter monitoring control application to take a log acquisition from the meter and take measures to solve the failure.
At this time, it is necessary to execute the event detection application and the meter monitoring control application in preference to the regular collection work, and the regular collection work occupies the communication bandwidth with the DCU and meter, and the processing resources of the DCU and meter. In some cases, it is necessary to control such as temporarily suspending the periodic collection work.
 スマートメータシステムの各家庭への展開は10年など長期にわたり、エリア(DCUのエリア)ごとに段階的な増強が行われる。
 エリアによっては、地域の通信事情などにより通信網などが増強されない場合もある。
 このため、センターから、新旧の構成が混ざった状態でメータを制御する必要があり、エリアごとに異なった性能・優先制御が必要である。
The smart meter system is deployed in each home for a long period of time, such as 10 years, and is gradually increased for each area (DCU area).
Depending on the area, the communication network may not be enhanced due to local communication conditions.
For this reason, it is necessary to control the meter in a state where old and new configurations are mixed from the center, and different performance / priority control is required for each area.
 従って、優先制御を考慮して、スマートメータシステム上の計算機や構成要素の機器のワークロードバランスのしくみを設けることが必要である。
 そして、ワークロードバランスのしくみは、エリアごとの段階的な増強に合わせて拡張・変更できる必要がある。
Therefore, in consideration of priority control, it is necessary to provide a workload balance mechanism for computers and component devices on the smart meter system.
And the workload balance mechanism needs to be able to be expanded and changed according to the stepwise increase in each area.
 特許文献1では、アプリケーション内のフローに含まれる各サービスについて、サービスレジストリにより、サービスが実行されるサーバとサービスごとの優先度の情報を設定する。
 また、特許文献1では、マッチング制御部がアダプタを通してサービスを実行する計算機を制御することにより、優先度を考慮したサービスの負荷分散を行うことができる。
In Patent Document 1, for each service included in a flow in an application, a service registry and priority information for each service are set by a service registry.
Further, in Patent Document 1, service matching in consideration of priority can be performed by the matching control unit controlling a computer that executes a service through an adapter.
特開2008-186105号公報JP 2008-186105 A
 特許文献1では、優先制御の対象はセンター内の計算機群のみであり、センター内の計算機群のCPU(Central Processing Unit)負荷容量に応じてサービスを実行する計算機間の負荷バランスを調整するだけである。
 スマートメータシステムでは、サービス(アプリケーション)の優先度と進捗に応じた調整や、メータ、DCU、通信機器など、スマートメータシステムに含まれる構成要素に対する優先制御が必要である。
 たとえば、特定のメータに対して優先度の低いサービス(アプリケーション)の処理と優先度の高いサービス(アプリケーション)の処理が重なった場合は、優先度の低いサービス(アプリケーション)の処理の中断させることが必要だが、特許文献1の技術ではこのような制御を行うことができない。
 スマートメータシステムでは、構成要素の状況、他のサービスの優先度、他のサービスの進捗状況などを元に、次に行うべきサービスを判断する柔軟な制御が必要となる。
In Patent Document 1, only the computer group in the center is subject to priority control, and only the load balance between computers that execute services is adjusted according to the CPU (Central Processing Unit) load capacity of the computer group in the center. is there.
In the smart meter system, adjustment according to the priority and progress of the service (application) and priority control for components included in the smart meter system such as a meter, a DCU, and a communication device are necessary.
For example, when processing of a low priority service (application) and processing of a high priority service (application) for a specific meter overlap, processing of a low priority service (application) may be interrupted. Although necessary, the technique of Patent Document 1 cannot perform such control.
The smart meter system requires flexible control for determining the next service to be performed based on the status of the component, the priority of other services, the progress of other services, and the like.
 本発明は、これらに鑑みたものであり、構成要素の状況、他のサービスの優先度、他のサービスの進捗状況などに基づき、サービスの実行、サービスの実行の保留を柔軟に決定できるようにすることを主な目的とする。 The present invention has been made in view of the above, and can flexibly determine the execution of a service and the suspension of the execution of the service based on the status of the component, the priority of other services, the progress of other services, and the like. The main purpose is to do.
 本発明に係る情報処理システムは、
 複数のサービスの実行を管理する情報処理システムであって、
 それぞれが異なるサービスに対応し、それぞれが、対応するサービスについて、サービスのインスタンスの情報であるトークンを格納する、複数のトークン格納部と、
 サービスの実行順序を調整するための実行順序調整ルールが定義されている実行順序調整ルール情報を記憶する実行順序調整ルール情報記憶部と、
 トークン格納部ごとにトークンが格納されているか否かを判断し、対応するトークン格納部にトークンが格納されているサービスを実行候補サービスとして抽出し、実行候補サービスごとに、前記実行順序調整ルール情報に定義されている実行順序調整ルールを用いて、サービスの実行及びサービスの実行の保留のいずれかを決定するサービス実行判定部とを有することを特徴とする。
An information processing system according to the present invention includes:
An information processing system that manages the execution of multiple services,
A plurality of token storage units, each corresponding to a different service, each storing a token that is service instance information for the corresponding service;
An execution order adjustment rule information storage unit that stores execution order adjustment rule information in which execution order adjustment rules for adjusting the execution order of services are defined;
It is determined whether or not a token is stored for each token storage unit, a service in which the token is stored in the corresponding token storage unit is extracted as an execution candidate service, and the execution order adjustment rule information for each execution candidate service And a service execution determination unit that determines either the execution of the service or the suspension of the execution of the service using the execution order adjustment rule defined in (1).
 本発明では、実行順序調整ルールが定義されている実行順序調整ルール情報を用いて、サービスの実行及びサービスの実行の保留のいずれかを決定する。
 このため、構成要素の状況、他のサービスの優先度、他のサービスの進捗状況などを反映させた実行順序調整ルールを用いることで、構成要素の状況、他のサービスの進捗状況などに基づき、サービスの実行、サービスの実行の保留を柔軟に決定することができる。
In the present invention, either execution of a service or suspension of execution of a service is determined using execution order adjustment rule information in which an execution order adjustment rule is defined.
Therefore, based on the status of the component, the progress of other services, etc. by using the execution order adjustment rule reflecting the status of the component, the priority of other services, the progress of other services, etc. It is possible to flexibly determine service execution and service execution suspension.
実施の形態1に係るスマートメータシステムの構成例を示す図。1 is a diagram illustrating a configuration example of a smart meter system according to a first embodiment. 実施の形態1に係るESBの構成例を示す図。FIG. 3 shows a configuration example of an ESB according to the first embodiment. 実施の形態1に係るルーティングファイルの例を示す図。FIG. 3 is a diagram illustrating an example of a routing file according to the first embodiment. 実施の形態1に係るトークンキューの例を示す図。FIG. 3 is a diagram illustrating an example of a token queue according to the first embodiment. 実施の形態1に係る実行順序調整ルールの例を示す図。FIG. 6 is a diagram illustrating an example of an execution order adjustment rule according to the first embodiment. 実施の形態1に係る移動ルールの例を示す図。FIG. 4 is a diagram illustrating an example of a movement rule according to the first embodiment. 実施の形態1に係るルール適用対応表の例を示す図。The figure which shows the example of the rule application corresponding | compatible table which concerns on Embodiment 1. FIG. 実施の形態1に係る負荷調整ルールの例を示す図。FIG. 4 is a diagram illustrating an example of a load adjustment rule according to the first embodiment. 実施の形態1に係る計算機間の関係を説明する図。FIG. 3 is a diagram for explaining a relationship between computers according to the first embodiment. 実施の形態1に係るセンターシステムにおける動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example in the center system according to the first embodiment. 実施の形態1に係るセンターシステムにおける動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example in the center system according to the first embodiment. 実施の形態1に係るセンターシステムにおける動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example in the center system according to the first embodiment. 実施の形態2に係るスマートメータシステムの構成例を示す図。The figure which shows the structural example of the smart meter system which concerns on Embodiment 2. FIG. 実施の形態2に係るフロー・ルール置換部と調整ルールとルーティングファイルとの関係を説明する図。The figure explaining the relationship between the flow rule substitution part which concerns on Embodiment 2, an adjustment rule, and a routing file. 実施の形態2に係る構成・業務パラメータ対応表の例を示す図。FIG. 10 is a diagram illustrating an example of a configuration / business parameter correspondence table according to the second embodiment. 実施の形態2に係る構成選択ルールの例を示す図。FIG. 10 is a diagram illustrating an example of a configuration selection rule according to the second embodiment. 実施の形態2に係る構成選択ルールの例を示す図。FIG. 10 is a diagram illustrating an example of a configuration selection rule according to the second embodiment. 実施の形態3に係る計算機の構成例を示す図。FIG. 9 shows a configuration example of a computer according to a third embodiment. 実施の形態3に係るルーティングファイルの例を示す図。FIG. 10 is a diagram illustrating an example of a routing file according to the third embodiment. 実施の形態1~3に係る計算機のハードウェア構成例を示す図。FIG. 4 is a diagram showing a hardware configuration example of a computer according to the first to third embodiments.
 実施の形態1.
 上述したように、特許文献1の技術では、メータ、DCU、通信機器といった構成要素の状況、他のサービスの優先度、他のサービスの進捗状況などを元に、次に行うべきサービスを柔軟に決定することができないという課題(「課題1」という)がある。
Embodiment 1 FIG.
As described above, the technique of Patent Document 1 flexibly determines the service to be performed next based on the status of components such as a meter, DCU, and communication device, the priority of other services, the progress of other services, and the like. There is a problem that it cannot be determined (referred to as “Problem 1”).
 また、特許文献1の技術では、優先パラメータとサービスと計算機は固定される。
 スマートメータシステムは、長期間(例えば10年間)をかけてエリア(DCUのエリア)ごとに段階的に拡張される。
 このため、新しい機器が設置されているエリアと、古い機器が設置されているエリアが混在する状態になる。
 新しいエリアの機器と古いエリアの機器では、通信網の容量、DCUの受け入れ可能なコネクション数、メータの機能などが異なり、優先制御に対する制約条件が異なる。
 例えば、初期の構成では、1つのDCUエリアのメータの台数は100万台までであり、また、DCUは、低スペックであり、各通信で1スレッドしか許容されない。
 また、各メータはAMR(Automated Meter Reading)方式であり、自発通信は行われない。
 初期の構成では、通信網が貧弱(例えば、メータとDCUの間の通信網は192KBps、DCUとセンターシステムの間の通信網も192KBps)であり、通信網を有効利用するための優先制御が必要である。
 一方、後期の構成では、1つのDCUエリアのメータの台数は1000万台超も可能であり、また、DCUは、高スペックであり、各通信で10スレッドが許容される。
 また、各メータはAMI(Advanced Metering Infrastructure)方式であり、HEMS(Home Energy Management System)に対応している。
 後期の構成では、通信網は充実(例えば、メータとDCUの間の通信網は192KBps、DCUとセンターシステムの間の通信網は100MBps)しているものの、HEMSが導入されているため、通信量が初期の構成に比べて一桁多く、センター側の資源を多く利用する必要がある。
 このように、エリアや使用機器により、優先制御とワークロードバランスの方法を変更できる必要があるが、特許文献1の技術では、センター上の計算機と優先パラメータとサービスとが固定されており、優先制御とワークロードバランスの方法を変更することができないという課題(「課題2」という)がある。
In the technique of Patent Document 1, the priority parameter, service, and computer are fixed.
The smart meter system is gradually expanded for each area (DCU area) over a long period (for example, 10 years).
For this reason, the area where the new device is installed and the area where the old device is installed are mixed.
The equipment in the new area and the equipment in the old area differ in the communication network capacity, the number of connections that can be accepted by the DCU, the function of the meter, etc., and the constraint conditions for priority control differ.
For example, in the initial configuration, the number of meters in one DCU area is up to 1 million, and the DCU has low specifications, and only one thread is allowed for each communication.
Moreover, each meter is an AMR (Automated Meter Reading) system, and spontaneous communication is not performed.
In the initial configuration, the communication network is poor (for example, the communication network between the meter and the DCU is 192 KBps, and the communication network between the DCU and the center system is also 192 KBps), and priority control is required to effectively use the communication network. It is.
On the other hand, in the latter configuration, the number of meters in one DCU area can be more than 10 million, and the DCU has high specifications, and 10 threads are allowed for each communication.
Further, each meter is an AMI (Advanced Metering Infrastructure) system, and corresponds to HEMS (Home Energy Management System).
In the latter configuration, the communication network is enriched (for example, the communication network between the meter and the DCU is 192 KBps, and the communication network between the DCU and the center system is 100 MBps). However, it is necessary to use more resources on the center side than the initial configuration.
As described above, it is necessary to change the method of priority control and workload balance depending on the area and the equipment used. However, in the technique of Patent Document 1, the computer on the center, the priority parameter, and the service are fixed, and priority is given. There is a problem (referred to as “Problem 2”) that the method of control and workload balancing cannot be changed.
 本実施の形態では、センターシステム上に配置する、サービス、サービスフローを実行するメッセージ連携ミドルウェア(ESB:Enterprise Service Bus)に対して、業務アプリケーションのフローの他に、アプリケーションの負荷調整を行うための調整ルールを設定する。
 この調整ルールは、アーキテクチャ開発者が、構成要素やサービスフローを意識して設定する。
 そして、調整ルールには、柔軟な優先制御を可能にするルールが定義される。
 また、調整ルールに、スマートメータの段階的な拡張によって生じるDCUエリアごとの制御を定義することで、DCUエリアごとの制御をアプリケーションから切り離すことができ、アプリケーションの開発を効率化することができる。
 本実施の形態では、センターシステム上に配置されるセンター計算機で業務アプリケーションを実行するためのシステム連携基盤を、SOA(Service Oriented Architecture)を実現するためのメッセージ連携ミドルウェア(ESB)として実現している。
In the present embodiment, in addition to the business application flow, the application load adjustment is performed for the message linkage middleware (ESB: Enterprise Service Bus) that executes services and service flows arranged on the center system. Set adjustment rules.
This adjustment rule is set by the architecture developer with the component elements and service flow in mind.
In the adjustment rule, a rule that enables flexible priority control is defined.
Further, by defining the control for each DCU area generated by the stepwise expansion of the smart meter in the adjustment rule, the control for each DCU area can be separated from the application, and the development of the application can be made efficient.
In the present embodiment, a system linkage platform for executing business applications on a center computer arranged on the center system is realized as message linkage middleware (ESB) for realizing SOA (Service Oriented Architecture). .
 SOAとは、複数のサービスを組み合わせてシステムを構築する設計手法である。
 サービスとは、意味のある単位の機能を持つ一まとまりのソフトウェアの集合であって、外部から標準化された手順によって呼び出すことができるものである。
 意味のあるとは、業務上、あるいは人間にとって何らかの意味があることを指す。
 なお、複数のサービスを組み合わせて構成された一連の処理をプロセス又はサービスフローと呼ぶ場合がある。
 SOAに基づくシステム構築では、ESBを用いることが一般的である。
 ESBとは、外部システムとサービスとの間の連携や、サービス間の連携を図るミドルウェアである。
 ESBでは、メッセージルータ(メッセージバス)を提供し、このメッセージルータを通じて、外部システムとサービスとの間や、サービス間でメッセージの交換を行い、外部システムとサービスとの間の連携や、サービス間の連携を図る。
SOA is a design method for constructing a system by combining a plurality of services.
A service is a set of software having a function of a meaningful unit and can be called from the outside by a standardized procedure.
Meaningful means something meaningful for business or for humans.
A series of processes configured by combining a plurality of services may be referred to as a process or a service flow.
In system construction based on SOA, it is common to use ESB.
The ESB is middleware that links an external system and a service and links between services.
In ESB, a message router (message bus) is provided, and messages are exchanged between the external system and the service or between the services through the message router, and the cooperation between the external system and the service or between the services is performed. Try to collaborate.
 図1は、本実施の形態に係るスマートメータシステムの構成例を示す。
 情報処理システムの例に相当するセンターシステム1000は、計算機1(100)、計算機2(200)及び計算機3(300)から構成される。
 センターシステム1000の計算機1(100)及び計算機2(200)は、多段構成のネットワーク401、402、403を介して複数のDCU404と接続される。
 DCU404には、複数のメータ405、406が接続されている。
 なお、計算機1(100)はC1とも表記し、計算機2(200)はC2とも表記する。
 また、計算機1(100)及び計算機2(200)は、サーバともいう。
 図1では、3台のセンター計算機によりセンターシステム1000が構成される例を示しているが、センターシステム1000の計算機の台数は任意である。
FIG. 1 shows a configuration example of a smart meter system according to the present embodiment.
A center system 1000 corresponding to an example of an information processing system includes a computer 1 (100), a computer 2 (200), and a computer 3 (300).
The computer 1 (100) and the computer 2 (200) of the center system 1000 are connected to a plurality of DCUs 404 via a multi-stage network 401, 402, 403.
A plurality of meters 405 and 406 are connected to the DCU 404.
The computer 1 (100) is also expressed as C1, and the computer 2 (200) is also expressed as C2.
The computer 1 (100) and the computer 2 (200) are also called servers.
Although FIG. 1 shows an example in which the center system 1000 is configured by three center computers, the number of computers in the center system 1000 is arbitrary.
 センターシステム1000において、計算機1(100)及び計算機2(200)は、各種サービス(定期収集業務、イベント検知アプリケーション、メータ監視制御アプリケーション等)を実行する。
 計算機3(300)は、計算機1(100)及び計算機2(200)のワークロードバランスの調整のための動作を行う。
 計算機1(100)及び計算機2(200)は、同じ機能ブロック構成を有する。
 また、計算機1(100)、計算機2(200)及び計算機3(300)は、それぞれESB(ESB106、ESB206、ESB305)を含み、ESBのメッセージルータによって連携されている。
 そして、ESBのメッセージルータを通して計算機間で互いに他の計算機上のサービスを呼び出すことができる。
 メッセージルータで連携された計算機では、後述するルーティングファイルを共有している。
 ルーティングファイルには、サービスの流れを示すサービスフロー(以下、「サービスフロー」を単に「フロー」ともいう)が記述されている。
In the center system 1000, the computer 1 (100) and the computer 2 (200) execute various services (periodic collection work, event detection application, meter monitoring control application, etc.).
The computer 3 (300) performs an operation for adjusting the workload balance of the computer 1 (100) and the computer 2 (200).
The computer 1 (100) and the computer 2 (200) have the same functional block configuration.
The computer 1 (100), the computer 2 (200), and the computer 3 (300) each include an ESB (ESB 106, ESB 206, ESB 305), and are linked by an ESB message router.
Then, services on other computers can be called to each other through the ESB message router.
The computers linked by the message router share a routing file described later.
In the routing file, a service flow indicating a service flow (hereinafter, “service flow” is also simply referred to as “flow”) is described.
 計算機1(100)及び計算機2(200)の構成を説明する。
 計算機1(100)と計算機2(200)は同じ構成を有するので、以下では、計算機1(100)の構成のみを説明する。
The configurations of the computer 1 (100) and the computer 2 (200) will be described.
Since the computer 1 (100) and the computer 2 (200) have the same configuration, only the configuration of the computer 1 (100) will be described below.
 通信部101は、ネットワーク401等を介してDCU404と通信を行う。
 また、通信部101は、計算機2(200)及び計算機3(300)と通信を行う。
 入出力部102は、運用管理者(ユーザ)からの指示を入力し、また、運用管理者(ユーザ)に処理の実行結果等を出力する。
 サービス実行部103は、サービスアプリケーションコード(サービスを実現するためのアプリケーションプログラムのコード)を実行する。
 サービスアプリケーションコードは記憶部104に記憶されている。
 性能統計更新部105は、計算機1(100)のトークンキュー内のトークンの集計を行い、統計情報として、計算機3(300)に送信する。
 トークンキュー及びトークンについては、後述する。
 また、ESB106の詳細も図2を参照して後述する。
The communication unit 101 communicates with the DCU 404 via the network 401 or the like.
The communication unit 101 communicates with the computer 2 (200) and the computer 3 (300).
The input / output unit 102 inputs an instruction from the operation manager (user), and outputs a process execution result and the like to the operation manager (user).
The service execution unit 103 executes service application code (code of an application program for realizing a service).
The service application code is stored in the storage unit 104.
The performance statistic update unit 105 totals the tokens in the token queue of the computer 1 (100), and transmits it to the computer 3 (300) as statistical information.
The token queue and token will be described later.
Details of the ESB 106 will be described later with reference to FIG.
 計算機3(300)において、通信部301は、計算機1(100)及び計算機2(200)と通信を行う。
 入出力部302は、運用管理者(ユーザ)からの指示を入力し、また、運用管理者(ユーザ)に処理の実行結果等を出力する。
 負荷調整指示情報生成部303は、性能統計更新部105から統計情報を取得し、サービス実行部103が既に受け入れているトークン数を集計し、サービス実行部103が更に受け入れ可能なトークン数を算出し、算出したトークン数を通知する情報を負荷調整指示情報として計算機1(100)に出力する。
 同様に、負荷調整指示情報生成部303は、性能統計更新部205から統計情報を取得し、サービス実行部203が既に受け入れているトークン数を集計し、サービス実行部203が更に受け入れ可能なトークン数を算出し、算出したトークン数を通知する情報を負荷調整指示情報として計算機2(200)に出力する。
 なお、負荷調整指示情報生成部303は、トークン数算出部の例に相当する。
 また、計算機間統計共有部304は、負荷調整ルール情報3041を保持する。
 負荷調整ルール情報3041には、図8に例示する負荷調整ルールが定義されている。
In the computer 3 (300), the communication unit 301 communicates with the computer 1 (100) and the computer 2 (200).
The input / output unit 302 inputs an instruction from the operation manager (user), and outputs an execution result of the process to the operation manager (user).
The load adjustment instruction information generation unit 303 acquires statistical information from the performance statistics update unit 105, totals the number of tokens already accepted by the service execution unit 103, and calculates the number of tokens that the service execution unit 103 can further accept. Then, information notifying the calculated token number is output to the computer 1 (100) as load adjustment instruction information.
Similarly, the load adjustment instruction information generation unit 303 acquires statistical information from the performance statistics update unit 205, totals the number of tokens already accepted by the service execution unit 203, and the number of tokens that the service execution unit 203 can further accept. And outputs information notifying the calculated number of tokens to the computer 2 (200) as load adjustment instruction information.
Note that the load adjustment instruction information generation unit 303 corresponds to an example of a token number calculation unit.
The inter-computer statistics sharing unit 304 holds load adjustment rule information 3041.
The load adjustment rule information 3041 defines a load adjustment rule illustrated in FIG.
 負荷調整ルールは、計算機1(100)及び計算機2(200)の間で負荷を調整するための意思決定を行うためのルールである。
 図8において、「シーン」とは、運用管理者が設定するシステム状態であり、スマートメータシステムでは通常時、停電時などがある。
 シーンに応じて、各計算機の負荷を調整するために、負荷調整ルール情報3041では、計算機ごとにトークンの受入可能数と各優先度のトークンの比率を指定する。
 図8では、例えば「シーン:通常時」の「計算機:C1」では、トークンの受入可能数は、トークンの受け入れの上限数である100から既に受け入れているトークンの数である実行トークン総数を引いた値であることが示されている。
 また、同様に、「シーン:通常時」の「計算機:C1」では、受入可能数のうちの80%が高優先度のトークンであり、10%が中優先度のトークンであり、更に10%が低優先度のトークンであることが示されている。
 負荷調整指示情報生成部303は、負荷調整ルール情報3041で定義された負荷調整ルールに基づき、サービス実行部103及びサービス実行部203が受入可能なトークン数を優先度別に算出する。
The load adjustment rule is a rule for making a decision for adjusting the load between the computer 1 (100) and the computer 2 (200).
In FIG. 8, “scene” is a system state set by the operation manager, and in the smart meter system, there are a normal time, a power failure, and the like.
In order to adjust the load of each computer according to the scene, the load adjustment rule information 3041 specifies the number of tokens that can be accepted and the ratio of tokens of each priority for each computer.
In FIG. 8, for example, in “computer: C1” of “scene: normal time”, the number of tokens that can be accepted subtracts the total number of tokens already accepted from 100, which is the upper limit number of tokens accepted. Value.
Similarly, in “computer: C1” of “scene: normal time”, 80% of the acceptable numbers are high priority tokens, 10% are medium priority tokens, and further 10% Is a low priority token.
The load adjustment instruction information generation unit 303 calculates the number of tokens that can be received by the service execution unit 103 and the service execution unit 203 by priority based on the load adjustment rule defined in the load adjustment rule information 3041.
 次に、図2を参照して、計算機1(100)のESB106及び計算機2(200)のESB206の詳細を説明する。
 なお、ESB106とESB206は同じ構成を有するので、以下では、ESB106の構成のみを説明する。
 ESB106は、サービス制御部501、ルーティングファイル記憶部502、トークンキュー管理部503、ルール記憶部504、メッセージルータ505、ESB間インタフェース506を有する。
 なお、ESB305は、図2と同じ構成をとる必要はなく、少なくともメッセージルータ505及びESB間インタフェース506を有していればよい。
Next, the details of the ESB 106 of the computer 1 (100) and the ESB 206 of the computer 2 (200) will be described with reference to FIG.
Since ESB 106 and ESB 206 have the same configuration, only the configuration of ESB 106 will be described below.
The ESB 106 includes a service control unit 501, a routing file storage unit 502, a token queue management unit 503, a rule storage unit 504, a message router 505, and an inter-ESB interface 506.
Note that the ESB 305 does not need to have the same configuration as that in FIG. 2, and may have at least the message router 505 and the inter-ESB interface 506.
 サービス制御部501は、サービスの実行順序の調整、ワークロードバランスの調整を行う。
 サービス制御部501は、サービス実行待機評価部5011、他サーバ移動部5012、受信部5013及び送信部5014を含む。
 サービス制御部501の構成要素の詳細は、後述する。
The service control unit 501 adjusts the execution order of services and the workload balance.
The service control unit 501 includes a service execution standby evaluation unit 5011, another server migration unit 5012, a reception unit 5013, and a transmission unit 5014.
Details of the components of the service control unit 501 will be described later.
 ルーティングファイル記憶部502は、ルーティングファイルを記憶している。
 図2の例では、ルーティングファイル記憶部502は、P1(5021)、P2(5022)、通信サービス(5023)の3つのルーティングファイルを記憶している。
 各ルーティングファイルは、例えば、図3に示す内容をもつ。
 図3に示すように、P1(5021)は、定期収集業務のフローが示されるルーティングファイルである。
 ルーティングファイルのフローでは、複数のサービスが、サービスの実行順序とともに定義されている。
 P1(5021)のルーティングファイルにおいて、a1~a5の各々がサービスに該当する。
 また、「a2:通信1」サービスの詳細は、通信サービス(5023)の「通信1:DCU定期通信」に定義されている。
 同様に、「a3:通信2」サービスの詳細は、通信サービス(5023)の「通信2:メータ通信」に定義されている。
 P2(5022)は、メータ監視制御アプリケーションのルーティングファイルである。
 P2(5022)のルーティングファイルにおいても、b1~b3の各々がサービスに該当する。
 P1(5021)及びP2(5022)において、各サービスの近傍に記述されている「L」、「M」及び「H」は優先度を示している。
 つまり、「L」は低優先度、「M」は中優先度、「H」は高優先度を意味する。
 なお、サービスの優先度は、サービスフローごとに一様ではない。
 図2の例では、サービス:a1~a3は、P1(5021)のフローでは、「M」(中優先度)となっているが、例えば、図2に図示していない「P3」という別のフローでは、サービス:a1~a3は「L」(低優先度)又は「H」(高優先度)であってもよい。
The routing file storage unit 502 stores a routing file.
In the example of FIG. 2, the routing file storage unit 502 stores three routing files P1 (5021), P2 (5022), and communication service (5023).
Each routing file has the contents shown in FIG. 3, for example.
As shown in FIG. 3, P1 (5021) is a routing file in which the flow of the regular collection work is shown.
In the flow of the routing file, a plurality of services are defined together with the execution order of the services.
In the routing file of P1 (5021), each of a1 to a5 corresponds to a service.
The details of the “a2: communication 1” service are defined in “communication 1: DCU periodic communication” of the communication service (5023).
Similarly, details of the “a3: communication 2” service are defined in “communication 2: meter communication” of the communication service (5023).
P2 (5022) is a routing file of the meter monitoring control application.
Also in the routing file of P2 (5022), each of b1 to b3 corresponds to a service.
In P1 (5021) and P2 (5022), “L”, “M”, and “H” described in the vicinity of each service indicate priorities.
That is, “L” means low priority, “M” means medium priority, and “H” means high priority.
The service priority is not uniform for each service flow.
In the example of FIG. 2, the services: a1 to a3 are “M” (medium priority) in the flow of P1 (5021), but for example, another service “P3” not shown in FIG. In the flow, the services: a1 to a3 may be “L” (low priority) or “H” (high priority).
 トークンキュー管理部503には、複数のトークンキューが設けられている。
 トークンキューは、それぞれ、異なるサービスに対応する両端キューである。
 図2に示すように、トークンキュー5031は、サービスa1に対応し、サービスa1のトークンを格納する。
 同様に、トークンキュー5032は、サービスa2に対応し、サービスa2のトークンを格納する。
 各トークンキューは、トークン格納部の例に相当する。
 また、トークンとは、サービスのアプリケーションの実行情報を保持実行するオブジェクトであり、サービスのインスタンスの情報である。
 サービスの実行はトークンごとに行われる。
 また、トークンには、サービスの優先度が設定されている。
 トークンキューは、図4に示すように、優先度別にトークンの格納領域が区分されている。
 図4は、サービスa2のトークンキュー5032を例示しているが、トークンキュー5032は高優先度、中優先度、低優先度に区分されている。
 優先度別の格納領域を、優先度キューともいう。
 そして、図4において符号600の円がトークンを表している。
 前述したように、サービスの優先度はフローごとに一様ではないため、あるフローではサービスa2の優先度が「中」であり、他のフローでは「低」であるということが生じる。
The token queue management unit 503 is provided with a plurality of token queues.
Each token queue is a double-ended queue corresponding to a different service.
As shown in FIG. 2, the token queue 5031 corresponds to the service a1 and stores the token of the service a1.
Similarly, the token queue 5032 corresponds to the service a2 and stores the token of the service a2.
Each token queue corresponds to an example of a token storage unit.
The token is an object that holds and executes the execution information of the service application, and is information on the service instance.
The service is executed for each token.
Also, the priority of the service is set for the token.
In the token queue, as shown in FIG. 4, the token storage area is divided according to priority.
FIG. 4 illustrates the token queue 5032 of the service a2. The token queue 5032 is divided into a high priority, a medium priority, and a low priority.
The storage area by priority is also referred to as a priority queue.
In FIG. 4, a circle indicated by reference numeral 600 represents a token.
As described above, since the priority of the service is not uniform for each flow, it may occur that the priority of the service a2 is “medium” in one flow and “low” in another flow.
 ルール記憶部504は、複数のルール情報を記憶する。
 具体的には、ルール記憶部504は、実行順序調整ルール情報5041、移動ルール情報5042及びルール適用対応表5043を記憶する。
 なお、実行順序調整ルール情報5041、移動ルール情報5042及びルール適用対応表5043に記述されているルールを、まとめて調整ルールともいう。
 実行順序調整ルール情報5041には、サービスの実行順序を調整するための実行順序調整ルールが1つ以上定義されている。
 移動ルール情報5042には、トークンを計算機間で移動させるか否かの判定のための移動ルールが1つ以上定義されている。
 ルール適用対応表5043は、実行順序調整ルール及び移動ルールを、ルーティングファイルに記述したどのフローのどのサービスに適用するかが定義されている。
The rule storage unit 504 stores a plurality of rule information.
Specifically, the rule storage unit 504 stores execution order adjustment rule information 5041, movement rule information 5042, and a rule application correspondence table 5043.
Note that the rules described in the execution order adjustment rule information 5041, the movement rule information 5042, and the rule application correspondence table 5043 are collectively referred to as adjustment rules.
The execution order adjustment rule information 5041 defines one or more execution order adjustment rules for adjusting the execution order of services.
The movement rule information 5042 defines one or more movement rules for determining whether or not to move a token between computers.
The rule application correspondence table 5043 defines to which service of which flow described in the routing file the execution order adjustment rule and the movement rule are applied.
 実行順序調整ルール情報5041には、例えば、図5に示す実行順序調整ルールが定義されている。
 実行順序調整ルール情報5041では、条件判断文(if文)を評価してTRUEの結果が得られた場合に実行する内容とFALSEの結果が得られた場合に実行する内容とが、スクリプト言語により記述されている。
 実行順序調整ルール情報5041には、条件判断式(if文)を評価した結果に実行する内容として、例えば、wait()、stop()、receive()を記述することができる。
 wait()は、トークンキューから取り出したトークンを同じトークンキューに戻させる命令である。
 stop()は、トークンキューから取り出したトークンを同じトークンキューに戻すとともに、そのトークンキューからの取り出しを停止させる命令である。
 receive()は、トークンキューから取り出したトークンを受信部5103に送らせる命令である。
 receive()によって、受信部5103に送られたトークンは、受信部5013によってサービス実行部103に送られ、サービス実行部103がトークンに基づき、該当するサービスのサービスアプリケーションコードを実行する。
 wait()及びstop()は、トークンキューから取り出したトークンのサービスの実行を保留する命令であり、receive()は、トークンキューから取り出したトークンのサービスの実行を開始させる命令である。
In the execution order adjustment rule information 5041, for example, an execution order adjustment rule shown in FIG. 5 is defined.
In the execution order adjustment rule information 5041, the content to be executed when the condition determination statement (if statement) is evaluated and the result of TRUE is obtained and the content to be executed when the result of FALSE is obtained are determined by the script language. is described.
In the execution order adjustment rule information 5041, for example, wait (), stop (), and receive () can be described as the contents to be executed on the result of evaluating the condition judgment expression (if statement).
wait () is an instruction for returning the token extracted from the token queue to the same token queue.
stop () is an instruction to return the token taken out from the token queue to the same token queue and to stop taking out from the token queue.
receive () is a command that causes the reception unit 5103 to send the token extracted from the token queue.
The token sent to the receiving unit 5103 by receive () is sent to the service execution unit 103 by the receiving unit 5013, and the service execution unit 103 executes the service application code of the corresponding service based on the token.
wait () and stop () are instructions for suspending execution of the service of the token extracted from the token queue, and receive () is an instruction for starting execution of the service of the token extracted from the token queue.
 図5の実行順序調整ルールでは、優先して実行される優先サービスが定義され、優先サービスのトークンキューにトークンが格納されていない場合に、優先サービス以外のサービスが実行されるというルールが定義されている。
 図5の実行順序調整ルールは、ルールID(Identifier)がR1であり、ルール適用対応表5043(図7)では、フロー「P1」のサービス「a1」、「a2」、「a3」に実行順序調整ルール(ID:R1)が適用される旨が規定されているため、図5のif文は、サービス「a1」、「a2」、「a3」のトークンがトークンキューから取り出される場合に評価される。
 そして、図5の実行順序調整ルールでは、フロー「メータ監視制御」のサービス「準備2」、「通信2」、「MDM3」が優先サービスとして定義されており、優先サービスのトークンがトークンキューに存在している場合は、サービス「a1」、「a2」、「a3」のトークンは、トークンキューに戻される(wait)。
 一方、優先サービスのトークンが存在しない場合は、サービス「a1」、「a2」、「a3」のトークンは受信部5013に送られる(receive)。
 このように、実行順序調整ルール情報5041では、サービスの実行順序の調整ルールが、サービスの属性(図5の場合は、フロー「メータ監視制御」のサービス「準備2」、「通信2」、「MDM3」という属性)に関連付けて定義されている。
In the execution order adjustment rule of FIG. 5, a priority service that is preferentially executed is defined, and a rule that a service other than the priority service is executed when a token is not stored in the token queue of the priority service is defined. ing.
The execution order adjustment rule of FIG. 5 has a rule ID (Identifier) of R1, and in the rule application correspondence table 5043 (FIG. 7), the execution order of services “a1”, “a2”, and “a3” of the flow “P1”. Since it is defined that the adjustment rule (ID: R1) is applied, the if statement in FIG. 5 is evaluated when the tokens of the services “a1”, “a2”, and “a3” are extracted from the token queue. The
In the execution order adjustment rule of FIG. 5, the services “Preparation 2”, “Communication 2”, and “MDM3” of the flow “Meter monitoring control” are defined as the priority services, and the token of the priority service exists in the token queue. If so, the tokens of services “a1”, “a2”, and “a3” are returned to the token queue (wait).
On the other hand, if there is no token for the priority service, tokens for services “a1”, “a2”, and “a3” are sent to the receiving unit 5013 (receive).
As described above, in the execution order adjustment rule information 5041, the adjustment rule for the service execution order is the service attribute (in the case of FIG. 5, the service “preparation 2”, “communication 2”, “ Attribute MDM3 ”).
 なお、図5は、実行順序調整ルール情報5041に記述される実行順序調整ルールの一例を示しており、他の評価基準が用いられたルールでもよい。
 例えば、最も優先度が高いトークンのサービスが実行されるという実行順序調整ルールが定義されていてもよい。
 また、サービスの実行に関連するDCUエリアに対応付けた実行順序調整ルールが定義されていてもよい。
 例えば、DCUエリアAからデータを収集するサービスのトークンが存在していない場合のみ、他のエリアからデータを収集するサービスを実行することができるという実行順序調整ルールが定義されていてもよい。
 また、評価対象の計算機(例えば計算機1(100))の負荷(トークン数)と他の計算機(例えば計算機2(200))の負荷(トークン数)とに対応付けた実行順序調整ルールが定義されていてもよい。
 更に、前述の負荷調整ルール情報3041(図8)のオブジェクト変数が評価基準として含まれる条件判断式が記述された実行順序調整ルールであってもよい。
 なお、負荷調整ルール情報3041は、計算機間で負荷バランスを調整するためのルール情報である。
 また、DCUエリアごとに、異なる実行順序調整ルールを用いるようにしてもよい。
FIG. 5 shows an example of the execution order adjustment rules described in the execution order adjustment rule information 5041, and rules using other evaluation criteria may be used.
For example, an execution order adjustment rule that the service of the token with the highest priority is executed may be defined.
In addition, an execution order adjustment rule associated with a DCU area related to service execution may be defined.
For example, an execution order adjustment rule may be defined in which a service that collects data from another area can be executed only when there is no token for the service that collects data from the DCU area A.
In addition, an execution order adjustment rule associated with the load (number of tokens) of the computer to be evaluated (for example, computer 1 (100)) and the load (number of tokens) of another computer (for example, computer 2 (200)) is defined. It may be.
Furthermore, it may be an execution order adjustment rule in which a condition judgment expression including the object variable of the load adjustment rule information 3041 (FIG. 8) described above is included as an evaluation criterion.
The load adjustment rule information 3041 is rule information for adjusting load balance between computers.
Different execution order adjustment rules may be used for each DCU area.
 移動ルール情報5042には、例えば、図6に示す移動ルールが定義されている。
 移動ルール情報5042では、条件判断文(if文)を評価してTRUEの結果が得られた場合に実行する内容とFALSEの結果が得られた場合に実行する内容とが、スクリプト言語により記述されている。
 実行順序調整ルール情報5041には、条件判断式(if文)を評価した結果に実行する内容として、例えば、sendTo()、leave()を記述することができる。
 sendTo()は、ある計算機(例えば計算機1(100))のトークンキューから取り出したトークンを他の計算機(例えば計算機2(200))のトークンキューに移動させる命令である。
 leave()は、ある計算機(例えば計算機1(100))のトークンキューから取り出したトークンを他の計算機(例えば計算機2(200))のトークンキューに移動させずに、その計算機(例えば計算機1(100))のトークンキューに戻させる命令である。
In the movement rule information 5042, for example, a movement rule shown in FIG. 6 is defined.
In the movement rule information 5042, the contents to be executed when the condition determination sentence (if sentence) is evaluated and the TRUE result is obtained and the contents to be executed when the FALSE result is obtained are described in a script language. ing.
In the execution order adjustment rule information 5041, for example, sendTo () and leave () can be described as the contents to be executed on the result of evaluating the condition judgment expression (if statement).
sendTo () is an instruction to move a token taken out from a token queue of a certain computer (for example, computer 1 (100)) to a token queue of another computer (for example, computer 2 (200)).
Leave () does not move the token taken out from the token queue of a certain computer (for example, computer 1 (100)) to the token queue of another computer (for example, computer 2 (200)), but instead of that computer (for example, computer 1 ( 100)) to return to the token queue.
 図6の移動ルールでは、優先して実行される優先サービスが定義され、優先サービスのトークンが格納されている計算機から、優先サービスのトークンが格納されていない他の計算機にトークンを移動させるというルールが定義されている。
 図6の移動ルールは、ルールIDがR2であり、ルール適用対応表5043(図7)では、全てのサービスに移動ルール(ID:R2)が適用される旨が規定されている。
 つまり、図6のif文は、全てのサービスのトークンがトークンキューから取り出される場合に評価される。
 そして、図6の移動ルールでは、フロー「メータ監視制御」のサービス「準備2」、「通信2」、「MDM3」が優先サービスとして定義され、計算機1(100)に優先サービスのトークンが存在しており、計算機2(200)に優先サービスのトークンが存在していない場合は、計算機1(100)において取り出されたトークンを、計算機2(200)トークンキューに移動させる(sendTo)。
 一方、上記の条件が成立しない場合は、計算機1(100)において取り出されたトークンを、元のトークンキューに戻す(leave)。
 このように、移動ルール情報5042では、トークンの移動ルールが、サービスの属性(図6の場合は、フロー「メータ監視制御」のサービス「準備2」、「通信2」、「MDM3」という属性)に関連付けて定義されている。
 また、移動ルール情報5042では、優先サービスのトークンが存在する計算機がトークンの移動元として定義され、優先サービスのトークンが存在しない計算機がトークンの移動先として定義されている。
In the movement rule of FIG. 6, a priority service that is executed with priority is defined, and a token is moved from a computer that stores a token for the priority service to another computer that does not store a token for the priority service. Is defined.
The migration rule in FIG. 6 has a rule ID of R2, and the rule application correspondence table 5043 (FIG. 7) stipulates that the migration rule (ID: R2) is applied to all services.
That is, the if statement in FIG. 6 is evaluated when all service tokens are taken out of the token queue.
In the movement rule of FIG. 6, the services “Preparation 2”, “Communication 2”, and “MDM3” of the flow “Meter monitoring control” are defined as the priority services, and the token of the priority service exists in the computer 1 (100). If the token of the priority service does not exist in the computer 2 (200), the token taken out in the computer 1 (100) is moved to the computer 2 (200) token queue (sendTo).
On the other hand, if the above condition is not satisfied, the token taken out by the computer 1 (100) is returned to the original token queue (leave).
As described above, in the movement rule information 5042, the token movement rule indicates the service attribute (in the case of FIG. 6, the attributes “service“ preparation 2 ”,“ communication 2 ”, and“ MDM3 ”in the flow“ meter monitoring control ”). Defined in relation to.
Further, in the migration rule information 5042, a computer having a priority service token is defined as a token migration source, and a computer having no priority service token is defined as a token migration destination.
 なお、図6は、実行順序調整ルール情報5041の一例を示しており、他の評価基準が用いられた移動ルールでもよい。
 例えば、特定レベル以下の優先度のトークンは他の計算機に移動させるという移動ルールが定義されていてもよい。
 また、サービスの実行に関連するDCUエリアに対応付けた移動ルールが定義されていてもよい。
 例えば、DCUエリアAからデータを収集するサービスのトークンは他の計算機に移動させるという移動ルールが定義されていてもよい。
 また、評価対象の計算機(例えば計算機1(100))の負荷(トークン数)と他の計算機(例えば計算機2(200))の負荷(トークン数)とに対応付けた移動ルールが定義されていてもよい。
 更に、前述の負荷調整ルール情報3041(図8)のオブジェクト変数が評価基準として含まれる条件判断式が記述された実行順序調整ルール情報5041であってもよい。
 また、DCUエリアごとに、異なる移動ルールを用いるようにしてもよい。
FIG. 6 shows an example of the execution order adjustment rule information 5041, which may be a movement rule using other evaluation criteria.
For example, a movement rule may be defined in which a token having a priority level lower than a specific level is moved to another computer.
In addition, a movement rule associated with a DCU area related to service execution may be defined.
For example, a movement rule for moving a token of a service that collects data from the DCU area A to another computer may be defined.
In addition, a movement rule is defined that associates the load (number of tokens) of the computer to be evaluated (for example, computer 1 (100)) with the load (number of tokens) of another computer (for example, computer 2 (200)). Also good.
Furthermore, it may be execution order adjustment rule information 5041 in which a condition judgment expression including the object variable of the load adjustment rule information 3041 (FIG. 8) described above is included as an evaluation criterion.
Different movement rules may be used for each DCU area.
 メッセージルータ505は、サービスが通信プロトコル等を意識せずに通信を行えるようにするためのメッセージバスである。
 ESB間インタフェース506は、ESB間のインタフェースを提供する。
The message router 505 is a message bus that allows a service to communicate without being aware of a communication protocol or the like.
The inter-ESB interface 506 provides an interface between ESBs.
 サービス制御部501は、ESBのサービスごとに構成されルーティングファイルに従ったフロー実行の際のサービス間の連携と優先制御を行う機能である。
 サービス制御部501は、例えば、トークンごとにサービスの実行開始又は実行の保留を決定し、また、優先制御に従った負荷バランス調整のためトークンを他の計算機に移動させる。
The service control unit 501 is configured for each ESB service and is a function that performs cooperation and priority control between services when executing a flow according to a routing file.
For example, the service control unit 501 determines the start of execution of the service or suspension of execution for each token, and moves the token to another computer for load balance adjustment according to priority control.
 図9は、サービス制御部501の各要素と調整ルールとの関係、サービス制御部501の各要素と他の要素との関係を示している。 FIG. 9 shows the relationship between each element of the service control unit 501 and the adjustment rule, and the relationship between each element of the service control unit 501 and other elements.
 サービス実行待機評価部5011は、調整ルールに従って、トークンごとにサービスを実行するか待機して実行しないかを決定する。
 サービス実行待機評価部5011は、トークンキューごとにトークンキューの先頭のトークンを取り出し、図9に示すように、主に実行順序調整ルール情報5041とルール適用対応表5043を参照して、取り出したトークンに対応するサービスの実行又はサービスの実行の保留を決定する。
 サービス実行待機評価部5011は、サービス実行判定部の例に相当する。
The service execution standby evaluation unit 5011 determines whether to execute the service for each token or not to execute in standby mode according to the adjustment rule.
The service execution standby evaluation unit 5011 extracts the first token from the token queue for each token queue, and mainly refers to the execution order adjustment rule information 5041 and the rule application correspondence table 5043 as illustrated in FIG. The execution of the service corresponding to or the suspension of execution of the service is determined.
The service execution standby evaluation unit 5011 corresponds to an example of a service execution determination unit.
 他サーバ移動部5012は、調整ルールに従った判断によりトークンを他の計算機に移動させる。
 他サーバ移動部5012は、トークンキューごとにトークンキューの最後尾からトークンを取り出し、主に移動ルール情報5042とルール適用対応表5043を参照して、取り出したトークンを、他の計算機のトークンキューに移動させるか否かを決定し、トークンの移動を決定した場合に、移動の対象となるトークンを、他の計算機のトークンキューに移動させる。
 他サーバ移動部5012は、トークン移動部の例に相当する。
The other server moving unit 5012 moves the token to another computer based on the determination according to the adjustment rule.
The other server moving unit 5012 takes out the token from the tail end of the token queue for each token queue, and mainly refers to the moving rule information 5042 and the rule application correspondence table 5043, and puts the taken out token into the token queue of another computer. It is determined whether or not to move, and when it is determined to move the token, the token to be moved is moved to the token queue of another computer.
The other server moving unit 5012 corresponds to an example of a token moving unit.
 また、サービス実行待機評価部5011は、実行順序調整ルール情報5041に記述されている実行順序調整ルールに応じて、負荷調整指示情報702を参照してサービスの実行又は実行の待機を決定する場合がある。
 また、他サーバ移動部5012は、移動ルール情報5042に記述されている移動ルールに応じて、負荷調整指示情報702を参照してトークンを他の計算機に移動させるか否かを決定する場合がある。
 負荷調整指示情報702は、負荷調整指示情報生成部303により生成された情報である。
 負荷調整指示情報702において、計算機統計情報は、例えば、サービス実行待機評価部5011が実装されている計算機のサービス実行部(例えば計算機1(100)のサービス実行部103)で受入可能なトークンの数が優先度別に示される情報である。
 また、サーバ間調整情報は、例えば、他の計算機(例えば計算機2(200))でサービスが実行されているトークンの数、トークンキュー内のトークンの数が優先度別に示される情報である。
 サービス実行待機評価部5011は、負荷調整指示情報702を参照することで、自計算機の負荷レベルと他の計算機の負荷レベルとを判断して、サービスの実行又は実行の待機を決定することができる。
 また、他サーバ移動部5012は、負荷調整指示情報702を参照することで、自計算機の負荷レベルと他の計算機の負荷レベルとを判断して、トークンを他の計算機に移動させるか否かを決定することができる。
 なお、負荷調整指示情報生成部303は、各計算機の性能統計更新部105で生成された計算機統計情報701と負荷調整ルール情報3041を用いて、負荷調整指示情報702を生成する。
 計算機統計情報701に含まれるサーバ実行負荷統計には、サービスが実行されているトークンの数が優先度別に示される。
 また、サービス要求負荷統計には、トークンキュー内にあるトークンの数が優先度別に示される。
 負荷調整ルール情報3041は、図8に例示したように、計算機ごとにトークンの受入可能数と各優先度のトークンの比率が指定された情報である。
In addition, the service execution standby evaluation unit 5011 may determine whether to execute the service or wait for execution with reference to the load adjustment instruction information 702 according to the execution order adjustment rule described in the execution order adjustment rule information 5041. is there.
The other server moving unit 5012 may determine whether to move the token to another computer with reference to the load adjustment instruction information 702 according to the movement rule described in the movement rule information 5042. .
The load adjustment instruction information 702 is information generated by the load adjustment instruction information generation unit 303.
In the load adjustment instruction information 702, the computer statistical information includes, for example, the number of tokens that can be received by the service execution unit (for example, the service execution unit 103 of the computer 1 (100)) in which the service execution standby evaluation unit 5011 is mounted. Is information indicated by priority.
The inter-server adjustment information is information indicating, for example, the number of tokens for which services are being executed by another computer (for example, computer 2 (200)) and the number of tokens in the token queue according to priority.
By referring to the load adjustment instruction information 702, the service execution standby evaluation unit 5011 can determine the load level of its own computer and the load level of another computer, and can determine whether to execute the service or wait for execution. .
Further, the other server moving unit 5012 refers to the load adjustment instruction information 702 to determine the load level of the own computer and the load level of the other computer, and determines whether or not to move the token to the other computer. Can be determined.
The load adjustment instruction information generation unit 303 generates load adjustment instruction information 702 using the computer statistical information 701 and the load adjustment rule information 3041 generated by the performance statistics update unit 105 of each computer.
In the server execution load statistics included in the computer statistical information 701, the number of tokens for which services are being executed is indicated by priority.
In the service request load statistics, the number of tokens in the token queue is indicated by priority.
As illustrated in FIG. 8, the load adjustment rule information 3041 is information in which the number of tokens that can be accepted and the ratio of tokens of each priority are designated for each computer.
 受信部5013は、サービス実行待機評価部5011によりサービスの実行が決定されたトークンをサービス実行待機評価部5011から取得し、取得したトークンをサービス実行部103に出力して、サービス実行部103にサービスアプリケーションコードを実行させる。 The receiving unit 5013 acquires the token whose service execution has been determined by the service execution standby evaluation unit 5011 from the service execution standby evaluation unit 5011, outputs the acquired token to the service execution unit 103, and provides the service execution unit 103 with the service. Run application code.
 送信部5014は、サービス実行部103のサービスアプリケーションコードの実行結果が格納された後のトークンを取得し、取得したトークンをメッセージルータ505に送信する。
 なお、送信部5014からトークンを渡されたメッセージルータ505は、ルーティングファイル(図3)に従い、次に実行するサービスのトークンを送信部5014に渡す。
 送信部5014は、メッセージルータ505から渡されたトークンを該当するサービスのトークンキューに格納する。
The transmission unit 5014 acquires the token after the execution result of the service application code of the service execution unit 103 is stored, and transmits the acquired token to the message router 505.
Note that the message router 505 to which the token is sent from the transmission unit 5014 passes the token of the service to be executed next to the transmission unit 5014 in accordance with the routing file (FIG. 3).
The transmission unit 5014 stores the token passed from the message router 505 in the token queue of the corresponding service.
 なお、通常のESBのサービス制御機能は、単一のメッセージルータの内部キューと、受信部5013に相当する機能、送信部5014に相当する機能、サービスアプリケーションコードで構成され、内部キューから取り出したトークンによりサービスアプリケーションを実行してメッセージルータに渡すだけであり、調整ルールに従って、トークンの優先制御、他サーバへの移動、サービス実行待機を行う機能はない。 The normal ESB service control function is composed of an internal queue of a single message router, a function corresponding to the reception unit 5013, a function corresponding to the transmission unit 5014, and a service application code, and a token extracted from the internal queue. Only the service application is executed and passed to the message router, and there is no function to perform token priority control, transfer to another server, or service execution standby according to the adjustment rules.
 次に、本実施の形態のセンターシステム1000の動作について説明する。
 図10及び図11は、サービス実行待機評価部5011が、トークンをキューから取り出し、実行順序調整ルール情報5041を用いてサービスの実行又は待機を判断する動作の流れを示す。
 なお、サービス実行待機評価部5011は、トークンキューごとに(つまり、サービスごとに)、図10及び図11の動作を行う。
Next, the operation of the center system 1000 of this embodiment will be described.
10 and 11 show a flow of operations in which the service execution standby evaluation unit 5011 extracts a token from the queue and determines execution or standby of the service using the execution order adjustment rule information 5041.
Note that the service execution standby evaluation unit 5011 performs the operations of FIGS. 10 and 11 for each token queue (that is, for each service).
 st11では、サービス実行待機評価部5011は、トークンキューの各優先度キューにトークンが含まれるかどうかを調査する。 In st11, the service execution standby evaluation unit 5011 investigates whether or not a token is included in each priority queue of the token queue.
 st12では、サービス実行待機評価部5011は、トークンが含まれる優先度キューがない場合は、処理を終了する。
 一方、トークンが含まれる優先度キューがある場合はst13に遷移する。
 なお、トークンが含まれる優先度キューがあるサービスが実行候補サービスの例に相当する。
In st12, the service execution standby evaluation unit 5011 ends the process when there is no priority queue including the token.
On the other hand, if there is a priority queue including a token, the process proceeds to st13.
A service having a priority queue that includes a token corresponds to an example of an execution candidate service.
 st13では、サービス実行待機評価部5011は、トークンが含まれる優先度キューのうち最高優先度の優先度キューを選択し、以降の処理は、この選択した優先度キューを対象として行う。 In st13, the service execution standby evaluation unit 5011 selects the highest priority queue from the priority queues including the token, and the subsequent processing is performed on the selected priority queue.
 st14では、st13で選択した優先度キューの先頭のトークンを取り出す。 In st14, the first token in the priority queue selected in st13 is taken out.
 st15では、サービス実行待機評価部5011は、ルール適用対応表5043を調査し、現在対象としているサービスに適用する実行順序調整ルールがルール適用対応表5043に定義されているか(サービス名に対してルールIDが定義されているか)を判断する。 In st15, the service execution standby evaluation unit 5011 examines the rule application correspondence table 5043, and whether an execution order adjustment rule to be applied to the current target service is defined in the rule application correspondence table 5043 (the rule for the service name) Whether the ID is defined).
 st16では、現在対象としているサービスに適用する実行順序調整ルールがない場合は、サービス実行待機評価部5011は、st113に遷移する。
 一方、適用するルールがある場合は、サービス実行待機評価部5011は、st17に遷移する。
In st16, when there is no execution order adjustment rule to be applied to the currently targeted service, the service execution standby evaluation unit 5011 transits to st113.
On the other hand, when there is a rule to apply, the service execution standby evaluation unit 5011 transits to st17.
 st17では、サービス実行待機評価部5011は、実行順序調整ルールのオブジェクト変数を生成する。 In st17, the service execution standby evaluation unit 5011 generates an object variable for the execution order adjustment rule.
 st18では、サービス実行待機評価部5011は、ルールIDに対応するルール内容の条件式を評価する。 In st18, the service execution standby evaluation unit 5011 evaluates the conditional expression of the rule content corresponding to the rule ID.
 st19では、サービス実行待機評価部5011は、条件式の評価結果に応じた関数を選択する。 In st19, the service execution standby evaluation unit 5011 selects a function according to the evaluation result of the conditional expression.
 st110では、サービス実行待機評価部5011は、wait()を選択した場合はst111に遷移し、stop()を選択した場合はst112に遷移し、receive()を選択した場合は、st113に遷移する。 In st110, the service execution standby evaluation unit 5011 transitions to st111 when wait () is selected, transitions to st112 when stop () is selected, and transitions to st113 when receive () is selected. .
 st111では、サービス実行待機評価部5011は、サービスの実行を待機させるために、st14で取り出したトークンを取り出し元の優先度キューの先頭に入れる。 In st111, the service execution standby evaluation unit 5011 puts the token extracted in st14 in the head of the priority queue of the extraction source in order to wait for the execution of the service.
 st112では、サービス実行待機評価部5011は、st14で取り出したトークンを取り出し元の優先度キューの先頭に入れるとともに、取り出し元の優先度キューから以後トークンの取り出しを停止する。 In st112, the service execution standby evaluation unit 5011 puts the token extracted in st14 at the head of the priority queue of the extraction source, and stops subsequent token extraction from the priority queue of the extraction source.
 st113では、サービス実行待機評価部5011が、取り出したトークンを受信部5013に送信し、受信部5013がトークンを受信する。 In st113, the service execution standby evaluation unit 5011 transmits the extracted token to the reception unit 5013, and the reception unit 5013 receives the token.
 st114では、受信部5013がトークンをサービス実行部103に送信し、サービス実行部103がトークンを受け入れ、該当するサービスのサービスアプリケーションコードを実行する。 In st114, the receiving unit 5013 transmits the token to the service execution unit 103, and the service execution unit 103 accepts the token and executes the service application code of the corresponding service.
 st115では、サービス実行部103が、サービスアプリケーションコードの実行結果をトークンに保存する。 In st115, the service execution unit 103 stores the execution result of the service application code in a token.
 st116では、サービス実行部103がトークンを送信部5014に送信し、送信部5014がトークンをメッセージルータ505に送信する。 In st116, the service execution unit 103 transmits the token to the transmission unit 5014, and the transmission unit 5014 transmits the token to the message router 505.
 st117では、メッセージルータ505がルーティングファイルより次のサービスを決定し、送信部5014が、次のサービスのトークンを、対応するトークンキューの優先度キューに格納する。 In st117, the message router 505 determines the next service from the routing file, and the transmission unit 5014 stores the token of the next service in the priority queue of the corresponding token queue.
 図12は、他サーバ移動部5012が、トークンをキューから取り出し、移動ルール情報5042を用いてトークンを移動させるか否かを判断する動作の流れを示す。
 なお、他サーバ移動部5012は、トークンキューごとに(つまり、サービスごとに)、図12の動作を行う。
FIG. 12 shows a flow of operations in which the other server moving unit 5012 takes out the token from the queue and determines whether or not to move the token using the movement rule information 5042.
The other server moving unit 5012 performs the operation of FIG. 12 for each token queue (that is, for each service).
 st21では、他サーバ移動部5012は、トークンキューの各優先度キューにトークンが含まれるかどうかを調査する。 In st21, the other server moving unit 5012 investigates whether or not a token is included in each priority queue of the token queue.
 st22では、他サーバ移動部5012は、トークンが含まれる優先度キューがない場合は、処理を終了する。
 一方、トークンが含まれる優先度キューがある場合はst23に遷移する。
In st22, the other server moving unit 5012 ends the process when there is no priority queue including the token.
On the other hand, if there is a priority queue including a token, the process proceeds to st23.
 st23では、他サーバ移動部5012は、トークンが含まれる優先度キューのうち最高優先度の優先度キューを選択し、以降の処理は、この選択した優先度キューを対象として行う。 In st23, the other server moving unit 5012 selects the highest priority queue from the priority queues including the token, and the subsequent processing is performed on the selected priority queue.
 st24では、st23で選択した優先度キューの最後尾のトークンを取り出す。 In st24, the last token of the priority queue selected in st23 is taken out.
 st25では、他サーバ移動部5012は、ルール適用対応表5043を調査し、現在対象としているサービスに適用する移動ルールがルール適用対応表5043に定義されているか(サービス名に対してルールIDが定義されているか)を判断する。 In st25, the other server moving unit 5012 examines the rule application correspondence table 5043, and whether the migration rule to be applied to the current target service is defined in the rule application correspondence table 5043 (rule ID is defined for the service name) Is determined).
 st26では、現在対象としているサービスに適用する移動ルールがない場合は、他サーバ移動部5012は、st30に遷移する。
 一方、適用するルールがある場合は、サービス実行待機評価部5011は、st27に遷移する。
In st26, when there is no migration rule to be applied to the current target service, the other server migration unit 5012 transitions to st30.
On the other hand, when there is a rule to apply, the service execution standby evaluation unit 5011 transits to st27.
 st30では、他サーバ移動部5012は、st24で取り出したトークンを取り出し元の優先度キューの同じ位置に戻し、st24で取り出したトークンの1つ前のトークンを取り出す。
 以降は、他サーバ移動部5012は、st25とst26の動作を繰り返す。
In st30, the other server moving unit 5012 returns the token extracted in st24 to the same position in the priority queue of the extraction source, and extracts the token immediately before the token extracted in st24.
Thereafter, the other server moving unit 5012 repeats the operations of st25 and st26.
 st27では、他サーバ移動部5012は、移動ルールのオブジェクト変数を生成する。 In st27, the other server moving unit 5012 generates an object variable of the movement rule.
 st28では、他サーバ移動部5012は、ルールIDに対応するルール内容の条件式を評価する。 In st28, the other server moving unit 5012 evaluates the conditional expression of the rule content corresponding to the rule ID.
 st29では、他サーバ移動部5012は、条件式の評価結果に応じた関数を選択する。 In st29, the other server moving unit 5012 selects a function according to the evaluation result of the conditional expression.
 st210では、他サーバ移動部5012は、sendTo()を選択した場合はst211に遷移し、leave()を選択した場合はst212に遷移する。 In st210, the other server moving unit 5012 transitions to st211 when sendTo () is selected, and transitions to st212 when leave () is selected.
 st211では、他サーバ移動部5012は、移動ルールで指定されている計算機のトークンキューにトークンを移動させる。 In st211, the other server moving unit 5012 moves the token to the token queue of the computer specified by the movement rule.
 st212では、他サーバ移動部5012は、st24で取り出したトークンを取り出し元の優先度キューの同じ位置に戻す。 In st212, the other server moving unit 5012 returns the token extracted in st24 to the same position in the priority queue from which it was extracted.
 実施の形態1の効果について述べる。
 実施の形態1によりルーティングのフローのサービス実行の粒度で負荷調整が可能である。
 そして、調整ルールを用いたキューベースの優先制御により、後続処理として優先サービスがある場合なども考慮した柔軟な優先処理が可能となる。
 また、本実施の形態では、CPUの負荷と単一のサービス優先度だけで負荷バランスを調整するのでなく、調整ルールの条件式を用いて状況判断を行いながらシーンに応じた負荷調整が可能となる。
 このため、課題1を解決することができる。
The effect of the first embodiment will be described.
According to the first embodiment, the load can be adjusted with the granularity of service execution of the routing flow.
Then, the queue-based priority control using the adjustment rule enables flexible priority processing that takes into account the case where there is a priority service as the subsequent processing.
Also, in this embodiment, it is possible to adjust the load according to the scene while making a situation determination using the conditional expression of the adjustment rule, instead of adjusting the load balance only with the CPU load and the single service priority. Become.
For this reason, the problem 1 can be solved.
 実施の形態2.
 図13に、実施の形態2のスマートメータシステムの構成例を示す。
 図1の構成に比べて、図13では、計算機1(100)にフロー・ルール置換部107が追加され、計算機2(200)にフロー・ルール置換部207が追加されている。
 図13の他の要素は、図1と同じである。
 フロー・ルール置換部107及びフロー・ルール置換部207は、スマートメータのアプリケーションの起動時の業務パラメータに基づき、実行するルーティングファイルのフローと調整ルールを別のものに置き換える。
 フロー・ルール置換部107とフロー・ルール置換部207の動作は同じであるため、以下では、フロー・ルール置換部107の動作を説明する。
Embodiment 2. FIG.
FIG. 13 shows a configuration example of the smart meter system according to the second embodiment.
Compared to the configuration of FIG. 1, in FIG. 13, a flow rule replacement unit 107 is added to the computer 1 (100), and a flow rule replacement unit 207 is added to the computer 2 (200).
Other elements in FIG. 13 are the same as those in FIG.
The flow rule replacement unit 107 and the flow rule replacement unit 207 replace the flow of the routing file to be executed and the adjustment rule with different ones based on the business parameters when the smart meter application is activated.
Since the operations of the flow rule replacement unit 107 and the flow rule replacement unit 207 are the same, the operation of the flow rule replacement unit 107 will be described below.
 図14は、フロー・ルール置換部107の動作を説明する図である。
 本実施の形態では、あるサービスを実現するための処理アルゴリズムに複数のバリエーションがあることを前提としている。
 なお、処理アルゴリズムに複数のバリエーションがあるサービスを、特例サービスという。
 図14の例では、「通信1」が特例サービスである。
 「通信1」のサービスを実現するための処理アルゴリズムとして、「DCU通信置換フローA」と「DCU通信置換フローB」という2つの処理アルゴリズムが存在している。
 フロー・ルール置換部107は、例えば、「P1:定期収集」のサービスフローの開始要求をユーザから入力するとともに、「P1:定期収集」のサービスフローに関連する業務パラメータを入力する。
 ここでは、フロー・ルール置換部107が入力する業務パラメータがDCUのIDであるとする。
 フロー・ルール置換部107は、入力した業務パラメータ(DCUのID)と、業務パラメータルール・フロー置換設定ファイルに基づき、「P1:定期収集」の「通信1」に対して、「DCU通信置換フローA」又は「DCU通信置換フローB」を選択する。
 そして、サービス実行部103は、「P1:定期収集」において、フロー・ルール置換部107により選択された処理アルゴリズム(「DCU通信置換フローA」又は「DCU通信置換フローB」)に従って「通信1」のサービスを行う。
 また、本実施の形態では、「P1:定期収集」の「通信1」に対して「調整ルールA」と「調整ルールB」の2つが設定されている。
 フロー・ルール置換部107は、入力した業務パラメータ(DCUのID)と、業務パラメータルール・フロー置換設定ファイルに基づき、「P1:定期収集」の「通信1」に対して、「調整ルールA」又は「調整ルールB」を選択する。
 そして、サービス実行待機評価部5011は、「通信1」のトークンに対して、フロー・ルール置換部107により選択された調整ルール(「調整ルールA」又は「調整ルールB」)を適用して、「通信1」のサービスの開始又は待機を判断する。
 また、他サーバ移動部5012は、「通信1」のトークンに対して、フロー・ルール置換部107により選択された調整ルール(「調整ルールA」又は「調整ルールB」)を適用して、「通信1」のトークンを他の計算機に移動させるかどうかを判断する。
 フロー・ルール置換部107は、開始要求入力部、アルゴリズム選択部及びルール選択部の例に相当する。
FIG. 14 is a diagram for explaining the operation of the flow rule replacement unit 107.
In the present embodiment, it is assumed that there are a plurality of variations in the processing algorithm for realizing a certain service.
A service having a plurality of variations in the processing algorithm is referred to as a special service.
In the example of FIG. 14, “communication 1” is a special service.
There are two processing algorithms, “DCU communication replacement flow A” and “DCU communication replacement flow B”, as processing algorithms for realizing the “communication 1” service.
For example, the flow rule replacing unit 107 inputs a service flow start request of “P1: periodic collection” from the user and business parameters related to the service flow of “P1: periodic collection”.
Here, it is assumed that the business parameter input by the flow rule replacement unit 107 is the DCU ID.
Based on the input business parameter (DCU ID) and the business parameter rule / flow replacement setting file, the flow rule replacement unit 107 performs “DCU communication replacement flow” for “Communication 1” of “P1: Periodic collection”. A ”or“ DCU communication replacement flow B ”is selected.
Then, the service execution unit 103 performs “communication 1” according to the processing algorithm (“DCU communication replacement flow A” or “DCU communication replacement flow B”) selected by the flow rule replacement unit 107 in “P1: periodic collection”. Service.
In the present embodiment, “adjustment rule A” and “adjustment rule B” are set for “communication 1” of “P1: periodic collection”.
Based on the input business parameter (DCU ID) and the business parameter rule / flow replacement setting file, the flow rule replacement unit 107 sets “adjustment rule A” for “communication 1” of “P1: periodic collection”. Alternatively, “adjustment rule B” is selected.
Then, the service execution standby evaluation unit 5011 applies the adjustment rule (“adjustment rule A” or “adjustment rule B”) selected by the flow rule replacement unit 107 to the token of “communication 1”, The start or standby of the “communication 1” service is determined.
The other server moving unit 5012 applies the adjustment rule (“adjustment rule A” or “adjustment rule B”) selected by the flow rule replacement unit 107 to the token of “communication 1”, It is determined whether or not to move the token of “communication 1” to another computer.
The flow rule replacement unit 107 corresponds to an example of a start request input unit, an algorithm selection unit, and a rule selection unit.
 図15は、業務パラメータルール・フロー置換設定ファイルに含まれる構成・業務パラメータ対応表の例を示す。
 また、図16及び図17は、業務パラメータルール・フロー置換設定ファイルに含まれる構成選択ルールの例を示す。
 図15では、構成Aと構成Bが示され、構成Aに対しては「調整ルールA」が用いられ、また、「DCU通信置換フローA」が用いられることが定義されている。
 また、構成Bに対しては「調整ルールB」が用いられ、また、「DCU通信置換フローB」が用いられることが定義されている。
 図16の構成選択ルールでは、業務パラメータとして入力されたDCUのIDが「0」から「1000」までであれば、「構成A」が選択されることが定義されている。
 一方、図17の構成選択ルールでは、業務パラメータとして入力されたDCUのIDが「1001」から「10000」までであれば、「構成B」が選択されることが定義されている。
 このようにして、フロー・ルール置換部107は、入力した業務パラメータ(DCUのID)と、業務パラメータルール・フロー置換設定ファイルとに基づき、サービス「通信1」に対して、「DCU通信置換フローA」又は「DCU通信置換フローB」を選択し、また、「調整ルールA」又は「調整ルールB」を選択する。
FIG. 15 shows an example of a configuration / business parameter correspondence table included in the business parameter rule / flow replacement setting file.
16 and 17 show examples of configuration selection rules included in the business parameter rule / flow replacement setting file.
FIG. 15 shows configurations A and B, and it is defined that “adjustment rule A” is used for configuration A and “DCU communication replacement flow A” is used.
Further, it is defined that “adjustment rule B” is used for configuration B, and “DCU communication replacement flow B” is used.
The configuration selection rule in FIG. 16 defines that “configuration A” is selected if the ID of the DCU input as the business parameter is “0” to “1000”.
On the other hand, the configuration selection rule in FIG. 17 defines that “configuration B” is selected when the ID of the DCU input as the business parameter is from “1001” to “10000”.
In this way, the flow rule replacement unit 107 performs “DCU communication replacement flow” for the service “communication 1” based on the input business parameter (DCU ID) and the business parameter rule / flow replacement setting file. A ”or“ DCU communication replacement flow B ”is selected, and“ adjustment rule A ”or“ adjustment rule B ”is selected.
 次に、実施の形態2の効果について説明する。
 フロー・ルール置換部107により、フロー開始時に調整ルールとルーティングファイルのフローを、サービスのパラメータにより切り替えることができる。
 そして、パラメータとしてDCUのエリア(DCUのID)を使用すると、エリアの違いによりルールを切り替えてそれぞれのエリアにふさわしい、優先制御とワークロードバランスが可能となる。
 このため、課題2を解決することができる。
Next, the effect of Embodiment 2 is demonstrated.
The flow rule replacement unit 107 can switch the adjustment rule and the flow of the routing file at the start of the flow according to the service parameter.
When a DCU area (DCU ID) is used as a parameter, priority control and workload balance suitable for each area can be performed by switching the rule depending on the area.
For this reason, the problem 2 can be solved.
 実施の形態3.
 図18に、実施の形態3の計算機3(300)の構成例を示す。
 本実施の形態では、計算機3(300)以外の構成は、図1又は13と同じである。
 図1又は図13に示す計算機3(300)の構成と比べて、図18では、システム構成予約管理部306、システム構成要素予約サービス307及びシステム構成予約情報308が追加されている。
 システム構成予約管理部306は、スマートメータシステム内のシステム構成要素のうちセンターシステム1000以外のシステム構成要素の使用状況をサービス間で共有して、各システム構成要素が使用可能かどうかを管理する。
 システム構成要素予約サービス307は、センターシステム1000以外の各システム構成要素の使用状況の情報を保持する。
 システム構成予約情報308は、センターシステム1000以外のシステム構成要素の使用状況を変更するサービスである。
 また、本実施の形態では、図19に例示するルーティングファイルが用いられる。
 図3の通信サービスのフロー5023と比較して、図19の通信サービスのフロー5024では通信予約が行われている。
 また、図19のルーティングファイルでは、DCU、通信装置、メータとの通信予約のためのシステム構成要素予約サービスが含まれている。
Embodiment 3 FIG.
FIG. 18 shows a configuration example of the computer 3 (300) of the third embodiment.
In the present embodiment, the configuration other than the computer 3 (300) is the same as that in FIG.
Compared with the configuration of the computer 3 (300) shown in FIG. 1 or FIG. 13, a system configuration reservation management unit 306, a system component reservation service 307, and system configuration reservation information 308 are added in FIG.
The system configuration reservation management unit 306 manages the usage status of system components other than the center system 1000 among the system components in the smart meter system between services, and manages whether each system component can be used.
The system component reservation service 307 holds information on the usage status of each system component other than the center system 1000.
The system configuration reservation information 308 is a service for changing the usage status of system components other than the center system 1000.
In the present embodiment, the routing file illustrated in FIG. 19 is used.
Compared with the communication service flow 5023 of FIG. 3, the communication reservation is performed in the communication service flow 5024 of FIG.
Further, the routing file of FIG. 19 includes a system component reservation service for communication reservation with the DCU, the communication device, and the meter.
 本実施の形態では、実行順序調整ルール情報5041に、例えば、システム構成要素予約サービスを優先サービスとして定義し、システム構成要素予約サービスのトークンが存在していない場合にシステム構成要素予約サービス以外のサービスが実行されるという実行順序調整ルールを記述しておくことが考えられる。
 この実行順序調整ルールにより、システム構成要素予約サービスは他のサービスに優先して実行される。
In the present embodiment, in the execution order adjustment rule information 5041, for example, when a system component reservation service is defined as a priority service, and a token of the system component reservation service does not exist, a service other than the system component reservation service It is possible to describe an execution order adjustment rule that is executed.
With this execution order adjustment rule, the system component reservation service is executed with priority over other services.
 実施の形態3の効果について述べる。
 システム構成予約管理部306とシステム構成要素予約サービス307とシステム構成予約情報308により、センターシステム1000以外のシステム構成要素を考慮した優先制御が可能となる。
 すなわち、センターシステム1000上のアプリケーションだけでなく、メータ、DCU,通信機器などスマートメータシステムに含まれるシステム構成要素に対する優先制御が可能となる。
The effect of the third embodiment will be described.
The system configuration reservation management unit 306, the system component reservation service 307, and the system configuration reservation information 308 enable priority control in consideration of system components other than the center system 1000.
That is, priority control is possible not only for applications on the center system 1000 but also for system components included in the smart meter system such as meters, DCUs, and communication devices.
 以上、実施の形態1~3では、スマートメータシステムにおけるサービス、サービスフローを実行するメッセージ連携ミドルウェア(ESB)を用いたサービス連携装置を説明した。
 そして、実施の形態1~3では、業務アプリケーションのフローの他に、構成要素やフローを意識した個別のアプリケーションの負荷調整を行うことを目的とした、サービス実行機能とESBコンテナ間調整機能からなる優先制御つきサービス連携装置を説明した。
As described above, in the first to third embodiments, the service cooperation apparatus using the message cooperation middleware (ESB) for executing the service and the service flow in the smart meter system has been described.
In Embodiments 1 to 3, in addition to the business application flow, the service execution function and the ESB container adjustment function are provided for the purpose of adjusting the load of individual applications in consideration of components and flows. A service cooperation device with priority control has been described.
 そして、サービス実行機能は、以下の機能を有することを説明した。
1)サービスの流れを定義したフローの定義と、システム構成要素予約サービスを含むルーティングファイルと、ルーティングファイルにより制御されるESBバス
2)以下の機能により構成されるサービスアプリケーションロジックを呼び出すサービス制御機能
 a)サービスのインスタンスをトークンとして優先度ごとに保持する優先度キュー
 b)優先度キューの最後尾からトークンを取り出し、調整ルール設定ファイルと負荷調整指示情報を用いて評価し他サーバに移動するかどうかを判断する他サーバ移動機能
 c)優先度キューの先頭からトークンを取り出し、調整ルール設定ファイルと負荷調整指示情報を用いて評価し、サービス実行を行うか、実行しないで待機させるかを判断するサービス実行待機評価機能
 d)サービス実行待機評価機能からトークンを受信して、サービスアプリケーションコードを実行する受信機能
 e)サービスアプリケーションコードの結果より実行後のトークンを生成して次のサービスに遷移させる送信機能
3)システム連携サーバの計算機全体の性能情報(CPU負荷など)と、各サービスの優先度キュー上のトークンの統計情報を収集してESBコンテナ間調整機能の計算機統計情報に送る自サーバ性能統計更新機能。
The service execution function has been described as having the following functions.
1) Flow definition defining service flow, routing file including system component reservation service, and ESB bus controlled by the routing file 2) Service control function for calling service application logic configured by the following functions a ) Priority queue that holds service instances as tokens for each priority b) Whether to take out the token from the tail of the priority queue, evaluate it using the adjustment rule setting file and load adjustment instruction information, and move to another server C) Service for determining whether to execute a service or to wait without executing it, taking out a token from the head of the priority queue and evaluating it using the adjustment rule setting file and load adjustment instruction information Execution wait evaluation function d) Service execution wait Receiving function that receives a token from the machine evaluation function and executes the service application code e) A transmission function that generates a token after execution from the result of the service application code and makes a transition to the next service 3) The entire computer of the system linkage server Self-server performance statistics update function that collects performance information (such as CPU load) and statistical information on tokens on the priority queue of each service and sends them to computer statistical information of the ESB container coordination function
 また、ESB間コンテナ間調整機能は、以下の機能を有することを説明した。
1)複数のESBでサーバごとの、サーバ実行負荷統計とサービス要求負荷統計を含む計算機統計情報を共有するための計算機間統計共有機能
2)計算機間統計共有機能とシステム構成要素予約サービスから、各システム連携計算機に対する負荷調整指示メッセージを作成する負荷調整指示生成機能。
Moreover, it demonstrated that the adjustment function between containers between ESBs has the following functions.
1) Inter-computer statistical sharing function for sharing computer statistical information including server execution load statistics and service request load statistics for each server with multiple ESBs 2) From inter-computer statistical sharing function and system component reservation service, A load adjustment instruction generation function for creating a load adjustment instruction message for the system linkage computer.
 また、実施の形態1~3では、サービス実行機能が、以下の機能を有することを説明した。
 業務パラメータルール・フロー置換設定ファイルに従って、実行するトークンのエリア(DCUエリア)などのフロー開始時のパラメータより、実行するトークンのエリア(DCUエリア)などのパラメータに応じて、開始するフローを切り換えるフロー・ルール置換機能。
In the first to third embodiments, it has been described that the service execution function has the following functions.
According to the business parameter rule / flow replacement setting file, a flow for switching a flow to be started in accordance with parameters such as a token area to be executed (DCU area) from a parameter at the start of the flow such as a token area to be executed (DCU area).・ Rule replacement function.
 また、実施の形態1~3では、ESBコンテナ間調整機能が、以下の機能を有することを説明した。
 スマートメータの機器の構成と使用状況を含むシステム構成予約情報と、システム構成予約情報を管理するシステム構成予約管理機能と、アプリケーションからシステム構成予約を行うシステム構成要素予約サービス。
In the first to third embodiments, it has been described that the inter-ESB container adjustment function has the following functions.
System configuration reservation information including the configuration and usage status of smart meter devices, a system configuration reservation management function for managing system configuration reservation information, and a system component reservation service for system configuration reservation from an application.
 最後に、実施の形態1~3に示した計算機1(100)、計算機2(200)、計算機3(300)のハードウェア構成例を図20を参照して説明する。
 以下では、計算機1(100)のハードウェア構成例を説明するが、以下の説明は、計算機2(200)及び計算機3(300)にも適用可能である。
 計算機1(100)はコンピュータであり、計算機1(100)の各要素をプログラムで実現することができる。
 計算機1(100)のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
Finally, a hardware configuration example of the computer 1 (100), the computer 2 (200), and the computer 3 (300) shown in the first to third embodiments will be described with reference to FIG.
Hereinafter, a hardware configuration example of the computer 1 (100) will be described. However, the following description is applicable to the computer 2 (200) and the computer 3 (300).
The computer 1 (100) is a computer, and each element of the computer 1 (100) can be realized by a program.
As a hardware configuration of the computer 1 (100), an arithmetic device 901, an external storage device 902, a main storage device 903, a communication device 904, and an input / output device 905 are connected to the bus.
 演算装置901は、プログラムを実行するCPUである。
 外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
 主記憶装置903は、RAM(Random Access Memory)である。
 通信装置904は、例えば通信カードである。
 入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
 実施の形態1~3で示した、「記憶部104」、「ルーティングファイル記憶部502」、「トークンキュー管理部503」及び「ルール記憶部504」は、外部記憶装置902又は主記憶装置903で実現される。
The arithmetic device 901 is a CPU that executes a program.
The external storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.
The main storage device 903 is a RAM (Random Access Memory).
The communication device 904 is a communication card, for example.
The input / output device 905 is, for example, a mouse, a keyboard, a display device, or the like.
The “storage unit 104”, “routing file storage unit 502”, “token queue management unit 503”, and “rule storage unit 504” described in the first to third embodiments are the external storage device 902 or the main storage device 903. Realized.
 プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
 プログラムは、図1に示す「~部」(「記憶部104」、「ルーティングファイル記憶部502」、「トークンキュー管理部503」及び「ルール記憶部504」を除く、以下でも同様)として説明している機能を実現するプログラムである。
 更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「~部」の機能を実現するプログラムを実行する。
 また、サービスアプリケーションコードも外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901により実行される。
 また、実施の形態1~4の説明において、「~の判断」、「~の判定」、「~の決定」、「~の抽出」、「~の調査」、「~の評価」、「~の実行」、「~の設定」、「~の登録」、「~の選択」、「~の生成」、「~の入力」、「~の出力」、「~の受信」、「~の送信」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
 また、DCUやメータから受信したデータが主記憶装置903や外部記憶装置902に記憶される。
 また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置903にファイルとして記憶されてもよい。
The program is normally stored in the external storage device 902, and is loaded into the main storage device 903 and sequentially read into the arithmetic device 901 and executed.
The program is described as “˜unit” shown in FIG. 1 (except for “storage unit 104”, “routing file storage unit 502”, “token queue management unit 503”, and “rule storage unit 504”). It is a program that realizes the function.
Further, an operating system (OS) is also stored in the external storage device 902. At least a part of the OS is loaded into the main storage device 903, and the arithmetic device 901 executes “OS” shown in FIG. ”Is executed.
The service application code is also stored in the external storage device 902, and is executed by the arithmetic device 901 sequentially in a state loaded in the main storage device 903.
In the description of the first to fourth embodiments, “determination”, “determination”, “determination”, “extraction”, “examination”, “evaluation”, “ Execution ”,“ Settings ”,“ Registering ”,“ Selecting ”,“ Generating ”,“ Inputting ”,“ Outputting ”,“ Receiving ”,“ Sending ” The information, data, signal values, and variable values indicating the results of the processing described as “etc.” are stored in the main storage device 903 as files.
In addition, data received from the DCU or meter is stored in the main storage device 903 or the external storage device 902.
Further, the encryption key / decryption key, random number value, and parameter may be stored in the main storage device 903 as a file.
 なお、図20の構成は、あくまでも計算機1(100)のハードウェア構成の一例を示すものであり、計算機1(100)のハードウェア構成は図20に記載の構成に限らず、他の構成であってもよい。 The configuration in FIG. 20 is merely an example of the hardware configuration of the computer 1 (100). The hardware configuration of the computer 1 (100) is not limited to the configuration illustrated in FIG. There may be.
 100 計算機1、101 通信部、102 入出力部、103 サービス実行部、104 記憶部、105 性能統計更新部、106 ESB、107 フロー・ルール置換部、200 計算機2、201 通信部、202 入出力部、203 サービス実行部、204 記憶部、205 性能統計更新部、206 ESB、207 フロー・ルール置換部、300 計算機3、301 通信部、302 入出力部、303 負荷調整指示情報生成部、304 計算機間統計共有部、305 ESB、306 システム構成予約管理部、307 システム構成要素予約サービス、308 システム構成予約情報、401 ネットワーク、402 ネットワーク、403 ネットワーク、404 DCU、405 メータ、406 メータ、501 サービス制御部、502 ルーティングファイル記憶部、503 トークンキュー管理部、504 ルール記憶部、505 メッセージルータ、506 ESB間インタフェース、1000 センターシステム、3041 負荷調整ルール情報、5011 サービス実行待機評価部、5012 他サーバ移動部、5013 受信部、5014 送信部、5031 トークンキュー、5032 トークンキュー、5033 トークンキュー、5034 トークンキュー、5034 トークンキュー、5036 トークンキュー、5041 実行順序調整ルール情報、5042 移動ルール情報、5043 ルール適用対応表。 100 computer 1, 101 communication unit, 102 input / output unit, 103 service execution unit, 104 storage unit, 105 performance statistics update unit, 106 ESB, 107 flow rule replacement unit, 200 computer 2, 201 communication unit, 202 input / output unit , 203 Service execution unit, 204 Storage unit, 205 Performance statistics update unit, 206 ESB, 207 Flow rule replacement unit, 300 Computer 3, 301 Communication unit, 302 Input / output unit, 303 Load adjustment instruction information generation unit, 304 Between computers Statistics sharing unit, 305 ESB, 306 system configuration reservation management unit, 307 system component reservation service, 308 system configuration reservation information, 401 network, 402 network, 403 network, 404 DCU, 405 meter, 406 meter 501 Service control unit, 502 Routing file storage unit, 503 Token queue management unit, 504 Rule storage unit, 505 Message router, 506 Inter-ESB interface, 1000 Center system, 3041 Load adjustment rule information, 5011 Service execution standby evaluation unit, 5012, etc. Server move unit, 5013 receive unit, 5014 send unit, 5031 token queue, 5032 token queue, 5033 token queue, 5034 token queue, 5034 token queue, 5036 token queue, 5041 execution order adjustment rule information, 5042 move rule information, 5043 rule Application table.

Claims (15)

  1.  複数のサービスの実行を管理する情報処理システムであって、
     それぞれが異なるサービスに対応し、それぞれが、対応するサービスについて、サービスのインスタンスの情報であるトークンを格納する、複数のトークン格納部と、
     サービスの実行順序を調整するための実行順序調整ルールが定義されている実行順序調整ルール情報を記憶する実行順序調整ルール情報記憶部と、
     トークン格納部ごとにトークンが格納されているか否かを判断し、対応するトークン格納部にトークンが格納されているサービスを実行候補サービスとして抽出し、実行候補サービスごとに、前記実行順序調整ルール情報に定義されている実行順序調整ルールを用いて、サービスの実行及びサービスの実行の保留のいずれかを決定するサービス実行判定部とを有することを特徴とする情報処理システム。
    An information processing system that manages the execution of multiple services,
    A plurality of token storage units, each corresponding to a different service, each storing a token that is service instance information for the corresponding service;
    An execution order adjustment rule information storage unit that stores execution order adjustment rule information in which execution order adjustment rules for adjusting the execution order of services are defined;
    It is determined whether or not a token is stored for each token storage unit, a service in which the token is stored in the corresponding token storage unit is extracted as an execution candidate service, and the execution order adjustment rule information for each execution candidate service An information processing system comprising: a service execution determination unit that determines either service execution or service execution suspension using an execution order adjustment rule defined in 1.
  2.  前記実行順序調整ルール情報記憶部は、
     実行順序調整ルールがサービスの属性に関連付けて定義されている実行順序調整ルール情報を記憶しており、
     前記サービス実行判定部は、
     実行候補サービスごとに、実行候補サービスの属性と前記実行順序調整ルール情報の実行順序調整ルールとの照合及び他の実行候補サービスの属性と前記実行順序調整ルール情報の実行順序調整ルールとの照合の少なくともいずれかを行い、
     実行候補サービスごとに、サービスの実行及びサービスの実行の保留のいずれかを決定することを特徴とする請求項1に記載の情報処理装置。
    The execution order adjustment rule information storage unit
    Execution order adjustment rule stores execution order adjustment rule information defined in association with service attributes,
    The service execution determination unit
    For each execution candidate service, the verification of the execution candidate service attribute and the execution order adjustment rule of the execution order adjustment rule information, and the verification of the other execution candidate service attribute and the execution order adjustment rule of the execution order adjustment rule information Do at least one,
    The information processing apparatus according to claim 1, wherein for each execution candidate service, one of service execution and service execution suspension is determined.
  3.  前記実行順序調整ルール情報記憶部は、
     優先して実行される優先サービスが示され、前記優先サービスのトークン格納部にトークンが格納されていない場合に、前記優先サービス以外のサービスが実行されるという実行順序調整ルールが定義されている実行順序調整ルール情報を記憶し、
     前記サービス実行判定部は、
     前記優先サービスのトークン格納部にトークンが格納されている場合は、実行候補サービスとして抽出された前記優先サービスの実行を決定し、前記優先サービス以外の実行候補サービスの実行の保留を決定し、
     前記優先サービスのトークン格納部にトークンが格納されていない場合は、前記優先サービス以外の実行候補サービスの実行を決定することを特徴とする請求項1又は2に記載の情報処理システム。
    The execution order adjustment rule information storage unit is
    Execution in which an execution order adjustment rule is defined in which a priority service to be executed is indicated and a service other than the priority service is executed when no token is stored in the token storage unit of the priority service Store order adjustment rule information,
    The service execution determination unit
    When a token is stored in the token storage unit of the priority service, determine execution of the priority service extracted as an execution candidate service, determine suspension of execution of execution candidate services other than the priority service,
    3. The information processing system according to claim 1, wherein when a token is not stored in the token storage unit of the priority service, execution of an execution candidate service other than the priority service is determined.
  4.  各トークン格納部は、
     優先度が設定されているトークンを格納し、
     前記実行順序調整ルール情報記憶部は、
     2つ以上のトークン格納部に格納されている2つ以上のトークンのうち、最も優先度が高いトークンのサービスが実行されるという実行順序調整ルールが定義されている実行順序調整ルール情報を記憶し、
     前記サービス実行判定部は、
     抽出した実行候補サービスごとに、対応するトークン格納部に格納されているトークンの優先度を検査し、
     トークンの優先度が最も高い実行候補サービスの実行を決定し、
     他の実行候補サービスの実行の保留を決定することを特徴とする請求項1~3のいずれかに記載の情報処理システム。
    Each token store is
    Stores tokens with priorities set,
    The execution order adjustment rule information storage unit is
    Stores execution order adjustment rule information in which an execution order adjustment rule that the service of the token having the highest priority is executed among two or more tokens stored in two or more token storage units is stored. ,
    The service execution determination unit
    Check the priority of the token stored in the corresponding token storage unit for each extracted execution candidate service,
    Determine the execution of the execution candidate service with the highest token priority,
    The information processing system according to any one of claims 1 to 3, wherein the suspension of execution of another execution candidate service is determined.
  5.  各トークン格納部は、
     優先度別の格納領域を有し、優先度が設定されているトークンを、対応する優先度の格納領域に格納し、
     前記サービス実行判定部は、
     実行候補サービスごとに、対応するトークン格納部の優先度別の格納領域のうちトークンが格納されている格納領域で最も高い優先度の格納領域を選択し、選択した格納領域の先頭に格納されているトークンを抽出し、
     抽出したトークンに対するサービスの実行又はサービスの実行の保留を決定することを特徴とする請求項1~4のいずれかに記載の情報処理システム。
    Each token store is
    Storing tokens with priority-specific storage areas and priorities set in the corresponding priority storage areas,
    The service execution determination unit
    For each execution candidate service, the storage area with the highest priority is selected from the storage areas by priority of the corresponding token storage unit, and the storage area storing the token is stored at the top of the selected storage area. Extract the tokens
    5. The information processing system according to claim 1, wherein execution of a service for the extracted token or suspension of execution of the service is determined.
  6.  前記情報処理システムは、更に、
     前記サービス実行判定部により実行が決定されたサービスのトークンを受け入れ、受け入れたトークンに対応するサービスを実行するサービス実行部と、
     前記サービス実行部が既に受け入れているトークン数を集計し、前記サービス実行部が更に受け入れ可能なトークン数を算出するトークン数算出部とを有し、
     前記サービス実行判定部は、
     前記実行順序調整ルール情報の実行順序調整ルールと、前記トークン数算出部により算出された、前記サービス実行部が更に受け入れ可能なトークン数とを用いて、実行候補サービスごとに、サービスの実行及びサービスの実行の保留のいずれかを決定することを特徴とする請求項1~5のいずれかに記載の情報処理システム。
    The information processing system further includes:
    A service execution unit that accepts a token of the service determined to be executed by the service execution determination unit, and executes a service corresponding to the received token;
    A token number calculating unit for counting the number of tokens already accepted by the service execution unit and calculating the number of tokens further accepted by the service execution unit;
    The service execution determination unit
    Using the execution order adjustment rule of the execution order adjustment rule information and the token number calculated by the token number calculation unit and further acceptable by the service execution unit, service execution and service for each execution candidate service The information processing system according to any one of claims 1 to 5, wherein one of the suspension of execution of the information is determined.
  7.  各トークン格納部は、
     優先度が設定されているトークンを格納し、
     前記トークン数算出部は、
     前記サービス実行部が既に受け入れているトークン数を優先度別に集計し、前記サービス実行部が更に受け入れ可能なトークン数を優先度別に算出し、
     前記サービス実行判定部は、
     実行候補サービスごとに、対応するトークン格納部から所定の条件に合致するトークンを抽出し、
     実行候補サービスごとに、抽出したトークンの優先度と、前記実行順序調整ルール情報の実行順序調整ルールと、前記トークン数算出部により算出された、前記サービス実行部が更に受け入れ可能な優先度別のトークン数とを用いて、サービスの実行及びサービスの実行の保留のいずれかを決定することを特徴とする請求項6に記載の情報処理システム。
    Each token store is
    Stores tokens with priorities set,
    The token number calculation unit
    The number of tokens already accepted by the service execution unit is aggregated by priority, and the number of tokens further accepted by the service execution unit is calculated by priority,
    The service execution determination unit
    For each execution candidate service, a token that matches a predetermined condition is extracted from the corresponding token storage unit,
    For each execution candidate service, the priority of the extracted token, the execution order adjustment rule of the execution order adjustment rule information, and the priority calculated by the token number calculation unit and further accepted by the service execution unit The information processing system according to claim 6, wherein either the service execution or the service execution suspension is determined using the token number.
  8.  前記情報処理システムは、更に、
     複数のサービスが含まれるサービスフローの開始要求を入力するとともに、前記サービスフローに関連するパラメータを入力する開始要求入力部と、
     開始要求のあったサービスフローに、処理アルゴリズムに複数種のバリエーションがある特例サービスが含まれている場合に、前記開始要求入力部により入力されたパラメータに基づき、前記特例サービスの複数の処理アルゴリズムの中から特定の処理アルゴリズムを選択するアルゴリズム選択部と、
     前記サービス実行部は、
     前記アルゴリズム選択部により選択された処理アルゴリズムに従って前記特例サービスを実行することを特徴とする請求項6又は7に記載の情報処理システム。
    The information processing system further includes:
    A start request input unit for inputting a service flow start request including a plurality of services and inputting parameters related to the service flow;
    In the case where the service flow requested to start includes a special service having a plurality of types of variations in the processing algorithm, based on the parameters input by the start request input unit, the plurality of processing algorithms of the special service An algorithm selection unit for selecting a specific processing algorithm from the inside;
    The service execution unit
    8. The information processing system according to claim 6, wherein the special service is executed according to a processing algorithm selected by the algorithm selection unit.
  9.  前記実行順序調整ルール情報記憶部は、
     複数の実行順序調整ルールが定義されている実行順序調整ルール情報を記憶しており、
     前記情報処理システムは、更に、
     複数のサービスが含まれるサービスフローの開始要求を入力するとともに、前記サービスフローに関連するパラメータを入力する開始要求入力部と、
     開始要求のあったサービスフローに含まれる特定のサービスに対して、前記開始要求入力部により入力されたパラメータに基づき、前記実行順序調整ルール情報に定義されている複数の実行順序調整ルールの中から特定の実行順序調整ルールを選択するルール選択部とを有し、
     前記サービス実行判定部は、
     前記特定のサービスを前記実行候補サービスとして抽出した場合に、前記ルール選択部により選択された実行順序調整ルールを用いて、前記特定のサービスに対して、サービスの実行及びサービスの実行の保留のいずれかを決定することを特徴とする請求項1~8のいずれかに記載の情報処理システム。
    The execution order adjustment rule information storage unit is
    Stores execution order adjustment rule information in which multiple execution order adjustment rules are defined,
    The information processing system further includes:
    A start request input unit for inputting a service flow start request including a plurality of services and inputting parameters related to the service flow;
    Based on the parameters input by the start request input unit for a specific service included in the service flow for which the start request has been made, from among a plurality of execution order adjustment rules defined in the execution order adjustment rule information A rule selection unit for selecting a specific execution order adjustment rule;
    The service execution determination unit
    When the specific service is extracted as the execution candidate service, using the execution order adjustment rule selected by the rule selection unit, either execution of the service or suspension of execution of the service is performed for the specific service. 9. The information processing system according to claim 1, wherein the information processing system is determined.
  10.  複数のサービスの実行を管理する情報処理システムであって、
     それぞれがサービスを実行する、複数のサービス実行部と、
     それぞれが異なるサービス実行部に対応し、それぞれが、サービスのインスタンスの情報であるトークンを格納する、複数のトークン格納部と、
     トークンの移動ルールが定義されている移動ルール情報を記憶する移動ルール情報記憶部と、
     前記移動ルール情報に定義されている移動ルールに基づき、サービス実行部ごとに、対応するトークン格納部に格納されているトークンを、他のサービス実行部のトークン格納部に移動させるか否かを決定し、トークンの移動を決定したサービス実行部のトークン格納部に格納されているトークンを、他のサービス実行部のトークン格納部に移動させるトークン移動部とを有することを特徴とする情報処理システム。
    An information processing system that manages the execution of multiple services,
    A plurality of service execution units each executing a service;
    A plurality of token storage units, each of which corresponds to a different service execution unit, each storing a token which is service instance information;
    A movement rule information storage unit for storing movement rule information in which token movement rules are defined;
    Based on the movement rule defined in the movement rule information, for each service execution unit, decide whether or not to move the token stored in the corresponding token storage unit to the token storage unit of another service execution unit And a token moving unit that moves the token stored in the token storage unit of the service execution unit that has decided to move the token to the token storage unit of another service execution unit.
  11.  前記移動ルール情報記憶部は、
     トークンの移動ルールがサービスの属性に関連付けて定義されている移動ルール情報を記憶しており、
     前記トークン移動部は、
     サービス実行部ごとに、対応するトークン格納部に格納されているトークンが対応しているサービスの属性と前記移動ルール情報の移動ルールとの照合及び他のサービス実行部のトークン格納部に格納されているトークンが対応しているサービスの属性と前記移動ルール情報の移動ルールとの照合の少なくともいずれかを行い、
     サービス実行部ごとに、対応するトークン格納部に格納されているトークンを、他のサービス実行部のトークン格納部に移動させるか否かを決定することを特徴とする請求項10に記載の情報処理装置。
    The movement rule information storage unit
    The token movement rule stores movement rule information defined in association with service attributes,
    The token moving unit is
    For each service execution unit, the token stored in the corresponding token storage unit is matched with the attribute of the service to which the token corresponds and stored in the token storage unit of the other service execution unit. Performing at least one of the matching of the attribute of the service supported by the token and the movement rule of the movement rule information,
    The information processing according to claim 10, wherein for each service execution unit, it is determined whether or not to move a token stored in a corresponding token storage unit to a token storage unit of another service execution unit. apparatus.
  12.  前記移動ルール情報記憶部は、
     優先して実行される優先サービスが示され、対応するトークン格納部に前記優先サービスのトークンが格納されているサービス実行部から、対応するトークン格納部に前記優先サービスのトークンが格納されていない他のサービス実行部に、トークンを移動させるという移動ルールが定義されている移動ルール情報を記憶し、
     前記トークン移動部は、
     対応するトークン格納部に前記優先サービスのトークンが格納されているサービス実行部を移動元サービス実行部として抽出し、対応するトークン格納部に前記優先サービスのトークンが格納されていないサービス実行部を移動先サービス実行部として抽出し、
     前記移動元のサービス実行部のトークン格納部に格納されているいずれかのトークンを、前記移動先のサービス実行部のトークン格納部に移動することを特徴とする請求項10又は11に記載の情報処理システム。
    The movement rule information storage unit
    The priority service to be executed with priority is indicated, and the token of the priority service is not stored in the corresponding token storage unit from the service execution unit in which the token of the priority service is stored in the corresponding token storage unit In the service execution part of, the movement rule information that defines the movement rule that moves the token is stored,
    The token moving unit is
    The service execution unit in which the token of the priority service is stored in the corresponding token storage unit is extracted as the movement source service execution unit, and the service execution unit in which the token of the priority service is not stored in the corresponding token storage unit Extract as the destination service execution part,
    The information according to claim 10 or 11, wherein any token stored in the token storage unit of the source service execution unit is transferred to the token storage unit of the destination service execution unit. Processing system.
  13.  前記トークン移動部は、
     前記移動元のサービス実行部のトークン格納部の最後尾に格納されているトークンを、前記移動先のサービス実行部のトークン格納部に移動することを特徴とする請求項10~12のいずれかに記載の情報処理システム。
    The token moving unit is
    The token stored in the tail end of the token storage unit of the source service execution unit is moved to the token storage unit of the destination service execution unit. The information processing system described.
  14.  各サービス実行部は、
     対応するトークン格納部に格納されているトークンを順次受け入れ、受け入れたトークンに対応するサービスを実行し、
     前記情報処理装置は、更に、
     各サービス実行部が既に受け入れているトークン数を集計し、各サービス実行部が更に受け入れ可能なトークン数を算出するトークン数算出部を有し、
     前記トークン移動部は、
     前記移動ルール情報に定義されている移動ルールと、前記トークン数算出部により算出された、各サービス実行部が更に受け入れ可能なトークン数とを用いて、サービス実行部ごとに、対応するトークン格納部に格納されているトークンを、他のサービス実行部のトークン格納部に移動させるか否かを決定することを特徴とする請求項10~13のいずれかに記載の情報処理システム。
    Each service execution unit
    Sequentially accept tokens stored in the corresponding token store, execute the service corresponding to the received token,
    The information processing apparatus further includes:
    Each service execution unit has a token number calculation unit that totals the number of tokens already accepted and each service execution unit further calculates the number of tokens that can be accepted,
    The token moving unit is
    A token storage unit corresponding to each service execution unit using the movement rule defined in the movement rule information and the number of tokens calculated by the token number calculation unit and further acceptable by each service execution unit. The information processing system according to any one of claims 10 to 13, wherein it is determined whether or not to move the token stored in the token storage unit of another service execution unit.
  15.  各トークン格納部は、
     優先度が設定されたトークンを格納し、
     前記トークン数算出部は、
     各サービス実行部が既に受け入れているトークン数を優先度別に集計し、各サービス実行部が更に受け入れ可能なトークン数を優先度別に算出し、
     前記トークン移動部は、
     前記移動ルール情報に定義されている移動ルールと、前記トークン数算出部により算出された、各サービス実行部が更に受け入れ可能な優先度別のトークン数と、各サービス実行部のトークン格納部に格納されているトークンの優先度とを用いて、サービス実行部ごとに、対応するトークン格納部に格納されているトークンを、他のサービス実行部のトークン格納部に移動させるか否かを決定することを特徴とする請求項14に記載の情報処理システム。
    Each token store is
    Stores tokens with priorities,
    The token number calculation unit
    Aggregate the number of tokens that each service execution unit has already accepted by priority, calculate the number of tokens that each service execution unit can accept further by priority,
    The token moving unit is
    Stored in the transfer rule defined in the transfer rule information, the number of tokens by priority calculated by the token number calculation unit, which can be further accepted by each service execution unit, and the token storage unit of each service execution unit For each service execution unit, it is determined whether to move the token stored in the corresponding token storage unit to the token storage unit of another service execution unit The information processing system according to claim 14.
PCT/JP2012/064956 2012-06-12 2012-06-12 Information processing system WO2013186851A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2012/064956 WO2013186851A1 (en) 2012-06-12 2012-06-12 Information processing system
JP2014520837A JP5955385B2 (en) 2012-06-12 2012-06-12 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/064956 WO2013186851A1 (en) 2012-06-12 2012-06-12 Information processing system

Publications (1)

Publication Number Publication Date
WO2013186851A1 true WO2013186851A1 (en) 2013-12-19

Family

ID=49757715

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/064956 WO2013186851A1 (en) 2012-06-12 2012-06-12 Information processing system

Country Status (2)

Country Link
JP (1) JP5955385B2 (en)
WO (1) WO2013186851A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124118A (en) * 2005-10-26 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> Communication processing circuit and communication processing method
WO2007099613A1 (en) * 2006-02-28 2007-09-07 Fujitsu Limited Command selecting method and device, and command inputting method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4532423B2 (en) * 2006-03-16 2010-08-25 富士通株式会社 Server system
JP4336763B2 (en) * 2006-06-08 2009-09-30 日本電気株式会社 Job management system
JP4812680B2 (en) * 2007-04-11 2011-11-09 三菱電機株式会社 Access control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124118A (en) * 2005-10-26 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> Communication processing circuit and communication processing method
WO2007099613A1 (en) * 2006-02-28 2007-09-07 Fujitsu Limited Command selecting method and device, and command inputting method and device

Also Published As

Publication number Publication date
JPWO2013186851A1 (en) 2016-02-01
JP5955385B2 (en) 2016-07-20

Similar Documents

Publication Publication Date Title
US8479215B2 (en) Decentralized load distribution to reduce power and/or cooling costs in an event-driven system
CN108776934B (en) Distributed data calculation method and device, computer equipment and readable storage medium
US8479216B2 (en) Method for decentralized load distribution in an event-driven system using localized migration between physically connected nodes and load exchange protocol preventing simultaneous migration of plurality of tasks to or from a same node
TWI280511B (en) Method for creating service instances in a computing grid, system thereof, and machine readable storage thereof
CN108322345A (en) A kind of dissemination method and server of fault restoration data packet
CN109995859A (en) A kind of dispatching method, dispatch server and computer readable storage medium
CN110113387A (en) A kind of processing method based on distributed batch processing system, apparatus and system
US20070083642A1 (en) Fully distributed data collection and consumption to maximize the usage of context, resource, and capacity-based client server interactions
JP5038902B2 (en) On-demand message-based financial network integration middleware
US10498817B1 (en) Performance tuning in distributed computing systems
Alkhawaja et al. Message oriented middleware with QoS support for smart grids
WO2021143590A1 (en) Distributed container image construction scheduling system and method
CN105827678B (en) Communication means and node under a kind of framework based on High Availabitity
US20230229487A1 (en) Virtual machine deployment method, virtual machine management method having the same and virtual machine management system implementing the same
JP5520369B2 (en) Computer system, method and program
Liu et al. Siphon: Expediting {Inter-Datacenter} Coflows in {Wide-Area} Data Analytics
Ruz et al. Flexible adaptation loop for component-based soa applications
Zhang et al. A load-aware pluggable cloud framework for real-time video processing
JP5955385B2 (en) Information processing system
Spatharakis et al. Distributed resource autoscaling in kubernetes edge clusters
CN117118982A (en) Message transmission method, device, medium and equipment based on cloud primary multi-cluster
CN108989456B (en) A kind of network implementation approach based on big data
Hou et al. Real-time optimization of dynamic speed scaling for distributed data centers
Li et al. Message Queue Optimization Model Based on Periodic Execution and Category Priority
JP2011238099A (en) Transaction processing device, transaction processing method, and transaction processing program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12878756

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014520837

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12878756

Country of ref document: EP

Kind code of ref document: A1