(57)【要約】  任意のタイミングでデータの変更を行い、任意のタイミングで任意の端末とオンラインになる複数の端末間でデータの同期を行う際に、次のような課題が存在した。（１）３つ以上の端末が存在する場合、適切にデータの同期を行えない。（２）変更命令の競合を発見することができない。（３）複数の端末が発行した変更命令を順序を守ってデータへ反映させることができない。（４）変更命令の競合を解決した結果を適切に他の端末へ伝達することができない。  上記課題を解決するために、本発明では、データを変更した際に変更命令を生成し、自端末の変更命令と共に、他の端末から受信した変更命令も保持し、端末間で同期する際には、自端末の変更命令と共に、保持している他の端末の変更命令も渡す。また、変更命令が発行された時の状況を表す情報（発火条件情報）を変更命令ごとに保持し、変更命令をデータへ反映させる際は、この情報を参照して、反映させるかどうかを判断するようにする。
2007043417.tif 000002
【特許請求の範囲】
【請求項１】
他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置において、
情報を管理するデータ管理手段と、
前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、
生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、
変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段と、
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記変更命令生成手段において、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする情報処理装置。
【請求項３】
請求項１または請求項２に記載の情報処理装置において、
前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、
前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
【請求項４】
請求項１または請求項２に記載の情報処理装置において、
前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、
前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、
前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
【請求項５】
請求項１または請求項２に記載の情報処理装置において、
前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、
前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
【請求項６】
請求項３または請求項４または請求項５に記載の情報処理装置において、
前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする情報処理装置。
【請求項７】
請求項３または請求項４または請求項５または請求項６に記載の情報処理装置において、
前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする情報処理装置。
【請求項８】
請求項７に記載の情報処理装置において、
前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、
競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする情報処理装置。
【請求項９】
請求項７または請求項８に記載の情報処理装置において、
前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータ管理装置間のデータ同期技術に関し、特に任意のデータ管理装置が他のデータ管理装置とはオフライン（通信不可）状態で行ったデータ操作（新規データの追加、データの更新、データの削除）によるデータの変化を、オンライン（通信可）状態になった際に、オンラインのデータ管理装置へ反映・同期させる技術に関する。
【背景技術】
【０００２】
近年、テレビ番組の制作において、半導体メモリカードや光ディスクにファイル形式で記録を行うカメラレコーダやファイル形式で映像編集を行えるノンリニア編集機の利用によって、撮影から編集までの番組制作工程全体を通して、テープによる制作からファイル形式による番組制作に変わりつつある。それに伴い、ファイル形式の番組素材を管理する素材管理システムが必要となってきた。【０００３】
番組制作は企画、撮影、編集など複数の作業工程から成り立っており、また、それぞれの作業場所も異なる。例えば撮影工程においては番組の内容や、撮影対象に応じて毎回異なる場所で撮影を行うことが通例である。さらに編集工程においては、粗編集、本編集、CG編集、アフレコなど様々な作業の組み合わせでできており、作業ごとに、放送局内の編集室、外部の制作プロダクションなど、場所や設備を変えて作業を行う。つまり、撮影工程においては、放送局内のスタジオや放送局外の様々な場所で映像素材が生成され、編集工程においても、放送局内の編集室や音響室、外部の制作プロダクションなど様々な場所で映像素材が生成される。以上のように番組制作の作業工程を鑑みるに、素材管理システムにおいては、放送局内に設置し全ての素材を一元的に管理する方法では、素材管理方法として番組制作には即さないと考える。【０００４】
従って、本発明では素材管理システムとして分散型素材管理システムを考える。分散型素材管理システムでは撮影、編集など制作工程や作業者ごとに撮影用、粗編集用、本編集用、CG編集用といった素材管理装置を用意し、各工程で生成された素材を素材管理装置ごとに管理する運用を想定する。そして、各装置間をネットワーク接続し、各々の工程に必要な素材の存在や所在の確認・検索及び実際の素材の送受信を素材管理装置間で直接行う。このような分散型素材管理システムでは、素材管理装置間で素材の存在・所在を確認・検索を行うため、オンライン時に素材のタイトルや所在地（素材が管理されている装置および装置内の管理場所を識別する情報）など、素材に関する付加情報（インデックスデータ）を、素材管理装置間で同期させる必要がある。【０００５】
データの同期を行う従来技術として、例えば特開平１１−２７２５３３号公報にはリレーショナルデータベースにおいて、マスタ機と孤立して更新されるレプリカ機のデータをマスタデータと矛盾なく同期させるため、前回の同期完了時刻とレコードごとの最終更新時刻を管理し、同期処理時には、前回同期時刻より新しい最終更新時刻を持つレコードを送受信する方法が開示されている。【０００６】
また、特開２００１−４３１１９号公報および特開２００５−１８５０６号公報では、コマンドやジャーナルと呼ばれるデータの変更情報を第1の装置で蓄積しておき、第2の装置へその変更情報を送信し、処理させることによって、第1の装置のデータに、第2の装置のデータを同期する技術が開示されている。【０００７】
【特許文献１】特開平１１−２７２５３３号公報
【特許文献２】特開２００１−４３１１９号公報
【特許文献３】特開２００５−１８５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
番組制作において、素材管理装置は撮影現場、編集現場などに持ち運ばれ、オフラインの状態であるときに、次々と新しい素材が登録され、それに伴って、インデックスデータも変更されるのが通常である。例えば、ある素材管理装置が撮影に持ち出され、ロケ先であるためオフライン状態である間に、撮影によって作成された新規の素材がその素材管理装置に登録される場合を考える。この素材管理装置を放送局に持ち帰って放送局内の素材管理装置とオンラインになった際に、オフライン中に更新したインデックスデータが伝達され、撮影現場に持ち運ばれた素材管理装置と放送局内の素材管理装置のインデックスデータが同期されることになる。しかしながら、現実の番組制作の運用はより複雑であり、ロケ中に撮影現場の素材管理装置のインデックスデータが更新されるのと並行して、放送局内においては編集された素材の登録などによって、放送局内の素材管理装置のインデックスデータが変更される。つまり、同期を取らなければならない複数の装置双方でインデックスデータが同時に変更（新規追加、更新、削除）される可能性がある。【０００９】
また、撮影現場に複数の撮影用素材管理装置を持ち運んで撮影用素材管理装置同士をオンラインにして、インデックスデータを同期する場合や、放送局内で撮影用素材管理装置と編集用素材管理装置でインデックスデータを同期する場合など、同期を行う相手装置も様々である。そして、撮影用の素材管理装置は他の撮影用の素材管理装置とはオンラインになりインデックスデータの同期を行うが、放送局には帰らず、放送局内の編集用の素材管理装置とはインデックスデータの同期を行わないという場合も存在する。【００１０】
このように、素材管理装置が任意に他の素材管理装置とオフラインとオンラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更が行われ、同期を行う相手の装置も状況に応じて異なり、運用状況によってはお互い直接同期処理を行う機会が存在しない素材管理装置間の関係が存在しうる状況において、複数の素材管理装置間でインデックスデータを同期することができなければならない。【００１１】
以上に述べた状況においてデータの同期を行う際の課題について、例を用いて以下に説明する。【００１２】
例えば、ある素材管理装置Aと素材管理装置Bが同じインデックスデータYを管理しており、素材管理装置Aが撮影に持ち出され素材管理装置Bとオフライン状態である間に、インデックスデータYを削除し、その後、素材管理装置Aが素材管理装置Bとオンラインになった場合を考える。このとき、素材管理装置AはインデックスデータYを管理しておらず、素材管理装置BはインデックスデータYを管理しているという状態になっている。この際に期待される同期処理は、素材管理装置BのインデックスデータYが削除されるというものである。一方、素材管理装置Aと素材管理装置Bの双方共に、インデックスデータYを管理していない状態でオフラインになり、オフライン中に素材管理装置BでインデックスデータYが新規作成され、管理されるようになり、その後、素材管理装置Aと素材管理装置Bがオンラインになった場合を考える。このとき、前述の場合と同様に、素材管理装置AはインデックスデータYを管理しておらず、素材管理装置BはインデックスデータYを管理しているという状態になっている。しかし、今回期待される同期処理は、素材管理装置AにインデックスデータYが渡され、素材管理装置AもインデックスデータYを管理するという状態になることである。【００１３】
このようなデータ同期に特許文献１に記載の技術を適用する事を考える。今回対象としているデータは特許文献１で同期対象としているリレーショナルデータベースのレコードとは異なり、データが削除された場合、データと共に管理している最終更新時刻も削除される。従って、上記の例の同期処理を行う際に、素材管理装置BのインデックスデータYを削除すべきか、素材管理装置AにインデックスデータYを渡すべきかの判断を行うことができない。【００１４】
次に、素材管理装置Aが撮影に持ち出され、他の素材管理装置群とはオフライン状態で、撮影済み素材Xが素材管理装置Aに登録される場合を考える。素材管理装置Aでは素材Xが登録されると素材Xに関する情報をインデックスデータに登録される。ロケが終了し、素材管理装置Aを放送局に持ち帰ると放送局内の編集用素材管理装置Bとオンラインになり、素材管理装置Aから素材Xに関するインデックスデータが編集用素材管理装置Bへ伝達される。このとき、編集用素材管理装置Bでインデックスデータが変更されている場合は逆にその情報を素材管理装置Aへ伝達する。その後、素材管理装置Aは別のロケのため再度オフライン状態になる。ここで、さらに編集用素材管理装置Cが運用されるケースを考える。例えば素材管理装置Cは素材管理装置Aが放送局に持ち帰ってオンラインになったときに、外部の編集室に持ち出されてオフラインであるという場合が想定できる。この時、素材管理装置Cは素材管理装置Aとはオンラインにならないため、素材Xに関するインデックスデータが取得できない。従って素材管理装置Cは素材管理装置Bとオンラインになった時に素材管理装置Bから素材Xに関するデータの取得が必要となる。また、運用によっては、素材管理装置Bが素材管理装置Cから素材管理装置Aにおいて登録された素材に関するインデックスデータを取得する場合も存在する。このように直接通信を行わない装置間でも、他の装置を媒介として変更内容を伝達しあうことが必要となる。【００１５】
しかし、特許文献２に開示されている技術では、データへの変更内容を記録したコマンドは、データを変更した装置でのみ管理されているため、他の装置を媒介として伝達することはできない。また、特許文献３に開示されている技術では、データへの変更内容を記録したジャーナルは予め定められた正記憶システムから副記憶システムへ伝達されるのみで、任意の装置間、例えば上記の素材管理装置Aから素材管理装置B、素材管理装置Bから素材管理装置Cで送受信できるものではない。【００１６】
さらに、特許文献２や特許文献３に開示されているコマンドやジャーナルと呼ばれているデータの変更情報を他の端末へ伝達し、他の端末でその変更情報を処理することによってデータの変更内容を伝達する仕組みを、今回のデータ同期へ適用する場合を考える。例えば、撮影現場において素材管理装置Aに素材Xが新規登録された場合、素材Xに関するインデックスデータを新規作成する変更情報が生成され、素材管理装置Aに蓄積される。放送局に戻ってきて素材管理装置Bとオンラインになったときに、素材管理装置Aに蓄積されている素材Xに関するインデックスデータを新規作成する変更情報を素材管理装置Bへ伝達し、素材管理装置Bで変更情報を処理することによって、素材Xに関するインデックスデータを素材管理装置Aから素材管理装置Bへ伝達したことになる。素材管理装置Aと素材管理装置Bがオフラインになった後、素材管理装置Ｂにおいて素材Xのインデックスデータを修正した場合、その修正に基づく変更情報が生成される。このように素材管理装置Aで生成されたインデックスデータを新規作成する変更情報と、素材管理装置Bで生成されたインデックスデータを修正する変更情報の両方を素材管理装置Cが受け取った場合、新規作成の変更情報を処理してから修正の変更情報を処理する必要がある。仮に、新規作成の変更情報より先に修正の変更情報を処理しようとした場合、新規作成されていない、つまり、存在していないインデックスデータを修正するという処理を実行しようとすることになり、適切に処理が行えないという課題がある。つまり、複数の装置でデータの変更を許容し、変更情報が生成される場合、その変更情報をデータへ反映させる処理順序が重要である。【００１７】
しかし、特許文献２や特許文献３に開示されている技術では、コマンドやジャーナルと呼ばれている変更情報を生成するのは一つの装置のみであるため、その装置において、変更情報を生成した際に通し番号を付与するといった方法で、変更情報の処理順序を守ることができている。しかし、今回のように複数の装置で同じデータに対して変更などの操作を行える場合、各装置が各々別の番号体系により変更情報に対して通し番号を付与し、異なる装置で生成された複数の変更情報を受け取った場合に、付与されている通し番号からでは変更情報の処理順序を守ることができない。【００１８】
また、以下の運用も考えられる。素材管理装置Aと素材管理装置Bが素材Xに関するインデックスデータを管理している状態で、素材管理装置Aは別のロケのため再度素材管理装置Bとオフライン状態になり、ロケ先で新規素材群が登録されると共に、例えば、タイトルが間違えていた等の理由により素材Xのインデックスデータの一部であるタイトル情報の更新もなされる。一方、放送局内の編集用素材管理装置Bにおいても同様に素材Xのタイトルの誤りによって素材Xのタイトル情報の更新がなされると共に、素材Xのインデックスデータを他の素材管理装置Cと同期する。この状態で素材管理装置AとBが再びオンラインになると、素材Xのタイトル情報が素材管理装置Ａで編集結果か、素材管理装置Ｂの編集結果のどちらか一方に上書きされてしまう。しかし、本来は、タイトル情報がオフライン中に素材管理装置Ａおよび素材管理装置Ｂの両方の装置で更新が行われたというデータ更新の競合を発見し、どちらの編集結果を採用するのかの選択を促す必要がある。【００１９】
さらに、素材管理装置AとBがオンラインの時に、他の素材管理装置Cが外部の編集室へ持ち運ばれた等の理由によりオフラインであった場合、素材管理装置AとCがオンラインになった際に、素材Xのタイトル情報に関する競合が再度発生する。ここで、データ更新の競合を発見しどちらの編集結果が正しいのかを促した場合、その判断は作業者にとっては二度手間であり、またAとBが競合した時とは異なる作業者がAとBの競合発見時に採用したものとは異なる編集結果をAとC間の競合発見時に採用しかねない。この場合再度データの競合が発生することになる。【００２０】
特許文献２に記載の技術は、一つの装置で変更された内容をコマンドとして他の装置へ確実に伝達し、データへ反映させるためのもので、二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データの変更内容に競合が起きコマンド同士が競合した場合に関する記載はなく、コマンド同士の競合の発見方法やそれを解決した結果を他の装置へ伝達する方法に関しては開示されていない。特許文献３に記載の技術は、一つのシステムでのデータの変更内容をジャーナルと呼ばれる変更内容を記述した情報を用いて、他のシステムへ伝達し、他のシステムでジャーナルをデータへ反映させることによって、データをバックアップする仕組みが開示されており、特許文献２と同様に二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データ変更の競合が発生し、競合したジャーナルが生成された場合に、そのジャーナルの競合を発見し、また、それを解決した結果を他の装置へ伝達することができない。【００２１】
以上で述べたように、従来の技術では装置間の同期処理として自装置内のデータに対して削除処理を行うべきか、相手装置に対してデータを渡す処理を行うべきかを判断できない、他の装置を媒介としたデータの同期が行えない、同期処理で一度に複数の変更情報を受信した場合、変更情報の反映順序を守ることができない、オフライン状態の複数の装置において、それぞれの装置が同一のデータを更新したときに発生するデータ更新の競合を発見できない、データ更新の競合を解決した結果を他の装置へ伝達することができないという課題が存在する。【００２２】
本発明はこのような点に鑑みてなされたものであり、複数の装置がオンラインとオフラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更を行い、同期処理を行う相手端末も状況に応じて異なり、直接同期処理を行う機会が存在しない装置が存在しうる状況において、複数の装置間でデータを同期する事を目的とする。
【課題を解決するための手段】
【００２３】
他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置は、情報を管理するデータ管理手段と、前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段とを有することを特徴とする。【００２４】
本発明の一実施の形態において、前記変更命令生成手段は、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする。【００２５】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。【００２６】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。【００２７】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。【００２８】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする。【００２９】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする。【００３０】
本発明の一実施の形態において、前記情報処理装置は、前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする。【００３１】
本発明の一実施の形態において、前記情報処理装置において、前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする。
【発明の効果】
【００３２】
任意のタイミングで他の素材管理装置とオンラインになり情報の送受信を行い、他の素材管理装置とオンラインの状態かオフラインの状態かに関わらず、管理している素材を変更を行う素材管理装置において、インデックスデータを同期させるため、インデックスデータに対する変更内容を変更命令として記録し、その変更命令を素材管理装置間で送受信する事によって、インデックスデータを同期させる。
この際に変更命令は他の素材管理装置を媒介として、直接通信を行っていない素材管理装置へ伝達することを可能とした。これによって直接通信を行っていない素材管理装置間においてもインデックスデータを同期することができる。そしてこのとき、同じ変更命令を重複して伝達することや、一つの素材管理装置において重複して管理することをなくす事ができる。これによって無駄な処理や情報を削減することができる。
また、変更命令を処理してインデックスデータを更新する際に、変更命令間の処理順序を守って変更命令を処理することができる。変更命令同士が競合している場合には、競合を発見し、解決した結果を他の素材管理装置へも伝達することができる。【００３３】
以上によって、インデックスデータが同期され、どの素材管理装置においても、どの素材管理装置にどのような素材が管理されているのかを知ることが可能になり、番組制作を行う際に必要な素材を容易に取得することができる。また、新規に素材管理装置に登録された素材についても他の素材管理装置とオンラインになった際に自動的に情報が送信され、他の素材管理装置において新規の素材が登録されたことを知ることができる。これによって、自分の必要とする素材をいち早く容易に取得することが可能になる。よって、番組制作における無駄な作業を削減し、効率的に番組制作を行うことができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態における素材管理装置の利用形態の一例を示す図
【図２】本発明の実施の形態における素材管理装置の構成の一例を示すブロック図
【図３】本発明の実施の形態におけるインデックスデータ制御部の構成の一例を示すブロック図
【図４】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【図５】本発明の実施の形態における変更命令の一例を示す図
【図６】本発明の実施の形態における変更命令管理表の一例を示す図
【図７】本発明の実施の形態における変更命令生成部の動作の一例を示すフローチャート
【図８】本発明の実施の形態における変更情報の一例を示す図
【図９】本発明の実施の形態における発火条件情報の一例を示す図
【図１０】本発明の実施の形態における発火条件情報生成部の動作の一例を示すフローチャート
【図１１】本発明の実施の形態における発火条件情報の一例を示す図
【図１２】本発明の実施の形態における変更命令処理部の動作の一例を示すフローチャート
【図１３】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【図１４】本発明の実施の形態における変更命令管理表の一例を示す図
【図１５】本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート
【図１６】本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート
【図１７】本発明の実施の形態における変更命令管理表および変更命令の一例を示す図
【図１８】本発明の実施の形態における変更命令ＩＤ一覧および変更命令要求リストの一例を示す図
【図１９】本発明の実施の形態における発火条件情報処理部の動作の一例を示すフローチャート
【図２０】本発明の実施の形態における変更命令管理表の一例を示す図
【図２１】本発明の実施の形態における競合発見部の動作の一例を示すフローチャート
【図２２】本発明の実施の形態における変更命令管理表および変更命令の一例を示す図
【図２３】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【図２４】本発明の実施の形態における競合解決部の動作の一例を示すフローチャート
【図２５】本発明の実施の形態における変更情報の一例を示す図
【図２６】本発明の実施の形態における変更情報の一例を示す図
【図２７】本発明の実施の形態における変更命令の一例を示す図
【図２８】本発明の実施の形態における競合解決を行う画面の一例を示す図
【図２９】本発明の実施の形態における素材管理装置の構成の一例を示すブロック図
【図３０】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【符号の説明】
【００３５】
３００１  データ操作部
３００２  データ管理部
３００３  変更命令管理部
３００４  変更命令生成部
３００５  発火条件情報生成部
３００６  変更命令処理部
３００７  変更命令同期部
３００８  発火条件情報処理部
３００９  競合発見部
３０１０  競合解決部
【発明を実施するための最良の形態】
【００３６】
以下本発明の実施の形態について、図面を参照しながら説明する．【００３７】
（実施の形態１）
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで素材としてDV形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名を考える。図１に示すように素材管理装置は撮影や編集や試写など様々な番組制作の工程において素材が登録され、また利用される。【００３８】
なお、素材としてはDV形式の動画に限定されるものではなく、MPEG-2形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地（素材が管理されている装置および装置内の管理場所を識別する情報）等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。【００３９】
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。【００４０】
（１．全体構成）
図２に本実施の形態における素材管理装置の全体構成を示す。素材管理装置２０００は素材操作部２００１と素材管理部２００２とインデックスデータ制御部２００３で構成される。素材操作部２００１は素材管理部２００２へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部２００３へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部２００１からインデックスデータ制御部２００３へ変更内容が通知される。素材管理部２００２は素材操作部２００１から受信した素材を管理する。インデックスデータ制御部２００３は素材操作部２００１から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。【００４１】
データ同期の処理主体となる構成要素であるインデックスデータ制御部を、これ以降で詳細に説明する。【００４２】
（２．インデックスデータ制御部の詳細）
（２−１．インデックスデータ制御部の構成）
図３にインデックスデータ制御部２００３の詳細構成を示す。
データ操作部３００１は素材操作部２００１から受信したインデックスデータ変更通知の情報から、インデックスデータの変更を行うため、変更命令生成部３００４へインデックスデータの変更に関する情報を送信する。このとき送信する情報を「変更情報」と呼ぶこととする。この際の変更情報とは新規作成、更新、削除等の処理内容、タイトルや撮影者名などインデックスデータにおける処理対象、必要に応じて処理を行う際に必要な情報を含み、変更命令生成部３００４へ一つずつ送信する。【００４３】
データ管理部３００２はインデックスデータを保持する。他の素材管理装置とオンラインになった際に、このデータ管理部３００２に保持されるインデックスデータを同期させることが本発明の目的である。保持するインデックスデータは変更命令処理部３００６から操作され、変更命令の内容に従ってインデックスデータの新規作成、既存インデックスデータの更新、削除が行われる。データ管理部３００２に管理されているインデックスデータ管理表の一例を図４に示す。インデックスデータ管理表４０００には「＜タイトル＞」と「＜／タイトル＞」で挟まれた部分にタイトル情報である「事故」が記録されており、「＜撮影者名＞」と「＜／撮影者名＞」で挟まれた部分に撮影者名の情報である「山田」が記録されている。撮影日時や番組名などその他のインデックスデータを記録する場合も同様である。【００４４】
変更命令管理部３００３は変更命令を保持する。変更命令とはインデックスデータの変更内容を命令化したものである。図５（ａ）および（ｂ）および（ｃ）に変更命令の一例を示す。変更命令５０００の５００１の枡には変更命令５０００を生成した素材管理装置のＩＤが記録されている。今回は素材管理装置Ａの装置ＩＤを「Ａ」とした。５００２の枡には変更命令５０００を生成した素材管理装置において付与される通し番号が記録されている。５００３の枡にはインデックスデータに対する処理内容が記録されている。５００４の枡にはインデックスデータの中の処理対象が記録されている。５００５の枡には５００３の枡に記録されている処理内容の必要に応じて、情報内容が記録されている。変更命令５２００の５２０５の枡は、５２０３の枡に記録されている処理内容が「削除」であり処理の際には特に情報を必要としないため、空欄になっている。５００６の枡には発火条件情報が記録されている。発火条件情報の詳細は後述する。以上の情報より、変更命令５０００は素材管理装置Ａにおいて１番目に生成された、インデックスデータのタイトル情報を「事故」として新規作成するという変更命令であるという事が分かる。同様に変更命令５１００は装置ＩＤが「Ｂ」である素材管理装置で１番目に生成された、インデックスデータの撮影者名情報を山田として新規作成するという変更命令であり、変更命令５２００は装置ＩＤが「Ｂ」である素材管理装置で２番目に生成された、インデックスデータのタイトル情報を削除するという変更命令であることが分かる。【００４５】
次に、変更命令管理部３００３に管理されている変更命令管理表の一例を図６に示す。変更命令管理表６０００は素材管理装置Ａ、素材管理装置Ｂ、素材管理装置Ｃの３つの素材管理装置が存在する状況での、素材管理装置Ｂが管理する変更命令管理表を示したものである。行６００４にはどの素材管理装置が生成した命令が管理されている列かが分かるように、各素材管理装置の装置ＩＤが記載されている。行６００５以降の行に実際の変更命令が管理されている。例えば、列６００２には素材管理装置Ｂが生成した変更命令を生成した順番に行６００５および行６００６に管理している。同様に列６００１、列６００３にはそれぞれ素材管理装置Ａ、素材管理装置Ｃが生成した変更命令を管理する。例えば、列６００１の行６００５の枡には、素材管理装置Ａが１番目に生成した変更命令を管理する。実際にこの枡に管理されている変更命令は図５（ａ）に示した変更命令５０００であるが、簡略化して「変更命令５０００」と表記している。同様に列６００２の行６００６の枡には、図５（ｃ）に示した素材管理装置Ｂが２番目に生成した変更命令５２００が管理されているが、「変更命令５２００」と簡略表記している。列６００２の行６００５の枡についても、図５（ｂ）に示した変更命令５１００が管理されているが、同様に「変更命令５１００」と簡略表記している。また、変更命令管理表６０００の空白になっている枡は、変更命令を管理していないということを表す。管理する変更命令が増えた場合は、順次、変更命令管理表の行を増やして変更命令を管理する。変更命令に対して削除や変更は行わず、新規の変更命令を変更命令管理表へ追加していくのみである。【００４６】
変更命令生成部３００４はデータ操作部３００１または競合解決部３０１０から受信した変更情報と、発火条件情報生成部３００５へ問い合わせて取得した発火条件情報の二つの情報から変更命令を生成する。【００４７】
発火条件情報生成部３００５は変更命令生成部３００４の依頼に基づき、変更命令管理部３００３に管理されている変更命令管理表の情報から発火条件情報を生成する。生成した発火条件情報は変更命令生成部３００４へ送信される。【００４８】
変更命令処理部３００６は変更命令生成部３００４、競合発見部３００９から受信した変更命令に基づいてデータ管理部３００２の保持するインデックスデータ管理表に対して、新規作成、更新、削除の操作を行うと共に、変更命令管理部３００３に処理を行った変更命令を送信する。【００４９】
変更命令同期部３００７は他の素材管理装置とオンラインである時、変更命令管理部３００３に管理されている変更命令を他の素材管理装置との間で送受信する。受信した変更命令は発火条件情報処理部３００８へ送信する。【００５０】
発火条件情報処理部３００８は変更命令同期部３００７から受信した変更命令に記録されている発火条件情報から変更命令の処理順序を決定し、決定した順序に従って一つずつ命令を競合発見部３００９へ送信する。【００５１】
競合発見部３００９は発火条件情報処理部３００８から受信した変更命令と競合する変更命令が変更命令管理部３００３に管理されていないかを確認する。競合する変更命令とは、オフライン中に複数の素材管理装置それぞれで同じ項目を異なる値に変更した場合にそれぞれの素材管理装置で生成される変更命令が競合した変更命令である。競合している変更命令を発見した場合、発火条件情報処理部３００８が変更命令同期部３００７より受信した変更命令を取得し、取得した変更命令の中に、競合を解決する変更命令がないかを確認する。競合を解決する変更命令が存在しない場合、競合している発火条件情報処理部３００８から受信した変更命令、および変更命令管理部３００３に管理されていた変更命令を取得し、競合解決部３０１０へ送信する。また、発火条件情報処理部３００８から受信した変更命令が競合していなかった場合、競合していた場合のどちらの場合も変更命令処理部３００６へ発火条件情報処理部３００８から受信した変更命令を送信する。【００５２】
競合解決部３０１０は競合発見部３００９から受信した２つ以上の変更命令からデータ管理部３００２へ反映させる変更命令を選択する。選択された変更命令から変更情報を作成し、変更命令生成部３００４へ送信する。【００５３】
（２−２．変更命令生成部の動作例）
変更命令生成部３００４の動作の詳細を説明する。
変更命令生成部３００４の動作の流れを図７に示したフローチャートを用いて説明する。
データ操作部３００１または競合解決部３０１０から変更情報を受信し、その情報を変更命令に付与する（Ｓ７００１）。
予め保持している素材管理装置の装置ＩＤを変更命令に付与する（Ｓ７００２）。
保持している通し番号に１を加え、変更命令に付与する。また、１を加えた通し番号は、次回の処理時に利用するため記録しておく（Ｓ７００３）。
発火条件情報生成部３００５へ依頼し、発火条件情報を取得し、取得した発火条件情報を変更命令に付与する（Ｓ７００４）。
以上の処理で変更命令が生成できたので、生成した変更命令を変更命令処理部３００６へ送信する（Ｓ７００５）。
処理を終了する（Ｓ７００６）。【００５４】
次に、図８に示す変更情報８０００を受信した場合の、変更命令生成部３００４の処理を具体的に説明する。処理を行う素材管理装置は素材管理装置Ａであり、装置ＩＤは「Ａ」とする。また、保持している通し番号は一度も処理を行われていない初期状態である「０」であるとする。
変更命令生成部３００４はデータ操作部３００１から変更情報８０００を受信する（Ｓ７００１）。
Ｓ７００１で受信した変更情報８０００に対して装置ＩＤ「Ａ」を付与する（Ｓ７００２）。
保持している通し番号「０」に１加えて「１」にし、Ｓ７００１で受信した変更情報８０００に対して付与する。また、通し番号「１」を次回処理のために保持する（Ｓ７００３）。
発火条件情報生成部３００５へ依頼し、発火条件情報を取得する。ここでは、例えば図９に示す発火条件情報９０００が取得できたものとする。そして取得した発火条件情報９０００を変更命令に付与する（Ｓ７００４）。【００５５】
以上で、図５（ａ）に示した変更命令５０００が生成される。Ｓ７００１で受信した変更情報８０００の８００１の枡、８００２の枡、８００３の枡に記録されていた情報が、それぞれ順に、変更命令５０００の５００３の枡、５００４の枡、５００５の枡に記録されている。Ｓ７００２で付与した装置ＩＤは変更命令５０００の５００１の枡に記録されている。Ｓ７００３で付与した通し番号は変更命令５０００の５００２の枡に記録されている。Ｓ７００４で付与した発火条件情報９０００は変更命令５０００の５００６の枡に記録されている。変更命令生成部３００４はこの変更命令５０００を変更命令処理部３００６へ送信し、処理を終了させる。【００５６】
（２−３．発火条件情報生成部の動作例）
発火条件情報生成部３００５では発火条件情報を変更命令生成部３００４の依頼に基づいて生成する。本実施例では、発火条件情報として、変更命令管理部３００３に管理されている変更命令の数を、変更命令を生成した素材管理装置毎に数えたものを用いる。なお、発火条件情報は今回用いた情報に限定されるものではなく、変更命令を一意に特定できる識別子を用いて、変更命令管理部３００３に管理されている変更命令すべての識別子の一覧を生成し、この識別子一覧を発火条件情報とすることや、変更命令管理部３００３に管理されている変更命令全てを一覧にして、この変更命令一覧を発火条件情報とするなど、変更命令管理部３００３に管理されている命令を特定できる情報を発火条件情報とする事ができる。本実施例では、その中でも発火条件情報のデータ量が小さくなるものとして、変更命令管理部３００３に管理されている変更命令の数を素材管理装置毎に数えたものを用いることにした。【００５７】
発火条件情報生成部３００５の動作の流れを図１０に示したフローチャートを用いて説明する。
発火条件情報生成部３００５は、変更命令生成部３００４から発火条件情報を生成するようにとの依頼を受信する（Ｓ１０００１）。
変更命令管理部３００３から変更命令管理表を取得する（Ｓ１０００２）。
Ｓ１０００２で取得した変更命令管理表に未処理の列が存在するかを判断する（Ｓ１０００３）。未処理の列が存在する場合は、Ｓ１０００４へ進み、未処理の列が存在しない場合は、Ｓ１０００８へ進む。変更命令管理表の各列が処理済みであるか、未処理であるかを判断する方法の一例として、処理済みフラグを用いる。処理済みフラグが付与されている列は処理済みであると判断する。【００５８】
未処理の列を一列選択する（Ｓ１０００４）。
Ｓ１０００４で選択した列に記録されている装置ＩＤを取得する（Ｓ１０００５）。
Ｓ１０００４で選択した列に記録されている変更命令の数を数える（Ｓ１０００６）。
Ｓ１０００５及びＳ１０００６で取得した装置ＩＤ及び変更命令の数を発火条件情報として記録する（Ｓ１０００７）。その後、処理を行っていた列に処理済みフラグを付与し、Ｓ１０００３に戻り、処理を繰り返す。
Ｓ１０００３で未処理の列が存在しないと判断された場合、生成済みの発火条件情報を変更命令生成部３００３へ送信する（Ｓ１０００８）。
処理を終了させる（Ｓ１０００９）。【００５９】
次に、一例として変更命令生成部３００４から発火条件情報生成の依頼を受信し、変更命令管理部３００３から図６に示す変更命令管理表６０００を受信した場合の処理を具体的に説明する。
発火条件情報生成部３００５は変更命令生成部３００４から発火条件情報生成依頼を受信し（Ｓ１０００１）、変更命令管理部３００３から図６に示す変更命令管理表６０００を受信する（Ｓ１０００２）。
処理済みフラグが付与されていないため、列６００１、列６００２、列６００３が未処理であるため、Ｓ１０００４へ進む（Ｓ１０００３）。【００６０】
列６００１を選択する（Ｓ１０００４）。
Ｓ１０００４で選択された列６００１から素材管理装置の装置ＩＤを取得する（Ｓ１０００５）。今回の場合、列６００１の行６００４に記録されている装置ＩＤ「Ａ」を取得する。
Ｓ１０００４で選択された列６００１に管理されている変更命令の数を数える（Ｓ１０００６）。列６００１の行６００５に一つだけ変更命令が管理されているため変更命令の数を数えた結果として「１」を取得する。
Ｓ１０００５で取得した装置ＩＤ「Ａ」およびＳ１０００６で取得した変更命令の数「１」
を発火条件情報として記録する（Ｓ１０００７）。そして、列６００１に処理済みフラグを付与し、Ｓ１０００３へ戻り処理を繰り返す。
列６００２、列６００３が未処理であるため、Ｓ１０００４へ進む（Ｓ１０００３）。
列６００２を選択する（Ｓ１０００４）。
Ｓ１０００４で選択された列６００２の行６００４から装置ＩＤ「Ｂ」を取得する（Ｓ１０００５）。
Ｓ１０００４で選択された列６００２に管理されている変更命令の数を数える（Ｓ１０００６）。列６００２の行６００５および行６００６に変更命令が管理されているため、変更命令の数を数えた結果として「２」を取得する。
Ｓ１０００５で取得した装置ＩＤ「Ｂ」およびＳ１０００６で取得した変更命令の数「２」を発火条件情報として記録する（Ｓ１０００７）。この際、既に記録済みの発火条件情報へ追記する。そして、列６００２に処理済みフラグを付与し、Ｓ１０００３へ戻り処理を繰り返す。【００６１】
列６００３が未処理であるため、Ｓ１０００４へ進む（Ｓ１０００３）。
以降、同様に処理を行い、装置ＩＤ「Ｃ」および変更命令の数「０」を取得し、発火条件情報に追記し、列６００３に処理済みフラグを付与し、Ｓ１０００３に戻る。
Ｓ１０００３において未処理の列が存在しないため、Ｓ１０００８へ進む。
以上の処理で生成済みの発火条件情報を図１１に示す。「ＩＤ＝Ａ」とは素材管理装置の装置ＩＤが「Ａ」であることを示し、「ｃｏｕｎｔ＝１」とは変更命令の数が「１」であったことを示す。従って、「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」とは素材管理装置Ａが生成した変更命令の数が「１」であるということを示す。同様に「ＩＤ＝Ｂ、ｃｏｕｎｔ＝２」とは素材管理装置Ｂが生成した変更命令の数が「２」であり、「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」とは素材管理装置Ｃが生成した変更命令の数が「０」であるということを示す。これらが記録された発火条件情報１１０００を変更命令生成部３００４へ送信する（Ｓ１０００８）。
以上で処理を終了する（Ｓ１０００９）。【００６２】
（２−４．変更命令処理部の動作例）
変更命令処理部３００６の動作の流れを図１２に示したフローチャートを用いて説明する。
変更命令処理部３００６は、変更命令生成部３００４または競合発見部３００９から変更命令を受信する（Ｓ１２００１）。
Ｓ１２００１において受信した変更命令に記録されている処理をデータ管理部３００２に管理されているインデックスデータ管理表に対して行う（Ｓ１２００２）。
変更命令を変更命令管理部３００３が管理している変更命令管理表に記録する（Ｓ１２００３）。
処理を終了する（Ｓ１２００４）。【００６３】
次にデータ管理部３００２が図１３（ａ）に示すインデックスデータ管理表１３０００を管理し、変更命令管理部３００３が図１４（ａ）に示す変更命令管理表１４０００を管理している状態で、変更命令処理部３００６が図５（ｂ）に示す変更命令５１００を受信した場合の変更命令処理部３００６の処理を具体的に説明する。
変更命令処理部３００６は、Ｓ１２００１において変更命令５１００を受信する。
Ｓ１２００２において、データ管理部３００２が管理するインデックスデータ管理表１３０００に対して、変更命令５１００の５１０３の枡、５１０４の枡、５１０５の枡に記載されている情報から、「撮影者名」という項目を情報の内容を「山田」として「新規作成」する。この処理によって、データ管理部３００２に管理されているインデックスデータ管理表１３０００は、図４に示すインデックスデータ管理表４０００の状態になる。
Ｓ１２００３において、変更命令管理部３００３の管理する変更命令管理表１４０００に対して、変更命令５１００を記録する。記録を行った結果、変更命令管理表１４０００は図１４（ｂ）に示す変更命令管理表１４１００の状態になる。列１４１０２の行１４１０５に変更命令５１００が管理されている。表記の都合上「変更命令５１００」と簡略して表記している。
以上で処理を終了する（Ｓ１２００４）。【００６４】
次にデータ管理部３００２が図４に示すインデックスデータ管理表４０００を管理し、変更命令管理部３００３が図１４（ｂ）に示す変更命令管理表１４１００を管理している状態で、変更命令処理部３００６が図５（ｃ）に示す変更命令５２００を受信した場合の変更命令処理部３００６の処理を具体的に説明する。
変更命令処理部３００６は、Ｓ１２００１において変更命令５２００を受信する。
Ｓ１２００２において、データ管理部３００２が管理するインデックスデータ管理表４０００に対して、変更命令５２００の５２０３の枡、５２０４の枡に記載されている情報から、「タイトル」という項目の情報を「削除」する。この処理によって、データ管理部３００２に管理されているインデックスデータ管理表４０００は、図１３（ｂ）に示すインデックスデータ管理表１３１００の状態になる。
Ｓ１２００３において、変更命令管理部３００３の管理する変更命令管理表１４１００に対して、変更命令５２００を記録する。記録を行った結果、変更命令管理表１４１００は図６に示す変更命令管理表６０００の状態になる。列６００２の行６００６に変更命令５２００が管理されている。表記の都合上「変更命令５２００」と簡略して表記している。
以上で処理を終了する（Ｓ１２００４）。【００６５】
（２−５．変更命令同期部の動作例）
変更命令同期部３００７は他の素材管理装置からの要求に応じて、変更命令を要求先の素材管理装置へ送信する機能と、他の素材管理装置から自装置の変更命令管理部で管理していない変更命令を取得する機能とを有する。これらの機能を用いて、他の素材管理装置とオンラインになっている際に、各素材管理装置において自装置で管理していない変更命令を取得しあうことによって変更命令管理部３００３の管理する変更命令管理表に記録されている変更命令を同期する。【００６６】
説明を行う便宜上、図１５及び図１６のフローチャートの説明、及びそれに伴う処理の具体説明においては、変更命令取得の要求を行う素材管理装置を素材管理装置Ａ、要求に従って、変更命令を送信する素材管理装置を素材管理装置Ｂとする。今回は説明の便宜上、このようにしたが、素材管理装置Ａ、素材管理装置Ｂ共に変更命令を取得する機能および取得要求に応じて変更命令を送信する機能の両方を持っており、素材管理装置Ａが変更命令を取得し、素材管理装置Ｂが変更命令を送信するという運用形態に限定されるものではない。【００６７】
まず図１５に示したフローチャートを用いて、変更命令を要求先の素材管理装置へ送信する際の処理の流れ、つまり、素材管理装置Ｂの処理を説明する。
素材管理装置Ｂは、ネットワークで接続された素材管理装置Ａから変更命令取得要求を受信する（Ｓ１５００１）。変更命令取得要求とは変更命令の送受信処理を開始するに当たって、処理の開始を相手装置に伝えるメッセージである。
変更命令管理部３００３に管理されている変更命令管理表に記録されている変更命令から、それらの変更命令を一意に特定できる変更命令ＩＤを生成し、全ての変更命令の変更命令ＩＤを一覧にして、変更命令取得要求を送信してきた素材管理装置Ａへ送信する（Ｓ１５００２）。
素材管理装置Ａから変更命令要求リストを受信する（Ｓ１５００３）。変更命令要求リストとは、素材管理装置Ａが素材管理装置Ｂから取得したい変更命令の変更命令ＩＤを一覧で記述したものである。
変更命令要求リストに記載されている変更命令を、変更命令管理部３００３から取得し、素材管理装置Ａへ送信する（Ｓ１５００４）。変更命令要求リストに変更命令IDが記載されていない場合は、処理を行わず、S１５００５へ進む。
処理を終了させる（Ｓ１５００５）。【００６８】
次に図１６のフローチャートを用いて、変更命令の取得を要求する素材管理装置の処理の流れ、つまり、素材管理装置Ａの処理を説明する。
素材管理装置Ａは、ネットワークで接続された素材管理装置Ｂへ変更命令取得要求を送信する（Ｓ１６００１）。
素材管理装置Ｂから変更命令ＩＤの一覧を受信する（Ｓ１６００２）。
Ｓ１６００２で受信した変更命令ＩＤの一覧と、変更命令管理部３００３に管理されている変更命令管理表に記録されている変更命令を比較し、変更命令管理表に記録されていない変更命令を特定する（Ｓ１６００３）。変更命令管理表に記録されていないことが特定できた変更命令の変更命令ＩＤを変更命令要求リストに記載する。
Ｓ１６００３で作成した変更命令要求リストを素材管理装置Ｂへ送信する（Ｓ１６００４）。
S１６００４において送信した変更命令要求リストに変更命令IDが記載されている場合は、S１６００６へ進み、変更命令IDが記載されていない場合はS１６００８へ進む（S１６００５）。
素材管理装置Ｂから変更命令を受信する（Ｓ１６００６）。
Ｓ１６００６で受信した変更命令を発火条件情報処理部３００８へ送信する（Ｓ１６００７）。
処理を終了する（Ｓ１６００８）。【００６９】
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において、図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を管理し、素材管理装置Ｂの変更命令管理部３００３が図６に示す変更命令管理表６０００において、図５（ａ）（ｂ）（ｃ）に示す変更命令５０００および変更命令５１００及び変更命令５２００を管理している場合に、図１５及び図１６に示したフローチャートの処理を行い、変更命令の同期処理を行った場合の処理を具体的に説明する。【００７０】
変更命令を送信する側の素材管理装置Ｂの処理について説明する。
素材管理装置Ａから変更命令取得要求を受信し（Ｓ１５００１）、変更命令管理部３００３に管理している変更命令管理表６０００に記録されている変更命令５０００、変更命令５１００、変更命令５２００より変更命令ＩＤを生成し、変更命令ＩＤ一覧を生成し、素材管理装置Ａへ送信する（Ｓ１５００２）。変更命令ＩＤとして、各変更命令に記録されている装置ＩＤと通し番号を並べたものを用いる。例えば、変更命令５０００の場合は装置ＩＤ「Ａ」と通し番号「１」より変更命令ＩＤを「Ａ−１」とする。同様に変更命令５１００および変更命令５２００はそれぞれ変更命令ＩＤを「Ｂ−１」、「Ｂ−２」とする。これらを一覧にして変更命令ＩＤ一覧を生成する。生成した変更命令ＩＤ一覧を図１８（ａ）に示す。変更命令ＩＤ一覧１８０００の行１８００１、行１８００２、行１８００３に順に、「Ａ−１」「Ｂ−１」「Ｂ−２」が記載されている。この変更命令ＩＤ一覧１８０００を素材管理装置Ａへ送信する。なお、変更命令ＩＤは今回用いたものに限定されるものではなく、変更命令を一意に特定することができる情報であればどのようなものでも良い。例えば、変更命令生成日時情報と装置ＩＤを並べたものなども用いることができる。
素材管理装置Ａより変更命令要求リストとして、図１８（ｂ）に示す変更命令要求リスト１８１００を受信する（Ｓ１５００３）。
変更命令要求リスト１８１００に記載されている変更命令ＩＤの変更命令を変更命令管理部３００３より取得し、素材管理装置Ａへ送信する（Ｓ１５００４）。変更命令要求リスト１８１００の行１８１０１に「Ｂ−１」、行１８１０２に「Ｂ−２」と記載されている。従って、変更命令管理表６０００に記録されている変更命令５１００および変更命令５２００を取得し、素材管理装置Ａへ送信する。
処理を終了する（Ｓ１５００５）。【００７１】
次に変更命令を取得する側の素材管理装置Ａの処理について説明する。
変更命令取得要求を素材管理装置Ｂへ送信する（Ｓ１６００１）。
素材管理装置Ｂから変更命令ＩＤ一覧１８０００を受信する（Ｓ１６００２）。
素材管理装置Ａの変更命令管理部に管理されている変更命令管理表１７０００に記録されている変更命令とＳ１６００２で受信した変更命令ＩＤ一覧１８０００を比較し、変更命令管理表１７０００に記録されていない変更命令ＩＤを特定する（Ｓ１６００３）。変更命令管理表１７０００には変更命令ＩＤ「Ａ−１」に該当する変更命令５０００は記録されているが、変更命令ＩＤ「Ｂ−１」および「Ｂ−２」に該当する変更命令は記録されていない。従って、変更命令ＩＤ「Ｂ−１」および「Ｂ−２」を記載した変更命令要求リスト１８１００を生成する。
Ｓ１６００３で作成した変更命令要求リスト１８１００を素材管理装置Ｂへ送信する（Ｓ１６００４）。
変更命令要求リスト１８１００には変更命令ID「Ｂ−１」および「Ｂ−２」が記載されているため、S１６００６へ進む（S１６００５）。
素材管理装置Ｂから変更命令５１００および変更命令５２００を受信する（Ｓ１６００６）。
Ｓ１６００５で受信した変更命令５１００及び変更命令５２００を素材管理装置Ａの発火条件情報処理部３００８へ送信する（Ｓ１６００７）。
処理を終了する（Ｓ１６００８）。【００７２】
詳細な処理内容は同様のため省略するが、以上で説明した処理とは逆に、素材管理装置Ｂが変更命令を取得し、素材管理装置Ａが変更命令を送信する処理も行われる。この処理によって、素材管理装置Ａの変更命令管理部３００３に管理されている変更命令管理表１７０００に変更命令５０００および変更命令１７１００が記録されており、今回の変更命令同期部３００７の処理で変更命令５１００および変更命令５２００を取得したことになる。一方、素材管理装置Ｂの変更命令管理部に管理されている変更命令管理表６０００に、変更命令５０００および変更命令５１００および変更命令５２００が記録されており、今回の変更命令同期部３００７の処理で変更命令１７１００を取得することになる。従って、素材管理装置Ａおよび素材管理装置Ｂでは、変更命令管理部３００３の管理している変更命令管理表に記録されている変更命令および今回の変更命令同期部３００７の処理によって取得した変更命令をあわせると、同じだけの変更命令を素材管理装置内に保持していることになる。【００７３】
なお、今回は変更命令ＩＤ一覧送受信し、必要な変更命令のみ変更命令要求リストで要求するという方法を用いたが、変更命令取得要求を受信した時点で、素材管理装置Ｂの変更命令管理部３００３が管理している変更命令全てを素材管理装置Ａへ送信し、素材管理装置Ａにおいて必要な変更命令のみを取捨選択するという方法も考えられる。つまり、自装置の変更命令管理部３００３において管理していない変更命令を取得しあうという処理が行うことができればよく、その処理の詳細を限定するものではない。【００７４】
また、変更命令同期部３００７は素材管理装置が他の素材管理装置とオンラインになった時、および、他の素材管理装置とオンラインである素材管理装置においては、変更命令管理部３００３に管理されている変更命令管理表が変化した時に処理が行われる。【００７５】
（２−６．発火条件情報処理部の動作例）
発火条件情報処理部３００８は変更命令同期部３００７から受信した変更命令について、変更命令ごとに保持している発火条件情報と変更命令管理部３００３に管理されている変更命令管理表から、処理を行う順序を決定し、決定した順序に従って、競合発見部３００９へ変更命令を送信する。【００７６】
発火条件情報処理部３００８の処理の流れを図１９のフローチャートを用いて説明する。
発火条件情報処理部３００８は、変更命令同期部３００７から１つ以上の変更命令を受信する（S１９００１）。
S１９００１で受信した変更命令の保持する発火条件情報と、変更命令管理部３００３が管理する変更命令管理表から、条件に適合する変更命令を抽出する（S１９００２）。このときの条件とは、以下の３つである。
（１）発火条件情報処理部３００８から競合発見部３００９へ未送信の変更命令。未送信かどうかは送信済みフラグを用いて判断し、送信済みフラグが付与されている変更命令は送信済みの変更命令、送信済みフラグの付与されていない変更命令は未送信の変更命令と判断する。
（２）装置ＩＤをｉとしたときに、変更命令管理部３００３の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置ＩＤごとにその値を「Ｖ（ｉ）」とする。また、発火条件情報に記録されている「ｃｏｕｎｔ」の値を装置ＩＤごとに「Ｗ（ｉ）」とする。このとき、全ての装置ＩＤの場合において、つまり全ての「ｉ」において、「Ｖ（ｉ）≧Ｗ（ｉ）」が成り立つ変更命令。
（３）上記（１）および（２）の条件を満たす変更命令のうち、変更命令の保持する発火条件情報に記録されている、各装置が発行した命令の合計が最小の変更命令。今回の場合、具体的には発火条件情報に記録されている「ｃｏｕｎｔ」の値の合計が最小の変更命令。「ｃｏｕｎｔ」の合計の値が最小のものが複数存在した場合はそれら全てを抽出する。
Ｓ１９００２において抽出された変更命令が一つも無い場合は、Ｓ１９００７へ進み、Ｓ１９００２において抽出された変更命令が一つ以上存在した場合はＳ１９００４へ進む（Ｓ１９００３）。
Ｓ１９００２において抽出された変更命令が一つの場合Ｓ１９００６へ進み、Ｓ１９００２において抽出された変更命令が二つ以上の場合Ｓ１９００５へ進む（Ｓ１９００４）。
Ｓ１９００２において抽出された変更命令から一つを選択する（Ｓ１９００５）。このときの選択方法は任意であり、先に抽出された変更命令を選択する等の方法でよい。
Ｓ１９００２において一つだけ抽出された変更命令、または、Ｓ１９００５で選択された変更命令を競合発見部３００９へ送信する。送信後、変更命令に対して送信済みフラグを付与し、Ｓ１９００２へ戻る（Ｓ１９００６）。
競合発見部３００９に送信した変更命令は、競合発見部３００９やその他の変更命令処理部３００６や場合によっては、競合解決部３０１０などの処理によって、変更命令管理部３００３の変更命令管理表で管理されるようになる。このように変更命令管理表が更新された後、Ｓ１９００２の処理を継続して行う。【００７７】
なお、本実施例では変更命令の競合が発生する場合を想定しているため、競合発見部３００９へ変更命令を送信したが、運用などにより変更命令の競合が発生しないと保証されている場合や、競合を無視する場合などは、競合発見部３００９へ変更命令を送信せず、変更命令処理部３００６へ変更命令を送信しても良い。【００７８】
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を管理している状態で、発火条件情報処理部３００８が変更命令同期部３００７から図５（ｂ）および（ｃ）に示す変更命令５１００および変更命令５２００を受信した時の素材管理装置Ａの発火条件情報処理部３００８の処理の流れを具体的に説明する。【００７９】
発火条件情報処理部３００８は、変更命令同期部３００７から変更命令５１００および変更命令５２００を受信する（Ｓ１９００１）。
条件に従って、受信した変更命令の中から変更命令を抽出する（Ｓ１９００２）。
（１）変更命令５１００および変更命令５２００ともに競合発見部３００９へは未送信である。
（２）変更命令管理部３００３の管理している変更命令管理表１７０００に記録されている変更命令の数を装置ＩＤ毎に数えた値は素材ＩＤがＡである列１７００１に変更命令５０００と変更命令１７１００の二つの変更命令が記録されており、その他の列１７００２および１７００３には変更命令が記録されていないため、「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝０」「Ｖ（Ｃ）＝０」となる。また、変更命令５１００の５１０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝０」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝０」「W（Ｃ）＝０」となる。従って、変更命令５１００に関しては全ての装置ＩＤにおいて「Ｖ（ｉ）≧Ｗ（ｉ）」（ｉは装置ＩＤのＡまたはＢまたはＣである）が成り立っており、条件を満たしている。また、変更命令５２００の５２０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝１」「W（Ｃ）＝０」となる。従って、装置ＩＤがＢにおいて「Ｖ（Ｂ）＜Ｗ（Ｂ）」となり条件を満たしていない。
（３）変更命令５１００しか（１）および（２）の両方の条件を満たした変更命令が存在しない。よって、変更命令５１００を抽出する。
変更命令５１００が一つだけＳ１９００２において抽出されたため、Ｓ１９００４へ進む（Ｓ１９００３）。
変更命令５１００が一つだけＳ１９００２において抽出されたため、Ｓ１９００６へ進む（Ｓ１９００４）。
変更命令５１００を競合発見部３００９へ送信する（Ｓ１９００６）。その後、変更命令５１００に対して送信済みフラグを付与する。【００８０】
競合発見部３００９へ送信した変更命令５１００は競合発見部３００９や変更命令処理部３００６の処理によって、変更命令管理部３００３の変更命令管理表１７０００へ反映される。反映された結果、変更命令管理部３００３に管理される変更命令管理表は変更命令管理表１７０００から図２０（ａ）に示す変更命令管理表２００００になる。【００８１】
Ｓ１９００６において競合発見部３００９へ送信した変更命令５１００が変更命令管理表に記録されたのを確認後、Ｓ１９００２から処理を継続する。
（１）変更命令５２００が競合発見部３００９へは未送信である。
（２）変更命令管理部３００３の管理している変更命令管理表２００００に記録されている変更命令の数を装置ＩＤ毎に数えた値は装置ＩＤがＡである列２０００１に変更命令５０００と変更命令１７１００の二つの変更命令が記録されており、装置ＩＤがＢである列２０００２に変更命令５１００が記録されており、装置ＩＤがＣである列２０００３には変更命令が記録されていない。従って、「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝１」「Ｖ（Ｃ）＝０」となる。また、変更命令５２００の５２０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝１」「W（Ｃ）＝０」となる。従って、変更命令５２００に関しては全ての装置ＩＤにおいて「Ｖ（ｉ）≧Ｗ（ｉ）」（ｉは装置ＩＤのＡまたはＢまたはＣである）が成り立っており、条件を満たしている。
（３）変更命令５２００しか（１）および（２）の両方の条件を満たした変更命令が存在しない。よって、変更命令５２００を抽出する。
変更命令５２００が一つだけＳ１９００２において抽出されたため、Ｓ１９００４へ進む（Ｓ１９００３）。
変更命令５２００が一つだけＳ１９００２において抽出されたため、Ｓ１９００６へ進む（Ｓ１９００４）。
変更命令５２００を競合発見部３００９へ送信する（Ｓ１９００６）。その後、変更命令５２００に対して送信済みフラグを付与する。【００８２】
競合発見部３００９へ送信した変更命令５２００は競合発見部３００９や競合解決部３０１０、変更命令処理部３００６の処理によって、変更命令管理部３００３の変更命令管理表２００００へ反映される。反映された結果、変更命令管理部３００３に管理される変更命令管理表は変更命令管理表２００００から図２０（ｂ）に示す変更命令管理表２０１００になる。【００８３】
Ｓ１９００６において競合発見部３００９へ送信した変更命令５２００が変更命令管理表に記録されたのを確認後、Ｓ１９００２から処理を継続する。
（１）競合発見部３００９へ未送信である変更命令が存在しない。
従って、変更命令を抽出せず、Ｓ１９００３へ進む。
Ｓ１９００２において、変更命令が抽出されていないため、抽出された変更命令の数を「０」と判断し、Ｓ１９００７へ進む（Ｓ１９００３）。
処理を終了させる（Ｓ１９００７）。【００８４】
以上の処理によって、変更命令の処理順序を守って処理を行うことが可能になる。
以上、素材管理装置Ａに着目して説明を行ったが素材管理装置Ｂにおいても、素材管理装置Ａから受信した変更命令に対して同様の処理が行われる。【００８５】
（２−７．競合発見部の動作例）
競合発見部３００９は発火条件情報処理部３００８から受信した変更命令と、変更命令管理部３００３が管理する変更命令管理表に記録されている変更命令との間で、競合が発生している場合、その競合する変更命令を変更命令管理表の中から発見し、競合解決部３０１０へ送信する。競合発見部３００９の処理の流れを図２１に示すフローチャートを用いて説明する。
競合発見部３００９は、発火条件情報処理部３００８より変更命令を受信する（Ｓ２１００１）。
Ｓ２１００１において受信した変更命令に記録されている発火条件情報を用いて、変更命令管理部３００３に管理されている変更命令管理表に記録されている変更命令の中から、競合確認が必要な変更命令を抽出する（Ｓ２１００２）。競合確認が必要な変更命令の抽出方法は具体的には以下の通りである。まず、装置ＩＤをｉとしたときに、変更命令管理部３００３の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置ＩＤごとにその値を「Ｖ（ｉ）」とする。また、Ｓ２１００１において受信した変更命令の保持している発火条件情報に記録されている「ｃｏｕｎｔ」の値を装置ＩＤごとに「Ｗ（ｉ）」とする。そして、変更命令管理表から装置ＩＤが「ｉ」の変更命令から新しい順、つまり、通し番号の大きい変更命令から順に「Ｖ（ｉ）−Ｗ（ｉ）」個の変更命令を抽出する。発火条件情報処理部３００８の処理によって「Ｖ（ｉ）−Ｗ（ｉ）」の値がマイナスになるような発火条件情報をもつ変更命令は、競合発見部３００９は受信することはない。【００８６】
Ｓ２１００２で変更命令管理表から抽出したすべての変更命令と、Ｓ２１００１で発火条件情報処理部３００８から受信した変更命令の内容を比較し、競合していないかを確認する（Ｓ２１００３）。具体的には、変更命令の「処理対象」の項目に記録されている情報（例えば「タイトル」、「撮影者名」）が同一であるかどうかを確認する。変更命令の処理対象が同一である場合は競合していると判断し、変更命令の処理対象が同一ではない場合は競合していないと判断する。また、Ｓ２１００２において一つの命令も抽出されなかった場合は、競合した変更命令は存在しないと判断する。
Ｓ２１００３においてＳ２１００２で抽出した変更命令が一つでもＳ２１００１で受信した変更命令と競合していると判断された場合は、Ｓ２１００５へ進み、Ｓ２１００２で抽出した変更命令すべてとＳ２１００１で受信した変更命令とが競合していないと判断された場合はＳ２１００８へ進む（Ｓ２１００４）。【００８７】
Ｓ２１００４においてＳ２１００２で抽出した変更命令が一つでも競合していると判断された場合、発火条件情報処理部３００８が保持している、変更命令同期部３００７から発火条件情報処理部３００８が受信した変更命令の中に、競合発見部３００９がＳ２１００１で受信した変更命令とＳ２１００３において抽出した変更命令との間の競合を解決する変更命令が存在しないかを確認する（Ｓ２１００５）。競合を解決する変更命令とは競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された、競合している変更命令と処理対象が同じである変更命令のことである。今回の場合、「発火条件情報」を用いて、競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された変更命令かどうかを判断し、処理対象が同じであるかどうかは変更命令の「処理対象」の項目で判断する。競合関係にある変更命令の装置ＩＤを「ｉ」、通し番号を「ｎ」とし、発火条件情報処理部３００８が保持している変更命令発火条件情報の「ｃｏｕｎｔ」の値を「Ｗ（ｉ）」とした場合、全ての競合関係にある変更命令において「ｎ≦Ｗ（ｉ）」が成り立つ発火条件情報をもつ変更命令でかつ、「処理対象」の項目が競合関係にある変更命令と同一である変更命令が競合を解決する変更命令である。【００８８】
Ｓ２１００１で受信した変更命令とＳ２１００３で抽出した変更命令との間の競合全てに対して、解決する変更命令がＳ２１００５で存在することが確認できた場合、Ｓ２１００８へ進み、一つでも競合を解決する変更命令が発見できなかった場合は、Ｓ２１００７へ進む（Ｓ２１００６）。
Ｓ２１００１で受信した変更命令と、Ｓ２１００３で抽出した変更命令間の競合を解決する変更命令をＳ２１００５において発見できなかった場合、解決する変更命令を発見できなかった競合関係にあるＳ２１００１で受信した変更命令とＳ２１００３で抽出した変更命令を競合解決部３０１０へ送信する（Ｓ２１００７）。
Ｓ２１００１で受信した変更命令を変更命令処理部３００６へ送信する（Ｓ２１００８）。
処理を終了させる（Ｓ２１００９）。【００８９】
（競合している場合の処理の一例）
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を記録している状態で、発火条件情報処理部３００８は図５（ｂ）に示す変更命令５１００と図５（ｃ）に示す変更命令５２００を変更命令同期部３００７より受信し、発火条件情報処理部３００８の処理によって、変更命令５１００を競合発見部３００９が受信したときの競合発見部３００９の処理の流れを具体的に説明する。【００９０】
素材管理装置Ａの競合発見部３００９は発火条件情報処理部３００８より変更命令５１００を受信する（Ｓ２１００１）。
変更命令管理部３００３の管理する変更命令管理表１７０００に記録されている変更命令から、変更命令５１００と競合する可能性のある変更命令を抽出する（Ｓ２１００２）。変更命令管理表１７０００より「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝０」「Ｖ（Ｃ）＝０」となる。また、Ｓ２１００１で受信した変更命令５１００の５１０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝０」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝０」「W（Ｃ）＝０」となる。したがって、「Ｖ（Ａ）−W（Ａ）＝１」「Ｖ（Ｂ）−W（Ｂ）＝０」「Ｖ（Ｃ）−W（Ｃ）＝０」となるため、装置ＩＤが「Ａ」である素材管理表１７０００の列１７００１より通し番号の値が変更命令５０００より大きい変更命令である変更命令１７１００を一つ抽出する。【００９１】
Ｓ２１００１で受信した変更命令５１００とＳ２１００２で抽出した変更命令１７１００が競合しているかどうかを確認する（Ｓ２１００３）。変更命令５１００の５１０４の枡に記録されている処理対象「撮影者名」と、変更命令１７１００の１７１０４の枡に記録されている処理対象「撮影者名」は同じであるため、競合していると判断する。
Ｓ２１００３で競合していると判断されたため、Ｓ２１００５へ進む（Ｓ２１００４）。【００９２】
発火条件情報処理部３００８が変更命令同期部３００７より受信した変更命令の中に変更命令５１００と変更命令１７１００の競合を解決する変更命令が無いかを確認する（Ｓ２１００５）。今回、発火条件情報処理部３００８が保持している変更命令は変更命令５２００のみであり、変更命令５２００の５２０６の枡に記録されている発火条件情報は「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝１」「W（Ｃ）＝０」となる。また、今回競合関係にある変更命令５１００および変更命令１７１００の装置ＩＤおよび通し番号はそれぞれ「装置ＩＤ＝Ｂ、通し番号＝１」と「装置ＩＤ＝Ａ、通し番号＝２」となっている。従って装置ＩＤがＡのとき、通し番号ｎは２であり、「ｎ≦Ｗ（Ａ）」を満たさない。また、変更命令５２００の５２０４の枡に記録されている処理対象は「タイトル」であり、変更命令５１００および変更命令１７１００の処理対象「撮影者名」とは異なる。従って、競合を解決する変更命令は存在しないと判断する。
Ｓ２１００５で競合を解決する変更命令が存在しないと判断したため、Ｓ２１００７へ進む（Ｓ２１００６）。【００９３】
Ｓ２１００１で受信した変更命令５１００及び変更命令管理部３００３の管理する変更命令管理表１７０００に管理されている変更命令１７１００を競合解決部３０１０へ送信する（Ｓ２１００７）。
Ｓ２１００１で受信した変更命令５１００を変更命令処理部３００６へ送信する（Ｓ２１００８）。Ｓ２１００７で変更命令５１００は競合解決部３０１０へ送信されているが、ここでは、変更命令処理部３００６へも送信を行う。
処理を終了させる（Ｓ２１００９）。【００９４】
このように発火条件情報を用いて処理を行うことによって、変更命令の競合を発見し、それを競合解決部３０１０で解決する機会を得ることができる。【００９５】
（競合していない場合の処理の一例）
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を記録している状態で、発火条件情報処理部３００８は図５（ｂ）に示す変更命令５１００と図５（ｃ）に示す変更命令５２００を変更命令同期部３００７より受信し、発火条件情報処理部３００８の処理によって、変更命令５１００を競合発見部３００９が受信し処理を行い、変更命令管理部３００３が図２０（ａ）に示す変更命令管理表２００００において図５（ａ）（ｂ）および図１７（ｂ）に示す変更命令５０００、変更命令５１００および変更命令１７１００を記録するようになった状態で、発火条件情報処理部３００８の処理によって、変更命令５２００を競合発見部３００９が受信したときの競合発見部３００９の処理の流れを具体的に説明する。【００９６】
素材管理装置Ａの競合発見部３００９は発火条件情報処理部３００８より変更命令５２００を受信する（Ｓ２１００１）。
変更命令管理部３００３の管理する変更命令管理表２００００に記録されている変更命令から、変更命令５２００と競合する可能性のある変更命令を抽出する（Ｓ２１００２）。変更命令管理表２００００より「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝１」「Ｖ（Ｃ）＝０」となる。また、Ｓ２１００１で受信した変更命令５２００の５２０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝１」「W（Ｃ）＝０」となる。したがって、「Ｖ（Ａ）−W（Ａ）＝１」「Ｖ（Ｂ）−W（Ｂ）＝０」「Ｖ（Ｃ）−W（Ｃ）＝０」となるため、装置ＩＤが「Ａ」である素材管理表２００００の列２０００１より通し番号の値が変更命令５０００より大きい変更命令である変更命令１７１００を一つ抽出する。【００９７】
Ｓ２１００１で受信した変更命令５２００とＳ２１００２で抽出した変更命令１７１００が競合しているかどうかを確認する（Ｓ２１００３）。変更命令５２００の５２０４の枡に記録されている処理対象「タイトル」と、変更命令１７１００の１７１０４の枡に記録されている処理対象「撮影者名」は異なるため、競合していないと判断する。
Ｓ２１００３で競合していないと判断されたため、Ｓ２１００８へ進む（Ｓ２１００４）。
Ｓ２１００１で受信した変更命令５２００を変更命令処理部３００６へ送信する（Ｓ２１００８）。
処理を終了させる（Ｓ２１００９）。【００９８】
（競合を解決する変更命令が存在する場合の処理の一例）
次に素材管理装置Ａの変更命令管理部３００３が図２２（ａ）に示す変更命令管理表２２０００において、変更命令５０００、変更命令５１００、変更命令５２００、変更命令１７１００および図２２（ｂ）に示す変更命令２２０００を記録している状態で、変更命令管理部３００３において管理している変更命令管理表において変更命令を全く管理していない素材管理装置Ｃとオンラインになり、素材管理装置Ｃの変更命令同期部３００７が素材管理装置Ａから変更命令５０００、変更命令５１００、変更命令５２００、変更命令１７１００および変更命令２２０００を取得し、発火条件情報処理部３００８へ送信した場合の処理を説明する。このとき素材管理装置Ａのデータ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。【００９９】
既に説明した発火条件情報処理部３００８の処理によって、まず初めに、変更命令５０００が競合発見部３００９に送信される。競合する変更命令を素材管理装置Ｃの変更命令管理部３００３は記録していないため、変更命令は変更命令処理部３００６へ渡され、変更命令管理表に記録され、変更命令管理表１４０００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表１３０００の状態になっている。
発火条件情報処理部３００８の処理のフローチャートのＳ１９００２において、変更命令５１００と変更命令１７１００が抽出される。Ｓ１９００５において今回は変更命令５１００を選択し競合発見部３００９へ送信したとする。なお、変更命令１７１００を選択した場合も、処理は大きく変わらない。競合する変更命令を素材管理装置Ｃの変更命令管理部３００３の管理する変更命令管理表は記録していないため、変更命令は変更命令処理部３００６へ渡され、変更命令管理表に記録され、変更命令管理表１４１００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表４０００の状態になっている。
発火条件情報処理部３００８から変更命令１７１００が競合発見部３００９へ送信される。このとき競合発見部３００９の処理のフローチャートＳ２１００４において変更命令５１００が競合していると判断される。【０１００】
発火条件情報処理部３００８が変更命令同期部３００７より受信した変更命令の中に変更命令５１００と変更命令１７１００の競合を解決する変更命令が無いかを確認する（Ｓ２１００５）。今回、発火条件情報処理部３００８が保持している変更命令は変更命令５２００および変更命令２２１００であり、変更命令５２００の５２０６の枡に記録されている発火条件情報は「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝１」「W（Ｃ）＝０」となる。また、今回競合関係にある変更命令５１００および変更命令１７１００の装置ＩＤおよび通し番号はそれぞれ「装置ＩＤ＝Ｂ、通し番号＝１」と「装置ＩＤ＝Ａ、通し番号＝２」となっている。従って装置ＩＤがＡのとき、通し番号ｎは２であり、「ｎ≦Ｗ（Ａ）」を満たさない。また、変更命令５２００の５２０４の枡に記録されている処理対象は「タイトル」であり、変更命令５１００および変更命令１７１００の処理対象「撮影者名」とは異なる。次に、変更命令２２１００の２２１０６の枡に記録されている発火条件情報は「ＩＤ＝Ａ、ｃｏｕｎｔ＝２」「ＩＤ＝B、ｃｏｕｎｔ＝２」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝２」「W（Ｂ）＝２」「W（Ｃ）＝０」となる。したがって、全ての装置ＩＤ「ｉ」において「ｎ≦Ｗ（ｉ）」が成り立つ。よって、競合を解決する変更命令として変更命令２２１００が存在すると判断する。
Ｓ２１００５において競合を解決する変更命令が存在することが確認できたため、Ｓ２１００８において変更命令１７１００を変更命令処理部３００６へ送信し、競合発見部３００９の処理を終了させる。【０１０１】
以上の素材管理装置Ｃでの処理をまとめ、それぞれの処理時点での変更命令管理表とインデックスデータ管理表の状態を説明する。【０１０２】
変更命令処理部３００６によって、変更命令１７１００が変更命令管理表へ記録され、変更命令管理表２００００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３０００の状態になっている。
発火条件情報処理部３００８から変更命令１７１００が競合発見部３００９へ送信される。競合発見部３００９によって、競合が発見されず、変更命令処理部３００６へ送信され、変更命令管理表へ記録され、変更命令管理表２０１００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。
最後に、発火条件情報処理部３００８から変更命令２２１００が競合発見部３００９へ送信される。競合発見部３００９によって、競合が発見されず、変更命令処理部３００６へ送信され、変更命令管理表へ記録され、変更命令管理表２２０００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。【０１０３】
このように、素材管理装置Ａにて生成された競合を解決する変更命令２２１００と発火条件情報を用いて素材管理装置Ｃにおいて処理を行うことによって、再度競合解決の処理を行うことなく、適切に変更命令の同期および変更命令のインデックスデータへの適用処理によってインデックスデータを同期することができた。【０１０４】
（２−８．競合解決部の動作例）
競合解決部３０１０は競合発見部３００９より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部３００３で管理するため、変更命令生成部３００４へユーザの選択結果を変更情報として送信し、変更命令生成部３００４で変更命令を生成し、変更命令処理部３００６で処理することによって、データ管理部３００２および変更命令管理部３００３に反映させる。なお、今回はユーザに競合している変更命令に関する情報を提示し、選択してもらうことによって、競合を解決したが、この解決方法は本発明の主眼ではなく、何らかのルールに従って自動的に処理するなど様々な方法が考えられる。本発明の主眼は、これらのユーザの選択や何らかのルールによって解決された結果を適切に管理し、他の素材管理装置がこれら競合していた変更命令を受信した際も、再度同じ競合解決の処理を行う必要がないように、解決結果を適切に伝達させていくことである。【０１０５】
競合解決部３０１０の処理の流れを図２４のフローチャートを用いて説明する。
競合発見部３００９より競合している変更命令を受信する（Ｓ２４００１）。このとき競合関係にある二つ以上の変更命令を同時に受信する。
発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しないかを確認する（Ｓ２４００２）。未処理の変更命令が存在する間は、Ｓ２４００１の競合する変更命令の受信と蓄積処理を行う。発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しなくなった場合、Ｓ２４００３へ進む。
Ｓ２４００１において蓄積した競合した変更命令に未処理の変更命令が存在するかを判断する（Ｓ２４００３）。未処理の変更命令が存在する場合はＳ２４００４へ進み、存在しない場合は、Ｓ２４００８へ進む。
未処理であるＳ２４００１で蓄積した競合関係にある二つ以上の変更命令を一組選択する（Ｓ２４００４）。
Ｓ２４００４において選択した二つ以上の競合関係にある変更命令をユーザに提示し、選択した結果の入力を受ける（Ｓ２４００５）。
Ｓ２４００５の入力により、選択された変更命令より、変更情報を生成する（Ｓ２４００６）。
Ｓ２４００６で生成した変更情報を変更命令生成部３００４へ送信する（Ｓ２４００７）。
Ｓ２４００３において未処理の競合関係にある変更命令が存在しないと判断された場合、処理を終了する（Ｓ２４００８）。【０１０６】
以上の処理によって、競合を解決する命令が変更命令生成部３００４で生成され、変更命令処理部３００６によって、データ管理部３００２および変更命令管理部３００３へ反映される。【０１０７】
次に、競合解決部３０１０が競合発見部３００９より図５の（ｂ）に示す変更命令５１００と図１７の（ｂ）に示す変更命令１７１００を競合する命令として受信した場合の、競合解決部３０１０の処理の流れを具体的に説明する。
競合発見部３００９より競合している変更命令５１００と変更命令１７１００を受信する（Ｓ２４００１）。
発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しないことを確認する（Ｓ２４００２）。今回、競合発見部３００９の処理が完了するまでに競合解決部３０１０が受信した、競合関係にある変更命令は変更命令５１００および変更命令１７１００のみであったとする。
競合関係にある変更命令５１００および変更命令１７１００が未処理であるため、Ｓ２４００４へ進む（Ｓ２４００３）。
未処理の競合関係にある未処理の変更命令として、変更命令５１００および変更命令１７１００の組を選択する（Ｓ２４００４）。
変更命令５１００および変更命令１７１００の情報をユーザに提示し、入力を受けることによって競合を解決する（Ｓ２４００５）。具体的には、変更命令５１００の５１０４の枡と５１０５の枡に記録されている「撮影者名」「山田」という情報と、変更命令１７１００の１７１０４の枡と１７１０５の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。【０１０８】
Ｓ２４００５によって選択された情報を元に変更情報を生成する（Ｓ２４００６）。Ｓ２４００５におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図２５の変更情報２５０００に示す。２５００３にユーザによって選択された「佐藤」という情報内容が、２５００２の枡に競合していた処理対象である「撮影者名」という情報が、２５００１の枡に処理内容を示す「更新」が記録されている。
Ｓ２４００６で生成された変更情報２５０００を変更命令生成部３００４へ送信する（Ｓ２４００７）。
Ｓ２４００３において、競合関係にある未処理の変更命令が存在しないと判断し、Ｓ２４００８へ進む。
処理を終了させる（Ｓ２４００８）。【０１０９】
変更命令生成部３００４へ送信された変更情報２５０００は、変更命令生成部３００４の処理によって、競合を解決する変更命令である図２２（ｂ）に示す変更命令２２１００が生成され、変更命令処理部３００６の処理によって、変更命令管理部３００３の保持する変更命令管理表は図２０（ｂ）に示す変更命令管理表２０１００の状態から図２２（ａ）に示す変更命令管理表２２０００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。【０１１０】
（実施の形態２）
本実施の形態において、実施の形態１の競合解決部について別の例を開示する。競合解決部以外は実施の形態１と同様であるため、説明は省略する。【０１１１】
（競合解決部の動作例）
競合解決部３０１０は競合発見部３００９より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部３００３で管理するため、変更命令生成部３００４へユーザの選択結果を変更情報として送信し、変更命令生成部３００４で変更命令を生成し、変更命令処理部３００６で処理することによって、データ管理部３００２および変更命令管理部３００３に反映させる。
競合解決部３０１０の処理の流れは図２４のフローチャートで示したとおりであり、実施の形態１で説明したものと同様であるため、説明を省略する。【０１１２】
次に、競合解決部３０１０が競合発見部３００９より図５（ｂ）に示す変更命令５１００と図１７の（ｂ）に示す変更命令１７１００を競合する命令として受信した場合の、競合解決部３０１０の処理の流れを具体的に説明する。
競合発見部３００９より競合している変更命令５１００と変更命令１７１００を受信する（Ｓ２４００１）。
発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しないことを確認する（Ｓ２４００２）。今回、競合発見部３００９の処理が完了するまでに競合解決部３０１０が受信した、競合関係にある変更命令は変更命令５１００および変更命令１７１００のみであったとする。
競合関係にある変更命令５１００および変更命令１７１００が未処理であるため、Ｓ２４００４へ進む（Ｓ２４００３）。
未処理の競合関係にある未処理の変更命令として、変更命令５１００および変更命令１７１００の組を選択する（Ｓ２４００４）。
変更命令５１００および変更命令１７１００の情報をユーザに提示し、入力を受けることによって競合を解決する（Ｓ２４００５）。具体的には、変更命令５１００の５１０４の枡と５１０５の枡に記録されている「撮影者名」「山田」という情報と、変更命令１７１００の１７１０４の枡と１７１０５の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。【０１１３】
Ｓ２４００５によって選択された情報を元に変更情報を生成する（Ｓ２４００６）。Ｓ２４００５におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図２６の変更情報２６０００に示す。２６００３にユーザによって選択された「佐藤」という情報内容が、２６００２の枡に競合していた処理対象である「撮影者名」という情報が、２６００１の枡に処理内容を示す「更新」が、２６００４の枡に競合を解決した情報であるということを表す情報が記録されている。本実施の形態では競合を解決した情報であるということを変更情報に「競合解決」という枡を設け、そこに「YES」と、競合を解決した情報では無い場合を「NO」記録することによって表現したが、この方法に限定されるものではなく、2値のフラグを用いてその一方を競合を解決したことを表し、もう一方競合を解決した情報ではないということを表すようにしてもよい。
Ｓ２４００６で生成された変更情報２６０００を変更命令生成部３００４へ送信する（Ｓ２４００７）。
Ｓ２４００３において、競合関係にある未処理の変更命令が存在しないと判断し、Ｓ２４００８へ進む。
処理を終了させる（Ｓ２４００８）。【０１１４】
変更命令生成部３００４へ送信された変更情報２６０００は、変更命令生成部３００４の処理によって、競合を解決する変更命令が生成され、変更命令処理部３００６の処理によって、変更命令管理部３００３の保持する変更命令管理表が更新される。また、データ管理部３００２の管理するインデックスデータ管理表も更新される。変更命令生成部３００４の処理によって生成された変更命令の一例を図２７に示す。
ここで付与した競合を解決する変更命令であるという情報は、別の処理を行う際に、競合を解決する変更命令だけを抽出する場合に等に利用することができる。【０１１５】
ここで、図２４のＳ２４００５においてユーザが競合関係にある変更命令を選択する際の画面例を図２８に示す。【０１１６】
２８００１の枠は今回の競合解決画面が対象としているインデックスデータを表している。図２８の場合は対象としているインデックスデータが「タイトル」であることを表している。【０１１７】
２８００２の枠は競合の解決を行うための枠である。競合の解決方法には、競合している情報のどちらかを選択するか、今回は競合を解決せず、保留とするか、競合している情報とは別の情報を入力し、競合を解決する手段が提供されている。図２８の２８００３および２８００４は今回競合している情報がボタン状になって表示されており、それらを押下することによって、選択状態にする。今回は「交通事故」という情報と「衝突事故」という情報が競合しており、どちらかを選択する事ができる。また、競合を解決せず、保留状態とする場合は２８００５の保留のボタンを押下する。２８００６の枠は直接何らかの情報を入力することによって競合を解決する場合に、情報を入力する枠である。競合を解決するボタン２８００３および２８００４と、競合解決を保留するボタン２８００５、直接入力を行う２８００６の枠はそれぞれ排他的に選択でき、２８００３および２８００４および２８００５のボタンのいずれかしか選択できず、いずれかのボタンを選択している場合は、２８００６の枠には入力できない。また、２８００６の枠に入力している場合は、２８００３および２８００４および２８００５のいずれのボタンも選択できない。【０１１８】
２８００７の枠は２８００１の枠に書かれている対象インデックスデータの変更履歴を表示している。２８００７の枠内の途中で分岐し、その後矢印が合流している箇所は情報が競合を起こし、解決されたことを表している。具体的に図２８の場合で説明すると、「事故」を「人身事故」と「車の事故」と書き換えた結果が競合として発見され、「車の事故」という情報を選択することによって競合が解決されたことを表している。その後「車の事故」から「単独事故」に情報が変更されたことを表している。これらの変更履歴は変更情報より生成することができる。この変更履歴を参考とすることによって、利用者が競合解決の判断を行う際に判断を行いやすくすることができる。【０１１９】
２８００２の枠でボタン選択、または入力を行った結果を、２８００８のボタンを押下することによって確定させる。【０１２０】
なお、競合を解決せずに保留した場合、図２４のＳ２４００６およびＳ２４００７の処理が飛ばされ、Ｓ２４００５からＳ２４００３に戻ることになる。
また、競合の解決はオフライン状態の時に行うことも可能である。この場合、オンラインになった際に変更命令を送受信することによって同期を行い、ユーザによる選択か、またはあらかじめ設定した情報に従って、いったん発見された競合の解決を保留とする。その後、オフライン状態で競合発見処理を行い、発見された競合している変更命令に対して解決処理を行うことが可能となる。【０１２１】
（実施の形態３）
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで、素材としてＭＰＥＧ−２形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名、動画像に対して行った操作を考える。動画像に対して行った操作とは、動画像の削除や編集などが考えられる。削除や編集の記述方法は本発明の主眼ではないため、詳細に言及しない。編集機などで用いられるプレイリストやＥＤＬ（Ｅｄｉｔ  Ｄｅｃｉｓｉｏｎ  Ｌｉｓｔ）などが利用可能である。本発明では削除の操作をインデックスデータとして同期する場合を説明する。【０１２２】
なお、素材としてはMPEG-2形式の動画に限定されるものではなく、DV形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名および素材に対して行った操作に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地（素材が管理されている装置および装置内の管理場所を識別する情報）等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。【０１２３】
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。【０１２４】
（１．全体構成）
図２９に本実施の形態における素材管理装置の全体構成を示す。素材管理装置２９０００は素材操作部２９００１と素材管理部２９００２とインデックスデータ制御部２９００３とインデックスデータ処理部２９００４で構成される。素材操作部２９００１は素材管理部２９００２へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部２９００３へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部２９００１からインデックスデータ制御部２９００３へ変更内容が通知される。素材管理部２９００２は素材操作部２９００１から受信した素材を管理する。インデックスデータ制御部２９００３は素材操作部２９００１から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。インデックスデータ処理部２９００４はインデックスデータ制御部２９００３によって同期されたインデックスデータに素材に対する「操作」の情報が記録されている場合に、その情報に基づいて素材管理部２９００２に保持されている素材に対して「操作」の内容に記載されている処理を行う。図３０に示したインデックスデータ管理表３００００の「＜操作＞」と「＜／操作＞」で囲まれた箇所に記載されている「削除」が操作である。この操作の情報が自装置の素材操作部２９００１によってインデックスデータ制御部２９００３へ通知された情報である場合、インデックスデータ処理部２９００４は素材管理部への処理を行わないが、他の装置から同期された情報である場合、インデックスデータ処理部２９００４は素材管理部２９００２へ操作に記載された処理を行う。図３０のインデックスデータ管理表に保持されている操作である「削除」の場合、素材管理部２９００２に保持されている該当の素材を削除する処理をインデックスデータ処理部２９００４は行う。
データ同期の処理主体となる構成要素であるインデックスデータ制御部は実施の形態１または実施の形態２と同じであるため、詳細な説明を省略する。【０１２５】
（その他の実施例）
本実施例では素材に関する情報であるインデックスデータを同期させたが、素材自体を本方式を用いて同期させても良い。素材としては、動画、静止画、音声、テキスト情報などが考えられる。【０１２６】
また、本実施例で説明した番組制作目的での素材管理だけではなく、ホームネットワークにおいて、各機器が記録し管理しているコンテンツの情報を本方式を用いて同期させ、またはコンテンツ自身を本発明を用いて同期させてもよい。ポータブル機器など頻繁にホームネットワークからオフラインになる機器が存在する状況において、ホームネットワークにおけるコンテンツのインデックスやコンテンツ自身の同期を行うことによって、ユーザはどの機器にどのコンテンツが管理されているのかということを意識することなく、ポータブル機器を家に持ち帰り、ホームネットワークに接続すると、ホームネットワークに接続される機器に管理されているコンテンツが利用可能になる。また、ホームネットワークにつながる機器から、ポータブル機器がオフライン中にポータブル機器に新規に登録されたコンテンツも利用可能になる。【０１２７】
また、発火条件情報として今回は変更命令管理部に管理されている変更命令管理表に記録されている変更命令の数を、変更命令を発行した装置毎に数えたものを用いたが、変更命令を一意に識別できる識別子を付与し、変更命令管理表に記録されている変更命令全ての識別子を一覧にしたものを発火条件情報として利用することもできる。このとき、発火条件情報処理部では、発火条件情報として記録されている識別子の数を数えることによって、実施の形態１と同様の処理を行うことができる。競合発見部においても同様である。【０１２８】
また、素材としてテキスト情報を考えた場合、複数の人が協力して同一のＷｅｂページを作成する場合に、それぞれの人が作成したＷｅｂページ間で記述内容に競合が発生していないかを検出し、競合が検出できた場合にはそれを解決する機会を提供することが可能になる。【０１２９】
実施の形態１では先に変更命令取得要求を出した側の装置で競合の解決を行っているがが、あらかじめ装置間で優先順位を決めておき、優先順位の高いものと低いものが同期処理を行う場合は、先にお互いの優先順位を送信し合い、優先順位の高い装置側から変更命令取得要求を出すことによって、競合の解決を優先順位の高い装置に行わせることもできる。また、優先順位が低い装置から変更命令取得要求を行った場合は、競合の解決を保留させ、優先順位の高い装置で競合の解決を行わせることもできる。【０１３０】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2005年10月4日出願の日本特許出願（特願2005-291521）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【０１３１】
本発明は、番組制作を行うために撮影および編集された映像素材を管理する素材管理装置のみならず、オーディオプレーヤーやＤＶＤレコーダー、ポータブルオーディオプレーヤーやポータブルビデオプレーヤ、オーディオやビデオを再生できる携帯電話など、コンテンツを蓄積し、再生する様々な機器において、ホームネットワークなどのネットワークにおいてそれらの機器を接続し、他の機器の管理しているコンテンツの情報を取得し、利用するコンテンツを取得したり、コンテンツを機器間で同期しておくという利用形態に適用可能である。
【図１】
2007043417.tif 000003
【図２】
2007043417.tif 000004
【図３】
2007043417.tif 000005
【図４】
2007043417.tif 000006
【図５】
2007043417.tif 000007
【図６】
2007043417.tif 000008
【図７】
2007043417.tif 000009
【図８】
2007043417.tif 000010
【図９】
2007043417.tif 000011
【図１０】
2007043417.tif 000012
【図１１】
2007043417.tif 000013
【図１２】
2007043417.tif 000014
【図１３】
2007043417.tif 000015
【図１４】
2007043417.tif 000016
【図１５】
2007043417.tif 000017
【図１６】
2007043417.tif 000018
【図１７】
2007043417.tif 000019
【図１８】
2007043417.tif 000020
【図１９】
2007043417.tif 000021
【図２０】
2007043417.tif 000022
【図２１】
2007043417.tif 000023
【図２２】
2007043417.tif 000024
【図２３】
2007043417.tif 000025
【図２４】
2007043417.tif 000026
【図２５】
2007043417.tif 000027
【図２６】
2007043417.tif 000028
【図２７】
2007043417.tif 000029
【図２８】
2007043417.tif 000030
【図２９】
2007043417.tif 000031
【図３０】
2007043417.tif 000032
【手続補正書】
【提出日】平成20年3月18日(2008.3.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置において、
情報を管理するデータ管理手段と、
前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、
生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、
変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段と、
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記変更命令生成手段において、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする情報処理装置。
【請求項３】
請求項１または請求項２に記載の情報処理装置において、
前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、
前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
【請求項４】
請求項１または請求項２に記載の情報処理装置において、
前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、
前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、
前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
【請求項５】
請求項１または請求項２に記載の情報処理装置において、
前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、
前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
【請求項６】
請求項３または請求項４または請求項５に記載の情報処理装置において、
前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする情報処理装置。
【請求項７】
請求項３または請求項４または請求項５または請求項６に記載の情報処理装置において、
前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする情報処理装置。
【請求項８】
請求項７に記載の情報処理装置において、
前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、
競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする情報処理装置。
【請求項９】
請求項７または請求項８に記載の情報処理装置において、
前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータ管理装置間のデータ同期技術に関し、特に任意のデータ管理装置が他のデータ管理装置とはオフライン（通信不可）状態で行ったデータ操作（新規データの追加、データの更新、データの削除）によるデータの変化を、オンライン（通信可）状態になった際に、オンラインのデータ管理装置へ反映・同期させる技術に関する。
【背景技術】
【０００２】
近年、テレビ番組の制作において、半導体メモリカードや光ディスクにファイル形式で記録を行うカメラレコーダやファイル形式で映像編集を行えるノンリニア編集機の利用によって、撮影から編集までの番組制作工程全体を通して、テープによる制作からファイル形式による番組制作に変わりつつある。それに伴い、ファイル形式の番組素材を管理する素材管理システムが必要となってきた。
【０００３】
番組制作は企画、撮影、編集など複数の作業工程から成り立っており、また、それぞれの作業場所も異なる。例えば撮影工程においては番組の内容や、撮影対象に応じて毎回異なる場所で撮影を行うことが通例である。さらに編集工程においては、粗編集、本編集、CG編集、アフレコなど様々な作業の組み合わせでできており、作業ごとに、放送局内の編集室、外部の制作プロダクションなど、場所や設備を変えて作業を行う。つまり、撮影工程においては、放送局内のスタジオや放送局外の様々な場所で映像素材が生成され、編集工程においても、放送局内の編集室や音響室、外部の制作プロダクションなど様々な場所で映像素材が生成される。以上のように番組制作の作業工程を鑑みるに、素材管理システムにおいては、放送局内に設置し全ての素材を一元的に管理する方法では、素材管理方法として番組制作には即さないと考える。
【０００４】
従って、本発明では素材管理システムとして分散型素材管理システムを考える。分散型素材管理システムでは撮影、編集など制作工程や作業者ごとに撮影用、粗編集用、本編集用、CG編集用といった素材管理装置を用意し、各工程で生成された素材を素材管理装置ごとに管理する運用を想定する。そして、各装置間をネットワーク接続し、各々の工程に必要な素材の存在や所在の確認・検索及び実際の素材の送受信を素材管理装置間で直接行う。このような分散型素材管理システムでは、素材管理装置間で素材の存在・所在を確認・検索を行うため、オンライン時に素材のタイトルや所在地（素材が管理されている装置および装置内の管理場所を識別する情報）など、素材に関する付加情報（インデックスデータ）を、素材管理装置間で同期させる必要がある。
【０００５】
データの同期を行う従来技術として、例えば特開平１１−２７２５３３号公報にはリレーショナルデータベースにおいて、マスタ機と孤立して更新されるレプリカ機のデータをマスタデータと矛盾なく同期させるため、前回の同期完了時刻とレコードごとの最終更新時刻を管理し、同期処理時には、前回同期時刻より新しい最終更新時刻を持つレコードを送受信する方法が開示されている。
【０００６】
また、特開２００１−４３１１９号公報および特開２００５−１８５０６号公報では、コマンドやジャーナルと呼ばれるデータの変更情報を第1の装置で蓄積しておき、第2の装置へその変更情報を送信し、処理させることによって、第1の装置のデータに、第2の装置のデータを同期する技術が開示されている。
【０００７】
【特許文献１】特開平１１−２７２５３３号公報
【特許文献２】特開２００１−４３１１９号公報
【特許文献３】特開２００５−１８５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
番組制作において、素材管理装置は撮影現場、編集現場などに持ち運ばれ、オフラインの状態であるときに、次々と新しい素材が登録され、それに伴って、インデックスデータも変更されるのが通常である。例えば、ある素材管理装置が撮影に持ち出され、ロケ先であるためオフライン状態である間に、撮影によって作成された新規の素材がその素材管理装置に登録される場合を考える。この素材管理装置を放送局に持ち帰って放送局内の素材管理装置とオンラインになった際に、オフライン中に更新したインデックスデータが伝達され、撮影現場に持ち運ばれた素材管理装置と放送局内の素材管理装置のインデックスデータが同期されることになる。しかしながら、現実の番組制作の運用はより複雑であり、ロケ中に撮影現場の素材管理装置のインデックスデータが更新されるのと並行して、放送局内においては編集された素材の登録などによって、放送局内の素材管理装置のインデックスデータが変更される。つまり、同期を取らなければならない複数の装置双方でインデックスデータが同時に変更（新規追加、更新、削除）される可能性がある。
【０００９】
また、撮影現場に複数の撮影用素材管理装置を持ち運んで撮影用素材管理装置同士をオンラインにして、インデックスデータを同期する場合や、放送局内で撮影用素材管理装置と編集用素材管理装置でインデックスデータを同期する場合など、同期を行う相手装置も様々である。そして、撮影用の素材管理装置は他の撮影用の素材管理装置とはオンラインになりインデックスデータの同期を行うが、放送局には帰らず、放送局内の編集用の素材管理装置とはインデックスデータの同期を行わないという場合も存在する。
【００１０】
このように、素材管理装置が任意に他の素材管理装置とオフラインとオンラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更が行われ、同期を行う相手の装置も状況に応じて異なり、運用状況によってはお互い直接同期処理を行う機会が存在しない素材管理装置間の関係が存在しうる状況において、複数の素材管理装置間でインデックスデータを同期することができなければならない。
【００１１】
以上に述べた状況においてデータの同期を行う際の課題について、例を用いて以下に説明する。
【００１２】
例えば、ある素材管理装置Aと素材管理装置Bが同じインデックスデータYを管理しており、素材管理装置Aが撮影に持ち出され素材管理装置Bとオフライン状態である間に、インデックスデータYを削除し、その後、素材管理装置Aが素材管理装置Bとオンラインになった場合を考える。このとき、素材管理装置AはインデックスデータYを管理しておらず、素材管理装置BはインデックスデータYを管理しているという状態になっている。この際に期待される同期処理は、素材管理装置BのインデックスデータYが削除されるというものである。一方、素材管理装置Aと素材管理装置Bの双方共に、インデックスデータYを管理していない状態でオフラインになり、オフライン中に素材管理装置BでインデックスデータYが新規作成され、管理されるようになり、その後、素材管理装置Aと素材管理装置Bがオンラインになった場合を考える。このとき、前述の場合と同様に、素材管理装置AはインデックスデータYを管理しておらず、素材管理装置BはインデックスデータYを管理しているという状態になっている。しかし、今回期待される同期処理は、素材管理装置AにインデックスデータYが渡され、素材管理装置AもインデックスデータYを管理するという状態になることである。
【００１３】
このようなデータ同期に特許文献１に記載の技術を適用する事を考える。今回対象としているデータは特許文献１で同期対象としているリレーショナルデータベースのレコードとは異なり、データが削除された場合、データと共に管理している最終更新時刻も削除される。従って、上記の例の同期処理を行う際に、素材管理装置BのインデックスデータYを削除すべきか、素材管理装置AにインデックスデータYを渡すべきかの判断を行うことができない。
【００１４】
次に、素材管理装置Aが撮影に持ち出され、他の素材管理装置群とはオフライン状態で、撮影済み素材Xが素材管理装置Aに登録される場合を考える。素材管理装置Aでは素材Xが登録されると素材Xに関する情報をインデックスデータに登録される。ロケが終了し、素材管理装置Aを放送局に持ち帰ると放送局内の編集用素材管理装置Bとオンラインになり、素材管理装置Aから素材Xに関するインデックスデータが編集用素材管理装置Bへ伝達される。このとき、編集用素材管理装置Bでインデックスデータが変更されている場合は逆にその情報を素材管理装置Aへ伝達する。その後、素材管理装置Aは別のロケのため再度オフライン状態になる。ここで、さらに編集用素材管理装置Cが運用されるケースを考える。例えば素材管理装置Cは素材管理装置Aが放送局に持ち帰ってオンラインになったときに、外部の編集室に持ち出されてオフラインであるという場合が想定できる。この時、素材管理装置Cは素材管理装置Aとはオンラインにならないため、素材Xに関するインデックスデータが取得できない。従って素材管理装置Cは素材管理装置Bとオンラインになった時に素材管理装置Bから素材Xに関するデータの取得が必要となる。また、運用によっては、素材管理装置Bが素材管理装置Cから素材管理装置Aにおいて登録された素材に関するインデックスデータを取得する場合も存在する。このように直接通信を行わない装置間でも、他の装置を媒介として変更内容を伝達しあうことが必要となる。
【００１５】
しかし、特許文献２に開示されている技術では、データへの変更内容を記録したコマンドは、データを変更した装置でのみ管理されているため、他の装置を媒介として伝達することはできない。また、特許文献３に開示されている技術では、データへの変更内容を記録したジャーナルは予め定められた正記憶システムから副記憶システムへ伝達されるのみで、任意の装置間、例えば上記の素材管理装置Aから素材管理装置B、素材管理装置Bから素材管理装置Cで送受信できるものではない。
【００１６】
さらに、特許文献２や特許文献３に開示されているコマンドやジャーナルと呼ばれているデータの変更情報を他の端末へ伝達し、他の端末でその変更情報を処理することによってデータの変更内容を伝達する仕組みを、今回のデータ同期へ適用する場合を考える。例えば、撮影現場において素材管理装置Aに素材Xが新規登録された場合、素材Xに関するインデックスデータを新規作成する変更情報が生成され、素材管理装置Aに蓄積される。放送局に戻ってきて素材管理装置Bとオンラインになったときに、素材管理装置Aに蓄積されている素材Xに関するインデックスデータを新規作成する変更情報を素材管理装置Bへ伝達し、素材管理装置Bで変更情報を処理することによって、素材Xに関するインデックスデータを素材管理装置Aから素材管理装置Bへ伝達したことになる。素材管理装置Aと素材管理装置Bがオフラインになった後、素材管理装置Ｂにおいて素材Xのインデックスデータを修正した場合、その修正に基づく変更情報が生成される。このように素材管理装置Aで生成されたインデックスデータを新規作成する変更情報と、素材管理装置Bで生成されたインデックスデータを修正する変更情報の両方を素材管理装置Cが受け取った場合、新規作成の変更情報を処理してから修正の変更情報を処理する必要がある。仮に、新規作成の変更情報より先に修正の変更情報を処理しようとした場合、新規作成されていない、つまり、存在していないインデックスデータを修正するという処理を実行しようとすることになり、適切に処理が行えないという課題がある。つまり、複数の装置でデータの変更を許容し、変更情報が生成される場合、その変更情報をデータへ反映させる処理順序が重要である。
【００１７】
しかし、特許文献２や特許文献３に開示されている技術では、コマンドやジャーナルと呼ばれている変更情報を生成するのは一つの装置のみであるため、その装置において、変更情報を生成した際に通し番号を付与するといった方法で、変更情報の処理順序を守ることができている。しかし、今回のように複数の装置で同じデータに対して変更などの操作を行える場合、各装置が各々別の番号体系により変更情報に対して通し番号を付与し、異なる装置で生成された複数の変更情報を受け取った場合に、付与されている通し番号からでは変更情報の処理順序を守ることができない。
【００１８】
また、以下の運用も考えられる。素材管理装置Aと素材管理装置Bが素材Xに関するインデックスデータを管理している状態で、素材管理装置Aは別のロケのため再度素材管理装置Bとオフライン状態になり、ロケ先で新規素材群が登録されると共に、例えば、タイトルが間違えていた等の理由により素材Xのインデックスデータの一部であるタイトル情報の更新もなされる。一方、放送局内の編集用素材管理装置Bにおいても同様に素材Xのタイトルの誤りによって素材Xのタイトル情報の更新がなされると共に、素材Xのインデックスデータを他の素材管理装置Cと同期する。この状態で素材管理装置AとBが再びオンラインになると、素材Xのタイトル情報が素材管理装置Ａで編集結果か、素材管理装置Ｂの編集結果のどちらか一方に上書きされてしまう。しかし、本来は、タイトル情報がオフライン中に素材管理装置Ａおよび素材管理装置Ｂの両方の装置で更新が行われたというデータ更新の競合を発見し、どちらの編集結果を採用するのかの選択を促す必要がある。
【００１９】
さらに、素材管理装置AとBがオンラインの時に、他の素材管理装置Cが外部の編集室へ持ち運ばれた等の理由によりオフラインであった場合、素材管理装置AとCがオンラインになった際に、素材Xのタイトル情報に関する競合が再度発生する。ここで、データ更新の競合を発見しどちらの編集結果が正しいのかを促した場合、その判断は作業者にとっては二度手間であり、またAとBが競合した時とは異なる作業者がAとBの競合発見時に採用したものとは異なる編集結果をAとC間の競合発見時に採用しかねない。この場合再度データの競合が発生することになる。
【００２０】
特許文献２に記載の技術は、一つの装置で変更された内容をコマンドとして他の装置へ確実に伝達し、データへ反映させるためのもので、二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データの変更内容に競合が起きコマンド同士が競合した場合に関する記載はなく、コマンド同士の競合の発見方法やそれを解決した結果を他の装置へ伝達する方法に関しては開示されていない。特許文献３に記載の技術は、一つのシステムでのデータの変更内容をジャーナルと呼ばれる変更内容を記述した情報を用いて、他のシステムへ伝達し、他のシステムでジャーナルをデータへ反映させることによって、データをバックアップする仕組みが開示されており、特許文献２と同様に二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データ変更の競合が発生し、競合したジャーナルが生成された場合に、そのジャーナルの競合を発見し、また、それを解決した結果を他の装置へ伝達することができない。
【００２１】
以上で述べたように、従来の技術では装置間の同期処理として自装置内のデータに対して削除処理を行うべきか、相手装置に対してデータを渡す処理を行うべきかを判断できない、他の装置を媒介としたデータの同期が行えない、同期処理で一度に複数の変更情報を受信した場合、変更情報の反映順序を守ることができない、オフライン状態の複数の装置において、それぞれの装置が同一のデータを更新したときに発生するデータ更新の競合を発見できない、データ更新の競合を解決した結果を他の装置へ伝達することができないという課題が存在する。
【００２２】
本発明はこのような点に鑑みてなされたものであり、複数の装置がオンラインとオフラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更を行い、同期処理を行う相手端末も状況に応じて異なり、直接同期処理を行う機会が存在しない装置が存在しうる状況において、複数の装置間でデータを同期する事を目的とする。
【課題を解決するための手段】
【００２３】
他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置は、情報を管理するデータ管理手段と、前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段とを有することを特徴とする。
【００２４】
本発明の一実施の形態において、前記変更命令生成手段は、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする。
【００２５】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
【００２６】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
【００２７】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
【００２８】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする。
【００２９】
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする。
【００３０】
本発明の一実施の形態において、前記情報処理装置は、前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする。
【００３１】
本発明の一実施の形態において、前記情報処理装置において、前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする。
【発明の効果】
【００３２】
任意のタイミングで他の素材管理装置とオンラインになり情報の送受信を行い、他の素材管理装置とオンラインの状態かオフラインの状態かに関わらず、管理している素材を変更を行う素材管理装置において、インデックスデータを同期させるため、インデックスデータに対する変更内容を変更命令として記録し、その変更命令を素材管理装置間で送受信する事によって、インデックスデータを同期させる。
この際に変更命令は他の素材管理装置を媒介として、直接通信を行っていない素材管理装置へ伝達することを可能とした。これによって直接通信を行っていない素材管理装置間においてもインデックスデータを同期することができる。そしてこのとき、同じ変更命令を重複して伝達することや、一つの素材管理装置において重複して管理することをなくす事ができる。これによって無駄な処理や情報を削減することができる。
また、変更命令を処理してインデックスデータを更新する際に、変更命令間の処理順序を守って変更命令を処理することができる。変更命令同士が競合している場合には、競合を発見し、解決した結果を他の素材管理装置へも伝達することができる。
【００３３】
以上によって、インデックスデータが同期され、どの素材管理装置においても、どの素材管理装置にどのような素材が管理されているのかを知ることが可能になり、番組制作を行う際に必要な素材を容易に取得することができる。また、新規に素材管理装置に登録された素材についても他の素材管理装置とオンラインになった際に自動的に情報が送信され、他の素材管理装置において新規の素材が登録されたことを知ることができる。これによって、自分の必要とする素材をいち早く容易に取得することが可能になる。よって、番組制作における無駄な作業を削減し、効率的に番組制作を行うことができる。
【発明を実施するための最良の形態】
【００３４】
以下本発明の実施の形態について、図面を参照しながら説明する．
【００３５】
（実施の形態１）
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで素材としてDV形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名を考える。図１に示すように素材管理装置は撮影や編集や試写など様々な番組制作の工程において素材が登録され、また利用される。
【００３６】
なお、素材としてはDV形式の動画に限定されるものではなく、MPEG-2形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地（素材が管理されている装置および装置内の管理場所を識別する情報）等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。
【００３７】
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。
【００３８】
（１．全体構成）
図２に本実施の形態における素材管理装置の全体構成を示す。素材管理装置２０００は素材操作部２００１と素材管理部２００２とインデックスデータ制御部２００３で構成される。素材操作部２００１は素材管理部２００２へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部２００３へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部２００１からインデックスデータ制御部２００３へ変更内容が通知される。素材管理部２００２は素材操作部２００１から受信した素材を管理する。インデックスデータ制御部２００３は素材操作部２００１から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。
【００３９】
データ同期の処理主体となる構成要素であるインデックスデータ制御部を、これ以降で詳細に説明する。
【００４０】
（２．インデックスデータ制御部の詳細）
（２−１．インデックスデータ制御部の構成）
図３にインデックスデータ制御部２００３の詳細構成を示す。
データ操作部３００１は素材操作部２００１から受信したインデックスデータ変更通知の情報から、インデックスデータの変更を行うため、変更命令生成部３００４へインデックスデータの変更に関する情報を送信する。このとき送信する情報を「変更情報」と呼ぶこととする。この際の変更情報とは新規作成、更新、削除等の処理内容、タイトルや撮影者名などインデックスデータにおける処理対象、必要に応じて処理を行う際に必要な情報を含み、変更命令生成部３００４へ一つずつ送信する。
【００４１】
データ管理部３００２はインデックスデータを保持する。他の素材管理装置とオンラインになった際に、このデータ管理部３００２に保持されるインデックスデータを同期させることが本発明の目的である。保持するインデックスデータは変更命令処理部３００６から操作され、変更命令の内容に従ってインデックスデータの新規作成、既存インデックスデータの更新、削除が行われる。データ管理部３００２に管理されているインデックスデータ管理表の一例を図４に示す。インデックスデータ管理表４０００には「＜タイトル＞」と「＜／タイトル＞」で挟まれた部分にタイトル情報である「事故」が記録されており、「＜撮影者名＞」と「＜／撮影者名＞」で挟まれた部分に撮影者名の情報である「山田」が記録されている。撮影日時や番組名などその他のインデックスデータを記録する場合も同様である。
【００４２】
変更命令管理部３００３は変更命令を保持する。変更命令とはインデックスデータの変更内容を命令化したものである。図５（ａ）および（ｂ）および（ｃ）に変更命令の一例を示す。変更命令５０００の５００１の枡には変更命令５０００を生成した素材管理装置のＩＤが記録されている。今回は素材管理装置Ａの装置ＩＤを「Ａ」とした。５００２の枡には変更命令５０００を生成した素材管理装置において付与される通し番号が記録されている。５００３の枡にはインデックスデータに対する処理内容が記録されている。５００４の枡にはインデックスデータの中の処理対象が記録されている。５００５の枡には５００３の枡に記録されている処理内容の必要に応じて、情報内容が記録されている。変更命令５２００の５２０５の枡は、５２０３の枡に記録されている処理内容が「削除」であり処理の際には特に情報を必要としないため、空欄になっている。５００６の枡には発火条件情報が記録されている。発火条件情報の詳細は後述する。以上の情報より、変更命令５０００は素材管理装置Ａにおいて１番目に生成された、インデックスデータのタイトル情報を「事故」として新規作成するという変更命令であるという事が分かる。同様に変更命令５１００は装置ＩＤが「Ｂ」である素材管理装置で１番目に生成された、インデックスデータの撮影者名情報を山田として新規作成するという変更命令であり、変更命令５２００は装置ＩＤが「Ｂ」である素材管理装置で２番目に生成された、インデックスデータのタイトル情報を削除するという変更命令であることが分かる。
【００４３】
次に、変更命令管理部３００３に管理されている変更命令管理表の一例を図６に示す。変更命令管理表６０００は素材管理装置Ａ、素材管理装置Ｂ、素材管理装置Ｃの３つの素材管理装置が存在する状況での、素材管理装置Ｂが管理する変更命令管理表を示したものである。行６００４にはどの素材管理装置が生成した命令が管理されている列かが分かるように、各素材管理装置の装置ＩＤが記載されている。行６００５以降の行に実際の変更命令が管理されている。例えば、列６００２には素材管理装置Ｂが生成した変更命令を生成した順番に行６００５および行６００６に管理している。同様に列６００１、列６００３にはそれぞれ素材管理装置Ａ、素材管理装置Ｃが生成した変更命令を管理する。例えば、列６００１の行６００５の枡には、素材管理装置Ａが１番目に生成した変更命令を管理する。実際にこの枡に管理されている変更命令は図５（ａ）に示した変更命令５０００であるが、簡略化して「変更命令５０００」と表記している。同様に列６００２の行６００６の枡には、図５（ｃ）に示した素材管理装置Ｂが２番目に生成した変更命令５２００が管理されているが、「変更命令５２００」と簡略表記している。列６００２の行６００５の枡についても、図５（ｂ）に示した変更命令５１００が管理されているが、同様に「変更命令５１００」と簡略表記している。また、変更命令管理表６０００の空白になっている枡は、変更命令を管理していないということを表す。管理する変更命令が増えた場合は、順次、変更命令管理表の行を増やして変更命令を管理する。変更命令に対して削除や変更は行わず、新規の変更命令を変更命令管理表へ追加していくのみである。
【００４４】
変更命令生成部３００４はデータ操作部３００１または競合解決部３０１０から受信した変更情報と、発火条件情報生成部３００５へ問い合わせて取得した発火条件情報の二つの情報から変更命令を生成する。
【００４５】
発火条件情報生成部３００５は変更命令生成部３００４の依頼に基づき、変更命令管理部３００３に管理されている変更命令管理表の情報から発火条件情報を生成する。生成した発火条件情報は変更命令生成部３００４へ送信される。
【００４６】
変更命令処理部３００６は変更命令生成部３００４、競合発見部３００９から受信した変更命令に基づいてデータ管理部３００２の保持するインデックスデータ管理表に対して、新規作成、更新、削除の操作を行うと共に、変更命令管理部３００３に処理を行った変更命令を送信する。
【００４７】
変更命令同期部３００７は他の素材管理装置とオンラインである時、変更命令管理部３００３に管理されている変更命令を他の素材管理装置との間で送受信する。受信した変更命令は発火条件情報処理部３００８へ送信する。
【００４８】
発火条件情報処理部３００８は変更命令同期部３００７から受信した変更命令に記録されている発火条件情報から変更命令の処理順序を決定し、決定した順序に従って一つずつ命令を競合発見部３００９へ送信する。
【００４９】
競合発見部３００９は発火条件情報処理部３００８から受信した変更命令と競合する変更命令が変更命令管理部３００３に管理されていないかを確認する。競合する変更命令とは、オフライン中に複数の素材管理装置それぞれで同じ項目を異なる値に変更した場合にそれぞれの素材管理装置で生成される変更命令が競合した変更命令である。競合している変更命令を発見した場合、発火条件情報処理部３００８が変更命令同期部３００７より受信した変更命令を取得し、取得した変更命令の中に、競合を解決する変更命令がないかを確認する。競合を解決する変更命令が存在しない場合、競合している発火条件情報処理部３００８から受信した変更命令、および変更命令管理部３００３に管理されていた変更命令を取得し、競合解決部３０１０へ送信する。また、発火条件情報処理部３００８から受信した変更命令が競合していなかった場合、競合していた場合のどちらの場合も変更命令処理部３００６へ発火条件情報処理部３００８から受信した変更命令を送信する。
【００５０】
競合解決部３０１０は競合発見部３００９から受信した２つ以上の変更命令からデータ管理部３００２へ反映させる変更命令を選択する。選択された変更命令から変更情報を作成し、変更命令生成部３００４へ送信する。
【００５１】
（２−２．変更命令生成部の動作例）
変更命令生成部３００４の動作の詳細を説明する。
変更命令生成部３００４の動作の流れを図７に示したフローチャートを用いて説明する。
データ操作部３００１または競合解決部３０１０から変更情報を受信し、その情報を変更命令に付与する（Ｓ７００１）。
予め保持している素材管理装置の装置ＩＤを変更命令に付与する（Ｓ７００２）。
保持している通し番号に１を加え、変更命令に付与する。また、１を加えた通し番号は、次回の処理時に利用するため記録しておく（Ｓ７００３）。
発火条件情報生成部３００５へ依頼し、発火条件情報を取得し、取得した発火条件情報を変更命令に付与する（Ｓ７００４）。
以上の処理で変更命令が生成できたので、生成した変更命令を変更命令処理部３００６へ送信する（Ｓ７００５）。
処理を終了する（Ｓ７００６）。
【００５２】
次に、図８に示す変更情報８０００を受信した場合の、変更命令生成部３００４の処理を具体的に説明する。処理を行う素材管理装置は素材管理装置Ａであり、装置ＩＤは「Ａ」とする。また、保持している通し番号は一度も処理を行われていない初期状態である「０」であるとする。
変更命令生成部３００４はデータ操作部３００１から変更情報８０００を受信する（Ｓ７００１）。
Ｓ７００１で受信した変更情報８０００に対して装置ＩＤ「Ａ」を付与する（Ｓ７００２）。
保持している通し番号「０」に１加えて「１」にし、Ｓ７００１で受信した変更情報８０００に対して付与する。また、通し番号「１」を次回処理のために保持する（Ｓ７００３）。
発火条件情報生成部３００５へ依頼し、発火条件情報を取得する。ここでは、例えば図９に示す発火条件情報９０００が取得できたものとする。そして取得した発火条件情報９０００を変更命令に付与する（Ｓ７００４）。
【００５３】
以上で、図５（ａ）に示した変更命令５０００が生成される。Ｓ７００１で受信した変更情報８０００の８００１の枡、８００２の枡、８００３の枡に記録されていた情報が、それぞれ順に、変更命令５０００の５００３の枡、５００４の枡、５００５の枡に記録されている。Ｓ７００２で付与した装置ＩＤは変更命令５０００の５００１の枡に記録されている。Ｓ７００３で付与した通し番号は変更命令５０００の５００２の枡に記録されている。Ｓ７００４で付与した発火条件情報９０００は変更命令５０００の５００６の枡に記録されている。変更命令生成部３００４はこの変更命令５０００を変更命令処理部３００６へ送信し、処理を終了させる。
【００５４】
（２−３．発火条件情報生成部の動作例）
発火条件情報生成部３００５では発火条件情報を変更命令生成部３００４の依頼に基づいて生成する。本実施例では、発火条件情報として、変更命令管理部３００３に管理されている変更命令の数を、変更命令を生成した素材管理装置毎に数えたものを用いる。なお、発火条件情報は今回用いた情報に限定されるものではなく、変更命令を一意に特定できる識別子を用いて、変更命令管理部３００３に管理されている変更命令すべての識別子の一覧を生成し、この識別子一覧を発火条件情報とすることや、変更命令管理部３００３に管理されている変更命令全てを一覧にして、この変更命令一覧を発火条件情報とするなど、変更命令管理部３００３に管理されている命令を特定できる情報を発火条件情報とする事ができる。本実施例では、その中でも発火条件情報のデータ量が小さくなるものとして、変更命令管理部３００３に管理されている変更命令の数を素材管理装置毎に数えたものを用いることにした。
【００５５】
発火条件情報生成部３００５の動作の流れを図１０に示したフローチャートを用いて説明する。
発火条件情報生成部３００５は、変更命令生成部３００４から発火条件情報を生成するようにとの依頼を受信する（Ｓ１０００１）。
変更命令管理部３００３から変更命令管理表を取得する（Ｓ１０００２）。
Ｓ１０００２で取得した変更命令管理表に未処理の列が存在するかを判断する（Ｓ１０００３）。未処理の列が存在する場合は、Ｓ１０００４へ進み、未処理の列が存在しない場合は、Ｓ１０００８へ進む。変更命令管理表の各列が処理済みであるか、未処理であるかを判断する方法の一例として、処理済みフラグを用いる。処理済みフラグが付与されている列は処理済みであると判断する。
【００５６】
未処理の列を一列選択する（Ｓ１０００４）。
Ｓ１０００４で選択した列に記録されている装置ＩＤを取得する（Ｓ１０００５）。
Ｓ１０００４で選択した列に記録されている変更命令の数を数える（Ｓ１０００６）。
Ｓ１０００５及びＳ１０００６で取得した装置ＩＤ及び変更命令の数を発火条件情報として記録する（Ｓ１０００７）。その後、処理を行っていた列に処理済みフラグを付与し、Ｓ１０００３に戻り、処理を繰り返す。
Ｓ１０００３で未処理の列が存在しないと判断された場合、生成済みの発火条件情報を変更命令生成部３００３へ送信する（Ｓ１０００８）。
処理を終了させる（Ｓ１０００９）。
【００５７】
次に、一例として変更命令生成部３００４から発火条件情報生成の依頼を受信し、変更命令管理部３００３から図６に示す変更命令管理表６０００を受信した場合の処理を具体的に説明する。
発火条件情報生成部３００５は変更命令生成部３００４から発火条件情報生成依頼を受信し（Ｓ１０００１）、変更命令管理部３００３から図６に示す変更命令管理表６０００を受信する（Ｓ１０００２）。
処理済みフラグが付与されていないため、列６００１、列６００２、列６００３が未処理であるため、Ｓ１０００４へ進む（Ｓ１０００３）。
【００５８】
列６００１を選択する（Ｓ１０００４）。
Ｓ１０００４で選択された列６００１から素材管理装置の装置ＩＤを取得する（Ｓ１０００５）。今回の場合、列６００１の行６００４に記録されている装置ＩＤ「Ａ」を取得する。
Ｓ１０００４で選択された列６００１に管理されている変更命令の数を数える（Ｓ１０００６）。列６００１の行６００５に一つだけ変更命令が管理されているため変更命令の数を数えた結果として「１」を取得する。
Ｓ１０００５で取得した装置ＩＤ「Ａ」およびＳ１０００６で取得した変更命令の数「１」
を発火条件情報として記録する（Ｓ１０００７）。そして、列６００１に処理済みフラグを付与し、Ｓ１０００３へ戻り処理を繰り返す。
列６００２、列６００３が未処理であるため、Ｓ１０００４へ進む（Ｓ１０００３）。
列６００２を選択する（Ｓ１０００４）。
Ｓ１０００４で選択された列６００２の行６００４から装置ＩＤ「Ｂ」を取得する（Ｓ１０００５）。
Ｓ１０００４で選択された列６００２に管理されている変更命令の数を数える（Ｓ１０００６）。列６００２の行６００５および行６００６に変更命令が管理されているため、変更命令の数を数えた結果として「２」を取得する。
Ｓ１０００５で取得した装置ＩＤ「Ｂ」およびＳ１０００６で取得した変更命令の数「２」を発火条件情報として記録する（Ｓ１０００７）。この際、既に記録済みの発火条件情報へ追記する。そして、列６００２に処理済みフラグを付与し、Ｓ１０００３へ戻り処理を繰り返す。
【００５９】
列６００３が未処理であるため、Ｓ１０００４へ進む（Ｓ１０００３）。
以降、同様に処理を行い、装置ＩＤ「Ｃ」および変更命令の数「０」を取得し、発火条件情報に追記し、列６００３に処理済みフラグを付与し、Ｓ１０００３に戻る。
Ｓ１０００３において未処理の列が存在しないため、Ｓ１０００８へ進む。
以上の処理で生成済みの発火条件情報を図１１に示す。「ＩＤ＝Ａ」とは素材管理装置の装置ＩＤが「Ａ」であることを示し、「ｃｏｕｎｔ＝１」とは変更命令の数が「１」であったことを示す。従って、「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」とは素材管理装置Ａが生成した変更命令の数が「１」であるということを示す。同様に「ＩＤ＝Ｂ、ｃｏｕｎｔ＝２」とは素材管理装置Ｂが生成した変更命令の数が「２」であり、「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」とは素材管理装置Ｃが生成した変更命令の数が「０」であるということを示す。これらが記録された発火条件情報１１０００を変更命令生成部３００４へ送信する（Ｓ１０００８）。
以上で処理を終了する（Ｓ１０００９）。
【００６０】
（２−４．変更命令処理部の動作例）
変更命令処理部３００６の動作の流れを図１２に示したフローチャートを用いて説明する。
変更命令処理部３００６は、変更命令生成部３００４または競合発見部３００９から変更命令を受信する（Ｓ１２００１）。
Ｓ１２００１において受信した変更命令に記録されている処理をデータ管理部３００２に管理されているインデックスデータ管理表に対して行う（Ｓ１２００２）。
変更命令を変更命令管理部３００３が管理している変更命令管理表に記録する（Ｓ１２００３）。
処理を終了する（Ｓ１２００４）。
【００６１】
次にデータ管理部３００２が図１３（ａ）に示すインデックスデータ管理表１３０００を管理し、変更命令管理部３００３が図１４（ａ）に示す変更命令管理表１４０００を管理している状態で、変更命令処理部３００６が図５（ｂ）に示す変更命令５１００を受信した場合の変更命令処理部３００６の処理を具体的に説明する。
変更命令処理部３００６は、Ｓ１２００１において変更命令５１００を受信する。
Ｓ１２００２において、データ管理部３００２が管理するインデックスデータ管理表１３０００に対して、変更命令５１００の５１０３の枡、５１０４の枡、５１０５の枡に記載されている情報から、「撮影者名」という項目を情報の内容を「山田」として「新規作成」する。この処理によって、データ管理部３００２に管理されているインデックスデータ管理表１３０００は、図４に示すインデックスデータ管理表４０００の状態になる。
Ｓ１２００３において、変更命令管理部３００３の管理する変更命令管理表１４０００に対して、変更命令５１００を記録する。記録を行った結果、変更命令管理表１４０００は図１４（ｂ）に示す変更命令管理表１４１００の状態になる。列１４１０２の行１４１０５に変更命令５１００が管理されている。表記の都合上「変更命令５１００」と簡略して表記している。
以上で処理を終了する（Ｓ１２００４）。
【００６２】
次にデータ管理部３００２が図４に示すインデックスデータ管理表４０００を管理し、変更命令管理部３００３が図１４（ｂ）に示す変更命令管理表１４１００を管理している状態で、変更命令処理部３００６が図５（ｃ）に示す変更命令５２００を受信した場合の変更命令処理部３００６の処理を具体的に説明する。
変更命令処理部３００６は、Ｓ１２００１において変更命令５２００を受信する。
Ｓ１２００２において、データ管理部３００２が管理するインデックスデータ管理表４０００に対して、変更命令５２００の５２０３の枡、５２０４の枡に記載されている情報から、「タイトル」という項目の情報を「削除」する。この処理によって、データ管理部３００２に管理されているインデックスデータ管理表４０００は、図１３（ｂ）に示すインデックスデータ管理表１３１００の状態になる。
Ｓ１２００３において、変更命令管理部３００３の管理する変更命令管理表１４１００に対して、変更命令５２００を記録する。記録を行った結果、変更命令管理表１４１００は図６に示す変更命令管理表６０００の状態になる。列６００２の行６００６に変更命令５２００が管理されている。表記の都合上「変更命令５２００」と簡略して表記している。
以上で処理を終了する（Ｓ１２００４）。
【００６３】
（２−５．変更命令同期部の動作例）
変更命令同期部３００７は他の素材管理装置からの要求に応じて、変更命令を要求先の素材管理装置へ送信する機能と、他の素材管理装置から自装置の変更命令管理部で管理していない変更命令を取得する機能とを有する。これらの機能を用いて、他の素材管理装置とオンラインになっている際に、各素材管理装置において自装置で管理していない変更命令を取得しあうことによって変更命令管理部３００３の管理する変更命令管理表に記録されている変更命令を同期する。
【００６４】
説明を行う便宜上、図１５及び図１６のフローチャートの説明、及びそれに伴う処理の具体説明においては、変更命令取得の要求を行う素材管理装置を素材管理装置Ａ、要求に従って、変更命令を送信する素材管理装置を素材管理装置Ｂとする。今回は説明の便宜上、このようにしたが、素材管理装置Ａ、素材管理装置Ｂ共に変更命令を取得する機能および取得要求に応じて変更命令を送信する機能の両方を持っており、素材管理装置Ａが変更命令を取得し、素材管理装置Ｂが変更命令を送信するという運用形態に限定されるものではない。
【００６５】
まず図１５に示したフローチャートを用いて、変更命令を要求先の素材管理装置へ送信する際の処理の流れ、つまり、素材管理装置Ｂの処理を説明する。
素材管理装置Ｂは、ネットワークで接続された素材管理装置Ａから変更命令取得要求を受信する（Ｓ１５００１）。変更命令取得要求とは変更命令の送受信処理を開始するに当たって、処理の開始を相手装置に伝えるメッセージである。
変更命令管理部３００３に管理されている変更命令管理表に記録されている変更命令から、それらの変更命令を一意に特定できる変更命令ＩＤを生成し、全ての変更命令の変更命令ＩＤを一覧にして、変更命令取得要求を送信してきた素材管理装置Ａへ送信する（Ｓ１５００２）。
素材管理装置Ａから変更命令要求リストを受信する（Ｓ１５００３）。変更命令要求リストとは、素材管理装置Ａが素材管理装置Ｂから取得したい変更命令の変更命令ＩＤを一覧で記述したものである。
変更命令要求リストに記載されている変更命令を、変更命令管理部３００３から取得し、素材管理装置Ａへ送信する（Ｓ１５００４）。変更命令要求リストに変更命令IDが記載されていない場合は、処理を行わず、S１５００５へ進む。
処理を終了させる（Ｓ１５００５）。
【００６６】
次に図１６のフローチャートを用いて、変更命令の取得を要求する素材管理装置の処理の流れ、つまり、素材管理装置Ａの処理を説明する。
素材管理装置Ａは、ネットワークで接続された素材管理装置Ｂへ変更命令取得要求を送信する（Ｓ１６００１）。
素材管理装置Ｂから変更命令ＩＤの一覧を受信する（Ｓ１６００２）。
Ｓ１６００２で受信した変更命令ＩＤの一覧と、変更命令管理部３００３に管理されている変更命令管理表に記録されている変更命令を比較し、変更命令管理表に記録されていない変更命令を特定する（Ｓ１６００３）。変更命令管理表に記録されていないことが特定できた変更命令の変更命令ＩＤを変更命令要求リストに記載する。
Ｓ１６００３で作成した変更命令要求リストを素材管理装置Ｂへ送信する（Ｓ１６００４）。
Ｓ１６００４において送信した変更命令要求リストに変更命令ＩＤが記載されている場合は、Ｓ１６００６へ進み、変更命令IDが記載されていない場合はＳ１６００８へ進む（Ｓ１６００５）。
素材管理装置Ｂから変更命令を受信する（Ｓ１６００６）。
Ｓ１６００６で受信した変更命令を発火条件情報処理部３００８へ送信する（Ｓ１６００７）。
処理を終了する（Ｓ１６００８）。
【００６７】
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において、図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を管理し、素材管理装置Ｂの変更命令管理部３００３が図６に示す変更命令管理表６０００において、図５（ａ）（ｂ）（ｃ）に示す変更命令５０００および変更命令５１００及び変更命令５２００を管理している場合に、図１５及び図１６に示したフローチャートの処理を行い、変更命令の同期処理を行った場合の処理を具体的に説明する。
【００６８】
変更命令を送信する側の素材管理装置Ｂの処理について説明する。
素材管理装置Ａから変更命令取得要求を受信し（Ｓ１５００１）、変更命令管理部３００３に管理している変更命令管理表６０００に記録されている変更命令５０００、変更命令５１００、変更命令５２００より変更命令ＩＤを生成し、変更命令ＩＤ一覧を生成し、素材管理装置Ａへ送信する（Ｓ１５００２）。変更命令ＩＤとして、各変更命令に記録されている装置ＩＤと通し番号を並べたものを用いる。例えば、変更命令５０００の場合は装置ＩＤ「Ａ」と通し番号「１」より変更命令ＩＤを「Ａ−１」とする。同様に変更命令５１００および変更命令５２００はそれぞれ変更命令ＩＤを「Ｂ−１」、「Ｂ−２」とする。これらを一覧にして変更命令ＩＤ一覧を生成する。生成した変更命令ＩＤ一覧を図１８（ａ）に示す。変更命令ＩＤ一覧１８０００の行１８００１、行１８００２、行１８００３に順に、「Ａ−１」「Ｂ−１」「Ｂ−２」が記載されている。この変更命令ＩＤ一覧１８０００を素材管理装置Ａへ送信する。なお、変更命令ＩＤは今回用いたものに限定されるものではなく、変更命令を一意に特定することができる情報であればどのようなものでも良い。例えば、変更命令生成日時情報と装置ＩＤを並べたものなども用いることができる。
素材管理装置Ａより変更命令要求リストとして、図１８（ｂ）に示す変更命令要求リスト１８１００を受信する（Ｓ１５００３）。
変更命令要求リスト１８１００に記載されている変更命令ＩＤの変更命令を変更命令管理部３００３より取得し、素材管理装置Ａへ送信する（Ｓ１５００４）。変更命令要求リスト１８１００の行１８１０１に「Ｂ−１」、行１８１０２に「Ｂ−２」と記載されている。従って、変更命令管理表６０００に記録されている変更命令５１００および変更命令５２００を取得し、素材管理装置Ａへ送信する。
処理を終了する（Ｓ１５００５）。
【００６９】
次に変更命令を取得する側の素材管理装置Ａの処理について説明する。
変更命令取得要求を素材管理装置Ｂへ送信する（Ｓ１６００１）。
素材管理装置Ｂから変更命令ＩＤ一覧１８０００を受信する（Ｓ１６００２）。
素材管理装置Ａの変更命令管理部に管理されている変更命令管理表１７０００に記録されている変更命令とＳ１６００２で受信した変更命令ＩＤ一覧１８０００を比較し、変更命令管理表１７０００に記録されていない変更命令ＩＤを特定する（Ｓ１６００３）。変更命令管理表１７０００には変更命令ＩＤ「Ａ−１」に該当する変更命令５０００は記録されているが、変更命令ＩＤ「Ｂ−１」および「Ｂ−２」に該当する変更命令は記録されていない。従って、変更命令ＩＤ「Ｂ−１」および「Ｂ−２」を記載した変更命令要求リスト１８１００を生成する。
Ｓ１６００３で作成した変更命令要求リスト１８１００を素材管理装置Ｂへ送信する（Ｓ１６００４）。
変更命令要求リスト１８１００には変更命令ID「Ｂ−１」および「Ｂ−２」が記載されているため、S１６００６へ進む（S１６００５）。
素材管理装置Ｂから変更命令５１００および変更命令５２００を受信する（Ｓ１６００６）。
Ｓ１６００５で受信した変更命令５１００及び変更命令５２００を素材管理装置Ａの発火条件情報処理部３００８へ送信する（Ｓ１６００７）。
処理を終了する（Ｓ１６００８）。
【００７０】
詳細な処理内容は同様のため省略するが、以上で説明した処理とは逆に、素材管理装置Ｂが変更命令を取得し、素材管理装置Ａが変更命令を送信する処理も行われる。この処理によって、素材管理装置Ａの変更命令管理部３００３に管理されている変更命令管理表１７０００に変更命令５０００および変更命令１７１００が記録されており、今回の変更命令同期部３００７の処理で変更命令５１００および変更命令５２００を取得したことになる。一方、素材管理装置Ｂの変更命令管理部に管理されている変更命令管理表６０００に、変更命令５０００および変更命令５１００および変更命令５２００が記録されており、今回の変更命令同期部３００７の処理で変更命令１７１００を取得することになる。従って、素材管理装置Ａおよび素材管理装置Ｂでは、変更命令管理部３００３の管理している変更命令管理表に記録されている変更命令および今回の変更命令同期部３００７の処理によって取得した変更命令をあわせると、同じだけの変更命令を素材管理装置内に保持していることになる。
【００７１】
なお、今回は変更命令ＩＤ一覧送受信し、必要な変更命令のみ変更命令要求リストで要求するという方法を用いたが、変更命令取得要求を受信した時点で、素材管理装置Ｂの変更命令管理部３００３が管理している変更命令全てを素材管理装置Ａへ送信し、素材管理装置Ａにおいて必要な変更命令のみを取捨選択するという方法も考えられる。つまり、自装置の変更命令管理部３００３において管理していない変更命令を取得しあうという処理が行うことができればよく、その処理の詳細を限定するものではない。
【００７２】
また、変更命令同期部３００７は素材管理装置が他の素材管理装置とオンラインになった時、および、他の素材管理装置とオンラインである素材管理装置においては、変更命令管理部３００３に管理されている変更命令管理表が変化した時に処理が行われる。
【００７３】
（２−６．発火条件情報処理部の動作例）
発火条件情報処理部３００８は変更命令同期部３００７から受信した変更命令について、変更命令ごとに保持している発火条件情報と変更命令管理部３００３に管理されている変更命令管理表から、処理を行う順序を決定し、決定した順序に従って、競合発見部３００９へ変更命令を送信する。
【００７４】
発火条件情報処理部３００８の処理の流れを図１９のフローチャートを用いて説明する。
発火条件情報処理部３００８は、変更命令同期部３００７から１つ以上の変更命令を受信する（S１９００１）。
S１９００１で受信した変更命令の保持する発火条件情報と、変更命令管理部３００３が管理する変更命令管理表から、条件に適合する変更命令を抽出する（S１９００２）。このときの条件とは、以下の３つである。
（１）発火条件情報処理部３００８から競合発見部３００９へ未送信の変更命令。未送信かどうかは送信済みフラグを用いて判断し、送信済みフラグが付与されている変更命令は送信済みの変更命令、送信済みフラグの付与されていない変更命令は未送信の変更命令と判断する。
（２）装置ＩＤをｉとしたときに、変更命令管理部３００３の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置ＩＤごとにその値を「Ｖ（ｉ）」とする。また、発火条件情報に記録されている「ｃｏｕｎｔ」の値を装置ＩＤごとに「Ｗ（ｉ）」とする。このとき、全ての装置ＩＤの場合において、つまり全ての「ｉ」において、「Ｖ（ｉ）≧Ｗ（ｉ）」が成り立つ変更命令。
（３）上記（１）および（２）の条件を満たす変更命令のうち、変更命令の保持する発火条件情報に記録されている、各装置が発行した命令の合計が最小の変更命令。今回の場合、具体的には発火条件情報に記録されている「ｃｏｕｎｔ」の値の合計が最小の変更命令。「ｃｏｕｎｔ」の合計の値が最小のものが複数存在した場合はそれら全てを抽出する。
Ｓ１９００２において抽出された変更命令が一つも無い場合は、Ｓ１９００７へ進み、Ｓ１９００２において抽出された変更命令が一つ以上存在した場合はＳ１９００４へ進む（Ｓ１９００３）。
Ｓ１９００２において抽出された変更命令が一つの場合Ｓ１９００６へ進み、Ｓ１９００２において抽出された変更命令が二つ以上の場合Ｓ１９００５へ進む（Ｓ１９００４）。
Ｓ１９００２において抽出された変更命令から一つを選択する（Ｓ１９００５）。このときの選択方法は任意であり、先に抽出された変更命令を選択する等の方法でよい。
Ｓ１９００２において一つだけ抽出された変更命令、または、Ｓ１９００５で選択された変更命令を競合発見部３００９へ送信する。送信後、変更命令に対して送信済みフラグを付与し、Ｓ１９００２へ戻る（Ｓ１９００６）。
競合発見部３００９に送信した変更命令は、競合発見部３００９やその他の変更命令処理部３００６や場合によっては、競合解決部３０１０などの処理によって、変更命令管理部３００３の変更命令管理表で管理されるようになる。このように変更命令管理表が更新された後、Ｓ１９００２の処理を継続して行う。
【００７５】
なお、本実施例では変更命令の競合が発生する場合を想定しているため、競合発見部３００９へ変更命令を送信したが、運用などにより変更命令の競合が発生しないと保証されている場合や、競合を無視する場合などは、競合発見部３００９へ変更命令を送信せず、変更命令処理部３００６へ変更命令を送信しても良い。
【００７６】
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を管理している状態で、発火条件情報処理部３００８が変更命令同期部３００７から図５（ｂ）および（ｃ）に示す変更命令５１００および変更命令５２００を受信した時の素材管理装置Ａの発火条件情報処理部３００８の処理の流れを具体的に説明する。
【００７７】
発火条件情報処理部３００８は、変更命令同期部３００７から変更命令５１００および変更命令５２００を受信する（Ｓ１９００１）。
条件に従って、受信した変更命令の中から変更命令を抽出する（Ｓ１９００２）。
（１）変更命令５１００および変更命令５２００ともに競合発見部３００９へは未送信である。
（２）変更命令管理部３００３の管理している変更命令管理表１７０００に記録されている変更命令の数を装置ＩＤ毎に数えた値は素材ＩＤがＡである列１７００１に変更命令５０００と変更命令１７１００の二つの変更命令が記録されており、その他の列１７００２および１７００３には変更命令が記録されていないため、「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝０」「Ｖ（Ｃ）＝０」となる。また、変更命令５１００の５１０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｂ、ｃｏｕｎｔ＝０」「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝１」「Ｗ（Ｂ）＝０」「Ｗ（Ｃ）＝０」となる。従って、変更命令５１００に関しては全ての装置ＩＤにおいて「Ｖ（ｉ）≧Ｗ（ｉ）」（ｉは装置ＩＤのＡまたはＢまたはＣである）が成り立っており、条件を満たしている。また、変更命令５２００の５２０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝１」「Ｗ（Ｂ）＝１」「Ｗ（Ｃ）＝０」となる。従って、装置ＩＤがＢにおいて「Ｖ（Ｂ）＜Ｗ（Ｂ）」となり条件を満たしていない。
（３）変更命令５１００しか（１）および（２）の両方の条件を満たした変更命令が存在しない。よって、変更命令５１００を抽出する。
変更命令５１００が一つだけＳ１９００２において抽出されたため、Ｓ１９００４へ進む（Ｓ１９００３）。
変更命令５１００が一つだけＳ１９００２において抽出されたため、Ｓ１９００６へ進む（Ｓ１９００４）。
変更命令５１００を競合発見部３００９へ送信する（Ｓ１９００６）。その後、変更命令５１００に対して送信済みフラグを付与する。
【００７８】
競合発見部３００９へ送信した変更命令５１００は競合発見部３００９や変更命令処理部３００６の処理によって、変更命令管理部３００３の変更命令管理表１７０００へ反映される。反映された結果、変更命令管理部３００３に管理される変更命令管理表は変更命令管理表１７０００から図２０（ａ）に示す変更命令管理表２００００になる。
【００７９】
Ｓ１９００６において競合発見部３００９へ送信した変更命令５１００が変更命令管理表に記録されたのを確認後、Ｓ１９００２から処理を継続する。
（１）変更命令５２００が競合発見部３００９へは未送信である。
（２）変更命令管理部３００３の管理している変更命令管理表２００００に記録されている変更命令の数を装置ＩＤ毎に数えた値は装置ＩＤがＡである列２０００１に変更命令５０００と変更命令１７１００の二つの変更命令が記録されており、装置ＩＤがＢである列２０００２に変更命令５１００が記録されており、装置ＩＤがＣである列２０００３には変更命令が記録されていない。従って、「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝１」「Ｖ（Ｃ）＝０」となる。また、変更命令５２００の５２０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｂ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝１」「Ｗ（Ｂ）＝１」「Ｗ（Ｃ）＝０」となる。従って、変更命令５２００に関しては全ての装置ＩＤにおいて「Ｖ（ｉ）≧Ｗ（ｉ）」（ｉは装置ＩＤのＡまたはＢまたはＣである）が成り立っており、条件を満たしている。
（３）変更命令５２００しか（１）および（２）の両方の条件を満たした変更命令が存在しない。よって、変更命令５２００を抽出する。
変更命令５２００が一つだけＳ１９００２において抽出されたため、Ｓ１９００４へ進む（Ｓ１９００３）。
変更命令５２００が一つだけＳ１９００２において抽出されたため、Ｓ１９００６へ進む（Ｓ１９００４）。
変更命令５２００を競合発見部３００９へ送信する（Ｓ１９００６）。その後、変更命令５２００に対して送信済みフラグを付与する。
【００８０】
競合発見部３００９へ送信した変更命令５２００は競合発見部３００９や競合解決部３０１０、変更命令処理部３００６の処理によって、変更命令管理部３００３の変更命令管理表２００００へ反映される。反映された結果、変更命令管理部３００３に管理される変更命令管理表は変更命令管理表２００００から図２０（ｂ）に示す変更命令管理表２０１００になる。
【００８１】
Ｓ１９００６において競合発見部３００９へ送信した変更命令５２００が変更命令管理表に記録されたのを確認後、Ｓ１９００２から処理を継続する。
（１）競合発見部３００９へ未送信である変更命令が存在しない。
従って、変更命令を抽出せず、Ｓ１９００３へ進む。
Ｓ１９００２において、変更命令が抽出されていないため、抽出された変更命令の数を「０」と判断し、Ｓ１９００７へ進む（Ｓ１９００３）。
処理を終了させる（Ｓ１９００７）。
【００８２】
以上の処理によって、変更命令の処理順序を守って処理を行うことが可能になる。
以上、素材管理装置Ａに着目して説明を行ったが素材管理装置Ｂにおいても、素材管理装置Ａから受信した変更命令に対して同様の処理が行われる。
【００８３】
（２−７．競合発見部の動作例）
競合発見部３００９は発火条件情報処理部３００８から受信した変更命令と、変更命令管理部３００３が管理する変更命令管理表に記録されている変更命令との間で、競合が発生している場合、その競合する変更命令を変更命令管理表の中から発見し、競合解決部３０１０へ送信する。競合発見部３００９の処理の流れを図２１に示すフローチャートを用いて説明する。
競合発見部３００９は、発火条件情報処理部３００８より変更命令を受信する（Ｓ２１００１）。
Ｓ２１００１において受信した変更命令に記録されている発火条件情報を用いて、変更命令管理部３００３に管理されている変更命令管理表に記録されている変更命令の中から、競合確認が必要な変更命令を抽出する（Ｓ２１００２）。競合確認が必要な変更命令の抽出方法は具体的には以下の通りである。まず、装置ＩＤをｉとしたときに、変更命令管理部３００３の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置ＩＤごとにその値を「Ｖ（ｉ）」とする。また、Ｓ２１００１において受信した変更命令の保持している発火条件情報に記録されている「ｃｏｕｎｔ」の値を装置ＩＤごとに「Ｗ（ｉ）」とする。そして、変更命令管理表から装置ＩＤが「ｉ」の変更命令から新しい順、つまり、通し番号の大きい変更命令から順に「Ｖ（ｉ）−Ｗ（ｉ）」個の変更命令を抽出する。発火条件情報処理部３００８の処理によって「Ｖ（ｉ）−Ｗ（ｉ）」の値がマイナスになるような発火条件情報をもつ変更命令は、競合発見部３００９は受信することはない。
【００８４】
Ｓ２１００２で変更命令管理表から抽出したすべての変更命令と、Ｓ２１００１で発火条件情報処理部３００８から受信した変更命令の内容を比較し、競合していないかを確認する（Ｓ２１００３）。具体的には、変更命令の「処理対象」の項目に記録されている情報（例えば「タイトル」、「撮影者名」）が同一であるかどうかを確認する。変更命令の処理対象が同一である場合は競合していると判断し、変更命令の処理対象が同一ではない場合は競合していないと判断する。また、Ｓ２１００２において一つの命令も抽出されなかった場合は、競合した変更命令は存在しないと判断する。
Ｓ２１００３においてＳ２１００２で抽出した変更命令が一つでもＳ２１００１で受信した変更命令と競合していると判断された場合は、Ｓ２１００５へ進み、Ｓ２１００２で抽出した変更命令すべてとＳ２１００１で受信した変更命令とが競合していないと判断された場合はＳ２１００８へ進む（Ｓ２１００４）。
【００８５】
Ｓ２１００４においてＳ２１００２で抽出した変更命令が一つでも競合していると判断された場合、発火条件情報処理部３００８が保持している、変更命令同期部３００７から発火条件情報処理部３００８が受信した変更命令の中に、競合発見部３００９がＳ２１００１で受信した変更命令とＳ２１００３において抽出した変更命令との間の競合を解決する変更命令が存在しないかを確認する（Ｓ２１００５）。競合を解決する変更命令とは競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された、競合している変更命令と処理対象が同じである変更命令のことである。今回の場合、「発火条件情報」を用いて、競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された変更命令かどうかを判断し、処理対象が同じであるかどうかは変更命令の「処理対象」の項目で判断する。競合関係にある変更命令の装置ＩＤを「ｉ」、通し番号を「ｎ」とし、発火条件情報処理部３００８が保持している変更命令発火条件情報の「ｃｏｕｎｔ」の値を「Ｗ（ｉ）」とした場合、全ての競合関係にある変更命令において「ｎ≦Ｗ（ｉ）」が成り立つ発火条件情報をもつ変更命令でかつ、「処理対象」の項目が競合関係にある変更命令と同一である変更命令が競合を解決する変更命令である。
【００８６】
Ｓ２１００１で受信した変更命令とＳ２１００３で抽出した変更命令との間の競合全てに対して、解決する変更命令がＳ２１００５で存在することが確認できた場合、Ｓ２１００８へ進み、一つでも競合を解決する変更命令が発見できなかった場合は、Ｓ２１００７へ進む（Ｓ２１００６）。
Ｓ２１００１で受信した変更命令と、Ｓ２１００３で抽出した変更命令間の競合を解決する変更命令をＳ２１００５において発見できなかった場合、解決する変更命令を発見できなかった競合関係にあるＳ２１００１で受信した変更命令とＳ２１００３で抽出した変更命令を競合解決部３０１０へ送信する（Ｓ２１００７）。
Ｓ２１００１で受信した変更命令を変更命令処理部３００６へ送信する（Ｓ２１００８）。
処理を終了させる（Ｓ２１００９）。
【００８７】
（競合している場合の処理の一例）
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を記録している状態で、発火条件情報処理部３００８は図５（ｂ）に示す変更命令５１００と図５（ｃ）に示す変更命令５２００を変更命令同期部３００７より受信し、発火条件情報処理部３００８の処理によって、変更命令５１００を競合発見部３００９が受信したときの競合発見部３００９の処理の流れを具体的に説明する。
【００８８】
素材管理装置Ａの競合発見部３００９は発火条件情報処理部３００８より変更命令５１００を受信する（Ｓ２１００１）。
変更命令管理部３００３の管理する変更命令管理表１７０００に記録されている変更命令から、変更命令５１００と競合する可能性のある変更命令を抽出する（Ｓ２１００２）。変更命令管理表１７０００より「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝０」「Ｖ（Ｃ）＝０」となる。また、Ｓ２１００１で受信した変更命令５１００の５１０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝０」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「W（Ａ）＝１」「W（Ｂ）＝０」「W（Ｃ）＝０」となる。したがって、「Ｖ（Ａ）−W（Ａ）＝１」「Ｖ（Ｂ）−W（Ｂ）＝０」「Ｖ（Ｃ）−W（Ｃ）＝０」となるため、装置ＩＤが「Ａ」である素材管理表１７０００の列１７００１より通し番号の値が変更命令５０００より大きい変更命令である変更命令１７１００を一つ抽出する。
【００８９】
Ｓ２１００１で受信した変更命令５１００とＳ２１００２で抽出した変更命令１７１００が競合しているかどうかを確認する（Ｓ２１００３）。変更命令５１００の５１０４の枡に記録されている処理対象「撮影者名」と、変更命令１７１００の１７１０４の枡に記録されている処理対象「撮影者名」は同じであるため、競合していると判断する。
Ｓ２１００３で競合していると判断されたため、Ｓ２１００５へ進む（Ｓ２１００４）。
【００９０】
発火条件情報処理部３００８が変更命令同期部３００７より受信した変更命令の中に変更命令５１００と変更命令１７１００の競合を解決する変更命令が無いかを確認する（Ｓ２１００５）。今回、発火条件情報処理部３００８が保持している変更命令は変更命令５２００のみであり、変更命令５２００の５２０６の枡に記録されている発火条件情報は「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝B、ｃｏｕｎｔ＝１」「ＩＤ＝C、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝１」「Ｗ（Ｂ）＝１」「Ｗ（Ｃ）＝０」となる。また、今回競合関係にある変更命令５１００および変更命令１７１００の装置ＩＤおよび通し番号はそれぞれ「装置ＩＤ＝Ｂ、通し番号＝１」と「装置ＩＤ＝Ａ、通し番号＝２」となっている。従って装置ＩＤがＡのとき、通し番号ｎは２であり、「ｎ≦Ｗ（Ａ）」を満たさない。また、変更命令５２００の５２０４の枡に記録されている処理対象は「タイトル」であり、変更命令５１００および変更命令１７１００の処理対象「撮影者名」とは異なる。従って、競合を解決する変更命令は存在しないと判断する。
Ｓ２１００５で競合を解決する変更命令が存在しないと判断したため、Ｓ２１００７へ進む（Ｓ２１００６）。
【００９１】
Ｓ２１００１で受信した変更命令５１００及び変更命令管理部３００３の管理する変更命令管理表１７０００に管理されている変更命令１７１００を競合解決部３０１０へ送信する（Ｓ２１００７）。
Ｓ２１００１で受信した変更命令５１００を変更命令処理部３００６へ送信する（Ｓ２１００８）。Ｓ２１００７で変更命令５１００は競合解決部３０１０へ送信されているが、ここでは、変更命令処理部３００６へも送信を行う。
処理を終了させる（Ｓ２１００９）。
【００９２】
このように発火条件情報を用いて処理を行うことによって、変更命令の競合を発見し、それを競合解決部３０１０で解決する機会を得ることができる。
【００９３】
（競合していない場合の処理の一例）
次に、素材管理装置Ａの変更命令管理部３００３が図１７（ａ）に示す変更命令管理表１７０００において図５（ａ）および図１７（ｂ）に示す変更命令５０００および変更命令１７１００を記録している状態で、発火条件情報処理部３００８は図５（ｂ）に示す変更命令５１００と図５（ｃ）に示す変更命令５２００を変更命令同期部３００７より受信し、発火条件情報処理部３００８の処理によって、変更命令５１００を競合発見部３００９が受信し処理を行い、変更命令管理部３００３が図２０（ａ）に示す変更命令管理表２００００において図５（ａ）（ｂ）および図１７（ｂ）に示す変更命令５０００、変更命令５１００および変更命令１７１００を記録するようになった状態で、発火条件情報処理部３００８の処理によって、変更命令５２００を競合発見部３００９が受信したときの競合発見部３００９の処理の流れを具体的に説明する。
【００９４】
素材管理装置Ａの競合発見部３００９は発火条件情報処理部３００８より変更命令５２００を受信する（Ｓ２１００１）。
変更命令管理部３００３の管理する変更命令管理表２００００に記録されている変更命令から、変更命令５２００と競合する可能性のある変更命令を抽出する（Ｓ２１００２）。変更命令管理表２００００より「Ｖ（Ａ）＝２」「Ｖ（Ｂ）＝１」「Ｖ（Ｃ）＝０」となる。また、Ｓ２１００１で受信した変更命令５２００の５２０６の枡に記録されている発火条件情報から「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｂ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝１」「Ｗ（Ｂ）＝１」「Ｗ（Ｃ）＝０」となる。したがって、「Ｖ（Ａ）−Ｗ（Ａ）＝１」「Ｖ（Ｂ）−Ｗ（Ｂ）＝０」「Ｖ（Ｃ）−Ｗ（Ｃ）＝０」となるため、装置ＩＤが「Ａ」である素材管理表２００００の列２０００１より通し番号の値が変更命令５０００より大きい変更命令である変更命令１７１００を一つ抽出する。
【００９５】
Ｓ２１００１で受信した変更命令５２００とＳ２１００２で抽出した変更命令１７１００が競合しているかどうかを確認する（Ｓ２１００３）。変更命令５２００の５２０４の枡に記録されている処理対象「タイトル」と、変更命令１７１００の１７１０４の枡に記録されている処理対象「撮影者名」は異なるため、競合していないと判断する。
Ｓ２１００３で競合していないと判断されたため、Ｓ２１００８へ進む（Ｓ２１００４）。
Ｓ２１００１で受信した変更命令５２００を変更命令処理部３００６へ送信する（Ｓ２１００８）。
処理を終了させる（Ｓ２１００９）。
【００９６】
（競合を解決する変更命令が存在する場合の処理の一例）
次に素材管理装置Ａの変更命令管理部３００３が図２２（ａ）に示す変更命令管理表２２０００において、変更命令５０００、変更命令５１００、変更命令５２００、変更命令１７１００および図２２（ｂ）に示す変更命令２２０００を記録している状態で、変更命令管理部３００３において管理している変更命令管理表において変更命令を全く管理していない素材管理装置Ｃとオンラインになり、素材管理装置Ｃの変更命令同期部３００７が素材管理装置Ａから変更命令５０００、変更命令５１００、変更命令５２００、変更命令１７１００および変更命令２２０００を取得し、発火条件情報処理部３００８へ送信した場合の処理を説明する。このとき素材管理装置Ａのデータ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。
【００９７】
既に説明した発火条件情報処理部３００８の処理によって、まず初めに、変更命令５０００が競合発見部３００９に送信される。競合する変更命令を素材管理装置Ｃの変更命令管理部３００３は記録していないため、変更命令は変更命令処理部３００６へ渡され、変更命令管理表に記録され、変更命令管理表１４０００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表１３０００の状態になっている。
発火条件情報処理部３００８の処理のフローチャートのＳ１９００２において、変更命令５１００と変更命令１７１００が抽出される。Ｓ１９００５において今回は変更命令５１００を選択し競合発見部３００９へ送信したとする。なお、変更命令１７１００を選択した場合も、処理は大きく変わらない。競合する変更命令を素材管理装置Ｃの変更命令管理部３００３の管理する変更命令管理表は記録していないため、変更命令は変更命令処理部３００６へ渡され、変更命令管理表に記録され、変更命令管理表１４１００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表４０００の状態になっている。
発火条件情報処理部３００８から変更命令１７１００が競合発見部３００９へ送信される。このとき競合発見部３００９の処理のフローチャートＳ２１００４において変更命令５１００が競合していると判断される。
【００９８】
発火条件情報処理部３００８が変更命令同期部３００７より受信した変更命令の中に変更命令５１００と変更命令１７１００の競合を解決する変更命令が無いかを確認する（Ｓ２１００５）。今回、発火条件情報処理部３００８が保持している変更命令は変更命令５２００および変更命令２２１００であり、変更命令５２００の５２０６の枡に記録されている発火条件情報は「ＩＤ＝Ａ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｂ、ｃｏｕｎｔ＝１」「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝１」「Ｗ（Ｂ）＝１」「Ｗ（Ｃ）＝０」となる。また、今回競合関係にある変更命令５１００および変更命令１７１００の装置ＩＤおよび通し番号はそれぞれ「装置ＩＤ＝Ｂ、通し番号＝１」と「装置ＩＤ＝Ａ、通し番号＝２」となっている。従って装置ＩＤがＡのとき、通し番号ｎは２であり、「ｎ≦Ｗ（Ａ）」を満たさない。また、変更命令５２００の５２０４の枡に記録されている処理対象は「タイトル」であり、変更命令５１００および変更命令１７１００の処理対象「撮影者名」とは異なる。次に、変更命令２２１００の２２１０６の枡に記録されている発火条件情報は「ＩＤ＝Ａ、ｃｏｕｎｔ＝２」「ＩＤ＝B、ｃｏｕｎｔ＝２」「ＩＤ＝Ｃ、ｃｏｕｎｔ＝０」より順にそれぞれ「Ｗ（Ａ）＝２」「Ｗ（Ｂ）＝２」「Ｗ（Ｃ）＝０」となる。したがって、全ての装置ＩＤ「ｉ」において「ｎ≦Ｗ（ｉ）」が成り立つ。よって、競合を解決する変更命令として変更命令２２１００が存在すると判断する。
Ｓ２１００５において競合を解決する変更命令が存在することが確認できたため、Ｓ２１００８において変更命令１７１００を変更命令処理部３００６へ送信し、競合発見部３００９の処理を終了させる。
【００９９】
以上の素材管理装置Ｃでの処理をまとめ、それぞれの処理時点での変更命令管理表とインデックスデータ管理表の状態を説明する。
【０１００】
変更命令処理部３００６によって、変更命令１７１００が変更命令管理表へ記録され、変更命令管理表２００００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３０００の状態になっている。
発火条件情報処理部３００８から変更命令１７１００が競合発見部３００９へ送信される。競合発見部３００９によって、競合が発見されず、変更命令処理部３００６へ送信され、変更命令管理表へ記録され、変更命令管理表２０１００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。
最後に、発火条件情報処理部３００８から変更命令２２１００が競合発見部３００９へ送信される。競合発見部３００９によって、競合が発見されず、変更命令処理部３００６へ送信され、変更命令管理表へ記録され、変更命令管理表２２０００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。
【０１０１】
このように、素材管理装置Ａにて生成された競合を解決する変更命令２２１００と発火条件情報を用いて素材管理装置Ｃにおいて処理を行うことによって、再度競合解決の処理を行うことなく、適切に変更命令の同期および変更命令のインデックスデータへの適用処理によってインデックスデータを同期することができた。
【０１０２】
（２−８．競合解決部の動作例）
競合解決部３０１０は競合発見部３００９より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部３００３で管理するため、変更命令生成部３００４へユーザの選択結果を変更情報として送信し、変更命令生成部３００４で変更命令を生成し、変更命令処理部３００６で処理することによって、データ管理部３００２および変更命令管理部３００３に反映させる。なお、今回はユーザに競合している変更命令に関する情報を提示し、選択してもらうことによって、競合を解決したが、この解決方法は本発明の主眼ではなく、何らかのルールに従って自動的に処理するなど様々な方法が考えられる。本発明の主眼は、これらのユーザの選択や何らかのルールによって解決された結果を適切に管理し、他の素材管理装置がこれら競合していた変更命令を受信した際も、再度同じ競合解決の処理を行う必要がないように、解決結果を適切に伝達させていくことである。
【０１０３】
競合解決部３０１０の処理の流れを図２４のフローチャートを用いて説明する。
競合発見部３００９より競合している変更命令を受信する（Ｓ２４００１）。このとき競合関係にある二つ以上の変更命令を同時に受信する。
発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しないかを確認する（Ｓ２４００２）。未処理の変更命令が存在する間は、Ｓ２４００１の競合する変更命令の受信と蓄積処理を行う。発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しなくなった場合、Ｓ２４００３へ進む。
Ｓ２４００１において蓄積した競合した変更命令に未処理の変更命令が存在するかを判断する（Ｓ２４００３）。未処理の変更命令が存在する場合はＳ２４００４へ進み、存在しない場合は、Ｓ２４００８へ進む。
未処理であるＳ２４００１で蓄積した競合関係にある二つ以上の変更命令を一組選択する（Ｓ２４００４）。
Ｓ２４００４において選択した二つ以上の競合関係にある変更命令をユーザに提示し、選択した結果の入力を受ける（Ｓ２４００５）。
Ｓ２４００５の入力により、選択された変更命令より、変更情報を生成する（Ｓ２４００６）。
Ｓ２４００６で生成した変更情報を変更命令生成部３００４へ送信する（Ｓ２４００７）。
Ｓ２４００３において未処理の競合関係にある変更命令が存在しないと判断された場合、処理を終了する（Ｓ２４００８）。
【０１０４】
以上の処理によって、競合を解決する命令が変更命令生成部３００４で生成され、変更命令処理部３００６によって、データ管理部３００２および変更命令管理部３００３へ反映される。
【０１０５】
次に、競合解決部３０１０が競合発見部３００９より図５の（ｂ）に示す変更命令５１００と図１７の（ｂ）に示す変更命令１７１００を競合する命令として受信した場合の、競合解決部３０１０の処理の流れを具体的に説明する。
競合発見部３００９より競合している変更命令５１００と変更命令１７１００を受信する（Ｓ２４００１）。
発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しないことを確認する（Ｓ２４００２）。今回、競合発見部３００９の処理が完了するまでに競合解決部３０１０が受信した、競合関係にある変更命令は変更命令５１００および変更命令１７１００のみであったとする。
競合関係にある変更命令５１００および変更命令１７１００が未処理であるため、Ｓ２４００４へ進む（Ｓ２４００３）。
未処理の競合関係にある未処理の変更命令として、変更命令５１００および変更命令１７１００の組を選択する（Ｓ２４００４）。
変更命令５１００および変更命令１７１００の情報をユーザに提示し、入力を受けることによって競合を解決する（Ｓ２４００５）。具体的には、変更命令５１００の５１０４の枡と５１０５の枡に記録されている「撮影者名」「山田」という情報と、変更命令１７１００の１７１０４の枡と１７１０５の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。
【０１０６】
Ｓ２４００５によって選択された情報を元に変更情報を生成する（Ｓ２４００６）。Ｓ２４００５におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図２５の変更情報２５０００に示す。２５００３にユーザによって選択された「佐藤」という情報内容が、２５００２の枡に競合していた処理対象である「撮影者名」という情報が、２５００１の枡に処理内容を示す「更新」が記録されている。
Ｓ２４００６で生成された変更情報２５０００を変更命令生成部３００４へ送信する（Ｓ２４００７）。
Ｓ２４００３において、競合関係にある未処理の変更命令が存在しないと判断し、Ｓ２４００８へ進む。
処理を終了させる（Ｓ２４００８）。
【０１０７】
変更命令生成部３００４へ送信された変更情報２５０００は、変更命令生成部３００４の処理によって、競合を解決する変更命令である図２２（ｂ）に示す変更命令２２１００が生成され、変更命令処理部３００６の処理によって、変更命令管理部３００３の保持する変更命令管理表は図２０（ｂ）に示す変更命令管理表２０１００の状態から図２２（ａ）に示す変更命令管理表２２０００の状態になる。また、データ管理部３００２の管理するインデックスデータ管理表はインデックスデータ管理表２３１００の状態になっている。
【０１０８】
（実施の形態２）
本実施の形態において、実施の形態１の競合解決部について別の例を開示する。競合解決部以外は実施の形態１と同様であるため、説明は省略する。
【０１０９】
（競合解決部の動作例）
競合解決部３０１０は競合発見部３００９より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部３００３で管理するため、変更命令生成部３００４へユーザの選択結果を変更情報として送信し、変更命令生成部３００４で変更命令を生成し、変更命令処理部３００６で処理することによって、データ管理部３００２および変更命令管理部３００３に反映させる。
競合解決部３０１０の処理の流れは図２４のフローチャートで示したとおりであり、実施の形態１で説明したものと同様であるため、説明を省略する。
【０１１０】
次に、競合解決部３０１０が競合発見部３００９より図５（ｂ）に示す変更命令５１００と図１７の（ｂ）に示す変更命令１７１００を競合する命令として受信した場合の、競合解決部３０１０の処理の流れを具体的に説明する。
競合発見部３００９より競合している変更命令５１００と変更命令１７１００を受信する（Ｓ２４００１）。
発火条件情報処理部３００８および競合発見部３００９において未処理の変更命令が存在しないことを確認する（Ｓ２４００２）。今回、競合発見部３００９の処理が完了するまでに競合解決部３０１０が受信した、競合関係にある変更命令は変更命令５１００および変更命令１７１００のみであったとする。
競合関係にある変更命令５１００および変更命令１７１００が未処理であるため、Ｓ２４００４へ進む（Ｓ２４００３）。
未処理の競合関係にある未処理の変更命令として、変更命令５１００および変更命令１７１００の組を選択する（Ｓ２４００４）。
変更命令５１００および変更命令１７１００の情報をユーザに提示し、入力を受けることによって競合を解決する（Ｓ２４００５）。具体的には、変更命令５１００の５１０４の枡と５１０５の枡に記録されている「撮影者名」「山田」という情報と、変更命令１７１００の１７１０４の枡と１７１０５の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。
【０１１１】
Ｓ２４００５によって選択された情報を元に変更情報を生成する（Ｓ２４００６）。Ｓ２４００５におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図２６の変更情報２６０００に示す。２６００３にユーザによって選択された「佐藤」という情報内容が、２６００２の枡に競合していた処理対象である「撮影者名」という情報が、２６００１の枡に処理内容を示す「更新」が、２６００４の枡に競合を解決した情報であるということを表す情報が記録されている。本実施の形態では競合を解決した情報であるということを変更情報に「競合解決」という枡を設け、そこに「YES」と、競合を解決した情報では無い場合を「NO」記録することによって表現したが、この方法に限定されるものではなく、2値のフラグを用いてその一方を競合を解決したことを表し、もう一方競合を解決した情報ではないということを表すようにしてもよい。
Ｓ２４００６で生成された変更情報２６０００を変更命令生成部３００４へ送信する（Ｓ２４００７）。
Ｓ２４００３において、競合関係にある未処理の変更命令が存在しないと判断し、Ｓ２４００８へ進む。
処理を終了させる（Ｓ２４００８）。
【０１１２】
変更命令生成部３００４へ送信された変更情報２６０００は、変更命令生成部３００４の処理によって、競合を解決する変更命令が生成され、変更命令処理部３００６の処理によって、変更命令管理部３００３の保持する変更命令管理表が更新される。また、データ管理部３００２の管理するインデックスデータ管理表も更新される。変更命令生成部３００４の処理によって生成された変更命令の一例を図２７に示す。
ここで付与した競合を解決する変更命令であるという情報は、別の処理を行う際に、競合を解決する変更命令だけを抽出する場合に等に利用することができる。
【０１１３】
ここで、図２４のＳ２４００５においてユーザが競合関係にある変更命令を選択する際の画面例を図２８に示す。
【０１１４】
２８００１の枠は今回の競合解決画面が対象としているインデックスデータを表している。図２８の場合は対象としているインデックスデータが「タイトル」であることを表している。
【０１１５】
２８００２の枠は競合の解決を行うための枠である。競合の解決方法には、競合している情報のどちらかを選択するか、今回は競合を解決せず、保留とするか、競合している情報とは別の情報を入力し、競合を解決する手段が提供されている。図２８の２８００３および２８００４は今回競合している情報がボタン状になって表示されており、それらを押下することによって、選択状態にする。今回は「交通事故」という情報と「衝突事故」という情報が競合しており、どちらかを選択する事ができる。また、競合を解決せず、保留状態とする場合は２８００５の保留のボタンを押下する。２８００６の枠は直接何らかの情報を入力することによって競合を解決する場合に、情報を入力する枠である。競合を解決するボタン２８００３および２８００４と、競合解決を保留するボタン２８００５、直接入力を行う２８００６の枠はそれぞれ排他的に選択でき、２８００３および２８００４および２８００５のボタンのいずれかしか選択できず、いずれかのボタンを選択している場合は、２８００６の枠には入力できない。また、２８００６の枠に入力している場合は、２８００３および２８００４および２８００５のいずれのボタンも選択できない。
【０１１６】
２８００７の枠は２８００１の枠に書かれている対象インデックスデータの変更履歴を表示している。２８００７の枠内の途中で分岐し、その後矢印が合流している箇所は情報が競合を起こし、解決されたことを表している。具体的に図２８の場合で説明すると、「事故」を「人身事故」と「車の事故」と書き換えた結果が競合として発見され、「車の事故」という情報を選択することによって競合が解決されたことを表している。その後「車の事故」から「単独事故」に情報が変更されたことを表している。これらの変更履歴は変更情報より生成することができる。この変更履歴を参考とすることによって、利用者が競合解決の判断を行う際に判断を行いやすくすることができる。
【０１１７】
２８００２の枠でボタン選択、または入力を行った結果を、２８００８のボタンを押下することによって確定させる。
【０１１８】
なお、競合を解決せずに保留した場合、図２４のＳ２４００６およびＳ２４００７の処理が飛ばされ、Ｓ２４００５からＳ２４００３に戻ることになる。
また、競合の解決はオフライン状態の時に行うことも可能である。この場合、オンラインになった際に変更命令を送受信することによって同期を行い、ユーザによる選択か、またはあらかじめ設定した情報に従って、いったん発見された競合の解決を保留とする。その後、オフライン状態で競合発見処理を行い、発見された競合している変更命令に対して解決処理を行うことが可能となる。
【０１１９】
（実施の形態３）
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで、素材としてＭＰＥＧ−２形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名、動画像に対して行った操作を考える。動画像に対して行った操作とは、動画像の削除や編集などが考えられる。削除や編集の記述方法は本発明の主眼ではないため、詳細に言及しない。編集機などで用いられるプレイリストやＥＤＬ（Ｅｄｉｔ  Ｄｅｃｉｓｉｏｎ  Ｌｉｓｔ）などが利用可能である。本発明では削除の操作をインデックスデータとして同期する場合を説明する。
【０１２０】
なお、素材としてはMPEG-2形式の動画に限定されるものではなく、DV形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名および素材に対して行った操作に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地（素材が管理されている装置および装置内の管理場所を識別する情報）等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。
【０１２１】
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。
【０１２２】
（１．全体構成）
図２９に本実施の形態における素材管理装置の全体構成を示す。素材管理装置２９０００は素材操作部２９００１と素材管理部２９００２とインデックスデータ制御部２９００３とインデックスデータ処理部２９００４で構成される。素材操作部２９００１は素材管理部２９００２へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部２９００３へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部２９００１からインデックスデータ制御部２９００３へ変更内容が通知される。素材管理部２９００２は素材操作部２９００１から受信した素材を管理する。インデックスデータ制御部２９００３は素材操作部２９００１から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。インデックスデータ処理部２９００４はインデックスデータ制御部２９００３によって同期されたインデックスデータに素材に対する「操作」の情報が記録されている場合に、その情報に基づいて素材管理部２９００２に保持されている素材に対して「操作」の内容に記載されている処理を行う。図３０に示したインデックスデータ管理表３００００の「＜操作＞」と「＜／操作＞」で囲まれた箇所に記載されている「削除」が操作である。この操作の情報が自装置の素材操作部２９００１によってインデックスデータ制御部２９００３へ通知された情報である場合、インデックスデータ処理部２９００４は素材管理部への処理を行わないが、他の装置から同期された情報である場合、インデックスデータ処理部２９００４は素材管理部２９００２へ操作に記載された処理を行う。図３０のインデックスデータ管理表に保持されている操作である「削除」の場合、素材管理部２９００２に保持されている該当の素材を削除する処理をインデックスデータ処理部２９００４は行う。
データ同期の処理主体となる構成要素であるインデックスデータ制御部は実施の形態１または実施の形態２と同じであるため、詳細な説明を省略する。
【０１２３】
（その他の実施例）
本実施例では素材に関する情報であるインデックスデータを同期させたが、素材自体を本方式を用いて同期させても良い。素材としては、動画、静止画、音声、テキスト情報などが考えられる。
【０１２４】
また、本実施例で説明した番組制作目的での素材管理だけではなく、ホームネットワークにおいて、各機器が記録し管理しているコンテンツの情報を本方式を用いて同期させ、またはコンテンツ自身を本発明を用いて同期させてもよい。ポータブル機器など頻繁にホームネットワークからオフラインになる機器が存在する状況において、ホームネットワークにおけるコンテンツのインデックスやコンテンツ自身の同期を行うことによって、ユーザはどの機器にどのコンテンツが管理されているのかということを意識することなく、ポータブル機器を家に持ち帰り、ホームネットワークに接続すると、ホームネットワークに接続される機器に管理されているコンテンツが利用可能になる。また、ホームネットワークにつながる機器から、ポータブル機器がオフライン中にポータブル機器に新規に登録されたコンテンツも利用可能になる。
【０１２５】
また、発火条件情報として今回は変更命令管理部に管理されている変更命令管理表に記録されている変更命令の数を、変更命令を発行した装置毎に数えたものを用いたが、変更命令を一意に識別できる識別子を付与し、変更命令管理表に記録されている変更命令全ての識別子を一覧にしたものを発火条件情報として利用することもできる。このとき、発火条件情報処理部では、発火条件情報として記録されている識別子の数を数えることによって、実施の形態１と同様の処理を行うことができる。競合発見部においても同様である。
【０１２６】
また、素材としてテキスト情報を考えた場合、複数の人が協力して同一のＷｅｂページを作成する場合に、それぞれの人が作成したＷｅｂページ間で記述内容に競合が発生していないかを検出し、競合が検出できた場合にはそれを解決する機会を提供することが可能になる。
【０１２７】
実施の形態１では先に変更命令取得要求を出した側の装置で競合の解決を行っているがが、あらかじめ装置間で優先順位を決めておき、優先順位の高いものと低いものが同期処理を行う場合は、先にお互いの優先順位を送信し合い、優先順位の高い装置側から変更命令取得要求を出すことによって、競合の解決を優先順位の高い装置に行わせることもできる。また、優先順位が低い装置から変更命令取得要求を行った場合は、競合の解決を保留させ、優先順位の高い装置で競合の解決を行わせることもできる。
【０１２８】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2005年10月4日出願の日本特許出願（特願2005-291521）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【０１２９】
本発明は、番組制作を行うために撮影および編集された映像素材を管理する素材管理装置のみならず、オーディオプレーヤーやＤＶＤレコーダー、ポータブルオーディオプレーヤーやポータブルビデオプレーヤ、オーディオやビデオを再生できる携帯電話など、コンテンツを蓄積し、再生する様々な機器において、ホームネットワークなどのネットワークにおいてそれらの機器を接続し、他の機器の管理しているコンテンツの情報を取得し、利用するコンテンツを取得したり、コンテンツを機器間で同期しておくという利用形態に適用可能である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の実施の形態における素材管理装置の利用形態の一例を示す図
【図２】本発明の実施の形態における素材管理装置の構成の一例を示すブロック図
【図３】本発明の実施の形態におけるインデックスデータ制御部の構成の一例を示すブロック図
【図４】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【図５】本発明の実施の形態における変更命令の一例を示す図
【図６】本発明の実施の形態における変更命令管理表の一例を示す図
【図７】本発明の実施の形態における変更命令生成部の動作の一例を示すフローチャート
【図８】本発明の実施の形態における変更情報の一例を示す図
【図９】本発明の実施の形態における発火条件情報の一例を示す図
【図１０】本発明の実施の形態における発火条件情報生成部の動作の一例を示すフローチャート
【図１１】本発明の実施の形態における発火条件情報の一例を示す図
【図１２】本発明の実施の形態における変更命令処理部の動作の一例を示すフローチャート
【図１３】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【図１４】本発明の実施の形態における変更命令管理表の一例を示す図
【図１５】本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート
【図１６】本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート
【図１７】本発明の実施の形態における変更命令管理表および変更命令の一例を示す図
【図１８】本発明の実施の形態における変更命令ＩＤ一覧および変更命令要求リストの一例を示す図
【図１９】本発明の実施の形態における発火条件情報処理部の動作の一例を示すフローチャート
【図２０】本発明の実施の形態における変更命令管理表の一例を示す図
【図２１】本発明の実施の形態における競合発見部の動作の一例を示すフローチャート
【図２２】本発明の実施の形態における変更命令管理表および変更命令の一例を示す図
【図２３】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【図２４】本発明の実施の形態における競合解決部の動作の一例を示すフローチャート
【図２５】本発明の実施の形態における変更情報の一例を示す図
【図２６】本発明の実施の形態における変更情報の一例を示す図
【図２７】本発明の実施の形態における変更命令の一例を示す図
【図２８】本発明の実施の形態における競合解決を行う画面の一例を示す図
【図２９】本発明の実施の形態における素材管理装置の構成の一例を示すブロック図
【図３０】本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
【符号の説明】
【０１３１】
３００１  データ操作部
３００２  データ管理部
３００３  変更命令管理部
３００４  変更命令生成部
３００５  発火条件情報生成部
３００６  変更命令処理部
３００７  変更命令同期部
３００８  発火条件情報処理部
３００９  競合発見部
３０１０  競合解決部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007043417.tif 000033
【図２】
2007043417.tif 000034
【図３】
2007043417.tif 000035
【図４】
2007043417.tif 000036
【図５】
2007043417.tif 000037
【図６】
2007043417.tif 000038
【図７】
2007043417.tif 000039
【図８】
2007043417.tif 000040
【図９】
2007043417.tif 000041
【図１０】
2007043417.tif 000042
【図１１】
2007043417.tif 000043
【図１２】
2007043417.tif 000044
【図１３】
2007043417.tif 000045
【図１４】
2007043417.tif 000046
【図１５】
2007043417.tif 000047
【図１６】
2007043417.tif 000048
【図１７】
2007043417.tif 000049
【図１８】
2007043417.tif 000050
【図１９】
2007043417.tif 000051
【図２０】
2007043417.tif 000052
【図２１】
2007043417.tif 000053
【図２２】
2007043417.tif 000054
【図２３】
2007043417.tif 000055
【図２４】
2007043417.tif 000056
【図２５】
2007043417.tif 000057
【図２６】
2007043417.tif 000058
【図２７】
2007043417.tif 000059
【図２８】
2007043417.tif 000060
【図２９】
2007043417.tif 000061
【図３０】
2007043417.tif 000062
【国際調査報告】
2007043417.tif 000063
2007043417.tif 000064