JP2016126653A - 管理システム、制御方法、および制御プログラム - Google Patents

管理システム、制御方法、および制御プログラム Download PDF

Info

Publication number
JP2016126653A
JP2016126653A JP2015001636A JP2015001636A JP2016126653A JP 2016126653 A JP2016126653 A JP 2016126653A JP 2015001636 A JP2015001636 A JP 2015001636A JP 2015001636 A JP2015001636 A JP 2015001636A JP 2016126653 A JP2016126653 A JP 2016126653A
Authority
JP
Japan
Prior art keywords
update
information
systems
management system
order
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
JP2015001636A
Other languages
English (en)
Other versions
JP6519180B2 (ja
Inventor
敏伸 山口
Toshinobu Yamaguchi
敏伸 山口
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2015001636A priority Critical patent/JP6519180B2/ja
Publication of JP2016126653A publication Critical patent/JP2016126653A/ja
Application granted granted Critical
Publication of JP6519180B2 publication Critical patent/JP6519180B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】各システム間で関連する情報を容易な設定で適切に更新することが可能な管理システムを提供する。【解決手段】管理システム500は、社員情報222Aを保持する連携システム300Aと、社員情報222Bを保持する連携システム300Bとを備える。社員情報222A,222Bは、互いに関連し、更新順序に依存関係を有する。ID統合システム100は、社員情報222A,222Bのうちのいずれかの更新を受け付けたときに、上記依存関係と更新内容とに基づいて、社員情報222A,222Bの更新順序を決定し、決定した更新順序で社員情報222A,222Bのそれぞれを更新する。【選択図】図2

Description

本開示は、複数のシステム間で関連する情報を整合性を保ちながら管理する管理システムの制御に関する。
従来、処理の実行順序を適切に制御するための様々な技術が開発されている。たとえば、特開平8−272626号公報(特許文献1)は、無駄な待ち時間を排除したジョブの並行処理するためのバッチジョブ処理方法を開示している。
特開平9−218861号公報(特許文献2)は、並列処理のスケジューリングを行なう際に、処理の中間生成データを保持したまま他のジョブを待つような遊休時間を短くするスケジューラを開示している。
特開平8−272626号公報 特開平9−218861号公報
ところで、近年では、社員などのアカウントおよび社員のファイルなどの使用権限を一元的に管理する管理システムが開発されている。当該管理システムは、社員の入社、退社、または異動などに応じて、自身が管理している複数のシステム(以下、「連携システム」ともいう。)において、当該社員に関連する社員情報を自動的に更新する。このとき、社員情報の更新処理が各連携システムに対して適切な順序で実行されない場合には、社員情報の互いの整合性が失われ、結果としてエラーが生じる可能性がある。
このようなエラーを回避するために、管理システムの管理者は、各連携システムに対して更新処理の順序を適切に設定する必要があった。特許文献1に開示されるバッチジョブ処理方法や、特許文献2に開示されるスケジューラが当該管理システムに応用されたとしても、管理者は、各連携システムに対して更新処理の順序を事前に適切に設定する必要がある。すなわち、管理者には、処理順序を適切に設定するための知識が必要とされる。そのため、社員情報などの各システム間で関連する情報を容易な設定で適切に更新することが可能な管理システムが望まれている。
本開示は上述のような問題点を解決するためになされたものであって、その目的は、各システム間で関連する情報を容易な設定で適切に更新することが可能な管理システムを提供することである。他の局面における目的は、各システム間で関連する情報を容易な設定で適切に更新することが可能な制御方法を提供することである。さらに他の局面における目的は、各システム間で関連する情報を容易な設定で適切に更新することが可能な制御プログラムを提供することである。
一実施の形態に従うと、管理システムは、互いに関連する第1情報をそれぞれ保持し、互いの第1情報の更新順序に依存関係を有する複数のシステムと、複数のシステムのうちのいずれかの第1情報に対する更新を受け付けるための第1受付部と、第1受付部が更新を受け付けたときに、依存関係と更新の内容とに基づいて、複数のシステムに保持されている第1情報のそれぞれの更新順序を決定するための決定部と、決定部によって決定された更新順序で複数のシステムに保持されている第1情報のそれぞれを更新するための更新部とを備える。
好ましくは、管理システムは、依存関係の入力を受け付けるための第2受付部をさらに備える。
好ましくは、決定部は、依存関係と更新の内容とに基づいて、複数のシステムの各々について、依存先のシステムを特定し、依存先のシステムにおける第1情報を優先的に更新するように更新順序を決定する。
好ましくは、更新の内容は、第1情報の新規作成と、第1情報の削除とを含む。複数のシステムは、互いに階層関係を有する。決定部は、更新の内容が第1情報の新規作成である場合には、複数のシステムの各々について、当該システムよりも階層が上位にあるシステムを依存先のシステムとして特定し、更新の内容が第1情報の削除である場合には、複数のシステムの各々について、当該システムよりも階層が下位にあるシステムを依存先のシステムとして特定する。
好ましくは、更新の内容は、第1情報の変更を含む。変更は、第1情報の削除処理と、新たな第1情報の新規作成処理とで実現される。管理システムは、削除処理と新規作成処理とのいずれの処理を優先するかの設定を受け付ける。
好ましくは、更新部は、決定部によって決定された更新順序で複数のシステムに保持されている第1情報のそれぞれを順に更新する過程において更新処理が途中で失敗した場合には、システムに対する第1情報の以降の更新を行なわない。
好ましくは、複数のシステムは、互いに関連する第2情報をそれぞれ保持する。決定部は、依存関係と第2情報に対する更新の内容とに基づいて、複数のシステムに保持されている第2情報のそれぞれの更新順序をさらに決定する。更新部は、第1情報の更新タイミングと第2情報の更新タイミングとが異なるシステム間で重なる場合には、第1情報と第2情報とを並列に更新する。
好ましくは、更新部は、第1情報の更新タイミングと第2情報の更新タイミングとが同一のシステム内において重なる場合には、第1情報および第2情報のそれぞれに依存しているシステムの数が多い方の情報を優先的に更新する。
他の局面に従うと、管理システムの制御方法が提供される。管理システムは、互いに関連する第1情報をそれぞれ保持し、互いの第1情報の更新順序に依存関係を有する複数のシステムを備える。制御方法は、複数のシステムのうちのいずれかの第1情報に対する更新を受け付けるステップと、更新を受け付けたときに、依存関係と更新の内容とに基づいて、複数のシステムに保持されている第1情報のそれぞれの更新順序を決定するステップと、更新順序で複数のシステムに保持されている第1情報のそれぞれを更新するステップとを備える。
さらに他の局面に従うと、管理システムの制御プログラムが提供される。管理システムは、プロセッサと、互いに関連する第1情報をそれぞれ保持し、互いの第1情報の更新順序に依存関係を有する複数のシステムとを備える。制御プログラムは、プロセッサに、複数のシステムのうちのいずれかの第1情報に対する更新を受け付けるステップと、更新を受け付けたときに、依存関係と更新の内容とに基づいて、複数のシステムに保持されている第1情報のそれぞれの更新順序を決定するステップと、更新順序で複数のシステムに保持されている第1情報のそれぞれを更新するステップとを実行させる。
ある局面において、各システム間で関連する情報を容易な設定で適切に更新することができる。
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
管理システムのシステム構成の一例を示す図である。 第1の実施の形態に従うID(Identification)統合システムの処理を概略的に示した概念図である。 第1の実施の形態に従うID統合システムの機能構成を示すブロック図である。 システム間の依存関係の一例を示す図である。 更新受付部によって出力される更新情報の内容を示す図である。 特定部によって出力される更新リストの内容を示す図である。 決定部によって出力される処理順リストの内容を示す図である。 更新処理を実行する過程における処理順リストの内容を示す図である。 更新処理を実行する過程における処理順リストの内容を示す図である。 第1の実施の形態に従うID統合システムと従来のID統合システムとにおける、更新処理を開始してから完了するまでの時間を比較した図である。 第1の実施の形態に従うID統合システムが実行する処理を表わすフローチャートである。 管理システムの主要なハードウェア構成を示すブロック図である。 第2の実施の形態における処理順リストの内容を示す図である。 各システムにおいて実行される更新処理を時系列の順に示した図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。また、以下で説明する各実施の形態または変形例は、適宜選択的に組み合わされてもよい。
<第1の実施の形態>
[管理システム500のシステム構成]
図1を参照して、管理システム500のシステム構成について説明する。図1は、管理システム500のシステム構成の一例を示す図である。
図1に示されるように、管理システム500は、ID統合システム100と、連携システム300A〜300Cと、DB(DataBase)サーバー400とを含む。ID統合システム100およびDBサーバー400は、ネットワーク140Aを介して互いに接続されている。ID統合システム100および連携システム300A〜300Cは、ネットワーク140Bを介して互いに接続されている。
管理システム500は、たとえば、社内の社員情報を一元的に管理するために用いられる。一例として、社員情報は、社員IDと、社員の名前と、当該社員のメールアドレスと、当該社員のフォルダのアクセス権限との対応関係を社員ID別に含む。管理者は、社員の入社、退社、または異動に応じて、DBサーバー400で管理される社員情報を更新する操作をID統合システム100に対して行なう。ID統合システム100は、当該操作を受け付けると、連携システム300A〜300Cにおける当該社員に関する社員情報を自動的に更新する。これにより、ID統合システム100は、連携システム300A〜300Cの間で社員情報の整合性を保つ。ID統合システム100は、たとえば、夜間などの予め定められた時間に定期的に一括して更新処理を行なう。更新処理は、たとえば、社員情報の登録処理、削除処理、および変更処理などを含む。
なお、以下では、管理システム500が管理する情報として社員情報を挙げて説明を行なうが、当該情報は、社員情報に限定されない。たとえば、当該情報は、ユーザー情報、またはその他の情報などであってもよい。
[ID統合システム100の概要]
図2を参照して、ID統合システム100の概要について説明する。図2は、ID統合システム100の処理を概略的に示した概念図である。なお、説明を簡単にするために、図2においては、管理システム500が2つの連携システム300A,300Bによって構成されている例について説明する。
連携システム300Aは、社員情報222Aを保持する。連携システム300Bは、社員情報222Bを保持する。社員情報222A,222Bは、互いに関連する情報であり、互いの更新順序に依存関係を有する。すなわち、社員情報222A,222Bは、少なくとも一部において共通する情報を互いに有する。そのため、ID統合システム100が適切な順序で社員情報222A,222Bを更新しない場合には、社員情報222A,222Bの互いの整合性が失われ、結果としてエラーが生じる。
このようなエラーが生じる具体例について説明する。たとえば、連携システム300AがAD(Active Directory)サーバーであり、連携システム300Bがファイルサーバーであるとする。また、管理者が新たな社員のアカウント(社員IDなど)および当該社員の権限をADサーバーに対して新規作成し、他の管理者が当該社員に対するフォルダ権限をファイルサーバーに対して追加したとする。この場合、ファイルサーバーは、当該社員の権限をADサーバーから取得する必要があるため、当該社員のアカウントを新規作成する処理を、当該社員の権限を追加する処理よりも優先的に行なう必要がある。このように、ファイルサーバーの社員情報は、ADサーバーの社員情報に依存しているため、ID統合システム100は、整合性を保ちながら社員情報222A,222Bを更新するためには、社員情報222A,222Bの互いの依存関係を把握した上で更新処理を実行する必要がある。
そこで、本実施の形態に従うID統合システム100は、社員情報222A,222Bのいずれかに対する更新を受け付けたときに、社員情報222A,222Bの依存関係と、社員情報222A,222Bの更新内容とに基づいて、社員情報222A,222Bのそれぞれの更新順序を決定する。
より具体的には、ID統合システム100は、システム間の依存関係と更新内容とに基づいて、各システムの依存先のシステムを特定し、依存先のシステムにおける社員情報を優先的に更新する。依存先のシステムは、下記のルール(1)〜(3)に従って、特定される。
ルール(1):更新内容が新規作成である場合、各システムについて、当該システムよりも上位階層にあるシステムを依存先のシステムとして特定する。
ルール(2):更新内容が削除である場合、各システムについて、当該システムよりも下位階層にあるシステムを依存先のシステムとして特定する。
ルール(3):更新内容が変更である場合、各システムについて、当該システムよりも上位階層にあるシステムを依存先のシステムとして特定する。
たとえば、連携システム300Aおよび連携システム300Bは、階層関係を有し、連携システム300Aが上位システム、連携システム300Bが下位システムであるとする。この場合、ID統合システム100は、社員情報の新規作成処理と変更処理とを実行するときには、上記ルール(1)(3)に従って、連携システム300Aを連携システム300Bの依存先として特定する(図2の処理例(A)参照)。その結果、ID統合システム100は、連携システム300Bの依存先である連携システム300Aの社員情報222Aを更新し、その後、連携システム300Bの社員情報222Bを更新する。
一方で、ID統合システム100は、社員情報の削除処理を実行するときには、上記ルール(2)に従って、連携システム300Bを連携システム300Aの依存先として特定する(図2の処理例(B)参照)。その結果、ID統合システム100は、連携システム300Aの依存先である連携システム300Bの社員情報222Bを更新し、その後、連携システム300Aの社員情報222Aを更新する。
このように、ID統合システム100は、連携システム間の依存関係と更新内容とに基づいて、各連携システムの依存先のシステムを特定し、依存先のシステムにおける社員情報を優先的に更新する。
ID統合システム100は、連携システム間の依存関係(階層関係)を設定するだけで、適切に各社員情報を更新することができる。連携システム間の依存関係は、管理者にとって容易に理解できるため、知識のない管理者であっても、連携システム間の依存関係を容易に設定できる。これにより、管理者は、各連携システムに対して更新順序を設定する必要がなくなり、その結果、更新順序の設定ミスを防ぐことができる。なお、連携システム間の依存関係は、管理システム500の設計時に予め設計者によって決められていてもよい。
[ID統合システム100の機能構成]
図3〜図10を参照して、第1の実施の形態に従うID統合システム100の機能について説明する。図3は、ID統合システム100の機能構成を示すブロック図である。図3に示されるように、ID統合システム100は、プログラム130を含む。プログラム130は、たとえば、ID統合システム100の記憶装置110(図12)に格納される。また、プログラム130は、たとえば、ID統合システム100のCPU(Central Processing Unit)102によって実行される。プログラム130は、依存関係受付部150(第2受付部)と、更新受付部160(第1受付部)と、特定部170と、決定部180と、更新部190とを有する。以下では、これらの機能について順に説明する。
(依存関係受付部150)
図3および図4を参照して、依存関係受付部150の機能について説明する。図4は、システム間の依存関係の一例を示す図である。図4の例では、管理システム500は、連携システム300A〜300Eによって構成される。
図3に示されるように、依存関係受付部150は、管理者によるシステム間の依存関係の入力を受け付ける。すなわち、管理者は、管理システム500に対して、連携システム300A〜300Eの間の依存関係を設定することができる。言い換えると、管理者は、各連携システムの階層を設定する。依存関係受付部150は、連携システム間の依存関係を受け付けると、当該依存関係を決定部180に出力する。
依存関係の設定方法としては、たとえば、図4に示されるように、各連携システム間を線で繋ぐなどして各連携システムを関連付ける方法が挙げられる。図4の例では、連携システム300Aと連携システム300Bとが、互いに関連付けられている。連携システム300Aと連携システム300Dとが、互いに関連付けられている。連携システム300Bと連携システム300Cとが、互いに関連付けられている。連携システム300Dと連携システム300Eとが、互いに関連付けられている。
(更新受付部160)
図3および図5を参照して、更新受付部160の機能について説明する。図5は、更新受付部160によって出力される更新情報51の内容を示す図である。
上述のDBサーバー400(図1参照)は、自身のデータベースに更新があった社員情報を更新情報51として抽出する。すなわち、更新情報51には、社員情報の変更内容がまとめられている。たとえば、DBサーバーが人事システムである場合には、通常、人事システムは、更新情報51を生成する機能を基本機能として備えている。図5の例では、更新情報51は、社員IDが「1」である社員の「入社」を示す更新情報と、社員IDが「2」である社員の「部署異動」を示す更新情報と、社員IDが「3」である社員の「退職」を示す更新情報とを有する。DBサーバー400は、夜間などの予め定められた時刻に更新情報51をID統合システム100に定期的に送信する。
図3に示されるように、更新受付部160は、更新内容がまとめられた更新情報51をDBサーバー400から受信する。更新受付部160は、受信した更新情報51を特定部170に出力する。
(特定部170)
図3,図5および図6を参照して、特定部170の機能について説明する。図6は、特定部170によって出力される更新リスト53の内容を示す図である。
特定部170は、上述の更新情報51(図5参照)に基づいて、社員情報を更新する対象の連携システムを特定するとともに、更新内容を特定する。より具体的には、特定部170は、まず、更新情報51に含まれる社員IDを利用している連携システムを特定する。
図6の例では、特定部170は、図5の更新情報51に含まれている社員ID「1」を利用する連携システム300A〜300Cを更新対象のシステムとして特定する。また、更新情報51には、社員ID「1」の変更内容が「入社」であることが示されているので、特定部170は、連携システム300A〜300Cに対して社員ID「1」の社員情報を新規作成すると判断する。
同様に、特定部170は、更新情報51に含まれている社員ID「2」を利用している連携システム300B,300Cを更新対象のシステムとして特定する。また、更新情報51には、社員ID「2」の変更内容が「部署異動」であることが示されているので、特定部170は、社員情報を連携システム300A,300Bに対して社員ID「2」の社員情報を「変更」すると特定する。
同様に、特定部170は、更新情報51に含まれている社員ID「3」を利用している連携システム300A〜300Eを更新対象のシステムとして特定する。また、更新情報51には、社員ID「3」の変更内容が「退職」であることが示されているので、特定部170は、連携システム300A〜300Eに対して社員ID「3」の社員情報を削除すると判断する。
以上のようにして、特定部170は、更新対象のシステムと、各システムに対する更新内容を特定し、更新リスト53を生成する。図3に示されるように、特定部170は、生成された更新リスト53を決定部180に出力する。
(決定部180)
図4および図7を参照して、決定部180の機能について説明する。図7は、決定部180によって出力される処理順リスト55の内容を示す図である。
決定部180は、連携システム間の依存関係と更新内容とに基づいて、各連携システムの依存先のシステムを決定する。このとき、決定部180は、上述のルール(1)〜(3)に従って、各連携システムの依存先のシステムを決定する。
たとえば、更新内容が「新規作成」である場合には、上述のルール(1)に従って、決定部180は、新規作成処理を実行する対象である連携システム300A〜300Cにおいて、より上位階層にある連携システムを依存先のシステムとして判断する。なお、システム間の階層関係は、図4に示される通りである。その結果、図7の処理順リスト55に示されるように、決定部180は、連携システム300Cの依存先が上位層の連携システム300Bであると判断する。同様に、決定部180は、連携システム300Bの依存先が上位層の連携システム300Aであると判断する。
また、更新内容が「変更」である場合には、上述のルール(3)に従って、決定部180は、変更処理を実行する対象である連携システム300B,300Cの各々に、より上位階層にあるシステムを依存先のシステムとして判断する。その結果、図7の処理順リスト55に示されるように、決定部180は、連携システム300Cの依存先が上位層の連携システム300Bであると判断する。
さらに、更新内容が「削除」である場合には、上述のルール(2)に従って、決定部180は、削除処理を実行する対象である連携システム300A〜300Eの各々に対して、下位階層にあるシステムを依存先のシステムとして判断する。その結果、図7の処理順リスト55に示されるように、決定部180は、連携システム300Aの依存先が下位層の連携システム300B,300Cであると判断する。同様に、決定部180は、連携システム300Bの依存先が下位層の連携システム300Cであると判断する。同様に、決定部180は、連携システム300Eの依存先が下位層の連携システム300Dであると判断する。
(更新部190)
図8〜図10を参照して、更新部190の機能について説明する。図8および図9は、更新処理を実行する過程における処理順リスト55の内容を示す図である。図10は、本実施の形態に従うID統合システム100と従来のID統合システムとにおける、更新処理を開始してから完了するまでの時間(以下、「更新時間」ともいう。)を比較した図である。より詳細には、図10の比較結果(A)が本実施の形態に従うID統合システム100の更新時間を表わした図である。図10の比較結果(B)が従来のID統合システムの更新時間を表わした図である。
更新部190は、上述の決定部180によって出力される処理順リスト55を参照して、連携システム300A〜300Eの各々の更新処理を実行する。このとき、更新部190は、依存するタスクが少ないタスクほど優先的に実行する。
図8の例では、更新部190は、まず、連携システム300Aに対する新規作成処理(タスクNo1)、連携システム300Bに対する変更処理(タスクNo4)、連携システム300Cに対する削除処理(タスクNo8)、および連携システム300Dに対する削除処理(タスクNo9)を優先的に実行する。このとき、これらの更新処理は、互いに別のシステムで実行され得るので、更新部190は、これらの更新処理を並列に実行する。
別の言い方をすれば、更新部190は、ある社員情報(第1社員情報)の更新タイミングと他の社員情報(第2社員情報)の更新タイミングとが異なるシステム間で重なる場合には、第1社員情報と第2社員情報とを並列に更新する、これにより、処理時間を短縮することができる。
更新部190は、タスクNo1,No4,No8,No9の各タスクにおける更新処理が完了したタイミングで、各タスクの「状態」を順に「完了」にする。同時に、更新部190は、終了したタスクを依存先のタスクから削除する。たとえば、タスクNo1が完了すると、更新部190は、タスクNo2の依存先のタスクから完了したタスクNo1を削除する。同様に、更新部190は、タスクNo5の依存先のタスクから完了したタスクNo4を削除する。同様に、更新部190は、タスクNo6,No10の依存先のタスクから完了したタスクNo9を削除する。同様に、更新部190は、タスクNo7の依存先のタスクから完了したタスクNo8を削除する。これにより、処理順リスト55は、図9に示されるように更新される。
その結果、更新部190は、新たに、連携システム300Bに対する新規作成処理(タスクNo2)、連携システム300Cに対する変更処理(タスクNo5)、連携システム300Bに対する削除処理(タスクNo7)、および連携システム300Eに対する削除処理(タスクNo10)を実行することが可能になる。このとき、タスクNo2およびタスクNo7は、同一の連携システム300Bで実行されるので同時に実行され得ない。そのため、更新部190は、タスクNo2およびタスクNo7のいずれかと、タスクNo5,No10とを並列に実行する。
以上のようにして、更新部190は、連携システム300A〜300Eの各々に社員情報の更新処理を並列に実行させる。その結果、図10の比較結果(A)に示されるように、ID統合システム100は、時刻T1で更新処理を終了することができる。一方で、従来のID統合システムは、更新処理を順次実行するので、時刻T1よりも後の時刻T2で更新処理を終了する。このように、本実施の形態に従うID統合システム100は、各タスクを並列に処理することにより、従来のID統合システムと比べて更新処理を短時間で完了することが可能になる。
[ID統合システム100の制御構造]
図11を参照して、第1の実施の形態に従うID統合システム100の制御構造について説明する。図11は、ID統合システム100が実行する処理を表わすフローチャートである。図11の処理は、ID統合システム100のCPU102(図12参照)がプログラム130(図3参照)を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子、その他のハードウェアによって実行されてもよい。
ステップS10において、CPU102は、上述の依存関係受付部150(図3参照)として、システム間の依存関係の設定を受け付ける。
ステップS20において、CPU102は、上述の更新受付部160(図3参照)として、DBサーバー400から更新情報51(図5参照)を受け付けたか否かを判断する。CPU102は、DBサーバー400から更新情報51を受け付けたと判断した場合(ステップS20においてYES)、制御をステップS22に切り替える。そうでない場合には(ステップS20においてNO)、CPU102は、ステップS20の処理を再び実行する。
ステップS22において、CPU102は、上述の特定部170(図3参照)として、更新情報51に基づいて、連携システム300A〜300Eのうちから更新対象のシステムを特定する。
ステップS24において、CPU102は、上述の決定部180(図3参照)として、システム間の依存関係と更新内容とに基づいて、連携システム300A〜300Eに保持されている社員情報のそれぞれについて更新順序を決定する。更新順序の決定方法は、上述の通りであるので説明を繰り返えさない。
ステップS26において、CPU102は、上述の更新部190(図3参照)として、決定された更新順序で連携システム300A〜300Eに保持されている社員情報のそれぞれを更新する。
このとき、CPU102は、ある社員情報(第1社員情報)の更新タイミングと他の社員情報(第2社員情報)の更新タイミングとが異なるシステム内で重なる場合には、第1社員情報と第2社員情報とを並列に更新する。また、CPU102は、第1社員情報の更新順序と第2社員情報の更新順序とが同一のシステム内で重なる場合には、第1社員情報および第2社員情報のそれぞれに依存しているシステムの数が多い方の情報を優先的に更新する。
なお、CPU102は、決定された更新順序で社員情報のそれぞれを順に更新する過程において更新処理が途中で失敗した場合には、システムに対する社員情報の以降の更新を行なわない。すなわち、CPU102は、更新処理が途中で失敗した時点で、更新処理を中断する。
[管理システム500のハードウェア構成]
図12を参照して、管理システム500のハードウェア構成の一例について説明する。図12は、管理システム500の主要なハードウェア構成を示すブロック図である。図12に示されるように、管理システム500は、ID統合システム100と、連携システム300と、DBサーバー400とを含む。連携システム300は、上述の連携システム300A〜300Eに対応する。ID統合システム100、連携システム300およびDBサーバー400は、ネットワーク140を介して互いに接続されている。以下では、ID統合システム100のハードウェア構成、連携システム300のハードウェア構成、およびDBサーバー400のハードウェア構成について順に説明する。
(ID統合システム100のハードウェア構成)
図12に示されるように、ID統合システム100は、ROM(Read Only Memory)101と、CPU102と、RAM(Random Access Memory)103と、ネットワークインタフェース(I/F)104と、モニタ105と、記憶装置110とを含む。
ROM101は、オペレーティングシステム、ID統合システム100で実行される制御プログラムなどを格納する。CPU102は、オペレーティングシステム(OS:Operating System)やID統合システム100の制御プログラムなどの各種プログラムを実行することで、ID統合システム100の動作を制御する。RAM103は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
ネットワークI/F104には、アンテナ(図示しない)などが接続される。ID統合システム100は、当該アンテナを介して、他の通信機器との間でデータを送受信する。他の通信機器は、たとえば、連携システム300、DBサーバー400、その他の通信機器などを含む。ID統合システム100は、本実施の形態に従う各種の処理を実現するためのプログラムをダウンロードできるように構成されてもよい。
モニタ105は、ID統合システム100に格納されている社員情報を管理者が確認できる態様で表示する。なお、モニタ105は、タッチセンサ(図示しない)と組み合わされてタッチパネルとして実現されてもよい。タッチパネルは、ID統合システム100で管理される社員情報の更新をタッチ操作によって受け付ける。
記憶装置110は、たとえば、ハードディスクや外付けの記憶装置などの記憶媒体である。一例として、記憶装置110は、本実施の形態に従う各種の処理を実現するためのプログラム130と、ID統合システム100で管理されている社員情報222A(図2参照)と、システム間の依存関係を示す情報とを格納する。プログラム130、社員情報222A、および当該依存関係は、記憶装置110ではなく、DBサーバー400、他のサーバーに格納されてもよい。
なお、本実施の形態に従う各種の処理を実現するためのプログラム130は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従うID統合システム100の趣旨を逸脱するものではない。さらに、本実施の形態に従うプログラム130によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、ID統合システム100とサーバーとが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも1つのサーバーが本実施の形態に従う処理を実現する、所謂クラウドサービスのような形態でID統合システム100が構成されてもよい。
(連携システム300ハードウェア構成)
次に、連携システム300のハードウェア構成について説明する。図12に示されるように、連携システム300は、ROM201と、CPU202と、RAM203と、ネットワークI/F204と、記憶装置210とを含む。
ROM201は、オペレーティングシステム、連携システム300で実行される制御プログラムなどを格納する。CPU202は、オペレーティングシステムや連携システム300の制御プログラムなどの各種プログラムを実行することで、連携システム300の動作を制御する。RAM203は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
ネットワークI/F204には、アンテナ(図示しない)などが接続される。連携システム300は、当該アンテナを介して、他の通信機器との間でデータを送受信する。他の通信機器は、たとえば、ID統合システム100、DBサーバー400、およびその他の通信機器などを含む。
モニタ205は、連携システム300に格納されている社員情報を管理者が確認できる態様で表示する。なお、モニタ205は、タッチセンサ(図示しない)と組み合わされてタッチパネルとして実現されてもよい。タッチパネルは、連携システム300で管理される社員情報の更新をタッチ操作によって受け付ける。
記憶装置210は、たとえば、ハードディスクや外付けの記憶装置などの記憶媒体である。一例として、記憶装置210は、連携システム300で実行されるプログラムや、連携システム300で管理されている社員情報222A(図2参照)などを格納する。
(DBサーバー400のハードウェア構成)
次に、DBサーバー400のハードウェア構成について説明する。図12に示されるように、DBサーバー400は、ROM401と、CPU402と、RAM403と、ネットワークI/F404と、記憶装置410とを含む。
ROM401は、オペレーティングシステム、DBサーバー400で実行される制御プログラムなどを格納する。CPU402は、オペレーティングシステムやDBサーバー400の制御プログラムなどの各種プログラムを実行することで、DBサーバー400の動作を制御する。RAM403は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
ネットワークI/F404には、アンテナ(図示しない)などが接続される。DBサーバー400は、当該アンテナを介して、他の通信機器との間でデータを送受信する。他の通信機器は、たとえば、ID統合システム100、連携システム300、およびその他の通信機器などを含む。
モニタ405は、DBサーバー400に格納されている社員情報を管理者が確認できる態様で表示する。なお、モニタ405は、タッチセンサ(図示しない)と組み合わされてタッチパネルとして実現されてもよい。タッチパネルは、DBサーバー400で管理される社員情報の更新をタッチ操作によって受け付ける。
記憶装置410は、たとえば、ハードディスクや外付けの記憶装置などの記憶媒体である。一例として、記憶装置410は、DBサーバー400で実行されるプログラムや、DBサーバー400で管理されている社員情報などを格納する。
<第2の実施の形態>
[概要]
第1の実施の形態に従うID統合システム100は、各タスクの状態に基づいて各システムの社員情報を動的に更新した。これに対して、第2の実施の形態に従うID統合システム100は、連携システム間の依存関係に基づいて、各連携システムの更新順序を一括で決定する。なお、第2の実施の形態に従うID統合システム100のハードウェア構成などその他の点については第1の実施の形態に従うID統合システム100と同じであるので、それらの説明は繰り返さない。
以下では、図13および図14を参照して、第2の実施の形態における更新順序の決定方法について説明する。図13は、第2の実施の形態における処理順リスト55Aの内容を示す図である。図14は、連携システム300A〜300Eにおいて実行される更新処理を時系列の順に示した図である。
本実施の形態に従うID統合システム100は、下記のルール(4)〜(6)に基づいて、各連携システムの更新順序を決定する。
ルール(4):ID統合システム100は、依存するタスクがより少ないタスクほど優先的に実行する。
ルール(5):更新順序がルール(4)で一意に決まらない場合には、ID統合システム100は、依存されているタスクの数(以下、「被依存タスク数」ともいう。)がより多いタスクを優先的に実行する。
ルール(6):更新順序がルール(5)で一意に決まらない場合には、ID統合システム100は、依存されているタスクの深さがより深いタスクを優先的に実行する。ここでいう「深さ」とは、依存されている一連のタスク数のことをいう。
図13の例では、ID統合システム100は、上記ルール(4)に従って、依存するタスクがより少ない、すなわち依存するタスクがないタスクNo1,No4,No8,No9を他のタスクよりも優先的に実行する。
次に、ID統合システム100は、更新順序が一意に決まらなかったタスクNo1,No4,No8,No9に対して、上記ルール(5)を適用する。タスクNo1においては、被依存タスク数は、タスクNo2およびタスクNo3の2つである。タスクNo4の被依存タスク数は、タスクNo5の1つである。タスクNo8の被依存タスク数は、タスクNo6およびNo7の2つである。タスクNo9の被依存タスク数は、タスクNo6およびNo10の2つである。ID統合システム100は、被依存タスク数がより多いタスクNo1,No8,No9をタスクNo4よりも優先的に実行する。その結果、ID統合システム100は、タスクNo4を4番目に実行する。
次に、ID統合システム100は、タスクNo1,No8,No9に対して、上記ルール(6)を適用する。タスクNo1は、タスクNo2を介してタスクNo3に間接的に依存されている。そのため、タスクNo1の被依存タスクの深さは、「2」である。タスクNo8は、タスクNo7を介してタスクNo6に間接的に依存されている。そのため、タスクNo8の被依存タスクの深さは、「2」である。タスクNo9においては、タスクNo6,No10に直接的に依存されている。そのため、タスクNo9の被依存の深さは、「1」である。ID統合システム100は、被依存タスクの深さがより深いタスクNo1,No8をタスクNo9よりも優先的に実行する。その結果、ID統合システム100は、タスクNo9を3番目に実行する。
なお、ルール(4)〜(6)で実行順序が決まらなかったタスクNo1,No8については、いずれのタスクが先に実行されてもよい。図13の例では、ID統合システム100は、タスクNo8よりもタスクNo1を優先的に実行している。すなわち、ID統合システム100は、タスクNo1を1番目に実行し、タスクNo8を2番目に実行する。
ID統合システム100は、ルール(4)〜(6)を処理順リスト55Aに規定されている全てのタスクについて適用し、各タスクの実行順序を決定する。これにより、ID統合システム100は、図14に示される順番でタスクNo1〜No10を実行する。
<第3の実施の形態>
上述したように、更新処理は、社員情報の登録処理、削除処理、および変更処理を含む。ここで、第1の実施の形態においては、社員情報の変更処理は、上書き処理による変更を前提としていた。しかしながら、連携システムによっては、変更処理が上書き処理で実現され得ない場合がある。この場合、ID統合システム100は、既存の社員情報を削除した後に、変更後の社員情報を連携システム内で新規作成することで変更処理を実現する。すなわち、変更処理は、社員情報の削除処理と、新たな社員情報の新規作成処理とで実現される。第3の実施の形態に従うID統合システム100は、当該削除処理と当該新規作成処理とのいずれを優先するかの設定を受け付ける。
たとえば、ID統合システム100は、一意性制約のあるデータ(ユニークデータ)を変更する場合には、当該データを削除した後でないと、当該データの内容を変更することができない。そのため、ID統合システム100は、当該データの削除処理を実行し、その後に、変更後のデータの新規作成処理を実行する。このような場合には、ID統合システム100は、削除処理を新規作成処理よりも優先するために、新規作成処理を削除処理に依存させる。
一方で、ID統合システム100は、一意性制約のないデータを変更する場合には、当該データの削除処理よりも当該データの新規作成処理を優先する。なぜならば、削除処理が新規作成処理よりも先に実行された場合において、処理中に問題が生じたときには、削除されたデータを復元できないからである。このような場合には、ID統合システム100は、削除処理よりも新規作成処理を優先するために、削除処理を新規作成処理に依存させる。
<第4の実施の形態>
第4の実施の形態に従うID統合システム100は、同一システム内で処理可能なタスクが複数ある場合は、依存されているタスクがより多いタスクを優先的に実行する。言い換えると、ID統合システム100は、ある社員情報(第1社員情報)の更新タイミングと他の社員情報(第2社員情報)の更新タイミングとが同一のシステム内で重なる場合には、第1社員情報および第2社員情報のそれぞれに依存している連携システムの数が多い方の情報を優先的に更新する。これにより、ID統合システム100は、依存されているタスクの数が多いタスクを優先的に実行できるようになり、後に続くタスクの実行を早めることができる。その結果、ID統合システム100は、全体の処理時間を短縮することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
51 更新情報、53 更新リスト、55,55A 処理順リスト、100 統合システム、101,201,401 ROM、102,202,402 CPU、103,203,403 RAM、104,204,404 ネットワークI/F、105,205,405 モニタ、110,210,410 記憶装置、122A,222A 社員情報、140,140A,140B ネットワーク、150 依存関係受付部、160 更新受付部、170 特定部、180 決定部、190 更新部、300A〜300E 連携システム、400 DBサーバー、500 管理システム、No1〜No10 タスク、T1,T2 時刻。

Claims (10)

  1. 管理システムであって、
    互いに関連する第1情報をそれぞれ保持し、互いの第1情報の更新順序に依存関係を有する複数のシステムと、
    前記複数のシステムのうちのいずれかの第1情報に対する更新を受け付けるための第1受付部と、
    前記第1受付部が前記更新を受け付けたときに、前記依存関係と前記更新の内容とに基づいて、前記複数のシステムに保持されている第1情報のそれぞれの更新順序を決定するための決定部と、
    前記決定部によって決定された更新順序で前記複数のシステムに保持されている第1情報のそれぞれを更新するための更新部とを備える、管理システム。
  2. 前記管理システムは、前記依存関係の入力を受け付けるための第2受付部をさらに備える、請求項1に記載の管理システム。
  3. 前記決定部は、
    前記依存関係と前記更新の内容とに基づいて、前記複数のシステムの各々について、依存先のシステムを特定し、
    前記依存先のシステムにおける第1情報を優先的に更新するように前記更新順序を決定する、請求項1または2に記載の管理システム。
  4. 前記更新の内容は、前記第1情報の新規作成と、前記第1情報の削除とを含み、
    前記複数のシステムは、互いに階層関係を有し、
    前記決定部は、
    前記更新の内容が前記第1情報の新規作成である場合には、前記複数のシステムの各々について、当該システムよりも階層が上位にあるシステムを前記依存先のシステムとして特定し、
    前記更新の内容が前記第1情報の削除である場合には、前記複数のシステムの各々について、当該システムよりも階層が下位にあるシステムを前記依存先のシステムとして特定する、請求項3に記載の管理システム。
  5. 前記更新の内容は、前記第1情報の変更を含み、
    前記変更は、前記第1情報の削除処理と、新たな第1情報の新規作成処理とで実現され、
    前記管理システムは、前記削除処理と前記新規作成処理とのいずれの処理を優先するかの設定を受け付ける、請求項1〜4のいずれか1項に記載の管理システム。
  6. 前記更新部は、前記決定部によって決定された更新順序で前記複数のシステムに保持されている第1情報のそれぞれを順に更新する過程において更新処理が途中で失敗した場合には、システムに対する第1情報の以降の更新を行なわない、請求項1〜5のいずれか1項に記載の管理システム。
  7. 前記複数のシステムは、互いに関連する第2情報をそれぞれ保持し、
    前記決定部は、前記依存関係と前記第2情報に対する更新の内容とに基づいて、前記複数のシステムに保持されている第2情報のそれぞれの更新順序をさらに決定し、
    前記更新部は、前記第1情報の更新タイミングと前記第2情報の更新タイミングとが異なるシステム間で重なる場合には、前記第1情報と前記第2情報とを並列に更新する、請求項1〜6のいずれか1項に記載の管理システム。
  8. 前記更新部は、前記第1情報の更新タイミングと前記第2情報の更新タイミングとが同一のシステム内において重なる場合には、前記第1情報および前記第2情報のそれぞれに依存しているシステムの数が多い方の情報を優先的に更新する、請求項7に記載の管理システム。
  9. 管理システムの制御方法であって、
    前記管理システムは、互いに関連する第1情報をそれぞれ保持し、互いの第1情報の更新順序に依存関係を有する複数のシステムを備え、
    前記制御方法は、
    前記複数のシステムのうちのいずれかの第1情報に対する更新を受け付けるステップと、
    前記更新を受け付けたときに、前記依存関係と前記更新の内容とに基づいて、前記複数のシステムに保持されている第1情報のそれぞれの更新順序を決定するステップと、
    前記更新順序で前記複数のシステムに保持されている第1情報のそれぞれを更新するステップとを備える、制御方法。
  10. 管理システムの制御プログラムであって、
    前記管理システムは、
    プロセッサと、
    互いに関連する第1情報をそれぞれ保持し、互いの第1情報の更新順序に依存関係を有する複数のシステムとを備え、
    前記制御プログラムは、前記プロセッサに、
    前記複数のシステムのうちのいずれかの第1情報に対する更新を受け付けるステップと、
    前記更新を受け付けたときに、前記依存関係と前記更新の内容とに基づいて、前記複数のシステムに保持されている第1情報のそれぞれの更新順序を決定するステップと、
    前記更新順序で前記複数のシステムに保持されている第1情報のそれぞれを更新するステップとを実行させる、制御プログラム。
JP2015001636A 2015-01-07 2015-01-07 管理システム、制御方法、および制御プログラム Active JP6519180B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015001636A JP6519180B2 (ja) 2015-01-07 2015-01-07 管理システム、制御方法、および制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015001636A JP6519180B2 (ja) 2015-01-07 2015-01-07 管理システム、制御方法、および制御プログラム

Publications (2)

Publication Number Publication Date
JP2016126653A true JP2016126653A (ja) 2016-07-11
JP6519180B2 JP6519180B2 (ja) 2019-05-29

Family

ID=56359576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015001636A Active JP6519180B2 (ja) 2015-01-07 2015-01-07 管理システム、制御方法、および制御プログラム

Country Status (1)

Country Link
JP (1) JP6519180B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272626A (ja) * 1995-03-30 1996-10-18 Hitachi Software Eng Co Ltd バッチジョブ処理方法
JP2001282592A (ja) * 2000-03-09 2001-10-12 Internatl Business Mach Corp <Ibm> 参照保全性制約によるリレーショナル・データベース動作の順序付け
JP2004090726A (ja) * 2002-08-30 2004-03-25 Honda Motor Co Ltd シートベルト装置の取付構造

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272626A (ja) * 1995-03-30 1996-10-18 Hitachi Software Eng Co Ltd バッチジョブ処理方法
JP2001282592A (ja) * 2000-03-09 2001-10-12 Internatl Business Mach Corp <Ibm> 参照保全性制約によるリレーショナル・データベース動作の順序付け
JP2004090726A (ja) * 2002-08-30 2004-03-25 Honda Motor Co Ltd シートベルト装置の取付構造

Also Published As

Publication number Publication date
JP6519180B2 (ja) 2019-05-29

Similar Documents

Publication Publication Date Title
US9015177B2 (en) Dynamically splitting multi-tenant databases
US8417737B2 (en) Online database availability during upgrade
AU2007289177B9 (en) Dynamically configuring, allocating and deploying computing systems
US8799453B2 (en) Managing networks and machines for an online service
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
JP6011479B2 (ja) アプリケーション管理装置、アプリケーション管理システムおよびプログラム
US20120102506A1 (en) Web service patterns for globally distributed service fabric
US9921882B2 (en) Information processing system, deployment method, processing device, and deployment device
US20120102198A1 (en) Machine manager service fabric
CN111488492B (zh) 用于检索图数据库的方法和装置
CN104580428B (zh) 一种数据路由方法、数据管理装置和分布式存储系统
JP6519180B2 (ja) 管理システム、制御方法、および制御プログラム
JP6169485B2 (ja) 分散処理システム
US11762706B1 (en) Computing environment pooling
JP4343056B2 (ja) ストレージ装置割当て方法ならびにそのための管理サーバおよびプログラム
JP6626327B2 (ja) ガントチャート生成プログラム、ガントチャート生成装置、および、ガントチャート生成方法
US11188389B2 (en) Distributed system that promotes task-machine affinity
JP2007213233A (ja) 複数のアプリケーションの参照関係を管理する管理システム
JP6233130B2 (ja) ワークフロー制御プログラム、ワークフロー制御方法、及びワークフローシステム
US10180830B2 (en) Information processing device, deployment method, and recording medium
JP2019020793A (ja) データベース移行システム
JP2013020494A (ja) ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム
JP2009211413A (ja) ファイル管理システム、ファイル管理方法、及びファイル管理プログラム
JP2017142747A (ja) ネットワークシステム、システム管理方法およびシステム管理プログラム
JP2009230322A (ja) ジョブ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R150 Certificate of patent or registration of utility model

Ref document number: 6519180

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150