Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6299374B2 - 処理連携方法,処理連携プログラム及び処理連携システム - Google Patents
[go: Go Back, main page]

JP6299374B2 - 処理連携方法,処理連携プログラム及び処理連携システム - Google Patents

処理連携方法,処理連携プログラム及び処理連携システム Download PDF

Info

Publication number
JP6299374B2
JP6299374B2 JP2014087240A JP2014087240A JP6299374B2 JP 6299374 B2 JP6299374 B2 JP 6299374B2 JP 2014087240 A JP2014087240 A JP 2014087240A JP 2014087240 A JP2014087240 A JP 2014087240A JP 6299374 B2 JP6299374 B2 JP 6299374B2
Authority
JP
Japan
Prior art keywords
processing
processing unit
result
unit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014087240A
Other languages
English (en)
Other versions
JP2015207148A (ja
Inventor
信貴 今村
信貴 今村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014087240A priority Critical patent/JP6299374B2/ja
Priority to US14/668,537 priority patent/US9436519B2/en
Publication of JP2015207148A publication Critical patent/JP2015207148A/ja
Application granted granted Critical
Publication of JP6299374B2 publication Critical patent/JP6299374B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は,処理連携方法,処理連携プログラム及び処理連携システム関する。
例えば,業務システム(顧客管理システム等)では,複数の処理を連携させて実行することにより,要求(入力データ)に対する結果(出力データ)を出力する機能を有するものがある。このような業務システムにおいて,各処理は,例えば,前の処理が実行した処理結果を受信したときに処理を実行する。そして,各処理は,予め定められた次の処理に自処理の処理結果を送信する。これにより,各処理は,連携しながら処理を実行することが可能になる(例えば,特許文献1参照)。
特開平10−105420号公報
上記のような業務システムで行われる処理において,同じ入力データに対して同じ処理結果を出力する処理が存在する場合がある。このような場合,各処理は,入力データと出力データの組合せを記憶しておくことにより,新たに受信した入力データが過去に記憶した入力データと一致する場合には,処理を行うことなく受信した入力データに対応する出力データを次の処理に送信する。これによって,例えば,業務システム全体における処理時間を短縮させることが可能になる。
しかしながら,業務システムで行われる各処理が,複数の物理マシンに分散している場合がある。そして,例えば,上記の業務システムがビッグデータのように膨大なデータの処理を行うシステムである場合には,複数の物理マシン間における通信に要する時間が膨大なものになる。そのため,各処理において入力データと出力データの組合せの記憶を行っても,業務システム全体における処理時間を短縮することが困難である場合がある。
そこで,一つの実施の形態の目的は,複数の物理マシンに分散した処理を連携させるために必要な時間を短縮する処理連携方法,処理連携プログラム及び処理連携システムを提供することにある。
実施の形態の一つの側面によれば,第1の処理部が第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信する第1の工程と,
前記第2の処理部が前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信する第2の工程と,
前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶する第3の工程と,
前記第3の工程の後に実行された前記第1の処理の結果である第1の処理結果が前記第1の記憶部に記憶されている場合に,前記第1の処理部が,前記第1の記憶部に記憶されている前記第1の処理結果と関連付けて記憶された前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した第3の処理部に前記第2の処理結果を送信する第4の工程と,を有する。
一つの側面によれば,複数の物理マシンに分散した処理を連携させるために必要な時間を短縮する。
情報処理システムの全体構成を示す図である。 物理マシンのハードウエア構成を示す図である。 図2で示した物理マシンの機能ブロック図である。 複数の処理部が連携して処理実行をする場合を説明する図である。 複数の処理部が連携して処理実行をする場合を説明する図である。 第1の実施の形態における実行管理処理の概略を説明するシーケンスチャート図である。 第1の実施の形態における実行管理処理の概略を説明する図である。 第1の実施の形態における実行管理処理の概略を説明する図である。 第1の実施の形態における実行管理処理の概略を説明する図である。 第1の実施の形態における実行管理処理の概略を説明する図である。 第1の実施の形態における実行管理処理の概略を説明する図である。 第1の実施の形態における実行管理処理の詳細を説明するフローチャート図である。 第1の実施の形態における実行管理処理の詳細を説明するフローチャート図である。 第1の実施の形態における実行管理処理の詳細を説明するフローチャート図である。 第1の実施の形態における実行管理処理におけるスキップ無効指示を説明する図である。 第1の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。 第1の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。 第1の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。 第1の実施の形態における実行管理処理の具体例を説明する図である。 第2の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。 第2の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。 第2の実施の形態における実行管理処理を説明する図である。 第2の実施の形態における実行管理処理を説明する図である。 第2の実施の形態における処理情報を説明する図である。 第2の実施の形態における処理情報を説明する図である。 第2の実施の形態における処理情報を説明する図である。 第2の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。 第2の実施の形態における処理情報を説明する図である。 第2の実施の形態における実行管理処理におけるスキップ無効指示を説明するシーケンスチャート図である。 第2の実施の形態における処理情報を説明する図である。 第3の実施の形態における実行管理処理を説明する図である。 第3の実施の形態における実行管理処理を説明する図である。
[情報処理システムの構成]
図1は,情報処理システムの全体構成を示す図である。図1に示す情報処理システム10(以下,処理連携システム10とも呼ぶ)において,物理マシン1A,物理マシン1B及び物理マシン1Cは,インターネットやイントラネット等のネットワークを介して互いにアクセス可能になっている。また,クライアント端末2は,ネットワークを介して,物理マシン1A,物理マシン1B及び物理マシン1Cとアクセス可能になっている。各物理マシンは,例えば,データセンターに配備されているものであってよい。図1の例においては,3つの物理マシンからなる場合について説明するが,2台以下または4台以上の物理マシンからなる構成であってもよい。
各物理マシンは,例えば,クライアント端末2から処理要求データ(以下,データまたは入力データとも呼ぶ)を受信した場合に,これに基づいて処理を行う。そして,処理を行った物理マシンは,処理要求データを送信したクライアント端末2に対して処理結果を送信する。このクライアント端末2は,例えば,ユーザ(以下,契約者とも呼ぶ)に対してサービスを提供する事業者が物理マシンに処理を実行させるために使用するものであってよい。また,直接ユーザが物理マシンに処理を実行させるために使用するものであってよい。
各物理マシンが行う処理は,例えば,物理マシンに常駐しているクエリによって実行されるクエリ処理である。このクエリ処理は,例えば,入力データを受信する毎に継続的に処理を実行して処理結果を出力するComplex Event Processing(以下,CEPとも呼ぶ)であってよい。この場合における入力データは,クライアント端末2から入力されたデータのみでなく,例えば,契約者が所有する携帯電話,契約者の住宅に設置された人感センサ,気象衛星等によって継続的に取得されるものであってもよい。そして,各物理マシンでは,これらの入力データに基づいて処理を行うことにより,自宅の状況(不審者の有無)や自宅近辺の天気等の契約者に有益な情報を,適切なタイミングで契約者に知らせることが可能になる。
図2は,物理マシンのハードウエア構成を示す図である。図2に示す物理マシン1Aは,プロセッサであるCPU(プロセッサ)101Aと,メモリ102Aと,記憶媒体103Aと,外部インターフェース104A(I/Oユニット104A)と,を有する。各部は,バス106Aを介して互いに接続される。記憶媒体103Aは,例えば,記憶媒体103A内のプログラム格納領域(図示しない)に,各処理の実行を管理する処理(以下,実行管理処理とも呼ぶ)を行うためのプログラム110Aを記憶する。CPU101Aは,図2に示すように,プログラム110Aの実行時に,プログラム110Aを記憶媒体103Aからメモリ102Aにロードし,プログラム110Aを実行して実行管理処理を行う。また,記憶媒体103Aは,例えば,実行管理処理を行う際に用いられる情報を記憶する情報格納領域120A(以下,第1の記憶部120Aとも呼ぶ)を有する。
また,図2に示す物理マシン1Bは,物理マシン1Aと同様に,CPU(プロセッサ)101Bと,メモリ102Bと,記憶媒体103Bと,外部インターフェース104B(I/Oユニット104B)と,を有する。各部は,バス106Bを介して互いに接続される。記憶媒体103Bは,プログラム110Bを記憶する。CPU101Bは,図2に示すように,プログラム110Bの実行時に,プログラム110Bを記憶媒体103Bからメモリ102Bにロードし,プログラム110Bを実行して実行管理処理を行う。また,記憶媒体103Bは,例えば,情報格納領域120B(以下,第2の記憶部120Bとも呼ぶ)を有する。
さらに,図2に示す物理マシン1Cは,物理マシン1Aと同様に,CPU(プロセッサ)101Cと,メモリ102Cと,記憶媒体103Cと,外部インターフェース104C(I/Oユニット104C)と,を有する。各部は,バス106Cを介して互いに接続される。記憶媒体103Cは,プログラム110Cを記憶する。CPU101Cは,図2に示すように,プログラム110Cの実行時に,プログラム110Cを記憶媒体103Cからメモリ102Cにロードし,プログラム110Cを実行して実行管理処理を行う。また,記憶媒体103Cは,例えば,情報格納領域120C(以下,第3の記憶部120Cとも呼ぶ)を有する。
図3は,図2で示した物理マシンの機能ブロック図である。図3においては,物理マシン1Aの機能ブロック図を示している。なお,物理マシン1B及び物理マシン1Cの機能ブロック図は,物理マシン1Aと同一であるため省略する。CPU101Aは,プログラム110Aを実行することにより,例えば,処理部111A(以下,第1の処理部111Aとも呼ぶ)と,データ受信部112Aと,データ送信部113Aと,送信回数記憶部114Aと,処理情報記憶部115Aと,突合せ情報記憶部116Aと,処理情報消去部117Aとして動作する。また,情報格納領域120Aには,例えば,突合せ情報121Aと,処理情報122Aと,スキップ可否情報123Aと,処理接続情報124Aとが記憶されている。
また,CPU101Bは,プログラム110Bを実行することにより,例えば,処理部111B(以下,第2の処理部111Bとも呼ぶ)と,データ受信部112Bと,データ送信部113Bと,送信回数記憶部114Bと,処理情報記憶部115Bと,突合せ情報記憶部116Bと,処理情報消去部117Bとして動作する。また,情報格納領域120Bには,例えば,突合せ情報121Bと,処理情報122Bと,スキップ可否情報123Bと,処理接続情報124Bとが記憶されている。
さらに,CPU101Cは,プログラム110Cを実行することにより,例えば,処理部111C(以下,第3の処理部111Cとも呼ぶ)と,データ受信部112Cと,データ送信部113Cと,送信回数記憶部114Cと,処理情報記憶部115Cと,突合せ情報記憶部116Cと,処理情報消去部117Cとして動作する。また,情報格納領域120Cには,例えば,突合せ情報121Cと,処理情報122Cと,スキップ可否情報123Cと,処理接続情報124Cとが記憶されている。
図4及び図5は,複数の処理部が連携して処理実行をする場合を説明する図である。以下,図4及び図5に示すように,初めに、入力データに基づいて処理部111Aが第1の処理を行い,第1の処理の実行結果である第1の処理結果に基づいて処理部111Bが第2の処理を行い,さらに,第2の処理の実行結果である第2の処理結果に基づいて処理部111Cが第3の処理を行う処理連携システム10について説明する。また,以下,物理マシン1Aの機能について説明を行い,物理マシン1B及び物理マシン1Cの機能については説明を省略する。なお,図4及び図5の例における処理部111Aは,例えば,事業者や契約者が入力したデータに基づいて第1の処理を行い,処理部111Cは,第3の処理を実行した処理結果を出力データとして事業者や契約者に返す。
図4に示すように,処理部111Aは,例えば,契約者からの入力データに基づいて第1の処理を実行する。そして,処理部111Aは,例えば,後述する処理情報記憶部115によって,第1の処理を実行した結果である第1の処理結果を情報格納領域120Aに記憶する。さらに,処理部111Aは,例えば,各処理部が処理結果を送信すべき情報を記憶した処理接続情報124Aを参照して,第1の処理結果を第2の処理部111Bに送信する。なお,処理部111Aは,例えば,後述するデータ送信部113Aによって処理結果等のデータの送信を行う。
次に,処理部111Bは,例えば,処理部111Aから第1の処理結果に基づいて第2の処理を実行する。そして,処理部111Bは,例えば,第2の処理を実行した結果である第2の処理結果を情報格納領域120Bに記憶し,第2の処理結果を第3の処理部111Cに送信する。さらに,処理部111Bは,例えば,処理部111Bが第2の処理結果を送信した処理部111Cの識別子と,第2の処理結果とを処理部111Aに送信する。具体的に,処理部111Bは,例えば,自処理が入力データによって出力データが一意に定まる処理(以下,スキップ可能な処理とも呼ぶ)であるか否かの情報を記憶するスキップ可否情報123Aを参照する。そして,処理部111Bは,自処理がスキップ可能である場合に,処理部111Cの識別子と第2の処理結果を処理部111Aに送信するものであってよい。処理部のスキップについては後述する。
次に,処理部111Bから識別子と第2の処理結果とを受信した処理部111Aは,例えば,後述する処理情報記憶部115によって,受信した識別子と第2の処理結果とを第1の処理結果と関連付けて記憶する。そして,その後処理部111Aにおいて実行された第1の処理の処理結果が,過去に処理部111Aが記憶した第1の処理結果と一致する場合,その第1の処理結果と関連付けて記憶されている第2の処理結果と識別子とを抽出する。さらに,処理部111Aは,抽出した識別子によって識別される処理部111Cに,抽出した第2の処理結果を送信する。
データ受信部112Aは,例えば,他の処理部によって実行された処理結果や契約者等が入力したデータを受信し,処理部111Aに引き渡す。
データ送信部113Aは,例えば,処理部111Aによる第1の処理の処理結果を他の処理部に送信する。また,データ送信部113Aは,例えば,送信回数記憶部114Aにおいて記憶された送信回数を他の処理部に送信する。
送信回数記憶部114Aは,例えば,図4において,処理部111Aが処理部111Bに処理結果を送信せずに,処理部111Bよりも後に実行される処理部111Cに処理結果を送信した場合に,その回数を記憶する。
処理情報記憶部115Aは,例えば,処理部111Aからの指示に基づいて,処理部111Aによって実行された第1の処理による第1の処理結果や他の処理部から受信した処理結果等を処理情報122Aとして記憶する。
突合せ情報記憶部116Aは,例えば,処理部111Aにおいて第1の処理を行う際に用いられる突合せ情報123Aを記憶する。突合せ情報123Aについては後述する。また,処理情報消去部117Aは,例えば,情報格納領域120Aに記憶されている処理情報122Aを消去する。
[各処理が複数物理マシンで機能する場合の具体例]
図5は,処理部111A,処理部111B,処理部111Cがそれぞれ異なる物理マシンである物理マシン1A,物理マシン1B,物理マシン1Cにおいて機能する場合の図である。図5の例における処理連携システム10は,それぞれの処理を実行する毎に,物理マシン間の通信を行う必要がある。そのため,例えば,処理連携システム10がビッグデータのように膨大なデータの処理を行うシステムである場合,処理を行うために必要な通信量及び通信時間が膨大なものになる。
そこで,本実施の形態では,処理部111Aにおける第1の処理結果に関連して,第1の処理結果に基づいて実行された処理部111Bにおける第2処理結果と,第2の処理結果に基づいて実行される処理部111Cの識別子とを記憶する。そして,その後実行された処理部111Aにおける処理結果と,記憶されている第1の処理結果とが一致する場合,処理部111Aは,第1の処理結果と関連付けて記憶されている第2の処理結果を処理部111Cに送信し,処理量を抑制する。
[第1の実施の形態]
最初に第1の実施の形態について説明する。図6は,第1の実施の形態における実行管理処理の概略を説明するシーケンスチャート図である。また,図7から図11は,第1の実施の形態における実行管理処理の概略を説明する図である。図7から図11を参照しながら,図6の実行管理処理を説明する。
[図7の処理連携システムの構成]
初めに,図7の例における処理連携システム10の構成について説明する。図7における処理連携システム10は,契約者の自宅における人の在不在情報を取得するものである。すなわち,処理連携システム10は,契約者の外出時(自宅に誰もいない状況)において契約者の自宅に人の存在を検出した場合,例えば,不審者が契約者の自宅に侵入している可能性があると判断するものである。そして,この場合,処理連携システム10は,例えば,契約している警備会社に連絡を行う。
図7において,処理連携システム10は,振分処理部111A(処理部111A)と,契約突合せ処理部111B(処理部111B)と,人感検出処理部111C(処理部111C)とを有する。振分処理部111Aは,例えば,入力データの内容に基づいて,入力データを処理すべき後続処理に振分ける処理である。振分処理部111Aは,例えば,処理連携システム10の負荷分散の観点から,入力データの契約者IDに基づいて後続処理を決定するものであってよい。また,契約突合せ処理部111Bは,例えば,振分処理部111Aにおける処理結果及び契約情報121Aに基づいて処理を行い,その処理結果を処理すべき後続処理に送信する。また,人感検出処理部111Cは,例えば,契約突合せ処理部111Bにおける処理結果及び在不在情報121Bに基づいて処理を行い,その処理結果を処理すべき後続処理に送信する。なお,図7の例においては,振分処理部111Aの後続処理は契約突合せ処理部111Bのみであり,契約突合せ処理部111Bの後続処理は人感検出処理部111Cのみであるものとして説明を行う。
また,図8は,契約情報121A及び在不在情報121Bの内容を説明する図である。図8(A)に示すように,契約情報121Aが有する項目は,例えば,契約者IDと,センサIDと,センサ名とからなる。図8(A)の例においては,契約者IDが「123」である契約者は,センサIDが「3」である「室温センサ」と,センサIDが「12」である「人感センサ」について契約をしていることを示している。また,契約者IDが「124」である契約者は,センサIDが「3」である「室温センサ」と,センサIDが「17」である「湿度センサ」について契約をしていることを示している。さらに,契約者IDが「125」である契約者は,センサIDが「3」である「室温センサ」について契約をしていることを示している。そして,図8(B)の例において,在不在情報121Bは,契約者IDが「123」である契約者は「不在」であり,契約者IDが「124」及び「125」である契約者は「在(在宅)」であることを示している。なお,契約情報121Aに記憶されているセンサID及びセンサ名は,例えば,契約者による契約時に,処理連携システム10の突合せ情報記憶部116Aが契約情報121Aに記憶するものであってよい。また,在不在情報121Bの在不在状況は,例えば,処理連携システム10の突合せ情報記憶部116Aが契約者の携帯電話から契約者の位置情報を取得し,契約者の在不在を判断して在不在情報121Bを記憶(更新)するものであってよい。
[処理連携システムにおける従来の処理の流れ]
次に,図7の処理連携システム10における従来の処理の流れについて説明する。図7の例において,初めに,振分処理部111Aは,契約者IDが「123」であり,センサIDが「12」であり,在宅情報が「不在」である入力データを受信する。そして,振分処理部111Aは,例えば,入力データの契約者IDを確認し,契約者IDが「123」である契約者のデータを処理すべき契約突合せ処理部111Bに,処理結果を送信する。なお,図7の例において,振分処理部111Aは,受信した入力データを処理結果(出力データ)としてそのまま契約突合せ処理部111Bに送信している。
そして,振分処理部111Aの処理結果(出力データ)を受信した契約突合せ処理部111Bは,図7の例においては,受信したデータのセンサIDと契約情報121Aとの突合せを行う。具体的に,受信したデータにおけるセンサIDは「12」である。さらに,契約情報121Aにおいて,契約者IDが「123」である契約者はセンサIDが「12」である「人感センサ」について契約している。そのため,契約突合せ処理部111Bは,人感検出処理部111Cに処理結果を送信する。具体的に,例えば,契約突合せ処理部111Bは,契約者IDが「123」であり,在宅情報が「不在」である情報からなる処理結果を人感検出処理部111Cに送信する。なお,契約突合せ処理部111Bが受信したセンサIDの情報が契約情報121Aにない場合,契約突合せ処理部111Bは,入力データが不正であると判断するものであってよい。この場合,契約突合せ処理部111Bは,例えば,入力データを入力した事業者や契約者にエラーを返すものであってもよい。
さらに,契約突合せ処理部111Bの処理結果を受信した人感検出処理部111Cは,例えば,受信したデータの在宅情報と在不在情報121Bとの突合せを行う。具体的に,受信したデータにおける在宅情報は「不在」である。さらに,在不在情報121Bにおいて,契約者IDが「123」である契約者は在不在状況が「不在」である。そのため,人感検出処理部111は,入力データを入力した事業者または契約者に対し,例えば,「異常なし」の情報を含む処理結果(出力データ)を送信する。
なお,図7の例において,例えば,処理連携システム10は,事業者や契約者によって入力データが入力されたときに処理を実行し,その処理結果を事業者や契約者に送信するものであってよい。また,図7の例において,例えば,処理連携システム10は,予め定められた内容の入力データを自動で入力し,その処理結果を定期的に契約者に送信するものであってもよい。
[図6のS1からS6]
次に,図7の処理連携システム10を参照しながら,図6の実行管理処理(本実施の形態における実行管理処理)の概要を説明する。なお,図6の例において,契約突合せ処理部111B(処理部111B)における処理は,契約情報121Aに記憶されている内容に変更がない限り,契約突合せ処理部111Bへの入力データによって契約突合せ処理部111Bからの出力データが一意に定まる(契約突合せ処理部111Bがスキップ可能である)ものとする。
初めに,振分処理部111A(処理部111A)は,図9に示すように,入力データに基づいて処理を実行し,その処理結果(第1の処理結果)を処理情報122Aとして情報格納領域120Aに記憶する(S1)。そして,振分処理部111Aは,振分処理部111Aの処理結果を契約突合せ処理部111Bに送信する(S2)。
次に,契約突合せ処理部111Bは,図10に示すように,振分処理部111Aの処理結果に基づいて処理を実行し,その処理結果(第2の処理結果)を処理情報122Bとして情報格納領域120Bに記憶する(S3)。そして,契約突合せ処理部111Bは,契約突合せ処理部111Bの処理結果を人感検出処理部111C(処理部111C)に送信する(S4)。さらに,契約突合せ処理部111Bは,契約突合せ処理部111Bが処理結果を送信した処理部である人感検出処理部111Cを認識する識別子及び契約突合せ処理部111Bの処理結果(以下,スキップ判断情報とも呼ぶ)を振分処理部111Aに送信する(S5)。そして,契約突合せ処理部111Bから識別子と契約突合せ処理部111Bの処理結果を受信した振分処理部111Aは,受信した識別子及び処理結果と,振分処理部111Aが情報格納領域120Aに記憶した自処理の処理結果とを関連付けて情報格納領域120Aに記憶する(S6)。また,人感検出処理部111Cは,図10に示すように,契約突合せ処理部111Bの処理結果に基づいて処理を実行する。そして,図10の例においては,その処理結果(第3の処理結果)を出力データとして,入力データを入力した契約者等に送信する。
すなわち,振分処理部111Aが自処理の処理結果を記憶しておくことにより,契約突合せ処理部111Bの処理結果及び人感検出処理部111Cを認識する識別子を受信したときに,振分処理部111Aの処理結果と,受信した情報を関連付けて記憶することができる。
なお,S2またはS4等において,各処理部は,自処理部において実行された処理結果とともに,自処理部を識別するための識別子を次の処理部に送信するものであってもよい。
[図6のS7,S8]
上記のS6の後,振分処理部111Aが新たに受信した入力データに基づいて処理を実行した場合,振分処理部111Aは,図11に示すように,その処理結果が情報格納領域120Aに記憶されている処理情報122Aに含まれる処理結果とが一致するか否かの確認を行う(S7)。そして,一致する処理結果が記憶されていた場合,振分処理部111Aは,記憶されていた処理結果と関連付けて記憶されている識別子が識別する処理部(図6の例においては人感検出処理部111C)に,同じく関連付けて記憶されている処理部の処理結果(図6の例においては契約突合せ処理部111B)の送信を行う(S8)。
すなわち,図6の例において,契約突合せ処理部111Bにおける処理は,入力データによって出力データが一意に定まるため,振分処理部111Aの処理結果が定まったときに,契約突合せ処理部111Bにおける処理の出力データも一意に定まることになる。そして,図6の例において,振分処理部111Aは,契約突合せ処理部111Bの入力データ,出力データ(処理結果),出力データの送信先(識別子)の情報を関連付けて記憶している。そのため,振分処理部111Aは,契約突合せ処理部111Bの出力データの送信先である人感検出処理部111Cに,契約突合せ処理部111Bの出力データを送信することにより,処理連携システム10において処理したデータの整合性を保ちつつ,契約突合せ処理部111Bにおける処理を省略(スキップ)することが可能になる。
このように,第1の実施の形態によれば,処理部111Aは,処理部111Aが自処理である第1の処理を実行した結果である第1の処理結果を,第1の記憶部120Aに記憶するとともに,処理部111Bに送信する。次に,処理部111Bは,処理部111Bが処理部111Aから受信した第1の処理結果に基づいて処理部111Bの第2の処理を実行した結果である第2の処理結果を,第2の記憶部120Bに記憶するとともに処理部111Cに送信する。そして,処理部111Bは,第2の処理結果と処理部111Cを識別する識別子とを処理部111Aに送信する。そして,処理部111Aは,処理部111Aが処理部111Bから受信した第2の処理結果と処理部111Cを識別する識別子とを,第1の処理結果に関連付けて第1の記憶部120Aに記憶する。さらに,その後に実行された第1の処理の処理結果が第1の記憶部120Aに記憶されている処理結果と一致する場合に,処理部111Aは,第1の処理結果と関連付けて記憶されている第2の処理結果と識別子を抽出し,抽出した識別子によって識別した処理部111Cに第2の処理結果を送信する。これにより,出力データを取得するために必要な処理を省略することが可能になる。そのため,各処理部が複数の物理マシンに分かれて機能する場合において,出力データを取得するために要する物理マシン間の通信を減少させることが可能になる。
[各処理部における処理がスキップ可能であるか否かの判断方法]
事業者(処理連携システム10の開発者)は,例えば,各処理部の機能を実現するプログラムの性質に基づいて,その処理部がスキップ可能であるか否かを定める。具体的に,例えば,事業者は,各処理部を実現するプログラムの開発時(例えば,コンパイラ時)において,そのプログラム内部の動作を解析する。そして,プログラムによって実現される機能が入力データに基づいて出力データが一意に定まるものであると判断した場合に,事業者は,その処理部における処理がスキップ可能であるとして,予めスキップ可否情報123Aに記憶するものであってよい。また,事業者は,処理連携システム10の稼動開始後における運用状況を基づき,入力データによって出力データが一意に定まる処理を抽出し,これに基づいてスキップ可能である処理部を決定(変更)するものであってもよい。
さらに,事業者は,例えば,サービスへの影響が発生しない場合に,同じ入力データから同じ出力データが出力される可能性が極めて高い処理(入力データによって出力データが一意に定まらない処理)を,スキップ可能な処理部であると判断するものであってもよい。また,事業者は,例えば,入力データ等を受信する受信部としても機能する処理部のように,他の機能の役割も担う処理部については,それぞれの機能を実現するプログラムの性質によらずスキップが可能でない処理部であると判断するものであってよい。
[第1の実施の形態の詳細]
次に,第1の実施の形態の詳細について説明する。図12から図14は,第1の実施の形態における実行管理処理の詳細を説明するフローチャート図である。また,図15は,第1の実施の形態における実行管理処理におけるスキップ無効指示を説明する図である。図9から図11及び図15を参照しながら,図12から図14の実行管理処理の詳細を説明する。
[前の処理部から記憶していない処理結果を受信した場合の処理(1)]
初めに,スキップが可能ではない処理部が前に実行された処理部の処理結果を受信した場合の処理について説明を行う。具体的に,図9の例において,振分処理部111Aが入力データ(情報格納領域120Aに記憶されていない入力データ)を受信した場合について説明を行う。なお,以下,振分処理部111Aがスキップ可能な処理部であり,契約突合せ処理部111Bと人感検出処理部111Cがスキップ可能ではない処理部であるものとし,これらの情報はスキップ可否情報123Aに予め記憶されているものとする。
初めに,契約者等によって入力された入力データをデータ受信部112Aが受信した場合(S11のYES,S12のNO,S14のNO,S15のNO),振分処理部111Aは,例えば,入力データに基づいて自処理(第1の処理)を実行する(S16)。次に,振分処理部111Aは,例えば,情報格納領域120Aの処理情報122Aを確認し,新たな処理結果と一致する情報(過去の処理結果)が記憶されているか否かを確認する(S17)。そして,新たな処理結果と一致する処理結果が記憶されていない場合(S17のYES),処理情報記憶部115Aは,例えば,振分処理部111Aからの指示に基づいて,情報格納領域120Aにその新たな処理結果を処理情報122Aとして記憶する(S21)。さらに,データ送信部113Aは,例えば,振分処理部111Aからの指示に基づいて,振分処理部111Aの処理結果を次(直後)の処理部に送信する(S22)。なお,データ送信部113Aは,例えば,処理接続情報124Aを参照することにより,振分処理部111Aの送信先を判断するものであってよい。
次に,振分処理部111Aは,例えば,スキップ可否情報123Aを参照し,自処理部がスキップ可能な処理部であるか否かを確認する(S23)。図10の例における振分処理部111Aは,スキップ可能でない処理部であるため,データ受信部112Aが次の入力データを受信するまで待機する。(S23のNO,S11)。
[前の処理部から記憶していない処理結果を受信した場合の処理(2)]
次に,スキップが可能である処理部が前に実行された処理部の処理結果を受信した場合の処理について説明を行う。具体的に,図9の例において,契約突合せ処理部111Bが入力データ(振分処理部111Aの処理結果)を受信した場合について説明を行う。
初めに,契約突合せ処理部111Bが入力データ(振分処理部111Aの処理結果)を受信した場合(S11のYES,S12のNO,S14のNO,S15のNO),契約突合せ処理部111Bは,例えば,受信した入力データに基づいて自処理を実行する(S16)。次に,契約突合せ処理部111Bは,例えば,情報格納領域120Bの処理情報122Bを確認し,新たな処理結果と一致する情報(過去の処理結果)が記憶されているか否かを確認する(S17)。そして,新たな処理結果と一致する処理結果が記憶されていない場合(S17のYES),処理情報記憶部115Bは,例えば,契約突合せ処理部1115Bからの指示に基づいて,情報格納領域120Bにその新たな処理結果を記憶する(S21)。さらに,データ送信部113Bは,例えば,契約突合せ処理部1115Bからの指示に基づいて,自処理の処理結果を次(直後)の処理部に送信する(S22)。
次に,契約突合せ処理部111Bは,例えば,スキップ可否情報123Bを参照し,自処理部がスキップ可能な処理部であるか否かを確認する(S23)。図9の契約突合せ処理部111Bは,スキップ可能な処理部であるため(S23のYES),契約突合せ処理部111Bは,例えば,後に実行される処理部から処理結果及び識別子を受信しているか否かの確認を行う(S24)。具体的に,契約突合せ処理部111Bは,例えば,情報格納領域120Bの処理情報122Bを参照して確認する。そして,後に実行される処理部から処理結果と識別子を受信している場合(S24のYES),データ送信部113Bは,例えば,契約突合せ処理部111Bからの指示に基づいて,契約突合せ処理部111Bの処理結果と,次(直後)の処理部の処理結果と,受信した処理結果及び識別子とをスキップ判断情報として直前の処理部に送信する(S25)。一方,後に実行される処理部から処理結果と識別子を受信していない場合(S24のNO),データ送信部113Bは,例えば,契約突合せ処理部111Bの処理結果と,次(直後)の処理部(人感検出処理部111C)の処理結果とをスキップ判断情報として直前の処理部に送信する(S26)。なお,自処理部が処理連携システム10における最初の処理部である場合には,前に実行された処理部にスキップ判断情報の送信を行わないものであってもよい。また,自処理部が処理連携システム10における最後の処理部である場合には,後に実行される処理部に自処理の処理結果の送信を行わないものであってもよい。
すなわち,各処理部のデータ送信部は,自処理部がスキップ可能である場合に,スキップ判断情報を直前の処理部に送信する。
なお,データ送信部113Bは,例えば,契約突合せ処理部111Bが振分処理部111Aから処理結果を受信した回数(以下,受信回数とも呼ぶ)を記憶する。そして,その受信回数が所定の閾値(例えば,10回)を超えた場合に,データ送信部113Bは,契約突合せ処理部111Bのスキップ判断情報を振分処理部111Aに送信するものであってもよい。
[後の処理部から処理結果を受信した場合の処理]
次に,後に実行された処理部の処理結果を受信した場合の処理について説明を行う。具体的に,図10の例において,契約突合せ処理部111Bが人感検出処理部111Cからスキップ判断情報を受信した場合について説明を行う。なお,図10の例の処理連携システム10において,人感検出処理部111Cの後に処理連携システム10の出力データをユーザに返す出力処理部(図示しない)が存在するものとする。そして,契約突合せ処理部111Bが人感検出処理部111Cから受信するスキップ判断情報は,例えば,人感検出処理部111Cの処理結果と,出力処理部を示す識別子からなるものとする。
初めに,契約突合せ処理部111Bが人感検出処理部111Cからスキップ判断情報を受信した場合(S11のYES,S12のYES),処理情報記憶部115Bは,受信したスキップ判断情報と,スキップ判断情報に関連する処理結果(情報格納領域120Bに記憶されている処理結果)とを関連付けて情報格納領域120Bに記憶する(S13)。具体的に,図10の例においては,人感検出処理部111Cへの入力データである契約突合せ処理部111Bの処理結果と,契約突合せ処理部111Bの処理結果に基づいて実行された人感検出処理部111Cにおける処理の処理結果と,人感検出処理部111Cの処理結果(処理連携システム10の出力データ)の送信先である出力処理部を示す識別子とを関連付けて記憶する。
次に,契約突合せ処理部111Bは,自処理がスキップ可能な処理部であるか否かの確認を行う(S27)。そして,契約突合せ処理部111Bがスキップ可能な処理部である場合(S27のYES),データ送信部113Bは,契約突合せ処理部111Bの処理結果と,次(直後)の処理部である人感検出処理部111Cを示す識別子と,受信した処理結果及び識別子とを直前の処理部に送信する(S28)。これにより,スキップ可能な処理部が複数連続している場合に,これらの処理部が全てスキップされるために必要な情報を,一度の処理によって各処理部に記憶させることができる。
なお,データ送信部113Bは,例えば,図13のS25とS28のいずれか一方においてのみ,契約突合せ処理部111Bの処理結果と,次(直後)の処理部である人感検出処理部111Cを示す識別子と,受信した処理結果及び識別子とを直前の処理部に送信するものであってもよい。これにより,同一のスキップ判断情報を前の処理部に送信することを防止することができる。また,データ送信部113Bからスキップ判断情報を受信するデータ受信部112Aは,重複したスキップ判断情報を受信した場合に,受信したデータを破棄するものであってもよい。
[前の処理部から記憶している処理結果を受信した場合の処理]
次に,前に実行された処理部の処理結果を受信した場合であって,その処理結果が情報格納領域に記憶されていた場合の処理について説明を行う。具体的に,図11の例において,振分処理部111Aが入力データ(情報格納領域120Aに記憶されている入力データ)を受信した場合について説明を行う。
初めに,契約者等によって入力された入力データを振分処理部111Aが受信した場合(S11のYES,S12のNO,S14のNO,S15のNO),振分処理部111Aは,例えば,入力データに基づいて自処理を実行する(S16)。次に,振分処理部111Aは,例えば,情報格納領域120Aの処理情報122Aを確認し,新たな処理結果と一致する情報(過去の処理結果)が記憶されているか否かを確認する(S17)。そして,新たな処理結果と一致する処理結果が記憶されている場合(S17のNO),データ送信部113Aは,例えば,振分処理部111Aからの指示に基づいて,新たな処理結果と一致した処理結果と関連付けて記憶された契約突合せ処理部111Bの処理結果及び識別子を抽出する。さらに,データ送信部113Aは,例えば,抽出した識別子によって識別される処理部(人感検出処理部111C)に,抽出した契約突合せ処理部111Bの処理結果を送信する(S18)。具体的に,振分処理部111Aは,図10において契約突合せ処理部111Bの処理結果と,人感検出処理部111Cの識別子とを受信し,これらの情報と振分処理部111Aの処理結果とを関連付けて情報格納領域120Aに記憶している。そのため,振分処理部111Aは,情報格納領域120Aから契約突合せ処理部111Bの処理結果と,人感検出処理部111Cの識別子とを抽出し,人感検出処理部111Cに契約突合せ処理部111Bの処理結果を送信する。なお,新たな処理結果と一致した処理結果と関連付けて複数の異なる処理結果及び識別子が記憶されている場合は,記憶されている識別子によって識別した処理部のうち最後に実行される処理に,抽出した処理結果のうち最後の処理部において実行された処理結果を送信する。
また,データ送信部113Aは,例えばS18の後,スキップした処理部にその処理部がスキップされた旨を通知するものであってよい(S19)。この場合,送信回数記憶部114Aは,後の処理がスキップされた回数を処理部毎に記憶する。そして,データ送信部113Aは,その回数が所定の閾値(例えば,10回)を超えた場合に,その回数を送信するものであってもよい。
[突合せ情報更新指示を受信した場合の処理]
次に,処理部が突合せ情報の更新指示を受信した場合の処理について説明を行う。具体的に,図11の例において,契約突合せ処理部111Bが契約情報121Aの更新指示を受信した場合について説明を行う。
初めに,契約突合せ処理部111Bが前に実行された処理部(例えば,振分処理部111A以外の処理部)から突合せ情報更新指示を受信した場合(S11のYES,S12のNO,S14のYES),突合せ情報記憶部116Bは,突合せ情報更新指示に基づいて突合せ情報121A(図11の例においては契約情報121A)の更新を行う(S31)。この突合せ情報更新指示は,例えば,契約者IDが「123」である契約者が,センサIDが「12」である人感センサによる監視を行う契約を解除した場合,図8(A)に示す契約情報121Aの更新(消去)を行うためのものである。
ここで,突合せ情報更新指示を受信したことに伴う契約情報121Aの更新により,入力データに対する契約突合せ処理部111Bの出力データが変わる場合がある。具体的に,契約情報121Aが図8に示す状態にある場合,図7に示すように,契約者IDが「123」であり,センサIDが「12」であり,在宅情報が「不在」である入力データを受信したときに,契約突合せ処理部111Bは,契約者IDが「123」であり,在宅情報が「不在」である出力データを人感検出処理部111Cに送信する。これに対し,突合せ情報更新指示による契約情報121Aの更新後は,契約情報121Aに契約者IDが「123」である契約者の人感センサに関する情報が記憶されていない。そのため,契約突合せ処理部111Bは,上記の入力データを受信した場合にエラーを返すことになる。
すなわち,スキップは入力データによって出力データが一意に定まることを前提に行われるため,契約情報121Aの変更(更新)が発生した場合,図15に示すように,引き続き契約突合せ処理部111Bのスキップを行うことはデータの整合性確保の観点から妥当ではない。そのため,契約突合せ処理部111Bは,新たな契約突合せ処理部111Bの処理結果が以前の処理結果と異なる可能性がある場合に,各処理情報における契約突合せ処理部111Bに関する情報を削除するように,前の処理部に通知する必要がある。
図14に戻り,データ送信部113Bは,直前の処理部(図11の例においては振分処理部111A)にスキップに関する情報を消去する指示(以下,スキップ無効指示とも呼ぶ)を送信する(S32)。
その後,契約突合せ処理部111Bからスキップ無効指示を受信した振分処理部111Aは,受信したスキップ無効指示に含まれる処理結果の情報が記憶されているか否かの確認を行う(S41)。そして,スキップ無効指示に含まれる処理結果の情報が記憶されていた場合(S41のYES),振分処理部111Aの処理情報消去部117Aは,スキップ無効指示に含まれる処理結果の情報を消去する(S42)。次に,データ送信部113Aは,直前の処理部に契約突合せ処理部111Bから受信したスキップ無効指示を送信する(S43)。すなわち,契約情報121Aの変更(更新)があった場合において,変更に影響がある処理部のスキップに関する情報を消去する。これにより,処理連携システム10の処理全体の整合性を確保することが可能になる。また,契約突合せ処理部111Bのスキップに関する情報を消去した後,処理連携システム10の各処理部は,契約突合せ処理部111Bの入力データと新たな出力データとの組合せに基づいて,契約突合せ処理部111Bをスキップするための情報の記憶を新たに行うことが可能になる。
[第1の実施の形態における実行管理処理の具体例]
次に,第1の実施の形態における実行管理処理の具体例について説明する。図16から図18は,第1の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。また,図19は,第1の実施の形態における実行管理処理の具体例を説明する図である。図12から図14及び図19を参照しながら図16から図18の実行管理処理の具体例を説明する。
[図19の処理連携システム10の構成]
初めに,図19の例における処理連携システム10の構成について説明する。図19における処理連携システム10は,図7の処理連携システム10とは異なり,人感検出処理部111Cの後に稼動確認処理部111Dが存在する。なお,稼動確認処理部111Dの後続処理については記載を省略する。
図19の例において,稼動確認処理部111Dは,例えば,人感検出処理部111Cにおける処理結果及び稼動履歴情報121Cの内容に基づいて処理を行い,その処理結果を処理すべき後続処理に送信する。また,稼動履歴情報121Cは,例えば,稼動確認処理部111Dが人感検出処理部111Cから処理結果を受信した時刻の履歴情報を記憶しているものである。具体的に,稼動確認処理部111Dは,例えば,人感検出処理部111Cを行うセンサ(図示しない)が正常性を判断するものである。稼動確認処理部111Dは,例えば,人感検出処理部111Cから新たな処理結果を受信した時刻と前回処理結果を受信した時刻との差が一定時間以内である場合に,人感検出処理部111Cを行うセンサ(図示しない)が正常であると判断するものであってよい。なお,図19の例において,振分処理部111A及び稼動確認処理部111Dは,スキップが可能でない処理部であり,契約突合せ処理部111B及び人感検出処理部111Cは,スキップが可能である処理部であるとする。
[図16の具体例]
図16は,処理連携システム10に入力データ(以下,Ev0とも呼ぶ)が入力された場合(図16の(1))の図である。図16の例において,振分処理部111A(以下,Q1とも呼ぶ)は,Ev0に基づいて処理を行い,その処理結果(以下,Ev1とも呼ぶ)を処理情報122Aに記憶する(S16,S21)。そして,振分処理部111Aは,処理情報122Aに自処理の処理結果である出力データが記憶されていない場合(S17のYES),Ev1を契約突合せ処理部111B(以下,Q2とも呼ぶ)に送信する(S22,図16の(2))。同様に,契約突合せ処理部111Bは,Ev1に基づいて処理を行い,その処理結果(以下,Ev2とも呼ぶ)を処理情報122Bに記憶する(S16,S21)。そして,契約突合せ処理部111Bは,自処理の処理結果である出力データを人感検出処理部111C(以下,Q3とも呼ぶ)に送信する(S22,図16の(3))。同様に,人感検出処理部111Cは,Ev2に基づいて処理を行い,その処理結果(以下,Ev3とも呼ぶ)を処理情報122Cに記憶する(S16,S21)。そして,人感検出処理部111Cは,自処理の処理結果である出力データを稼動確認処理部111D(以下,Q4とも呼ぶ)に送信する(S22,図16の(4))。同様に,稼動確認処理部111Dは,Ev3に基づいて処理を行い,その処理結果(以下,Ev41とも呼ぶ)を処理情報122Dに記憶する(S16,S21)。そして,稼動確認処理部111Dは,自処理の処理結果である出力データを後続処理に送信する(S22,図16の(5))。
なお,図16の例においては,振分処理部111A及び稼動確認処理部111Dの処理結果がそれぞれEv1,Ev41である場合について説明したが,これらの処理はスキップ可能でないため,それぞれEv1,Ev41以外の処理結果が出力される可能性がある。そして,振分処理部111Aの処理結果がEv1以外である場合,例えば,データ送信部113Aは,契約突合せ処理部111B以外に処理結果を送信するものであってよい。
また,契約突合せ処理部111Bは,Ev2を人感検出処理部111Cに送信する際に,Ev2及びQ3の情報(スキップ判断情報)を振分処理部111Aに送信する(S26,図16の(6))。そして,データ受信部112AがEv2及びQ3の情報を受信したときに,処理情報記憶部115Aは,受信したEv2及びQ3の情報を振分処理部111Aの処理結果であるEv1に関連付けて情報格納領域120Aに記憶する(S13,S27のNO)。
また,人感検出処理部111Cは,Ev3を稼動確認処理部111Dに送信する際に,Ev3及びQ4の情報を契約突合せ処理部111Bに送信する(S26,図16の(7))。そして,データ受信部112BがEv3及びQ4の情報を受信したときに,処理情報記憶部115Bは,受信したEv3及びQ4の情報を契約突合せ処理部111Bの処理結果であるEv2に関連付けて情報格納領域120Bに記憶する(S13)。さらに,人感検出処理部111CからEv3とQ4の情報を受信した契約突合せ処理部111Bは,スキップ可能な処理部であるため,情報を受信したことに応答して,受信したEv3及びQ4とEv2及びQ3との情報を振分処理部111Aに送信するものであってよい(S27のYES,S28,図16の(8))。そして,データ受信部112AがEv3及びQ4とEv2及びQ3との情報を受信したときに,処理情報記憶部115Aは,受信したEv3及びQ4とEv2及びQ3との情報を振分処理部111Aの処理結果であるEv1に関連付けて情報格納領域120Aに記憶する(S13,S27のNO)。
[図17の具体例]
図17は,処理連携システム10にEv0が再度入力(図17の(1))された場合の図である。図17の例において,振分処理部111Aは,Ev0に基づいて処理を行う(S16)。そして,その処理結果と一致する過去の処理結果が情報格納領域120Aに記憶されているため(S17のNO),振分処理部111Aは,一致した過去の処理結果に関連する情報を処理情報122Aから抽出する(S18)。具体的に,図17の例における振分処理部111Aは,図16においてEv2,Q3,Ev3,Q4の情報を受信し,契約突合せ処理部111Bの入力データであり振分処理部111Aの出力データであるEv1の情報と関連付けて処理情報122Aに記憶している(S13)。そのため,具体的に,振分処理部111Aは,抽出した識別子によって識別した処理部(Q3,Q4)のうち最後に実行された処理部(Q4)に,抽出した処理結果(Ev2,Ev3)のうち最後の処理部において実行された処理結果(Ev3)を送信する(S18,図17の(2))。すなわち,図17の例において,振分処理部111Aは,契約突合せ処理部111B及び人感検出処理部111Cをスキップし,稼動確認処理部111DにEv3を送信する。さらに,稼動確認処理部111Dは,Ev3に基づいて処理を行い,その処理結果(以下,Ev42とも呼ぶ)を処理情報122Dに記憶する(S16,S21)。そして,稼動確認処理部111Dは,自処理の処理結果である出力データを後続処理に送信する(S22,図17の(3))。
また,S18の後,振分処理部111Aは,スキップした契約突合せ処理部111B及び人感検出処理部111Cに,スキップした旨(またはスキップした回数)を送信するものであってよい(S19,図17の(4)(5))。
[図18の具体例]
図18は,人感検出処理部111Cに突合せ情報更新指示(Ev10)が送信された場合(図18の(1))の図である。図18の例において,突合せ情報更新指示を受信した人感検出処理部111Cは,スキップ無効指示を直前の処理部である契約突合せ処理部111Bに送信する(S32,図18の(2))。そして,スキップ無効指示を受信した契約突合せ処理部111Bは,処理情報122Bに契約突合せ処理部111Bの処理結果が記憶されている(S41のYES),そのため,処理情報消去部117Bは,スキップ無効指示に含まれる契約突合せ処理部111Bの処理結果と関連付けて記憶された情報を消去する(S42)。さらに,契約突合せ処理部111Bは,スキップ無効指示を直前の処理部である振分処理部111Aに送信する(S43,図18の(3))。そして,スキップ無効指示を受信した振分処理部111Aは,処理情報122Aに振分処理部111Aの処理結果が記憶されている(S41のYES)。そのため,処理情報消去部117Aは,スキップ無効指示に含まれる振分処理部111Aの処理結果と関連付けて記憶された情報を消去する(S42)。
[第2の実施の形態]
次に,第2の実施の形態について説明する。図20及び図21は,第2の実施の形態における実行管理処理を説明するフローチャート図である。また,図22から図24は,第2の実施の形態における実行管理処理を説明する図である。図12から図14及び図22から図24を参照しながら,図20及び図21の実行管理処理の詳細を説明する。
[図22の処理連携システム10の構成]
初めに,図22の例における処理連携システム10の構成について説明する。図22における処理連携システム10は,図19の処理連携システム10とは異なり,契約突合せ処理部111Bの後続処理として,人感検出処理部111C及びメール送信突合せ処理部111Eが存在する。また,図22の例において,メール送信突合せ処理部111Eの後に,在宅時間計測処理部111Fが存在する。なお,稼動確認処理部111D及び在宅時間計測処理部111Fの後続処理については記載を省略する。
図22の例において,契約突合せ処理部111Bは,例えば,入力データのセンサIDとして「人感センサ」を示す「12」の情報が含まれている場合,自処理の処理結果を人感検出処理部111Cとメール送信突合せ処理部111Eに送信するものとする。
また,図22の例において,メール送信突合せ処理部111Eは,例えば,契約突合せ処理部111Bにおける処理結果及びメール送信先情報(図示しない)の内容に基づいて,メールを送信すべき契約者のメールアドレスを抽出する処理を行い,その処理結果を処理すべき後続処理に送信する。メール送信先情報は,例えば,図23に示すように,契約者にメール連絡をする必要が発生したときに使用する契約者毎のメールアドレスの情報を記憶している。具体的に,図23のメール送信先情報において,契約者IDが「123」である契約者は,メールアドレスとして「AAA@BBB」と記憶している。また,契約者IDが「124」である契約者は,メールアドレスとして「DDD@BBB」及び「EEE@BBB」と記憶している。また,契約者IDが「125」である契約者は,メールアドレスとして「GGG@FFF」と記憶している。
さらに,図22の例において,在宅時間計測処理部111Fは,例えば,メール送信突合せ処理部111Eにおける処理結果及び在宅時間情報(図示しない)の内容に基づいて,契約者の在宅時間を計測する処理を行い,その処理結果を処理すべき後続処理に送信する。具体的に,図22の例におけるメール送信突合せ処理部111E及び在宅時間計測処理部111Fは,例えば,契約者が高齢者である場合に,定期的に契約者の在宅時間を計測するためのものである。そして,処理連携システム10は,例えば,在宅時間が所定の閾値(例えば,24時間)を超えた場合に,メール送信突合せ処理部111Eにおいて抽出したメールアドレス(契約者の親戚のメールアドレス等)に向けて,契約者の状況を知らせるメールを送信するものであってよい。
[第2の実施の形態における実行管理処理の具体例(1)]
次に,第2の実施の形態における実行管理処理の具体例について説明する。図20及び図21は,第2の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。図22を参照しながら図20及び図21の実行管理処理の具体例を説明する。
[図20の具体例]
図20は,処理連携システム10に入力データ(以下,Ev0とも呼ぶ)が入力された場合(図20の(1))の図である。図20の例において,振分処理部111A(以下,Q1とも呼ぶ)は,図16の例と同様に,Ev0に基づいて処理を行い,その処理結果(以下,Ev1とも呼ぶ)を処理情報122Aに記憶する(S16,S21)。そして,振分処理部111Aは,処理情報122Aに自処理の処理結果である出力データが記憶されていない場合(S17のYES),Ev1を契約突合せ処理部111B(以下,Q2とも呼ぶ)に送信する(S22,図20の(2))。同様に,契約突合せ処理部111Bは,Ev1に基づいて処理を行い,その処理結果(以下,Ev2とも呼ぶ)を処理情報122Bに記憶する(S16,S21)。そして,契約突合せ処理部111Bは,自処理の処理結果である出力データを人感検出処理部111C(以下,Q3とも呼ぶ)に送信する(S22,図20の(3))。同様に,人感検出処理部111Cは,Ev2に基づいて処理を行い,その処理結果(以下,Ev3とも呼ぶ)を処理情報122Cに記憶する(S16,S21)。そして,人感検出処理部111Cは,自処理の処理結果である出力データを稼動確認処理部111D(以下,Q4とも呼ぶ)に送信する(S22,図20の(4))。同様に,稼動確認処理部111Dは,Ev3に基づいて処理を行い,その処理結果(以下,Ev43とも呼ぶ)を処理情報122Dに記憶する(S16,S21)。そして,稼動確認処理部111Dは,自処理の処理結果である出力データを後続処理に送信する(S22,図20の(5))。
また,契約突合せ処理部111Bは,Ev2を人感検出処理部111Cに送信する際に,Ev2及びQ3の情報を振分処理部111Aに送信する(S26,図20の(6))。そして,データ受信部112AがEv2及びQ3の情報を受信したときに,処理情報記憶部115Aは,受信したEv2及びQ3の情報を振分処理部111Aの処理結果であるEv1に関連付けて情報格納領域120Aに記憶する(S13,S27のNO)。
さらに,人感検出処理部111Cは,Ev3を稼動確認処理部111Dに送信する際に,Ev3及びQ4の情報を契約突合せ処理部111Bに送信する(S26,図20の(7))。そして,データ受信部112BがEv3及びQ4の情報を受信したときに,処理情報記憶部115Bは,受信したEv3及びQ4の情報を契約突合せ処理部111Bの処理結果であるEv2に関連付けて情報格納領域120Bに記憶する(S13)。さらに,人感検出処理部111CからEv3とQ4の情報を受信した契約突合せ処理部111Bは,スキップ可能な処理部であるため,情報を受信したことに応答して,受信したEv3及びQ4とEv2及びQ3との情報を振分処理部111Aに送信するものであってよい(S27のYES,S28,図20の(8))。そして,データ受信部112AがEv3及びQ4とEv2及びQ3との情報を受信したときに,処理情報記憶部115Aは,受信したEv3及びQ4とEv2及びQ3との情報を振分処理部111Aの処理結果であるEv1に関連付けて情報格納領域120Aに記憶する(S13,S27のNO)。
一方,Ev1に基づいて処理を行った契約突合せ処理部111Bは,Ev1に基づく処理結果であるEv2をメール送信突合せ部111E(以下,Q5とも呼ぶ)にも送信する(S22,図20の(9))。そして,メール送信突合せ部111Eは,Ev2に基づいて処理を行い,その処理結果(以下,Ev5とも呼ぶ)を処理情報122Eに記憶する(S16,S21)。さらに,メール送信突合せ部111Eは,自処理の処理結果である出力データを在宅時間計測処理部111Fに送信する(S22,図20の(10))。同様に,在宅時間計測処理部111Fは,Ev5に基づいて処理を行い,その処理結果(以下,Ev61とも呼ぶ)を処理情報122Fに記憶する(S16,S21)。そして,在宅時間計測処理部111Fは,自処理の処理結果である出力データを後続処理に送信する(S22,図20の(11))。なお,契約突合せ処理部111Bは,例えば,処理接続情報124Aを参照することにより,処理結果がEv2であるときの送信先が人感検出処理部111C及びメール送信突合せ部111Eであると判断するものであってよい。
また,契約突合せ処理部111Bは,Ev2をメール送信突合せ処理部111Eに送信する際に,Ev2及びQ5の情報を振分処理部111Aに送信する(S26,図20の(12))。そして,データ受信部112AがEv2及びQ5の情報を受信したときに,処理情報記憶部115Aは,受信したEv2及びQ5の情報を振分処理部111Aの処理結果であるEv1に関連付けて情報格納領域120Aに記憶する(S13,S27のNO)。
さらに,メール送信突合せ処理部111Eは,Ev5を在宅時間計測処理部111Fに送信する際に,Ev5及びQ6の情報を契約突合せ処理部111Bに送信する(S26,図20の(13))。そして,データ受信部112BがEv5及びQ6の情報を受信したときに,処理情報記憶部115Bは,受信したEv5及びQ6の情報を契約突合せ処理部111Bの処理結果であるEv2に関連付けて情報格納領域120Bに記憶する(S13)。さらに,メール送信突合せ処理部111EからEv5とQ6の情報を受信した契約突合せ処理部111Bは,スキップ可能な処理部であるため,情報を受信したことに応答して,受信したEv5及びQ6とEv2及びQ5との情報を振分処理部111Aに送信するものであってよい(S27のYES,S28,図20の(14))。そして,データ受信部112AがEv5及びQ6とEv2及びQ5との情報を受信したときに,処理情報記憶部115Aは,受信したEv5及びQ6とEv2及びQ5との情報を振分処理部111Aの処理結果であるEv1に関連付けて情報格納領域120Aに記憶する(S13,S27のNO)。
[図21の具体例]
図21は,処理連携システム10にEv0が再度入力された場合(図21の(1))の図である。図21の例において,振分処理部111Aは,Ev0に基づいて処理を行う(S16)。そして,その処理結果と一致する過去の処理結果が情報格納領域120Aに記憶されているため(S17のNO),振分処理部111Aは,一致した過去の処理結果に関連する情報を処理情報122Aから抽出する(S18)。具体的に,図17の例における振分処理部111Aは,図16においてEv2,Q3,Ev3,Q4の情報(以下,情報Aとも呼ぶ)と,Ev2,Q5,Ev5,Q6の情報(以下,情報Bとも呼ぶ)を受信し,契約突合せ処理部111Bの入力データであり振分処理部111Aの出力データであるEv1の情報とそれぞれ関連付けて処理情報122Aに記憶している(S13)。そのため,振分処理部111Aは,情報Aから抽出した識別子によって識別した処理部(Q3,Q4)のうち最後に実行された処理部(Q4)に,情報Aから抽出した処理結果(Ev2,Ev3)のうち最後の処理部において実行された処理結果(Ev3)を送信する(図21の(2))。すなわち,図21の例において,振分処理部111Aは,契約突合せ処理部111B及び人感検出処理部111Cをスキップし,稼動確認処理部111DにEv3を送信する。次に,稼動確認処理部111Dは,Ev3に基づいて処理を行い,その処理結果(以下,Ev44とも呼ぶ)を処理情報122Dに記憶する(S16,S21)。そして,稼動確認処理部111Dは,自処理の処理結果である出力データを後続処理に送信する(S22,図21の(3))。
また,振分処理部111Aは,情報Bから抽出した識別子によって識別した処理部(Q5,Q6)のうち最後に実行された処理部(Q6)に,情報Bから抽出した処理結果(Ev2,Ev5)のうち最後の処理部において実行された処理結果(Ev5)を送信する(図21の(4))。すなわち,図21の例において,振分処理部111Aは,契約突合せ処理部111B及びメール送信突合せ処理部111Eをスキップし,在宅時間計測処理部111FにEv5を送信する。次に,在宅時間計測処理部111Fは,Ev5に基づいて処理を行い,その処理結果(以下,Ev62とも呼ぶ)を処理情報122Fに記憶する(S16,S21)。そして,在宅時間計測処理部111Fは,自処理の処理結果である出力データを後続処理に送信する(S22,図21の(5))。
さらに,S18の後,振分処理部111Aは,スキップした契約突合せ処理部111B,人感検出処理部111C及びメール送信突合せ処理部111Eに対し,スキップした旨(またはスキップした回数)を送信するものであってよい(S19,図21の(6)(7)(8))。
[処理情報の記憶内容の遷移]
次に,処理情報に記憶された情報の内容の遷移について説明する。図24から図26は,図20の状態における処理情報に記憶された情報の内容の遷移を説明する図である。なお,図24から図26の例において,各処理情報は,処理部の処理結果(Ev1やEv2等)毎に処理情報を管理している。
図24は,図20の例において,振分処理部111Aが自処理の処理結果であるEv1を契約突合せ処理部111Bに送信した場合の図である。具体的に,図24の例においては,処理情報122Aには,Ev1と,Ev1を送信した処理部であるQ2の情報とが関連付けて記憶されている。
図25は,図20の例において,契約突合せ処理部111BがEv2を人感検出処理部111C及びメール送信突合せ処理部111Eに送信し,人感検出処理部111C及びメール送信突合せ処理部111Eからそれぞれスキップ判断情報を受信した場合の図である。具体的に,図25において,処理情報122Bには,Ev2と,Ev2を送信した処理部であるQ3及びQ5の情報とが関連付けて記憶されている。そして,処理情報122Aには,契約突合せ処理部111Bから受信したスキップ判断情報が記憶されている。具体的に,処理情報122Aには,Ev1と,Q2と,EV2と,Q3とが関連付けて記憶されている。また,処理情報122Aには,Ev1と,Q2と,Ev2と,Q5とが関連付けて記憶されている。なお,図25の処理情報122AのQ2において,上に記載されたEv2はQ3と関連付けられた情報であり,下に記載されたEv2はQ5と関連付けられた情報であるものとする。
図26は,図20の例において,人感検出処理部111CがEv3を稼動確認処理部111Dに送信し,稼動確認処理部111Dからスキップ判断情報を受信した場合の図である。そして,図20の例において,メール送信突合せ処理部111EがEv5を在宅時間計測処理部111Fに送信し,在宅時間計測処理部111Fからスキップ判断情報を受信した場合の図である。具体的に,図26においては,処理情報122Cには,Ev3と,Ev3を送信した処理部であるQ4とが関連付けて記憶されている。また,処理情報122Eには,Ev5と,Ev5を送信した処理部であるQ6とが関連付けて記憶されている。そして,処理情報122Bには,人感検出処理部111C及びメール送信突合せ処理部111Eから受信したスキップ判断情報が記憶されている。具体的に,Ev2と,Q3と,Ev3と,Q4とが関連付けて記憶されている。また,Ev2と,Q5と,Ev5と,Q6とが関連付けて記憶されている。さらに,処理情報122Aには,契約突合せ処理部111Bから受信したスキップ判断情報が記憶されている。具体的に,Ev1と,Q2と,Ev2と,Q3と,Ev3と,Q4とが関連付けて記憶されている。また,Ev1と,Q2と,Ev2と,Q5と,Ev5と,Q6とが関連付けて記憶されている。
すなわち,図24から図26の例における各処理部は,それぞれの処理情報を木構造にして記憶している。したがって,各処理部は,処理情報における木構造の先端部分を抽出することにより,送信すべき処理結果とその処理結果を送信すべき処理部とを容易に特定することが可能になる。具体的に,図26の例において,処理情報122Aの木構造における最も先端に位置している処理部はQ4及びQ6であり,Q4及びQ6のそれぞれに最も近い位置の処理結果はそれぞれEv3及びEv5である。そのため,振分処理部111Aは,Q6にEv5を送信し,Q4にEv3を送信すべきことを容易に特定できる。
このように,第2の実施の形態においては,各処理部は,複数の後続処理が存在する場合であっても処理情報を木構造にして記憶することにより,処理結果を送信すべき処理部と,その処理部に送信すべき処理結果を容易に特定することができる。
[複数存在する後続処理の一部からのみスキップ判断情報を受信している場合の処理]
図27は,第2の実施の形態における実行管理処理の具体例を説明するシーケンスチャート図である。また,図28は,第2の実施の形態における処理情報を説明する図である。なお,図27において,スキップ判断情報の送信についての記載は省略する。
図27の例において,入力データ(Ev0)に基づいて処理を行った振分処理部111Aは,契約突合せ処理部111B及び人感検出処理部111Cをスキップして,稼動確認処理部111Dに向けて処理結果(Ev1)を送信する(図27の(1)(2))。一方,図27の例において,振分処理部111Aは,契約突合せ処理部111B及びメール送信突合せ処理部111Eを経由して(処理部のスキップをせずに),在宅時間計測処理部111Fに向けて処理結果を送信する(図27の(3)(4)(5))。
すなわち,図27の例において,二つの後続処理を有する契約突合せ処理部111Bは,一方の後続処理であるメール送信突合せ処理部111Eに,自処理部の処理結果を送信している(図27の(4))。これに対し,他方の後続処理である人感検出処理部111Cに対しては,振分処理部111Aが直接稼動確認処理部111Dに向けて処理結果を送信している(図27の(2))。そのため,図27の例において,契約突合せ処理部111Bは,人感検出処理部111Cに向けて自処理の処理結果を送信する必要がない。
しかし,図27に示すように,振分処理部111Aから処理結果を受信した契約突合せ処理部111Bは,処理接続情報124Bを参照して,人感検出処理部111C及びメール送信突合せ処理部111Eに処理結果を送信する(図27の(4)(6))。そのため,図27の例において,稼動確認処理部111Dは,振分処理部111A及び人感検出処理部111Cの両方から同じ処理結果を受信する可能性がある(図27の(2)(7))。この場合,処理連携システム10は,データの整合性を確保できず,ユーザのサービスに影響を与えてしまう場合が考えられる。
そこで,第2の実施の形態において,複数の後続処理を有する処理部は,例えば,全ての後続処理から処理結果を受信するまで,前の処理部にスキップ判断情報を送信しないものであってよい(図13のS25,S26,S28)。具体的に,図27の例において,契約突合せ処理部111Bは,人感検出処理部111C及びメール送信突合せ処理部111Eの両方からスキップ判断情報を受信するまで待機する。そして,契約突合せ処理部111Bは,人感検出処理部111C及びメール送信突合せ処理部111Eの両方からのスキップ判断情報を受信したときに,受信した情報を含めたスキップ判断情報を,振分処理部111Aに送信する。これにより,図27の例において,契約突合せ処理部111Bは,一方の後続処理については自処理部がスキップされており,他方の後続処理については自処理部から処理結果を送信しているという状態の発生を防止することができる。そのため,同じ処理結果を複数回受信する処理部の発生を防止することができる。
一方,図28は,図27の場合における処理情報の例である。図27において,振分処理部111Aから稼動確認処理部111Dまでの処理(図27の(2))については,契約突合せ処理部111B及び人感検出処理部111Cがスキップされている。また,図27において,振分処理部111Aから在宅時間計測処理部111Fまでの処理(図27の(3)(4)(5)については,スキップが行われず,各処理部における処理が実行されている。したがって,図28の処理情報122Bには,スキップを行う契約突合せ処理部111B及び人感検出処理部111Cの処理結果に関する情報が記憶されている。具体的に,図28の処理情報122Cにおいては,Ev3と,Q4とが関連付けて記憶されている。また,図28の処理情報122Bには,Ev2と,Q3と,Ev3と,Q4とが関連付けて記憶されている。また,図28の処理情報122Aには,Ev1と,Q2と,Ev2と,Q3と,Ev3と,Q4とが関連付けて記憶されている。
ここで,図28の例において,振分処理部111Aは,処理情報122Aに記憶された契約突合せ処理部111Bからスキップ判断情報を基づいて,人感検出処理部111Cの処理結果を稼動確認処理部111Dに送信している。すなわち,契約突合せ処理部111Bが振分処理部111Aにスキップ判断情報を送信した場合,処理情報122Bに記憶されている情報は処理情報122Aにも記憶されている。そのため,契約突合せ処理部111Bが振分処理部111Aにスキップ判断情報を送信した場合,そのスキップ判断情報に情報が含まれる処理部には,振分処理部111Aが処理結果を送信していることになる。
そこで,例えば,契約突合せ処理部111Bは,後続処理に自処理の処理結果を送信する前に,処理情報122Bを確認する。そして,処理接続情報124Bより自処理の処理結果を送信すべき後続処理であっても処理情報122Bより前の処理部(振分処理部111A)が送信していると判断できる場合,契約突合せ処理部111Bは,その後続処理に処理結果を送信しないものであってよい。
具体的に,図28の例において,契約突合せ処理部111Bが振分処理部111Aから処理結果を受信した場合,契約突合せ処理部111Bは,初めに処理接続情報124Bを参照して,自処理の処理結果を送信すべき後続処理は人感検出処理部111C及びメール送信突合せ処理部111Eであると判断する。次に,契約突合せ処理部111Bは,処理情報122Bを参照し,契約突合せ処理部111Bは,過去に自処理の処理結果(Ev2)と,その処理結果の送信先である処理部の識別子(Q3)との情報を振分処理部111Aに送信していると判断する。そして,契約突合せ処理部111Bは,メール送信突合せ処理部111Eには自処理の処理結果を送信する必要があるが,人感検出処理部111Cへは自処理の処理結果を送信する必要がないと判断することができる。これにより,同じ処理結果を複数回受信する処理部の発生を防止することができる。なお,この場合は,上記の例で説明したように,全ての後続処理から処理結果を受信するまで前の処理部にスキップ判断情報の送信を待機する必要はない。
また,図27の例において,振分処理部111Aが自処理の処理結果を送信する前に,振分処理部111Aは,処理接続情報124を参照して,自処理部と送信先の処理部との間に複数の後続処理を有する処理部が存在するか否かを確認するものであってよい。具体的に,図28の例において,振分処理部111Aは,処理情報122Aを参照して,稼動確認処理部111D(Q4)に人感検出処理部111Cの処理結果(Ev3)を送信する。ここで,振分処理部111Aと稼動確認処理部111Dとの間に存在する契約突合せ処理部111Bは,複数(二つ)の後続処理を有している。さらに,振分処理部111Aからメール送信突合せ処理部111Eまでの処理についてはスキップされていないため,処理情報122Aは,メール送信突合せ処理部111Eに関するスキップ判断情報を受信していない。したがって,図27の例において,振分処理部111Aは,処理情報122Aのみに基づいて,契約突合せ処理部111Bの後続処理であるメール送信突合せ処理部111Eが存在することを認識できない。
そこで,振分処理部111Aは,自処理の処理結果を送信する際に,処理接続情報124を参照して,自処理部と送信先の処理部との間に複数の後続処理を有する処理部が存在するか否かを確認する。これにより,振分処理部111Aは,処理情報122Aにスキップ判断情報が記憶されていない処理部(メール送信突合せ処理部111E)を認識することが可能になり,その処理部に向けて自処理の処理結果を送信することが可能になる。
[第2の実施の形態における実行管理処理の具体例(2)]
次に,第2の実施の形態における実行管理処理の別の具体例について説明する。図29は,第2の実施の形態における実行管理処理におけるスキップ無効指示を説明するシーケンスチャート図である。また,図30は,第2の実施の形態における処理情報を説明する図である。図22及び図30を参照しながら図29の実行管理処理におけるスキップ無効指示の具体例を説明する。
[図29の具体例]
図29は,メール送信突合せ処理部111Eに突合せ情報更新指示(Ev10)が送信された場合(図29の(1))の図である。図29の例において,突合せ情報更新指示を受信したメール送信突合せ処理部111Eは,スキップ無効指示を直前の処理部である契約突合せ処理部111Bに送信する(S32,図29の(2))。そして,スキップ無効指示を受信した契約突合せ処理部111Bは,処理情報122Bに契約突合せ処理部111Bの処理結果が記憶されているため(S41のYES),図30に示すように,スキップ無効指示に含まれる契約突合せ処理部111Bの処理結果と関連付けて記憶された情報を消去する(S42)。さらに,契約突合せ処理部111Bは,スキップ無効指示を直前の処理部である振分処理部111Aに送信する(S43,図29の(3))。そして,スキップ無効指示を受信した振分処理部111Aは,処理情報122Aに振分処理部111Aの処理結果が記憶されているため(S41のYES),図30に示すように,スキップ無効指示に含まれる振分処理部111Aの処理結果と関連付けて記憶された情報を消去する(S42)。なお,図30に示すように,突合せ情報更新指示を受信したメール送信突合せ処理部111Eは,契約突合せ処理部111Bにスキップ無効指示を送信する前に,処理情報122Eに記憶された情報を全て消去するものであってもよい。
また,図29及び図30の例においても,図27及び図28の場合と同様に,契約突合せ処理部111Bは,一方の後続処理については自処理部がスキップされており,他方の後続処理については自処理部から処理結果を送信しているという状態が発生する可能性がある。そのため,契約突合せ処理部111Bは,全ての後続処理から処理結果を受信するまで,前の処理部にスキップ判断情報を送信しないものであってよい。また,契約突合せ処理部111Bは,前の処理部である振分処理部111Aに送ったスキップ判断情報に情報が含まれる処理部については,振分処理部111Aが処理情報を送信するものと判断するものでもあってよい。
[第3の実施の形態]
次に,第3の実施の形態について説明する。図31及び図32は,第3の実施の形態における実行管理処理を説明する図である。
図31は,複数の処理部の処理結果を受信する処理部が存在する場合の例である。図31における処理連携システム10は,図22の処理連携システム10とは異なり,稼動確認処理部111D及び在宅時間計測処理部111Fの後続処理として統計処理部111Gが存在する。統計処理部111Gは,例えば,稼動確認処理部111D及び在宅時間計測処理部111Fの処理結果から必要な情報を抽出して,経営分析に用いられる統計情報等を作成するものである。そして,統計処理部111Gは,例えば,作成した統計情報を処理すべき後続処理に送信する。
図31の例において,統計処理部111Gは,稼動確認処理部111D及び在宅時間計測処理部111Fからそれぞれの処理結果を受信し,それぞれの処理結果に基づいて自処理を実行する。そして,統計処理部111Gは,稼動確認処理部111D及び在宅時間計測処理部111Fのそれぞれに対するスキップ判断情報を作成して送信する。
ここで,図31の例のように,複数の処理部から処理結果を受信して自処理を行う処理部が存在する場合,各処理部は,作成したスキップ判断情報の送信するための送信先情報として,受信した処理結果の送信元情報を記憶する必要がある。そのため,図31の例において,各処理部は,自処理が処理した処理結果の送信時に,自処理を識別するための識別子を関連付けて送信する(図13のS22)。具体的に,図31の例においては,稼動確認処理部111Dは,自処理の処理結果に稼動確認処理部111Dを識別するための識別子を関連付けて送信し,在宅時間計測処理部111Fは,自処理の処理結果に在宅時間計測処理部111Fを識別するための識別子を関連付けて送信する。なお,処理結果の送信元処理部を識別するための識別子は,例えば,処理結果を送信するパケットのヘッダー情報から取得するものであってもよい。
また,図32は,同一処理を行う処理部が複数存在する場合の例である。図32における処理連携システム10は,契約突合せ処理部1111Bと,契約突合せ処理部1112Bと,契約突合せ処理部1113Bとを有する。すなわち,図32の例における振分処理部111Aは,例えば,入力データに含まれる契約者IDを3で除算したときの剰余に基づいて,送信先の後続処理を決定する。具体的に,振分処理部111Aは,例えば,剰余が0であるときは契約突合せ処理部1111Bに送信し,剰余が1であるときは契約突合せ処理部1112Bに送信し,剰余が2であるときは契約突合せ処理部1113Bに送信する。そして,各契約突合せ処理部は,自処理の処理結果を人感検出処理部111C及びメール送信突合せ処理部111Eに送信する。
図32の例において,人感検出処理部111C及びメール送信突合せ処理部111Eは,同一種類であるが複数の処理部から処理結果を受信する。ここで,図31と同様に,各契約突合せ処理部は,自処理が処理した処理結果の送信時に,自処理を識別するための識別子を関連付けて送信する(図13のS22)。そして,人感検出処理部111C及びメール送信突合せ処理部111Eは,各契約突合せ処理部から受信した処理結果に基づいて,それぞれスキップ判断情報を作成し,各契約突合せ処理部から処理結果と共に送信された識別子に基づいて,それぞれスキップ判断情報を送信する。
このように,第3の実施の形態においては,複数の処理部から処理結果を受信して自処理を行う処理部が存在する場合,各処理部は,自処理が処理した処理結果の送信時に,自処理を識別するための識別子を関連付けて送信する。これにより,複数の処理部から処理結果を受信する処理部は,それぞれの処理結果に基づいて作成したスキップ判断情報を,処理結果を送信した複数の処理部にそれぞれ送信することが可能になる。
以上の実施の形態をまとめると,以下の付記のとおりである。
(付記1)
第1の処理部が第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信する第1の工程と,
前記第2の処理部が前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信する第2の工程と,
前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶する第3の工程と,
前記第3の工程の後に実行された前記第1の処理の処理結果が前記第1の記憶部に記憶されている前記第1の処理結果と一致する場合に,前記第1の処理部が,前記第1の処理結果と関連付けて記憶されている前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した前記第3の処理部に前記第2の処理結果を送信する第4の工程と,を有する
処理連携方法。
(付記2)
付記1において,
前記第2の工程では,前記第1の処理結果によって前記第2の処理結果が一意に定まる場合に,前記第1の処理部への送信を行う処理連携方法。
(付記3)
付記1において,
前記第2の工程では,前記第2の処理部が前記第1の処理部から前記第1の処理結果を受信した受信回数が所定の閾値を超えた場合に,前記第1の処理部への送信を行う処理連携方法。
(付記4)
付記1において,さらに,
前記第1の処理部が前記第1の記憶部から抽出した前記第2の処理結果を前記第3の処理部に送信した送信回数を記憶する第5の工程を有する処理連携方法。
(付記5)
付記4において,
前記第5の工程では,前記送信回数が所定の閾値を超えた場合に,前記第1の処理部が記憶した前記送信回数を前記第2の処理部に送信する処理連携方法。
(付記6)
付記1において
前記第2の工程の前に,前記第2の処理部が該第2の処理よりも後に実行される処理の処理結果と識別子とを受信している場合,前記第2の工程では,前記第3の処理部への送信を,前記第2の処理部が前記受信した識別子が示す処理部のうち最後に処理が実行される処理部に,前記第2の処理結果を送信することにより行い,前記第1の処理部への送信を,前記第2の処理結果と前記識別子と前記第2の処理部が受信した処理結果と前記第2の処理部が受信した識別子とを送信することにより行い,
前記第3の工程では,前記第1の処理部が前記第2の処理部から受信した処理結果と識別子とを前記第1の処理結果に関連付けて前記第1の記憶部に記憶し,
前記第4の工程では,前記第3の処理部への送信を,記憶されている前記第1の処理結果と関連付けて記憶された識別子のうち最後に処理が実行される処理部を示す識別子と,記憶されている前記第1の処理結果と関連付けて記憶された処理結果のうち最後に実行される処理の処理結果とを抽出し,前記最後に処理が実行される処理部に前記抽出した処理結果を送信することにより行う処理連携方法。
(付記7)
付記1において,さらに,
前記第3の工程の後に実行される第2の処理の処理結果が,前記第2の処理結果と異なる処理結果になる可能性がある場合,前記第2の処理結果と関連付けて記憶された情報を消去する第6の工程を有する処理連携方法。
(付記8)
付記6において,
前記第1の処理結果に基づいて実行される前記第2の処理が複数ある場合,前記第4の工程では,全ての前記第2の処理部から前記第2の処理結果と前記識別子とを受信するまで,前記第1の処理部が全ての前記第2の処理部に前記第1の処理結果を送信する処理連携方法。
(付記9)
付記1において,さらに,
前記第2の処理部が該第2の処理よりも後に処理が実行される処理部から処理結果と識別子を受信した場合,前記第2の処理部が前記第1の処理部に前記第2の処理結果と前記識別子と前記第2の処理が受信した処理結果と前記第2の処理が受信した識別子とを送信する第7の工程を有する処理連携方法。
(付記10)
付記1において,
前記第1の処理と,前記第2の処理と,前記第3の処理は,入力データに基づいてクエリ処理を行い,該クエリ処理の結果を出力する処理連携方法。
(付記11)
付記1において,
前記第1の工程では,前記第1の処理部が前記第2の処理部に前記第1の処理部を識別する識別子を送信し,
前記第2の工程では,前記第2の処理部が前記第3の処理部に前記第1の処理部を識別する識別子を送信し,
前記第4の工程では,前記第1の処理部が前記第3の処理部に前記第1の処理部を識別する識別子を送信する処理連携方法。
(付記12)
第1の処理部が第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信し,
前記第2の処理部が前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信し,
前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶し,
前記第1の処理の処理結果が前記第1の記憶部に記憶されている前記第1の処理結果と一致する場合に,前記第1の処理部が,前記第1の処理結果と関連付けて記憶されている前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した前記第3の処理部に前記第2の処理結果を送信する
処理をコンピュータに実行させる処理連携プログラム。
(付記13)
第1の処理部と,第2の処理部と,第3の処理部とを有する処理連携システムであって,
前記第1の処理部は,第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信し,
前記第2の処理部は,前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信し,
前記第1の処理部は,さらに,前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶し,
前記第1の処理部は,さらに,前記第1の処理の処理結果が前記第1の記憶部に記憶されている前記第1の処理結果と一致する場合に,前記第1の処理部が,前記第1の処理結果と関連付けて記憶されている前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した前記第3の処理部に前記第2の処理結果を送信する
処理連携システム。
1A:物理マシン 1B:物理マシン
1C:物理マシン 2:クライアント端末
111A:処理部 111B:処理部
111C:処理部 120A:情報格納領域
120B:情報格納領域 120C:情報格納領域

Claims (12)

  1. 第1の処理部が第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信する第1の工程と,
    前記第2の処理部が前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信する第2の工程と,
    前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶する第3の工程と,
    前記第3の工程の後に実行された前記第1の処理の処理結果が前記第1の記憶部に記憶されている前記第1の処理結果と一致する場合に,前記第1の処理部が,前記第1の処理結果と関連付けて記憶されている前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した前記第3の処理部に前記第2の処理結果を送信する第4の工程と,を有する
    処理連携方法。
  2. 請求項1において,
    前記第2の工程では,前記第1の処理結果によって前記第2の処理結果が一意に定まる場合に,前記第1の処理部への送信を行う処理連携方法。
  3. 請求項1において,
    前記第2の工程では,前記第2の処理部が前記第1の処理部から前記第1の処理結果を受信した受信回数が所定の閾値を超えた場合に,前記第1の処理部への送信を行う処理連携方法。
  4. 請求項1において,さらに,
    前記第1の処理部が前記第1の記憶部から抽出した前記第2の処理結果を前記第3の処理部に送信した送信回数を記憶する第5の工程を有する処理連携方法。
  5. 請求項4において,
    前記第5の工程では,前記送信回数が所定の閾値を超えた場合に,前記第1の処理部が記憶した前記送信回数を前記第2の処理部に送信する処理連携方法。
  6. 請求項1において
    前記第2の工程の前に,前記第2の処理部が該第2の処理よりも後に実行される処理の処理結果と識別子とを受信している場合,前記第2の工程では,前記第3の処理部への送信を,前記第2の処理部が前記受信した識別子が示す処理部のうち最後に処理が実行される処理部に,前記第2の処理結果を送信することにより行い,前記第1の処理部への送信を,前記第2の処理結果と前記識別子と前記第2の処理部が受信した処理結果と前記第2の処理部が受信した識別子とを送信することにより行い,
    前記第3の工程では,前記第1の処理部が前記第2の処理部から受信した処理結果と識別子とを前記第1の処理結果に関連付けて前記第1の記憶部に記憶し,
    前記第4の工程では,前記第3の処理部への送信を,記憶されている前記第1の処理結果と関連付けて記憶された識別子のうち最後に処理が実行される処理部を示す識別子と,記憶されている前記第1の処理結果と関連付けて記憶された処理結果のうち最後に実行される処理の処理結果とを抽出し,前記最後に処理が実行される処理部に前記抽出した処理結果を送信することにより行う処理連携方法。
  7. 請求項1において,さらに,
    前記第3の工程の後に実行される第2の処理の処理結果が,前記第2の処理結果と異なる処理結果になる可能性がある場合,前記第2の処理結果と関連付けて記憶された情報を消去する第6の工程を有する処理連携方法。
  8. 請求項1において,さらに,
    前記第2の処理部が該第2の処理よりも後に処理が実行される処理部から処理結果と識別子を受信した場合,前記第2の処理部が前記第1の処理部に前記第2の処理結果と前記識別子と前記第2の処理が受信した処理結果と前記第2の処理が受信した識別子とを送信する第7の工程を有する処理連携方法。
  9. 請求項1において,
    前記第1の処理及び前記第2の処理,入力データに基づいてクエリ処理を行い,該クエリ処理の結果を出力する処理連携方法。
  10. 請求項1において,
    前記第1の工程では,前記第1の処理部が前記第2の処理部に前記第1の処理部を識別する識別子を送信し,
    前記第2の工程では,前記第2の処理部が前記第3の処理部に前記第1の処理部を識別する識別子を送信し,
    前記第4の工程では,前記第1の処理部が前記第3の処理部に前記第1の処理部を識別する識別子を送信する処理連携方法。
  11. 第1の処理部が第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信し,
    前記第2の処理部が前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信し,
    前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶し,
    前記第1の処理の処理結果が前記第1の記憶部に記憶されている前記第1の処理結果と一致する場合に,前記第1の処理部が,前記第1の処理結果と関連付けて記憶されている前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した前記第3の処理部に前記第2の処理結果を送信する
    処理をコンピュータに実行させる処理連携プログラム。
  12. 第1の処理部と,第2の処理部と,第3の処理部とを有する処理連携システムであって,
    前記第1の処理部は,第1の処理を実行した結果である第1の処理結果を,第1の記憶部に記憶するとともに第2の処理部に送信し,
    前記第2の処理部は,前記第1の処理部から受信した前記第1の処理結果に基づいて第2の処理を実行した結果である第2の処理結果を,第2の記憶部に記憶するとともに第3の処理部に送信し,前記第2の処理結果と前記第3の処理部を識別する識別子とを,前記第1の処理部に送信し,
    前記第1の処理部は,さらに,前記第1の処理部が前記第2の処理部から受信した前記第2の処理結果と前記識別子とを,前記第1の処理結果に関連付けて前記第1の記憶部に記憶し,
    前記第1の処理部は,さらに,前記第1の処理の処理結果が前記第1の記憶部に記憶されている前記第1の処理結果と一致する場合に,前記第1の処理部が,前記第1の処理結果と関連付けて記憶されている前記第2の処理結果と前記識別子を抽出し,前記識別子によって識別した前記第3の処理部に前記第2の処理結果を送信する
    処理連携システム。
JP2014087240A 2014-04-21 2014-04-21 処理連携方法,処理連携プログラム及び処理連携システム Expired - Fee Related JP6299374B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014087240A JP6299374B2 (ja) 2014-04-21 2014-04-21 処理連携方法,処理連携プログラム及び処理連携システム
US14/668,537 US9436519B2 (en) 2014-04-21 2015-03-25 Process cooperation method, process cooperation program, and process cooperation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014087240A JP6299374B2 (ja) 2014-04-21 2014-04-21 処理連携方法,処理連携プログラム及び処理連携システム

Publications (2)

Publication Number Publication Date
JP2015207148A JP2015207148A (ja) 2015-11-19
JP6299374B2 true JP6299374B2 (ja) 2018-03-28

Family

ID=54322113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014087240A Expired - Fee Related JP6299374B2 (ja) 2014-04-21 2014-04-21 処理連携方法,処理連携プログラム及び処理連携システム

Country Status (2)

Country Link
US (1) US9436519B2 (ja)
JP (1) JP6299374B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7423271B2 (ja) * 2019-11-18 2024-01-29 株式会社アイ・アイ・エム 監視装置、監視システム及び監視プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027164A (ja) * 1996-07-10 1998-01-27 Nippon Telegr & Teleph Corp <Ntt> 分散処理方法
JPH10105420A (ja) 1996-09-25 1998-04-24 Hitachi Ltd リモートプロシジャコール処理方式
JP2955555B1 (ja) * 1998-02-13 1999-10-04 松下電器産業株式会社 ネットワークシステム
US6209039B1 (en) * 1998-10-16 2001-03-27 Mci Worldcom, Inc. Method and apparatus for providing an interface between a plurality of frame relay networks
JP4432733B2 (ja) * 2004-11-05 2010-03-17 富士ゼロックス株式会社 連携処理装置及びシステム
JP2007272694A (ja) 2006-03-31 2007-10-18 Fujitsu Ltd 通信インターフェース装置及び通信方法
JP4696025B2 (ja) 2006-05-25 2011-06-08 富士通株式会社 計算処理システムおよびデータ更新方法
JP4806295B2 (ja) 2006-05-25 2011-11-02 富士通株式会社 通信インターフェース装置及び通信方法
DE102008059204B9 (de) * 2008-11-27 2011-05-05 Infineon Technologies Ag Verfahren zum Suchen eines Slave-Knotens in einem Kommunikationsnetz, Master-Knoten und Slave-Knoten für ein Kommunikationsnetz
JP5919825B2 (ja) * 2012-01-05 2016-05-18 富士通株式会社 データ処理方法、分散処理システムおよびプログラム

Also Published As

Publication number Publication date
US9436519B2 (en) 2016-09-06
JP2015207148A (ja) 2015-11-19
US20150301872A1 (en) 2015-10-22

Similar Documents

Publication Publication Date Title
CN112416456B (zh) 配置文件处理方法、装置、设备、存储介质和系统
CN106790131B (zh) 一种参数修改方法、装置及分布式平台
WO2011039826A1 (ja) 取得可能な機器情報に応じた障害原因解析ルールの設計方法及び計算機
KR101940823B1 (ko) 모바일 컴퓨팅 장치 센서를 이용한 프라이빗 스페이스의 맵 생성
JP2017510919A (ja) 分散型処理システム
GB2449037A (en) Multilayer distributed processing system
US20160373268A1 (en) Information processing system, information processing method, and storage medium
US20180184472A1 (en) Communication apparatus, communication system, and communication control method
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
JP2008295013A5 (ja)
CN114401319B (zh) 一种请求处理方法、装置、服务器及存储介质
CN103581040A (zh) 服务器分配装置和服务器分配方法
JP6299374B2 (ja) 処理連携方法,処理連携プログラム及び処理連携システム
JP2017503371A (ja) 環境コンテキストを共有するための方法及び装置
CN109842482A (zh) 一种信息同步方法、系统及终端设备
CN102144373A (zh) 概率动态路由器-服务器网格路由
CN111132121B (zh) 信息处理方法和网络仓库功能nrf网元
US9667530B2 (en) Privacy preserving query method and system for use in federated coalition networks
US20160204998A1 (en) Method of constructing data collector, server performing the same and storage medium for the same
CN111211991A (zh) 一种资产处理方法、系统及终端设备
JP5761345B2 (ja) 通信ネットワークシステム、通信方法および情報処理装置
CN109062599A (zh) 微服务架构下代码更新的管理方法和装置
US20210216662A1 (en) Data management method, data management system, and terminal
US8477654B2 (en) Method for representing nodes in network
US20120016900A1 (en) Identification of third party pim repositories storing a user&#39;s contact information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180212

R150 Certificate of patent or registration of utility model

Ref document number: 6299374

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees