JP2020198068A - 情報処理システム、及び情報処理システムの制御方法 - Google Patents

情報処理システム、及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP2020198068A
JP2020198068A JP2019165080A JP2019165080A JP2020198068A JP 2020198068 A JP2020198068 A JP 2020198068A JP 2019165080 A JP2019165080 A JP 2019165080A JP 2019165080 A JP2019165080 A JP 2019165080A JP 2020198068 A JP2020198068 A JP 2020198068A
Authority
JP
Japan
Prior art keywords
execution
information
software
execution device
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019165080A
Other languages
English (en)
Other versions
JP7189104B2 (ja
Inventor
侑 中田
Yu NAKADA
侑 中田
宏明 郡浦
Hiroaki Konoura
宏明 郡浦
木下 雅文
Masafumi Kinoshita
雅文 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to US17/275,535 priority Critical patent/US11539788B2/en
Priority to PCT/JP2020/007813 priority patent/WO2020240954A1/ja
Priority to CN202080005057.4A priority patent/CN112673353B/zh
Priority to KR1020217007071A priority patent/KR102523389B1/ko
Priority to BR112021004630-5A priority patent/BR112021004630A2/pt
Publication of JP2020198068A publication Critical patent/JP2020198068A/ja
Priority to PH12021550547A priority patent/PH12021550547A1/en
Application granted granted Critical
Publication of JP7189104B2 publication Critical patent/JP7189104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

【課題】複数の拠点間で連携して行われる処理を実現するソフトウェアを効率よく開発する。【解決手段】情報処理システムは、複数の拠点の夫々に設けられ、APソフトを実行する複数のAP実行装置を含む。AP実行装置の夫々は、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶する。APソフトは、第1の拠点の第1のAP実行装置で実行された処理ブロックの処理を、第2の拠点の第2のAP実行装置に連携する処理を実現する転送処理ブロックを含む。第1のAP実行装置は、APソフトの処理ブロックの順次実行に際して第1の転送処理ブロックに到達すると、第1の転送処理ブロックの識別子を含む、連携開始を通知する連携開始メッセージを第2のAP実行装置に送信し、第2のAP実行装置は、連携開始メッセージを受信すると、第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する。【選択図】図2

Description

本発明は、情報処理システム、及び情報処理システムの制御方法に関する。
特許文献1には、パーソナルコンピュータ、セル電話、スマートフォン、携帯情報端末等の複数のエッジデバイスが、夫々ネットワークを介してクラウドと通信可能に接続されるシステムにおいて、クラウドとエッジデバイス間でリアルタイムに処理を行うアプリケーションが、エッジデバイスやクラウドから収集されるリアルタイムフィードに基づき通知や推奨等のサービスを提供することが記載されている。
特許文献2には、クラウドサービスを利用するエッジ側の装置において、アプリケーションの開発容易性の向上や、アプリケーションから各種のクラウドサービスの柔軟な利用を可能にすることを目的として構成されたクラウド中継装置について記載されている。クラウド中継装置は、クラウドサービス装置と接続可能なクラウド接続処理部と、クラウド接続処理部に対応するユーザインタフェース部と、クラウド接続処理部とユーザインタフェース部との間でデータの中継を行う中継部とを備える。
特表2015−505404号公報 特開2018−92565号公報
低遅延で行うべき処理等をエッジ側で実行し、クラウド側ではエッジ側の処理内容の管理等を行う、いわゆるエッジコンピューティングが注目されている。またエッジコンピューティングのように複数の拠点間で行われる処理を実現するためのソフトウェアを開発する機会が増加している。またクラウドやエッジのアプリケーションが公開するAPI(Application Program Interface)を利用してクラウド側やエッジ側で提供されるアプリケ
ーションの処理を連携させるソフトウェアが注目されている。
こうした複数の拠点間で処理を連携するソフトウェアの開発に際しては、拠点間の通信負荷の軽減やセキュリティの向上、ソフトウェアの開発負荷の軽減等を図ることが求められる。またソフトウェアの開発手法は、従来のデータの管理(SoR:System of Record)を中心とした開発手法から、顧客を中心とした開発手法(SoE:system of Engagement)にシフトしつつあり、ソフトウェアの開発に際しては、ドメイン側(エッジ側)の状況を熟知したシステムの発注側(ドメインエキスパート)の参加が重要になってきている。
特許文献1では、個々のエッジデバイスが個別にクラウドとの間で通信する構成であるため、クラウド及び個々のエッジデバイスの夫々について個別にソフトウェアを構築する必要があり、システム全体の開発負担が大きく、とくにクラウドとの連携処理に習熟していないドメインエキスパートによる開発は困難である。またエッジデバイスごとにクラウドとの間で通信が発生するため、クラウドとエッジデバイスとの間の通信負荷やセキュリティの確保が問題となる。
また特許文献2に記載された構成では、エッジ側のクラウド中継装置の機能を実現する
ソフトウェアを開発する必要があり、各拠点のクラウド中継装置について個別にソフトウェアを開発する必要があるため開発負担が大きく、とくにクラウド中継装置とクラウドとの間の連携処理を実現するソフトウェアの開発はドメインエキスパートには困難である。
本発明はこうした背景に基づきなされたものであり、複数の拠点間で連携して行われる処理を実現するソフトウェアを効率よく開発することが可能な、情報処理システム、及び情報処理システムの制御方法を提供することを目的とする。
上記目的を達成するための本発明の一つは、情報処理システムであって、複数の拠点の夫々に設けられ、アプリケーションの機能を実現するソフトウェアであるAPソフトを実行する情報処理装置である複数のAP実行装置を含み、前記AP実行装置は通信ネットワークを介して互いに通信可能に接続されており、前記AP実行装置の夫々は、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶し、前記APソフトは、第1の前記拠点の第1の前記AP実行装置で実行された前記処理ブロックの処理を、第2の前記拠点の第2の前記AP実行装置に連携するための処理を実現する処理ブロックである転送処理ブロックを含み、前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、当該第1の転送処理ブロックの識別子を含む、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
本発明によれば、複数の拠点間で連携して行われる処理を実現するソフトウェアを効率よく開発することができる。
情報処理システムの概略的な構成を示す図である。 APソフトの生成から実行までの概略的な流れを説明する図である。 APソフトの具体例を示す図である。 情報処理装置の構成例である。 クライアント装置の主な機能を説明する図である。 AP管理装置の主な機能を説明する図である。 クラスタ管理装置の主な機能を説明する図である。 AP実行装置の主な機能を説明する図である。 APプロセスにより実現される主な機能を説明する図である。 APソフト登録シーケンスを説明する図である。 新たなAP実行装置をクラスタに追加する手順を説明するフローチャートである。 AP実行装置情報451の一例である。 AP実行装置情報受付シーケンスを説明する図である。 属性情報変更シーケンスを説明する図である。 属性情報の変更情報の一例である。 属性情報提供シーケンスを説明する図である。 APソフト実行準備シーケンスを説明する図である。 クラスタ内情報共有シーケンス(APプロセス起動時)を説明する図である。 クラスタ内情報共有シーケンス(APプロセス消滅時)を説明する図である。 APソフト実行シーケンスを説明する図である。 APソフトの構成を説明する図である。 転送開始メッセージの一例である。 連携開始メッセージの一例である。 連携終了メッセージの一例である。 第2実施形態のAP管理装置の主な機能を説明する図である。 第2実施形態のクラスタ管理装置の主な機能を説明する図である。 APソフト反映シーケンスを説明する図である。 第3実施形態の情報処理システムの概略的な構成を示す図である。 第3実施形態のAP実行装置の主な機能を説明する図である。 第3実施形態のクラスタ管理装置の主な機能を説明する図である。 クラスタ管理装置が管理するデータリストの一例である。 第3実施形態におけるAPソフトの記述例である。 DB接続情報の一例である。 第3実施形態のAPプロセスにより実現される主な機能を説明する図である。 DB接続確認シーケンスを説明する図である。 第3実施形態のAPソフト実行シーケンスを説明する図である。 第3実施形態の転送開始メッセージの一例である。
以下、実施形態につき図面を参照しつつ説明する。以下の説明において、同一のまたは類似する構成に同一の符号を付して重複した説明を省略することがある。また「アプリケーションソフトウェア」のことを「AP」と表記することがある。また「データベースのことを」のことを「DB」と表記することがある。また以下の説明において、同種の構成を区別する必要がある場合、構成を総称する符号の後に括弧書きで識別子(数字、アルファベット等)を表記することがある。
[第1実施形態]
図1に第1実施形態として説明する情報処理システム1の概略的な構成を示している。同図に示すように、情報処理システム1は、クライアント装置2、AP管理装置3、クラスタ管理装置4、及び複数の拠点8(1)〜(N)の夫々に存在する一つ以上のAP実行装置10を含む。これらの装置は、いずれも情報処理装置(コンピュータ)を用いて構成され、通信ネットワーク5を介して互いに通信可能に接続されている。
通信ネットワーク5は、イーサネット(登録商標)やTCP/IP等の所定の通信プロトコルに従った通信を実現する通信基盤(Network Infrastructure)であり、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線
、公衆通信網等である。
クライアント装置2は、ソフトウェア開発技術者やドメインエキスパート等のユーザに、AP実行装置10で実行されるアプリケーションソフトウェア(以下、「APソフト」と称する。)の編集及び生成環境(以下、「ソフトウェア開発環境」と称する。)を提供する。尚、本実施形態では、一例として、クライアント装置2は、ビジュアルプログラミングツール(以下、「VPツール」と略記する。)を用いたソフトウェア開発環境を提供するものとするが、ソフトウェア開発環境の態様は必ずしも限定されない。
VPツールを用いたソフトウェア開発においては、各種の処理が表現されるノードに、
用途や環境、その他の状況に対応した情報をプロパティ値として設定し、ノード間を線で繋ぐことにより一連の処理をフローとして記述する。ノードは、一般的な手続き型プログラミング言語における関数またはメソッドに相当する。ユーザは、VPツールを用いることで、意図した処理を行うソフトウェアを直感的に開発することができる。VPツールの一例としてNode−REDがある。Node−REDで開発した一連のフローは、JavaScript(登録商標)をベースとしたJSON(JavaScript Object Notation)形式のコードで管理される。また他のVPツールの例として、Apache Nifi等がある。
図1において、AP管理装置3は、クライアント装置2により生成されたAPソフトの管理(記憶)を行う。例えば、APソフトがNode−REDにより生成されたものである場合、AP管理装置3は、APソフトのJSON形式のコードを管理する。APソフトは、コンテナ(APソフトの実行モジュール、実行環境に関する情報、展開方法や操作方法に関する情報等をパッケージ化したもの)としてAP管理装置3に管理されるものであってもよい。コンテナの一例としてDocker(登録商標)によるものがある。AP管理装置3は、APソフトのバージョン管理を行う仕組み(GitHub(登録商標)、GitLab(登録商標)等)を備えていてもよい。
拠点8(1)〜(N)は、例えば、クラウド、センサデータの収集等が行われる現場(工場、各種作業現場、物流倉庫、オフィス、各種設備(エレベータ、自動改札機、各種ゲート、鉄道設備、道路設備、センサ利用の環境計測設備、移動体(自動車、列車、航空機、ドローン、農業機器等)、農場、データセンタ等である。
クラスタ管理装置4は、AP実行装置10における処理の実行制御や監視、複数のAP実行装置10を利用したクラスタサービス(負荷分散、フェールオーバ等)の提供(管理、監視、制御)を行う。本明細書において、クラスタとは、連携してAPソフトの処理を実行することができるAP実行装置10の集合を指す。またクラスタ管理装置4は、一つ以上のクラスタを管理し、例えば、クラスタへのAP実行装置10の登録(参加)や登録解除に関する処理を行う。またクラスタ管理装置4は、AP実行装置10への情報(APソフト、後述するAP実行装置情報等)の配信やAP実行装置10間での情報(クラスタに参加中のAP実行装置10の情報(参加中のAP実行装置10の一覧や後述するAP実行装置情報等))の共有を行う。クラスタ管理装置4は、同一拠点8内のAP実行装置10間だけでなく、拠点8を超えたAP実行装置10間でのクラスタサービスを実現する。
各拠点8(1)〜(N)には一つ以上のAP実行装置10が存在する。各拠点8(1)〜(N)に存在するAP実行装置10は、同じクラスタに属している同一又は異なる拠点8の他のAP実行装置10と連携してAPソフトを実行することができる。
図2は、クライアント装置2により生成されたAPソフトがAP実行装置10に提供(デプロイ)され、各AP実行装置10がAPソフトを実行するまでの概略的な流れを示す図である。
同図に示すように、クライアント装置2により生成されたAPソフト7は、AP管理装置3に登録されるとともに、クラスタ管理装置4に提供(送信)される(S21)。例示するAPソフト7は、順次実行される5つの処理ブロック(「処理A」、「処理B」、「転送処理」、「処理C」、及び「処理D」)を有する。各処理ブロックは、例えば、VPツールにおける1つの処理ブロック、また一般的な手続き型プログラミング言語における関数またはメソッド、に相当する。処理ブロックは、AP実行装置10に既に存在する他のソフトウェア(例えば、API(Application Program Interface)として提供される
ソフトウェア)を呼び出して利用するものであってもよい。「処理A」及び「処理B」は
、拠点8(1)で実行されることが予定された処理ブロックであり、「処理C」及び「処理D」は、拠点8(2)で実行されることが予定された処理ブロックである。
続いて、クラスタ管理装置4は、共通の(同じ)構成を有するAPソフト7を、同じクラスタに属している複数のAP実行装置10にデプロイする(S22)。本例では、クラスタ管理装置4が、拠点8(1)のAP実行装置10(1)と拠点8(2)のAP実行装置10(2)を共通のクラスタに属するAP実行装置10として管理し、拠点8(1)のAP実行装置10(1)と拠点8(2)のAP実行装置10(2)に共通のAPソフト7をデプロイする。
AP実行装置10にデプロイされたAPソフトの処理は、例えば、クラスタ管理装置4が、AP実行装置10(1)の一つにAPソフト7の実行開始命令を送信することにより開始される。本例では、拠点8(1)のAP実行装置10(1)にクラスタ管理装置4から実行開始命令が送信され、AP実行装置10(1)がAPソフトの実行を開始(「処理A」から実行開始)するものとする。
「処理A」が終了すると、AP実行装置10(1)は、続いて「処理B」を実行し、続いて「転送処理」を実行する。「転送処理」は、他のAP実行装置10に処理を連携させる(引継ぐ)処理である。本例では、拠点8(2)のAP実行装置10(2)に処理が連携され、「処理B」の処理結果が、AP実行装置10(2)の「転送処理」に引継がれ、AP実行装置10(2)の「転送処理」は、後続する「処理C」から処理を開始する。
図3にAPソフト7の具体例を示す。例示するAPソフト7は、エッジコンピューティングによる、機械学習モデル(以下、「学習モデル」と称する。)を利用した予兆診断の機能を実現するソフトウェアである。
同図に示すように、クラウドである拠点8(1)のAP実行装置10(1)は、エッジである拠点8(2)のAP実行装置10(2)が予兆診断に際して利用する一つ以上の学習モデル30を管理(記憶)する。
まずAP実行装置10(1)が、エッジである拠点8(2)のAP実行装置10(2)に提供する学習モデルを取得し(S31)、取得した学習モデルを拠点8(2)のAP実行装置10に転送する(S32)。S32の処理は、前述した「転送処理」に相当する。
拠点8(2)のAP実行装置10(2)は、学習モデルを受信して記憶する(S33)。続いてAP実行装置10(2)はセンサデータを取得し(S34)、取得したセンサデータを、記憶している学習モデルに適用して予兆診断を行い(S35)、予兆診断の結果に応じた処理(アラートの出力等)を行う(S36)。
一方、AP実行装置10(2)は、取得したセンサデータを学習データとした機械学習することにより学習モデルを更新し(S37)、更新済の学習モデルを拠点8(1)のAP実行装置10(1)に転送する(S38)。S33及びS38は、前述した「転送処理」に相当する。
クラウドのAP実行装置10(1)は、学習モデルを受信し(S39)、管理(記憶)している学習モデル30を受信した学習モデルの内容に更新する(S40)。S39の処理は前述した「転送処理」に相当する。
以上のように、連携して処理を実行する複数のAP実行装置10の夫々には、共通の(同じ)構成を有するAPソフト7が提供(デプロイ)される。従って、AP実行装置10
毎に異なるAPソフト7を構築する必要がなく、APソフト7は、例えば、クラウドと拠点8間の処理に精通している特定の開発者が構築すればよい。そのため、各拠点8のドメインエキスパートが個別にAPソフト7を構築する必要がなく、複数の拠点8間で連携して処理を実行するソフトウェアを情報処理システム1全体として効率よく開発することができる。
また複数のAP実行装置10のいずれにも共通の(同じ)APソフト7が提供(デプロイ)される。そのため、APソフト7の管理(保守)負担や運用負担が少なくて済む。またAP実行装置10間の通信は、原則として転送処理でのみ発生するので情報処理システム1全体として通信負荷を軽減することができ、また特定の処理ブロック(転送処理)に集中して監視すればよいのでセキュリティの向上を図ることができる。
図4に、以上に説明したクライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10の実現に用いる情報処理装置100のハードウェアの一例を示す。同図に示すように、例示する情報処理装置100は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。
クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、例えば、クラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また例えば、クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、協調して動作する複数の情報処理装置100によって実現されるものであってもよい。また例えば、クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10のうちの2つ以上を共通の情報処理装置100で実現するようにしてもよい。
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を用いて構成されている。主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)(SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM
)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、R
AM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメ
モリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact
Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置13に格納され
ているプログラムやデータは、随時、主記憶装置12に読み込まれる。
入力装置14は、ユーザから情報を受付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。出力装置15は、情報を出力(表示出力、音声出力、印字出力等)することによりユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。通信装置16は、通信ネットワーク5を介して他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。通信装置16は、通信可能に接続する他の装置から情報を受信する入力装置として機能させることもできる。また通信装置16は、通信可能に接続する他の装置に情報を送信する出力装置として機能させることもできる。
クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10の
機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能をさらに備えていてもよい。クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、各種の情報(データ)を、例えば、データベースのテーブルやファイルとして記憶する。
図5にクライアント装置2が備える主な機能を示している。同図に示すように、クライアント装置2は、記憶部205、APソフト編集部210、APソフト転送部220、属性情報取得提示部230、及び処理要求送信部240の各機能を備える。尚、クライアント装置2は、ソフトウェア開発技術者やドメインエキスパート、クラスタの管理者等のユーザによって操作される。
上記機能のうち、記憶部205は、APソフト7及び属性情報252を記憶する。
APソフト編集部210は、VPツールを用いたAPソフト7の開発環境をユーザに提供し、APソフト7の生成を行う。
APソフト転送部220は、APソフト編集部210により生成されたAPソフト7をAP管理装置3及びクラスタ管理装置4に転送する。
属性情報取得提示部230は、後述する属性情報の取得要求をクラスタ管理装置4に送信し、クラスタ管理装置4から送られてくる属性情報を受信してユーザに提示する。属性情報については後述する。
処理要求送信部240は、クラスタ管理装置4に、後述するAPプロセス800の生成指示やAPソフト7の実行開始指示等の処理要求をクラスタ管理装置4に送信する。
図6にAP管理装置3が備える主な機能を示している。同図に示すように、AP管理装置3は、記憶部305、APソフト受信部310、及びAPソフト管理部520を備える。
APソフト受信部310は、クライアント装置2から通信ネットワーク5を介して送られてくるAPソフト7を受信する。APソフト受信部310が受信したAPソフトは記憶部305が記憶する。APソフト管理部520は、APソフト7のバージョン管理を行う。
図7にクラスタ管理装置4が備える主な機能を示している。同図に示すように、クラスタ管理装置4は、記憶部405、処理要求受付部410、及びクラスタ管理部420を備える。
記憶部405は、AP実行装置情報451、クラスタ管理情報452、及びAPソフト7を記憶する。AP実行装置情報451は、AP実行装置10に関する各種の情報を含む。クラスタ管理情報452は、クラスタの構成やクラスタの稼動状況に関する情報を含む。クラスタ管理情報452の内容は、クラスタ管理部420及びプロセス間情報共有部423が管理する。
処理要求受付部410は、クライアント装置2から処理の実行要求(属性情報の提供要求、APソフト7の実行開始要求、APソフト7やAP実行装置情報451の設定(登録/変更/削除)要求等)を受付ける。このようにクラスタ管理装置4は、ユーザからの要求を受付けるユーザインタフェース(ユーザとの接点)としても機能する。
クラスタ管理部420は、AP実行装置情報管理部421、属性情報管理部422、及びプロセス間情報共有部423を含む。
このうちAP実行装置情報管理部421は、クラスタを構成するAP実行装置10に関する情報のうち、AP実行装置10において生成されるプロセス(APソフト7を実行することにより生成されるプロセス。以下、「APプロセス」と称する。)に関する情報を管理する。上記情報は、例えば、APプロセスが動作するAP実行装置10のネットワークアドレス(IPアドレス等)やAPプロセスと通信するためのポート番号等である。
属性情報管理部422は、APプロセスが前述した「転送処理」を行う際に転送先のAP実行装置10を特定するために必要な情報(以下、「属性情報」と称する。)を管理する。属性情報の詳細については後述する。
プロセス間情報共有部423は、AP実行装置10において生成される各APプロセスの間での情報共有に関する処理を行う。プロセス間情報共有部423は、クラスタを構成するAP実行装置10の間や各APプロセスの間で共有すべき情報(APソフト7、後述するAP実行装置情報等)を管理(記憶)し、上記情報について、通信ネットワーク5を介してAP実行装置10及びAPプロセス間での高速(リアルタイム)な共有(配信、通知)を実現する。またプロセス間情報共有部423は、APプロセスから送られてくるクラスタへの参加登録要求を受信してクラスタ管理情報452を更新(上記APプロセスが所定のクラスタに属する内容に更新)する。またプロセス間情報共有部423は、AP実行装置10の後述するAPプロセス800から送られてくる生存通知(ハートビート)を監視することで、APプロセス800が正常に機能しているか否かをリアルタイムに把握する。
プロセス間情報共有部423は、例えば、エッジ側の各拠点8(1)〜(N)に存在する情報処理装置を通信可能に接続して構成される分散処理システムにより実現してもよい。そのようにすることで、クラスタ管理装置4のような特定の情報処理装置への負荷の集中を防ぐとともに、各拠点8(1)〜(N)における処理の高速化を図ることができる。上記分散処理システムは、例えば、Apacheソフトウェア財団(Apache Software Foundation)が提供するZooKeeperを用いて実現することができる。
図8にAP実行装置10が備える主な機能を示している。同図に示すように、AP実行装置10は、記憶部105、センサデータ取得部110、及びプロセス実行管理部120を備える。
センサデータ取得部110は、当該AP実行装置10が存在する拠点8に設けられているセンサ装置等から送られてくるセンサデータを受信する。センサデータ取得部110が受信したセンサデータは、記憶部105がセンサデータ152として記憶する。尚、以下では、このようにAP実行装置10(APプロセス800)が処理対象とするデータがセンサデータである場合を例として説明するが、AP実行装置10(APプロセス800)が処理対象とするデータの種類は必ずしも限定されず、AP実行装置10(APプロセス800)が処理対象とするデータはセンサデータ以外のデータであってもよい。
プロセス実行管理部120は、APプロセス800(Docker(登録商標)コンテナのプロセス等)の管理(APプロセスの生成や消滅、APプロセスの状態監視等)を行う。
図9は、AP実行装置10が生成するAPプロセス800により実現される主な機能を概念的に示したものである。同図に示すように、APプロセス800は、APソフト受信部811、プロセス実行制御部812、及び生存通知送信部813を備える。これらの機能の一部は、AP実行装置10が備えるオペレーティングシステムやプロセス実行管理部120によって実現されるものであってもよい。
APソフト受信部811は、クラスタ管理装置4のプロセス間情報共有部423からAPソフト7を受信する。記憶部105は、APソフト受信部811が受信したAPソフト7を記憶する。これによりAP実行装置10(APプロセス800)にAPソフト7がデプロイされる。
プロセス実行制御部812は、APソフト7の実行環境を提供する。例えば、APソフト7がNode−REDにより生成されたものである場合、プロセス実行制御部812は、APソフト7を実行するためのNode−REDの実行環境を提供する。またプロセス実行制御部812は、APソフト7の実行制御を行う。
プロセス実行制御部812は、APソフト処理実行部8121及びメッセージ転送部8122を有する。このうちAPソフト処理実行部8121は、APソフト7のフロー制御(処理ブロックの順次実行制御)を行う。メッセージ転送部8122は、前述した「転送処理」に際し、APプロセス800間での処理の連携(引継ぎ)に必要な情報(以下、「メッセージ」と称する。)を他のAPプロセス800との間で送信又は受信する。
生存通知送信部813は、プロセス間情報共有部423と生存通知(ハートビート)を随時(例えば定期的に)送受信する。
<処理説明>
続いて、情報処理システム1において行われる各種の処理について順に説明する。
図10は、クライアント装置2からAP管理装置3及びクラスタ管理装置4にAPソフト7が登録(記憶)される際に行われる処理(以下、APソフト登録シーケンスS1000と称する。)を説明するシーケンス図である。
まずクライアント装置2は、AP管理装置3にAPソフト7とAPソフト7の登録要求を送信する(S1011)。AP管理装置3は、クライアント装置2から上記登録要求を受信すると、上記登録要求とともに受信したAPソフト7を管理対象として登録(記憶)する(S1012)。
またクライアント装置2は、クラスタ管理装置4にAPソフト7を送信する。クラスタ管理装置4の処理要求受付部410は、クライアント装置2から送られてきた上記APソフト7を受信する(S1013)。
クラスタ管理装置4の処理要求受付部410は、受信したAPソフト7を自身のプロセス間情報共有部423に送信する(S1014)。プロセス間情報共有部423は、APソフト7を受信して管理対象として登録(記憶)する(S1015)。
尚、別の処理順序として、処理要求受付部410が、APソフト7の受信後に、プロセ
ス間情報共有部423とともにAP管理装置3にAPソフト7を送信し、AP管理装置3がAPソフト7を登録するようにしてもよい。この処理順序の場合、クライアント装置2がAPソフト登録要求を送信する回数を1回に抑えることができる。
図11は、クラスタ管理装置4が管理するクラスタに新たなAP実行装置10を追加する手順を説明するフローチャートである。
まずAP実行装置10の管理者等が、AP実行装置10を通信ネットワーク5に接続する(S1111)。
続いて、クラスタ管理装置4の管理者等が、新たに通信ネットワーク5に接続された上記のAP実行装置10の情報をAP実行装置情報451として登録(記憶)する(S1112)。尚、新たに登録されたAP実行装置情報451は、プロセス間情報共有部423にも通知(共有)され、当該AP実行装置10が属するクラスタの各AP実行装置10に共有される。
図12は、AP実行装置情報451の一例である。例示するAP実行装置情報451は、JSON形式のデータで記述されている。AP実行装置情報451は、通信関連情報、前述した属性情報、及び認証情報を含む。
このうち通信関連情報は、同じクラスタに属するAP実行装置10(APプロセス800)間でAPソフトの処理を連携して行う際、各AP実行装置10(APプロセス800)間で通信を行うために必要な情報(例えば、AP実行装置10のIPアドレス、APプロセス800のポート番号等)である。同図では「0002」行目に記述されている情報が通信関連情報に相当する。
また属性情報は、APプロセスが前述した「転送処理」を行う際に転送先のAP実行装置10を特定するために必要な情報であり、例えば、AP実行装置10が設置されている拠点8やAP実行装置10を管理する組織を特定する情報、AP実行装置10の名称、AP実行装置10の構成(プロセッサやメモリの情報)を示す情報等である。尚、AP実行装置10が仮想マシンを提供する場合、属性情報には仮想マシンに関する情報が含まれる。同図では「0003」〜「0019」行に記述されている情報が属性情報に相当する。
また認証情報は、AP実行装置10のAPプロセス800やAPプロセス800により実現される機能にアクセス(通信、利用等)する際に必要となる情報(ユーザID、パスワード)等である。同図では「0020」〜「0021」行に記述されている情報が認証情報に相当する。
図13は、図11のS1112において、クラスタ管理装置4がクライアント装置2からAP実行装置情報を受付けた際に行う処理(以下、「AP実行装置情報受付シーケンスS1300」と称する。)を説明するシーケンス図である。
まず処理要求受付部410が、クライアント装置2からAP実行装置情報を受信し(S1311)、受信したAP実行装置情報をクラスタ管理部420に送信し、クラスタ管理部420(AP実行装置情報管理部421、プロセス間情報共有部423)がAP実行装置情報を受信する(S1312)。
クラスタ管理部420のAP実行装置情報管理部421は、受信したAP実行装置情報をAP実行装置情報451として記憶する(S1313)。またクラスタ管理部420のプロセス間情報共有部423は、受信したAP実行装置情報451を管理対象として記憶
する(S1314)。
尚、別の処理順序として、AP実行装置情報が登録(S1313)された後に、AP実行装置情報管理部421がAP実行装置情報をプロセス間情報共有部423に送信し(S1312)、プロセス間情報共有部423がAP実行装置情報451を記憶(S1314)するようにしてもよい。
図14は、クラスタ管理装置4が、クライアント装置2から属性情報の変更要求を受付けた際に行う処理(以下、「属性情報変更シーケンスS1400」と称する。)を説明するシーケンス図である。
まず処理要求受付部410が、クライアント装置2から属性情報の変更情報を受信し(S1411)、受信した上記変更情報をクラスタ管理部420に送信し、クラスタ管理部420(AP実行装置情報管理部421、プロセス間情報共有部423)が上記変更情報を受信する(S1412)。尚、上記変更情報の受付けに際し、処理要求受付部410が、上記変更情報の内容を検査(変更情報に不正文字が含まれていないか、変更情報に含まれているAP実行装置10の識別子に重複はないか等を検査)し、属性情報が不正な内容でクラスタ管理装置4に記憶されないようにしてもよい。このように処理要求受付部410が変更情報の内容を検査することでトラブルの発生を未然に防ぐことができる。
続いて、AP実行装置情報管理部421が、受信した上記変更情報をAP実行装置情報451に反映する(S1413)。またプロセス間情報共有部423が、送られてきた上記変更情報を、自身が記憶しているAP実行装置情報に反映する(S1414)。尚、AP実行装置情報451の内容と、プロセス間情報共有部423が記憶しているAP実行装置情報の内容は同期している必要があるため、S1413にて上記変更情報がAP実行装置情報451に反映されたことが確認された後に、プロセス間情報共有部423が記憶しているAP実行装置情報の内容に反映する(S1414)ことが好ましい。
図15は、属性情報の変更情報の一例である。例示する変更情報はJSON形式のデータで記述されている。例示する変更情報は、通信関連情報(「0002」行目)及び属性情報(「0003」〜「0019」行)を含むが、認証情報は含まない。尚、変更情報が通信関連情報を含むのは、当該変更情報の反映の対象となるAP実行装置情報を特定する必要があるためである。
図16は、クラスタ管理装置4がクライアント装置2から属性情報の取得要求を受付けた際に行う処理(以下、「属性情報提供シーケンスS1600」と称する。)を説明するシーケンス図である。尚、ユーザは、例えば、APソフトの編集に際して当該処理により提供される属性情報を参照する。
まず処理要求受付部410が、クライアント装置2から属性情報の取得要求を受付ける(S1611)。上記取得要求は、特定のAP実行装置10の属性情報を指定するものでもよいし、クラスタ管理装置4が管理(記憶)している複数の属性情報を指定するものでもよい。
処理要求受付部410は、上記取得要求を受信すると、クラスタ管理部420の属性情報管理部422に、上記取得要求で指定された属性情報の提供要求を送信する(S1612)。
属性情報管理部422は、上記提供要求を受信すると、当該提供要求で指定された属性情報を処理要求受付部410に送信する(S1613)。
処理要求受付部410は、属性情報管理部422から属性情報を受信すると、受信した属性情報をクライアント装置2に送信する(S1614)。
図17は、クラスタ管理装置4がクライアント装置2からAPプロセス800の生成指示を受信した際に行う処理(以下、「APソフト実行準備シーケンスS1700」と称する。)を説明するシーケンス図である。APソフト実行準備シーケンスS1700は、AP実行装置10がAPソフト7を実行するための準備処理である。
まずクライアント装置2からクラスタ管理装置4の処理要求受付部410にAPプロセス800の生成指示が送信される(S1711)。
処理要求受付部410は、上記生成指示を受信すると、APプロセスの生成指示を、当該生成指示の対象になっているAPプロセス800を連携して実行させる予定の複数のAP実行装置10(同じクラスタに属するAP実行装置10。本例では3つのAP実行装置10(1)〜(3)が同じクラスタに属しているものとする。)に送信する(S1712)。
AP実行装置10のプロセス実行管理部120は、上記生成指示を受信すると(S1713)、APプロセス800を生成する(S1713,S1714)。
起動したAPプロセス800は、プロセス間情報共有部423にAPソフト7の取得要求を送信する(S1715)。プロセス間情報共有部423は、上記取得要求を受信すると、要求されたAPソフト7を要求元のAPプロセス800に送信し、APプロセス800が上記APソフト7を受信して記憶する(S1716)。これによりAP実行装置10(APプロセス800)にAPソフト7がデプロイされる。
続いて、APプロセス800は、プロセス間情報共有部423にクラスタ(APソフト7を連携して処理するAP実行装置10が所属するクラスタ)への参加登録要求を送信する(S1717)。プロセス間情報共有部423は、上記参加登録要求を受信すると、クラスタ管理情報452を更新して当該APプロセス800を上記クラスタに登録する(S1718)。
続いて、APプロセス800は、上記所定のクラスタの情報(当該クラスタに属しているAPプロセス800の情報(一覧情報等)、当該クラスタに属しているAPプロセス800が存在するAP実行装置10の属性情報等)の提供要求をプロセス間情報共有部423に送信する(S1719)。
プロセス間情報共有部423は、上記提供要求を受信すると、該当の情報を記憶部405から取得し、取得した情報をAPプロセス800に送信する(S1720)。
図18は、クラスタに新たなAPプロセス800が参加する際に行われる、当該クラスタに所属するAP実行装置10(本例では3つのAP実行装置10(1)〜(3)が属しているものとする。)間での情報共有に関する処理(以下、「クラスタ内情報共有シーケンス(APプロセス起動時)S1800」と称する。)を説明するシーケンス図である。
あるクラスタ属するAP実行装置10(1)において新たにAPプロセス800(1)が起動すると、前述したようにAPプロセス800(1)が当該クラスタへの参加登録要求を送信する(S1811)。
プロセス間情報共有部423は、上記参加登録要求を受信すると、クラスタ管理情報452を更新して当該APプロセス800(1)を上記クラスタに登録する(S1812)。
続いて、プロセス間情報共有部423は、当該クラスタに属する他のAP実行装置10(2),(3)に、APプロセス800(1)が存在するAP実行装置10(1)のAP実行装置情報(通信情報、属性情報、及び認証情報を含む)を送信し、他のAP実行装置10(2),(3)は、上記AP実行装置情報を受信して記憶する(S1813)。
図19は、APプロセス800が消滅した際に行われる、当該クラスタに所属するAP実行装置10(本例では3つのAP実行装置10(1)〜(3)が属しているものとする。)間での情報共有に関する処理(以下、「クラスタ内情報共有シーケンス(APプロセス消滅時)S1900」と称する。)を説明するシーケンス図である。尚、APプロセス800の消滅理由として、例えば、AP実行装置10や通信ネットワーク5の障害、ユーザの意図的な消滅操作の実施等がある。
プロセス間情報共有部423は、APプロセス800から送られてくる生存通知をリアルタイムに監視している(S1911)。プロセス間情報共有部423は、あるAPプロセス800(1)の生存通知が途絶したことを検知すると(S1912)、クラスタ管理情報452を更新して当該APプロセス800(1)の現在当該APプロセス800(1)が属しているクラスタへの参加を無効化する(S1913)。
続いて、プロセス間情報共有部423は、APプロセス800(1)が上記クラスタから離脱したことを当該クラスタに属する他のAPプロセス800(2),(3)に通知する(S1914)。他のAPプロセス800(2),(3)は、上記通知を受信すると、夫々が記憶している、当該クラスタへの参加状況に関する情報を更新し、APプロセス800(1)の当該クラスタへの参加を無効化する(S1915)。
尚、以上に説明した、APソフト実行準備シーケンスS1700、クラスタ内情報共有シーケンス(APプロセス起動時)S1800、及びクラスタ内情報共有シーケンス(APプロセス消滅時)S1900により、同じクラスタに属するAP実行装置10(APプロセス800)間で、クラスタに関する情報の同期が常時維持される。
図20は、AP実行装置10(APプロセス800)がAPソフト7を実行する際の処理の流れ(以下、「APソフト実行シーケンスS2000」と称する。)を説明するシーケンス図である。尚、本例では、同じクラスタに属する、拠点8(1)のAP実行装置10(1)のAPプロセス800(1)と拠点8(2)のAP実行装置10(2)のAPプロセス800(2)とが連携してAPソフト7を実行するものとする。またAPソフト7は、一例として図21に例示する構成であるものとする。
図20に示すように、まずAPプロセス800(1)のAPソフト処理実行部8121(1)が、クラスタ管理装置4からの実行開始指示を受けてAPソフト7の実行を開始(「処理A」からの順次実行を開始)する(S2011,S2012)。
「処理B」の実行を経て処理が「転送処理a」に到達すると(S2013)、APソフト処理実行部8121(1)は、APプロセス800(1)のメッセージ転送部8122(1)に、APプロセス800(2)に処理を連携(引継ぐ)するために必要な情報を含むメッセージ(以下、「転送開始メッセージ」と称する。)を送信する(S2014)。
図22に転送開始メッセージの一例を示す。同図に示すように、転送開始メッセージは
、宛先となるAP実行装置10を指定する情報(「0002」行目の記述。以下、「宛先装置指定情報」と称する。)、「転送処理a」の識別子(「0003」行目の記述。以下、「処理ブロックID」と称する。)、当該メッセージの種別(種類)を示す情報(「0004」行目の記述。以下、「転送種別」と称する。)、及び、連携先(引継ぎ先)の処理ブロックに渡す情報(「0005」〜「0007」行目の記述。以下、「連携情報」と称する。)を含む。
本例では、宛先装置指定情報として「edge_siteA」が記述されている。これは拠点8(2)に存在するAP実行装置10(2)を宛先として指定すべきことを指定している。また転送種別として「start」が指定されている。これは当該メッセージが転送開始メッセ
ージであることを示している。連携情報は、例えば、APソフト7が図3に例示するものである場合は学習モデル30(パラメータ)である。
図20に戻り、メッセージ転送部8122(1)は、転送開始メッセージを受信すると、当該転送開始メッセージの宛先装置指定情報とAP実行装置情報451及びクラスタ管理情報452とを対照し、宛先装置指定情報で指定される属性を有するAP実行装置10(2)を連携先のAP実行装置10(2)として選出する(S2015)。尚、上記選出に際し、メッセージ転送部8122(1)は、選出したAP実行装置10(2)(APプロセス800(2))の所在を特定する情報(例えば、AP実行装置10のネットワークアドレスと当該AP実行装置10(2)のAPプロセス800(2)のポート番号)を取得する。
続いて、メッセージ転送部8122(1)は、選出したAP実行装置10(2)(APプロセス800(2))に、連携開始を通知するメッセージ(以下、「連携開始メッセージ」と称する。)を送信する(S2016)。
図23に連携開始メッセージの一例を示す。同図に示すように、連携開始メッセージは、送信元のAP実行装置10(1)を示す情報(「0002」行目の記述。以下、「送信元情報」と称する。)、「転送処理a」の識別子(「0003」行目の記述。以下、「処理ブロックID」と称する。)、当該メッセージの種別(種類)を示す情報(「0004」行目の記述。以下、「転送種別」と称する。)、連携先(引継ぎ先)の処理ブロックに渡す情報(「0005」〜「0007」行目の記述。以下、「連携情報」と称する。)を含む。尚、送信元情報は、連携先であるAPプロセス800(2)が再びAPプロセス800(1)に処理を引継ぐ際に必要になる情報である。
図20に戻り、連携先のAP実行装置10(2)のAPプロセス800(2)のメッセージ転送部8122(2)は、連携開始メッセージを受信すると、受信した連携開始メッセージを当該APプロセス800(2)のAPソフト処理実行部8121(2)に通知(送信)する(S2017)。
APソフト処理実行部8121(2)は、連携開始メッセージを受信すると、連携開始メッセージの「連携情報」の内容を入力として「処理C」から処理を開始する(S2018,S2019)。尚、APソフト処理実行部8121(2)は、連携開始メッセージの「処理ブロックID」に「転送処理a」の識別子が設定されていることから、「転送処理a」に後続する「処理C」から処理を開始する。
「処理D」の実行を経て処理が「転送処理b」に到達すると(S2020)、続いてAPソフト処理実行部8121(2)は、APプロセス800(2)のメッセージ転送部8122(2)に、APプロセス800(1)への処理の連携(引継ぐ)を指示するメッセージ(以下、「転送終了メッセージ」と称する。)を通知(送信)する(S2021)。
メッセージ転送部8122(2)は、転送終了メッセージを受信すると、AP実行装置10(1)のAPプロセス800(1)に、連携終了を通知するメッセージ(以下、「連携終了メッセージ」と称する。)を送信する(S2022)。
図24に連携終了メッセージの一例を示す。同図に示すように、連携終了メッセージは、連携開始メッセージの送信元のAP実行装置10(1)を示す情報(「0002」行目の記述。以下、「送信元情報」と称する。)、「転送処理a」の識別子(「0003」行目の記述。以下、「処理ブロックID」と称する。)、当該メッセージの種別(種類)を示す情報(「0004」行目の記述。以下、「転送種別」と称する。)、連携先(引継ぎ先)の処理ブロックに渡す情報(「0005」〜「0007」行目の記述。以下、「連携情報」と称する。)を含む。尚、連携終了メッセージにおける送信元情報は、連携開始メッセージの送信元情報と同じである。また連携情報には、例えば、APソフト7が図3に例示したものである場合、センサデータにより更新された学習モデル30(パラメータ)が設定される。
図20に戻り、APプロセス800(1)のメッセージ転送部8122(1)は、連携終了メッセージを受信すると、受信した連携終了メッセージの内容をAPソフト処理実行部8121(1)に通知(送信)する(S2023)。APソフト処理実行部8121(1)は、上記通知を受けると、連携終了メッセージの内容に基づき次に実行すべき処理ブロックを特定(本例では「処理E」と特定)し、連携終了メッセージの「連携情報」を入力として、特定した処理ブロック(「処理E」)から処理を開始する。尚、APソフト処理実行部8121(1)は、連携終了メッセージの「処理ブロックID」に「転送処理a」の識別子が設定され、「転送種別」に連携終了を意味する「end」が設定されていることから、「転送処理b」に後続する「処理E」から処理を開始する。
以上のように、「転送処理」を介して、各拠点8のAP実行装置10(APプロセス800)間で処理が連携され、各拠点8のAP実行装置10にデプロイされている同じ(共通の)APソフト7により処理が実行される。
以上詳細に説明したように、本実施形態の情報処理システム1においては、連携して処理を実行する複数のAP実行装置10の夫々には、共通の(同じ)構成を有するAPソフト7が提供(デプロイ)されるので、AP実行装置10毎に異なるAPソフト7を構築する必要がなく、複数の拠点8間で連携して処理を実行するソフトウェアを情報処理システム1全体として効率よく開発することができる。またユーザが設定可能なAP実行装置情報451においてAPソフト7を実行させるAP実行装置10を指定することができるため、ユーザはAPソフト7の実行環境を容易かつ柔軟に選択することができる。
また複数のAP実行装置10のいずれにも共通の(同じ)APソフト7が提供(デプロイ)されるので、APソフト7の管理(保守)負担や運用負担が少なくて済む。また情報処理システム1全体として通信負荷を軽減することができ、セキュリティの向上を図ることもできる。
[第2実施形態]
図10に示したように、第1実施形態では、クライアント装置2からクラスタ管理装置4にAPソフトが直接提供されていたが、バージョン管理を含むAPソフトの管理をAP管理装置3で行い、クラスタ管理装置4がAP管理装置3からAPソフトの提供を受けるようにしてもよい。以下、第1実施形態と相違する部分を中心として説明する。
図25は、第2実施形態のAP管理装置3の主な機能を説明する図である。同図に示す
ように、第2実施形態のAP管理装置3は、第1実施形態のAP管理装置3が備える機能に加えて、APソフト提供部530をさらに備える。APソフト提供部530は、クラスタ管理装置4からの要求に応じて、指定されたバージョンのAPソフト7をクライアント装置4に送信する。
図26は、第2実施形態のクラスタ管理装置4の主な機能を説明する図である。同図に示すように、第2実施形態のクラスタ管理装置4は、第1実施形態のクラスタ管理装置4が備える機能に加えて、APソフト取得部430をさらに備える。APソフト取得部430は、AP管理装置3からの所定バージョンのAPソフト7の取得と、取得したAPソフト7のプロセス間情報共有部423への反映を行う。
図27は、第2実施形態のクラスタ管理装置4の処理要求受付部410がクライアント装置2からAPソフトの反映要求を受信した際に行う処理の流れ(以下、「APソフト反映シーケンスS700」と称する。)を説明するシーケンス図である。
第1実施形態と同様、クライアント装置2からAP管理装置3にAPソフト7が送信され(S2711)、AP管理装置3は送られてきたAPソフト7を受信して管理対象として登録(記憶)する(S2712)。
クラスタ管理装置4の処理要求受付部410は、クライアント装置2からAPソフトの反映要求を受信すると(S2713)、受信した反映要求をAPソフト取得部430に通知する(S2714)。
APソフト取得部430は、上記反映要求を受信するとAPソフトの取得要求をAP管理装置3に送信して(S2715)AP管理装置3からAPソフト7を取得し(S2716)、取得したAPソフト7をプロセス間情報共有部423に送信する(S2717)。
プロセス間情報共有部423は、APソフト7を受信し、受信したAPソフト7を管理対象として登録(記憶)する(S1018)。
このようにバージョン管理を含むAPソフトの管理をAP管理装置3が行う構成である場合には、クラスタ管理装置4がAP管理装置3からAPソフトの提供を受けるようにしてもよい。
[第3実施形態]
図21及び図22に示したように、第1実施形態の情報処理システム1では、APソフト7の開発者がAPソフト7の「転送処理a」において宛先装置指定情報を設定することで、当該処理ブロック以降の処理ブロックが、宛先装置指定情報で指定された拠点8で実行される。対して、以下に説明する第3実施形態の情報処理システム1では、APソフト7の開発者が、APソフト7の転送処理ブロックにおいて、当該処理以降の処理に必要なデータ(データのメタ情報)を設定することで、自動的にAPソフト7の転送処理ブロック以降の処理ブロックを実行可能な(当該データを利用可能な)拠点8のAP実行装置10が選択され、選択されたAP実行装置10で転送処理ブロック以降の処理ブロックの処理が実行される。この第3実施形態の情報処理システム1によれば、APソフト7の開発者は、処理ブロックの実行に際して必要なデータがいずれの拠点8に存在するかを把握している必要がなく、当該データを必要とする処理に当該データを指定する情報(以下、「データ指定情報」と称する。)を付加するだけで、当該処理ブロックが当該データを利用可能な拠点8のAP実行装置10で実行されるようにすることができる。第3実施形態の情報処理システム1の基本的な構成は、第1実施形態の情報処理システム1と同様である。以下、第1実施形態と相違する部分を中心として説明する。
図28は、第3実施形態の情報処理システム1の概略的な構成を示す図である。同図に示すように、第3実施形態の情報処理システム1は、第1実施形態の情報処理システム1が備える構成に加えて、各拠点8の夫々に、各拠点8において収集されたデータを管理するデータベース2801を備える。データベース2801は、例えば、DBMSにより実現されるリレーショナルデータベースである。各拠点8のデータベース2801(1)〜(N)は、各拠点8に存在するAP実行装置10(1)〜(N)と通信可能に接続されている。
図29に、第3実施形態のAP実行装置10が備える主な機能を示している。第3実施形態のAP実行装置10は、第1実施形態のAP実行装置10が備える機能に加えて、データ情報管理部130を備える。また第3実施形態のAP実行装置10の記憶部105は、第1実施形態の記憶部105が記憶するデータに加えて、データリスト153とDB接続情報154を記憶する。各拠点8のデータリスト153は、夫々の拠点8のデータベース2801に含まれているデータを指定する情報(前述したデータ指定情報)のリストを含む。DB接続情報154は、データベース2801のデータにアクセスする際に必要となる情報(以下、「DB接続情報」と称する。)を含む。DB接続情報の例として、データベース2801のネットワークアドレス、データベース2801の種類を特定する情報、データベース2801にアクセスするための認証情報等がある。
データ情報管理部130は、データリスト153やDB接続情報154を編集(登録、変更、削除等)するためのユーザインタフェースを提供する。各拠点8のユーザ(データ管理者等)は、データ情報管理部130を介してデータリスト153やDB接続情報154を編集することができる。DB接続情報154は、情報の外部流出防止等の観点から各AP実行装置10において個別に管理され、クラスタ管理装置4には原則として送信されない。データリスト153は、通信ネットワーク5を介してクラスタ管理装置4にも送信される。
図30に、第3実施形態のクラスタ管理装置4が備える主な機能を示している。第3実施形態のクラスタ管理装置4の記憶部405は、第1実施形態のクラスタ管理装置4の記憶部405が記憶するデータに加えて、データリスト453を記憶する。データリスト453は、各拠点8のAP実行装置10から送られてくるデータリスト153を統合したデータであり、プロセス間情報共有部423によって管理される。尚、後述するように、データリスト453に登録されている各データにAP実行装置10が実際にアクセス可能か否かはAPソフト7のAP実行装置10へのデプロイ時等に確認(検証)される。APソフト7の開発者は、クライアント装置2の処理要求受付部410を介してデータリスト453を参照することができる。これによりAPソフト7の開発者は、APソフト7の開発に際し、データリスト453を確認しつつ、APソフト7にデータ指定情報を記述することができる。
図31にデータリスト453の一例を示す。例示するデータリスト453は、AP実行装置ID4531、データ名4532、及び説明4533の各項目(カラム)を有する一つ以上のレコードを含む。AP実行装置ID4531には、AP実行装置10の識別子(以下、「AP実行装置ID」と称する。)が設定される。データ名4532には、データ指定情報(本例ではデータ名)が設定される。説明4533には、当該データを説明する情報(APソフト7の開発者等の人が参照する情報)が設定される。尚、データリスト453に、さらに各データのフォーマットやサンプルデータが設定される項目(カラム)を設けてもよい。また例示するデータリスト453は、リレーショナルデータベース形式のフォーマットで記述したものであるが、データリスト453のフォーマットは必ずしも限定されない。
図32に第3実施形態におけるAPソフト7の記述例を示す。例示するAPソフト7はPython言語の構文に従って記述されている。尚、APソフト7を記述する言語は必ずしも限定されない。第1実施形態の図21に示したAPソフト7の一つの処理ブロックは、図32に例示したAPソフト7に記述されている一つの関数に対応している。図32に例示したAPソフト7には5つの関数が記述されている。このうちmain関数(3223〜3226行)が最初に実行され、他の4つの関数はmain関数から順次呼び出されて実行される。同図に示すように、本例では、anomaly_factor関数(3206〜3212行)にのみ、「@」記号を用いて記述されるデコレータが付加されている。このデコレータは、Anomaly_factor関数が、「pic.line-a.jp」というデータ名(データ指定情報)に対応す
るデータが管理されている拠点8において実行されることを示している。尚、3206行目には、同時に複数のデータ名(データ指定情報)を記述することができる。
3209行目の「db_connector.get(data[0])」は、データベース2801のデータに
アクセスする関数である。当該関数が実行されることでデータベース2801からデータの値が取得される。3211行目では、3209行目で取得した値を用いた処理が行われる。尚、上記関数は、データベース2801の種類(以下、「DB種別」と称する。)に依存しない汎用的な記述形式で記述される。これによりAPソフト7の開発者は、DB種別を意識することなく効率よくAPソフト7を開発することができる。
図33にDB接続情報154の一例を示す。DB接続情報154には、AP実行装置10がデータベース2801にアクセスするために必要な情報(DB接続情報)が管理される。例示するDB接続情報154は、データ名1541、DB種別1542、接続先1543、認証情報1544等の各項目を含む一つ以上のレコードで構成される。
データ名1541には、前述したデータ指定情報が設定される。DB種別1542には、当該データが格納されているデータベース2801のDB種別を示す情報が設定される。接続先1543には、データベース2801にアクセスする際に用いられる接続情報(IPアドレス、ポート番号等)が設定される。認証情報1544には、データベース2801にアクセスする際に必要となる認証情報(ユーザID、パスワード等)が設定される。
尚、APソフト7の開発者は、APソフト7の開発に際し、APソフト7に図32の3209行目に記述されているデータ取得関数(db_connector.get)のような汎用的な関数を記述するだけでよく、AP実行装置10からデータベース2801へのアクセスは、AP実行装置10が、拠点8側で管理されているDB接続情報154を参照することにより行われる。このため、APソフト7の開発者は、APソフト7を効率よく開発することができる。尚、APソフト7にデータベース2801に管理されているデータの編集(登録、更新、削除等)を行う処理を記述する場合についても、例示したデータ取得関数と同様に汎用的な関数を記述できるようにすることで、APソフト7の開発効率の向上を図ることができる。
図34に、第3実施形態のAPプロセス800により実現される主な機能を示している。同図に示すように、第3実施形態のAPプロセス800は、第1実施形態のAPプロセス800が備える機能に加えて、DB接続確認実行部8123をさらに備える。DB接続確認実行部8123は、APソフト7がAP実行装置10にデプロイされた際等の適宜なタイミングで、自身を含むAPプロセス800が存在する拠点8に、APソフト7に記述されているデータ指定情報に対応するデータが利用可能か否かを確認する処理(以下、DB接続確認シーケンスS3500と称する。)を行う。
図35は、DB接続確認シーケンスS3500の一例を説明するシーケンス図である。同図に示すように、図17のAPソフト実行準備シーケンスS1700にてAPプロセス800にAPソフト7がデプロイ投入されると(S1716)、DB接続確認実行部8123は、記憶部105に格納されているAPソフト7を参照し(S3501〜S3502)、APソフト7に記述されているデータ指定情報を読み取る(S3503)。またDB接続確認実行部8123は、読み取ったデータ指定情報に対応するデータのDB接続情報154を記憶部105から取得する(S3504〜S3505)。
続いて、DB接続確認実行部8123は、取得したDB接続情報154を用いてデータベース2801にアクセスし、データベース2801にアクセス可能か否かを確認(例えば、pingコマンドがデータベース2801に到達するか否かを確認)する(S3506〜3507)。
続いて、DB接続確認実行部8123は、アクセス先のデータベース2801のデータ指定情報に対応するデータを利用可能か否かを確認(実際に当該データの値を取得できるか否か)する(S3508〜3509)。データ指定情報に対応するデータが利用可能である場合、DB接続確認実行部8123は、自身を含むAPプロセス800において当該データが利用可能であること(即ち、当該データを利用する処理(例えば、図32の3206〜3212行に記述されている処理)を実行可能であること。)を、プロセス間情報共有部423に通知する(S3510)。一方、データ指定情報に対応するデータが利用可能でない場合、DB接続確認実行部8123は、自身を含むAPプロセス800において当該データを利用できないこと(即ち、当該データを利用する処理を実行できないこと。)をプロセス間情報共有部423に通知する(S3510)。
プロセス間情報共有部423は、以上の通知を受信することによりデータリスト453を更新し、更新後のデータリスト453の内容を各AP実行装置10やクラスタ管理装置4に提供する。これにより、APプロセス800のメッセージ転送部8122は、自身を含むAPプロセス800以外の他のAPプロセス800(AP実行装置10)のうち、いずれの拠点8のAPプロセス800(AP実行装置10)がいずれのデータを利用可能であるかを知ることができる。
ところで、以上では、APソフト7がデプロイされた(S1716)ことを契機としてAP実行装置10がデータベース2801のデータを実際に利用可能か否かを確認する場合を例示したが、上記確認は、例えば、データベース2801の内容が更新(データの登録、編集、削除)された場合やデータベース2801が存在しなくなった場合に行ってもよい。
図36は、第3実施形態のAPソフト実行シーケンスS2000を説明するシーケンス図である。第3実施形態のAPソフト実行シーケンスS2000は、第1実施形態のAPソフト実行シーケンスS2000と、S2014で送信される転送開始メッセージの内容及びS2015の処理の内容が異なる。
同図に示すように、APソフト7に記述されている処理の実行が開始され、拠点8のデータを用いる処理(例えば、図32の3206〜3212行目の処理)に到達すると(S3601)、第1実施形態と同様、APソフト処理実行部8121(1)からメッセージ転送部8122(1)に転送開始メッセージが送信される(S3602)。但し、第1実施形態と異なり、送信される転送開始メッセージには、転送先の拠点3の属性情報ではなく、以降の処理ブロックの実行に際して利用されるデータを指定するデータ指定情報(データ名等)が記述されている。
続いて、メッセージ転送部8122(1)は、データ指定情報に対応するデータを利用可能なAP実行装置10を選出する(S3603)。この処理は、前述の通り、メッセージ転送部8122(1)が、プロセス間情報共有部423から提供されるデータリスト453を参照することにより行われる。その後のAPソフト実行シーケンスS2000の各処理は第1実施形態と同様である。
図37は、図26のS3602で送信される転送開始メッセージの一例である。第1実施形態と異なり、例示する転送開始メッセージには、拠点8の属性情報を示す情報ではなく、以降の処理ブロックで利用されるデータのデータ指定情報(データ名)が記述されている(3702〜3704行)。尚、複数のデータを用いる処理にも対応できるように、転送開始メッセージには、リスト形式で複数のデータ指定情報を記述することも可能である。
以上に説明したように、第3実施形態の情報処理システム1によれば、連携に際してAPソフト7に記述されているデータ指定情報(データ名等)を利用可能なAP実行装置10が自動的に選択され、選択されたAP実行装置10に連携開始メッセージが送信される。そのため、開発者はいずれの拠点8のAP実行装置10が連携可能か否かを把握しておく必要がなく、効率よくAPソフト7を開発することができ、とくに多数の拠点8が広範囲に存在する場合には多大な効果が期待される。またAPソフト7の開発者は、各拠点8におけるDB接続情報を管理する必要がないため拠点8毎の環境を常時把握している必要がなく、APソフト7の開発や保守のためのAPソフト7の開発者の情報の管理負荷が軽減される。
以上、本発明の一実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、IC
カード、SDカード、DVD等の記録媒体に置くことができる。
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
1 情報処理システム、2 クライアント装置、205 記憶部、210 APソフト編集部、220 APソフト転送部、230 属性情報取得提示部、240 処理要求送信部、252 属性情報、3 AP管理装置、305 記憶部、310 APソフト受信部、320 APソフト管理部、4 クラスタ管理装置、405 記憶部、410 処理要求受付部、420 クラスタ管理部、421 AP実行装置情報管理部、422 属性情報管理部、423 プロセス間情報共有部、451 AP実行装置情報、452 クラスタ管理情報、5 通信ネットワーク、7 APソフト、8 拠点、10 AP実行装置、105 記憶部、110 センサデータ取得部、120 プロセス実行管理部、152 センサデータ、800 プロセス、811 APソフト受信部、812 プロセス実行制御部、8121 APソフト処理実行部、8122 メッセージ転送部、813 生存通知送信部、153 データリスト、154 DB接続情報、8123 DB接続確認実行部

Claims (20)

  1. 複数の拠点の夫々に設けられ、アプリケーションの機能を実現するソフトウェアであるAPソフトを実行する情報処理装置である複数のAP実行装置を含み、
    前記AP実行装置は通信ネットワークを介して互いに通信可能に接続されており、
    前記AP実行装置の夫々は、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶し、
    前記APソフトは、第1の前記拠点の第1の前記AP実行装置で実行された前記処理ブロックの処理を、第2の前記拠点の第2の前記AP実行装置に連携するための処理を実現する処理ブロックである転送処理ブロックを含み、
    前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、
    前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
    情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記連携開始メッセージは、前記第1の転送処理ブロックの直前の処理ブロックまでの実行結果を含み、
    前記第2のAP実行装置は、前記実行結果を前記第1の転送処理ブロックに後続する処理ブロックに入力する、
    情報処理システム。
  3. 請求項1に記載の情報処理システムであって、
    前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、当該第1の転送処理ブロックの識別子を含む、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、
    前記第2のAP実行装置は、前記第1の転送処理ブロックに後続する処理ブロックの順次実行に際して第2の前記転送処理ブロックに到達すると、前記第1の転送処理ブロックの識別子を含む、連携終了を通知するメッセージである連携終了メッセージを前記第1のAP実行装置に送信し、
    前記第1のAP実行装置は、前記連携開始メッセージを受信すると、前記第2の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
    情報処理システム。
  4. 請求項3に記載の情報処理システムであって、
    前記連携終了メッセージは、前記第2の転送処理ブロックの直前の処理ブロックまでの実行結果を含み、
    前記第1のAP実行装置は、前記実行結果を前記第2の転送処理ブロックに後続する処理ブロックに入力する、
    情報処理システム。
  5. 請求項1に記載の情報処理システムであって、
    複数の前記AP実行装置は、同じ前記APソフトを連携して実行するクラスタを構成し、
    前記複数のAP実行装置の夫々と通信可能に接続する情報処理装置であるクラスタ管理装置を備え、
    前記クラスタ管理装置は、前記クラスタの夫々に属する前記AP実行装置を示す情報で
    あるAP実行装置情報を記憶し、前記複数のAP実行装置の夫々に前記AP実行装置情報を送信する、
    情報処理システム。
  6. 請求項5に記載の情報処理システムであって、
    前記AP実行装置情報は、前記AP実行装置の前記通信ネットワークにおける所在を示す情報である通信情報と、前記APソフトに記述される、前記AP実行装置の所在を特定する情報である属性情報と、を対応づけた情報を含む、
    情報処理システム。
  7. 請求項6に記載の情報処理システムであって、
    前記APソフトは、連携先となる前記第2のAP実行装置を指定する前記属性情報の記述を含み、前記AP実行装置は、前記記述と前記AP実行装置情報とを対照することにより連携先の前記AP実行装置の前記通信ネットワークにおける所在を特定する、
    情報処理システム。
  8. 請求項6に記載の情報処理システムであって、
    前記クラスタ管理装置は、ユーザが操作する情報処理装置であるクライアント装置と通信可能に接続し、前記クライアント装置を介してユーザから前記AP実行装置情報の設定を受付ける、
    情報処理システム。
  9. 請求項8に記載の情報処理システムであって、
    前記クラスタ管理装置は、ユーザから受付けた前記AP実行装置情報の内容の誤りを検査する、
    情報処理システム。
  10. 請求項8に記載の情報処理システムであって、
    前記クラスタ管理装置は、記憶している前記AP実行装置情報を前記クライアント装置に送信する、
    情報処理システム。
  11. 請求項6に記載の情報処理システムであって、
    前記クラスタ管理装置は、新たな前記AP実行装置の前記クラスタへの参加登録を受付け、受付けた前記AP実行装置の前記AP実行装置情報を前記クラスタに属する他の前記AP実行装置に送信する、
    情報処理システム。
  12. 請求項11に記載の情報処理システムであって、
    前記クラスタ管理装置は、ある前記クラスタに属する前記AP実行装置において生成される前記APソフトを実行するプロセスであるAPプロセスの生存確認を前記通信ネットワークを介して行い、一の前記AP実行装置の前記APプロセスの生存が確認できなくなると、当該AP実行装置を当該クラスタから離脱させるとともに、当該AP実行装置が前記クラスタから離脱した旨を他の前記AP実行装置に通知する、
    情報処理システム。
  13. 請求項6に記載の情報処理システムであって、
    前記クラスタ管理装置は、
    ユーザが操作する情報処理装置であるクライアント装置と通信可能に接続し、
    前記クライアント装置から前記APソフトを受信して記憶し、
    前記AP実行装置から送られてくる前記APソフトの取得要求に応じて前記APソフトを前記AP実行装置に送信する、
    情報処理システム。
  14. 請求項13に記載の情報処理システムであって、
    前記クラスタ管理装置は、前記APソフトのバージョン管理を行う情報処理装置であるAP管理装置と通信可能に接続し、前記APソフトを前記AP管理装置から取得して記憶する、
    情報処理システム。
  15. 請求項1に記載の情報処理システムであって、
    前記複数のAP実行装置の夫々において利用可能なデータを示す情報であるデータリストを管理し、
    前記第1のAP実行装置は、
    前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、前記データリストに基づき、当該第1の転送処理ブロックに記述されている、前記第2の拠点におけるデータを指定する情報であるデータ指定情報に対応するデータを利用可能な前記AP実行装置を前記第2のAP実行装置として選出し、
    連携開始を通知するメッセージである連携開始メッセージを、選出した前記第2のAP実行装置に送信し、
    前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
    情報処理システム。
  16. 請求項15に記載の情報処理システムであって、
    前記AP実行装置の夫々は、前記APソフトの実行時に利用するデータを管理するデータベースと通信可能に接続し、
    前記AP実行装置が、前記データベースにアクセスすることにより、自身にデプロイされた前記APソフトに記述されている前記データ指定情報に対応するデータを取得可能か否かを検証し、
    取得可能な場合に前記データを前記データリストに管理する、
    情報処理システム。
  17. 請求項16に記載の情報処理システムであって、
    前記AP実行装置の夫々と通信可能に接続され、前記データリストを分散処理方式で更新管理する複数の情報処理装置を含む、
    情報処理システム。
  18. 請求項16に記載の情報処理システムであって、
    前記AP実行装置の夫々は、夫々が前記データベースに接続するために必要な情報であるDB接続情報を個別に管理する、
    情報処理システム。
  19. 複数の拠点の夫々に設けられ、アプリケーションの機能を実現するソフトウェアであるAPソフトを実行する情報処理装置である複数のAP実行装置を含み、前記AP実行装置は通信ネットワークを介して互いに通信可能に接続されて構成される情報処理システムの制御方法であって、
    前記AP実行装置の夫々が、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶し、
    前記APソフトは、第1の前記拠点の第1の前記AP実行装置で実行された前記処理ブ
    ロックの処理を、第2の前記拠点の第2の前記AP実行装置に連携するための処理を実現する処理ブロックである転送処理ブロックを含み、
    前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、
    前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
    情報処理システムの制御方法。
  20. 請求項19に記載の情報処理システムの制御方法であって、
    前記複数のAP実行装置の夫々において利用可能なデータを示す情報であるデータリストを管理し、
    前記第1のAP実行装置が、
    前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、前記データリストに基づき、当該第1の転送処理ブロックに記述されている、前記第2の拠点におけるデータを指定する情報であるデータ指定情報に対応するデータを利用可能な前記AP実行装置を前記第2のAP実行装置として選出し、
    連携開始を通知するメッセージである連携開始メッセージを、選出した前記第2のAP実行装置に送信し、
    前記第2のAP実行装置が、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
    情報処理システムの制御方法。
JP2019165080A 2019-05-28 2019-09-11 情報処理システム、及び情報処理システムの制御方法 Active JP7189104B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US17/275,535 US11539788B2 (en) 2019-05-28 2020-02-26 Information processing system and method of controlling information processing system
PCT/JP2020/007813 WO2020240954A1 (ja) 2019-05-28 2020-02-26 情報処理システム、及び情報処理システムの制御方法
CN202080005057.4A CN112673353B (zh) 2019-05-28 2020-02-26 信息处理系统及信息处理系统的控制方法
KR1020217007071A KR102523389B1 (ko) 2019-05-28 2020-02-26 정보 처리 시스템, 및 정보 처리 시스템의 제어 방법
BR112021004630-5A BR112021004630A2 (pt) 2019-05-28 2020-02-26 sistema de processamento de informação, e, método de controle de um sistema de processamento de informação
PH12021550547A PH12021550547A1 (en) 2019-05-28 2021-03-11 Information processing system and method of controlling information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019099564 2019-05-28
JP2019099564 2019-05-28

Publications (2)

Publication Number Publication Date
JP2020198068A true JP2020198068A (ja) 2020-12-10
JP7189104B2 JP7189104B2 (ja) 2022-12-13

Family

ID=73648014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019165080A Active JP7189104B2 (ja) 2019-05-28 2019-09-11 情報処理システム、及び情報処理システムの制御方法

Country Status (4)

Country Link
JP (1) JP7189104B2 (ja)
KR (1) KR102523389B1 (ja)
CN (1) CN112673353B (ja)
BR (1) BR112021004630A2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109800A (ja) * 2012-11-30 2014-06-12 Fujitsu Ltd 分散処理方法、情報処理装置、及びプログラム
JP2014167685A (ja) * 2013-02-28 2014-09-11 Kddi Corp データ処理システム、データ処理方法およびプログラム
JP2014241119A (ja) * 2013-06-12 2014-12-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システム、および情報処理方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3860385B2 (ja) * 2000-03-23 2006-12-20 日本電信電話株式会社 動的連携情報引継ぎ方法,連携プロセス制御装置およびそのプログラム記録媒体
JP3780880B2 (ja) * 2001-07-05 2006-05-31 ソニー株式会社 通信システム、サーバ装置、クライアント装置、連携処理提供方法、連携処理方法、プログラムおよび記録媒体
JP4383757B2 (ja) * 2003-02-28 2009-12-16 日本電信電話株式会社 アプリケーションプロセス管理方法、分散サーバシステム及びアプリケーションプロセス管理プログラム
JP4663525B2 (ja) * 2006-01-06 2011-04-06 株式会社日立製作所 情報処理方法、情報処理装置、及びプログラム
JP2008250928A (ja) * 2007-03-30 2008-10-16 Nec Corp 機器連携管理システム、連携管理方法、および連携管理プログラム
JP2010219630A (ja) * 2009-03-13 2010-09-30 Canon Inc ワークフロー実行システム、ワークフロー実行方法、及びプログラム
CN102770852B (zh) * 2010-02-18 2015-07-29 株式会社日立制作所 信息通信处理系统、方法和网络节点
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US9332061B2 (en) * 2011-11-25 2016-05-03 Panasonic Intellectual Property Corporation Of America Master device, integrated service management system, and integrated service management method
US9098344B2 (en) 2011-12-27 2015-08-04 Microsoft Technology Licensing, Llc Cloud-edge topologies
JP5626233B2 (ja) * 2012-02-15 2014-11-19 コニカミノルタ株式会社 情報処理システム、携帯情報端末およびプログラム
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
US9639544B1 (en) * 2013-10-28 2017-05-02 Pivotal Software, Inc. Table data persistence
JP2016015580A (ja) * 2014-07-01 2016-01-28 株式会社リコー 連携処理システム、及び連携処理方法
WO2016174739A1 (ja) * 2015-04-28 2016-11-03 株式会社日立製作所 複合計算機システム、管理計算機、およびデータ連携管理方法
JP6665423B2 (ja) * 2015-05-14 2020-03-13 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム
US9684544B1 (en) * 2016-02-05 2017-06-20 Sas Institute Inc. Distributed data set storage and analysis reproducibility
WO2017163447A1 (ja) * 2016-03-22 2017-09-28 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
US10148498B1 (en) * 2016-03-30 2018-12-04 EMC IP Holding Company LLC Provisioning storage in a multi-site cloud computing environment
US11310113B2 (en) * 2016-05-27 2022-04-19 Intel Corporation Methods, systems and apparatus to improve cluster efficiency
JP6826865B2 (ja) * 2016-11-07 2021-02-10 日本放送協会 端末装置及びプログラム
JP6235108B1 (ja) * 2016-11-29 2017-11-22 株式会社 ヴァル研究所 情報処理装置、アプリ連携方法およびコンピュータプログラム
JP6901290B2 (ja) 2016-12-01 2021-07-14 エヌ・ティ・ティ・コミュニケーションズ株式会社 クラウド中継装置、クラウド接続処理方法、及びプログラム
JP6861058B2 (ja) * 2017-03-14 2021-04-21 日本放送協会 端末装置及びプログラム
JP6845477B2 (ja) * 2017-10-25 2021-03-17 株式会社 ヴァル研究所 情報処理装置およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109800A (ja) * 2012-11-30 2014-06-12 Fujitsu Ltd 分散処理方法、情報処理装置、及びプログラム
JP2014167685A (ja) * 2013-02-28 2014-09-11 Kddi Corp データ処理システム、データ処理方法およびプログラム
JP2014241119A (ja) * 2013-06-12 2014-12-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システム、および情報処理方法

Also Published As

Publication number Publication date
CN112673353B (zh) 2024-07-05
JP7189104B2 (ja) 2022-12-13
KR20210041056A (ko) 2021-04-14
BR112021004630A2 (pt) 2021-05-25
KR102523389B1 (ko) 2023-04-20
CN112673353A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN106790595B (zh) 一种Docker容器主动负载均衡装置及方法
US8584081B2 (en) Server side application integration framework
CN112069265B (zh) 配置数据的同步方法、业务数据系统、计算机系统和介质
JP2013152666A (ja) 管理システム、画像形成装置、管理システムの制御方法、画像形成装置の制御方法、プログラム
CN106685706A (zh) 一种基于Zookeeper的配置更新方法及系统
KR20220052654A (ko) 메시지 전송 버스를 이용한 고가용성 배전 지능화 시스템 및 지능화 클러스터 시스템
Schwan et al. Autoflow: Autonomic information flows for critical information systems
US8321575B2 (en) Relay server and relay communication system
CN105468643B (zh) 分布式文件系统的访问方法和系统
CN103399776B (zh) 可重用mock创建方法及系统
WO2020240954A1 (ja) 情報処理システム、及び情報処理システムの制御方法
JP2008090578A (ja) アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
JP7189104B2 (ja) 情報処理システム、及び情報処理システムの制御方法
CN112351106A (zh) 一种含事件网格的服务网格平台及其通信方法
CN113472638B (zh) 边缘网关控制方法及系统、装置、电子设备、存储介质
CN115695537A (zh) 实现服务网格适配传统微服务注册中心的方法、系统和装置
JPH09330243A (ja) 計算機システム
JP5247750B2 (ja) プログラムコンポーネントコンテナ装置
JP2019207546A (ja) 情報処理システム、情報処理装置、および情報処理システムの制御方法
US20240070304A1 (en) Methods and systems for model management
Alikhujaev Microservices In IoT-based Remote Patient Monitoring Systems: Redesign of a Monolith
WO2023116276A1 (zh) 故障处理方法、装置、电子设备及存储介质
JPH08161186A (ja) タスク間通信方式
CN117632491A (zh) 一种gpu集群管理系统
CN117472365A (zh) 数据处理方法、终端设备以及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221201

R150 Certificate of patent or registration of utility model

Ref document number: 7189104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150