JP2004078535A - Exclusive control device, method, and program - Google Patents

Exclusive control device, method, and program Download PDF

Info

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
Application number
JP2002237588A
Other languages
Japanese (ja)
Inventor
Hiroki Anada
穴田 啓樹
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002237588A priority Critical patent/JP2004078535A/en
Publication of JP2004078535A publication Critical patent/JP2004078535A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an exclusive control device, program, and method allowing efficient processing of a mutually shared file by a plurality of users. <P>SOLUTION: The exclusive control device for processing the mutually shared file by the plurality of users is provided with an ownership managing means for setting ownership of a user in object units in the file, an exclusive control means for forbidding processing to an object by a user without ownership in relation to the object, and a possession interacting means for requesting and permitting ownership with respect to a remote user. An exclusive control device 1b can request transfer of ownership of an object A to an exclusive control device 1a (S405), and when the exclusive control device 1a allows the transfer of the ownership (S415), the exclusive control device 1b can own the object A (S420). <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、互いに共有しているファイルを複数のユーザで処理するための排他制御装置、プログラム及び方法に関する。
【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 属性データ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an exclusive control device, a program, and a method for processing files shared by each other by a plurality of users.
[0002]
[Prior art]
Conventionally, in a distributed processing system, a client server system, or the like, partial exclusive control of a shared file is performed. As one example, exclusive control in units of transactions in a database and exclusive control in units of objects in a file in a collaborative work using a CASE tool (computer aided software engineering tool) are known.
[0003]
For example, in the exclusive control of the client server system, when a procedure for an object of a shared file is executed by a request from a client, a flag for prohibiting execution of the procedure in response to a request from another client is set for the object. When the flag is set in this way, that is, when the exclusive ownership of the client for the object is set, the period until the flag is reset (exclusive control period), other clients, that is, clients without ownership, Objects with flags set cannot be processed.
[0004]
[Problems to be solved by the invention]
If the exclusion control period is short, it does not cause a big problem.However, when the start and end of the exclusion control period are not automatically determined according to the critical section, but determined by the client user's will, the exclusion control is performed. The period is easily prolonged.
[0005]
However, during the exclusive control period, a user who does not have ownership of an object that is under exclusive control is transferred from the user with exclusive ownership to himself without knowing when the ownership is set to himself. You have to wait until the rights are transferred. Therefore, when the exclusive control period is prolonged, there is a problem in terms of a reduction in the resource operation rate and a reduction in the user's work efficiency when viewed in a plurality of systems that process shared files.
[0006]
The present invention has been created to solve such a problem, and an object of the present invention is to provide an exclusive control device, a program, and a method capable of efficiently processing a file shared with each other by a plurality of users. I do.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, an exclusive control device according to the present invention includes an ownership management unit that sets a user's ownership for each object in a file, and prohibits a user who does not own the object from processing the object. Exclusive control means, and proprietary dialogue means for requesting and granting ownership to the remote user. The possession dialogue means implements a function of requesting the ownership of the remote user and permitting the ownership of the ownership from the remote user. For this reason, a user who does not own the object to be processed in the future requests the other user who owns the ownership to transfer the ownership to himself, and transfers the ownership from the other user. By having them, they can get the ownership earlier than if they simply wait passively until the ownership is transferred to themselves. Therefore, according to the exclusive control device of the present invention, a file shared with each other can be efficiently processed by a plurality of users.
[0008]
Further, the exclusive control device according to the present invention is further characterized by further comprising status guide means for enabling a user to identify an inconsistent state of the object before the synchronous update. Non-owning users of an object may know that an object will be changed by future synchronous updates, allowing for smooth collaboration by multiple users.
[0009]
Further, the exclusive control device according to the present invention is further characterized by further comprising update dialogue means for requesting and permitting a remote user to perform synchronous update on an object for which ownership is set. A plurality of users who process shared files, because it is possible to execute a synchronous update only after the permission of another user has been obtained, instead of performing an unconditional synchronous update on the processing performed on an object performed by a certain user The whole unified processing becomes possible.
[0010]
Further, the ownership management means of the exclusive control device according to the present invention is characterized in that the ownership of a user is set in units of a second type object corresponding to control information of processing on a first type object. Thus, for example, while setting the ownership for processing a certain object to a certain user, and setting the ownership for processing control information for outputting the object to another user, a detailed Ownership can be set. Specifically, for example, it is possible to perform a collaborative work in which an editor of sound source data itself such as a sound source waveform and an editor of output conditions such as a balance setting of a reproduction volume of a plurality of sound source data are individually set.
[0011]
Each function of the plurality of means provided in the exclusive control device according to the present invention is realized by an arbitrary combination of hardware resources whose functions are specified by the configuration itself and hardware resources whose functions are specified by a program. . The functions of the plurality of means are not limited to those realized by hardware resources which are physically independent of each other.
[0012]
Further, the present invention can be specified not only as an invention of an apparatus, but also as an invention of a program, an invention of a recording medium on which the program is recorded, and an invention of a method.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described based on examples. The embodiment described below is an example in which the exclusive control device of the present invention is applied to a data editing device.
[0014]
FIG. 2 is a diagram illustrating a state in which the data editing device 1 is connected to the communication network N. As shown in the figure, the data editing apparatuses 1 are communicably connected to each other via a communication network N such as a LAN, the Internet, and a telephone line.
[0015]
FIG. 3 is a block diagram illustrating a hardware configuration of the data editing device 1. As shown, the data editing device 1 includes a CPU 11, a ROM 12, a RAM 13, a hard disk 14, a display device 15, a network I / O 16, and an input device 18, and is interconnected by a bus 17. The CPU 11 executes the programs stored in the ROM 12 and the hard disk 14 to control each unit of the data editing apparatus 1, and also executes the exclusive control program according to the embodiment of the present invention to set the ownership of the user for each object. Processing, prohibiting a user who does not own the object from processing the object, requesting and granting ownership to another user, processing for enabling the user to identify an inconsistent state, and remote synchronization update It performs a process for charging and granting the user, and the like. The ROM 12 is a memory in which programs and data necessary for the operation of the CPU 11 are stored in advance, and the RAM 13 is a memory for temporarily storing programs, various data, and the like. The hard disk 14 stores an operating system (OS), an exclusive control program, files, and the like. The display device 15 includes a display device such as a liquid crystal display device or a CRT and a control circuit for them. The network I / O 16 is a so-called network interface card, a modem, or the like, and is configured to be connectable to the communication network N. The input device 18 is, for example, a keyboard or a mouse.
[0016]
FIG. 4 is a schematic diagram showing the structure of the file 30 edited by the data editing device 1. The file 30 includes a plurality of objects 51 and 52 including edit data 31 and attribute data 32.
[0017]
The edit data 31 is data to be substantively edited by the user. The editing data 31 includes data to be processed such as display, printing, sound emission, and the like, and data to be control information of the processing. The data to be processed specifically corresponds to sound source data such as MIDI data, text data created by a word processor, and the like. The data serving as the control information of the process specifically corresponds to, for example, a reproduction volume of the sound source data, a format of the text data, a data access restriction, and the like. Hereinafter, an object including data to be processed is referred to as a first type object, and an object including data to be control information of the process is referred to as a second type object. In FIG. 4, reference numeral 51 denotes a first type object, and 52 denotes a second type object.
[0018]
The attribute data 32 is data that is paired with the edit data 31 in the object, and is data indicating the ownership and the synchronization state of the edit data 31. More specifically, whether the attribute data 32 matches the identification information of the user who has set the ownership of the object including the attribute data and the files 30 of all the data editing apparatuses 1 connected to the network N This is data including a synchronous update flag indicating whether or not the data is not updated.
[0019]
In this embodiment, the ownership of the user is set for each object by providing the edit data 31 and the attribute data 32 in each object. However, the edit data 31 and the attribute data 32 may be associated using a table or the like. Good. Further, the edit data 31 and the attribute data 32 may be stored in one file or may be stored in separate files associated with each other.
[0020]
The structure of the file 30 has been described above. Next, the module configuration of the data editing program 2 will be described. FIG. 5 is a block diagram illustrating a module configuration of the data editing program 2.
[0021]
The central control module 21 is a module at the center of control, and is a module for causing the CPU 11 to execute a relay process for relaying information between the data editing apparatuses 1 and between the modules.
[0022]
The data editing control module 22 causes the CPU 11 to execute an editing process for editing, adding, deleting, or the like, the editing data stored in the RAM 13 based on data output from a user interface (UI) control process described later. Module. In the editing process, the object read from the file 30 stored in the hard disk 14 into the RAM 13 is processed separately from the data before the processing from the processing of the editing data by the local user to the permission of updating by the remote user. Then, the processed data is stored in the RAM 13 as update data.
[0023]
The data update control module 23 is a module for causing the CPU 11 to execute a data update process of updating the object by reflecting the update data stored in the RAM 13 on the object when the update of the object is permitted. .
[0024]
The attribute update control module 24 sets the ownership by updating the attribute data 32 and sets a synchronous update flag when the setting change of the ownership is permitted to the remote user or the editing data is processed. Is a module for causing the CPU 11 to execute an attribute update process. The attribute update process accesses the first type object 51 and the second type object 52 in the file 30 and updates the attribute data 32 in the object, so that the first type object and the second type object in the file 30 are updated. User ownership is set.
[0025]
The UI control module 25 includes a request for setting ownership, a request for guidance and setting permission, an exclusive control by accepting and rejecting input of update data, a request for synchronous update, a request for guidance and permission, and an inconsistent state before the synchronous update. Is a module for causing the CPU 11 to execute an interactive process for guiding the user, and controls various screens, which will be described later, and outputs instructions and data input using the input device 18 to the relay process. For example, the interactive process, based on the attribute data 32 of the object, prohibits the processing of the object when the ownership is not set to the local user, and when the editing of the editing data by the remote user causes an inconsistent state of the object. Guide it with signs, sounds, etc. Further, when the interactive process receives a request for setting ownership or a request for synchronous update from a remote user, the local user is guided by a display or sound.
[0026]
The module configuration of the data editing program 2 has been described above. Next, a screen controlled by the interactive process will be described.
FIG. 6 is a diagram illustrating an example of the data screen 28. The data screen 28 is a screen for displaying and processing the first type object, and a screen for requesting and permitting the setting of the ownership of the first type object and requesting and permitting the synchronous update. The illustrated data screen 28 is an example in which the edit data 31 is MIDI data, and shows a state in which ownership is not set for any object.
[0027]
FIG. 7 is a diagram illustrating a state in which a local user has selected a first-class object whose ownership is to be set for itself. In FIG. 6, when one of the first type objects is selected by dragging the sound source waveform of the track "02" with the mouse, the color of the selected portion (shaded portion) changes as shown in FIG. When the right portion of the portion corresponding to the object whose color has changed is clicked with the mouse, a selection menu 280 shown in FIG. 8 is displayed, and “Own” is displayed as a selection item in the selection menu 280. When selecting a first-class object owned by a remote user, the selection menu displayed by right-clicking on the part corresponding to the object with the mouse has a selection item of "move" instead of "own" Is displayed. When the user left-clicks on “own” or “move” with the mouse, a process for requesting the remote user to set the ownership of the first type object corresponding to the selected portion for the local user is started.
[0028]
FIG. 9 is a diagram illustrating a state where status information is displayed on the display device 15 of the data editing device 1 of the remote user when the ownership of the first type object is requested to the remote user. When a request for ownership is requested by the remote user, the color of the portion (hatched portion) corresponding to the requested object changes or flashes as shown in the figure, and "ownership request:" The status information "user name" is displayed. Left-clicking the portion corresponding to the charged object with the mouse displays a permission screen 281 shown in FIG. 10. If [YES] is clicked, the darkly changed portion as shown in FIG. The status information "user name of remote user" is displayed.
[0029]
FIG. 12 is a diagram illustrating an example of the operation screen 29. The operation screen 29 is a screen for performing processing on the second type object 33 and a screen for requesting and setting the ownership of the second type object 34. The illustrated operation screen 29 is an example in the case of performing volume adjustment when playing MIDI data. When the left knob of the volume knob 40 for which ownership is not set to any user with the mouse, the color of the selected volume knob 40 changes. When right-clicking on the volume knob 40 whose color has changed with a mouse, a selection menu 290 shown in FIG. 13 is displayed, and “Own” is displayed as a selection item in the selection menu 290. When selecting a second-type object owned by the remote user, a selection item “relocated” instead of “owned” appears in a selection menu 290 displayed by right-clicking a portion corresponding to the object with a mouse. Is displayed. If the user left-clicks “Own” or “Transfer” with the mouse, a process for requesting the remote user to set the ownership of the second-type object 34 corresponding to the selected volume knob 40 for the local user is started.
[0030]
FIG. 14 is a diagram illustrating a state in which status information is displayed on the display device 15 when a request for setting ownership of the volume knob 40 is requested by a remote user. When the ownership is requested by the remote user, the color of the volume knob 40 for which ownership has been requested changes as shown in the figure, and status information of "ownership request:" user name of remote user requesting "" is displayed. . Left-clicking on the volume knob 40 for which ownership transfer has been requested with the mouse, a permission screen 291 shown in FIG. 15 is displayed. Clicking [YES] displays the volume knob 40 for which ownership transfer has been requested as shown in FIG. As shown in the figure, the status information “Owned:“ User name of billing source remote user ”” is displayed.
[0031]
The screen controlled by the interactive process has been described above. Hereinafter, the file 30 stored in the hard disk 14 of the exclusive control device 1a is shared by the user of the exclusive control device 1a and the user of the exclusive control device 1b, and the information stored in the exclusive control device 1a and stored in the exclusive control device 1b. A case will be described as an example where the file 30 is edited jointly while synchronizing the received information. The following processing is performed when the CPU 11 of the data editing apparatus 1 loads the data editing program 2 into the RAM 13 and executes it.
[0032]
FIG. 17 is a sequence diagram illustrating a flow of a process of requesting and granting a new ownership setting when the object is not owned by another user. When the local user performs an operation of claiming ownership, the data editing apparatus 1 transmits the identification information of the billing object and the identification information of the billing source user to the data editing apparatuses 1 of all the remote users, and claims the ownership. (S105). Specifically, for example, the processing is performed as follows. The interactive process of the data editing device 1a outputs ("object information", "ownership request") to the relay process when the user performs an operation to request ownership on the data screen 28 or the operation screen 29. The relay process of the data editing device 1a transmits ("object information", "ownership request", "user name of the data editing device 1a") to all the data editing devices 1 including the data editing device 1b.
[0033]
Upon receiving a request for transfer of ownership from the remote user, the data editing apparatus 1 informs the local user of the request for ownership by display or sound (S110). Specifically, for example, the processing is performed as follows. When the relay process of the data editing device 1b receives (“object information”, “ownership request”, “user name of the data editing device 1a”) from the data editing device 1a, it outputs the information to the interactive process. . The interactive process of the data editing device 1b changes the color of the portion displaying the object on the data screen 28 or the operation screen 29, and displays “ownership request:“ user name of the data editing device 1a ”” at that portion. I do.
[0034]
When the local user whose ownership is requested by the remote user performs an operation of granting the new ownership, the data editing apparatus 1 notifies the requesting remote user that the permission has been granted by the local user (S115). Specifically, for example, the processing is performed as follows. The interactive process of the data editing device 1b outputs ("object information", "ownership") to the relay process when the local user performs an operation to grant ownership. The relay process of the data editing device 1b transmits (“object information”, “ownership permission”, “user name of the data editing device 1b”) to the data editing device 1a.
[0035]
When notified of the permission from all the billing remote users, the data editing apparatus 1 of the billing source user sets the ownership to the local user for the local attribute data 32 of the object for which the ownership is claimed by The local user can process the object, notify all the remote users that the ownership has been set to the local user, and synchronously update the attribute data in the data editing apparatus 1 of all the users (S120). . Specifically, for example, the processing is performed as follows. When the relay process of the data editing device 1a receives (“object information”, “ownership license”, “user name of the data editing device 1”) from the data editing devices 1 of all remote users including the data editing device 1b , (“Object information”, “ownership update”, “user name of data editing apparatus 1a”) as an argument to call the attribute update process, and to all remote user data editing apparatuses 1 (“object information”, “ownership update”). "," The user name of the data editing apparatus 1a "). In all data editing apparatuses 1, the attribute update process sets the owner of the attribute data 32 of the object specified by the object information to the user name of the data editing apparatus 1a. In the data editing device 1 of all users, the interactive process displays “in possession:“ user name of data editing device 1a ”” for the object based on the attribute data.
[0036]
FIG. 18 is a sequence diagram illustrating a flow of a process in which a user processes an object.
When the user performs an operation for processing an object, the data editing apparatus 1 prohibits the processing when the local user has no ownership of the object (S205). Specifically, for example, it is prohibited as follows. When an object is selected by a mouse or the like, the interactive process of the data editing device 1b acquires the user name of the user whose ownership is set for the object from the attribute data 32 via the relay process, and sets the ownership. The user name of the entered user is compared with the user name of the local user. If the user names do not match, the interactive process refuses to enter update data for the selected object and outputs, for example, an error message, an error sound, and the like.
[0037]
When the ownership of the object is set to the local user, the data editing apparatus 1 allows the local user to perform processing. When the object is edited by the local user, the data editing apparatus 1 stores update data (S210), and the object is edited. Is notified to all the remote users, and the synchronous update flag is set to 1 in the data editing apparatuses 1 of all the users (S215). More specifically, for example, when the local user performs an operation of processing an object and inputs update data, the interactive process of the data editing apparatus 1a enters (“the object information”, “edited” ") Is output. In the editing process, the update data is stored in the RAM 13. Here, the operation of processing the object means inputting data from the keyboard or moving the volume knob 40 up and down. The relay process of the data editing device 1a transmits (“the object information”, “edited”) to all the data editing devices 1 including the data editing device 1b. For the attribute data 32 of the object specified by the information, the synchronous update flag is set to 1. In the data editing apparatuses 1 of all the users, when the synchronous update flag is set to 1, the interactive process determines that the object is "owned: The display of "user name of data editing apparatus 1a" is changed to "edited:" user name of data editing apparatus 1a "".
[0038]
The local user's data editing apparatus 1 may notify the remote user of the update data every time the local user performs a processing operation or at regular intervals. Further, the data editing device 1 of the remote user may display the update data notified about the object without updating the edit data of the object with the update data.
[0039]
FIG. 19 is a sequence diagram illustrating a flow of a process of requesting and granting a synchronous update to another user. When the operation of requesting the synchronous update is performed by the local user, the data editing device 1 requests the synchronous updating to the data editing devices 1 of all the remote users (S305). Specifically, for example, the processing is performed as follows. The interactive process of the data editing apparatus 1a of the user who has processed the local editing data, when an operation for requesting an update on the processed object is performed, ("object information", "synchronous update request", "update data"). Output to the relay process. Update data is output from the editing process. The relay process of the data editing device 1a transmits the information to the data editing devices 1 of all the remote users including the data editing device 1b.
[0040]
Upon receiving a request for a synchronous update from the remote user, the data editing device 1 informs the local user of the request for the synchronous update by display or sound (S310). Specifically, for example, the processing is performed as follows. When the relay process receives (“object information”, “synchronous update request”, “update data”) from the data editing device 1a, it outputs (“object information”, “synchronous update request”) to the interactive process. The interactive process changes the color of the part displaying the object uniquely identified by the object information, and displays “update request:“ user name of data editing device 1a ”” for that part. Also, the update data is displayed for the object without updating the edit data of the object with the update data so that the object can be returned to the original state when the object is not updated.
[0041]
When the local user requested to perform the synchronous update by the remote user performs an operation of permitting the synchronous update, the data editing apparatus 1 notifies the remote user of the request that the local user has been granted the synchronous update (S315). Specifically, for example, the processing is performed as follows. The interactive process of the data editing device 1b outputs ("object information", "synchronization update permission") to the relay process when the local user performs an operation to permit synchronization update. When the relay process of the data editing device 1b outputs (“object information”, “synchronization update permission”) from the interactive process, it outputs “(object information”, “synchronization update permission”, “user name of the data editing device 1b” ") To the data editing device 1a.
[0042]
When the synchronous update is permitted by all the remote users, the data editing device 1 of the requesting user of the synchronous update updates the local object with the update data, and simultaneously updates the local object with the data editing device 1 of all the remote users. Then, the editing data and the attribute data are synchronously updated in the data editing apparatuses 1 of all the users (S320). Specifically, for example, the processing is performed as follows. When the relay process of the data editing device 1a receives (“object information”, “synchronization update permission”) from the data editing devices 1 of all remote users including the data editing device 1b, the relay process (“object information”, “update Invoke the update process with data ") as an argument. The update process updates an object uniquely identified by the object information with the update data passed as an argument and resets a synchronous update flag of the attribute data. The interactive process of all the data editing apparatuses 1 displays “in possession:“ user name of the data editing apparatus 1a ”” for the object on the data screen 28 or the operation screen 29.
[0043]
FIG. 1 shows that when ownership of an object is set to the user of the data editing device 1a, the ownership of the object (owner of the data editing device 1b) is set, that is, transferred to the user who is the owner of the object. FIG. 9 is a sequence diagram illustrating a flow of a process of requesting and granting a request.
[0044]
When the local user performs an operation for requesting the transfer of the ownership of the object for which the ownership is already set to the remote user, the data editing apparatus 1 compares the identification information of the billing object and the identification information of the billing user with the remote user. The request is transmitted to the data editing device 1 of the user, and a request for transfer of ownership is made (S405). Specifically, for example, the processing is performed as follows. The interactive process of the data editing device 1b is performed when the local user performs an operation on the data screen 28 or the operation screen 29 to request the remote user of the data editing device 1a to transfer ownership of an object for which ownership is set. , (“Object information”, “property transfer request”, “user name of data editing device 1a”) are output to the relay process. The relay process of the data editing device 1b transmits (“object information”, “request for ownership transfer”, “user name of the data editing device 1b”) to the data editing device 1a.
[0045]
When the transfer of ownership is requested by the remote user, the data editing device 1 displays the request for transfer of ownership to the local user by displaying, sounding, or the like (S410). Specifically, for example, the processing is performed as follows. When the relay process of the data editing device 1a receives (“object information”, “request for ownership transfer”, “user name of the data editing device 1b”) from the data editing device 1b, it outputs the information to the interactive process. I do. The interactive process changes the “owning:“ user name of the data editing device 1a ”” displayed for the object on the data screen 28 or the operation screen 29 into the “ownership request:“ user name of the data editing device 1b ””. Change to
[0046]
When the local user requested to transfer the ownership from the remote user performs an operation of granting the transfer of the ownership, the data editing apparatus 1 notifies the requesting remote user that the permission has been granted by the local user (S415). Specifically, for example, the processing is performed as follows. The interactive process of the data editing apparatus 1a relays (“object information”, “ownership transfer permission”) when the local user clicks “YES” on the permission screen 281 or 291 and performs an operation to grant ownership. Output to process. The relay process of the data editing device 1a transmits ("object information", "ownership permission") to the data editing device 1b.
[0047]
When notified by the remote user that the transfer of ownership has been permitted, the data editing device 1 of the billing source user sets the owner to the local user for the local attribute data 32 of the object for which the transfer of ownership has been requested. This allows the local user to process the object, notifies all the remote users that the ownership has been set to the local user, and updates the attribute data 32 in the data editing apparatus 1 of all the users synchronously. (S420). Specifically, for example, the processing is performed as follows. When the relay process of the data editing device 1b receives (“object information”, “ownership permission”) from the data editing device 1a, it uses (“object information”, “user name of the data editing device 1b”) as an argument. The attribute update process is called, and (“object information”, “ownership update”, “user name of data editing apparatus 1b”) is transmitted to data editing apparatuses 1 of all remote users. In all data editing apparatuses 1, the attribute update process sets the owner of the attribute data 32 of the object specified by the object information to the user name of the data editing apparatus 1b. In the data editing device 1 of all users, the interactive process displays the display of “owning:“ user name of data editing device 1a ”” for the object based on the attribute data as “owning:” user name of data editing device 1b. To "".
[0048]
The operation of the data editing device 1 has been described above. In the embodiment of the present invention, the "property management means" described in the claims is constituted by the CPU 11, the RAM 13, and the like, and the function is realized by an attribute updating process. The “exclusive control means” described in the claims includes a CPU 11, a RAM 13, a display device 15, and the like, and the functions thereof are realized by an interactive process. The "status guidance means" described in the claims is constituted by the CPU 11, the RAM 13, the display device 15, and the like, and the functions thereof are realized by an interactive process. The function of the “owned dialogue means” described in the claims includes a network I / O 16, a CPU 11, a RAM 13, a display device 15, an input device 18, and the like, and the function is realized by a dialogue process. The function of the "synchronous dialogue means" described in the claims includes a network I / O 16, a CPU 11, a RAM 13, a display device 15, an input device 18, and the like, and the function is realized by a dialog process.
[0049]
According to the data editing device 1 of the present embodiment, a user who does not own the object to be processed from now on requests the remote user who owns the ownership to transfer the ownership to himself, and By having ownership transferred, ownership can be obtained earlier than simply waiting passively until ownership is transferred to itself. Therefore, according to the data editing apparatus 1 of the present embodiment, the files 30 shared by each other can be efficiently processed while synchronizing the contents among a plurality of users.
[0050]
According to the data editing apparatus 1 of the present embodiment, information indicating who owns the object, whether the object is edited and not updated synchronously, etc. is displayed, and the user is guided by sound or the like. Non-owning users of an object may know that an object will be changed by future synchronous updates, allowing for smooth collaboration by multiple users.
[0051]
Further, according to the data editing device 1 of the present embodiment, the setting of the ownership and the synchronous update can be requested and permitted in two stages. That is, instead of unconditionally permitting a synchronous update for a process performed on an object performed by a user whose ownership has been granted, all users execute the synchronous update only after permitting the synchronous update. For this reason, unified processing of all users who process the file 30 can be performed.
[0052]
Further, according to the data editing apparatus 1 of the present embodiment, ownership can be set for each of the first type object and the second type object. Specifically, for example, while the user of the data editing apparatus 1a owns and processes a part of the MIDI data, the user of the data editing apparatus 1b adjusts the reproduction volume of the MIDI data for the same MIDI data. It enables collaborative work in which work is finely divided.
[0053]
Although the exclusive control device is applied to the data editing device 1 in the present embodiment, the exclusive control device may be applied to an electronic musical instrument capable of inputting / outputting, processing, and playing MIDI data, for example. Such electronic musical instruments generally include a display device for displaying and processing data, a keyboard, a volume knob for adjusting the volume of each track, and the like. .
[0054]
Further, in the present embodiment, when a processing operation is performed on the data screen 28 and the operation screen 29 by a user who does not have the ownership of the object, exclusive control is performed because the interactive process does not accept the processing operation. However, apparently, exclusive control may be performed by accepting a processing operation and not accepting a synchronous update operation. Not accepting a synchronous update operation means that, for example, when a portion displaying a processed object is clicked, “update” in the displayed menu cannot be selected. As a result, the user can freely process the object having no ownership while maintaining the consistency of the file 30.
[0055]
Further, in the present embodiment, an example has been described in which the plurality of data editing apparatuses 1 autonomously set the ownership of the object, but the data editing apparatus 1 storing the file 30 on the hard disk 14 sets the ownership. The data editing apparatus 1 may be managed in a centralized manner, and the other data editing apparatuses 1 may transmit and receive information regarding ownership only to the data editing apparatus 1 storing the file 30.
[0056]
In the present embodiment, sound source data such as MIDI data has been described as an example of data to be processed. However, data to be processed may be data created by a word processor. In this case, the data screen 28 is equivalent to a text input area of a word processor, and the operation screen 29 is a menu for displaying selection items for selecting an operation such as format setting or printing to be displayed, or instructing format setting or printing. And the like.
[Brief description of the drawings]
FIG. 1 is a sequence diagram illustrating a flow of a process for requesting and granting a transfer of ownership of an object owned by an exclusive control apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a state in which an exclusive control device according to an embodiment of the present invention is connected to a communication network.
FIG. 3 is a block diagram illustrating a hardware configuration of an exclusive control device according to an embodiment of the present invention.
FIG. 4 is a schematic diagram illustrating a file structure of an exclusive control device according to an embodiment of the present invention.
FIG. 5 is a block diagram illustrating a module configuration of an exclusive control program according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating a screen for processing a first type object of the exclusive control apparatus according to the embodiment of the present invention.
FIG. 7 is a diagram illustrating a state in which an object is selected on a screen for processing a first type object of the exclusive control apparatus according to the embodiment of the present invention;
FIG. 8 is a diagram illustrating a menu for selecting an operation of an exclusive control device according to an embodiment of the present invention.
FIG. 9 is a diagram illustrating a state in which status information is guided on a screen of an exclusive control device according to an embodiment of the present invention.
FIG. 10 is a diagram illustrating a screen for permitting transfer of ownership of an exclusive control device according to an embodiment of the present invention.
FIG. 11 is a diagram illustrating a state in which status information is guided to a screen of an exclusive control device according to an embodiment of the present invention.
FIG. 12 is a diagram illustrating a screen displaying a second type object of the exclusive control apparatus according to the embodiment of the present invention.
FIG. 13 is a menu for selecting an operation of the exclusive control device according to the embodiment of the present invention.
FIG. 14 is a diagram illustrating a state in which status information is displayed on a screen of an exclusive control device according to an embodiment of the present invention.
FIG. 15 is a diagram illustrating a screen for permitting transfer of ownership of an exclusive control device according to an embodiment of the present invention.
FIG. 16 is a diagram illustrating a state in which status information is displayed on a screen of an exclusive control device according to an embodiment of the present invention.
FIG. 17 is a sequence diagram illustrating a flow of a process of requesting and granting ownership of an object not owned by the exclusive control apparatus according to the embodiment of the present invention.
FIG. 18 is a sequence diagram illustrating a flow of a process of processing an object by the exclusive control device according to the embodiment of the present invention.
FIG. 19 is a sequence diagram illustrating a flow of a process in which the exclusive control apparatus according to the embodiment of the present invention requests and permits a synchronous update.
[Explanation of symbols]
1 Exclusive control device
2 Exclusive control program
11 CPU (ownership management means, exclusive control means, status guidance means, ownership dialogue means, synchronous dialogue means)
12 ROM
13 RAM (ownership management means, exclusive control means, status guidance means, ownership dialogue means, synchronous dialogue means)
14 Hard Disk
15 display device) exclusive control means, status guidance means, possession dialogue means, synchronous dialogue means)
16 Network I / O (owned dialogue means, synchronous dialogue means)
17 Bus
18 Input device (owned dialogue means, synchronous dialogue means)
21 Central control module
22 Data Editing Control Module
23 Data Update Control Module
24 Attribute update control module
25 User interface control module
28 Data screen
29 Operation screen
30 files
31 Editing data
32 Attribute data

Claims (9)

互いに共有しているファイルを複数のユーザで加工するための排他制御装置であって、
ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理手段と、
当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御手段と、
リモートユーザに対し所有権を請求及び許諾するための所有対話手段と、
を備えることを特徴とする排他制御装置。
An exclusive control device for processing a file shared with each other by a plurality of users,
Ownership management means for setting user ownership for each object in the file;
Exclusive control means for prohibiting a user who does not own the object from processing the object;
Proprietary interaction means for claiming and granting ownership to the remote user;
An exclusive control device comprising:
オブジェクトの同期更新前の不整合状態をユーザに識別可能にするステータス案内手段をさらに備えることを特徴とする請求項1に記載の排他制御装置。2. The exclusive control apparatus according to claim 1, further comprising status guide means for enabling a user to identify an inconsistent state of the object before the synchronous update. 所有権の設定されているオブジェクトに対する同期更新をリモートユーザに対し請求及び許諾するための更新対話手段をさらに備えることを特徴とする請求項1又は2に記載の排他制御装置。3. The exclusive control apparatus according to claim 1, further comprising an update dialogue unit for requesting and granting a synchronous update to the object for which the ownership is set to the remote user. 前記所有権管理手段は、第一種オブジェクトに対する処理の制御情報に相当する第二種オブジェクト単位にユーザの所有権を設定することを特徴とする請求項1、2又は3に記載の排他制御装置。4. The exclusive control device according to claim 1, wherein the ownership management unit sets the ownership of the user in units of a second type object corresponding to control information of processing on the first type object. . 互いに共有しているファイルを複数のユーザで処理するための排他制御方法であって、
ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理工程と、
当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御工程と、
他ユーザに対し所有権の移転を請求及び許諾するための移転対話工程と、
を含むことを特徴とする排他制御方法。
An exclusive control method for processing a file shared with each other by a plurality of users,
An ownership management process for setting user ownership for each object in the file;
An exclusive control step of prohibiting a user who does not own the object from processing the object,
A transfer dialogue process for requesting and granting a transfer of ownership to another user;
An exclusive control method characterized by including:
オブジェクトの同期更新前の不整合状態をユーザに識別可能にするステータス案内工程をさらに含むことを特徴とする請求項5に記載の排他制御方法。6. The exclusive control method according to claim 5, further comprising a status guidance step of enabling a user to identify an inconsistent state of the object before the synchronous update. 所有権の設定されているオブジェクトに対する同期更新を他ユーザに対し請求及び許諾するための更新対話工程をさらに含むことを特徴とする請求項5又は6に記載の排他制御方法。7. The exclusive control method according to claim 5, further comprising an update dialogue step for requesting and granting another user a synchronous update of the object for which ownership is set. 前記所有権管理工程において、第一種オブジェクトに対する処理の制御情報に相当する第二種オブジェクト単位にユーザの所有権を設定することを特徴とする請求項5、6又は7に記載の排他制御方法。8. The exclusive control method according to claim 5, wherein in the ownership management step, the ownership of the user is set for each second-type object corresponding to the control information of the processing on the first-type object. . 互いに共有しているファイルを複数のユーザで処理するための排他制御装置を、
ファイル内のオブジェクト単位にユーザの所有権を設定する所有権管理手段と、
当該オブジェクトについて所有権の無いユーザによる当該オブジェクトに対する加工を禁止する排他制御手段と、
リモートユーザに対し所有権を請求及び許諾するための所有対話手段として機能させるためのプログラム。
An exclusive control device for processing files shared with each other by multiple users,
Ownership management means for setting user ownership for each object in the file;
Exclusive control means for prohibiting a user who does not own the object from processing the object;
A program for functioning as a proprietary dialogue means for requesting and granting ownership to a remote user.
JP2002237588A 2002-08-16 2002-08-16 Exclusive control device, method, and program Pending JP2004078535A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002237588A JP2004078535A (en) 2002-08-16 2002-08-16 Exclusive control device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002237588A JP2004078535A (en) 2002-08-16 2002-08-16 Exclusive control device, method, and program

Publications (1)

Publication Number Publication Date
JP2004078535A true JP2004078535A (en) 2004-03-11

Family

ID=32021281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002237588A Pending JP2004078535A (en) 2002-08-16 2002-08-16 Exclusive control device, method, and program

Country Status (1)

Country Link
JP (1) JP2004078535A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
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 (en) * 2008-04-28 2011-06-30 マイクロソフト コーポレーション Conflict resolution
JP2014517949A (en) * 2011-04-08 2014-07-24 リープマン,アンドリュー Project sharing system, computer-readable storage medium, and computer-implemented method
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

Cited By (12)

* Cited by examiner, † Cited by third party
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 (en) * 2008-04-28 2011-06-30 マイクロソフト コーポレーション Conflict resolution
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 (en) * 2011-04-08 2014-07-24 リープマン,アンドリュー Project sharing system, computer-readable storage medium, and computer-implemented method
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
JP2996197B2 (en) Document sharing management method
US6636889B1 (en) System and method for client replication of collaboration space
US7237002B1 (en) System and method for dynamic browser management of web site
JP2005259113A (en) Process editing apparatus, process management apparatus, process editing program, process management program, recording medium, process editing method and process management method
EP1437656A2 (en) System and method for distributed multimodal collaboration using a tuple-space
US9389930B2 (en) System and method of providing inter-application communications
US7023452B2 (en) Image generation system, image generating method, and storage medium storing image generation program
JP4676784B2 (en) Process management apparatus, process management method, and process management program
JPH10254870A (en) Shared dictionary managing method and its system
JPH07262072A (en) File controller
JP2010086083A (en) Editing apparatus, editing program and editing method
JP2005276170A (en) Process management apparatus, user terminal apparatus, process management program, user terminal program, recording medium, process management method, and process execution method
JPH05151049A (en) Method and apparatus for processing document
RU2653246C1 (en) Improving request for database searching
CN112632919B (en) Document editing method and device, computer equipment and storage medium
JP2005285106A (en) Process management apparatus, user terminal device, process management program, user terminal program, recording medium, process management method, and search method
CN111126948A (en) Processing method and device for approval process
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
CN111178849A (en) Linear process engine implementation method, device, equipment and storage medium
JP2004078535A (en) Exclusive control device, method, and program
JP2002049637A (en) Database management method, device and recording medium
CZ9903576A3 (en) Moving objects, moving object control method, method of and apparatus for generating moving objects, and storage medium for program for generating moving objects
US6799183B2 (en) Operation assistance method and system and recording medium for storing operation assistance method

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