JPWO2007043417A1 - 命令を用いたデータ同期装置 - Google Patents

命令を用いたデータ同期装置 Download PDF

Info

Publication number
JPWO2007043417A1
JPWO2007043417A1 JP2007539892A JP2007539892A JPWO2007043417A1 JP WO2007043417 A1 JPWO2007043417 A1 JP WO2007043417A1 JP 2007539892 A JP2007539892 A JP 2007539892A JP 2007539892 A JP2007539892 A JP 2007539892A JP WO2007043417 A1 JPWO2007043417 A1 JP WO2007043417A1
Authority
JP
Japan
Prior art keywords
change
change command
unit
information
conflict
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007539892A
Other languages
English (en)
Inventor
将志 竹村
将志 竹村
影山 光宏
光宏 影山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2007043417A1 publication Critical patent/JPWO2007043417A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

任意のタイミングでデータの変更を行い、任意のタイミングで任意の端末とオンラインになる複数の端末間でデータの同期を行う際に、次のような課題が存在した。(1)3つ以上の端末が存在する場合、適切にデータの同期を行えない。(2)変更命令の競合を発見することができない。(3)複数の端末が発行した変更命令を順序を守ってデータへ反映させることができない。(4)変更命令の競合を解決した結果を適切に他の端末へ伝達することができない。上記課題を解決するために、本発明では、データを変更した際に変更命令を生成し、自端末の変更命令と共に、他の端末から受信した変更命令も保持し、端末間で同期する際には、自端末の変更命令と共に、保持している他の端末の変更命令も渡す。また、変更命令が発行された時の状況を表す情報(発火条件情報)を変更命令ごとに保持し、変更命令をデータへ反映させる際は、この情報を参照して、反映させるかどうかを判断するようにする。

Description

本発明は、複数のデータ管理装置間のデータ同期技術に関し、特に任意のデータ管理装置が他のデータ管理装置とはオフライン(通信不可)状態で行ったデータ操作(新規データの追加、データの更新、データの削除)によるデータの変化を、オンライン(通信可)状態になった際に、オンラインのデータ管理装置へ反映・同期させる技術に関する。
近年、テレビ番組の制作において、半導体メモリカードや光ディスクにファイル形式で記録を行うカメラレコーダやファイル形式で映像編集を行えるノンリニア編集機の利用によって、撮影から編集までの番組制作工程全体を通して、テープによる制作からファイル形式による番組制作に変わりつつある。それに伴い、ファイル形式の番組素材を管理する素材管理システムが必要となってきた。
番組制作は企画、撮影、編集など複数の作業工程から成り立っており、また、それぞれの作業場所も異なる。例えば撮影工程においては番組の内容や、撮影対象に応じて毎回異なる場所で撮影を行うことが通例である。さらに編集工程においては、粗編集、本編集、CG編集、アフレコなど様々な作業の組み合わせでできており、作業ごとに、放送局内の編集室、外部の制作プロダクションなど、場所や設備を変えて作業を行う。つまり、撮影工程においては、放送局内のスタジオや放送局外の様々な場所で映像素材が生成され、編集工程においても、放送局内の編集室や音響室、外部の制作プロダクションなど様々な場所で映像素材が生成される。以上のように番組制作の作業工程を鑑みるに、素材管理システムにおいては、放送局内に設置し全ての素材を一元的に管理する方法では、素材管理方法として番組制作には即さないと考える。
従って、本発明では素材管理システムとして分散型素材管理システムを考える。分散型素材管理システムでは撮影、編集など制作工程や作業者ごとに撮影用、粗編集用、本編集用、CG編集用といった素材管理装置を用意し、各工程で生成された素材を素材管理装置ごとに管理する運用を想定する。そして、各装置間をネットワーク接続し、各々の工程に必要な素材の存在や所在の確認・検索及び実際の素材の送受信を素材管理装置間で直接行う。このような分散型素材管理システムでは、素材管理装置間で素材の存在・所在を確認・検索を行うため、オンライン時に素材のタイトルや所在地(素材が管理されている装置および装置内の管理場所を識別する情報)など、素材に関する付加情報(インデックスデータ)を、素材管理装置間で同期させる必要がある。
データの同期を行う従来技術として、例えば特開平11−272533号公報にはリレーショナルデータベースにおいて、マスタ機と孤立して更新されるレプリカ機のデータをマスタデータと矛盾なく同期させるため、前回の同期完了時刻とレコードごとの最終更新時刻を管理し、同期処理時には、前回同期時刻より新しい最終更新時刻を持つレコードを送受信する方法が開示されている。
また、特開2001−43119号公報および特開2005−18506号公報では、コマンドやジャーナルと呼ばれるデータの変更情報を第1の装置で蓄積しておき、第2の装置へその変更情報を送信し、処理させることによって、第1の装置のデータに、第2の装置のデータを同期する技術が開示されている。
特開平11−272533号公報 特開2001−43119号公報 特開2005−18506号公報
番組制作において、素材管理装置は撮影現場、編集現場などに持ち運ばれ、オフラインの状態であるときに、次々と新しい素材が登録され、それに伴って、インデックスデータも変更されるのが通常である。例えば、ある素材管理装置が撮影に持ち出され、ロケ先であるためオフライン状態である間に、撮影によって作成された新規の素材がその素材管理装置に登録される場合を考える。この素材管理装置を放送局に持ち帰って放送局内の素材管理装置とオンラインになった際に、オフライン中に更新したインデックスデータが伝達され、撮影現場に持ち運ばれた素材管理装置と放送局内の素材管理装置のインデックスデータが同期されることになる。しかしながら、現実の番組制作の運用はより複雑であり、ロケ中に撮影現場の素材管理装置のインデックスデータが更新されるのと並行して、放送局内においては編集された素材の登録などによって、放送局内の素材管理装置のインデックスデータが変更される。つまり、同期を取らなければならない複数の装置双方でインデックスデータが同時に変更(新規追加、更新、削除)される可能性がある。
また、撮影現場に複数の撮影用素材管理装置を持ち運んで撮影用素材管理装置同士をオンラインにして、インデックスデータを同期する場合や、放送局内で撮影用素材管理装置と編集用素材管理装置でインデックスデータを同期する場合など、同期を行う相手装置も様々である。そして、撮影用の素材管理装置は他の撮影用の素材管理装置とはオンラインになりインデックスデータの同期を行うが、放送局には帰らず、放送局内の編集用の素材管理装置とはインデックスデータの同期を行わないという場合も存在する。
このように、素材管理装置が任意に他の素材管理装置とオフラインとオンラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更が行われ、同期を行う相手の装置も状況に応じて異なり、運用状況によってはお互い直接同期処理を行う機会が存在しない素材管理装置間の関係が存在しうる状況において、複数の素材管理装置間でインデックスデータを同期することができなければならない。
以上に述べた状況においてデータの同期を行う際の課題について、例を用いて以下に説明する。
例えば、ある素材管理装置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を管理するという状態になることである。
このようなデータ同期に特許文献1に記載の技術を適用する事を考える。今回対象としているデータは特許文献1で同期対象としているリレーショナルデータベースのレコードとは異なり、データが削除された場合、データと共に管理している最終更新時刻も削除される。従って、上記の例の同期処理を行う際に、素材管理装置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において登録された素材に関するインデックスデータを取得する場合も存在する。このように直接通信を行わない装置間でも、他の装置を媒介として変更内容を伝達しあうことが必要となる。
しかし、特許文献2に開示されている技術では、データへの変更内容を記録したコマンドは、データを変更した装置でのみ管理されているため、他の装置を媒介として伝達することはできない。また、特許文献3に開示されている技術では、データへの変更内容を記録したジャーナルは予め定められた正記憶システムから副記憶システムへ伝達されるのみで、任意の装置間、例えば上記の素材管理装置Aから素材管理装置B、素材管理装置Bから素材管理装置Cで送受信できるものではない。
さらに、特許文献2や特許文献3に開示されているコマンドやジャーナルと呼ばれているデータの変更情報を他の端末へ伝達し、他の端末でその変更情報を処理することによってデータの変更内容を伝達する仕組みを、今回のデータ同期へ適用する場合を考える。例えば、撮影現場において素材管理装置Aに素材Xが新規登録された場合、素材Xに関するインデックスデータを新規作成する変更情報が生成され、素材管理装置Aに蓄積される。放送局に戻ってきて素材管理装置Bとオンラインになったときに、素材管理装置Aに蓄積されている素材Xに関するインデックスデータを新規作成する変更情報を素材管理装置Bへ伝達し、素材管理装置Bで変更情報を処理することによって、素材Xに関するインデックスデータを素材管理装置Aから素材管理装置Bへ伝達したことになる。素材管理装置Aと素材管理装置Bがオフラインになった後、素材管理装置Bにおいて素材Xのインデックスデータを修正した場合、その修正に基づく変更情報が生成される。このように素材管理装置Aで生成されたインデックスデータを新規作成する変更情報と、素材管理装置Bで生成されたインデックスデータを修正する変更情報の両方を素材管理装置Cが受け取った場合、新規作成の変更情報を処理してから修正の変更情報を処理する必要がある。仮に、新規作成の変更情報より先に修正の変更情報を処理しようとした場合、新規作成されていない、つまり、存在していないインデックスデータを修正するという処理を実行しようとすることになり、適切に処理が行えないという課題がある。つまり、複数の装置でデータの変更を許容し、変更情報が生成される場合、その変更情報をデータへ反映させる処理順序が重要である。
しかし、特許文献2や特許文献3に開示されている技術では、コマンドやジャーナルと呼ばれている変更情報を生成するのは一つの装置のみであるため、その装置において、変更情報を生成した際に通し番号を付与するといった方法で、変更情報の処理順序を守ることができている。しかし、今回のように複数の装置で同じデータに対して変更などの操作を行える場合、各装置が各々別の番号体系により変更情報に対して通し番号を付与し、異なる装置で生成された複数の変更情報を受け取った場合に、付与されている通し番号からでは変更情報の処理順序を守ることができない。
また、以下の運用も考えられる。素材管理装置Aと素材管理装置Bが素材Xに関するインデックスデータを管理している状態で、素材管理装置Aは別のロケのため再度素材管理装置Bとオフライン状態になり、ロケ先で新規素材群が登録されると共に、例えば、タイトルが間違えていた等の理由により素材Xのインデックスデータの一部であるタイトル情報の更新もなされる。一方、放送局内の編集用素材管理装置Bにおいても同様に素材Xのタイトルの誤りによって素材Xのタイトル情報の更新がなされると共に、素材Xのインデックスデータを他の素材管理装置Cと同期する。この状態で素材管理装置AとBが再びオンラインになると、素材Xのタイトル情報が素材管理装置Aで編集結果か、素材管理装置Bの編集結果のどちらか一方に上書きされてしまう。しかし、本来は、タイトル情報がオフライン中に素材管理装置Aおよび素材管理装置Bの両方の装置で更新が行われたというデータ更新の競合を発見し、どちらの編集結果を採用するのかの選択を促す必要がある。
さらに、素材管理装置AとBがオンラインの時に、他の素材管理装置Cが外部の編集室へ持ち運ばれた等の理由によりオフラインであった場合、素材管理装置AとCがオンラインになった際に、素材Xのタイトル情報に関する競合が再度発生する。ここで、データ更新の競合を発見しどちらの編集結果が正しいのかを促した場合、その判断は作業者にとっては二度手間であり、またAとBが競合した時とは異なる作業者がAとBの競合発見時に採用したものとは異なる編集結果をAとC間の競合発見時に採用しかねない。この場合再度データの競合が発生することになる。
特許文献2に記載の技術は、一つの装置で変更された内容をコマンドとして他の装置へ確実に伝達し、データへ反映させるためのもので、二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データの変更内容に競合が起きコマンド同士が競合した場合に関する記載はなく、コマンド同士の競合の発見方法やそれを解決した結果を他の装置へ伝達する方法に関しては開示されていない。特許文献3に記載の技術は、一つのシステムでのデータの変更内容をジャーナルと呼ばれる変更内容を記述した情報を用いて、他のシステムへ伝達し、他のシステムでジャーナルをデータへ反映させることによって、データをバックアップする仕組みが開示されており、特許文献2と同様に二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データ変更の競合が発生し、競合したジャーナルが生成された場合に、そのジャーナルの競合を発見し、また、それを解決した結果を他の装置へ伝達することができない。
以上で述べたように、従来の技術では装置間の同期処理として自装置内のデータに対して削除処理を行うべきか、相手装置に対してデータを渡す処理を行うべきかを判断できない、他の装置を媒介としたデータの同期が行えない、同期処理で一度に複数の変更情報を受信した場合、変更情報の反映順序を守ることができない、オフライン状態の複数の装置において、それぞれの装置が同一のデータを更新したときに発生するデータ更新の競合を発見できない、データ更新の競合を解決した結果を他の装置へ伝達することができないという課題が存在する。
本発明はこのような点に鑑みてなされたものであり、複数の装置がオンラインとオフラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更を行い、同期処理を行う相手端末も状況に応じて異なり、直接同期処理を行う機会が存在しない装置が存在しうる状況において、複数の装置間でデータを同期する事を目的とする。
他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置は、情報を管理するデータ管理手段と、前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段とを有することを特徴とする。
本発明の一実施の形態において、前記変更命令生成手段は、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする。
本発明の一実施の形態において、前記情報処理装置において、前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする。
任意のタイミングで他の素材管理装置とオンラインになり情報の送受信を行い、他の素材管理装置とオンラインの状態かオフラインの状態かに関わらず、管理している素材を変更を行う素材管理装置において、インデックスデータを同期させるため、インデックスデータに対する変更内容を変更命令として記録し、その変更命令を素材管理装置間で送受信する事によって、インデックスデータを同期させる。
この際に変更命令は他の素材管理装置を媒介として、直接通信を行っていない素材管理装置へ伝達することを可能とした。これによって直接通信を行っていない素材管理装置間においてもインデックスデータを同期することができる。そしてこのとき、同じ変更命令を重複して伝達することや、一つの素材管理装置において重複して管理することをなくす事ができる。これによって無駄な処理や情報を削減することができる。
また、変更命令を処理してインデックスデータを更新する際に、変更命令間の処理順序を守って変更命令を処理することができる。変更命令同士が競合している場合には、競合を発見し、解決した結果を他の素材管理装置へも伝達することができる。
以上によって、インデックスデータが同期され、どの素材管理装置においても、どの素材管理装置にどのような素材が管理されているのかを知ることが可能になり、番組制作を行う際に必要な素材を容易に取得することができる。また、新規に素材管理装置に登録された素材についても他の素材管理装置とオンラインになった際に自動的に情報が送信され、他の素材管理装置において新規の素材が登録されたことを知ることができる。これによって、自分の必要とする素材をいち早く容易に取得することが可能になる。よって、番組制作における無駄な作業を削減し、効率的に番組制作を行うことができる。
本発明の実施の形態における素材管理装置の利用形態の一例を示す図 本発明の実施の形態における素材管理装置の構成の一例を示すブロック図 本発明の実施の形態におけるインデックスデータ制御部の構成の一例を示すブロック図 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図 本発明の実施の形態における変更命令の一例を示す図 本発明の実施の形態における変更命令管理表の一例を示す図 本発明の実施の形態における変更命令生成部の動作の一例を示すフローチャート 本発明の実施の形態における変更情報の一例を示す図 本発明の実施の形態における発火条件情報の一例を示す図 本発明の実施の形態における発火条件情報生成部の動作の一例を示すフローチャート 本発明の実施の形態における発火条件情報の一例を示す図 本発明の実施の形態における変更命令処理部の動作の一例を示すフローチャート 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図 本発明の実施の形態における変更命令管理表の一例を示す図 本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令管理表および変更命令の一例を示す図 本発明の実施の形態における変更命令ID一覧および変更命令要求リストの一例を示す図 本発明の実施の形態における発火条件情報処理部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令管理表の一例を示す図 本発明の実施の形態における競合発見部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令管理表および変更命令の一例を示す図 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図 本発明の実施の形態における競合解決部の動作の一例を示すフローチャート 本発明の実施の形態における変更情報の一例を示す図 本発明の実施の形態における変更情報の一例を示す図 本発明の実施の形態における変更命令の一例を示す図 本発明の実施の形態における競合解決を行う画面の一例を示す図 本発明の実施の形態における素材管理装置の構成の一例を示すブロック図 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
符号の説明
3001 データ操作部
3002 データ管理部
3003 変更命令管理部
3004 変更命令生成部
3005 発火条件情報生成部
3006 変更命令処理部
3007 変更命令同期部
3008 発火条件情報処理部
3009 競合発見部
3010 競合解決部
以下本発明の実施の形態について、図面を参照しながら説明する.
(実施の形態1)
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで素材としてDV形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名を考える。図1に示すように素材管理装置は撮影や編集や試写など様々な番組制作の工程において素材が登録され、また利用される。
なお、素材としてはDV形式の動画に限定されるものではなく、MPEG-2形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地(素材が管理されている装置および装置内の管理場所を識別する情報)等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。
(1.全体構成)
図2に本実施の形態における素材管理装置の全体構成を示す。素材管理装置2000は素材操作部2001と素材管理部2002とインデックスデータ制御部2003で構成される。素材操作部2001は素材管理部2002へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部2003へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部2001からインデックスデータ制御部2003へ変更内容が通知される。素材管理部2002は素材操作部2001から受信した素材を管理する。インデックスデータ制御部2003は素材操作部2001から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。
データ同期の処理主体となる構成要素であるインデックスデータ制御部を、これ以降で詳細に説明する。
(2.インデックスデータ制御部の詳細)
(2−1.インデックスデータ制御部の構成)
図3にインデックスデータ制御部2003の詳細構成を示す。
データ操作部3001は素材操作部2001から受信したインデックスデータ変更通知の情報から、インデックスデータの変更を行うため、変更命令生成部3004へインデックスデータの変更に関する情報を送信する。このとき送信する情報を「変更情報」と呼ぶこととする。この際の変更情報とは新規作成、更新、削除等の処理内容、タイトルや撮影者名などインデックスデータにおける処理対象、必要に応じて処理を行う際に必要な情報を含み、変更命令生成部3004へ一つずつ送信する。
データ管理部3002はインデックスデータを保持する。他の素材管理装置とオンラインになった際に、このデータ管理部3002に保持されるインデックスデータを同期させることが本発明の目的である。保持するインデックスデータは変更命令処理部3006から操作され、変更命令の内容に従ってインデックスデータの新規作成、既存インデックスデータの更新、削除が行われる。データ管理部3002に管理されているインデックスデータ管理表の一例を図4に示す。インデックスデータ管理表4000には「<タイトル>」と「</タイトル>」で挟まれた部分にタイトル情報である「事故」が記録されており、「<撮影者名>」と「</撮影者名>」で挟まれた部分に撮影者名の情報である「山田」が記録されている。撮影日時や番組名などその他のインデックスデータを記録する場合も同様である。
変更命令管理部3003は変更命令を保持する。変更命令とはインデックスデータの変更内容を命令化したものである。図5(a)および(b)および(c)に変更命令の一例を示す。変更命令5000の5001の枡には変更命令5000を生成した素材管理装置のIDが記録されている。今回は素材管理装置Aの装置IDを「A」とした。5002の枡には変更命令5000を生成した素材管理装置において付与される通し番号が記録されている。5003の枡にはインデックスデータに対する処理内容が記録されている。5004の枡にはインデックスデータの中の処理対象が記録されている。5005の枡には5003の枡に記録されている処理内容の必要に応じて、情報内容が記録されている。変更命令5200の5205の枡は、5203の枡に記録されている処理内容が「削除」であり処理の際には特に情報を必要としないため、空欄になっている。5006の枡には発火条件情報が記録されている。発火条件情報の詳細は後述する。以上の情報より、変更命令5000は素材管理装置Aにおいて1番目に生成された、インデックスデータのタイトル情報を「事故」として新規作成するという変更命令であるという事が分かる。同様に変更命令5100は装置IDが「B」である素材管理装置で1番目に生成された、インデックスデータの撮影者名情報を山田として新規作成するという変更命令であり、変更命令5200は装置IDが「B」である素材管理装置で2番目に生成された、インデックスデータのタイトル情報を削除するという変更命令であることが分かる。
次に、変更命令管理部3003に管理されている変更命令管理表の一例を図6に示す。変更命令管理表6000は素材管理装置A、素材管理装置B、素材管理装置Cの3つの素材管理装置が存在する状況での、素材管理装置Bが管理する変更命令管理表を示したものである。行6004にはどの素材管理装置が生成した命令が管理されている列かが分かるように、各素材管理装置の装置IDが記載されている。行6005以降の行に実際の変更命令が管理されている。例えば、列6002には素材管理装置Bが生成した変更命令を生成した順番に行6005および行6006に管理している。同様に列6001、列6003にはそれぞれ素材管理装置A、素材管理装置Cが生成した変更命令を管理する。例えば、列6001の行6005の枡には、素材管理装置Aが1番目に生成した変更命令を管理する。実際にこの枡に管理されている変更命令は図5(a)に示した変更命令5000であるが、簡略化して「変更命令5000」と表記している。同様に列6002の行6006の枡には、図5(c)に示した素材管理装置Bが2番目に生成した変更命令5200が管理されているが、「変更命令5200」と簡略表記している。列6002の行6005の枡についても、図5(b)に示した変更命令5100が管理されているが、同様に「変更命令5100」と簡略表記している。また、変更命令管理表6000の空白になっている枡は、変更命令を管理していないということを表す。管理する変更命令が増えた場合は、順次、変更命令管理表の行を増やして変更命令を管理する。変更命令に対して削除や変更は行わず、新規の変更命令を変更命令管理表へ追加していくのみである。
変更命令生成部3004はデータ操作部3001または競合解決部3010から受信した変更情報と、発火条件情報生成部3005へ問い合わせて取得した発火条件情報の二つの情報から変更命令を生成する。
発火条件情報生成部3005は変更命令生成部3004の依頼に基づき、変更命令管理部3003に管理されている変更命令管理表の情報から発火条件情報を生成する。生成した発火条件情報は変更命令生成部3004へ送信される。
変更命令処理部3006は変更命令生成部3004、競合発見部3009から受信した変更命令に基づいてデータ管理部3002の保持するインデックスデータ管理表に対して、新規作成、更新、削除の操作を行うと共に、変更命令管理部3003に処理を行った変更命令を送信する。
変更命令同期部3007は他の素材管理装置とオンラインである時、変更命令管理部3003に管理されている変更命令を他の素材管理装置との間で送受信する。受信した変更命令は発火条件情報処理部3008へ送信する。
発火条件情報処理部3008は変更命令同期部3007から受信した変更命令に記録されている発火条件情報から変更命令の処理順序を決定し、決定した順序に従って一つずつ命令を競合発見部3009へ送信する。
競合発見部3009は発火条件情報処理部3008から受信した変更命令と競合する変更命令が変更命令管理部3003に管理されていないかを確認する。競合する変更命令とは、オフライン中に複数の素材管理装置それぞれで同じ項目を異なる値に変更した場合にそれぞれの素材管理装置で生成される変更命令が競合した変更命令である。競合している変更命令を発見した場合、発火条件情報処理部3008が変更命令同期部3007より受信した変更命令を取得し、取得した変更命令の中に、競合を解決する変更命令がないかを確認する。競合を解決する変更命令が存在しない場合、競合している発火条件情報処理部3008から受信した変更命令、および変更命令管理部3003に管理されていた変更命令を取得し、競合解決部3010へ送信する。また、発火条件情報処理部3008から受信した変更命令が競合していなかった場合、競合していた場合のどちらの場合も変更命令処理部3006へ発火条件情報処理部3008から受信した変更命令を送信する。
競合解決部3010は競合発見部3009から受信した2つ以上の変更命令からデータ管理部3002へ反映させる変更命令を選択する。選択された変更命令から変更情報を作成し、変更命令生成部3004へ送信する。
(2−2.変更命令生成部の動作例)
変更命令生成部3004の動作の詳細を説明する。
変更命令生成部3004の動作の流れを図7に示したフローチャートを用いて説明する。
データ操作部3001または競合解決部3010から変更情報を受信し、その情報を変更命令に付与する(S7001)。
予め保持している素材管理装置の装置IDを変更命令に付与する(S7002)。
保持している通し番号に1を加え、変更命令に付与する。また、1を加えた通し番号は、次回の処理時に利用するため記録しておく(S7003)。
発火条件情報生成部3005へ依頼し、発火条件情報を取得し、取得した発火条件情報を変更命令に付与する(S7004)。
以上の処理で変更命令が生成できたので、生成した変更命令を変更命令処理部3006へ送信する(S7005)。
処理を終了する(S7006)。
次に、図8に示す変更情報8000を受信した場合の、変更命令生成部3004の処理を具体的に説明する。処理を行う素材管理装置は素材管理装置Aであり、装置IDは「A」とする。また、保持している通し番号は一度も処理を行われていない初期状態である「0」であるとする。
変更命令生成部3004はデータ操作部3001から変更情報8000を受信する(S7001)。
S7001で受信した変更情報8000に対して装置ID「A」を付与する(S7002)。
保持している通し番号「0」に1加えて「1」にし、S7001で受信した変更情報8000に対して付与する。また、通し番号「1」を次回処理のために保持する(S7003)。
発火条件情報生成部3005へ依頼し、発火条件情報を取得する。ここでは、例えば図9に示す発火条件情報9000が取得できたものとする。そして取得した発火条件情報9000を変更命令に付与する(S7004)。
以上で、図5(a)に示した変更命令5000が生成される。S7001で受信した変更情報8000の8001の枡、8002の枡、8003の枡に記録されていた情報が、それぞれ順に、変更命令5000の5003の枡、5004の枡、5005の枡に記録されている。S7002で付与した装置IDは変更命令5000の5001の枡に記録されている。S7003で付与した通し番号は変更命令5000の5002の枡に記録されている。S7004で付与した発火条件情報9000は変更命令5000の5006の枡に記録されている。変更命令生成部3004はこの変更命令5000を変更命令処理部3006へ送信し、処理を終了させる。
(2−3.発火条件情報生成部の動作例)
発火条件情報生成部3005では発火条件情報を変更命令生成部3004の依頼に基づいて生成する。本実施例では、発火条件情報として、変更命令管理部3003に管理されている変更命令の数を、変更命令を生成した素材管理装置毎に数えたものを用いる。なお、発火条件情報は今回用いた情報に限定されるものではなく、変更命令を一意に特定できる識別子を用いて、変更命令管理部3003に管理されている変更命令すべての識別子の一覧を生成し、この識別子一覧を発火条件情報とすることや、変更命令管理部3003に管理されている変更命令全てを一覧にして、この変更命令一覧を発火条件情報とするなど、変更命令管理部3003に管理されている命令を特定できる情報を発火条件情報とする事ができる。本実施例では、その中でも発火条件情報のデータ量が小さくなるものとして、変更命令管理部3003に管理されている変更命令の数を素材管理装置毎に数えたものを用いることにした。
発火条件情報生成部3005の動作の流れを図10に示したフローチャートを用いて説明する。
発火条件情報生成部3005は、変更命令生成部3004から発火条件情報を生成するようにとの依頼を受信する(S10001)。
変更命令管理部3003から変更命令管理表を取得する(S10002)。
S10002で取得した変更命令管理表に未処理の列が存在するかを判断する(S10003)。未処理の列が存在する場合は、S10004へ進み、未処理の列が存在しない場合は、S10008へ進む。変更命令管理表の各列が処理済みであるか、未処理であるかを判断する方法の一例として、処理済みフラグを用いる。処理済みフラグが付与されている列は処理済みであると判断する。
未処理の列を一列選択する(S10004)。
S10004で選択した列に記録されている装置IDを取得する(S10005)。
S10004で選択した列に記録されている変更命令の数を数える(S10006)。
S10005及びS10006で取得した装置ID及び変更命令の数を発火条件情報として記録する(S10007)。その後、処理を行っていた列に処理済みフラグを付与し、S10003に戻り、処理を繰り返す。
S10003で未処理の列が存在しないと判断された場合、生成済みの発火条件情報を変更命令生成部3003へ送信する(S10008)。
処理を終了させる(S10009)。
次に、一例として変更命令生成部3004から発火条件情報生成の依頼を受信し、変更命令管理部3003から図6に示す変更命令管理表6000を受信した場合の処理を具体的に説明する。
発火条件情報生成部3005は変更命令生成部3004から発火条件情報生成依頼を受信し(S10001)、変更命令管理部3003から図6に示す変更命令管理表6000を受信する(S10002)。
処理済みフラグが付与されていないため、列6001、列6002、列6003が未処理であるため、S10004へ進む(S10003)。
列6001を選択する(S10004)。
S10004で選択された列6001から素材管理装置の装置IDを取得する(S10005)。今回の場合、列6001の行6004に記録されている装置ID「A」を取得する。
S10004で選択された列6001に管理されている変更命令の数を数える(S10006)。列6001の行6005に一つだけ変更命令が管理されているため変更命令の数を数えた結果として「1」を取得する。
S10005で取得した装置ID「A」およびS10006で取得した変更命令の数「1」
を発火条件情報として記録する(S10007)。そして、列6001に処理済みフラグを付与し、S10003へ戻り処理を繰り返す。
列6002、列6003が未処理であるため、S10004へ進む(S10003)。
列6002を選択する(S10004)。
S10004で選択された列6002の行6004から装置ID「B」を取得する(S10005)。
S10004で選択された列6002に管理されている変更命令の数を数える(S10006)。列6002の行6005および行6006に変更命令が管理されているため、変更命令の数を数えた結果として「2」を取得する。
S10005で取得した装置ID「B」およびS10006で取得した変更命令の数「2」を発火条件情報として記録する(S10007)。この際、既に記録済みの発火条件情報へ追記する。そして、列6002に処理済みフラグを付与し、S10003へ戻り処理を繰り返す。
列6003が未処理であるため、S10004へ進む(S10003)。
以降、同様に処理を行い、装置ID「C」および変更命令の数「0」を取得し、発火条件情報に追記し、列6003に処理済みフラグを付与し、S10003に戻る。
S10003において未処理の列が存在しないため、S10008へ進む。
以上の処理で生成済みの発火条件情報を図11に示す。「ID=A」とは素材管理装置の装置IDが「A」であることを示し、「count=1」とは変更命令の数が「1」であったことを示す。従って、「ID=A、count=1」とは素材管理装置Aが生成した変更命令の数が「1」であるということを示す。同様に「ID=B、count=2」とは素材管理装置Bが生成した変更命令の数が「2」であり、「ID=C、count=0」とは素材管理装置Cが生成した変更命令の数が「0」であるということを示す。これらが記録された発火条件情報11000を変更命令生成部3004へ送信する(S10008)。
以上で処理を終了する(S10009)。
(2−4.変更命令処理部の動作例)
変更命令処理部3006の動作の流れを図12に示したフローチャートを用いて説明する。
変更命令処理部3006は、変更命令生成部3004または競合発見部3009から変更命令を受信する(S12001)。
S12001において受信した変更命令に記録されている処理をデータ管理部3002に管理されているインデックスデータ管理表に対して行う(S12002)。
変更命令を変更命令管理部3003が管理している変更命令管理表に記録する(S12003)。
処理を終了する(S12004)。
次にデータ管理部3002が図13(a)に示すインデックスデータ管理表13000を管理し、変更命令管理部3003が図14(a)に示す変更命令管理表14000を管理している状態で、変更命令処理部3006が図5(b)に示す変更命令5100を受信した場合の変更命令処理部3006の処理を具体的に説明する。
変更命令処理部3006は、S12001において変更命令5100を受信する。
S12002において、データ管理部3002が管理するインデックスデータ管理表13000に対して、変更命令5100の5103の枡、5104の枡、5105の枡に記載されている情報から、「撮影者名」という項目を情報の内容を「山田」として「新規作成」する。この処理によって、データ管理部3002に管理されているインデックスデータ管理表13000は、図4に示すインデックスデータ管理表4000の状態になる。
S12003において、変更命令管理部3003の管理する変更命令管理表14000に対して、変更命令5100を記録する。記録を行った結果、変更命令管理表14000は図14(b)に示す変更命令管理表14100の状態になる。列14102の行14105に変更命令5100が管理されている。表記の都合上「変更命令5100」と簡略して表記している。
以上で処理を終了する(S12004)。
次にデータ管理部3002が図4に示すインデックスデータ管理表4000を管理し、変更命令管理部3003が図14(b)に示す変更命令管理表14100を管理している状態で、変更命令処理部3006が図5(c)に示す変更命令5200を受信した場合の変更命令処理部3006の処理を具体的に説明する。
変更命令処理部3006は、S12001において変更命令5200を受信する。
S12002において、データ管理部3002が管理するインデックスデータ管理表4000に対して、変更命令5200の5203の枡、5204の枡に記載されている情報から、「タイトル」という項目の情報を「削除」する。この処理によって、データ管理部3002に管理されているインデックスデータ管理表4000は、図13(b)に示すインデックスデータ管理表13100の状態になる。
S12003において、変更命令管理部3003の管理する変更命令管理表14100に対して、変更命令5200を記録する。記録を行った結果、変更命令管理表14100は図6に示す変更命令管理表6000の状態になる。列6002の行6006に変更命令5200が管理されている。表記の都合上「変更命令5200」と簡略して表記している。
以上で処理を終了する(S12004)。
(2−5.変更命令同期部の動作例)
変更命令同期部3007は他の素材管理装置からの要求に応じて、変更命令を要求先の素材管理装置へ送信する機能と、他の素材管理装置から自装置の変更命令管理部で管理していない変更命令を取得する機能とを有する。これらの機能を用いて、他の素材管理装置とオンラインになっている際に、各素材管理装置において自装置で管理していない変更命令を取得しあうことによって変更命令管理部3003の管理する変更命令管理表に記録されている変更命令を同期する。
説明を行う便宜上、図15及び図16のフローチャートの説明、及びそれに伴う処理の具体説明においては、変更命令取得の要求を行う素材管理装置を素材管理装置A、要求に従って、変更命令を送信する素材管理装置を素材管理装置Bとする。今回は説明の便宜上、このようにしたが、素材管理装置A、素材管理装置B共に変更命令を取得する機能および取得要求に応じて変更命令を送信する機能の両方を持っており、素材管理装置Aが変更命令を取得し、素材管理装置Bが変更命令を送信するという運用形態に限定されるものではない。
まず図15に示したフローチャートを用いて、変更命令を要求先の素材管理装置へ送信する際の処理の流れ、つまり、素材管理装置Bの処理を説明する。
素材管理装置Bは、ネットワークで接続された素材管理装置Aから変更命令取得要求を受信する(S15001)。変更命令取得要求とは変更命令の送受信処理を開始するに当たって、処理の開始を相手装置に伝えるメッセージである。
変更命令管理部3003に管理されている変更命令管理表に記録されている変更命令から、それらの変更命令を一意に特定できる変更命令IDを生成し、全ての変更命令の変更命令IDを一覧にして、変更命令取得要求を送信してきた素材管理装置Aへ送信する(S15002)。
素材管理装置Aから変更命令要求リストを受信する(S15003)。変更命令要求リストとは、素材管理装置Aが素材管理装置Bから取得したい変更命令の変更命令IDを一覧で記述したものである。
変更命令要求リストに記載されている変更命令を、変更命令管理部3003から取得し、素材管理装置Aへ送信する(S15004)。変更命令要求リストに変更命令IDが記載されていない場合は、処理を行わず、S15005へ進む。
処理を終了させる(S15005)。
次に図16のフローチャートを用いて、変更命令の取得を要求する素材管理装置の処理の流れ、つまり、素材管理装置Aの処理を説明する。
素材管理装置Aは、ネットワークで接続された素材管理装置Bへ変更命令取得要求を送信する(S16001)。
素材管理装置Bから変更命令IDの一覧を受信する(S16002)。
S16002で受信した変更命令IDの一覧と、変更命令管理部3003に管理されている変更命令管理表に記録されている変更命令を比較し、変更命令管理表に記録されていない変更命令を特定する(S16003)。変更命令管理表に記録されていないことが特定できた変更命令の変更命令IDを変更命令要求リストに記載する。
S16003で作成した変更命令要求リストを素材管理装置Bへ送信する(S16004)。
S16004において送信した変更命令要求リストに変更命令IDが記載されている場合は、S16006へ進み、変更命令IDが記載されていない場合はS16008へ進む(S16005)。
素材管理装置Bから変更命令を受信する(S16006)。
S16006で受信した変更命令を発火条件情報処理部3008へ送信する(S16007)。
処理を終了する(S16008)。
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において、図5(a)および図17(b)に示す変更命令5000および変更命令17100を管理し、素材管理装置Bの変更命令管理部3003が図6に示す変更命令管理表6000において、図5(a)(b)(c)に示す変更命令5000および変更命令5100及び変更命令5200を管理している場合に、図15及び図16に示したフローチャートの処理を行い、変更命令の同期処理を行った場合の処理を具体的に説明する。
変更命令を送信する側の素材管理装置Bの処理について説明する。
素材管理装置Aから変更命令取得要求を受信し(S15001)、変更命令管理部3003に管理している変更命令管理表6000に記録されている変更命令5000、変更命令5100、変更命令5200より変更命令IDを生成し、変更命令ID一覧を生成し、素材管理装置Aへ送信する(S15002)。変更命令IDとして、各変更命令に記録されている装置IDと通し番号を並べたものを用いる。例えば、変更命令5000の場合は装置ID「A」と通し番号「1」より変更命令IDを「A−1」とする。同様に変更命令5100および変更命令5200はそれぞれ変更命令IDを「B−1」、「B−2」とする。これらを一覧にして変更命令ID一覧を生成する。生成した変更命令ID一覧を図18(a)に示す。変更命令ID一覧18000の行18001、行18002、行18003に順に、「A−1」「B−1」「B−2」が記載されている。この変更命令ID一覧18000を素材管理装置Aへ送信する。なお、変更命令IDは今回用いたものに限定されるものではなく、変更命令を一意に特定することができる情報であればどのようなものでも良い。例えば、変更命令生成日時情報と装置IDを並べたものなども用いることができる。
素材管理装置Aより変更命令要求リストとして、図18(b)に示す変更命令要求リスト18100を受信する(S15003)。
変更命令要求リスト18100に記載されている変更命令IDの変更命令を変更命令管理部3003より取得し、素材管理装置Aへ送信する(S15004)。変更命令要求リスト18100の行18101に「B−1」、行18102に「B−2」と記載されている。従って、変更命令管理表6000に記録されている変更命令5100および変更命令5200を取得し、素材管理装置Aへ送信する。
処理を終了する(S15005)。
次に変更命令を取得する側の素材管理装置Aの処理について説明する。
変更命令取得要求を素材管理装置Bへ送信する(S16001)。
素材管理装置Bから変更命令ID一覧18000を受信する(S16002)。
素材管理装置Aの変更命令管理部に管理されている変更命令管理表17000に記録されている変更命令とS16002で受信した変更命令ID一覧18000を比較し、変更命令管理表17000に記録されていない変更命令IDを特定する(S16003)。変更命令管理表17000には変更命令ID「A−1」に該当する変更命令5000は記録されているが、変更命令ID「B−1」および「B−2」に該当する変更命令は記録されていない。従って、変更命令ID「B−1」および「B−2」を記載した変更命令要求リスト18100を生成する。
S16003で作成した変更命令要求リスト18100を素材管理装置Bへ送信する(S16004)。
変更命令要求リスト18100には変更命令ID「B−1」および「B−2」が記載されているため、S16006へ進む(S16005)。
素材管理装置Bから変更命令5100および変更命令5200を受信する(S16006)。
S16005で受信した変更命令5100及び変更命令5200を素材管理装置Aの発火条件情報処理部3008へ送信する(S16007)。
処理を終了する(S16008)。
詳細な処理内容は同様のため省略するが、以上で説明した処理とは逆に、素材管理装置Bが変更命令を取得し、素材管理装置Aが変更命令を送信する処理も行われる。この処理によって、素材管理装置Aの変更命令管理部3003に管理されている変更命令管理表17000に変更命令5000および変更命令17100が記録されており、今回の変更命令同期部3007の処理で変更命令5100および変更命令5200を取得したことになる。一方、素材管理装置Bの変更命令管理部に管理されている変更命令管理表6000に、変更命令5000および変更命令5100および変更命令5200が記録されており、今回の変更命令同期部3007の処理で変更命令17100を取得することになる。従って、素材管理装置Aおよび素材管理装置Bでは、変更命令管理部3003の管理している変更命令管理表に記録されている変更命令および今回の変更命令同期部3007の処理によって取得した変更命令をあわせると、同じだけの変更命令を素材管理装置内に保持していることになる。
なお、今回は変更命令ID一覧送受信し、必要な変更命令のみ変更命令要求リストで要求するという方法を用いたが、変更命令取得要求を受信した時点で、素材管理装置Bの変更命令管理部3003が管理している変更命令全てを素材管理装置Aへ送信し、素材管理装置Aにおいて必要な変更命令のみを取捨選択するという方法も考えられる。つまり、自装置の変更命令管理部3003において管理していない変更命令を取得しあうという処理が行うことができればよく、その処理の詳細を限定するものではない。
また、変更命令同期部3007は素材管理装置が他の素材管理装置とオンラインになった時、および、他の素材管理装置とオンラインである素材管理装置においては、変更命令管理部3003に管理されている変更命令管理表が変化した時に処理が行われる。
(2−6.発火条件情報処理部の動作例)
発火条件情報処理部3008は変更命令同期部3007から受信した変更命令について、変更命令ごとに保持している発火条件情報と変更命令管理部3003に管理されている変更命令管理表から、処理を行う順序を決定し、決定した順序に従って、競合発見部3009へ変更命令を送信する。
発火条件情報処理部3008の処理の流れを図19のフローチャートを用いて説明する。
発火条件情報処理部3008は、変更命令同期部3007から1つ以上の変更命令を受信する(S19001)。
S19001で受信した変更命令の保持する発火条件情報と、変更命令管理部3003が管理する変更命令管理表から、条件に適合する変更命令を抽出する(S19002)。このときの条件とは、以下の3つである。
(1)発火条件情報処理部3008から競合発見部3009へ未送信の変更命令。未送信かどうかは送信済みフラグを用いて判断し、送信済みフラグが付与されている変更命令は送信済みの変更命令、送信済みフラグの付与されていない変更命令は未送信の変更命令と判断する。
(2)装置IDをiとしたときに、変更命令管理部3003の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置IDごとにその値を「V(i)」とする。また、発火条件情報に記録されている「count」の値を装置IDごとに「W(i)」とする。このとき、全ての装置IDの場合において、つまり全ての「i」において、「V(i)≧W(i)」が成り立つ変更命令。
(3)上記(1)および(2)の条件を満たす変更命令のうち、変更命令の保持する発火条件情報に記録されている、各装置が発行した命令の合計が最小の変更命令。今回の場合、具体的には発火条件情報に記録されている「count」の値の合計が最小の変更命令。「count」の合計の値が最小のものが複数存在した場合はそれら全てを抽出する。
S19002において抽出された変更命令が一つも無い場合は、S19007へ進み、S19002において抽出された変更命令が一つ以上存在した場合はS19004へ進む(S19003)。
S19002において抽出された変更命令が一つの場合S19006へ進み、S19002において抽出された変更命令が二つ以上の場合S19005へ進む(S19004)。
S19002において抽出された変更命令から一つを選択する(S19005)。このときの選択方法は任意であり、先に抽出された変更命令を選択する等の方法でよい。
S19002において一つだけ抽出された変更命令、または、S19005で選択された変更命令を競合発見部3009へ送信する。送信後、変更命令に対して送信済みフラグを付与し、S19002へ戻る(S19006)。
競合発見部3009に送信した変更命令は、競合発見部3009やその他の変更命令処理部3006や場合によっては、競合解決部3010などの処理によって、変更命令管理部3003の変更命令管理表で管理されるようになる。このように変更命令管理表が更新された後、S19002の処理を継続して行う。
なお、本実施例では変更命令の競合が発生する場合を想定しているため、競合発見部3009へ変更命令を送信したが、運用などにより変更命令の競合が発生しないと保証されている場合や、競合を無視する場合などは、競合発見部3009へ変更命令を送信せず、変更命令処理部3006へ変更命令を送信しても良い。
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において図5(a)および図17(b)に示す変更命令5000および変更命令17100を管理している状態で、発火条件情報処理部3008が変更命令同期部3007から図5(b)および(c)に示す変更命令5100および変更命令5200を受信した時の素材管理装置Aの発火条件情報処理部3008の処理の流れを具体的に説明する。
発火条件情報処理部3008は、変更命令同期部3007から変更命令5100および変更命令5200を受信する(S19001)。
条件に従って、受信した変更命令の中から変更命令を抽出する(S19002)。
(1)変更命令5100および変更命令5200ともに競合発見部3009へは未送信である。
(2)変更命令管理部3003の管理している変更命令管理表17000に記録されている変更命令の数を装置ID毎に数えた値は素材IDがAである列17001に変更命令5000と変更命令17100の二つの変更命令が記録されており、その他の列17002および17003には変更命令が記録されていないため、「V(A)=2」「V(B)=0」「V(C)=0」となる。また、変更命令5100の5106の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=0」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=0」「W(C)=0」となる。従って、変更命令5100に関しては全ての装置IDにおいて「V(i)≧W(i)」(iは装置IDのAまたはBまたはCである)が成り立っており、条件を満たしている。また、変更命令5200の5206の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。従って、装置IDがBにおいて「V(B)<W(B)」となり条件を満たしていない。
(3)変更命令5100しか(1)および(2)の両方の条件を満たした変更命令が存在しない。よって、変更命令5100を抽出する。
変更命令5100が一つだけS19002において抽出されたため、S19004へ進む(S19003)。
変更命令5100が一つだけS19002において抽出されたため、S19006へ進む(S19004)。
変更命令5100を競合発見部3009へ送信する(S19006)。その後、変更命令5100に対して送信済みフラグを付与する。
競合発見部3009へ送信した変更命令5100は競合発見部3009や変更命令処理部3006の処理によって、変更命令管理部3003の変更命令管理表17000へ反映される。反映された結果、変更命令管理部3003に管理される変更命令管理表は変更命令管理表17000から図20(a)に示す変更命令管理表20000になる。
S19006において競合発見部3009へ送信した変更命令5100が変更命令管理表に記録されたのを確認後、S19002から処理を継続する。
(1)変更命令5200が競合発見部3009へは未送信である。
(2)変更命令管理部3003の管理している変更命令管理表20000に記録されている変更命令の数を装置ID毎に数えた値は装置IDがAである列20001に変更命令5000と変更命令17100の二つの変更命令が記録されており、装置IDがBである列20002に変更命令5100が記録されており、装置IDがCである列20003には変更命令が記録されていない。従って、「V(A)=2」「V(B)=1」「V(C)=0」となる。また、変更命令5200の5206の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。従って、変更命令5200に関しては全ての装置IDにおいて「V(i)≧W(i)」(iは装置IDのAまたはBまたはCである)が成り立っており、条件を満たしている。
(3)変更命令5200しか(1)および(2)の両方の条件を満たした変更命令が存在しない。よって、変更命令5200を抽出する。
変更命令5200が一つだけS19002において抽出されたため、S19004へ進む(S19003)。
変更命令5200が一つだけS19002において抽出されたため、S19006へ進む(S19004)。
変更命令5200を競合発見部3009へ送信する(S19006)。その後、変更命令5200に対して送信済みフラグを付与する。
競合発見部3009へ送信した変更命令5200は競合発見部3009や競合解決部3010、変更命令処理部3006の処理によって、変更命令管理部3003の変更命令管理表20000へ反映される。反映された結果、変更命令管理部3003に管理される変更命令管理表は変更命令管理表20000から図20(b)に示す変更命令管理表20100になる。
S19006において競合発見部3009へ送信した変更命令5200が変更命令管理表に記録されたのを確認後、S19002から処理を継続する。
(1)競合発見部3009へ未送信である変更命令が存在しない。
従って、変更命令を抽出せず、S19003へ進む。
S19002において、変更命令が抽出されていないため、抽出された変更命令の数を「0」と判断し、S19007へ進む(S19003)。
処理を終了させる(S19007)。
以上の処理によって、変更命令の処理順序を守って処理を行うことが可能になる。
以上、素材管理装置Aに着目して説明を行ったが素材管理装置Bにおいても、素材管理装置Aから受信した変更命令に対して同様の処理が行われる。
(2−7.競合発見部の動作例)
競合発見部3009は発火条件情報処理部3008から受信した変更命令と、変更命令管理部3003が管理する変更命令管理表に記録されている変更命令との間で、競合が発生している場合、その競合する変更命令を変更命令管理表の中から発見し、競合解決部3010へ送信する。競合発見部3009の処理の流れを図21に示すフローチャートを用いて説明する。
競合発見部3009は、発火条件情報処理部3008より変更命令を受信する(S21001)。
S21001において受信した変更命令に記録されている発火条件情報を用いて、変更命令管理部3003に管理されている変更命令管理表に記録されている変更命令の中から、競合確認が必要な変更命令を抽出する(S21002)。競合確認が必要な変更命令の抽出方法は具体的には以下の通りである。まず、装置IDをiとしたときに、変更命令管理部3003の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置IDごとにその値を「V(i)」とする。また、S21001において受信した変更命令の保持している発火条件情報に記録されている「count」の値を装置IDごとに「W(i)」とする。そして、変更命令管理表から装置IDが「i」の変更命令から新しい順、つまり、通し番号の大きい変更命令から順に「V(i)−W(i)」個の変更命令を抽出する。発火条件情報処理部3008の処理によって「V(i)−W(i)」の値がマイナスになるような発火条件情報をもつ変更命令は、競合発見部3009は受信することはない。
S21002で変更命令管理表から抽出したすべての変更命令と、S21001で発火条件情報処理部3008から受信した変更命令の内容を比較し、競合していないかを確認する(S21003)。具体的には、変更命令の「処理対象」の項目に記録されている情報(例えば「タイトル」、「撮影者名」)が同一であるかどうかを確認する。変更命令の処理対象が同一である場合は競合していると判断し、変更命令の処理対象が同一ではない場合は競合していないと判断する。また、S21002において一つの命令も抽出されなかった場合は、競合した変更命令は存在しないと判断する。
S21003においてS21002で抽出した変更命令が一つでもS21001で受信した変更命令と競合していると判断された場合は、S21005へ進み、S21002で抽出した変更命令すべてとS21001で受信した変更命令とが競合していないと判断された場合はS21008へ進む(S21004)。
S21004においてS21002で抽出した変更命令が一つでも競合していると判断された場合、発火条件情報処理部3008が保持している、変更命令同期部3007から発火条件情報処理部3008が受信した変更命令の中に、競合発見部3009がS21001で受信した変更命令とS21003において抽出した変更命令との間の競合を解決する変更命令が存在しないかを確認する(S21005)。競合を解決する変更命令とは競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された、競合している変更命令と処理対象が同じである変更命令のことである。今回の場合、「発火条件情報」を用いて、競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された変更命令かどうかを判断し、処理対象が同じであるかどうかは変更命令の「処理対象」の項目で判断する。競合関係にある変更命令の装置IDを「i」、通し番号を「n」とし、発火条件情報処理部3008が保持している変更命令発火条件情報の「count」の値を「W(i)」とした場合、全ての競合関係にある変更命令において「n≦W(i)」が成り立つ発火条件情報をもつ変更命令でかつ、「処理対象」の項目が競合関係にある変更命令と同一である変更命令が競合を解決する変更命令である。
S21001で受信した変更命令とS21003で抽出した変更命令との間の競合全てに対して、解決する変更命令がS21005で存在することが確認できた場合、S21008へ進み、一つでも競合を解決する変更命令が発見できなかった場合は、S21007へ進む(S21006)。
S21001で受信した変更命令と、S21003で抽出した変更命令間の競合を解決する変更命令をS21005において発見できなかった場合、解決する変更命令を発見できなかった競合関係にあるS21001で受信した変更命令とS21003で抽出した変更命令を競合解決部3010へ送信する(S21007)。
S21001で受信した変更命令を変更命令処理部3006へ送信する(S21008)。
処理を終了させる(S21009)。
(競合している場合の処理の一例)
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において図5(a)および図17(b)に示す変更命令5000および変更命令17100を記録している状態で、発火条件情報処理部3008は図5(b)に示す変更命令5100と図5(c)に示す変更命令5200を変更命令同期部3007より受信し、発火条件情報処理部3008の処理によって、変更命令5100を競合発見部3009が受信したときの競合発見部3009の処理の流れを具体的に説明する。
素材管理装置Aの競合発見部3009は発火条件情報処理部3008より変更命令5100を受信する(S21001)。
変更命令管理部3003の管理する変更命令管理表17000に記録されている変更命令から、変更命令5100と競合する可能性のある変更命令を抽出する(S21002)。変更命令管理表17000より「V(A)=2」「V(B)=0」「V(C)=0」となる。また、S21001で受信した変更命令5100の5106の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=0」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=0」「W(C)=0」となる。したがって、「V(A)−W(A)=1」「V(B)−W(B)=0」「V(C)−W(C)=0」となるため、装置IDが「A」である素材管理表17000の列17001より通し番号の値が変更命令5000より大きい変更命令である変更命令17100を一つ抽出する。
S21001で受信した変更命令5100とS21002で抽出した変更命令17100が競合しているかどうかを確認する(S21003)。変更命令5100の5104の枡に記録されている処理対象「撮影者名」と、変更命令17100の17104の枡に記録されている処理対象「撮影者名」は同じであるため、競合していると判断する。
S21003で競合していると判断されたため、S21005へ進む(S21004)。
発火条件情報処理部3008が変更命令同期部3007より受信した変更命令の中に変更命令5100と変更命令17100の競合を解決する変更命令が無いかを確認する(S21005)。今回、発火条件情報処理部3008が保持している変更命令は変更命令5200のみであり、変更命令5200の5206の枡に記録されている発火条件情報は「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。また、今回競合関係にある変更命令5100および変更命令17100の装置IDおよび通し番号はそれぞれ「装置ID=B、通し番号=1」と「装置ID=A、通し番号=2」となっている。従って装置IDがAのとき、通し番号nは2であり、「n≦W(A)」を満たさない。また、変更命令5200の5204の枡に記録されている処理対象は「タイトル」であり、変更命令5100および変更命令17100の処理対象「撮影者名」とは異なる。従って、競合を解決する変更命令は存在しないと判断する。
S21005で競合を解決する変更命令が存在しないと判断したため、S21007へ進む(S21006)。
S21001で受信した変更命令5100及び変更命令管理部3003の管理する変更命令管理表17000に管理されている変更命令17100を競合解決部3010へ送信する(S21007)。
S21001で受信した変更命令5100を変更命令処理部3006へ送信する(S21008)。S21007で変更命令5100は競合解決部3010へ送信されているが、ここでは、変更命令処理部3006へも送信を行う。
処理を終了させる(S21009)。
このように発火条件情報を用いて処理を行うことによって、変更命令の競合を発見し、それを競合解決部3010で解決する機会を得ることができる。
(競合していない場合の処理の一例)
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において図5(a)および図17(b)に示す変更命令5000および変更命令17100を記録している状態で、発火条件情報処理部3008は図5(b)に示す変更命令5100と図5(c)に示す変更命令5200を変更命令同期部3007より受信し、発火条件情報処理部3008の処理によって、変更命令5100を競合発見部3009が受信し処理を行い、変更命令管理部3003が図20(a)に示す変更命令管理表20000において図5(a)(b)および図17(b)に示す変更命令5000、変更命令5100および変更命令17100を記録するようになった状態で、発火条件情報処理部3008の処理によって、変更命令5200を競合発見部3009が受信したときの競合発見部3009の処理の流れを具体的に説明する。
素材管理装置Aの競合発見部3009は発火条件情報処理部3008より変更命令5200を受信する(S21001)。
変更命令管理部3003の管理する変更命令管理表20000に記録されている変更命令から、変更命令5200と競合する可能性のある変更命令を抽出する(S21002)。変更命令管理表20000より「V(A)=2」「V(B)=1」「V(C)=0」となる。また、S21001で受信した変更命令5200の5206の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。したがって、「V(A)−W(A)=1」「V(B)−W(B)=0」「V(C)−W(C)=0」となるため、装置IDが「A」である素材管理表20000の列20001より通し番号の値が変更命令5000より大きい変更命令である変更命令17100を一つ抽出する。
S21001で受信した変更命令5200とS21002で抽出した変更命令17100が競合しているかどうかを確認する(S21003)。変更命令5200の5204の枡に記録されている処理対象「タイトル」と、変更命令17100の17104の枡に記録されている処理対象「撮影者名」は異なるため、競合していないと判断する。
S21003で競合していないと判断されたため、S21008へ進む(S21004)。
S21001で受信した変更命令5200を変更命令処理部3006へ送信する(S21008)。
処理を終了させる(S21009)。
(競合を解決する変更命令が存在する場合の処理の一例)
次に素材管理装置Aの変更命令管理部3003が図22(a)に示す変更命令管理表22000において、変更命令5000、変更命令5100、変更命令5200、変更命令17100および図22(b)に示す変更命令22000を記録している状態で、変更命令管理部3003において管理している変更命令管理表において変更命令を全く管理していない素材管理装置Cとオンラインになり、素材管理装置Cの変更命令同期部3007が素材管理装置Aから変更命令5000、変更命令5100、変更命令5200、変更命令17100および変更命令22000を取得し、発火条件情報処理部3008へ送信した場合の処理を説明する。このとき素材管理装置Aのデータ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
既に説明した発火条件情報処理部3008の処理によって、まず初めに、変更命令5000が競合発見部3009に送信される。競合する変更命令を素材管理装置Cの変更命令管理部3003は記録していないため、変更命令は変更命令処理部3006へ渡され、変更命令管理表に記録され、変更命令管理表14000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表13000の状態になっている。
発火条件情報処理部3008の処理のフローチャートのS19002において、変更命令5100と変更命令17100が抽出される。S19005において今回は変更命令5100を選択し競合発見部3009へ送信したとする。なお、変更命令17100を選択した場合も、処理は大きく変わらない。競合する変更命令を素材管理装置Cの変更命令管理部3003の管理する変更命令管理表は記録していないため、変更命令は変更命令処理部3006へ渡され、変更命令管理表に記録され、変更命令管理表14100の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表4000の状態になっている。
発火条件情報処理部3008から変更命令17100が競合発見部3009へ送信される。このとき競合発見部3009の処理のフローチャートS21004において変更命令5100が競合していると判断される。
発火条件情報処理部3008が変更命令同期部3007より受信した変更命令の中に変更命令5100と変更命令17100の競合を解決する変更命令が無いかを確認する(S21005)。今回、発火条件情報処理部3008が保持している変更命令は変更命令5200および変更命令22100であり、変更命令5200の5206の枡に記録されている発火条件情報は「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。また、今回競合関係にある変更命令5100および変更命令17100の装置IDおよび通し番号はそれぞれ「装置ID=B、通し番号=1」と「装置ID=A、通し番号=2」となっている。従って装置IDがAのとき、通し番号nは2であり、「n≦W(A)」を満たさない。また、変更命令5200の5204の枡に記録されている処理対象は「タイトル」であり、変更命令5100および変更命令17100の処理対象「撮影者名」とは異なる。次に、変更命令22100の22106の枡に記録されている発火条件情報は「ID=A、count=2」「ID=B、count=2」「ID=C、count=0」より順にそれぞれ「W(A)=2」「W(B)=2」「W(C)=0」となる。したがって、全ての装置ID「i」において「n≦W(i)」が成り立つ。よって、競合を解決する変更命令として変更命令22100が存在すると判断する。
S21005において競合を解決する変更命令が存在することが確認できたため、S21008において変更命令17100を変更命令処理部3006へ送信し、競合発見部3009の処理を終了させる。
以上の素材管理装置Cでの処理をまとめ、それぞれの処理時点での変更命令管理表とインデックスデータ管理表の状態を説明する。
変更命令処理部3006によって、変更命令17100が変更命令管理表へ記録され、変更命令管理表20000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23000の状態になっている。
発火条件情報処理部3008から変更命令17100が競合発見部3009へ送信される。競合発見部3009によって、競合が発見されず、変更命令処理部3006へ送信され、変更命令管理表へ記録され、変更命令管理表20100の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
最後に、発火条件情報処理部3008から変更命令22100が競合発見部3009へ送信される。競合発見部3009によって、競合が発見されず、変更命令処理部3006へ送信され、変更命令管理表へ記録され、変更命令管理表22000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
このように、素材管理装置Aにて生成された競合を解決する変更命令22100と発火条件情報を用いて素材管理装置Cにおいて処理を行うことによって、再度競合解決の処理を行うことなく、適切に変更命令の同期および変更命令のインデックスデータへの適用処理によってインデックスデータを同期することができた。
(2−8.競合解決部の動作例)
競合解決部3010は競合発見部3009より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部3003で管理するため、変更命令生成部3004へユーザの選択結果を変更情報として送信し、変更命令生成部3004で変更命令を生成し、変更命令処理部3006で処理することによって、データ管理部3002および変更命令管理部3003に反映させる。なお、今回はユーザに競合している変更命令に関する情報を提示し、選択してもらうことによって、競合を解決したが、この解決方法は本発明の主眼ではなく、何らかのルールに従って自動的に処理するなど様々な方法が考えられる。本発明の主眼は、これらのユーザの選択や何らかのルールによって解決された結果を適切に管理し、他の素材管理装置がこれら競合していた変更命令を受信した際も、再度同じ競合解決の処理を行う必要がないように、解決結果を適切に伝達させていくことである。
競合解決部3010の処理の流れを図24のフローチャートを用いて説明する。
競合発見部3009より競合している変更命令を受信する(S24001)。このとき競合関係にある二つ以上の変更命令を同時に受信する。
発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しないかを確認する(S24002)。未処理の変更命令が存在する間は、S24001の競合する変更命令の受信と蓄積処理を行う。発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しなくなった場合、S24003へ進む。
S24001において蓄積した競合した変更命令に未処理の変更命令が存在するかを判断する(S24003)。未処理の変更命令が存在する場合はS24004へ進み、存在しない場合は、S24008へ進む。
未処理であるS24001で蓄積した競合関係にある二つ以上の変更命令を一組選択する(S24004)。
S24004において選択した二つ以上の競合関係にある変更命令をユーザに提示し、選択した結果の入力を受ける(S24005)。
S24005の入力により、選択された変更命令より、変更情報を生成する(S24006)。
S24006で生成した変更情報を変更命令生成部3004へ送信する(S24007)。
S24003において未処理の競合関係にある変更命令が存在しないと判断された場合、処理を終了する(S24008)。
以上の処理によって、競合を解決する命令が変更命令生成部3004で生成され、変更命令処理部3006によって、データ管理部3002および変更命令管理部3003へ反映される。
次に、競合解決部3010が競合発見部3009より図5の(b)に示す変更命令5100と図17の(b)に示す変更命令17100を競合する命令として受信した場合の、競合解決部3010の処理の流れを具体的に説明する。
競合発見部3009より競合している変更命令5100と変更命令17100を受信する(S24001)。
発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しないことを確認する(S24002)。今回、競合発見部3009の処理が完了するまでに競合解決部3010が受信した、競合関係にある変更命令は変更命令5100および変更命令17100のみであったとする。
競合関係にある変更命令5100および変更命令17100が未処理であるため、S24004へ進む(S24003)。
未処理の競合関係にある未処理の変更命令として、変更命令5100および変更命令17100の組を選択する(S24004)。
変更命令5100および変更命令17100の情報をユーザに提示し、入力を受けることによって競合を解決する(S24005)。具体的には、変更命令5100の5104の枡と5105の枡に記録されている「撮影者名」「山田」という情報と、変更命令17100の17104の枡と17105の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。
S24005によって選択された情報を元に変更情報を生成する(S24006)。S24005におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図25の変更情報25000に示す。25003にユーザによって選択された「佐藤」という情報内容が、25002の枡に競合していた処理対象である「撮影者名」という情報が、25001の枡に処理内容を示す「更新」が記録されている。
S24006で生成された変更情報25000を変更命令生成部3004へ送信する(S24007)。
S24003において、競合関係にある未処理の変更命令が存在しないと判断し、S24008へ進む。
処理を終了させる(S24008)。
変更命令生成部3004へ送信された変更情報25000は、変更命令生成部3004の処理によって、競合を解決する変更命令である図22(b)に示す変更命令22100が生成され、変更命令処理部3006の処理によって、変更命令管理部3003の保持する変更命令管理表は図20(b)に示す変更命令管理表20100の状態から図22(a)に示す変更命令管理表22000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
(実施の形態2)
本実施の形態において、実施の形態1の競合解決部について別の例を開示する。競合解決部以外は実施の形態1と同様であるため、説明は省略する。
(競合解決部の動作例)
競合解決部3010は競合発見部3009より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部3003で管理するため、変更命令生成部3004へユーザの選択結果を変更情報として送信し、変更命令生成部3004で変更命令を生成し、変更命令処理部3006で処理することによって、データ管理部3002および変更命令管理部3003に反映させる。
競合解決部3010の処理の流れは図24のフローチャートで示したとおりであり、実施の形態1で説明したものと同様であるため、説明を省略する。
次に、競合解決部3010が競合発見部3009より図5(b)に示す変更命令5100と図17の(b)に示す変更命令17100を競合する命令として受信した場合の、競合解決部3010の処理の流れを具体的に説明する。
競合発見部3009より競合している変更命令5100と変更命令17100を受信する(S24001)。
発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しないことを確認する(S24002)。今回、競合発見部3009の処理が完了するまでに競合解決部3010が受信した、競合関係にある変更命令は変更命令5100および変更命令17100のみであったとする。
競合関係にある変更命令5100および変更命令17100が未処理であるため、S24004へ進む(S24003)。
未処理の競合関係にある未処理の変更命令として、変更命令5100および変更命令17100の組を選択する(S24004)。
変更命令5100および変更命令17100の情報をユーザに提示し、入力を受けることによって競合を解決する(S24005)。具体的には、変更命令5100の5104の枡と5105の枡に記録されている「撮影者名」「山田」という情報と、変更命令17100の17104の枡と17105の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。
S24005によって選択された情報を元に変更情報を生成する(S24006)。S24005におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図26の変更情報26000に示す。26003にユーザによって選択された「佐藤」という情報内容が、26002の枡に競合していた処理対象である「撮影者名」という情報が、26001の枡に処理内容を示す「更新」が、26004の枡に競合を解決した情報であるということを表す情報が記録されている。本実施の形態では競合を解決した情報であるということを変更情報に「競合解決」という枡を設け、そこに「YES」と、競合を解決した情報では無い場合を「NO」記録することによって表現したが、この方法に限定されるものではなく、2値のフラグを用いてその一方を競合を解決したことを表し、もう一方競合を解決した情報ではないということを表すようにしてもよい。
S24006で生成された変更情報26000を変更命令生成部3004へ送信する(S24007)。
S24003において、競合関係にある未処理の変更命令が存在しないと判断し、S24008へ進む。
処理を終了させる(S24008)。
変更命令生成部3004へ送信された変更情報26000は、変更命令生成部3004の処理によって、競合を解決する変更命令が生成され、変更命令処理部3006の処理によって、変更命令管理部3003の保持する変更命令管理表が更新される。また、データ管理部3002の管理するインデックスデータ管理表も更新される。変更命令生成部3004の処理によって生成された変更命令の一例を図27に示す。
ここで付与した競合を解決する変更命令であるという情報は、別の処理を行う際に、競合を解決する変更命令だけを抽出する場合に等に利用することができる。
ここで、図24のS24005においてユーザが競合関係にある変更命令を選択する際の画面例を図28に示す。
28001の枠は今回の競合解決画面が対象としているインデックスデータを表している。図28の場合は対象としているインデックスデータが「タイトル」であることを表している。
28002の枠は競合の解決を行うための枠である。競合の解決方法には、競合している情報のどちらかを選択するか、今回は競合を解決せず、保留とするか、競合している情報とは別の情報を入力し、競合を解決する手段が提供されている。図28の28003および28004は今回競合している情報がボタン状になって表示されており、それらを押下することによって、選択状態にする。今回は「交通事故」という情報と「衝突事故」という情報が競合しており、どちらかを選択する事ができる。また、競合を解決せず、保留状態とする場合は28005の保留のボタンを押下する。28006の枠は直接何らかの情報を入力することによって競合を解決する場合に、情報を入力する枠である。競合を解決するボタン28003および28004と、競合解決を保留するボタン28005、直接入力を行う28006の枠はそれぞれ排他的に選択でき、28003および28004および28005のボタンのいずれかしか選択できず、いずれかのボタンを選択している場合は、28006の枠には入力できない。また、28006の枠に入力している場合は、28003および28004および28005のいずれのボタンも選択できない。
28007の枠は28001の枠に書かれている対象インデックスデータの変更履歴を表示している。28007の枠内の途中で分岐し、その後矢印が合流している箇所は情報が競合を起こし、解決されたことを表している。具体的に図28の場合で説明すると、「事故」を「人身事故」と「車の事故」と書き換えた結果が競合として発見され、「車の事故」という情報を選択することによって競合が解決されたことを表している。その後「車の事故」から「単独事故」に情報が変更されたことを表している。これらの変更履歴は変更情報より生成することができる。この変更履歴を参考とすることによって、利用者が競合解決の判断を行う際に判断を行いやすくすることができる。
28002の枠でボタン選択、または入力を行った結果を、28008のボタンを押下することによって確定させる。
なお、競合を解決せずに保留した場合、図24のS24006およびS24007の処理が飛ばされ、S24005からS24003に戻ることになる。
また、競合の解決はオフライン状態の時に行うことも可能である。この場合、オンラインになった際に変更命令を送受信することによって同期を行い、ユーザによる選択か、またはあらかじめ設定した情報に従って、いったん発見された競合の解決を保留とする。その後、オフライン状態で競合発見処理を行い、発見された競合している変更命令に対して解決処理を行うことが可能となる。
(実施の形態3)
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで、素材としてMPEG−2形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名、動画像に対して行った操作を考える。動画像に対して行った操作とは、動画像の削除や編集などが考えられる。削除や編集の記述方法は本発明の主眼ではないため、詳細に言及しない。編集機などで用いられるプレイリストやEDL(Edit Decision List)などが利用可能である。本発明では削除の操作をインデックスデータとして同期する場合を説明する。
なお、素材としてはMPEG-2形式の動画に限定されるものではなく、DV形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名および素材に対して行った操作に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地(素材が管理されている装置および装置内の管理場所を識別する情報)等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。
(1.全体構成)
図29に本実施の形態における素材管理装置の全体構成を示す。素材管理装置29000は素材操作部29001と素材管理部29002とインデックスデータ制御部29003とインデックスデータ処理部29004で構成される。素材操作部29001は素材管理部29002へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部29003へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部29001からインデックスデータ制御部29003へ変更内容が通知される。素材管理部29002は素材操作部29001から受信した素材を管理する。インデックスデータ制御部29003は素材操作部29001から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。インデックスデータ処理部29004はインデックスデータ制御部29003によって同期されたインデックスデータに素材に対する「操作」の情報が記録されている場合に、その情報に基づいて素材管理部29002に保持されている素材に対して「操作」の内容に記載されている処理を行う。図30に示したインデックスデータ管理表30000の「<操作>」と「</操作>」で囲まれた箇所に記載されている「削除」が操作である。この操作の情報が自装置の素材操作部29001によってインデックスデータ制御部29003へ通知された情報である場合、インデックスデータ処理部29004は素材管理部への処理を行わないが、他の装置から同期された情報である場合、インデックスデータ処理部29004は素材管理部29002へ操作に記載された処理を行う。図30のインデックスデータ管理表に保持されている操作である「削除」の場合、素材管理部29002に保持されている該当の素材を削除する処理をインデックスデータ処理部29004は行う。
データ同期の処理主体となる構成要素であるインデックスデータ制御部は実施の形態1または実施の形態2と同じであるため、詳細な説明を省略する。
(その他の実施例)
本実施例では素材に関する情報であるインデックスデータを同期させたが、素材自体を本方式を用いて同期させても良い。素材としては、動画、静止画、音声、テキスト情報などが考えられる。
また、本実施例で説明した番組制作目的での素材管理だけではなく、ホームネットワークにおいて、各機器が記録し管理しているコンテンツの情報を本方式を用いて同期させ、またはコンテンツ自身を本発明を用いて同期させてもよい。ポータブル機器など頻繁にホームネットワークからオフラインになる機器が存在する状況において、ホームネットワークにおけるコンテンツのインデックスやコンテンツ自身の同期を行うことによって、ユーザはどの機器にどのコンテンツが管理されているのかということを意識することなく、ポータブル機器を家に持ち帰り、ホームネットワークに接続すると、ホームネットワークに接続される機器に管理されているコンテンツが利用可能になる。また、ホームネットワークにつながる機器から、ポータブル機器がオフライン中にポータブル機器に新規に登録されたコンテンツも利用可能になる。
また、発火条件情報として今回は変更命令管理部に管理されている変更命令管理表に記録されている変更命令の数を、変更命令を発行した装置毎に数えたものを用いたが、変更命令を一意に識別できる識別子を付与し、変更命令管理表に記録されている変更命令全ての識別子を一覧にしたものを発火条件情報として利用することもできる。このとき、発火条件情報処理部では、発火条件情報として記録されている識別子の数を数えることによって、実施の形態1と同様の処理を行うことができる。競合発見部においても同様である。
また、素材としてテキスト情報を考えた場合、複数の人が協力して同一のWebページを作成する場合に、それぞれの人が作成したWebページ間で記述内容に競合が発生していないかを検出し、競合が検出できた場合にはそれを解決する機会を提供することが可能になる。
実施の形態1では先に変更命令取得要求を出した側の装置で競合の解決を行っているがが、あらかじめ装置間で優先順位を決めておき、優先順位の高いものと低いものが同期処理を行う場合は、先にお互いの優先順位を送信し合い、優先順位の高い装置側から変更命令取得要求を出すことによって、競合の解決を優先順位の高い装置に行わせることもできる。また、優先順位が低い装置から変更命令取得要求を行った場合は、競合の解決を保留させ、優先順位の高い装置で競合の解決を行わせることもできる。
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2005年10月4日出願の日本特許出願(特願2005-291521)に基づくものであり、その内容はここに参照として取り込まれる。
本発明は、番組制作を行うために撮影および編集された映像素材を管理する素材管理装置のみならず、オーディオプレーヤーやDVDレコーダー、ポータブルオーディオプレーヤーやポータブルビデオプレーヤ、オーディオやビデオを再生できる携帯電話など、コンテンツを蓄積し、再生する様々な機器において、ホームネットワークなどのネットワークにおいてそれらの機器を接続し、他の機器の管理しているコンテンツの情報を取得し、利用するコンテンツを取得したり、コンテンツを機器間で同期しておくという利用形態に適用可能である。
本発明は、複数のデータ管理装置間のデータ同期技術に関し、特に任意のデータ管理装置が他のデータ管理装置とはオフライン(通信不可)状態で行ったデータ操作(新規データの追加、データの更新、データの削除)によるデータの変化を、オンライン(通信可)状態になった際に、オンラインのデータ管理装置へ反映・同期させる技術に関する。
近年、テレビ番組の制作において、半導体メモリカードや光ディスクにファイル形式で記録を行うカメラレコーダやファイル形式で映像編集を行えるノンリニア編集機の利用によって、撮影から編集までの番組制作工程全体を通して、テープによる制作からファイル形式による番組制作に変わりつつある。それに伴い、ファイル形式の番組素材を管理する素材管理システムが必要となってきた。
番組制作は企画、撮影、編集など複数の作業工程から成り立っており、また、それぞれの作業場所も異なる。例えば撮影工程においては番組の内容や、撮影対象に応じて毎回異なる場所で撮影を行うことが通例である。さらに編集工程においては、粗編集、本編集、CG編集、アフレコなど様々な作業の組み合わせでできており、作業ごとに、放送局内の編集室、外部の制作プロダクションなど、場所や設備を変えて作業を行う。つまり、撮影工程においては、放送局内のスタジオや放送局外の様々な場所で映像素材が生成され、編集工程においても、放送局内の編集室や音響室、外部の制作プロダクションなど様々な場所で映像素材が生成される。以上のように番組制作の作業工程を鑑みるに、素材管理システムにおいては、放送局内に設置し全ての素材を一元的に管理する方法では、素材管理方法として番組制作には即さないと考える。
従って、本発明では素材管理システムとして分散型素材管理システムを考える。分散型素材管理システムでは撮影、編集など制作工程や作業者ごとに撮影用、粗編集用、本編集用、CG編集用といった素材管理装置を用意し、各工程で生成された素材を素材管理装置ごとに管理する運用を想定する。そして、各装置間をネットワーク接続し、各々の工程に必要な素材の存在や所在の確認・検索及び実際の素材の送受信を素材管理装置間で直接行う。このような分散型素材管理システムでは、素材管理装置間で素材の存在・所在を確認・検索を行うため、オンライン時に素材のタイトルや所在地(素材が管理されている装置および装置内の管理場所を識別する情報)など、素材に関する付加情報(インデックスデータ)を、素材管理装置間で同期させる必要がある。
データの同期を行う従来技術として、例えば特開平11−272533号公報にはリレーショナルデータベースにおいて、マスタ機と孤立して更新されるレプリカ機のデータをマスタデータと矛盾なく同期させるため、前回の同期完了時刻とレコードごとの最終更新時刻を管理し、同期処理時には、前回同期時刻より新しい最終更新時刻を持つレコードを送受信する方法が開示されている。
また、特開2001−43119号公報および特開2005−18506号公報では、コマンドやジャーナルと呼ばれるデータの変更情報を第1の装置で蓄積しておき、第2の装置へその変更情報を送信し、処理させることによって、第1の装置のデータに、第2の装置のデータを同期する技術が開示されている。
特開平11−272533号公報 特開2001−43119号公報 特開2005−18506号公報
番組制作において、素材管理装置は撮影現場、編集現場などに持ち運ばれ、オフラインの状態であるときに、次々と新しい素材が登録され、それに伴って、インデックスデータも変更されるのが通常である。例えば、ある素材管理装置が撮影に持ち出され、ロケ先であるためオフライン状態である間に、撮影によって作成された新規の素材がその素材管理装置に登録される場合を考える。この素材管理装置を放送局に持ち帰って放送局内の素材管理装置とオンラインになった際に、オフライン中に更新したインデックスデータが伝達され、撮影現場に持ち運ばれた素材管理装置と放送局内の素材管理装置のインデックスデータが同期されることになる。しかしながら、現実の番組制作の運用はより複雑であり、ロケ中に撮影現場の素材管理装置のインデックスデータが更新されるのと並行して、放送局内においては編集された素材の登録などによって、放送局内の素材管理装置のインデックスデータが変更される。つまり、同期を取らなければならない複数の装置双方でインデックスデータが同時に変更(新規追加、更新、削除)される可能性がある。
また、撮影現場に複数の撮影用素材管理装置を持ち運んで撮影用素材管理装置同士をオンラインにして、インデックスデータを同期する場合や、放送局内で撮影用素材管理装置と編集用素材管理装置でインデックスデータを同期する場合など、同期を行う相手装置も様々である。そして、撮影用の素材管理装置は他の撮影用の素材管理装置とはオンラインになりインデックスデータの同期を行うが、放送局には帰らず、放送局内の編集用の素材管理装置とはインデックスデータの同期を行わないという場合も存在する。
このように、素材管理装置が任意に他の素材管理装置とオフラインとオンラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更が行われ、同期を行う相手の装置も状況に応じて異なり、運用状況によってはお互い直接同期処理を行う機会が存在しない素材管理装置間の関係が存在しうる状況において、複数の素材管理装置間でインデックスデータを同期することができなければならない。
以上に述べた状況においてデータの同期を行う際の課題について、例を用いて以下に説明する。
例えば、ある素材管理装置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を管理するという状態になることである。
このようなデータ同期に特許文献1に記載の技術を適用する事を考える。今回対象としているデータは特許文献1で同期対象としているリレーショナルデータベースのレコードとは異なり、データが削除された場合、データと共に管理している最終更新時刻も削除される。従って、上記の例の同期処理を行う際に、素材管理装置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において登録された素材に関するインデックスデータを取得する場合も存在する。このように直接通信を行わない装置間でも、他の装置を媒介として変更内容を伝達しあうことが必要となる。
しかし、特許文献2に開示されている技術では、データへの変更内容を記録したコマンドは、データを変更した装置でのみ管理されているため、他の装置を媒介として伝達することはできない。また、特許文献3に開示されている技術では、データへの変更内容を記録したジャーナルは予め定められた正記憶システムから副記憶システムへ伝達されるのみで、任意の装置間、例えば上記の素材管理装置Aから素材管理装置B、素材管理装置Bから素材管理装置Cで送受信できるものではない。
さらに、特許文献2や特許文献3に開示されているコマンドやジャーナルと呼ばれているデータの変更情報を他の端末へ伝達し、他の端末でその変更情報を処理することによってデータの変更内容を伝達する仕組みを、今回のデータ同期へ適用する場合を考える。例えば、撮影現場において素材管理装置Aに素材Xが新規登録された場合、素材Xに関するインデックスデータを新規作成する変更情報が生成され、素材管理装置Aに蓄積される。放送局に戻ってきて素材管理装置Bとオンラインになったときに、素材管理装置Aに蓄積されている素材Xに関するインデックスデータを新規作成する変更情報を素材管理装置Bへ伝達し、素材管理装置Bで変更情報を処理することによって、素材Xに関するインデックスデータを素材管理装置Aから素材管理装置Bへ伝達したことになる。素材管理装置Aと素材管理装置Bがオフラインになった後、素材管理装置Bにおいて素材Xのインデックスデータを修正した場合、その修正に基づく変更情報が生成される。このように素材管理装置Aで生成されたインデックスデータを新規作成する変更情報と、素材管理装置Bで生成されたインデックスデータを修正する変更情報の両方を素材管理装置Cが受け取った場合、新規作成の変更情報を処理してから修正の変更情報を処理する必要がある。仮に、新規作成の変更情報より先に修正の変更情報を処理しようとした場合、新規作成されていない、つまり、存在していないインデックスデータを修正するという処理を実行しようとすることになり、適切に処理が行えないという課題がある。つまり、複数の装置でデータの変更を許容し、変更情報が生成される場合、その変更情報をデータへ反映させる処理順序が重要である。
しかし、特許文献2や特許文献3に開示されている技術では、コマンドやジャーナルと呼ばれている変更情報を生成するのは一つの装置のみであるため、その装置において、変更情報を生成した際に通し番号を付与するといった方法で、変更情報の処理順序を守ることができている。しかし、今回のように複数の装置で同じデータに対して変更などの操作を行える場合、各装置が各々別の番号体系により変更情報に対して通し番号を付与し、異なる装置で生成された複数の変更情報を受け取った場合に、付与されている通し番号からでは変更情報の処理順序を守ることができない。
また、以下の運用も考えられる。素材管理装置Aと素材管理装置Bが素材Xに関するインデックスデータを管理している状態で、素材管理装置Aは別のロケのため再度素材管理装置Bとオフライン状態になり、ロケ先で新規素材群が登録されると共に、例えば、タイトルが間違えていた等の理由により素材Xのインデックスデータの一部であるタイトル情報の更新もなされる。一方、放送局内の編集用素材管理装置Bにおいても同様に素材Xのタイトルの誤りによって素材Xのタイトル情報の更新がなされると共に、素材Xのインデックスデータを他の素材管理装置Cと同期する。この状態で素材管理装置AとBが再びオンラインになると、素材Xのタイトル情報が素材管理装置Aで編集結果か、素材管理装置Bの編集結果のどちらか一方に上書きされてしまう。しかし、本来は、タイトル情報がオフライン中に素材管理装置Aおよび素材管理装置Bの両方の装置で更新が行われたというデータ更新の競合を発見し、どちらの編集結果を採用するのかの選択を促す必要がある。
さらに、素材管理装置AとBがオンラインの時に、他の素材管理装置Cが外部の編集室へ持ち運ばれた等の理由によりオフラインであった場合、素材管理装置AとCがオンラインになった際に、素材Xのタイトル情報に関する競合が再度発生する。ここで、データ更新の競合を発見しどちらの編集結果が正しいのかを促した場合、その判断は作業者にとっては二度手間であり、またAとBが競合した時とは異なる作業者がAとBの競合発見時に採用したものとは異なる編集結果をAとC間の競合発見時に採用しかねない。この場合再度データの競合が発生することになる。
特許文献2に記載の技術は、一つの装置で変更された内容をコマンドとして他の装置へ確実に伝達し、データへ反映させるためのもので、二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データの変更内容に競合が起きコマンド同士が競合した場合に関する記載はなく、コマンド同士の競合の発見方法やそれを解決した結果を他の装置へ伝達する方法に関しては開示されていない。特許文献3に記載の技術は、一つのシステムでのデータの変更内容をジャーナルと呼ばれる変更内容を記述した情報を用いて、他のシステムへ伝達し、他のシステムでジャーナルをデータへ反映させることによって、データをバックアップする仕組みが開示されており、特許文献2と同様に二つ以上の装置で同じデータを変更し、その情報を伝達しあうことは想定されていない。従って、データ変更の競合が発生し、競合したジャーナルが生成された場合に、そのジャーナルの競合を発見し、また、それを解決した結果を他の装置へ伝達することができない。
以上で述べたように、従来の技術では装置間の同期処理として自装置内のデータに対して削除処理を行うべきか、相手装置に対してデータを渡す処理を行うべきかを判断できない、他の装置を媒介としたデータの同期が行えない、同期処理で一度に複数の変更情報を受信した場合、変更情報の反映順序を守ることができない、オフライン状態の複数の装置において、それぞれの装置が同一のデータを更新したときに発生するデータ更新の競合を発見できない、データ更新の競合を解決した結果を他の装置へ伝達することができないという課題が存在する。
本発明はこのような点に鑑みてなされたものであり、複数の装置がオンラインとオフラインの状態を遷移し、オンラインとオフラインの状態に関係なくデータの変更を行い、同期処理を行う相手端末も状況に応じて異なり、直接同期処理を行う機会が存在しない装置が存在しうる状況において、複数の装置間でデータを同期する事を目的とする。
他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置は、情報を管理するデータ管理手段と、前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段とを有することを特徴とする。
本発明の一実施の形態において、前記変更命令生成手段は、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする。
本発明の一実施の形態において、前記情報処理装置は、前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする。
本発明の一実施の形態において、前記情報処理装置において、前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする。
任意のタイミングで他の素材管理装置とオンラインになり情報の送受信を行い、他の素材管理装置とオンラインの状態かオフラインの状態かに関わらず、管理している素材を変更を行う素材管理装置において、インデックスデータを同期させるため、インデックスデータに対する変更内容を変更命令として記録し、その変更命令を素材管理装置間で送受信する事によって、インデックスデータを同期させる。
この際に変更命令は他の素材管理装置を媒介として、直接通信を行っていない素材管理装置へ伝達することを可能とした。これによって直接通信を行っていない素材管理装置間においてもインデックスデータを同期することができる。そしてこのとき、同じ変更命令を重複して伝達することや、一つの素材管理装置において重複して管理することをなくす事ができる。これによって無駄な処理や情報を削減することができる。
また、変更命令を処理してインデックスデータを更新する際に、変更命令間の処理順序を守って変更命令を処理することができる。変更命令同士が競合している場合には、競合を発見し、解決した結果を他の素材管理装置へも伝達することができる。
以上によって、インデックスデータが同期され、どの素材管理装置においても、どの素材管理装置にどのような素材が管理されているのかを知ることが可能になり、番組制作を行う際に必要な素材を容易に取得することができる。また、新規に素材管理装置に登録された素材についても他の素材管理装置とオンラインになった際に自動的に情報が送信され、他の素材管理装置において新規の素材が登録されたことを知ることができる。これによって、自分の必要とする素材をいち早く容易に取得することが可能になる。よって、番組制作における無駄な作業を削減し、効率的に番組制作を行うことができる。
以下本発明の実施の形態について、図面を参照しながら説明する.
(実施の形態1)
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで素材としてDV形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名を考える。図1に示すように素材管理装置は撮影や編集や試写など様々な番組制作の工程において素材が登録され、また利用される。
なお、素材としてはDV形式の動画に限定されるものではなく、MPEG-2形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地(素材が管理されている装置および装置内の管理場所を識別する情報)等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。
(1.全体構成)
図2に本実施の形態における素材管理装置の全体構成を示す。素材管理装置2000は素材操作部2001と素材管理部2002とインデックスデータ制御部2003で構成される。素材操作部2001は素材管理部2002へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部2003へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部2001からインデックスデータ制御部2003へ変更内容が通知される。素材管理部2002は素材操作部2001から受信した素材を管理する。インデックスデータ制御部2003は素材操作部2001から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。
データ同期の処理主体となる構成要素であるインデックスデータ制御部を、これ以降で詳細に説明する。
(2.インデックスデータ制御部の詳細)
(2−1.インデックスデータ制御部の構成)
図3にインデックスデータ制御部2003の詳細構成を示す。
データ操作部3001は素材操作部2001から受信したインデックスデータ変更通知の情報から、インデックスデータの変更を行うため、変更命令生成部3004へインデックスデータの変更に関する情報を送信する。このとき送信する情報を「変更情報」と呼ぶこととする。この際の変更情報とは新規作成、更新、削除等の処理内容、タイトルや撮影者名などインデックスデータにおける処理対象、必要に応じて処理を行う際に必要な情報を含み、変更命令生成部3004へ一つずつ送信する。
データ管理部3002はインデックスデータを保持する。他の素材管理装置とオンラインになった際に、このデータ管理部3002に保持されるインデックスデータを同期させることが本発明の目的である。保持するインデックスデータは変更命令処理部3006から操作され、変更命令の内容に従ってインデックスデータの新規作成、既存インデックスデータの更新、削除が行われる。データ管理部3002に管理されているインデックスデータ管理表の一例を図4に示す。インデックスデータ管理表4000には「<タイトル>」と「</タイトル>」で挟まれた部分にタイトル情報である「事故」が記録されており、「<撮影者名>」と「</撮影者名>」で挟まれた部分に撮影者名の情報である「山田」が記録されている。撮影日時や番組名などその他のインデックスデータを記録する場合も同様である。
変更命令管理部3003は変更命令を保持する。変更命令とはインデックスデータの変更内容を命令化したものである。図5(a)および(b)および(c)に変更命令の一例を示す。変更命令5000の5001の枡には変更命令5000を生成した素材管理装置のIDが記録されている。今回は素材管理装置Aの装置IDを「A」とした。5002の枡には変更命令5000を生成した素材管理装置において付与される通し番号が記録されている。5003の枡にはインデックスデータに対する処理内容が記録されている。5004の枡にはインデックスデータの中の処理対象が記録されている。5005の枡には5003の枡に記録されている処理内容の必要に応じて、情報内容が記録されている。変更命令5200の5205の枡は、5203の枡に記録されている処理内容が「削除」であり処理の際には特に情報を必要としないため、空欄になっている。5006の枡には発火条件情報が記録されている。発火条件情報の詳細は後述する。以上の情報より、変更命令5000は素材管理装置Aにおいて1番目に生成された、インデックスデータのタイトル情報を「事故」として新規作成するという変更命令であるという事が分かる。同様に変更命令5100は装置IDが「B」である素材管理装置で1番目に生成された、インデックスデータの撮影者名情報を山田として新規作成するという変更命令であり、変更命令5200は装置IDが「B」である素材管理装置で2番目に生成された、インデックスデータのタイトル情報を削除するという変更命令であることが分かる。
次に、変更命令管理部3003に管理されている変更命令管理表の一例を図6に示す。変更命令管理表6000は素材管理装置A、素材管理装置B、素材管理装置Cの3つの素材管理装置が存在する状況での、素材管理装置Bが管理する変更命令管理表を示したものである。行6004にはどの素材管理装置が生成した命令が管理されている列かが分かるように、各素材管理装置の装置IDが記載されている。行6005以降の行に実際の変更命令が管理されている。例えば、列6002には素材管理装置Bが生成した変更命令を生成した順番に行6005および行6006に管理している。同様に列6001、列6003にはそれぞれ素材管理装置A、素材管理装置Cが生成した変更命令を管理する。例えば、列6001の行6005の枡には、素材管理装置Aが1番目に生成した変更命令を管理する。実際にこの枡に管理されている変更命令は図5(a)に示した変更命令5000であるが、簡略化して「変更命令5000」と表記している。同様に列6002の行6006の枡には、図5(c)に示した素材管理装置Bが2番目に生成した変更命令5200が管理されているが、「変更命令5200」と簡略表記している。列6002の行6005の枡についても、図5(b)に示した変更命令5100が管理されているが、同様に「変更命令5100」と簡略表記している。また、変更命令管理表6000の空白になっている枡は、変更命令を管理していないということを表す。管理する変更命令が増えた場合は、順次、変更命令管理表の行を増やして変更命令を管理する。変更命令に対して削除や変更は行わず、新規の変更命令を変更命令管理表へ追加していくのみである。
変更命令生成部3004はデータ操作部3001または競合解決部3010から受信した変更情報と、発火条件情報生成部3005へ問い合わせて取得した発火条件情報の二つの情報から変更命令を生成する。
発火条件情報生成部3005は変更命令生成部3004の依頼に基づき、変更命令管理部3003に管理されている変更命令管理表の情報から発火条件情報を生成する。生成した発火条件情報は変更命令生成部3004へ送信される。
変更命令処理部3006は変更命令生成部3004、競合発見部3009から受信した変更命令に基づいてデータ管理部3002の保持するインデックスデータ管理表に対して、新規作成、更新、削除の操作を行うと共に、変更命令管理部3003に処理を行った変更命令を送信する。
変更命令同期部3007は他の素材管理装置とオンラインである時、変更命令管理部3003に管理されている変更命令を他の素材管理装置との間で送受信する。受信した変更命令は発火条件情報処理部3008へ送信する。
発火条件情報処理部3008は変更命令同期部3007から受信した変更命令に記録されている発火条件情報から変更命令の処理順序を決定し、決定した順序に従って一つずつ命令を競合発見部3009へ送信する。
競合発見部3009は発火条件情報処理部3008から受信した変更命令と競合する変更命令が変更命令管理部3003に管理されていないかを確認する。競合する変更命令とは、オフライン中に複数の素材管理装置それぞれで同じ項目を異なる値に変更した場合にそれぞれの素材管理装置で生成される変更命令が競合した変更命令である。競合している変更命令を発見した場合、発火条件情報処理部3008が変更命令同期部3007より受信した変更命令を取得し、取得した変更命令の中に、競合を解決する変更命令がないかを確認する。競合を解決する変更命令が存在しない場合、競合している発火条件情報処理部3008から受信した変更命令、および変更命令管理部3003に管理されていた変更命令を取得し、競合解決部3010へ送信する。また、発火条件情報処理部3008から受信した変更命令が競合していなかった場合、競合していた場合のどちらの場合も変更命令処理部3006へ発火条件情報処理部3008から受信した変更命令を送信する。
競合解決部3010は競合発見部3009から受信した2つ以上の変更命令からデータ管理部3002へ反映させる変更命令を選択する。選択された変更命令から変更情報を作成し、変更命令生成部3004へ送信する。
(2−2.変更命令生成部の動作例)
変更命令生成部3004の動作の詳細を説明する。
変更命令生成部3004の動作の流れを図7に示したフローチャートを用いて説明する。
データ操作部3001または競合解決部3010から変更情報を受信し、その情報を変更命令に付与する(S7001)。
予め保持している素材管理装置の装置IDを変更命令に付与する(S7002)。
保持している通し番号に1を加え、変更命令に付与する。また、1を加えた通し番号は、次回の処理時に利用するため記録しておく(S7003)。
発火条件情報生成部3005へ依頼し、発火条件情報を取得し、取得した発火条件情報を変更命令に付与する(S7004)。
以上の処理で変更命令が生成できたので、生成した変更命令を変更命令処理部3006へ送信する(S7005)。
処理を終了する(S7006)。
次に、図8に示す変更情報8000を受信した場合の、変更命令生成部3004の処理を具体的に説明する。処理を行う素材管理装置は素材管理装置Aであり、装置IDは「A」とする。また、保持している通し番号は一度も処理を行われていない初期状態である「0」であるとする。
変更命令生成部3004はデータ操作部3001から変更情報8000を受信する(S7001)。
S7001で受信した変更情報8000に対して装置ID「A」を付与する(S7002)。
保持している通し番号「0」に1加えて「1」にし、S7001で受信した変更情報8000に対して付与する。また、通し番号「1」を次回処理のために保持する(S7003)。
発火条件情報生成部3005へ依頼し、発火条件情報を取得する。ここでは、例えば図9に示す発火条件情報9000が取得できたものとする。そして取得した発火条件情報9000を変更命令に付与する(S7004)。
以上で、図5(a)に示した変更命令5000が生成される。S7001で受信した変更情報8000の8001の枡、8002の枡、8003の枡に記録されていた情報が、それぞれ順に、変更命令5000の5003の枡、5004の枡、5005の枡に記録されている。S7002で付与した装置IDは変更命令5000の5001の枡に記録されている。S7003で付与した通し番号は変更命令5000の5002の枡に記録されている。S7004で付与した発火条件情報9000は変更命令5000の5006の枡に記録されている。変更命令生成部3004はこの変更命令5000を変更命令処理部3006へ送信し、処理を終了させる。
(2−3.発火条件情報生成部の動作例)
発火条件情報生成部3005では発火条件情報を変更命令生成部3004の依頼に基づいて生成する。本実施例では、発火条件情報として、変更命令管理部3003に管理されている変更命令の数を、変更命令を生成した素材管理装置毎に数えたものを用いる。なお、発火条件情報は今回用いた情報に限定されるものではなく、変更命令を一意に特定できる識別子を用いて、変更命令管理部3003に管理されている変更命令すべての識別子の一覧を生成し、この識別子一覧を発火条件情報とすることや、変更命令管理部3003に管理されている変更命令全てを一覧にして、この変更命令一覧を発火条件情報とするなど、変更命令管理部3003に管理されている命令を特定できる情報を発火条件情報とする事ができる。本実施例では、その中でも発火条件情報のデータ量が小さくなるものとして、変更命令管理部3003に管理されている変更命令の数を素材管理装置毎に数えたものを用いることにした。
発火条件情報生成部3005の動作の流れを図10に示したフローチャートを用いて説明する。
発火条件情報生成部3005は、変更命令生成部3004から発火条件情報を生成するようにとの依頼を受信する(S10001)。
変更命令管理部3003から変更命令管理表を取得する(S10002)。
S10002で取得した変更命令管理表に未処理の列が存在するかを判断する(S10003)。未処理の列が存在する場合は、S10004へ進み、未処理の列が存在しない場合は、S10008へ進む。変更命令管理表の各列が処理済みであるか、未処理であるかを判断する方法の一例として、処理済みフラグを用いる。処理済みフラグが付与されている列は処理済みであると判断する。
未処理の列を一列選択する(S10004)。
S10004で選択した列に記録されている装置IDを取得する(S10005)。
S10004で選択した列に記録されている変更命令の数を数える(S10006)。
S10005及びS10006で取得した装置ID及び変更命令の数を発火条件情報として記録する(S10007)。その後、処理を行っていた列に処理済みフラグを付与し、S10003に戻り、処理を繰り返す。
S10003で未処理の列が存在しないと判断された場合、生成済みの発火条件情報を変更命令生成部3003へ送信する(S10008)。
処理を終了させる(S10009)。
次に、一例として変更命令生成部3004から発火条件情報生成の依頼を受信し、変更命令管理部3003から図6に示す変更命令管理表6000を受信した場合の処理を具体的に説明する。
発火条件情報生成部3005は変更命令生成部3004から発火条件情報生成依頼を受信し(S10001)、変更命令管理部3003から図6に示す変更命令管理表6000を受信する(S10002)。
処理済みフラグが付与されていないため、列6001、列6002、列6003が未処理であるため、S10004へ進む(S10003)。
列6001を選択する(S10004)。
S10004で選択された列6001から素材管理装置の装置IDを取得する(S10005)。今回の場合、列6001の行6004に記録されている装置ID「A」を取得する。
S10004で選択された列6001に管理されている変更命令の数を数える(S10006)。列6001の行6005に一つだけ変更命令が管理されているため変更命令の数を数えた結果として「1」を取得する。
S10005で取得した装置ID「A」およびS10006で取得した変更命令の数「1」
を発火条件情報として記録する(S10007)。そして、列6001に処理済みフラグを付与し、S10003へ戻り処理を繰り返す。
列6002、列6003が未処理であるため、S10004へ進む(S10003)。
列6002を選択する(S10004)。
S10004で選択された列6002の行6004から装置ID「B」を取得する(S10005)。
S10004で選択された列6002に管理されている変更命令の数を数える(S10006)。列6002の行6005および行6006に変更命令が管理されているため、変更命令の数を数えた結果として「2」を取得する。
S10005で取得した装置ID「B」およびS10006で取得した変更命令の数「2」を発火条件情報として記録する(S10007)。この際、既に記録済みの発火条件情報へ追記する。そして、列6002に処理済みフラグを付与し、S10003へ戻り処理を繰り返す。
列6003が未処理であるため、S10004へ進む(S10003)。
以降、同様に処理を行い、装置ID「C」および変更命令の数「0」を取得し、発火条件情報に追記し、列6003に処理済みフラグを付与し、S10003に戻る。
S10003において未処理の列が存在しないため、S10008へ進む。
以上の処理で生成済みの発火条件情報を図11に示す。「ID=A」とは素材管理装置の装置IDが「A」であることを示し、「count=1」とは変更命令の数が「1」であったことを示す。従って、「ID=A、count=1」とは素材管理装置Aが生成した変更命令の数が「1」であるということを示す。同様に「ID=B、count=2」とは素材管理装置Bが生成した変更命令の数が「2」であり、「ID=C、count=0」とは素材管理装置Cが生成した変更命令の数が「0」であるということを示す。これらが記録された発火条件情報11000を変更命令生成部3004へ送信する(S10008)。
以上で処理を終了する(S10009)。
(2−4.変更命令処理部の動作例)
変更命令処理部3006の動作の流れを図12に示したフローチャートを用いて説明する。
変更命令処理部3006は、変更命令生成部3004または競合発見部3009から変更命令を受信する(S12001)。
S12001において受信した変更命令に記録されている処理をデータ管理部3002に管理されているインデックスデータ管理表に対して行う(S12002)。
変更命令を変更命令管理部3003が管理している変更命令管理表に記録する(S12003)。
処理を終了する(S12004)。
次にデータ管理部3002が図13(a)に示すインデックスデータ管理表13000を管理し、変更命令管理部3003が図14(a)に示す変更命令管理表14000を管理している状態で、変更命令処理部3006が図5(b)に示す変更命令5100を受信した場合の変更命令処理部3006の処理を具体的に説明する。
変更命令処理部3006は、S12001において変更命令5100を受信する。
S12002において、データ管理部3002が管理するインデックスデータ管理表13000に対して、変更命令5100の5103の枡、5104の枡、5105の枡に記載されている情報から、「撮影者名」という項目を情報の内容を「山田」として「新規作成」する。この処理によって、データ管理部3002に管理されているインデックスデータ管理表13000は、図4に示すインデックスデータ管理表4000の状態になる。
S12003において、変更命令管理部3003の管理する変更命令管理表14000に対して、変更命令5100を記録する。記録を行った結果、変更命令管理表14000は図14(b)に示す変更命令管理表14100の状態になる。列14102の行14105に変更命令5100が管理されている。表記の都合上「変更命令5100」と簡略して表記している。
以上で処理を終了する(S12004)。
次にデータ管理部3002が図4に示すインデックスデータ管理表4000を管理し、変更命令管理部3003が図14(b)に示す変更命令管理表14100を管理している状態で、変更命令処理部3006が図5(c)に示す変更命令5200を受信した場合の変更命令処理部3006の処理を具体的に説明する。
変更命令処理部3006は、S12001において変更命令5200を受信する。
S12002において、データ管理部3002が管理するインデックスデータ管理表4000に対して、変更命令5200の5203の枡、5204の枡に記載されている情報から、「タイトル」という項目の情報を「削除」する。この処理によって、データ管理部3002に管理されているインデックスデータ管理表4000は、図13(b)に示すインデックスデータ管理表13100の状態になる。
S12003において、変更命令管理部3003の管理する変更命令管理表14100に対して、変更命令5200を記録する。記録を行った結果、変更命令管理表14100は図6に示す変更命令管理表6000の状態になる。列6002の行6006に変更命令5200が管理されている。表記の都合上「変更命令5200」と簡略して表記している。
以上で処理を終了する(S12004)。
(2−5.変更命令同期部の動作例)
変更命令同期部3007は他の素材管理装置からの要求に応じて、変更命令を要求先の素材管理装置へ送信する機能と、他の素材管理装置から自装置の変更命令管理部で管理していない変更命令を取得する機能とを有する。これらの機能を用いて、他の素材管理装置とオンラインになっている際に、各素材管理装置において自装置で管理していない変更命令を取得しあうことによって変更命令管理部3003の管理する変更命令管理表に記録されている変更命令を同期する。
説明を行う便宜上、図15及び図16のフローチャートの説明、及びそれに伴う処理の具体説明においては、変更命令取得の要求を行う素材管理装置を素材管理装置A、要求に従って、変更命令を送信する素材管理装置を素材管理装置Bとする。今回は説明の便宜上、このようにしたが、素材管理装置A、素材管理装置B共に変更命令を取得する機能および取得要求に応じて変更命令を送信する機能の両方を持っており、素材管理装置Aが変更命令を取得し、素材管理装置Bが変更命令を送信するという運用形態に限定されるものではない。
まず図15に示したフローチャートを用いて、変更命令を要求先の素材管理装置へ送信する際の処理の流れ、つまり、素材管理装置Bの処理を説明する。
素材管理装置Bは、ネットワークで接続された素材管理装置Aから変更命令取得要求を受信する(S15001)。変更命令取得要求とは変更命令の送受信処理を開始するに当たって、処理の開始を相手装置に伝えるメッセージである。
変更命令管理部3003に管理されている変更命令管理表に記録されている変更命令から、それらの変更命令を一意に特定できる変更命令IDを生成し、全ての変更命令の変更命令IDを一覧にして、変更命令取得要求を送信してきた素材管理装置Aへ送信する(S15002)。
素材管理装置Aから変更命令要求リストを受信する(S15003)。変更命令要求リストとは、素材管理装置Aが素材管理装置Bから取得したい変更命令の変更命令IDを一覧で記述したものである。
変更命令要求リストに記載されている変更命令を、変更命令管理部3003から取得し、素材管理装置Aへ送信する(S15004)。変更命令要求リストに変更命令IDが記載されていない場合は、処理を行わず、S15005へ進む。
処理を終了させる(S15005)。
次に図16のフローチャートを用いて、変更命令の取得を要求する素材管理装置の処理の流れ、つまり、素材管理装置Aの処理を説明する。
素材管理装置Aは、ネットワークで接続された素材管理装置Bへ変更命令取得要求を送信する(S16001)。
素材管理装置Bから変更命令IDの一覧を受信する(S16002)。
S16002で受信した変更命令IDの一覧と、変更命令管理部3003に管理されている変更命令管理表に記録されている変更命令を比較し、変更命令管理表に記録されていない変更命令を特定する(S16003)。変更命令管理表に記録されていないことが特定できた変更命令の変更命令IDを変更命令要求リストに記載する。
S16003で作成した変更命令要求リストを素材管理装置Bへ送信する(S16004)。
S16004において送信した変更命令要求リストに変更命令IDが記載されている場合は、S16006へ進み、変更命令IDが記載されていない場合はS16008へ進む(S16005)。
素材管理装置Bから変更命令を受信する(S16006)。
S16006で受信した変更命令を発火条件情報処理部3008へ送信する(S16007)。
処理を終了する(S16008)。
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において、図5(a)および図17(b)に示す変更命令5000および変更命令17100を管理し、素材管理装置Bの変更命令管理部3003が図6に示す変更命令管理表6000において、図5(a)(b)(c)に示す変更命令5000および変更命令5100及び変更命令5200を管理している場合に、図15及び図16に示したフローチャートの処理を行い、変更命令の同期処理を行った場合の処理を具体的に説明する。
変更命令を送信する側の素材管理装置Bの処理について説明する。
素材管理装置Aから変更命令取得要求を受信し(S15001)、変更命令管理部3003に管理している変更命令管理表6000に記録されている変更命令5000、変更命令5100、変更命令5200より変更命令IDを生成し、変更命令ID一覧を生成し、素材管理装置Aへ送信する(S15002)。変更命令IDとして、各変更命令に記録されている装置IDと通し番号を並べたものを用いる。例えば、変更命令5000の場合は装置ID「A」と通し番号「1」より変更命令IDを「A−1」とする。同様に変更命令5100および変更命令5200はそれぞれ変更命令IDを「B−1」、「B−2」とする。これらを一覧にして変更命令ID一覧を生成する。生成した変更命令ID一覧を図18(a)に示す。変更命令ID一覧18000の行18001、行18002、行18003に順に、「A−1」「B−1」「B−2」が記載されている。この変更命令ID一覧18000を素材管理装置Aへ送信する。なお、変更命令IDは今回用いたものに限定されるものではなく、変更命令を一意に特定することができる情報であればどのようなものでも良い。例えば、変更命令生成日時情報と装置IDを並べたものなども用いることができる。
素材管理装置Aより変更命令要求リストとして、図18(b)に示す変更命令要求リスト18100を受信する(S15003)。
変更命令要求リスト18100に記載されている変更命令IDの変更命令を変更命令管理部3003より取得し、素材管理装置Aへ送信する(S15004)。変更命令要求リスト18100の行18101に「B−1」、行18102に「B−2」と記載されている。従って、変更命令管理表6000に記録されている変更命令5100および変更命令5200を取得し、素材管理装置Aへ送信する。
処理を終了する(S15005)。
次に変更命令を取得する側の素材管理装置Aの処理について説明する。
変更命令取得要求を素材管理装置Bへ送信する(S16001)。
素材管理装置Bから変更命令ID一覧18000を受信する(S16002)。
素材管理装置Aの変更命令管理部に管理されている変更命令管理表17000に記録されている変更命令とS16002で受信した変更命令ID一覧18000を比較し、変更命令管理表17000に記録されていない変更命令IDを特定する(S16003)。変更命令管理表17000には変更命令ID「A−1」に該当する変更命令5000は記録されているが、変更命令ID「B−1」および「B−2」に該当する変更命令は記録されていない。従って、変更命令ID「B−1」および「B−2」を記載した変更命令要求リスト18100を生成する。
S16003で作成した変更命令要求リスト18100を素材管理装置Bへ送信する(S16004)。
変更命令要求リスト18100には変更命令ID「B−1」および「B−2」が記載されているため、S16006へ進む(S16005)。
素材管理装置Bから変更命令5100および変更命令5200を受信する(S16006)。
S16005で受信した変更命令5100及び変更命令5200を素材管理装置Aの発火条件情報処理部3008へ送信する(S16007)。
処理を終了する(S16008)。
詳細な処理内容は同様のため省略するが、以上で説明した処理とは逆に、素材管理装置Bが変更命令を取得し、素材管理装置Aが変更命令を送信する処理も行われる。この処理によって、素材管理装置Aの変更命令管理部3003に管理されている変更命令管理表17000に変更命令5000および変更命令17100が記録されており、今回の変更命令同期部3007の処理で変更命令5100および変更命令5200を取得したことになる。一方、素材管理装置Bの変更命令管理部に管理されている変更命令管理表6000に、変更命令5000および変更命令5100および変更命令5200が記録されており、今回の変更命令同期部3007の処理で変更命令17100を取得することになる。従って、素材管理装置Aおよび素材管理装置Bでは、変更命令管理部3003の管理している変更命令管理表に記録されている変更命令および今回の変更命令同期部3007の処理によって取得した変更命令をあわせると、同じだけの変更命令を素材管理装置内に保持していることになる。
なお、今回は変更命令ID一覧送受信し、必要な変更命令のみ変更命令要求リストで要求するという方法を用いたが、変更命令取得要求を受信した時点で、素材管理装置Bの変更命令管理部3003が管理している変更命令全てを素材管理装置Aへ送信し、素材管理装置Aにおいて必要な変更命令のみを取捨選択するという方法も考えられる。つまり、自装置の変更命令管理部3003において管理していない変更命令を取得しあうという処理が行うことができればよく、その処理の詳細を限定するものではない。
また、変更命令同期部3007は素材管理装置が他の素材管理装置とオンラインになった時、および、他の素材管理装置とオンラインである素材管理装置においては、変更命令管理部3003に管理されている変更命令管理表が変化した時に処理が行われる。
(2−6.発火条件情報処理部の動作例)
発火条件情報処理部3008は変更命令同期部3007から受信した変更命令について、変更命令ごとに保持している発火条件情報と変更命令管理部3003に管理されている変更命令管理表から、処理を行う順序を決定し、決定した順序に従って、競合発見部3009へ変更命令を送信する。
発火条件情報処理部3008の処理の流れを図19のフローチャートを用いて説明する。
発火条件情報処理部3008は、変更命令同期部3007から1つ以上の変更命令を受信する(S19001)。
S19001で受信した変更命令の保持する発火条件情報と、変更命令管理部3003が管理する変更命令管理表から、条件に適合する変更命令を抽出する(S19002)。このときの条件とは、以下の3つである。
(1)発火条件情報処理部3008から競合発見部3009へ未送信の変更命令。未送信かどうかは送信済みフラグを用いて判断し、送信済みフラグが付与されている変更命令は送信済みの変更命令、送信済みフラグの付与されていない変更命令は未送信の変更命令と判断する。
(2)装置IDをiとしたときに、変更命令管理部3003の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置IDごとにその値を「V(i)」とする。また、発火条件情報に記録されている「count」の値を装置IDごとに「W(i)」とする。このとき、全ての装置IDの場合において、つまり全ての「i」において、「V(i)≧W(i)」が成り立つ変更命令。
(3)上記(1)および(2)の条件を満たす変更命令のうち、変更命令の保持する発火条件情報に記録されている、各装置が発行した命令の合計が最小の変更命令。今回の場合、具体的には発火条件情報に記録されている「count」の値の合計が最小の変更命令。「count」の合計の値が最小のものが複数存在した場合はそれら全てを抽出する。
S19002において抽出された変更命令が一つも無い場合は、S19007へ進み、S19002において抽出された変更命令が一つ以上存在した場合はS19004へ進む(S19003)。
S19002において抽出された変更命令が一つの場合S19006へ進み、S19002において抽出された変更命令が二つ以上の場合S19005へ進む(S19004)。
S19002において抽出された変更命令から一つを選択する(S19005)。このときの選択方法は任意であり、先に抽出された変更命令を選択する等の方法でよい。
S19002において一つだけ抽出された変更命令、または、S19005で選択された変更命令を競合発見部3009へ送信する。送信後、変更命令に対して送信済みフラグを付与し、S19002へ戻る(S19006)。
競合発見部3009に送信した変更命令は、競合発見部3009やその他の変更命令処理部3006や場合によっては、競合解決部3010などの処理によって、変更命令管理部3003の変更命令管理表で管理されるようになる。このように変更命令管理表が更新された後、S19002の処理を継続して行う。
なお、本実施例では変更命令の競合が発生する場合を想定しているため、競合発見部3009へ変更命令を送信したが、運用などにより変更命令の競合が発生しないと保証されている場合や、競合を無視する場合などは、競合発見部3009へ変更命令を送信せず、変更命令処理部3006へ変更命令を送信しても良い。
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において図5(a)および図17(b)に示す変更命令5000および変更命令17100を管理している状態で、発火条件情報処理部3008が変更命令同期部3007から図5(b)および(c)に示す変更命令5100および変更命令5200を受信した時の素材管理装置Aの発火条件情報処理部3008の処理の流れを具体的に説明する。
発火条件情報処理部3008は、変更命令同期部3007から変更命令5100および変更命令5200を受信する(S19001)。
条件に従って、受信した変更命令の中から変更命令を抽出する(S19002)。
(1)変更命令5100および変更命令5200ともに競合発見部3009へは未送信である。
(2)変更命令管理部3003の管理している変更命令管理表17000に記録されている変更命令の数を装置ID毎に数えた値は素材IDがAである列17001に変更命令5000と変更命令17100の二つの変更命令が記録されており、その他の列17002および17003には変更命令が記録されていないため、「V(A)=2」「V(B)=0」「V(C)=0」となる。また、変更命令5100の5106の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=0」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=0」「W(C)=0」となる。従って、変更命令5100に関しては全ての装置IDにおいて「V(i)≧W(i)」(iは装置IDのAまたはBまたはCである)が成り立っており、条件を満たしている。また、変更命令5200の5206の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。従って、装置IDがBにおいて「V(B)<W(B)」となり条件を満たしていない。
(3)変更命令5100しか(1)および(2)の両方の条件を満たした変更命令が存在しない。よって、変更命令5100を抽出する。
変更命令5100が一つだけS19002において抽出されたため、S19004へ進む(S19003)。
変更命令5100が一つだけS19002において抽出されたため、S19006へ進む(S19004)。
変更命令5100を競合発見部3009へ送信する(S19006)。その後、変更命令5100に対して送信済みフラグを付与する。
競合発見部3009へ送信した変更命令5100は競合発見部3009や変更命令処理部3006の処理によって、変更命令管理部3003の変更命令管理表17000へ反映される。反映された結果、変更命令管理部3003に管理される変更命令管理表は変更命令管理表17000から図20(a)に示す変更命令管理表20000になる。
S19006において競合発見部3009へ送信した変更命令5100が変更命令管理表に記録されたのを確認後、S19002から処理を継続する。
(1)変更命令5200が競合発見部3009へは未送信である。
(2)変更命令管理部3003の管理している変更命令管理表20000に記録されている変更命令の数を装置ID毎に数えた値は装置IDがAである列20001に変更命令5000と変更命令17100の二つの変更命令が記録されており、装置IDがBである列20002に変更命令5100が記録されており、装置IDがCである列20003には変更命令が記録されていない。従って、「V(A)=2」「V(B)=1」「V(C)=0」となる。また、変更命令5200の5206の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。従って、変更命令5200に関しては全ての装置IDにおいて「V(i)≧W(i)」(iは装置IDのAまたはBまたはCである)が成り立っており、条件を満たしている。
(3)変更命令5200しか(1)および(2)の両方の条件を満たした変更命令が存在しない。よって、変更命令5200を抽出する。
変更命令5200が一つだけS19002において抽出されたため、S19004へ進む(S19003)。
変更命令5200が一つだけS19002において抽出されたため、S19006へ進む(S19004)。
変更命令5200を競合発見部3009へ送信する(S19006)。その後、変更命令5200に対して送信済みフラグを付与する。
競合発見部3009へ送信した変更命令5200は競合発見部3009や競合解決部3010、変更命令処理部3006の処理によって、変更命令管理部3003の変更命令管理表20000へ反映される。反映された結果、変更命令管理部3003に管理される変更命令管理表は変更命令管理表20000から図20(b)に示す変更命令管理表20100になる。
S19006において競合発見部3009へ送信した変更命令5200が変更命令管理表に記録されたのを確認後、S19002から処理を継続する。
(1)競合発見部3009へ未送信である変更命令が存在しない。
従って、変更命令を抽出せず、S19003へ進む。
S19002において、変更命令が抽出されていないため、抽出された変更命令の数を「0」と判断し、S19007へ進む(S19003)。
処理を終了させる(S19007)。
以上の処理によって、変更命令の処理順序を守って処理を行うことが可能になる。
以上、素材管理装置Aに着目して説明を行ったが素材管理装置Bにおいても、素材管理装置Aから受信した変更命令に対して同様の処理が行われる。
(2−7.競合発見部の動作例)
競合発見部3009は発火条件情報処理部3008から受信した変更命令と、変更命令管理部3003が管理する変更命令管理表に記録されている変更命令との間で、競合が発生している場合、その競合する変更命令を変更命令管理表の中から発見し、競合解決部3010へ送信する。競合発見部3009の処理の流れを図21に示すフローチャートを用いて説明する。
競合発見部3009は、発火条件情報処理部3008より変更命令を受信する(S21001)。
S21001において受信した変更命令に記録されている発火条件情報を用いて、変更命令管理部3003に管理されている変更命令管理表に記録されている変更命令の中から、競合確認が必要な変更命令を抽出する(S21002)。競合確認が必要な変更命令の抽出方法は具体的には以下の通りである。まず、装置IDをiとしたときに、変更命令管理部3003の管理している変更命令管理表に記録されている変更命令の数を、その変更命令を発行した素材管理装置毎に数え、装置IDごとにその値を「V(i)」とする。また、S21001において受信した変更命令の保持している発火条件情報に記録されている「count」の値を装置IDごとに「W(i)」とする。そして、変更命令管理表から装置IDが「i」の変更命令から新しい順、つまり、通し番号の大きい変更命令から順に「V(i)−W(i)」個の変更命令を抽出する。発火条件情報処理部3008の処理によって「V(i)−W(i)」の値がマイナスになるような発火条件情報をもつ変更命令は、競合発見部3009は受信することはない。
S21002で変更命令管理表から抽出したすべての変更命令と、S21001で発火条件情報処理部3008から受信した変更命令の内容を比較し、競合していないかを確認する(S21003)。具体的には、変更命令の「処理対象」の項目に記録されている情報(例えば「タイトル」、「撮影者名」)が同一であるかどうかを確認する。変更命令の処理対象が同一である場合は競合していると判断し、変更命令の処理対象が同一ではない場合は競合していないと判断する。また、S21002において一つの命令も抽出されなかった場合は、競合した変更命令は存在しないと判断する。
S21003においてS21002で抽出した変更命令が一つでもS21001で受信した変更命令と競合していると判断された場合は、S21005へ進み、S21002で抽出した変更命令すべてとS21001で受信した変更命令とが競合していないと判断された場合はS21008へ進む(S21004)。
S21004においてS21002で抽出した変更命令が一つでも競合していると判断された場合、発火条件情報処理部3008が保持している、変更命令同期部3007から発火条件情報処理部3008が受信した変更命令の中に、競合発見部3009がS21001で受信した変更命令とS21003において抽出した変更命令との間の競合を解決する変更命令が存在しないかを確認する(S21005)。競合を解決する変更命令とは競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された、競合している変更命令と処理対象が同じである変更命令のことである。今回の場合、「発火条件情報」を用いて、競合関係にある複数の変更命令の全てを変更命令管理表で管理している状態で発行された変更命令かどうかを判断し、処理対象が同じであるかどうかは変更命令の「処理対象」の項目で判断する。競合関係にある変更命令の装置IDを「i」、通し番号を「n」とし、発火条件情報処理部3008が保持している変更命令発火条件情報の「count」の値を「W(i)」とした場合、全ての競合関係にある変更命令において「n≦W(i)」が成り立つ発火条件情報をもつ変更命令でかつ、「処理対象」の項目が競合関係にある変更命令と同一である変更命令が競合を解決する変更命令である。
S21001で受信した変更命令とS21003で抽出した変更命令との間の競合全てに対して、解決する変更命令がS21005で存在することが確認できた場合、S21008へ進み、一つでも競合を解決する変更命令が発見できなかった場合は、S21007へ進む(S21006)。
S21001で受信した変更命令と、S21003で抽出した変更命令間の競合を解決する変更命令をS21005において発見できなかった場合、解決する変更命令を発見できなかった競合関係にあるS21001で受信した変更命令とS21003で抽出した変更命令を競合解決部3010へ送信する(S21007)。
S21001で受信した変更命令を変更命令処理部3006へ送信する(S21008)。
処理を終了させる(S21009)。
(競合している場合の処理の一例)
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において図5(a)および図17(b)に示す変更命令5000および変更命令17100を記録している状態で、発火条件情報処理部3008は図5(b)に示す変更命令5100と図5(c)に示す変更命令5200を変更命令同期部3007より受信し、発火条件情報処理部3008の処理によって、変更命令5100を競合発見部3009が受信したときの競合発見部3009の処理の流れを具体的に説明する。
素材管理装置Aの競合発見部3009は発火条件情報処理部3008より変更命令5100を受信する(S21001)。
変更命令管理部3003の管理する変更命令管理表17000に記録されている変更命令から、変更命令5100と競合する可能性のある変更命令を抽出する(S21002)。変更命令管理表17000より「V(A)=2」「V(B)=0」「V(C)=0」となる。また、S21001で受信した変更命令5100の5106の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=0」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=0」「W(C)=0」となる。したがって、「V(A)−W(A)=1」「V(B)−W(B)=0」「V(C)−W(C)=0」となるため、装置IDが「A」である素材管理表17000の列17001より通し番号の値が変更命令5000より大きい変更命令である変更命令17100を一つ抽出する。
S21001で受信した変更命令5100とS21002で抽出した変更命令17100が競合しているかどうかを確認する(S21003)。変更命令5100の5104の枡に記録されている処理対象「撮影者名」と、変更命令17100の17104の枡に記録されている処理対象「撮影者名」は同じであるため、競合していると判断する。
S21003で競合していると判断されたため、S21005へ進む(S21004)。
発火条件情報処理部3008が変更命令同期部3007より受信した変更命令の中に変更命令5100と変更命令17100の競合を解決する変更命令が無いかを確認する(S21005)。今回、発火条件情報処理部3008が保持している変更命令は変更命令5200のみであり、変更命令5200の5206の枡に記録されている発火条件情報は「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。また、今回競合関係にある変更命令5100および変更命令17100の装置IDおよび通し番号はそれぞれ「装置ID=B、通し番号=1」と「装置ID=A、通し番号=2」となっている。従って装置IDがAのとき、通し番号nは2であり、「n≦W(A)」を満たさない。また、変更命令5200の5204の枡に記録されている処理対象は「タイトル」であり、変更命令5100および変更命令17100の処理対象「撮影者名」とは異なる。従って、競合を解決する変更命令は存在しないと判断する。
S21005で競合を解決する変更命令が存在しないと判断したため、S21007へ進む(S21006)。
S21001で受信した変更命令5100及び変更命令管理部3003の管理する変更命令管理表17000に管理されている変更命令17100を競合解決部3010へ送信する(S21007)。
S21001で受信した変更命令5100を変更命令処理部3006へ送信する(S21008)。S21007で変更命令5100は競合解決部3010へ送信されているが、ここでは、変更命令処理部3006へも送信を行う。
処理を終了させる(S21009)。
このように発火条件情報を用いて処理を行うことによって、変更命令の競合を発見し、それを競合解決部3010で解決する機会を得ることができる。
(競合していない場合の処理の一例)
次に、素材管理装置Aの変更命令管理部3003が図17(a)に示す変更命令管理表17000において図5(a)および図17(b)に示す変更命令5000および変更命令17100を記録している状態で、発火条件情報処理部3008は図5(b)に示す変更命令5100と図5(c)に示す変更命令5200を変更命令同期部3007より受信し、発火条件情報処理部3008の処理によって、変更命令5100を競合発見部3009が受信し処理を行い、変更命令管理部3003が図20(a)に示す変更命令管理表20000において図5(a)(b)および図17(b)に示す変更命令5000、変更命令5100および変更命令17100を記録するようになった状態で、発火条件情報処理部3008の処理によって、変更命令5200を競合発見部3009が受信したときの競合発見部3009の処理の流れを具体的に説明する。
素材管理装置Aの競合発見部3009は発火条件情報処理部3008より変更命令5200を受信する(S21001)。
変更命令管理部3003の管理する変更命令管理表20000に記録されている変更命令から、変更命令5200と競合する可能性のある変更命令を抽出する(S21002)。変更命令管理表20000より「V(A)=2」「V(B)=1」「V(C)=0」となる。また、S21001で受信した変更命令5200の5206の枡に記録されている発火条件情報から「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。したがって、「V(A)−W(A)=1」「V(B)−W(B)=0」「V(C)−W(C)=0」となるため、装置IDが「A」である素材管理表20000の列20001より通し番号の値が変更命令5000より大きい変更命令である変更命令17100を一つ抽出する。
S21001で受信した変更命令5200とS21002で抽出した変更命令17100が競合しているかどうかを確認する(S21003)。変更命令5200の5204の枡に記録されている処理対象「タイトル」と、変更命令17100の17104の枡に記録されている処理対象「撮影者名」は異なるため、競合していないと判断する。
S21003で競合していないと判断されたため、S21008へ進む(S21004)。
S21001で受信した変更命令5200を変更命令処理部3006へ送信する(S21008)。
処理を終了させる(S21009)。
(競合を解決する変更命令が存在する場合の処理の一例)
次に素材管理装置Aの変更命令管理部3003が図22(a)に示す変更命令管理表22000において、変更命令5000、変更命令5100、変更命令5200、変更命令17100および図22(b)に示す変更命令22000を記録している状態で、変更命令管理部3003において管理している変更命令管理表において変更命令を全く管理していない素材管理装置Cとオンラインになり、素材管理装置Cの変更命令同期部3007が素材管理装置Aから変更命令5000、変更命令5100、変更命令5200、変更命令17100および変更命令22000を取得し、発火条件情報処理部3008へ送信した場合の処理を説明する。このとき素材管理装置Aのデータ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
既に説明した発火条件情報処理部3008の処理によって、まず初めに、変更命令5000が競合発見部3009に送信される。競合する変更命令を素材管理装置Cの変更命令管理部3003は記録していないため、変更命令は変更命令処理部3006へ渡され、変更命令管理表に記録され、変更命令管理表14000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表13000の状態になっている。
発火条件情報処理部3008の処理のフローチャートのS19002において、変更命令5100と変更命令17100が抽出される。S19005において今回は変更命令5100を選択し競合発見部3009へ送信したとする。なお、変更命令17100を選択した場合も、処理は大きく変わらない。競合する変更命令を素材管理装置Cの変更命令管理部3003の管理する変更命令管理表は記録していないため、変更命令は変更命令処理部3006へ渡され、変更命令管理表に記録され、変更命令管理表14100の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表4000の状態になっている。
発火条件情報処理部3008から変更命令17100が競合発見部3009へ送信される。このとき競合発見部3009の処理のフローチャートS21004において変更命令5100が競合していると判断される。
発火条件情報処理部3008が変更命令同期部3007より受信した変更命令の中に変更命令5100と変更命令17100の競合を解決する変更命令が無いかを確認する(S21005)。今回、発火条件情報処理部3008が保持している変更命令は変更命令5200および変更命令22100であり、変更命令5200の5206の枡に記録されている発火条件情報は「ID=A、count=1」「ID=B、count=1」「ID=C、count=0」より順にそれぞれ「W(A)=1」「W(B)=1」「W(C)=0」となる。また、今回競合関係にある変更命令5100および変更命令17100の装置IDおよび通し番号はそれぞれ「装置ID=B、通し番号=1」と「装置ID=A、通し番号=2」となっている。従って装置IDがAのとき、通し番号nは2であり、「n≦W(A)」を満たさない。また、変更命令5200の5204の枡に記録されている処理対象は「タイトル」であり、変更命令5100および変更命令17100の処理対象「撮影者名」とは異なる。次に、変更命令22100の22106の枡に記録されている発火条件情報は「ID=A、count=2」「ID=B、count=2」「ID=C、count=0」より順にそれぞれ「W(A)=2」「W(B)=2」「W(C)=0」となる。したがって、全ての装置ID「i」において「n≦W(i)」が成り立つ。よって、競合を解決する変更命令として変更命令22100が存在すると判断する。
S21005において競合を解決する変更命令が存在することが確認できたため、S21008において変更命令17100を変更命令処理部3006へ送信し、競合発見部3009の処理を終了させる。
以上の素材管理装置Cでの処理をまとめ、それぞれの処理時点での変更命令管理表とインデックスデータ管理表の状態を説明する。
変更命令処理部3006によって、変更命令17100が変更命令管理表へ記録され、変更命令管理表20000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23000の状態になっている。
発火条件情報処理部3008から変更命令17100が競合発見部3009へ送信される。競合発見部3009によって、競合が発見されず、変更命令処理部3006へ送信され、変更命令管理表へ記録され、変更命令管理表20100の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
最後に、発火条件情報処理部3008から変更命令22100が競合発見部3009へ送信される。競合発見部3009によって、競合が発見されず、変更命令処理部3006へ送信され、変更命令管理表へ記録され、変更命令管理表22000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
このように、素材管理装置Aにて生成された競合を解決する変更命令22100と発火条件情報を用いて素材管理装置Cにおいて処理を行うことによって、再度競合解決の処理を行うことなく、適切に変更命令の同期および変更命令のインデックスデータへの適用処理によってインデックスデータを同期することができた。
(2−8.競合解決部の動作例)
競合解決部3010は競合発見部3009より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部3003で管理するため、変更命令生成部3004へユーザの選択結果を変更情報として送信し、変更命令生成部3004で変更命令を生成し、変更命令処理部3006で処理することによって、データ管理部3002および変更命令管理部3003に反映させる。なお、今回はユーザに競合している変更命令に関する情報を提示し、選択してもらうことによって、競合を解決したが、この解決方法は本発明の主眼ではなく、何らかのルールに従って自動的に処理するなど様々な方法が考えられる。本発明の主眼は、これらのユーザの選択や何らかのルールによって解決された結果を適切に管理し、他の素材管理装置がこれら競合していた変更命令を受信した際も、再度同じ競合解決の処理を行う必要がないように、解決結果を適切に伝達させていくことである。
競合解決部3010の処理の流れを図24のフローチャートを用いて説明する。
競合発見部3009より競合している変更命令を受信する(S24001)。このとき競合関係にある二つ以上の変更命令を同時に受信する。
発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しないかを確認する(S24002)。未処理の変更命令が存在する間は、S24001の競合する変更命令の受信と蓄積処理を行う。発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しなくなった場合、S24003へ進む。
S24001において蓄積した競合した変更命令に未処理の変更命令が存在するかを判断する(S24003)。未処理の変更命令が存在する場合はS24004へ進み、存在しない場合は、S24008へ進む。
未処理であるS24001で蓄積した競合関係にある二つ以上の変更命令を一組選択する(S24004)。
S24004において選択した二つ以上の競合関係にある変更命令をユーザに提示し、選択した結果の入力を受ける(S24005)。
S24005の入力により、選択された変更命令より、変更情報を生成する(S24006)。
S24006で生成した変更情報を変更命令生成部3004へ送信する(S24007)。
S24003において未処理の競合関係にある変更命令が存在しないと判断された場合、処理を終了する(S24008)。
以上の処理によって、競合を解決する命令が変更命令生成部3004で生成され、変更命令処理部3006によって、データ管理部3002および変更命令管理部3003へ反映される。
次に、競合解決部3010が競合発見部3009より図5の(b)に示す変更命令5100と図17の(b)に示す変更命令17100を競合する命令として受信した場合の、競合解決部3010の処理の流れを具体的に説明する。
競合発見部3009より競合している変更命令5100と変更命令17100を受信する(S24001)。
発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しないことを確認する(S24002)。今回、競合発見部3009の処理が完了するまでに競合解決部3010が受信した、競合関係にある変更命令は変更命令5100および変更命令17100のみであったとする。
競合関係にある変更命令5100および変更命令17100が未処理であるため、S24004へ進む(S24003)。
未処理の競合関係にある未処理の変更命令として、変更命令5100および変更命令17100の組を選択する(S24004)。
変更命令5100および変更命令17100の情報をユーザに提示し、入力を受けることによって競合を解決する(S24005)。具体的には、変更命令5100の5104の枡と5105の枡に記録されている「撮影者名」「山田」という情報と、変更命令17100の17104の枡と17105の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。
S24005によって選択された情報を元に変更情報を生成する(S24006)。S24005におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図25の変更情報25000に示す。25003にユーザによって選択された「佐藤」という情報内容が、25002の枡に競合していた処理対象である「撮影者名」という情報が、25001の枡に処理内容を示す「更新」が記録されている。
S24006で生成された変更情報25000を変更命令生成部3004へ送信する(S24007)。
S24003において、競合関係にある未処理の変更命令が存在しないと判断し、S24008へ進む。
処理を終了させる(S24008)。
変更命令生成部3004へ送信された変更情報25000は、変更命令生成部3004の処理によって、競合を解決する変更命令である図22(b)に示す変更命令22100が生成され、変更命令処理部3006の処理によって、変更命令管理部3003の保持する変更命令管理表は図20(b)に示す変更命令管理表20100の状態から図22(a)に示す変更命令管理表22000の状態になる。また、データ管理部3002の管理するインデックスデータ管理表はインデックスデータ管理表23100の状態になっている。
(実施の形態2)
本実施の形態において、実施の形態1の競合解決部について別の例を開示する。競合解決部以外は実施の形態1と同様であるため、説明は省略する。
(競合解決部の動作例)
競合解決部3010は競合発見部3009より受信した競合している変更命令をユーザに提示し、選択してもらうことによって解決し、その結果を新たな変更命令として変更命令管理部3003で管理するため、変更命令生成部3004へユーザの選択結果を変更情報として送信し、変更命令生成部3004で変更命令を生成し、変更命令処理部3006で処理することによって、データ管理部3002および変更命令管理部3003に反映させる。
競合解決部3010の処理の流れは図24のフローチャートで示したとおりであり、実施の形態1で説明したものと同様であるため、説明を省略する。
次に、競合解決部3010が競合発見部3009より図5(b)に示す変更命令5100と図17の(b)に示す変更命令17100を競合する命令として受信した場合の、競合解決部3010の処理の流れを具体的に説明する。
競合発見部3009より競合している変更命令5100と変更命令17100を受信する(S24001)。
発火条件情報処理部3008および競合発見部3009において未処理の変更命令が存在しないことを確認する(S24002)。今回、競合発見部3009の処理が完了するまでに競合解決部3010が受信した、競合関係にある変更命令は変更命令5100および変更命令17100のみであったとする。
競合関係にある変更命令5100および変更命令17100が未処理であるため、S24004へ進む(S24003)。
未処理の競合関係にある未処理の変更命令として、変更命令5100および変更命令17100の組を選択する(S24004)。
変更命令5100および変更命令17100の情報をユーザに提示し、入力を受けることによって競合を解決する(S24005)。具体的には、変更命令5100の5104の枡と5105の枡に記録されている「撮影者名」「山田」という情報と、変更命令17100の17104の枡と17105の枡に記録されている「撮影者名」「佐藤」という情報を表示装置を用いてユーザへ提示し、ユーザから入力装置を用いて、どちらの情報を採用するのか、または、異なる情報にするのかに関する入力を受ける。ここでは、「佐藤」という情報がユーザの入力によって選択されたとする。
S24005によって選択された情報を元に変更情報を生成する(S24006)。S24005におけるユーザの入力結果より、変更情報の情報内容を「佐藤」とし、競合していた処理対象を「撮影者名」、処理内容を「更新」として、変更情報を生成する。このとき作成された変更情報を図26の変更情報26000に示す。26003にユーザによって選択された「佐藤」という情報内容が、26002の枡に競合していた処理対象である「撮影者名」という情報が、26001の枡に処理内容を示す「更新」が、26004の枡に競合を解決した情報であるということを表す情報が記録されている。本実施の形態では競合を解決した情報であるということを変更情報に「競合解決」という枡を設け、そこに「YES」と、競合を解決した情報では無い場合を「NO」記録することによって表現したが、この方法に限定されるものではなく、2値のフラグを用いてその一方を競合を解決したことを表し、もう一方競合を解決した情報ではないということを表すようにしてもよい。
S24006で生成された変更情報26000を変更命令生成部3004へ送信する(S24007)。
S24003において、競合関係にある未処理の変更命令が存在しないと判断し、S24008へ進む。
処理を終了させる(S24008)。
変更命令生成部3004へ送信された変更情報26000は、変更命令生成部3004の処理によって、競合を解決する変更命令が生成され、変更命令処理部3006の処理によって、変更命令管理部3003の保持する変更命令管理表が更新される。また、データ管理部3002の管理するインデックスデータ管理表も更新される。変更命令生成部3004の処理によって生成された変更命令の一例を図27に示す。
ここで付与した競合を解決する変更命令であるという情報は、別の処理を行う際に、競合を解決する変更命令だけを抽出する場合に等に利用することができる。
ここで、図24のS24005においてユーザが競合関係にある変更命令を選択する際の画面例を図28に示す。
28001の枠は今回の競合解決画面が対象としているインデックスデータを表している。図28の場合は対象としているインデックスデータが「タイトル」であることを表している。
28002の枠は競合の解決を行うための枠である。競合の解決方法には、競合している情報のどちらかを選択するか、今回は競合を解決せず、保留とするか、競合している情報とは別の情報を入力し、競合を解決する手段が提供されている。図28の28003および28004は今回競合している情報がボタン状になって表示されており、それらを押下することによって、選択状態にする。今回は「交通事故」という情報と「衝突事故」という情報が競合しており、どちらかを選択する事ができる。また、競合を解決せず、保留状態とする場合は28005の保留のボタンを押下する。28006の枠は直接何らかの情報を入力することによって競合を解決する場合に、情報を入力する枠である。競合を解決するボタン28003および28004と、競合解決を保留するボタン28005、直接入力を行う28006の枠はそれぞれ排他的に選択でき、28003および28004および28005のボタンのいずれかしか選択できず、いずれかのボタンを選択している場合は、28006の枠には入力できない。また、28006の枠に入力している場合は、28003および28004および28005のいずれのボタンも選択できない。
28007の枠は28001の枠に書かれている対象インデックスデータの変更履歴を表示している。28007の枠内の途中で分岐し、その後矢印が合流している箇所は情報が競合を起こし、解決されたことを表している。具体的に図28の場合で説明すると、「事故」を「人身事故」と「車の事故」と書き換えた結果が競合として発見され、「車の事故」という情報を選択することによって競合が解決されたことを表している。その後「車の事故」から「単独事故」に情報が変更されたことを表している。これらの変更履歴は変更情報より生成することができる。この変更履歴を参考とすることによって、利用者が競合解決の判断を行う際に判断を行いやすくすることができる。
28002の枠でボタン選択、または入力を行った結果を、28008のボタンを押下することによって確定させる。
なお、競合を解決せずに保留した場合、図24のS24006およびS24007の処理が飛ばされ、S24005からS24003に戻ることになる。
また、競合の解決はオフライン状態の時に行うことも可能である。この場合、オンラインになった際に変更命令を送受信することによって同期を行い、ユーザによる選択か、またはあらかじめ設定した情報に従って、いったん発見された競合の解決を保留とする。その後、オフライン状態で競合発見処理を行い、発見された競合している変更命令に対して解決処理を行うことが可能となる。
(実施の形態3)
本実施の形態において、番組制作に用いる素材管理装置における素材のインデックスデータ同期方法を開示する。ここで、素材としてMPEG−2形式の動画像を考え、インデックスデータとして動画像のタイトル、撮影者名、動画像に対して行った操作を考える。動画像に対して行った操作とは、動画像の削除や編集などが考えられる。削除や編集の記述方法は本発明の主眼ではないため、詳細に言及しない。編集機などで用いられるプレイリストやEDL(Edit Decision List)などが利用可能である。本発明では削除の操作をインデックスデータとして同期する場合を説明する。
なお、素材としてはMPEG-2形式の動画に限定されるものではなく、DV形式など他の形式の動画像や音声のみでもよい。また、インデックスデータもタイトルと撮影者名および素材に対して行った操作に限定されるものではなく、撮影日時、撮影場所、番組名、動画像の管理されている所在地(素材が管理されている装置および装置内の管理場所を識別する情報)等のテキスト情報や、BMP形式やJPEG形式で記録される動画像の代表静止画など、素材に関する種々の付加情報が考えられる。例えば、撮影日時や場所、番組名、代表静止画などを素材管理装置間で同期させることによって、他の素材管理装置が管理する素材に関する情報を詳細に知ることが可能となり、必要とする素材であるかどうかといった判断が素材を取得することなく可能となる。また、所在地情報をインデックスデータとして素材管理装置間で同期させることによって、他の素材管理装置が管理する素材を取得することが可能になる。
本発明の素材管理装置は他の素材管理装置とオンラインとオフラインの状態を任意に遷移し、インデックスデータの更新はオフライン・オンラインの状態に関係なく行われる。このような素材管理装置において、インデックスデータを同期する方法を本実施例において開示する。
(1.全体構成)
図29に本実施の形態における素材管理装置の全体構成を示す。素材管理装置29000は素材操作部29001と素材管理部29002とインデックスデータ制御部29003とインデックスデータ処理部29004で構成される。素材操作部29001は素材管理部29002へ素材を登録、変更、削除を行い、それに伴うインデックスデータの変更をインデックスデータ制御部29003へ通知する。また、素材は変更せず、インデックスデータのみを変更する場合は、素材操作部29001からインデックスデータ制御部29003へ変更内容が通知される。素材管理部29002は素材操作部29001から受信した素材を管理する。インデックスデータ制御部29003は素材操作部29001から通知されたインデックスデータの新規作成、更新、削除を、保持しているインデックスデータに対して行う。また、インデックスデータを他の素材管理装置とオンラインになった際に同期させる。インデックスデータ処理部29004はインデックスデータ制御部29003によって同期されたインデックスデータに素材に対する「操作」の情報が記録されている場合に、その情報に基づいて素材管理部29002に保持されている素材に対して「操作」の内容に記載されている処理を行う。図30に示したインデックスデータ管理表30000の「<操作>」と「</操作>」で囲まれた箇所に記載されている「削除」が操作である。この操作の情報が自装置の素材操作部29001によってインデックスデータ制御部29003へ通知された情報である場合、インデックスデータ処理部29004は素材管理部への処理を行わないが、他の装置から同期された情報である場合、インデックスデータ処理部29004は素材管理部29002へ操作に記載された処理を行う。図30のインデックスデータ管理表に保持されている操作である「削除」の場合、素材管理部29002に保持されている該当の素材を削除する処理をインデックスデータ処理部29004は行う。
データ同期の処理主体となる構成要素であるインデックスデータ制御部は実施の形態1または実施の形態2と同じであるため、詳細な説明を省略する。
(その他の実施例)
本実施例では素材に関する情報であるインデックスデータを同期させたが、素材自体を本方式を用いて同期させても良い。素材としては、動画、静止画、音声、テキスト情報などが考えられる。
また、本実施例で説明した番組制作目的での素材管理だけではなく、ホームネットワークにおいて、各機器が記録し管理しているコンテンツの情報を本方式を用いて同期させ、またはコンテンツ自身を本発明を用いて同期させてもよい。ポータブル機器など頻繁にホームネットワークからオフラインになる機器が存在する状況において、ホームネットワークにおけるコンテンツのインデックスやコンテンツ自身の同期を行うことによって、ユーザはどの機器にどのコンテンツが管理されているのかということを意識することなく、ポータブル機器を家に持ち帰り、ホームネットワークに接続すると、ホームネットワークに接続される機器に管理されているコンテンツが利用可能になる。また、ホームネットワークにつながる機器から、ポータブル機器がオフライン中にポータブル機器に新規に登録されたコンテンツも利用可能になる。
また、発火条件情報として今回は変更命令管理部に管理されている変更命令管理表に記録されている変更命令の数を、変更命令を発行した装置毎に数えたものを用いたが、変更命令を一意に識別できる識別子を付与し、変更命令管理表に記録されている変更命令全ての識別子を一覧にしたものを発火条件情報として利用することもできる。このとき、発火条件情報処理部では、発火条件情報として記録されている識別子の数を数えることによって、実施の形態1と同様の処理を行うことができる。競合発見部においても同様である。
また、素材としてテキスト情報を考えた場合、複数の人が協力して同一のWebページを作成する場合に、それぞれの人が作成したWebページ間で記述内容に競合が発生していないかを検出し、競合が検出できた場合にはそれを解決する機会を提供することが可能になる。
実施の形態1では先に変更命令取得要求を出した側の装置で競合の解決を行っているがが、あらかじめ装置間で優先順位を決めておき、優先順位の高いものと低いものが同期処理を行う場合は、先にお互いの優先順位を送信し合い、優先順位の高い装置側から変更命令取得要求を出すことによって、競合の解決を優先順位の高い装置に行わせることもできる。また、優先順位が低い装置から変更命令取得要求を行った場合は、競合の解決を保留させ、優先順位の高い装置で競合の解決を行わせることもできる。
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2005年10月4日出願の日本特許出願(特願2005-291521)に基づくものであり、その内容はここに参照として取り込まれる。
本発明は、番組制作を行うために撮影および編集された映像素材を管理する素材管理装置のみならず、オーディオプレーヤーやDVDレコーダー、ポータブルオーディオプレーヤーやポータブルビデオプレーヤ、オーディオやビデオを再生できる携帯電話など、コンテンツを蓄積し、再生する様々な機器において、ホームネットワークなどのネットワークにおいてそれらの機器を接続し、他の機器の管理しているコンテンツの情報を取得し、利用するコンテンツを取得したり、コンテンツを機器間で同期しておくという利用形態に適用可能である。
本発明の実施の形態における素材管理装置の利用形態の一例を示す図 本発明の実施の形態における素材管理装置の構成の一例を示すブロック図 本発明の実施の形態におけるインデックスデータ制御部の構成の一例を示すブロック図 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図 本発明の実施の形態における変更命令の一例を示す図 本発明の実施の形態における変更命令管理表の一例を示す図 本発明の実施の形態における変更命令生成部の動作の一例を示すフローチャート 本発明の実施の形態における変更情報の一例を示す図 本発明の実施の形態における発火条件情報の一例を示す図 本発明の実施の形態における発火条件情報生成部の動作の一例を示すフローチャート 本発明の実施の形態における発火条件情報の一例を示す図 本発明の実施の形態における変更命令処理部の動作の一例を示すフローチャート 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図 本発明の実施の形態における変更命令管理表の一例を示す図 本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令同期部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令管理表および変更命令の一例を示す図 本発明の実施の形態における変更命令ID一覧および変更命令要求リストの一例を示す図 本発明の実施の形態における発火条件情報処理部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令管理表の一例を示す図 本発明の実施の形態における競合発見部の動作の一例を示すフローチャート 本発明の実施の形態における変更命令管理表および変更命令の一例を示す図 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図 本発明の実施の形態における競合解決部の動作の一例を示すフローチャート 本発明の実施の形態における変更情報の一例を示す図 本発明の実施の形態における変更情報の一例を示す図 本発明の実施の形態における変更命令の一例を示す図 本発明の実施の形態における競合解決を行う画面の一例を示す図 本発明の実施の形態における素材管理装置の構成の一例を示すブロック図 本発明の実施の形態におけるインデックスデータ管理表の一例を示す図
符号の説明
3001 データ操作部
3002 データ管理部
3003 変更命令管理部
3004 変更命令生成部
3005 発火条件情報生成部
3006 変更命令処理部
3007 変更命令同期部
3008 発火条件情報処理部
3009 競合発見部
3010 競合解決部

Claims (9)

  1. 他の情報処理装置と任意のタイミングで通信可能な状態と通信不可能な状態を遷移し、前記通信可能な状態と不可能な状態に関係なく、情報処理装置に対して情報を新規登録、または情報処理装置の管理する情報に対して更新または削除が行われる情報処理装置において、
    情報を管理するデータ管理手段と、
    前記データ管理手段の管理する情報に対する変更内容を変更命令として生成する変更命令生成手段と、
    生成した変更命令と共に他の情報処理装置から取得した変更命令を、どの情報処理装置で生成された変更命令かを判断できる状態で記録する変更命令記録手段と、
    変更命令を他の情報処理装置との間で送受信することによって、前記変更命令記録手段に記録されていない変更命令を他の情報処理装置より取得する変更命令同期手段と、
    を有することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記変更命令生成手段において、前記情報処理装置の装置識別情報と、変更命令に付与する毎に値を増加させることによって各装置毎に生成する通し番号を、前記データ管理手段の管理する情報に対する変更内容と共に変更命令に記録することを特徴とする情報処理装置。
  3. 請求項1または請求項2に記載の情報処理装置において、
    前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令の数を、前記変更命令を生成した情報処理装置毎に数えた発火条件情報を生成する発火条件情報生成手段を備え、
    前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
  4. 請求項1または請求項2に記載の情報処理装置において、
    前記変更命令生成手段において、前記変更命令を一意に特定する識別子を前記変更命令に付与し、
    前記変更命令生成手段において変更命令を生成する時点で、前記変更命令管理手段において管理されている全ての変更命令の識別子の一覧を作成し、前記一覧を発火条件情報とする発火条件情報生成手段を備え、
    前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
  5. 請求項1または請求項2に記載の情報処理装置において、
    前記変更命令生成手段において、変更命令を生成する時点で、前記変更命令管理手段において管理されている変更命令を一覧にし、前記一覧を発火条件情報とする発火条件情報生成手段を備え、
    前記変更命令生成手段において、さらに前記発火条件情報を変更命令に記録する事を特徴とする情報処理装置。
  6. 請求項3または請求項4または請求項5に記載の情報処理装置において、
    前記変更命令同期手段から受信した変更命令に記録されている前記発火条件情報と、前記変更命令記録手段に記録されている変更命令の数を変更命令を発行した装置ごとに比較し、発火条件情報に記録されている前記変更命令の数の方が前記変更命令記録手段に記録されている変更命令の数より少ないか、等しいという条件を満たす変更命令のうち、発火条件情報に記録されている変更命令の数の合計が小さいものから処理を行う発火条件情報処理手段を備える事を特徴とする情報処理装置。
  7. 請求項3または請求項4または請求項5または請求項6に記載の情報処理装置において、
    前記変更命令同期部から受信した変更命令と、前記変更命令記録手段に記録されている変更命令とが変更対処としている情報を比較し、同一の情報に対する変更命令である場合に競合している変更命令であると検出する競合発見手段を備えることを特徴とする情報処理装置。
  8. 請求項7に記載の情報処理装置において、
    前記競合発見手段において、競合している変更命令であると検出した際に、その競合を解決する変更命令が前記変更命令同期手段から受信した変更命令の中に存在しないかを確認し、
    競合を解決する変更命令が存在した場合、前記競合している変更命令であると検出した変更命令を競合していない変更命令であると判断する処理を行う競合発見手段を備えることを特徴とする情報処理装置。
  9. 請求項7または請求項8に記載の情報処理装置において、
    前記競合発見手段において、競合していると判断された変更命令のいずれか一つに記録されている情報に対する変更内容を、前記変更命令生成部へ送信し、変更命令生成を依頼する競合解決手段を備えることを特徴とする情報処理装置。
JP2007539892A 2005-10-04 2006-10-04 命令を用いたデータ同期装置 Withdrawn JPWO2007043417A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005291521 2005-10-04
JP2005291521 2005-10-04
PCT/JP2006/319893 WO2007043417A1 (ja) 2005-10-04 2006-10-04 命令を用いたデータ同期装置

Publications (1)

Publication Number Publication Date
JPWO2007043417A1 true JPWO2007043417A1 (ja) 2009-04-16

Family

ID=37942661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007539892A Withdrawn JPWO2007043417A1 (ja) 2005-10-04 2006-10-04 命令を用いたデータ同期装置

Country Status (4)

Country Link
US (1) US20100153334A1 (ja)
JP (1) JPWO2007043417A1 (ja)
CN (1) CN101283334A (ja)
WO (1) WO2007043417A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5374986B2 (ja) * 2008-09-17 2013-12-25 日本電気株式会社 携帯端末、サーバおよび保存データ管理方法ならびに通信システム
US8695054B2 (en) * 2010-09-29 2014-04-08 Verizon Patent And Licensing Inc. Ingesting heterogeneous video content to provide a unified video provisioning service
JP5289407B2 (ja) * 2010-09-30 2013-09-11 ヤフー株式会社 ファイル同期システム、方法及びプログラム
JP2012079047A (ja) * 2010-09-30 2012-04-19 Yahoo Japan Corp ファイルアクセスプログラム、方法及びシステム
JP5356350B2 (ja) * 2010-09-30 2013-12-04 ヤフー株式会社 ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006020A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd 複製データベースアクセス装置とそのアクセス方法
JP4044072B2 (ja) * 2004-05-24 2008-02-06 エヌ・ティ・ティ・コムウェア株式会社 データの共有方法

Also Published As

Publication number Publication date
CN101283334A (zh) 2008-10-08
US20100153334A1 (en) 2010-06-17
WO2007043417A1 (ja) 2007-04-19
WO2007043417A9 (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
US7991234B2 (en) Apparatus and method for image-classifying, and recording medium storing computer-readable program for the same
EP2297940B1 (en) Method to control image processing apparatus, image processing apparatus, and image file
CN102770854A (zh) 自动同步冲突解决
CN101431641B (zh) 记录装置、记录方法和记录系统
EP1511036A1 (en) Information processing device and method, recording medium, and program
JPWO2007043417A1 (ja) 命令を用いたデータ同期装置
JP2007035006A (ja) プレイリスト作成装置、プレイリスト作成方法、プレイリスト作成プログラム、著作権管理装置、視聴端末装置およびコンテンツ管理システム
CN102129448A (zh) 图像管理设备及其控制方法
JP2007295138A (ja) 映像操作履歴を基にした重要度情報付与装置及び方法
US20110013025A1 (en) Communication terminal
JP2008005154A (ja) 画像処理装置及びその制御方法
CN103067657A (zh) 摄像装置
JPH11317937A (ja) 放送蓄積視聴装置
KR101867594B1 (ko) 다수의 동영상을 이용한 타임랩스 영상 제작 시스템 및 방법
JP2005293339A (ja) 情報処理装置および情報処理方法
CN105912540A (zh) 文件系统同步的方法及装置
JP2007318688A (ja) 映像情報交換方法、サーバ装置、及びクライアント装置
CN1855953B (zh) 存储和搜索图片的方法及其设备
KR101733607B1 (ko) 드라마 제작 관리 방법 및 장치
JP2014182650A (ja) 画像共有装置、画像共有装置の制御方法、およびプログラム
JP5075723B2 (ja) メタデータ編集システムおよびメタデータ編集プログラムならびにメタデータ編集方法
JP2007189340A (ja) 撮像表示装置、撮像表示方法及びプログラム
JP5398038B2 (ja) 自動検索転送装置および自動検索転送システム
JP2005234945A (ja) 同時実行制御方法及び装置
JP2004187275A (ja) 映像プログラム制作支援システム,企画装置,処理装置,映像プログラムの処理方法,プログラムおよびデータ構造

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105