JP2004078535A - 排他制御装置、方法及びプログラム - Google Patents
排他制御装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2004078535A JP2004078535A JP2002237588A JP2002237588A JP2004078535A JP 2004078535 A JP2004078535 A JP 2004078535A JP 2002237588 A JP2002237588 A JP 2002237588A JP 2002237588 A JP2002237588 A JP 2002237588A JP 2004078535 A JP2004078535 A JP 2004078535A
- Authority
- JP
- Japan
- Prior art keywords
- ownership
- user
- data
- exclusive control
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】互いに共有しているファイルを複数のユーザで加工するための排他制御装置であって、ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理手段と、当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御手段と、リモートユーザに対し所有権を請求及び許諾するための所有対話手段とを備え、排他制御装置1bは排他制御装置1aにオブジェクトAの所有権の譲渡を請求でき(S405)、排他制御装置1aが所有権の譲渡を許可するとき(S415)、排他制御装置1bはオブジェクトAを所有できる(S420)。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、互いに共有しているファイルを複数のユーザで処理するための排他制御装置、プログラム及び方法に関する。
【0002】
【従来の技術】
従来、分散処理システム、クライアントサーバシステムなどにおいて、共有ファイルの部分的な排他制御が行われている。その一例として、データベースでのトランザクション単位の排他制御や、CASEツール(computer aided software engineering tool)を用いた共同作業におけるファイル内オブジェクト単位の排他制御などが知られている。
【0003】
例えばクライアントサーバシステムの排他制御では、共有ファイルのあるオブジェクトに対する手続があるクライアントの要求によって実行されるとき、他のクライアントの要求に応じた手続の実行を禁止するフラグがそのオブジェクトについてセットされる。このようにフラグがセットされ、すなわちオブジェクトに対するクライアントの排他的所有権が設定されると、そのフラグがリセットされるまでの期間(排他制御期間)、他のクライアント、すなわち所有権のないクライアントは、フラグがセットされているオブジェクトを加工することができない。
【0004】
【発明が解決しようとする課題】
排他制御期間が短ければそれほど大きな問題にはならないものの、例えば排他制御期間の開始と終了がクリティカルセクションに応じて自動的に決まるものでなく、クライアントのユーザの意志によって決まるときなどには、排他制御期間が長期化しやすい。
【0005】
しかし、排他制御期間においては、排他制御されているオブジェクトに対して所有権のないユーザは、いつ自分自身に所有権が設定されるのか不明のまま、排他的所有権のあるユーザから自分自身にその権利が移転されるまで待機するしかない。したがって、排他制御期間が長期化する場合には、共有ファイルを処理する複数のシステム全体で見ると、リソースの稼働率の低下やユーザの作業効率の低下が問題になっている。
【0006】
本発明は、このような問題を解決するために創作されたものであって、互いに共有しているファイルを複数のユーザで効率よく処理できる排他制御装置、プログラム及び方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る排他制御装置は、ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理手段と、当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御手段と、リモートユーザに対し所有権を請求及び許諾するための所有対話手段と、を備えることを特徴とする。所有対話手段は、リモートユーザに対し所有権を請求し、リモートユーザからの所有権の請求を許諾する機能を実現する。このため、これから加工しようとするオブジェクトに対して所有権のないユーザは、所有権を有する他のユーザに対して所有権の自己への移転を請求し、当該他のユーザから所有権を移転してもらうことにより、所有権が自分自身に移転されるまで単に受け身で待機する場合に比べて早期に所有権を得ることができる。したがって、本発明に係る排他制御装置によると、互いに共有しているファイルを複数のユーザで効率よく処理することができる。
【0008】
さらに本発明に係る排他制御装置は、オブジェクトの同期更新前の不整合状態をユーザに識別可能にするステータス案内手段をさらに備えることを特徴とする。あるオブジェクトが将来の同期更新により変更されるであろうことを、そのオブジェクトについて所有権を持たないユーザが知り得るため、複数のユーザによる円滑な共同作業が可能になる。
【0009】
さらに本発明に係る排他制御装置は、所有権の設定されているオブジェクトに対する同期更新をリモートユーザに対し請求及び許諾するための更新対話手段をさらに備えることを特徴とする。あるユーザによってなされたオブジェクトに対する加工について無条件に同期更新を実行するのではなく、他のユーザの許諾が得られてからはじめて同期更新を実行するようにできるため、共有ファイルを処理する複数のユーザ全体の統一的処理が可能になる。
【0010】
さらに本発明に係る排他制御装置の前記所有権管理手段は、第一種オブジェクトに対する処理の制御情報に相当する第二種オブジェクト単位にユーザの所有権を設定することを特徴とする。これにより例えばあるオブジェクトを加工するための所有権をあるユーザに設定しつつ、そのオブジェクトを出力するための制御情報を加工するための所有権を他のユーザに設定するような、ファイルに対するきめ細かな所有権設定が可能になる。具体的には、例えば、音源波形などの音源データそのものの編集者と複数の音源データの再生ボリュームのバランス設定などの出力条件の編集者を個別に設定した共同作業が可能になる。
【0011】
尚、本発明に係る排他制御装置に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源とプログラムにより機能が特定されるハードウェア資源との任意の組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【0012】
また、本発明は装置の発明として特定できるだけでなく、プログラムの発明としても、そのプログラムを記録した記録媒体の発明としても、方法の発明としても特定することができる。
【0013】
【発明の実施の形態】
以下、本発明の好適な実施形態を実施例に基づいて説明する。以下に説明する実施例は、本発明の排他制御装置をデータ編集装置に適用した例である。
【0014】
図2は、データ編集装置1を通信ネットワークNに接続した様子を表す図である。図示するようにデータ編集装置1はLAN、インターネット、電話回線等の通信ネットワークNを介して相互に通信可能に接続されている。
【0015】
図3は、データ編集装置1のハードウェア構成を示すブロック図である。図示するようにデータ編集装置1は、CPU11、ROM12、RAM13、ハードディスク14、表示装置15、ネットワークI/O16及び入力装置18を備え、バス17で相互に接続されている。CPU11は、ROM12及びハードディスク14に格納されたプログラムを実行してデータ編集装置1の各部を制御する他、本発明の一実施例による排他制御プログラムを実行し、オブジェクト単位にユーザの所有権を設定する処理、オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する処理、他のユーザに対し所有権を請求及び許諾する処理、不整合状態をユーザに識別可能にする処理、同期更新をリモートユーザに対し請求及び許諾する処理等を行う。ROM12はCPU11が動作するために最低限必要なプログラムやデータを予め格納しているメモリであり、RAM13はプログラムや各種のデータ等を一時的に格納するメモリである。ハードディスク14にはオペレーティングシステム(OS)、排他制御プログラム、ファイル等が記憶されている。表示装置15は液晶表示装置やCRT等の表示装置とそれらの制御回路を備える。ネットワークI/O16は所謂ネットワークインタフェースカードやモデム等であり、通信ネットワークNに接続可能に構成されている。入力装置18は、例えばキーボードやマウスである。
【0016】
図4は、データ編集装置1で編集するファイル30の構造を示す模式図である。ファイル30は編集データ31と属性データ32とを含む複数のオブジェクト51、52を含んでいる。
【0017】
編集データ31はユーザによる実体的な編集の対象になるデータである。編集データ31には、表示、印刷、放音等の処理の対象となるデータと、処理の制御情報となるデータとが含まれる。処理の対象となるデータとは、具体的には例えばMIDIデータのような音源データ、ワードプロセッサで作成したテキストデータ等に相当する。処理の制御情報となるデータとは、具体的には例えば音源データの再生ボリューム、テキストデータの書式、データのアクセス制限等に相当する。以下、処理の対象となるデータを含むオブジェクトを第一種オブジェクトといい、処理の制御情報となるデータを含むオブジェクトを第二種オブジェクトというものとする。図4において51は第一種オブジェクト、52は第二種オブジェクトを表している。
【0018】
属性データ32はオブジェクト内で編集データ31と対になっているデータであって、編集データ31の所有権と同期状態を示すデータである。より具体的には、属性データ32は、当該属性データを含むオブジェクトについて所有権が設定されたユーザの識別情報と、ネットワークNに接続された全てのデータ編集装置1のファイル30が整合しているか否かを示す同期更新フラグとを含むデータである。
【0019】
尚、本実施例では各オブジェクト内に編集データ31及び属性データ32を持たせることでオブジェクト単位にユーザの所有権を設定するが、表などを用いて編集データ31と属性データ32を関連付けてもよい。また、編集データ31と属性データ32は、1ファイル内に格納してもよいし互いに関連付けられた別々のファイルに格納するようにしてもよい。
【0020】
以上、ファイル30の構造について説明した。次にデータ編集プログラム2のモジュール構成について説明する。図5は、データ編集プログラム2のモジュール構成を表すブロック図である。
【0021】
中央制御モジュール21は、制御の中心となるモジュールであり、データ編集装置1間及び各モジュール間の情報の中継を行う中継プロセスをCPU11で実行するためのモジュールである。
【0022】
データ編集制御モジュール22は、後述するユーザインタフェース(UI)制御プロセスから出力されるデータに基づいてRAM13に格納された編集データに対する編集、追加、削除などの加工を行う編集プロセスをCPU11で実行するためのモジュールである。編集プロセスは、ローカルユーザによって編集データが加工されてからリモートユーザによって更新が許諾されるまでの期間、ハードディスク14に格納されているファイル30からRAM13に読み込んだオブジェクトについて加工前のデータとは別にして、加工後のデータを更新データとしてRAM13に記憶させておく。
【0023】
データ更新制御モジュール23は、オブジェクトの更新が許諾されると編集プロセスがRAM13に記憶させた更新データを当該オブジェクトに反映させることによりオブジェクトを更新するデータ更新プロセスをCPU11で実行するためのモジュールである。
【0024】
属性更新制御モジュール24は、所有権の設定変更がリモートユーザに許諾されたり、編集データに対する加工が行われたりすると、属性データ32を更新することにより所有権を設定したり同期更新フラグをセットしたりする属性更新プロセスをCPU11で実行するためのモジュールである。属性更新プロセスがファイル30内の第一種オブジェクト51及び第二種オブジェクト52にアクセスしてオブジェクト内の属性データ32を更新することでファイル30内の第一種オブジェクト単位及び第二種オブジェクト単位でユーザの所有権が設定される。
【0025】
UI制御モジュール25は、所有権の設定請求、請求案内及び設定許諾、並びに更新データの入力受付及び入力拒絶による排他制御、並びに同期更新の請求、請求案内及び許諾、並びに同期更新前の不整合状態の案内をする対話プロセスをCPU11で実行するためのモジュールであって、後述の各種画面を制御するとともに入力装置18を用いて入力される指示及びデータを中継プロセスに出力する。例えば対話プロセスは、オブジェクトの属性データ32に基づいて、ローカルユーザに所有権が設定されていないとき当該オブジェクトに対する加工を禁止し、リモートユーザによる編集データの加工によって当該オブジェクトの不整合状態が生ずると表示、音などでそれを案内する。また対話プロセスは、リモートユーザから所有権の設定請求や同期更新請求を受け付けると、ローカルユーザに表示、音などでそれを案内する。
【0026】
以上、データ編集プログラム2のモジュール構成について説明した。次に対話プロセスで制御される画面について説明する。
図6は、データ画面28の一例を表す図である。データ画面28は第一種オブジェクトを表示及び加工するための画面であると共に、第一種オブジェクトに対する所有権の設定の請求及び許諾、同期更新の請求及び許諾を行うための画面である。図示するデータ画面28は編集データ31がMIDIデータである場合の例であって、どのオブジェクトについても所有権が設定されていない状態を表している。
【0027】
図7は、自分自身に所有権を設定しようとする第一種オブジェクトをローカルユーザが選択した状態を表す図である。図6においてトラック”02”の音源波形をマウスでドラッグして第一種オブジェクトの1つを選択すると、図7に示すように選択した部分(斜線部分)の色が変化する。色が変化したオブジェクトに対応する部分をマウスで右クリックすると図8に示す選択メニュー280が表示され、選択メニュー280中に選択項目として「所有」が表示される。またリモートユーザに所有されている第一種オブジェクトを選択する場合、そのオブジェクトに対応する部分をマウスで右クリックすることで表示される選択メニューには「所有」の代わりに「移転」という選択項目が表示される。「所有」又は「移転」をマウスで左クリックすると、選択した部分に対応する第一種オブジェクトについてローカルユーザに対する所有権の設定をリモートユーザに請求する処理が開始される。
【0028】
図9は、第一種オブジェクトの所有権の移転をリモートユーザに請求したとき、リモートユーザのデータ編集装置1の表示装置15にステータス情報が表示された状態を表す図である。リモートユーザから所有権の設定を請求されると、図示するように請求されたオブジェクトに対応する部分(斜線部分)の色が変化したり点滅したりするとともに「所有要求:”請求元リモートユーザのユーザ名”」というステータス情報が表示される。請求されたオブジェクトに対応する部分をマウスで左クリックすると、図10に示す許可画面281が表示され、[YES]をクリックすると図11に示すように濃く変化した部分に「所有中:”請求元リモートユーザのユーザ名”」というステータス情報が表示される。
【0029】
図12は、操作画面29の一例を表す図である。操作画面29は第二種オブジェクト33に対する加工を行うための画面であると共に、第二種オブジェクト34に対する所有権の設定の請求及び許諾を行うための画面である。図示する操作画面29はMIDIデータを演奏するときのボリューム調整を行う場合の例である。どのユーザにも所有権が設定されていないボリュームつまみ40をマウスで左クリックすると、選択したボリュームつまみ40の色が変化する。色が変化したボリュームつまみ40をマウスで右クリックすると図13に示す選択メニュー290が表示され、選択メニュー290中に選択項目として「所有」が表示される。またリモートユーザに所有されている第二種オブジェクトを選択する場合、そのオブジェクトに対応する部分をマウスで右クリックすることで表示される選択メニュー290に「所有」の代わりに「移転」という選択項目が表示される。「所有」又は「移転」をマウスで左クリックすると、選択したボリュームつまみ40に対応する第二種オブジェクト34についてローカルユーザに対する所有権の設定をリモートユーザに請求する処理が開始される。
【0030】
図14は、ボリュームつまみ40についてリモートユーザから所有権の設定を請求されたとき、表示装置15にステータス情報が表示された状態を表す図である。リモートユーザから所有権が請求されると、図示するように所有権が請求されたボリュームつまみ40の色が変化し「所有要求:”請求元リモートユーザのユーザ名”」というステータス情報が表示される。所有権の移転が請求されたボリュームつまみ40をマウスで左クリックすると、図15に示す許可画面291が表示され、[YES]をクリックすると所有権の移転が請求されたボリュームつまみ40について図16に示すように「所有中:”請求元リモートユーザのユーザ名”」というステータス情報が表示される。
【0031】
以上、対話プロセスで制御される画面について説明した。以下、排他制御装置1aのハードディスク14に格納されているファイル30を排他制御装置1aのユーザと排他制御装置1bのユーザが共有し、排他制御装置1aに格納された情報と排他制御装置1bに格納された情報の同期を取りながら、ファイル30を共同で編集する場合を例に説明する。以下の処理はデータ編集装置1のCPU11がデータ編集プログラム2をRAM13にロードして実行することで行われる。
【0032】
図17は、オブジェクトが他のユーザに所有されていないときの、所有権の新規設定を請求及び許諾する処理の流れを表すシーケンス図である。ローカルユーザが所有権を請求する操作を行うと、データ編集装置1は請求対象オブジェクトの識別情報と請求元ユーザの識別情報とを全てのリモートユーザのデータ編集装置1に送信し、所有権を請求する(S105)。具体的には例えば次のように処理する。データ編集装置1aの対話プロセスは、データ画面28又は操作画面29でユーザにより所有権を請求する操作が行われたとき、(”オブジェクト情報”、”所有権請求”)を中継プロセスに出力する。データ編集装置1aの中継プロセスは、データ編集装置1bを含む全てのデータ編集装置1に(”オブジェクト情報”、”所有権請求”、”データ編集装置1aのユーザ名”)を送信する。
【0033】
データ編集装置1はリモートユーザから所有権の移転を請求されると、所有権が請求されていることを表示や音でローカルユーザに案内する(S110)。具体的には例えば次のように処理する。データ編集装置1bの中継プロセスは、データ編集装置1aから(”オブジェクト情報”、”所有権請求”、”データ編集装置1aのユーザ名”)を受信したとき、それらの情報を対話プロセスに出力する。データ編集装置1bの対話プロセスは、データ画面28又は操作画面29の当該オブジェクトを表示している部分の色を変化させ、その部分に「所有要求:”データ編集装置1aのユーザ名”」を表示する。
【0034】
リモートユーザから所有権を請求されたローカルユーザが所有権の新規設定を許諾する操作を行うと、データ編集装置1はローカルユーザによって許諾されたことを請求元リモートユーザに通知する(S115)。具体的には例えば次のように処理する。データ編集装置1bの対話プロセスは、ローカルユーザが所有権を許諾する操作を行ったとき、(”オブジェクト情報”、”所有許諾”)を中継プロセスに出力する。データ編集装置1bの中継プロセスは、(”オブジェクト情報”、”所有許諾”、”データ編集装置1bのユーザ名”)をデータ編集装置1aに送信する。
【0035】
請求元ユーザのデータ編集装置1は、すべての請求先リモートユーザから許諾されたことを通知されると、所有権を請求したオブジェクトのローカルの属性データ32について所有権をローカルユーザに設定することによりローカルユーザによる当該オブジェクトの加工を可能にするとともに、ローカルユーザに所有権が設定されたことを全てのリモートユーザに通知し、全てのユーザのデータ編集装置1において属性データを同期更新させる(S120)。具体的には例えば次のように処理する。データ編集装置1aの中継プロセスは、データ編集装置1bを含む全てのリモートユーザのデータ編集装置1から(”オブジェクト情報”、”所有許諾”、”データ編集装置1のユーザ名”)を受信したとき、(”オブジェクト情報”、”所有更新”、”データ編集装置1aのユーザ名”)を引数として属性更新プロセスを呼び出すとともに全てのリモートユーザのデータ編集装置1に(”オブジェクト情報”、”所有更新”、”データ編集装置1aのユーザ名”)を送信する。全てのデータ編集装置1において、属性更新プロセスはオブジェクト情報で特定されるオブジェクトの属性データ32について所有者をデータ編集装置1aのユーザ名に設定する。全てのユーザのデータ編集装置1では、対話プロセスが属性データに基づいて当該オブジェクトについて「所有中:”データ編集装置1aのユーザ名”」を表示する。
【0036】
図18は、ユーザがオブジェクトを加工する処理の流れを表すシーケンス図である。
ユーザがオブジェクトを加工する操作を行うと、当該オブジェクトについてローカルユーザに所有権が無いとき、データ編集装置1はその加工を禁止する(S205)。具体的には例えば次のように禁止する。データ編集装置1bの対話プロセスは、マウスなどによりオブジェクトが選択されたとき、そのオブジェクトについて所有権が設定されているユーザのユーザ名を属性データ32から中継プロセスを介して取得し、所有権が設定されているユーザのユーザ名とローカルユーザのユーザ名とを比較する。ユーザ名が一致しないとき、対話プロセスは選択されたオブジェクトに対する更新データの入力を拒絶し、例えばエラーメッセージ、エラー音などを出力する。
【0037】
ローカルユーザにオブジェクトの所有権が設定されているとき、データ編集装置1はローカルユーザに加工を許可し、ローカルユーザによりオブジェクトが編集されると更新データを記憶するとともに(S210)、オブジェクトが編集されたことを全てのリモートユーザに通知し、全てのユーザのデータ編集装置1において同期更新フラグに1をセットさせる(S215)。具体的には例えば、データ編集装置1aの対話プロセスは、ローカルユーザがオブジェクトを加工する操作を行って更新データを入力すると、データ編集装置1aの中継プロセスに(”当該オブジェクト情報”、”編集あり”)を出力する。また、編集プロセスは更新データをRAM13に記憶させる。ここでオブジェクトを加工する操作とはキーボードからデータを入力したり、ボリュームつまみ40を上下に移動させたりすることである。データ編集装置1aの中継プロセスは、データ編集装置1bを含む全てのデータ編集装置1に(”当該オブジェクト情報”、編集あり”)を送信する。全てのデータ編集装置1において、属性更新プロセスはオブジェクト情報で特定されるオブジェクトの属性データ32について同期更新フラグに1をセットする。全てのユーザのデータ編集装置1では、同期更新フラグに1がセットされると対話プロセスが当該オブジェクトについて「所有中:”データ編集装置1aのユーザ名”」の表示を「編集あり:”データ編集装置1aのユーザ名”」に変更する。
【0038】
尚、ローカルユーザのデータ編集装置1は、ローカルユーザが加工の操作を行う毎に、あるいは一定時間毎にリモートユーザに更新データを通知してもよい。また、リモートユーザのデータ編集装置1は、当該オブジェクトの編集データを更新データで更新することなしに、当該オブジェクトについて通知された更新データを表示するようにしてもよい。
【0039】
図19は、他のユーザに対し同期更新を請求及び許諾する処理の流れを表すシーケンス図である。ローカルユーザにより同期更新を請求する操作が行われたときデータ編集装置1は全てのリモートユーザのデータ編集装置1に同期更新を請求する(S305)。具体的には例えば次のように処理する。ローカルの編集データを加工したユーザのデータ編集装置1aの対話プロセスは、加工したオブジェクトについて更新を請求する操作が行われると、(”オブジェクト情報”、”同期更新請求”、”更新データ”)を中継プロセスに出力する。更新データは編集プロセスから出力される。データ編集装置1aの中継プロセスは、データ編集装置1bを含む全てのリモートユーザのデータ編集装置1にそれらの情報を送信する。
【0040】
データ編集装置1はリモートユーザから同期更新を請求されると、同期更新が請求されていることを表示や音でローカルユーザに案内する(S310)。具体的には例えば次のように処理する。中継プロセスは、データ編集装置1aから(”オブジェクト情報”、”同期更新請求”、”更新データ”)を受信したとき、(”オブジェクト情報”、”同期更新請求”)を対話プロセスに出力する。対話プロセスは、当該オブジェクト情報で一意に識別されるオブジェクトを表示している部分の色を変化させ、その部分について「更新要求:”データ編集装置1aのユーザ名”」を表示する。また更新されない場合に元の状態に戻せるように、当該オブジェクトの編集データを更新データで更新することなしに当該オブジェクトについて更新データを表示する。
【0041】
リモートユーザから同期更新を請求されたローカルユーザが同期更新を許諾する操作を行うと、データ編集装置1はローカルユーザによって許諾されたことを請求元リモートユーザに通知する(S315)。具体的には例えば次のように処理する。データ編集装置1bの対話プロセスは、ローカルユーザが同期更新を許諾する操作を行うと、(”オブジェクト情報”、”同期更新許諾”)を中継プロセスに出力する。データ編集装置1bの中継プロセスは、対話プロセスから(”オブジェクト情報”、”同期更新許諾”)が出力されたとき、(”オブジェクト情報”、”同期更新許諾”、”データ編集装置1bのユーザ名”)をデータ編集装置1aに送信する。
【0042】
同期更新の請求元ユーザのデータ編集装置1では、全てのリモートユーザによって同期更新が許可されると、ローカルのオブジェクトを更新データで更新すると共に、全てのリモートユーザのデータ編集装置1に同期更新されたことを通知し、全てのユーザのデータ編集装置1において編集データ及び属性データを同期更新させる(S320)。具体的には例えば次のように処理する。データ編集装置1aの中継プロセスは、データ編集装置1bを含む全てのリモートユーザのデータ編集装置1から(”オブジェクト情報”、”同期更新許諾”)を受信したとき、(”オブジェクト情報”、”更新データ”)を引数として更新プロセスを呼び出す。更新プロセスは、オブジェクト情報で一意に識別されるオブジェクトを、引数として渡された更新データで更新するとともに属性データの同期更新フラグをリセットする。全てのデータ編集装置1の対話プロセスは、データ画面28又は操作画面29において当該オブジェクトについて「所有中:”データ編集装置1aのユーザ名”」を表示する。
【0043】
図1は、オブジェクトの所有権がデータ編集装置1aのユーザに設定されているときに、当該オブジェクトの所有者であるユーザに自分自身(データ編集装置1bのユーザ)に対する所有権の設定、すなわち移転を請求及び許諾する処理の流れを表すシーケンス図である。
【0044】
ローカルユーザが既にリモートユーザに所有権が設定されているオブジェクトについて所有権の移転を請求する操作を行うと、データ編集装置1は請求対象オブジェクトの識別情報と請求元ユーザの識別情報とを当該リモートユーザのデータ編集装置1に送信し、所有権の移転を請求する(S405)。具体的には例えば次のように処理する。データ編集装置1bの対話プロセスは、データ画面28又は操作画面29でローカルユーザによりデータ編集装置1aのリモートユーザに所有権が設定されているオブジェクトに対する所有権の移転を請求する操作が行われたとき、(”オブジェクト情報”、”所有権移転請求”、”データ編集装置1aのユーザ名”)を中継プロセスに出力する。データ編集装置1bの中継プロセスは、データ編集装置1aに(”オブジェクト情報”、”所有権移転請求”、”データ編集装置1bのユーザ名”)を送信する。
【0045】
データ編集装置1はリモートユーザから所有権の移転を請求されると、所有権の移転が請求されていることを表示、音などでローカルユーザに案内する(S410)。具体的には例えば次のように処理する。データ編集装置1aの中継プロセスは、データ編集装置1bから(”オブジェクト情報”、”所有権移転請求”、”データ編集装置1bのユーザ名”)を受信したとき、それらの情報を対話プロセスに出力する。対話プロセスは、データ画面28又は操作画面29の当該オブジェクトについて表示されている「所有中:”データ編集装置1aのユーザ名”」を「所有権移転請求:”データ編集装置1bのユーザ名”」に変更する。
【0046】
リモートユーザから所有権の移転を請求されたローカルユーザが所有権の移転を許諾する操作を行うと、データ編集装置1はローカルユーザによって許諾されたことを請求元リモートユーザに通知する(S415)。具体的には例えば次のように処理する。データ編集装置1aの対話プロセスは、ローカルユーザが許可画面281又は291で[YES]をクリックして所有権を許諾する操作を行ったとき、(”オブジェクト情報”、”所有移転許諾”)を中継プロセスに出力する。データ編集装置1aの中継プロセスは、(”オブジェクト情報”、”所有移転許諾”)をデータ編集装置1bに送信する。
【0047】
請求元ユーザのデータ編集装置1は、リモートユーザから所有権の移転を許諾したことを通知されると、所有権の移転を請求したオブジェクトのローカルの属性データ32について所有者をローカルユーザに設定することによりローカルユーザによる当該オブジェクトの加工を可能にするとともに、ローカルユーザに所有権が設定されたことを全てのリモートユーザに通知し、全てのユーザのデータ編集装置1において属性データ32を同期更新させる(S420)。具体的には例えば次のように処理する。データ編集装置1bの中継プロセスは、データ編集装置1aから(”オブジェクト情報”、”所有移転許諾”)を受信したとき、(”オブジェクト情報”、”データ編集装置1bのユーザ名”)を引数として属性更新プロセスを呼び出すとともに全てのリモートユーザのデータ編集装置1に(”オブジェクト情報”、”所有更新”、”データ編集装置1bのユーザ名”)を送信する。全てのデータ編集装置1において、属性更新プロセスはオブジェクト情報で特定されるオブジェクトの属性データ32について所有者をデータ編集装置1bのユーザ名に設定する。全てのユーザのデータ編集装置1では、対話プロセスが属性データに基づいて当該オブジェクトについて「所有中:”データ編集装置1aのユーザ名”」の表示を「所有中:”データ編集装置1bのユーザ名”」に変更する。
【0048】
以上、データ編集装置1の作動について説明した。本発明の実施例では、特許請求の範囲に記載の「所有権管理手段」は、CPU11、RAM13などで構成され、その機能は属性更新プロセスによって実現されている。特許請求の範囲に記載の「排他制御手段」は、CPU11、RAM13、表示装置15などで構成され、その機能は対話プロセスによって実現されている。特許請求の範囲に記載の「ステータス案内手段」は、CPU11、RAM13及び表示装置15などで構成され、その機能は対話プロセスによって実現されている。特許請求の範囲に記載の「所有対話手段」の機能は、ネットワークI/O16、CPU11、RAM13、表示装置15、入力装置18などで構成され、その機能は対話プロセスによって実現されている。特許請求の範囲に記載の「同期対話手段」の機能は、ネットワークI/O16、CPU11、RAM13、表示装置15、入力装置18などで構成され、その機能は対話プロセスによって実現されている。
【0049】
本実施例のデータ編集装置1によると、これから加工しようとするオブジェクトに対して所有権のないユーザは、所有権を有するリモートユーザに対して所有権の自己への移転を請求し、リモートユーザから所有権を移転してもらうことにより、所有権が自分自身に移転されるまで単に受け身で待機する場合に比べて早期に所有権を得ることができる。したがって、本実施例のデータ編集装置1によると、互いに共有しているファイル30を複数のユーザで内容の同期を取りつつ効率よく処理することができる。
【0050】
本実施例のデータ編集装置1によると、オブジェクトが誰に所有されているか、オブジェクトが編集され同期更新されていない状態であるか、などを示す情報を表示、音などによってユーザに案内するため、あるオブジェクトが将来の同期更新により変更されるであろうことを、そのオブジェクトについて所有権を持たないユーザが知り得るため、複数のユーザによる円滑な共同作業が可能になる。
【0051】
さらに本実施例のデータ編集装置1によると、所有権の設定と同期更新とを2段階に分けて請求及び許諾できる。すなわち、所有権を許諾されたユーザによってなされたオブジェクトに対する加工について無条件に同期更新を許諾するのではなく、全てのユーザが同期更新を許諾してはじめて同期更新を実行する。このため、ファイル30を処理する複数のユーザ全体の統一的処理が可能になる。
【0052】
さらに本実施例のデータ編集装置1によると、第一種オブジェクト単位及び第二種オブジェクト単位で所有権を設定することができる。具体的には例えば、データ編集装置1aのユーザがMIDIデータの一部分を所有して加工する一方で、同じMIDIデータに対しデータ編集装置1bのユーザがそのMIDIデータの再生ボリュームの調整を行うといったようにきめ細かく作業を分担した共同作業が可能になる。
【0053】
尚、本実施例では排他制御装置をデータ編集装置1に適用したが、排他制御装置を例えばMIDIデータの入出力、加工、演奏が可能な電子楽器に適用してもよい。こうした電子楽器は一般にデータを表示、加工するための表示装置や鍵盤、トラック毎に音量を調整するためのボリュームつまみ等を備えており、そうしたボリュームつまみはデータ編集装置1のキーボードやマウスに相当する。
【0054】
また、本実施例ではデータ画面28及び操作画面29で、オブジェクトについて所有権が設定されていないユーザにより加工の操作がなされたとき、対話プロセスがその加工の操作を受け付けないことで排他制御を行っているが、見かけ上は加工の操作を受け付け、同期更新の操作を受け付けないことで排他制御を行うようにしてもよい。同期更新の操作を受け付けないこととは、例えば加工したオブジェクトを表示している部分がクリックされたとき、表示されたメニューの「更新」を選択できないようにすることである。これによりユーザは所有権の無いオブジェクトについても自由に加工をできつつファイル30の整合性を保つことができる。
【0055】
また、本実施例では複数のデータ編集装置1がそれぞれ自律的にオブジェクトの所有権を設定する例を説明したが、ファイル30をハードディスク14に格納しているデータ編集装置1が所有権の設定を集中して管理し、他のデータ編集装置1はファイル30を格納しているデータ編集装置1のみと所有権に関する情報を送受信するようにしてもよい。
【0056】
また、本実施例では処理の対象となるデータとしてMIDIデータ等の音源データを例に説明したが、処理の対象となるデータはワードプロセッサで作成したデータであってもよい。この場合、データ画面28はワードプロセッサのテキスト入力領域に相当し、操作画面29は表示される書式設定や印刷等の操作を選択するための選択項目を表示するメニュー、あるいは書式設定や印刷等を指示するためのアイコン等に相当する。
【図面の簡単な説明】
【図1】本発明の一実施例である排他制御装置が所有されているオブジェクトの所有権の移転を請求及び許諾する処理の流れを表すシーケンス図である。
【図2】本発明の一実施例である排他制御装置を通信ネットワークに接続した様子を表す図である。
【図3】本発明の一実施例である排他制御装置のハードウェア構成を示すブロック図である。
【図4】本発明の一実施例である排他制御装置が有するファイルの構造を示す模式図である。
【図5】本発明の一実施例である排他制御プログラムのモジュール構成を表すブロック図である。
【図6】本発明の一実施例である排他制御装置の第一種オブジェクトを加工する画面を表す図である。
【図7】本発明の一実施例である排他制御装置の第一種オブジェクトを加工する画面においてオブジェクトを選択した状態を表す図であり、
【図8】本発明の一実施例である排他制御装置の操作の選択を行うメニューを表す図である。
【図9】本発明の一実施例である排他制御装置の画面にステータス情報が案内された状態を表す図である。
【図10】本発明の一実施例である排他制御装置の所有権の移転を許可するための画面を表す図である。
【図11】本発明の一実施例である排他制御装置の画面にステータス情報が案内された状態を表す図である。
【図12】本発明の一実施例である排他制御装置の第二種オブジェクトを表示する画面を表す図である。
【図13】本発明の一実施例である排他制御装置の操作の選択を行うメニューである。
【図14】本発明の一実施例である排他制御装置の画面にステータス情報が表示された状態を表す図である。
【図15】本発明の一実施例である排他制御装置の所有権の移転を許可するための画面を表す図である。
【図16】本発明の一実施例である排他制御装置の画面にステータス情報が表示された状態を表す図である。
【図17】本発明の一実施例である排他制御装置が所有されていないオブジェクトの所有権を請求及び許諾する処理の流れを表すシーケンス図である。
【図18】本発明の一実施例である排他制御装置がオブジェクトを加工する処理の流れを表すシーケンス図である。
【図19】本発明の一実施例である排他制御装置が同期更新を請求及び許諾する処理の流れを表すシーケンス図である。
【符号の説明】
1 排他制御装置
2 排他制御プログラム
11 CPU(所有権管理手段、排他制御手段、ステータス案内手段、所有対話手段、同期対話手段)
12 ROM
13 RAM(所有権管理手段、排他制御手段、ステータス案内手段、所有対話手段、同期対話手段)
14 ハードディスク
15 表示装置)排他制御手段、ステータス案内手段、所有対話手段、同期対話手段)
16 ネットワークI/O(所有対話手段、同期対話手段)
17 バス
18 入力装置(所有対話手段、同期対話手段)
21 中央制御モジュール
22 データ編集制御モジュール
23 データ更新制御モジュール
24 属性更新制御モジュール
25 ユーザインタフェース制御モジュール
28 データ画面
29 操作画面
30 ファイル
31 編集データ
32 属性データ
Claims (9)
- 互いに共有しているファイルを複数のユーザで加工するための排他制御装置であって、
ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理手段と、
当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御手段と、
リモートユーザに対し所有権を請求及び許諾するための所有対話手段と、
を備えることを特徴とする排他制御装置。 - オブジェクトの同期更新前の不整合状態をユーザに識別可能にするステータス案内手段をさらに備えることを特徴とする請求項1に記載の排他制御装置。
- 所有権の設定されているオブジェクトに対する同期更新をリモートユーザに対し請求及び許諾するための更新対話手段をさらに備えることを特徴とする請求項1又は2に記載の排他制御装置。
- 前記所有権管理手段は、第一種オブジェクトに対する処理の制御情報に相当する第二種オブジェクト単位にユーザの所有権を設定することを特徴とする請求項1、2又は3に記載の排他制御装置。
- 互いに共有しているファイルを複数のユーザで処理するための排他制御方法であって、
ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理工程と、
当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御工程と、
他ユーザに対し所有権の移転を請求及び許諾するための移転対話工程と、
を含むことを特徴とする排他制御方法。 - オブジェクトの同期更新前の不整合状態をユーザに識別可能にするステータス案内工程をさらに含むことを特徴とする請求項5に記載の排他制御方法。
- 所有権の設定されているオブジェクトに対する同期更新を他ユーザに対し請求及び許諾するための更新対話工程をさらに含むことを特徴とする請求項5又は6に記載の排他制御方法。
- 前記所有権管理工程において、第一種オブジェクトに対する処理の制御情報に相当する第二種オブジェクト単位にユーザの所有権を設定することを特徴とする請求項5、6又は7に記載の排他制御方法。
- 互いに共有しているファイルを複数のユーザで処理するための排他制御装置を、
ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理手段と、
当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御手段と、
リモートユーザに対し所有権を請求及び許諾するための所有対話手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237588A JP2004078535A (ja) | 2002-08-16 | 2002-08-16 | 排他制御装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237588A JP2004078535A (ja) | 2002-08-16 | 2002-08-16 | 排他制御装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004078535A true JP2004078535A (ja) | 2004-03-11 |
Family
ID=32021281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002237588A Pending JP2004078535A (ja) | 2002-08-16 | 2002-08-16 | 排他制御装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004078535A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584199B2 (en) | 2004-06-28 | 2009-09-01 | Konica Minolta Business Technologies, Inc. | System and server for managing shared files |
JP2011519105A (ja) * | 2008-04-28 | 2011-06-30 | マイクロソフト コーポレーション | 競合の解決 |
JP2014517949A (ja) * | 2011-04-08 | 2014-07-24 | リープマン,アンドリュー | プロジェクト共有のためのシステム、コンピュータ可読記憶媒体およびコンピュータ実装方法 |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
US8990150B2 (en) | 2007-11-09 | 2015-03-24 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US9552843B2 (en) | 2008-06-19 | 2017-01-24 | Andrew Liebman | Media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems |
-
2002
- 2002-08-16 JP JP2002237588A patent/JP2004078535A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584199B2 (en) | 2004-06-28 | 2009-09-01 | Konica Minolta Business Technologies, Inc. | System and server for managing shared files |
US8990150B2 (en) | 2007-11-09 | 2015-03-24 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US9547635B2 (en) | 2007-11-09 | 2017-01-17 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US10394941B2 (en) | 2007-11-09 | 2019-08-27 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
US20140373108A1 (en) | 2007-12-14 | 2014-12-18 | Microsoft Corporation | Collaborative authoring modes |
US10057226B2 (en) | 2007-12-14 | 2018-08-21 | Microsoft Technology Licensing, Llc | Collaborative authoring modes |
JP2011519105A (ja) * | 2008-04-28 | 2011-06-30 | マイクロソフト コーポレーション | 競合の解決 |
US9760862B2 (en) | 2008-04-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | Conflict resolution |
US9552843B2 (en) | 2008-06-19 | 2017-01-24 | Andrew Liebman | Media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems |
JP2014517949A (ja) * | 2011-04-08 | 2014-07-24 | リープマン,アンドリュー | プロジェクト共有のためのシステム、コンピュータ可読記憶媒体およびコンピュータ実装方法 |
US9626375B2 (en) | 2011-04-08 | 2017-04-18 | Andrew Liebman | Systems, computer readable storage media, and computer implemented methods for project sharing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8099478B2 (en) | Program, method, and apparatus for managing applications | |
US6636889B1 (en) | System and method for client replication of collaboration space | |
EP1437656A2 (en) | System and method for distributed multimodal collaboration using a tuple-space | |
US9304833B2 (en) | System and method of providing inter-application communications | |
JPH10228402A (ja) | 文書共有管理方法 | |
US7023452B2 (en) | Image generation system, image generating method, and storage medium storing image generation program | |
JP4676784B2 (ja) | プロセス管理装置、プロセス管理方法及びプロセス管理プログラム | |
JPH10254870A (ja) | 共有辞書管理方法および共有辞書管理システム | |
JPH07262072A (ja) | ファイル管理装置 | |
JP2010086083A (ja) | 編集装置、編集プログラム、および編集方法 | |
CN110313148A (zh) | 用于分布式网络计算环境的web应用开放平台接口(WOPI)服务器架构和应用 | |
JP2005276170A (ja) | プロセス管理装置、ユーザ端末装置、プロセス管理プログラム、ユーザ端末プログラム、記録媒体、プロセス管理方法及びプロセス実行方法 | |
CN108369577A (zh) | 在电子文档之间共享内容 | |
CN112632919B (zh) | 一种文档编辑方法、装置、计算机设备和存储介质 | |
US20050228948A1 (en) | Software management method for a storage system, and storage system | |
US20050198025A1 (en) | Management of processes based on reference information | |
US20180096273A1 (en) | Managing projects in a content management system | |
US9032541B2 (en) | Information processing system, information processing apparatus, and computer-readable storage medium | |
US20060080447A1 (en) | Operation definition information producing method, operation definition information producing apparatus, operation definition information producing program, recording medium and data structure | |
JP2004078535A (ja) | 排他制御装置、方法及びプログラム | |
JP2002049637A (ja) | データベース管理方法及び装置並びに記録媒体 | |
US7865545B1 (en) | System and method for independent room security management | |
CZ9903576A3 (cs) | Mobilní objekty, zpusob pro rízení mobilních objektu, zpusob a zarízení pro generování skupiny mobilních objektu a pametové médium pro ukládání programu pro generování skupiny mobilních objektu | |
CN114997805A (zh) | 审批业务的配置方法、装置、电子设备和存储介质 | |
JP2005227960A (ja) | プロセス編集支援装置、プロセス管理装置、プロセス編集支援プログラム、プロセス管理プログラム、記録媒体、プロセス編集支援方法及びプロセス管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050310 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060628 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080604 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081024 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081119 |