情報処理プログラムおよび情報処理装置
【課題】それまでに行ったどの操作処理でも戻って操作が可能な情報処理プログラムおよび情報処理装置を提供する。
【解決手段】更新の操作処理を行うと、既存永続化情報26はそのままにして、更新管理部14が更新情報24を生成し、また操作履歴管理部12が操作履歴情報23を生成して、記憶部21に格納して行く。また、操作処理を行うごとに操作位置管理部11は現在操作位置情報22を更新して行く。任意の操作位置から再操作を行う際には、この現在操作位置情報22を操作位置処理部18で変更すればよい。操作対象情報は排他情報25により他の操作者から更新されず、また他の操作者には操作処理前の既存永続化情報26が提示される。
【解決手段】更新の操作処理を行うと、既存永続化情報26はそのままにして、更新管理部14が更新情報24を生成し、また操作履歴管理部12が操作履歴情報23を生成して、記憶部21に格納して行く。また、操作処理を行うごとに操作位置管理部11は現在操作位置情報22を更新して行く。任意の操作位置から再操作を行う際には、この現在操作位置情報22を操作位置処理部18で変更すればよい。操作対象情報は排他情報25により他の操作者から更新されず、また他の操作者には操作処理前の既存永続化情報26が提示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラムおよび情報処理装置に関するものである。
【背景技術】
【0002】
情報を作成して編集し、あるいは既存の情報を編集してゆく場合、何回もの編集操作が行われる場合がある。編集は試行錯誤により進められることも多く、編集を進めた後、問題なければそこまでの編集を確定し、問題があれば行った編集を戻してやり直したい。このような場合、従来でも編集を1段階ずつ戻したり、戻した編集を1段階ずつ進めたりする機能があり、この機能を利用して時系列に行われた編集処理を撤回または反映させて所望の編集を行っている。例えば特許文献1に記載されている装置では、操作の履歴とその内容(更新を行った場合は更新前の値)を保持することによって、ある時点までのデータの復元を容易に行えるようにしている。
【0003】
しかし、編集を戻して別の編集処理を行うと、戻した編集処理の内容が失われ、元の方がよかった場合には改めて編集作業を行わなければならない場合がある。また、改めて編集作業を行う際に、元の編集作業の内容を記憶していなければならず、操作者の記憶が頼りであるため元の編集結果が得られるとは限らない。
【0004】
さらに、編集の撤回及び反映を行い得る多くのシステムでは、その機能が有効な期間が限られている。しかし、編集作業は連続して行われるとは限らず、また時間内に終了するとも限らない。そのため、編集が必要となった際に既に編集内容が確定され、撤回ができなくなっていることもある。一旦確定されてしまった編集内容に不具合があった場合には、元に戻すことができず、改めて編集作業を行う必要がある。
【0005】
また、操作者が情報に対する更新を行う場合、更新の経過を他の操作者に公開したくない場合がある。もちろん、情報に対する編集処理の競合を避けるため、ある操作者による編集処理中は他の操作者に対して更新内容を公開しないシステムは既に存在する。しかし、任意の時点までの長時間にわたる更新内容の隠蔽を行うためには、操作者は更新を公開する前に他者から情報そのものを隠蔽する操作を行い、更新が完了したところで隠蔽を解除する操作を行う必要がある。さもなければ、更新内容を公開したまま行うことになり、そのため不都合があるデータによって他者の業務に影響を与える場合もある。
【0006】
【特許文献1】特開2003−058534号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、それまでに行ったどの操作処理でも戻って操作が可能な情報処理プログラムおよび情報処理装置を提供することを目的とするものである。
【課題を解決するための手段】
【0008】
本願請求項1に記載の発明は、どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段としてコンピュータを機能させることを特徴とする情報処理プログラムである。
【0009】
本願請求項2に記載の発明は、本願請求項1に記載の構成において、前記情報管理手段が、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者からの更新指示を拒否することを特徴とする情報処理プログラムである。
【0010】
本願請求項3に記載の発明は、本願請求項1に記載の構成において、前記情報管理手段が、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者に対しては操作が施されていない状態を提供することを特徴とする情報処理プログラムである。
【0011】
本願請求項4に記載の発明は、本願請求項1から請求項3のいずれか1項に記載の構成において、前記情報操作処理手段が、操作完了の指示を受けると、前記情報管理手段に対して管理している前記操作対象情報に該指示までの操作処理を反映させるとともに、前記履歴管理手段に対して前記履歴を削除させることを特徴とする情報処理プログラムである。
【0012】
本願請求項5に記載の発明は、本願請求項1から請求項4のいずれか1項に記載の構成に加え、さらに、現在操作位置の変更の指定を行う操作者に対して前記履歴管理手段により管理されているそれまでに行われた操作の履歴を提示する提示手段として前記コンピュータを機能させることを特徴とする情報処理プログラムである。
【0013】
本願請求項6に記載の発明は、本願請求項1から請求項5のいずれか1項に記載の構成における前記提示手段が、前記操作毎に対応する図形を提示することを特徴とする情報処理プログラムである。
【0014】
本願請求項7に記載の発明は、本願請求項6に記載の構成における前記提示手段が、ある操作位置から複数の操作が行われている場合に該複数の操作に対応する図形を並列して提示することを特徴とする情報処理プログラムである。
【0015】
本願請求項8に記載の発明は、本願請求項6に記載の構成における前記提示手段が、一部の複数の操作をまとめた図形を提示することを特徴とする情報処理プログラムである。
【0016】
本願請求項9に記載の発明は、どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段を有することを特徴とする情報処理装置である。
【発明の効果】
【0017】
本願請求項1に記載の発明によれば、それまでに行ったどの操作処理にでも戻って操作を行うことができる。
【0018】
本願請求項2に記載の発明によれば、操作途中の操作対象情報に対する他者による更新を防止することができる。
【0019】
本願請求項3に記載の発明によれば、操作途中の操作対象情報について、他者に対して隠蔽し、他者の業務に影響を与えることがない。
【0020】
本願請求項4に記載の発明によれば、操作完了の指示を行うまでは、それまでに行った操作処理のいずれにでも戻って操作を行うことができる。
【0021】
本願請求項5に記載の発明によれば、操作者はどのような操作を行ってきたかを理解しながら操作処理を進めるべき現在操作位置を指定することができる。
【0022】
本願請求項6に記載の発明によれば、操作者は提示された図形の選択により現在操作位置を指定することができる。
【0023】
本願請求項7に記載の発明によれば、操作者はどの段階からどのような操作をやり直したかを一覧で知ることができる。
【0024】
本願請求項8に記載の発明によれば、多数の操作が行われている場合であっても、行われた操作の全体を容易に把握し、現在操作位置の指定を行うことができる。
【0025】
本願請求項9に記載の発明によれば、それまでに行ったどの操作処理にでも戻って操作を行うことができる。
【発明を実施するための最良の形態】
【0026】
図1は、本発明の実施の一形態を示す構成図である。図中、11は操作位置管理部、12は操作履歴管理部、13は情報管理部、14は更新管理部、15は既存情報管理部、16は操作処理部、17は提示処理部、18は操作位置処理部、21は記憶部、22は現在操作位置情報、23は操作履歴情報、24は更新情報、25は排他情報、26は既存永続化情報である。
【0027】
操作位置管理部11は、操作者が情報の操作処理を行っているかなどの管理を行う。特に、どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を現在操作位置情報22として記憶部21に格納し、管理する。
【0028】
操作履歴管理部12は、操作開始の指示を受けた後に行われた操作処理の履歴を操作履歴情報23として記憶部21に格納し、管理する。操作履歴情報23には、操作開始から終了までの一連の操作処理を識別する操作識別子と、その一連の操作処理に対する、行われた操作処理の位置を示す位置情報も含めておく。また、操作開始の指示を受けた後、提示処理部17より操作履歴情報23の取得が依頼された場合には、記憶部21より操作履歴情報23を読み出して提示処理部17へ渡す。さらに、操作処理部16が操作完了の指示を受けると、その指示までに行った操作処理の操作履歴情報23を削除する。
【0029】
情報管理部13は、操作処理の対象となり得る操作対象情報を管理し、また操作処理による操作対象情報の更新などについても管理する。情報の読み出しが要求された場合には更新管理部14及び既存情報管理部15を使用し、操作の開始を指示して操作を行っている操作者に対しては、更新管理部14が管理する更新情報24のうち操作開始から現在操作位置情報22が示す操作位置までの更新情報24に従って、既存情報管理部15が管理する既存永続化情報26に対して操作処理を施した結果を提供する。それ以外の操作者に対しては、既存情報管理部15が管理する既存永続化情報26を提供する。このように操作中の操作者以外に対しては、操作処理前のもとの状態を提供することにより、操作中の情報を他者に対して隠蔽し、他者の業務に影響を与えないようにしている。
【0030】
また情報管理部13は、操作処理部16で更新の操作処理の指示を受け付けた場合には、更新管理部14を使用して更新(登録、変更、削除などを含む)による変更情報(対象となる操作対象情報と操作処理の内容)を更新情報24として記憶部21に記憶させる。なお、更新の対象となっているもとの操作対象情報はそのまま残す。また、更新の対象となった操作対象情報およびその影響を受ける情報については、既存情報管理部15を用いて他者からの更新指示を拒否する。
【0031】
さらに情報管理部13は、操作処理部16が操作完了の指示を受けると、その指示までの操作処理を施した結果を、既存情報管理部15により管理されている既存永続化情報26に反映させる。
【0032】
更新管理部14は、更新情報24を管理する。操作開始の指示を受けた後、操作処理によって更新(登録、変更、削除などを含む)が行われると、その更新の対象である操作対象情報に関する情報とその更新の内容を更新情報24として記憶部21に格納する。その際には、もとの操作対象情報の内容に関しては変更を加えない。更新情報24を格納する際には、操作対象情報に関する情報に加えて、操作を識別する操作識別子と、操作の流れ全体に対する当該操作の位置を示す操作位置情報も付加して格納する。
【0033】
既存情報管理部15は、操作対象情報となる既存永続化情報26を管理する。操作が開始されても既存永続化情報26は変更せず、操作完了の指示を受けると、それまでの操作処理を施した結果を既存永続化情報26に反映する。また、操作開始の指示を行っていない操作者が情報に対して更新を行った場合にも、更新された操作対象情報を既存永続化情報26として記憶部21に格納する。ただし、操作の開始を指示した操作者が操作処理の対象としている操作対象情報については、排他情報25として操作者を登録しておき、その操作者以外の操作者によって操作処理中の操作対象情報が更新されないように、登録されている操作者以外の操作者からの更新指示を拒否する。
【0034】
操作処理部16は、操作者からの情報に対する操作処理の指示を受け付け、指示された操作処理に従って各部を制御する。操作処理の指示としては、操作開始、更新(登録、更新、削除などを含む)、操作完了などがある。
【0035】
提示処理部17は、操作者に対して種々の情報を提示する。例えば、情報管理部13が管理する情報の提示、操作の開始指示から行われた操作の履歴の提示などを行う。操作の履歴の提示は、操作者が現在操作位置の変更を指定する際に利用される。また、操作の履歴を提示する際には、それまでに行われた操作毎に、対応する図形を提示する。その際には、ある操作位置から複数の操作が行われている場合には、複数の操作に対応する図形を並列して提示する。また、一部の複数の操作について、まとめた図形によって提示してもよい。
【0036】
操作位置処理部18は、操作履歴管理部12により管理されている操作の履歴に基づいて操作者が行った現在操作位置の変更の指定を受けて、操作位置管理部11により管理されている現在操作位置情報22を変更する。現在操作位置の変更は、それまで行われた操作処理が終了した位置を任意に指定すればよい。その現在操作位置から改めて操作処理を行うことになる。
【0037】
記憶部21は、記憶しておく必要がある様々な情報を記憶している。ここでは一例として、現在操作位置情報22、操作履歴情報23、更新情報24、排他情報25、既存永続化情報26などを記憶しているものとして示している。現在操作位置情報22は操作位置管理部11によって管理され、どの操作が終了した後の操作対象情報に対して操作処理を行うかを示す。操作履歴情報23は操作処理部16で行った操作処理の履歴であり、操作履歴管理部12によって管理される。操作履歴情報23には、それぞれの操作を識別するための操作識別子と、一連の操作処理中の位置を示す位置情報が含まれている。更新情報24は更新管理部14によって管理され、操作対象情報に対して操作処理部16で行われた操作処理の内容と、その操作を識別するための操作識別子と、操作対象情報に関する情報と、対象の操作により影響を及ぼす全ての対象情報を含んでいる。排他情報25は、操作対象情報に対して、操作を行っている操作者以外の操作者からの更新を排除するために用いられ、操作対象情報と操作者とを対応づけている。この排他情報25は既存情報管理部15によって管理される。既存永続化情報26は様々な操作対象となり得る情報であり、既存情報管理部15によって管理される。操作者から更新の操作処理が指示された場合でも、更新前の情報が既存永続化情報26として管理される。
【0038】
本発明の実施の一形態における動作の一例について説明する。図2は、操作開始指示が行われた場合の動作の一例を示す流れ図である。操作者が操作開始を指示すると、S61において、当該操作者が既に操作開始を指示しているか否かを判定する。既に操作の開始を指示している場合には、S65において、誤り処理を行う。あるいは、別の操作環境を設けて切り替え可能にしてもよい。
【0039】
まだ操作開始の指示を受け付けていなかった操作者の場合には、今回行われた操作開始の指示を受け付ける。S62において、今後行われる一連の操作を識別するための操作識別子を生成し、現在操作位置を0とした現在操作位置情報22を生成する。さらにS63において、S62で生成した現在操作位置情報22を記憶部21に格納する。またS64において、情報管理部13あるいは既存情報管理部15は、操作開始の指示後に操作処理の影響を受けた情報に対して他者からの更新が行われないように、排他情報25を生成するための情報として操作者識別子などを保持しておく。
【0040】
図3は、操作開始の指示により生成された現在操作位置情報の一例の説明図である。この例では、現在操作位置情報22として操作者識別子、開始時刻、操作識別子、現在操作位置、注釈、有効期限などの情報を含んでいる。もちろん、現在操作位置情報22が含む情報は、この例に限られるものではなく、操作者識別子、操作識別子、現在操作位置を含んでいれば他にどのような情報を含んでいてもよい。
【0041】
図3に示した例では、操作者1と操作者2がそれぞれ操作開始の指示を行った場合を示している。操作者1については操作識別子としてXXXXXXXXXXを生成し、操作者2については操作識別子としてYYYYYYYYYYを生成し、いずれも現在操作位置を0にして現在操作位置情報22を生成している。
【0042】
図4は、更新操作が指示された場合の動作の一例を示す流れ図である。操作者は情報管理部13が管理している情報に対して各種の操作処理を指示する。ここでは更新(登録、変更、削除)の操作処理が指示された場合の処理を示している。この操作処理の指示は操作処理部16によって受け付けられ、各部が制御される。
【0043】
まずS71において、操作位置管理部11は更新操作の指示を行った操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、S77において、情報管理部13を通じて既存情報管理部15が操作対象の既存永続化情報26を読み出して操作処理部16が操作処理を行い、既存情報管理部15が既存永続化情報26の更新を行う。もちろん、操作対象の既存永続化情報26が他の操作者による操作対象情報となっている場合には、S77における更新は拒否され、誤り処理が行われる。
【0044】
S71で操作開始の指示が既に行われていると判定された場合には、S72において、操作位置管理部11は現在操作位置情報22から、更新操作の指示を行った操作者に対応する操作識別子及び現在操作位置を抽出する。
【0045】
S73において、現在操作位置よりも後に操作処理が行われているか否かを判定する。現在操作位置よりも後に操作処理が行われている場合には、操作処理を戻して再度の操作処理を行おうとしていることを示している。従ってS74において、やり直したことが分かるように操作位置情報を生成する。一例として、ここでは現在操作位置に‘.’及び番号を後ろに追加して再操作の回数を示し、さらに‘.’及び番号を後ろに追加して再試行における操作の順序を示して操作位置情報とする。例えば現在操作位置が2であれば2.1.1を、現在操作位置が3.2.1であれば3.2.1.1.1を操作位置情報とする。また、例えば現在操作位置が2で、3回目の再操作であれば2.3,1を操作位置情報とする。
【0046】
現在操作位置よりも後に操作処理が行われていなければ、さらに続けて行われる操作処理であるものとし、S75において、操作位置情報として現在操作位置を次に進める。一例として、ここでは現在操作位置の最後の番号に1を加える。例えば現在操作位置が2であれば3を、現在操作位置が3.2.4であれば3.2.5を操作位置情報とする。
【0047】
S76において、現在操作位置が0か否かを判定し、0の場合にはS77で既存永続化情報26の更新を行う。現在操作位置が0でないことを確認したら、指示された更新操作処理を操作処理部16で行う。ここでは指示される更新操作として登録操作、変更操作、削除操作のいずれかである場合について示している。もちろん、このほかの更新操作が存在していてもよい。
【0048】
登録操作は、操作対象情報を追加する操作処理である。追加する情報は、新規に作成するほか、既存永続化情報26として記憶部21に格納されている情報の複製でもよい。あるいは、外部から情報を転送して操作対象情報としてもよい。登録操作が指示されている場合には、必要に応じて情報の複製あるいは転送などを行った後、S81において、当該操作対象情報について他の操作者からの更新を防止するため、既存情報管理部15は当該操作対象情報に対する排他情報25を生成して記憶部21に格納する。また、S82において、更新管理部14は登録操作に対応する更新情報24を生成して記憶部21に格納する。この更新情報24には、登録操作を行った旨の操作内容とともに、操作識別子、S74またはS75で生成した操作位置情報、操作対象情報を識別する情報識別子が含まれる。さらにS87において、操作履歴管理部12は登録操作に対応する操作履歴情報23を生成して記憶部21に格納する。この操作履歴情報23には、操作識別子、操作位置情報、操作者識別子、操作名、操作時刻などが含まれる。
【0049】
なお、例えば操作対象情報を階層的に管理している場合、操作対象情報だけでなく当該操作対象情報を含む上位の階層についても排他情報25を生成して他の操作者からの更新操作を排除してもよい。また、このような場合には上位の階層についての更新情報24を作成してもよい。
【0050】
変更操作は、操作対象情報の内容を変更する操作処理である。例えば文書の記載を修正するなどの操作が含まれる。指示に従って操作処理部16で変更操作が行われると、S83において、既存情報管理部15は変更操作の対象となった操作対象情報に対する排他情報25を生成して記憶部21に格納する。また、S84において、更新管理部14は変更操作に対応する更新情報24を生成して記憶部21に格納する。この更新情報24には、変更した内容を含む操作内容とともに、操作識別子、S74またはS75で生成した操作位置情報、操作対象情報を識別する情報識別子が含まれる。さらにS87において、操作履歴管理部12は変更操作に対応する操作履歴情報23を生成して記憶部21に格納する。この操作履歴情報23には、操作識別子、操作位置情報、操作者識別子、操作名、操作時刻などが含まれる。なお、この変更操作では変更前の操作対象情報については変更を加えず、そのまま既存永続化情報26として既存情報管理部15が管理し、変更した部分について更新情報24として更新管理部14が管理する。
【0051】
削除操作は、操作対象情報を削除する操作処理である。削除操作が指示されている場合には、S85において、当該操作対象情報について他の操作者からの更新を防止するため、既存情報管理部15は当該操作対象情報に対する排他情報25を生成して記憶部21に格納する。また、S86において、更新管理部14は削除操作に対応する更新情報24を生成して記憶部21に格納する。この更新情報24には、削除操作を行った旨の操作内容とともに、操作識別子、S74またはS75で生成した操作位置情報、操作対象情報を識別する情報識別子が含まれる。さらにS87において、操作履歴管理部12は削除操作に対応する操作履歴情報23を生成して記憶部21に格納する。この操作履歴情報23には、操作識別子、操作位置情報、操作者識別子、操作名、操作時刻などが含まれる。
【0052】
なお、例えば操作対象情報が階層的に管理されている場合、当該操作対象情報が含まれる上位の階層で削除された場合には、削除された階層以下の情報について排他情報25を生成し、他の操作者からの更新操作を排除する。また、このような場合には削除された階層以下の階層の情報についての更新情報24を作成してもよい。また、削除の対象となった操作対象情報については、新たな情報として既存情報管理部15が管理してもよい。
【0053】
上述の動作例では、登録、変更、削除の操作について説明した。例えば移動の操作であれば、登録と削除の操作を行えばよい。もちろん、このほかの様々な操作を受け付ける構成であってよいことは言うまでもない。
【0054】
上述の更新操作の説明において、例えば登録操作や削除操作では操作対象情報だけでなく、階層的に管理されている場合には上位の階層についても排他情報25を生成して他の操作者からの更新操作を受け付けないようにしている。これは、ある操作対象情報に対する更新操作が、他の情報に対しても影響を及ぼすことによる。影響を及ぼす状況として、以下の操作が考えられる。
・参照
・登録先及び削除元の上位階層
・版管理情報
【0055】
例えば他の情報が操作対象情報を参照している場合がある。操作対象情報が変更され、あるいは削除されると、その操作対象情報を参照している情報についても影響を与えることになる。そのため、更新された操作対象情報を参照している情報があるか否かを判断し、存在した場合には、その参照している情報についても更新されたものとして扱い、既存情報管理部15で排他情報25を作成し、更新履歴管理部12でその情報の更新情報24を作成して記憶部21に保持する。
【0056】
登録先及び削除元の上位階層については、配置される情報の数が変化することになるため、これらについても影響を受ける。上述のように登録先及び削除元の上位階層についても既存情報管理部15で排他情報25を作成し、他の操作者からの更新操作を受け付けないようにしている。
【0057】
また、版管理を行っている場合、例えば後述する操作完了により版を更新する構成であればよいが、登録操作だけでも版が自動的に更新されてしまう場合もある。このような場合には、登録操作が行われた際に新しい版番号を設定し、他の操作者はその版番号を使用できないようにするとよい。もし、その版管理において別の情報を排他的に制御する必要がある場合には、その情報について排他情報25を生成して記憶部21に格納すればよい。
【0058】
上述の更新操作が指示された場合の動作の一例について、具体例を用いながら更に説明する。ここでは既存永続化情報26はファイル群であり、フォルダにより階層的に保持されているものとする。また、以下の例ではファイルが文書であるものとして説明している。
【0059】
図5は、操作者が行った更新操作の一例の説明図である。ここでは、事前に操作者1が操作開始の指示を行い、以下の操作の指示を行ったものとする。
(a)フォルダに文書を1つ登録
(b)登録した文書の利用者属性Aの値を「A1」に変更
(c)(a)のフォルダに存在した別の文書を1つ削除
(d)現在操作位置を(c)の操作終了後に戻す
(e)(c)の削除ではなく、(a)で登録した文書の利用者属性Bの値を「B1」に変更
なお、フォルダの情報識別子を「100001」、(a),(b),(e)における文書の情報識別子を「100111」、(c)で削除する文書の情報識別子を「100105」とする。なお、操作者1が操作開始の指示を行った際に付与される操作識別子は「5000001」であったものとしている。
【0060】
上記の各操作処理を矩形で示すと、図5に示す操作処理の流れとなる。各矩形には上記操作に対応した(a)から(e)の記号と、後述するように各操作処理に振られる操作位置情報を付加している。
【0061】
まず、(a)のフォルダに文書を1つ登録するという操作が指示された場合について説明する。例えば、既存永続化情報26のうちの1つの文書を操作対象情報としてフォルダに登録する場合が想定される。この場合、操作対象情報はフォルダに登録された新たな文書として取り扱う。
【0062】
図6は、操作(a)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「0」が抽出される。なお、この(a)の操作の前には何も行われていないので、現在操作位置は「0」となっている。
【0063】
現在操作位置よりも後の操作は存在しないので、S75で現在操作位置に1を加えて操作位置を「1」とする。図6(A)に示すように、現在操作位置情報22の現在操作位置が「1」に更新される。
【0064】
登録の操作であるのでS81に進み、登録する文書と、その文書が配置されるフォルダについて、他の操作者によって更新されないように排他情報25を作成する。図6(D)に示すように、情報識別子「100001」のフォルダと、情報識別子「100111」の文書について操作者1と対応づけて、操作者1以外の操作者によって当該フォルダ及び文書が更新されないようにする。
【0065】
またS82において、情報識別子「100001」のフォルダと、情報識別子「100111」の文書について、登録の操作が行われたことを示す更新情報24を生成する。生成された更新情報24を図6(C)に示している。この例で示す更新情報には、操作識別子、情報識別子、操作位置、操作内容、その他管理情報、利用者属性A、利用者属性B、その他属性情報の項目を有している。なお、その他管理情報には、階層、リファレンスの参照先などの管理情報も含まれる。もちろん、これらの項目は一例であって、他の項目を含めて取捨選択すればよい。なお、操作内容として、登録された文書には「登録(自身)」と付し、その文書が配置されるフォルダには「登録(親)」と付している。
【0066】
さらにS87では、登録操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図6(B)に示している。この例では、操作履歴情報23として操作者識別子、操作の開始時刻、操作識別子、操作位置、操作指示の各項目を有している。もちろん、これらの項目は一例であって、他の項目を含めて取捨選択してもよい。
【0067】
このようにして、(a)の操作によって図6に示すように各情報が作成され、記憶部21に格納されることになる。
【0068】
次に、(b)の利用者属性Aの変更操作が行われた場合について説明する。図7は、操作(b)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「1」が抽出される。現在操作位置よりも後の操作は存在しないので、S75で現在操作位置に1を加えて操作位置を「2」とする。図7(A)に示す現在操作位置情報22の現在操作位置が「2」に更新される。
【0069】
変更の操作であるのでS83に進み、変更する文書について、他の操作者によって更新されないように排他情報25を作成するが、既に(a)の操作の際に変更操作の対象となる情報識別子「100111」の文書についてはすでに排他情報25が作成されているので、ここでは新たな排他情報25は作成されない。
【0070】
またS84において、情報識別子「100111」の文書について、変更の操作が行われたことを示す更新情報24を生成する。生成された更新情報24を図7(C)に矢印を付して示している。利用者属性Aが変更されたので、変更後の属性「A1」を利用者属性Aの欄に保存している。
【0071】
さらにS87では、変更操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図7(B)に矢印を付して示している。操作位置を「2」、操作指示を「変更」にしている。
【0072】
このようにして、(b)の操作によって図7に示すように各情報が作成され、記憶部21に格納されることになる。
【0073】
次に、(c)の操作である別の文書を1つ削除する削除操作が行われた場合について説明する。図8は、操作(c)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「2」が抽出される。現在操作位置よりも後の操作は存在しないので、S75で現在操作位置に1を加えて操作位置を「3」とする。図8(A)に示す現在操作位置情報22の現在操作位置が「3」に更新される。
【0074】
削除の操作であるのでS85に進み、削除する文書について、他の操作者によって更新されないように排他情報25を作成する。図8(D)に矢印で示すように、情報識別子「100105」の文書について操作者1と対応づけて、操作者1以外の操作者によって当該フォルダ及び文書が更新されないようにする。
【0075】
またS86において、情報識別子「100105」の文書と、この文書が配置されていた情報識別「100001」のフォルダについて、削除の操作が行われたことを示す更新情報24を生成する。生成された2つの更新情報24を図8(C)に矢印を付して示している。
【0076】
さらにS87では、削除操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図8(B)に矢印を付して示している。操作位置を「3」、操作指示を「削除」にしている。
【0077】
このようにして、(c)の操作によって図8に示すように各情報が作成され、記憶部21に格納されることになる。なお、削除の対象となった情報識別子「100105」の文書は、ここでは実際に削除は行われない。
【0078】
次の(d)の現在操作位置を戻す操作であるが、この操作は図4に示した動作とは別に、操作位置管理部11が管理する現在操作位置情報22を操作位置処理部18が変更することによって行われる。図9は、操作(d)を行った後の記憶部21に格納される現在操作位置情報の一例の説明図である。(c)の操作終了後に戻すことから、現在操作位置を「2」に変更している。このように現在操作位置情報22中の現在操作位置を変更すれば、これまでに行った任意の操作の終了後の状態に戻ることになる。なお、現在操作位置情報22以外は変更されない。
【0079】
次に、(e)の利用者属性Bの変更操作が行われた場合について説明する。図10は、操作(e)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「2」が抽出される。この場合には(d)の操作で現在操作位置を戻したので、現在操作位置よりも後の操作が存在する。また、この現在操作位置からの再操作は1回目である。従ってS74で現在操作位置に「.1」を加え、さらに再操作の最初の操作であることからさらに「.1」を加えて、操作位置を「2.1.1」とする。図10(A)に示す現在操作位置情報22の現在操作位置が「2.1.1」に更新される。
【0080】
変更の操作であるのでS83に進み、変更する文書について、他の操作者によって更新されないように排他情報25を作成するが、既に(a)の操作の際に変更操作の対象となる情報識別子「100111」の文書についてはすでに排他情報25が作成されているので、ここでは新たな排他情報25は作成されない。
【0081】
またS84において、情報識別子「100111」の文書について、変更の操作が行われたことを示す更新情報24を生成する。生成された更新情報24を図10(C)に矢印を付して示している。利用者属性Bが変更されたので、変更後の属性「B1」を利用者属性Bの欄に保存している。
【0082】
さらにS87では、変更操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図10(B)に矢印を付して示している。操作位置を「2.1.1」、操作指示を「変更」にしている。
【0083】
このようにして、(e)の操作によって図10に示すように各情報が作成され、記憶部21に格納されることになる。これで(a)から(e)までの一連の操作が行われたことになる。このように更新操作ごとに操作位置を格納してゆき、各更新操作終了後の情報で検索、表示などを行えるようにしている。また、このように記憶部21に静的に更新操作を記録し続けることにより、装置が停止してもこれらの情報が継続して残るため、操作者が行う操作処理を装置の停止により制限することはない。さらに、更新中の情報に対する他者の更新を防止しており、更新中の情報が他者に影響しないようにしている。
【0084】
上述の操作を操作者が行ってゆく場合、提示処理部17は操作を行っている操作者に対して操作処理後の状態を提供し、また、それまでに行った操作の履歴を提示する。また、操作を行っている操作者以外の操作者に対しては、操作処理が施されていない、もとの状態を提供する。そのための処理の一例を以下に示す。
【0085】
図11は、操作者への提示処理の動作の一例を示す流れ図である。S91において、操作位置管理部11は操作対象情報を提示する操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、S94において、情報管理部13を通じて操作処理が行われていない状態での提示を行う。例えば情報の参照であれば、既存情報管理部15が既存永続化情報26(操作対象情報)を読み出し、提示処理部17から操作者に対して提示する。
【0086】
S91で操作開始の指示が既に行われていると判定された場合には、S92において、操作位置管理部11は現在操作位置情報22から、操作者に対応する操作識別子及び現在操作位置を抽出する。
【0087】
S93において、現在操作位置が0より大きいか否かを判断する。現在操作位置が0であれば、まだ何も操作を行っていないので、S94において情報管理部13を通じて操作処理が行われていない状態での提示を行う。
【0088】
現在操作位置が0より大きければ、何らかの操作が行われている。S95において、操作履歴管理部12はS92で抽出した操作識別子を有する操作履歴情報23をもとに、操作開始から現在操作位置までの操作の順番を割り出す。割り出した操作の順番を操作順位とする。例えば途中から再操作を行っている場合、現在操作位置が最初の操作及び再操作のいずれの操作の途中であるかによって、操作開始から現在操作位置までの操作の順番は変わってくる。例えば上述の(a)から(e)の操作を行っている場合、現在操作位置が「3」であれば「1」→「2」→「3」が操作順位となるが、現在操作位置が「2.1.1」であれば「1」→「2」→「2.1.1」が操作順位となる。
【0089】
S96において、S95で割り出した操作順位に従って更新管理部14が管理する更新情報24を読み出し、操作内容が登録または変更の場合には、既存情報管理部15が管理している操作が施されていない既存永続化情報26(操作対象情報)に対して順に操作処理を行う。またS97において、操作内容が削除の場合についても削除された操作対象情報の情報を抽出しておく。
【0090】
S98において、既存情報管理部15は既存永続化情報26のうち、登録又は変更の操作処理が施された情報についてはS96で得られた情報に差し替え、S97で得られた削除された情報については除外して、提示処理部17における操作者への提示対象とする。操作者は、提示対象から情報の参照や検索を行うことになる。
【0091】
図12は、操作者への提示処理の動作の一例における現在操作位置情報、操作履歴情報、更新情報、排他情報の別の具体例の説明図、図13は、操作者へ提示される情報の具体例の説明図である。ここでは図12に示す現在操作位置情報22、操作履歴情報23、更新情報24、排他情報25が記憶部21に格納されているものとする。すなわち、この例では次に示す一連の操作処理を行った場合を示している。
(f)情報識別子「100111」の文書を情報識別子「100001」のフォルダに登録
(g)何らかの操作処理を行った後に(f)の処理を行ったあとに現在操作位置を戻す
(h)情報識別子「100105」の文書の利用者属性Aを「A2」に、また利用者属性Bを「B2」に変更する操作処理を行う
(i)何らかの操作処理を行った後に(h)の処理を行った後に現在操作位置を戻す
(j)情報識別子「100100」の文書を削除する
(k)情報識別子「100105」の文書の利用者属性Aを「A12」に、また利用者属性Bを「B12」に変更する操作処理を行う
なお、図12には(g)、(i)における操作処理に関する各情報については示していない。
【0092】
現在操作位置が「1.1.1.1.2」であった場合、図11のS95へ進み、操作順位を割り出す。この例では操作順位は「1」→「1.1.1」→「1.1.1.1.1」→「1.1.1.1.2」となる。このうち、登録及び変更の操作処理は「1」と「1.1.1」と「1.1.1.1.2」である。また、削除の操作処理は「1.1.1.1.1」である。従って、既存永続化情報26として情報識別子「100111」の文書が情報識別子「100001」のフォルダに登録され、情報識別子「100105」の文書の利用者属性Aと利用者属性Bをそれぞれ「A12」と「B12」に変更し、さらに情報識別子「100100」の文書を除外した状態を操作者に提供する。これにより操作者に対しては、図13(A)に示すように、情報識別子「100111」の文書と、利用者属性Aと利用者属性Bが変更された情報識別子「100105」の文書が存在する状態が提供されることになる。
【0093】
なお、操作処理を行っている操作者以外の操作者に対しては、操作処理が行われていない状態が提供される。したがって、図13(B)に示すように操作処理により登録された情報識別子「100111」の文書は存在せず、操作処理により削除した情報識別子「100111」の文書が存在し、情報識別子「100105」の文書は利用者属性A及び利用者属性Bが変更される前の状態で提供されることになる。このように、操作処理を行っている操作者には操作を行った状態が提供され、それ以外の操作者に対しては元々の既存永続化情報26の状態が提供されることになる。
【0094】
操作処理が終了し、それまでの操作処理を確定する場合には、操作者は操作完了の指示を行う。図14は、操作完了の操作処理の動作の一例を示す流れ図である。S101において、操作位置管理部11は操作対象情報を提示する操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、何もせずに処理を終わる。あるいは、誤り処理を行ってもよい。
【0095】
S101で操作開始の指示が既に行われていると判定された場合には、S102において、操作位置管理部11は現在操作位置情報22から、操作者に対応する操作識別子及び現在操作位置を抽出する。
【0096】
S103において、現在操作位置が0より大きいか否かを判断する。現在操作位置が0であれば、まだ何も操作を行っていない。この場合には、S104において操作位置管理部11が管理している現在操作位置情報22を削除して処理を終える。
【0097】
現在操作位置が0より大きければ、何らかの操作が行われている。S105において、操作履歴管理部12はS102で抽出した操作識別子を有する操作履歴情報23をもとに、操作開始から現在操作位置までの操作の順番である操作順位を割り出す。操作順位についてはすでに述べたとおりである。
【0098】
S106において、S105で割り出した操作順位に従って更新管理部14が管理する更新情報24を読み出し、操作内容が登録または変更の場合には、既存情報管理部15が管理している操作が施されていない既存永続化情報26(操作対象情報)に対して順に操作処理を行って最終的な情報を生成する。またS107において、操作内容が削除の場合についても削除された操作対象情報の情報を抽出しておく。
【0099】
S108において、既存情報管理部15は既存永続化情報26のうち、情報識別子をもとに登録、変更の対象となった操作対象情報をS106で生成した情報に置換する。また、S107で抽出された削除された情報の情報識別子をもとに既存永続化情報26から該当する情報を削除する。
【0100】
またS109において、更新管理部14は操作識別子をもとに一連の操作処理において記憶部21に格納した更新情報24の中から更新の操作処理の対象となった操作対象情報を抽出する。そしてS110において、S109で抽出した操作対象情報について、既存情報管理部15は排他情報25を削除し、他の操作者からの更新を受け付けるようにする。
【0101】
さらにS111において、操作履歴管理部12は操作識別子をもとに一連の操作処理において記憶部21に格納した操作履歴情報23を削除する。またS112において、更新管理部14は操作識別子をもとに一連の操作処理において記憶部21に格納した更新情報24を削除する。
【0102】
そしてS104において、操作位置管理部11は操作識別子をもとに現在操作位置情報22を削除して処理を終える。このようにして、操作処理を行ってきた最終的な状態を既存永続化情報26に反映し、それまでに記憶部21に格納してきた現在操作位置情報22、操作履歴情報23、更新情報24、排他情報25を削除し、操作処理を終了する。
【0103】
この操作完了の操作処理を行うことにより、それまでの操作処理が既存永続化情報26に反映されることになる。この操作完了の指示は、操作者が望んだ結果となった場合に行えばよく、従って操作者が望んだ結果が反映されることになる。これにより、操作ミスや不適切な操作については容易にやり直して修正すればよいため、不要な復旧作業が発生せず、復旧作業における作業ミスにより、以前の結果が得られない事態も発生しない。逆に、操作完了の指示を行うまでは操作処理が既存永続化情報26に反映されず、記憶部21にそれまでの操作処理が記録されているので、操作者は、何度でも、何日でも、どの段階からでも、望んだ結果が得られるまで操作処理を行えばよい。
【0104】
また、操作処理によって影響のある情報については他の操作者から更新できないように自動的に制御を行うので、そのための面倒な操作は不要である。また、操作完了を指示するまで他の操作者に対して操作処理の内容が隠蔽されるため、不都合がある情報によって他者の業務に影響を与えることはない。
【0105】
図14では操作完了の操作指示が行われた場合の動作の一例について説明したが、操作処理を開始して操作処理を行った後、それらの操作処理を反映せずに撤回したい場合もある。このような場合には、操作者は操作撤回の指示を行えばよい。図15は、操作撤回の操作処理の動作の一例を示す流れ図である。S121において、操作位置管理部11は操作対象情報を提示する操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、何もせずに処理を終わる。あるいは、誤り処理を行ってもよい。
【0106】
S121で操作開始の指示が既に行われていると判定された場合には、S122において、操作位置管理部11は現在操作位置情報22から、操作者に対応する操作識別子及び現在操作位置を抽出する。
【0107】
S123において、更新管理部14は抽出した操作識別子をもとに、一連の操作処理において記憶部21に格納した更新情報24の中から更新の操作処理の対象となった操作対象情報を抽出する。そしてS124において、S123で抽出した操作対象情報について、既存情報管理部15は排他情報25を削除し、他の操作者からの更新を受け付けるようにする。
【0108】
さらにS125において、更新管理部14は操作識別子をもとに一連の操作処理において記憶部21に格納した更新情報24を削除する。またS126において、操作履歴管理部12は操作識別子をもとに一連の操作処理において記憶部21に格納した操作履歴情報23を削除する。
【0109】
そしてS127において、操作位置管理部11は操作識別子をもとに現在操作位置情報22を削除して処理を終える。このようにして、それまで行ってきた操作処理を反映せず、操作処理を終了する。
【0110】
既に述べたように、操作位置処理部18は現在操作位置の変更の指定を受けて、指定された操作位置へ現在操作位置情報を変更する機能を有している。操作者が現在操作位置を変更するために、それまでに行った操作処理に関する情報を操作者に提示するとよい。この操作処理に関する情報を、提示処理部17を通じて操作者に提示している。
【0111】
図16は、操作処理に関する情報を提示する動作の一例を示す流れ図である。まずS131において、操作位置管理部11は更新操作の指示を行った操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、S136において誤り処理を行い、処理を終える。
【0112】
S131で操作開始の指示が既に行われていると判定された場合には、S132において、操作位置管理部11は現在操作位置情報22から、更新操作の指示を行った操作者に対応する操作識別子を抽出する。
【0113】
ここでは操作処理に関する情報として、どの操作対象情報に対して更新の操作を行ったかを提示するか、あるいは操作履歴情報の提示を行うものとしている。S133において、いずれの情報の提示を行うかを判断し、更新操作を行った操作対象情報の提示を行う場合には、S134において、更新管理部14はS132で抽出した操作識別子を有する更新情報24をもとに、更新操作の対象となった操作対象情報を特定し、提示処理部17を通じて操作者に提示する。また、操作履歴情報の提示を行う場合には、S135において、操作履歴管理部12は操作識別子をもとに操作履歴情報23を抽出し、操作者に提示する。もちろん、これらの情報以外にも様々な情報を操作者に提示するように構成してもよい。
【0114】
上述のS135で操作履歴情報23を操作者に提示する際には、各操作履歴について、操作処理に対応する図形を用い、再操作で枝分かれする木構造で提示するとよい。図17は、操作履歴情報を操作者に提示するまでに行われた操作処理の一例の説明図、図18は、操作者に通常状態で提示した操作履歴情報の一例の説明図、図19は、その変形例である。例えば図17に示す一連の操作処理が行われた場合を考える。この例では、まずテキストの文書「AAA」を登録し、その文書の属性を変更し、さらに内容の変更を7回行い、属性を変更して新たな版として版管理を開始する。文書「AAA」の登録後に行われた属性変更終了まで戻り、文書「AAA」とは形式が異なる文書「ABC」の内容を変更して、この文書についても新たな版として版管理を開始する。今度は文書「AAA」の登録後に戻り、文書「AAA」の属性と内容を変更して、改めて新たな版として版管理を開始する。ここで新たな版とする前に戻って、文書「AAA」の属性を変更し、新たな版として版管理を開始する。再び文書「AAA」の登録後に戻り、文書「AAA」とは形式が異なる文書「BBB」について内容を変更したが、また文書「AAA」の登録後に戻って文書「CCC」について内容を変更している。さらにまた文書「AAA」の登録後に戻って文書「DDD」について内容を変更した後、文書「EEE」の内容を変更し、その後に文書「FFF」の内容を変更している。なお、文書「CCC」、「DDD」、「EEE」、「FFF」についても文書「AAA」とは形式が異なるものとする。
【0115】
図17においては、それぞれの操作処理を矩形で示しているが、これらのそれぞれの処理について、操作対象情報である文書「AAA」、「ABC」、「BBB」、「CCC」、「DDD」、「EEE」、「FFF」を図形で表現すれば図18に示すようになる。ここでは、それぞれの文書の形式に従って図形を使用している。
【0116】
さらに、各操作処理、すなわち登録、属性変更、内容変更、版管理開始の各操作処理を図形として付加した例を図19に示している。操作者は、このような表現によって操作履歴情報23が提示されるので、行ってきた操作処理を把握し、再操作を行うのであれば戻るべき操作位置を指定すればよい。
【0117】
このような操作履歴情報23の提示を行った場合、類似した操作が多数回連続して行われていると、その回数分だけ木構造の枝が長くなり、一覧性が悪くなることが懸念される。また、木構造内に多くの枝が存在する場合、目的の操作処理を見つけにくいことも懸念される。さらに、再操作によって木構造に分岐がある場合、その分岐後にどのような違いが生じたのかを、調べるには、その後の分岐の各操作を一つ一つ見に行く必要があり、面倒である。さらにまた、それぞれの操作処理の詳細を確認するには、最初の状態からの更新を追ってゆく必要があるが、最初から一つ一つ調べて行くのは不便である。これらの懸念される不具合を解消するための機能について、以下、説明して行く。
【0118】
まず、多数回の操作処理によって木構造の枝が長くなるという不具合に対しては、連続する操作処理のうち、類似する操作処理をまとめて簡略化する簡略化処理によって対応する。この簡略化処理では、操作履歴情報23をもとに、一連の操作処理のうち分岐せずに連続している操作処理であって、所定の条件のいずれかに合致するものを見つけ、簡略化して表現する。ここでは一例として、以下の条件を設定している。
条件1.ある操作対象情報に対して異なる操作処理を連続して実施している
条件2.ある操作処理を異なる操作対象情報に対して連続して実施している
【0119】
条件1の場合には、操作対象情報を示す図形は一つのみ表示し、その図形に付加する操作処理を示す図形を複数表示する。また、条件2の場合には、操作処理を示す図形は一つのみ表示し、操作対象情報を示す図形を複数表示する。
【0120】
図20は、操作者に図形を簡略化して提示した操作履歴情報の一例の説明図である。例えば図19に示した操作履歴情報の提示を、図20に示すように簡略化する。すなわち、操作位置情報が「3」から「11」までの操作処理は文書「AAA」に対する処理であるので、文書「AAA」を示す図形を1つにして、各操作処理に対応する9個の図形を付加している。なお、操作位置が「1」、「2」の操作対象情報も文書「AAA」であるが、これらの操作位置では再操作が行われて木構造における枝が分岐しているので、これらの操作処理についてはまとめない。
【0121】
さらに図20では、操作位置情報が「2.1.1」と「2.1.2」の操作処理は文書「ABC」に対する処理であるので、文書「ABC」を示す図形を1つにして、各操作処理に対応する2個の図形を付加している。また、操作位置情報が「1.1.2.1.1」と「1.1.2.1.2」の操作処理は文書「AAA」に対する処理であるので、文書「AAA」を示す図形を1つにして、各操作処理に対応する2個の図形を付加している。
【0122】
また、操作位置情報が「1.4.1」から「1.4.3」までの操作処理はそれぞれ異なる文書に対する処理であるが、いずれも内容を変更する操作処理であるので、内容を変更する操作処理に対応する図形を1つにして、各操作対象情報となる文書「DDD」、「EEE」、「FFF」を示す3つの図形を並べて提示している。
【0123】
このように簡略化処理を行うことによって、図20に示すように操作履歴情報を簡略化して操作者に提示する。操作者は、行われた操作処理を全体的に俯瞰し、所望の操作処理を選択すればよい。
【0124】
図21、図22は、操作履歴情報の簡略化処理の一例を示す流れ図である。なお、図21に示した簡略化処理においては、まとめる操作履歴情報を保持する対象集合、分岐する操作履歴情報を保持する分岐集合、操作履歴情報をまとめる際に操作対象情報を1つにして異なる操作処理をまとめるのか(「操作対象」)、あるいは共通の操作処理を1つにして異なる操作対象情報をまとめるのか(「操作内容」)を示す簡約種別を作業用に用いる。
【0125】
S141において、操作履歴情報23の最初の操作処理の履歴、すなわち操作位置情報が「1」の操作処理の履歴を対象要素とする。そしてS142において、作業用の対象集合に対象要素を追加する。
【0126】
S143において、次の操作処理の履歴が存在し、かつ、分岐していないか否かを判断する。次の操作処理の履歴が存在して分岐もなければ、S144において、作業用の簡約種別が設定されているか否かを判断し、設定されていればS148へ進む。設定されていなければ、さらにS145において、次の操作処理の履歴との違いを調べる。操作対象情報が共通で操作処理が異なる場合には、S146において、作業用の簡約種別に「操作対象」を設定する。また、操作処理が共通で操作対象情報が異なる場合には、S147において作業用の簡約種別に「操作内容」を設定する。なお、操作対象情報も操作処理も異なる場合には、そのままS148へ進む。
【0127】
S148において、次の操作処理の履歴が簡約種別に設定されている内容に合っているか否かを判断する。すなわち、簡約種別に「操作対象」が設定されている場合には、次の操作処理の履歴と操作対象情報が共通であるか否かを判断する。また、簡約種別に「操作内容」が設定されている場合には、次の操作処理の履歴と操作処理が共通であるか否かを判断する。
【0128】
S148で次の操作処理の履歴が簡約種別に設定されている内容に合っていると判断された場合には、S149において、次の操作処理の履歴を対象集合に追加してS143へ戻る。この処理を繰り返すことによって、分岐せず、操作対象情報が共通か、あるいは操作処理が共通の操作処理の履歴が対象集合にまとめられる。
【0129】
S148で次の操作処理の履歴が簡約種別に設定されている内容と合わなくなった場合、すなわち、簡約種別が「操作対象」で次の操作処理の履歴の操作対象情報が異なる場合、あるいは、簡約種別に「操作内容」で次の操作処理の履歴の操作処理が異なる場合には、対象集合への追加を行わずにS151へ進む。また、S143で分岐していると判断された場合や次の操作処理の履歴が存在しない場合には、S150において対象要素から分岐する、すなわち再操作を行った際の操作処理の履歴を分岐集合に追加し、S151へ進む。
【0130】
S151において、対象集合に追加された操作処理の履歴について、簡約種別に従って簡略化して操作者に図形を提示する。この処理の詳細を図22に示している。S161において、簡約種別の設定を判断する。簡約種別が「操作内容」である場合には、S162において、操作集合に含まれる操作処理の履歴について共通する操作処理を示す図形を1つとし、S163において、操作集合に含まれる操作処理の履歴についてそれぞれの操作対象情報を示す図形を操作処理の履歴の個数分だけ並べて提示する。また、簡約種別が「操作対象」である場合には、S164において、操作集合に含まれる操作処理の履歴についてそれぞれの操作処理を示す図形を操作処理の履歴の個数分だけ並べ、S165において、操作集合に含まれる操作処理の履歴について共通する操作対象情報を示す図形を1つ提示する。さらに、簡約種別が設定されていない場合には、S166において、操作集合に含まれる操作処理の履歴に対応する操作処理を示す図形を1つとし、S167において、操作集合に含まれる操作処理の履歴に対応する操作対象情報を示す図形を1つ提示する。
【0131】
図21に戻り、S152において、操作集合内の操作処理の履歴を削除し、また、簡約種別の設定を解除する。S153において、次の操作処理の履歴が存在するか否かを判断し、存在する場合には、S154において、次の操作処理の履歴を対象要素としてS142へ戻る。このようにして木構造の1本の枝について処理を進めてゆく。
【0132】
S153で次の操作処理の履歴が存在しなくなり、木構造の1本の枝の先端まで進んだら、S155において、分岐集合が空か否かを判断する。分岐集合が空でなければ、途中の操作処理から再操作を行っていて、未処理の操作処理の履歴が存在することになる。そのためS156において、分岐集合に最後に追加した操作処理の履歴を取り出して対象要素とし、S142に戻ってその対象要素からの木構造の枝についての処理を行う。S155で分岐集合が空であると判断されれば、処理を終える。このようにして、操作処理が共通の履歴、あるいは操作対象情報が共通の履歴についてまとめ、簡略化した見やすい操作処理の履歴が操作者に提示されることになる。
【0133】
次に、木構造内に多くの枝が存在する場合、目的の操作処理を見つけにくいという不具合に対しては、絞込条件を指定して木構造における不要な枝の提示を省くフィルタ処理によって対応する。このフィルタ処理では、提示されている操作処理の履歴において起点となる操作処理の履歴を選択し、絞込条件を指定する。起点から分岐する各枝をそれぞれ固まりとして、絞込条件を満たさない枝の固まりについては提示を省く。
【0134】
例えば図17に示した操作処理の履歴の木構造において、操作位置が「1」の操作処理の履歴を起点とした場合、操作位置が「2」から「11」および「2.1.1」、「2.1.2」の操作処理の履歴が1つの固まりとなる。また、操作位置が「1.1.1」から「1.1.3」および「1.1.2.1.1」、「1.1.2.1.2」の操作処理の履歴が1つの固まりとなる。さらに、操作位置が「1.2.1」、「1.3.1」の操作処理の履歴はそれぞれが1つの固まりとなる。さらにまた、操作位置が「1.4.1」から「1.4.3」の操作処理の履歴も1つの固まりとなる。それぞれの固まりごとに、絞込条件を満たすか否かを判断する。なお、絞込条件を満たす固まりが存在しない場合には、起点以降の操作処理の履歴は提示されない。
【0135】
図23は、フィルタ処理を指定するために操作者に提示される設定画面の一例の説明図である。例えば図20に示したように操作履歴情報が提示されている状態で、ここでは操作位置が「1」の操作処理の履歴を指定し、その際に表示されるメニューから「フィルタ指定」を選択してフィルタ処理を行う場合を示している。この「フィルタ指定」を選択した後、「フィルタ条件指定」の枠内で絞込条件を設定する。ここでは「文書形式」が「テキスト」であるという絞込条件を設定している。「フィルタ実行」と記したボタンを操作者が操作すれば、フィルタ処理が実行される。
【0136】
図24は、フィルタ処理を施して操作者に提示した操作履歴情報の一例の説明図である。図20あるいは図19における文書「AAA」の「文書形式」が「テキスト」であり、他の文書の文書形式が異なるとすれば、操作位置「1」から分岐している枝のうち、操作位置「2」から始まる枝と操作位置「1.1.1」から始まる枝が絞込条件を満たすことになる。従って、操作位置「1.2.1」、「1.3.1」、「1.4.1」から始まる枝については提示を省略し、図24(A)に示した操作履歴情報が操作者に提示されることになる。なお、操作位置「2.1.1」および「2.1.2」の操作処理の履歴については、分岐前の操作位置「2」の操作処理の履歴における操作対象情報の文書形式が絞込条件を満たすので提示されることになる。
【0137】
図24(A)に示した操作履歴情報が操作者に提示されている状態で、操作位置「2」の操作処理の履歴を指定し、「フィルタ指定」を選択して「フィルタ条件指定」で図23に示すように「文書形式」が「テキスト」であるという絞込条件を設定してフィルタ処理を実行すると、図24(B)に示した操作履歴情報が操作者に提示される。この場合、操作位置「2.1.1」から始まる枝について、提示が省略される。なお、この枝の省略によって、操作位置「2」から「11」までの操作処理の履歴において、提示する範囲では分岐がなくなるので、上述の簡略化処理によって操作位置「2」の操作処理の履歴についてもまとめて提示している。
【0138】
この具体例では絞込条件として「文書形式」が「テキスト」であるという条件を例示したが、もちろん、この例に限らず、種々の条件を設定してよいことは言うまでもない。
【0139】
図25は、操作履歴情報に対するフィルタ処理の一例を示す流れ図である。上述のように起点となる操作処理の履歴が指定され、さらに絞込条件が指定されてフィルタ処理の実行が指示されると、例えば図25に示した処理によってフィルタ処理が行われる。
【0140】
まず、S171において、操作者に提示している操作履歴情報を提示管理用情報として保存しておく。
【0141】
S172において、起点から分岐する枝(操作処理の履歴)のうちの1本を選択し、S173において、後に続く操作処理の履歴を枝管理用情報として保存する。S174において、起点から分岐する枝について未処理の枝が存在するか否かを判断し、未処理の枝が存在する場合はS172へ戻ってその未処理の枝についての処理を行う。これにより、枝ごとに操作処理の履歴が枝管理用情報として保存される。
【0142】
各枝の操作処理の履歴を枝管理用情報に保存したら、S175において、枝管理用情報に保存した、起点から分岐する枝のうちの1本を選択する。そして、その選択した枝の操作処理の履歴が絞込条件を満たすか否かをS176において判定する。絞込条件を満たす場合にはそのままS178へ進むが、絞込条件を満たさない場合には、S177において、S175で選択した枝の各操作処理の履歴を削除用情報として保存する。S178において、枝管理用情報に保存された枝について、未処理の枝が存在するか否かを判断し、未処理の枝が存在する場合はS175へ戻ってその未処理の枝についての処理を行う。これにより、絞込条件を満たさない枝の操作処理の履歴が削除用情報として保存される。
【0143】
S179において、削除用情報として保存された操作処理の履歴を、提示管理用情報から削除する。そしてS180において、提示管理用情報を操作者に提示する。提示の際には、上述の簡略化処理を行っておくとよい。このようにして、絞込条件を満たさない木構造の枝が省略されて、操作履歴情報が提示される。従って、利用者は目的とする操作処理の履歴を見つけやすくなる。
【0144】
次に、それぞれの操作処理の詳細を確認し、また更新を追ってゆく際の操作性を向上させるため、選択された操作処理の結果と、それ以前の操作処理の結果との差分を提示する操作内容提示処理の機能を設けている。操作内容提示処理としては、1つの操作処理に関する操作内容を提示するほか、一連の複数の操作処理によって行われた操作内容についても提示する。
【0145】
図26は、操作内容提示処理を指定するために操作者に提示される設定画面の一例の説明図である。例えば図24(B)に示したように操作履歴情報が提示されている状態で、ここでは操作位置が「2」から「11」の操作処理の履歴が簡略化されて提示されている図形を指定し、その際に表示されるメニューから「操作内容表示」を選択すれば、操作位置「11」に対する操作内容提示処理が行われる。
【0146】
図27は、操作内容提示処理によって操作者に提示した情報の一例の説明図である。上述のようにして操作内容提示処理を行うことにより、例えば図27に示す情報が操作者に提示される。この例では、操作位置「11」における操作処理の内容が提示されることになる。操作位置「11」における操作処理は新たな版として版管理を開始する処理であったので、操作内容として版管理開始と表示している。
【0147】
なお、ここでは操作位置「11」が選択されたものとして操作内容を提示したが、例えば簡略化して提示している操作処理に対応する図形を選択すれば、対応する操作位置における操作内容が提示される。
【0148】
図28は、操作内容提示処理によって操作者に提示した情報の別の例の説明図である。上述の図27において操作内容提示処理によって提示された情報中に「累積操作内容表示」と記された部分を選択し、あるいは図26に示したメニューから「操作内容表示(累積)」を選択すると、この例では操作位置「1」の操作処理終了後、操作位置「2」から「11」までに行われた操作処理でどのように変更されたかという操作内容が提示される。図28に示す例では、図27に示した例における属性名「UserE1」、「UserE2」の変更に加え、属性名「UserA」、「UserB」、「ファイル名」が変更されている。
【0149】
なお、例えば操作位置「2」と操作位置「10」の操作処理で属性を変更しているが、例えば操作位置「2」の操作処理で変更した属性を更に操作位置「10」の操作処理で変更した場合には、後で変更した値が有効になる。もちろん、内容変更など、他の操作処理においても、上書きしたり重複して操作処理を行った場合には、後で行った操作処理の結果が有効になる。
【0150】
また、この例では簡略化処理により簡略化して示されている一連の操作処理を累積の操作内容を提示する操作処理の範囲としたが、これに限らず、任意に2つの操作処理を選択して、その間で行われた操作処理をまとめて、操作内容を提示するように構成してもよい。
【0151】
このような累積の操作内容を提示することで、属性値や内容が何回も変更されている場合であっても、最終的な結果が提示されるため、最終的にどうなるかが分かりやすくなる。
【0152】
図29は、操作内容提示処理の一例を示す流れ図である。個別の操作処理における操作内容を提示する処理は、当該操作処理に対応する更新情報24を参照すればよいので、ここでは累積操作内容を提示する場合の処理について説明する。なお、操作内容をまとめる範囲を示す始点及び終点となる操作処理が指定されているものとして説明する。
【0153】
まず、S191において、まとめる範囲内の操作処理に対応する更新情報24を取得して作業用の累積対象情報に追加して行く。
【0154】
S192において、累積対象情報に追加された更新情報を、操作処理を行った順序の逆順で1つ取り出す。S193において、取り出した更新情報中の情報識別子が、作業用の一時保存情報中に存在するか否かを判断する。存在しなければ、S194において、その情報識別子を作業用の一時保存情報に追加する。存在する場合は、そのままS195へ進む。
【0155】
S195において、累積対象情報に未処理の更新情報が残っているか否か判断し、残っていればS192へ戻って処理を繰り返す。累積対象情報に未処理の更新情報が残っていなければ、S196に進む。
【0156】
ここまでの繰り返しの処理によって、まとめる範囲内で使用された操作対象情報を示す情報識別子が作業用の一時保存情報に追加されている。S196において、作業用の一時保存情報と、まとめる範囲の直前の状態との差分を抽出し、提示する。これによって、まとめる範囲内で使用された各操作対象情報について、更新による差分がそれぞれ抽出されることになる。上述の図28に示した具体例では操作対象情報は文書「AAA」で共通していたが、まとめる範囲内に別の操作対象情報に関する操作処理が含まれていても、その操作対象情報についての差分も提示されることになる。
【0157】
次に、再操作によって木構造に分岐があり、その分岐前後でどのような違いが生じたのかを調べるために、分岐情報提示処理を設けている。この分岐情報提示処理は、再操作が行われて木構造の分岐が生じている場合、その分岐前の枝及び分岐後の各枝で共通に行われている操作処理を抽出し、抽出した操作処理と異なる操作処理を差分として提示する。なお、分岐前後の各枝は、上述のフィルタ処理において単位とした固まりである。
【0158】
共通部分は、操作処理の内容ごとの集合と操作対象情報ごとの集合として管理する。共通部分との差分は、各操作処理における操作内容と操作対象情報のそれぞれについて、共通部分に含まれるか否かを確認する。そして、操作内容が含まれない、または操作対象情報が含まれない、あるいはその両方が含まれない場合、それを差分情報として抽出する。差分情報は、操作処理の内容を示す図形と、操作対象情報を示す図形を用い、選択された起点となる操作処理の履歴と、その直後の操作処理の履歴との間を結ぶ線に隣接させて提示する。
【0159】
図30は、分岐情報提示処理を指定するために操作者に提示される設定画面の一例の説明図である。例えば図24(B)に示したように操作履歴情報が提示されている状態で、ここでは操作位置が「1.1.1」と「1.1.2」の操作処理の履歴が簡略化されて提示されている図形を指定し、その際に表示されるメニューから「分岐情報表示」を選択すれば、分岐が生じている操作位置「1.1.2」を起点とした各枝における差分を提示する分岐情報提示処理が行われる。
【0160】
図31は、分岐情報提示処理によって操作者に提示した情報の一例の説明図である。上述のようにして起点を指定し、操作内容提示処理を行うことにより、例えば図31に示す情報が操作者に提示される。この例では、操作位置「1.1.2」の後の分岐で、2つの枝で共通した操作処理は、操作内容が「版管理開始」であることと操作対象情報が文書「AAA」であること、である。再操作を行った操作位置「1.1.2.1.1」以降の操作処理では、共通操作に含まれない「属性編集」が含まれる。そのため、操作位置「1.1.2」と操作位置「1.1.2.1.1」との間に、「属性編集」の操作処理を示す図形を提示している。なお、操作位置「1.1.3」以降の枝には、共通操作に含まれないものがないため、差分としては何も提示されていない。
【0161】
このように分岐する各枝の差分を提示することで、それぞれの枝でどのような違いがあるかを簡潔に表現し、操作者にとって、どの枝を詳しく見て行くかの判断材料になる。
【0162】
図32は、分岐情報提示処理の一例を示す流れ図である。操作処理後に分岐を有する履歴が起点として指定され、分岐情報提示処理の実行が指示されると、図32に示す処理が行われる。
【0163】
まず、S201からS204の処理によって、分岐している各枝において行われている操作処理の内容と操作対象情報が抽出される。すなわち、S201において、分岐直後の操作処理のうちの1つを処理対象として、S202において、処理対象に連なるすべての操作処理の操作履歴情報23および更新情報24を取得する。そしてS203において、取得した操作処理の操作履歴情報23および更新情報24から、各操作処理における操作内容と操作対象情報を抽出してそれぞれ保存する。これにより、1本の枝について、その枝の中の操作処理において行われた操作処理の内容と、操作処理の対象とした操作対象情報とが抽出される。S204において、分岐直後の操作処理に未処理のものがあるか否かを判断し、未処理のものがあればS201に戻ってその操作処理についての処理を行う。
【0164】
分岐直後の操作処理について未処理のものがなくなったら、S205において、それぞれの枝ごとに抽出された操作対象情報をもとに、各枝において共通して存在する1ないし複数の操作対象情報を見つけて共通操作対象とする。またS206において、それぞれの枝ごとに抽出された操作処理の内容をもとに、各枝において共通して存在する1ないし複数の操作処理の内容を見つけて共通操作内容とする。
【0165】
S207からS211では、各枝における差分を抽出する。すなわち、S207において、分岐直後の操作処理のうちの1つを処理対象として、S208において、処理対象に連なるすべての操作処理の操作履歴情報23および更新情報24を取得する。そしてS209において、各操作処理の操作対象情報のうち、共通操作対象にないものを見つける。またS210において、各操作処理の操作内容のうち、共通操作内容にないものを見つける。これらが処理対象の枝における操作対象情報および操作内容の差分である。S211において、分岐直後の操作処理に未処理のものがあるか否かを判断し、未処理のものがあればS207に戻ってその操作処理についての処理を行う。この繰り返しにより、各枝における操作対象情報および操作内容の差分が得られる。
【0166】
S212からS215では、差分の提示を行う。すなわち、S212において、分岐直後の操作処理のうちの1つを処理対象として、S213において、操作対象情報の差分に応じた図形を提示し、またS214において、操作内容の差分に応じた図形を提示する。これにより、処理対象となった枝についての差分の提示が行われた。S215において、分岐直後の操作処理に未処理のものがあるか否かを判断し、未処理のものがあればS212に戻ってその操作処理についての処理を行う。この繰り返しにより、各枝における差分の提示が行われる。
【0167】
このように、簡略化処理、フィルタ処理、操作内容表示処理、分岐情報表示処理、あるいはその他の様々な処理によって、操作者に対して見やすく、所望の総理操作が見つけやすい操作処理の履歴の提示を行う。操作者は、提示された操作処理の履歴を参照しながら、例えば再操作を行う操作処理を特定して現在操作位置の変更を指定し、操作処理をやり直せばよい。
【0168】
図33は、本発明の実施の一形態の機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、31はプログラム、32はコンピュータ、41は光磁気ディスク、42は光ディスク、43は磁気ディスク、44はメモリ、51はCPU、52は内部メモリ、53は情報読取部、54はハードディスク、55はインタフェース、56は通信部である。
【0169】
上述の実施の一形態で説明した機能の一部または全部を、コンピュータにより実行可能なプログラム31によって実現してもよい。その場合、そのプログラム31およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶させてもよい。もちろん、一部の機能についてハードウェアによって構成してもよいし、すべてをハードウェアで構成してもよい。プログラム31を格納する記憶媒体とは、コンピュータのハードウェア資源に備えられている情報読取部53に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、情報読取部53にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク41,光ディスク42(CDやDVDなどを含む)、磁気ディスク43,メモリ44(ICカード、メモリカードなどを含む)等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【0170】
これらの記憶媒体にプログラム31を格納しておき、例えばコンピュータ32の情報読取部53あるいはインタフェース55にこれらの記憶媒体を装着することによって、コンピュータからプログラム31を読み出し、内部メモリ52またはハードディスク54に記憶し、CPU51によってプログラム31を実行することによって、本発明の実施の一形態として説明した機能の一部または全部を実現すればよい。あるいは、ネットワークなどを介してプログラム31をコンピュータ32に転送し、コンピュータ32では通信部56でプログラム31を受信して内部メモリ52またはハードディスク54に記憶し、CPU51によってプログラム31を実行することによって実現してもよい。または、予めプログラム31を書き込んだROMなどのメモリを内部に実装して実現してもよい。
【0171】
なお、コンピュータ32には、このほかインタフェース55を介して様々な装置が接続されていてよい。もちろん、他の機能を実現するプログラムと一体に構成してもよいことは言うまでもない。
【0172】
また、例えば図1に示した構成を、ネットワークにより接続された複数のコンピュータで実現することもできる。例えば記憶部21を1または複数のデータベースサーバとし、他の部分を管理サーバとして構成するなど、任意に機能を分割して複数台のコンピュータに割り当て、分散処理システム上で構成してもよい。
【図面の簡単な説明】
【0173】
【図1】本発明の実施の一形態を示す構成図である。
【図2】操作開始指示が行われた場合の動作の一例を示す流れ図である。
【図3】操作開始の指示により生成された現在操作位置情報の一例の説明図である。
【図4】更新操作が指示された場合の動作の一例を示す流れ図である。
【図5】操作者が行った更新操作の一例の説明図である。
【図6】操作(a)を行った後の記憶部21に格納される情報の一例の説明図である。
【図7】操作(b)を行った後の記憶部21に格納される情報の一例の説明図である。
【図8】操作(c)を行った後の記憶部21に格納される情報の一例の説明図である。
【図9】操作(d)を行った後の記憶部21に格納される現在操作位置情報の一例の説明図である。
【図10】操作(e)を行った後の記憶部21に格納される情報の一例の説明図である。
【図11】操作者への提示処理の動作の一例を示す流れ図である。
【図12】操作者への提示処理の動作の一例における現在操作位置情報、操作履歴情報、更新情報、排他情報の別の具体例の説明図である。
【図13】操作者へ提示される情報の具体例の説明図である。
【図14】操作完了の操作処理の動作の一例を示す流れ図である。
【図15】操作撤回の操作処理の動作の一例を示す流れ図である。
【図16】操作処理に関する情報を提示する動作の一例を示す流れ図である。
【図17】操作履歴情報を操作者に提示するまでに行われた操作処理の一例の説明図である。
【図18】操作者に通常状態で提示した操作履歴情報の一例の説明図である。
【図19】操作者に通常状態で提示した操作履歴情報の変形例の説明図である。
【図20】操作者に図形を簡略化して提示した操作履歴情報の一例の説明図である。
【図21】操作履歴情報の簡略化処理の一例を示す流れ図である。
【図22】操作履歴情報の簡略化処理の一例における一部詳細処理を示す流れ図である。
【図23】フィルタ処理を指定するために操作者に提示される設定画面の一例の説明図である。
【図24】フィルタ処理を施して操作者に提示した操作履歴情報の一例の説明図である。
【図25】操作履歴情報に対するフィルタ処理の一例を示す流れ図である。
【図26】操作内容提示処理を指定するために操作者に提示される設定画面の一例の説明図である。
【図27】操作内容提示処理によって操作者に提示した情報の一例の説明図である。
【図28】操作内容提示処理によって操作者に提示した情報の別の例の説明図である。
【図29】操作内容提示処理の一例を示す流れ図である。
【図30】分岐情報提示処理を指定するために操作者に提示される設定画面の一例の説明図である。
【図31】分岐情報提示処理によって操作者に提示した情報の一例の説明図である。
【図32】分岐情報提示処理の一例を示す流れ図である。
【図33】本発明の実施の一形態の機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。
【符号の説明】
【0174】
11…操作位置管理部、12…操作履歴管理部、13…情報管理部、14…更新管理部、15…既存情報管理部、16…操作処理部、17…提示処理部、18…操作位置処理部、21…記憶部、22…現在操作位置情報、23…操作履歴情報、24…更新情報、25…排他情報、26…既存永続化情報、31…プログラム、32…コンピュータ、41…光磁気ディスク、42…光ディスク、43…磁気ディスク、44…メモリ、51…CPU、52…内部メモリ、53…情報読取部、54…ハードディスク、55…インタフェース、56…通信部。
【技術分野】
【0001】
本発明は、情報処理プログラムおよび情報処理装置に関するものである。
【背景技術】
【0002】
情報を作成して編集し、あるいは既存の情報を編集してゆく場合、何回もの編集操作が行われる場合がある。編集は試行錯誤により進められることも多く、編集を進めた後、問題なければそこまでの編集を確定し、問題があれば行った編集を戻してやり直したい。このような場合、従来でも編集を1段階ずつ戻したり、戻した編集を1段階ずつ進めたりする機能があり、この機能を利用して時系列に行われた編集処理を撤回または反映させて所望の編集を行っている。例えば特許文献1に記載されている装置では、操作の履歴とその内容(更新を行った場合は更新前の値)を保持することによって、ある時点までのデータの復元を容易に行えるようにしている。
【0003】
しかし、編集を戻して別の編集処理を行うと、戻した編集処理の内容が失われ、元の方がよかった場合には改めて編集作業を行わなければならない場合がある。また、改めて編集作業を行う際に、元の編集作業の内容を記憶していなければならず、操作者の記憶が頼りであるため元の編集結果が得られるとは限らない。
【0004】
さらに、編集の撤回及び反映を行い得る多くのシステムでは、その機能が有効な期間が限られている。しかし、編集作業は連続して行われるとは限らず、また時間内に終了するとも限らない。そのため、編集が必要となった際に既に編集内容が確定され、撤回ができなくなっていることもある。一旦確定されてしまった編集内容に不具合があった場合には、元に戻すことができず、改めて編集作業を行う必要がある。
【0005】
また、操作者が情報に対する更新を行う場合、更新の経過を他の操作者に公開したくない場合がある。もちろん、情報に対する編集処理の競合を避けるため、ある操作者による編集処理中は他の操作者に対して更新内容を公開しないシステムは既に存在する。しかし、任意の時点までの長時間にわたる更新内容の隠蔽を行うためには、操作者は更新を公開する前に他者から情報そのものを隠蔽する操作を行い、更新が完了したところで隠蔽を解除する操作を行う必要がある。さもなければ、更新内容を公開したまま行うことになり、そのため不都合があるデータによって他者の業務に影響を与える場合もある。
【0006】
【特許文献1】特開2003−058534号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、それまでに行ったどの操作処理でも戻って操作が可能な情報処理プログラムおよび情報処理装置を提供することを目的とするものである。
【課題を解決するための手段】
【0008】
本願請求項1に記載の発明は、どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段としてコンピュータを機能させることを特徴とする情報処理プログラムである。
【0009】
本願請求項2に記載の発明は、本願請求項1に記載の構成において、前記情報管理手段が、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者からの更新指示を拒否することを特徴とする情報処理プログラムである。
【0010】
本願請求項3に記載の発明は、本願請求項1に記載の構成において、前記情報管理手段が、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者に対しては操作が施されていない状態を提供することを特徴とする情報処理プログラムである。
【0011】
本願請求項4に記載の発明は、本願請求項1から請求項3のいずれか1項に記載の構成において、前記情報操作処理手段が、操作完了の指示を受けると、前記情報管理手段に対して管理している前記操作対象情報に該指示までの操作処理を反映させるとともに、前記履歴管理手段に対して前記履歴を削除させることを特徴とする情報処理プログラムである。
【0012】
本願請求項5に記載の発明は、本願請求項1から請求項4のいずれか1項に記載の構成に加え、さらに、現在操作位置の変更の指定を行う操作者に対して前記履歴管理手段により管理されているそれまでに行われた操作の履歴を提示する提示手段として前記コンピュータを機能させることを特徴とする情報処理プログラムである。
【0013】
本願請求項6に記載の発明は、本願請求項1から請求項5のいずれか1項に記載の構成における前記提示手段が、前記操作毎に対応する図形を提示することを特徴とする情報処理プログラムである。
【0014】
本願請求項7に記載の発明は、本願請求項6に記載の構成における前記提示手段が、ある操作位置から複数の操作が行われている場合に該複数の操作に対応する図形を並列して提示することを特徴とする情報処理プログラムである。
【0015】
本願請求項8に記載の発明は、本願請求項6に記載の構成における前記提示手段が、一部の複数の操作をまとめた図形を提示することを特徴とする情報処理プログラムである。
【0016】
本願請求項9に記載の発明は、どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段を有することを特徴とする情報処理装置である。
【発明の効果】
【0017】
本願請求項1に記載の発明によれば、それまでに行ったどの操作処理にでも戻って操作を行うことができる。
【0018】
本願請求項2に記載の発明によれば、操作途中の操作対象情報に対する他者による更新を防止することができる。
【0019】
本願請求項3に記載の発明によれば、操作途中の操作対象情報について、他者に対して隠蔽し、他者の業務に影響を与えることがない。
【0020】
本願請求項4に記載の発明によれば、操作完了の指示を行うまでは、それまでに行った操作処理のいずれにでも戻って操作を行うことができる。
【0021】
本願請求項5に記載の発明によれば、操作者はどのような操作を行ってきたかを理解しながら操作処理を進めるべき現在操作位置を指定することができる。
【0022】
本願請求項6に記載の発明によれば、操作者は提示された図形の選択により現在操作位置を指定することができる。
【0023】
本願請求項7に記載の発明によれば、操作者はどの段階からどのような操作をやり直したかを一覧で知ることができる。
【0024】
本願請求項8に記載の発明によれば、多数の操作が行われている場合であっても、行われた操作の全体を容易に把握し、現在操作位置の指定を行うことができる。
【0025】
本願請求項9に記載の発明によれば、それまでに行ったどの操作処理にでも戻って操作を行うことができる。
【発明を実施するための最良の形態】
【0026】
図1は、本発明の実施の一形態を示す構成図である。図中、11は操作位置管理部、12は操作履歴管理部、13は情報管理部、14は更新管理部、15は既存情報管理部、16は操作処理部、17は提示処理部、18は操作位置処理部、21は記憶部、22は現在操作位置情報、23は操作履歴情報、24は更新情報、25は排他情報、26は既存永続化情報である。
【0027】
操作位置管理部11は、操作者が情報の操作処理を行っているかなどの管理を行う。特に、どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を現在操作位置情報22として記憶部21に格納し、管理する。
【0028】
操作履歴管理部12は、操作開始の指示を受けた後に行われた操作処理の履歴を操作履歴情報23として記憶部21に格納し、管理する。操作履歴情報23には、操作開始から終了までの一連の操作処理を識別する操作識別子と、その一連の操作処理に対する、行われた操作処理の位置を示す位置情報も含めておく。また、操作開始の指示を受けた後、提示処理部17より操作履歴情報23の取得が依頼された場合には、記憶部21より操作履歴情報23を読み出して提示処理部17へ渡す。さらに、操作処理部16が操作完了の指示を受けると、その指示までに行った操作処理の操作履歴情報23を削除する。
【0029】
情報管理部13は、操作処理の対象となり得る操作対象情報を管理し、また操作処理による操作対象情報の更新などについても管理する。情報の読み出しが要求された場合には更新管理部14及び既存情報管理部15を使用し、操作の開始を指示して操作を行っている操作者に対しては、更新管理部14が管理する更新情報24のうち操作開始から現在操作位置情報22が示す操作位置までの更新情報24に従って、既存情報管理部15が管理する既存永続化情報26に対して操作処理を施した結果を提供する。それ以外の操作者に対しては、既存情報管理部15が管理する既存永続化情報26を提供する。このように操作中の操作者以外に対しては、操作処理前のもとの状態を提供することにより、操作中の情報を他者に対して隠蔽し、他者の業務に影響を与えないようにしている。
【0030】
また情報管理部13は、操作処理部16で更新の操作処理の指示を受け付けた場合には、更新管理部14を使用して更新(登録、変更、削除などを含む)による変更情報(対象となる操作対象情報と操作処理の内容)を更新情報24として記憶部21に記憶させる。なお、更新の対象となっているもとの操作対象情報はそのまま残す。また、更新の対象となった操作対象情報およびその影響を受ける情報については、既存情報管理部15を用いて他者からの更新指示を拒否する。
【0031】
さらに情報管理部13は、操作処理部16が操作完了の指示を受けると、その指示までの操作処理を施した結果を、既存情報管理部15により管理されている既存永続化情報26に反映させる。
【0032】
更新管理部14は、更新情報24を管理する。操作開始の指示を受けた後、操作処理によって更新(登録、変更、削除などを含む)が行われると、その更新の対象である操作対象情報に関する情報とその更新の内容を更新情報24として記憶部21に格納する。その際には、もとの操作対象情報の内容に関しては変更を加えない。更新情報24を格納する際には、操作対象情報に関する情報に加えて、操作を識別する操作識別子と、操作の流れ全体に対する当該操作の位置を示す操作位置情報も付加して格納する。
【0033】
既存情報管理部15は、操作対象情報となる既存永続化情報26を管理する。操作が開始されても既存永続化情報26は変更せず、操作完了の指示を受けると、それまでの操作処理を施した結果を既存永続化情報26に反映する。また、操作開始の指示を行っていない操作者が情報に対して更新を行った場合にも、更新された操作対象情報を既存永続化情報26として記憶部21に格納する。ただし、操作の開始を指示した操作者が操作処理の対象としている操作対象情報については、排他情報25として操作者を登録しておき、その操作者以外の操作者によって操作処理中の操作対象情報が更新されないように、登録されている操作者以外の操作者からの更新指示を拒否する。
【0034】
操作処理部16は、操作者からの情報に対する操作処理の指示を受け付け、指示された操作処理に従って各部を制御する。操作処理の指示としては、操作開始、更新(登録、更新、削除などを含む)、操作完了などがある。
【0035】
提示処理部17は、操作者に対して種々の情報を提示する。例えば、情報管理部13が管理する情報の提示、操作の開始指示から行われた操作の履歴の提示などを行う。操作の履歴の提示は、操作者が現在操作位置の変更を指定する際に利用される。また、操作の履歴を提示する際には、それまでに行われた操作毎に、対応する図形を提示する。その際には、ある操作位置から複数の操作が行われている場合には、複数の操作に対応する図形を並列して提示する。また、一部の複数の操作について、まとめた図形によって提示してもよい。
【0036】
操作位置処理部18は、操作履歴管理部12により管理されている操作の履歴に基づいて操作者が行った現在操作位置の変更の指定を受けて、操作位置管理部11により管理されている現在操作位置情報22を変更する。現在操作位置の変更は、それまで行われた操作処理が終了した位置を任意に指定すればよい。その現在操作位置から改めて操作処理を行うことになる。
【0037】
記憶部21は、記憶しておく必要がある様々な情報を記憶している。ここでは一例として、現在操作位置情報22、操作履歴情報23、更新情報24、排他情報25、既存永続化情報26などを記憶しているものとして示している。現在操作位置情報22は操作位置管理部11によって管理され、どの操作が終了した後の操作対象情報に対して操作処理を行うかを示す。操作履歴情報23は操作処理部16で行った操作処理の履歴であり、操作履歴管理部12によって管理される。操作履歴情報23には、それぞれの操作を識別するための操作識別子と、一連の操作処理中の位置を示す位置情報が含まれている。更新情報24は更新管理部14によって管理され、操作対象情報に対して操作処理部16で行われた操作処理の内容と、その操作を識別するための操作識別子と、操作対象情報に関する情報と、対象の操作により影響を及ぼす全ての対象情報を含んでいる。排他情報25は、操作対象情報に対して、操作を行っている操作者以外の操作者からの更新を排除するために用いられ、操作対象情報と操作者とを対応づけている。この排他情報25は既存情報管理部15によって管理される。既存永続化情報26は様々な操作対象となり得る情報であり、既存情報管理部15によって管理される。操作者から更新の操作処理が指示された場合でも、更新前の情報が既存永続化情報26として管理される。
【0038】
本発明の実施の一形態における動作の一例について説明する。図2は、操作開始指示が行われた場合の動作の一例を示す流れ図である。操作者が操作開始を指示すると、S61において、当該操作者が既に操作開始を指示しているか否かを判定する。既に操作の開始を指示している場合には、S65において、誤り処理を行う。あるいは、別の操作環境を設けて切り替え可能にしてもよい。
【0039】
まだ操作開始の指示を受け付けていなかった操作者の場合には、今回行われた操作開始の指示を受け付ける。S62において、今後行われる一連の操作を識別するための操作識別子を生成し、現在操作位置を0とした現在操作位置情報22を生成する。さらにS63において、S62で生成した現在操作位置情報22を記憶部21に格納する。またS64において、情報管理部13あるいは既存情報管理部15は、操作開始の指示後に操作処理の影響を受けた情報に対して他者からの更新が行われないように、排他情報25を生成するための情報として操作者識別子などを保持しておく。
【0040】
図3は、操作開始の指示により生成された現在操作位置情報の一例の説明図である。この例では、現在操作位置情報22として操作者識別子、開始時刻、操作識別子、現在操作位置、注釈、有効期限などの情報を含んでいる。もちろん、現在操作位置情報22が含む情報は、この例に限られるものではなく、操作者識別子、操作識別子、現在操作位置を含んでいれば他にどのような情報を含んでいてもよい。
【0041】
図3に示した例では、操作者1と操作者2がそれぞれ操作開始の指示を行った場合を示している。操作者1については操作識別子としてXXXXXXXXXXを生成し、操作者2については操作識別子としてYYYYYYYYYYを生成し、いずれも現在操作位置を0にして現在操作位置情報22を生成している。
【0042】
図4は、更新操作が指示された場合の動作の一例を示す流れ図である。操作者は情報管理部13が管理している情報に対して各種の操作処理を指示する。ここでは更新(登録、変更、削除)の操作処理が指示された場合の処理を示している。この操作処理の指示は操作処理部16によって受け付けられ、各部が制御される。
【0043】
まずS71において、操作位置管理部11は更新操作の指示を行った操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、S77において、情報管理部13を通じて既存情報管理部15が操作対象の既存永続化情報26を読み出して操作処理部16が操作処理を行い、既存情報管理部15が既存永続化情報26の更新を行う。もちろん、操作対象の既存永続化情報26が他の操作者による操作対象情報となっている場合には、S77における更新は拒否され、誤り処理が行われる。
【0044】
S71で操作開始の指示が既に行われていると判定された場合には、S72において、操作位置管理部11は現在操作位置情報22から、更新操作の指示を行った操作者に対応する操作識別子及び現在操作位置を抽出する。
【0045】
S73において、現在操作位置よりも後に操作処理が行われているか否かを判定する。現在操作位置よりも後に操作処理が行われている場合には、操作処理を戻して再度の操作処理を行おうとしていることを示している。従ってS74において、やり直したことが分かるように操作位置情報を生成する。一例として、ここでは現在操作位置に‘.’及び番号を後ろに追加して再操作の回数を示し、さらに‘.’及び番号を後ろに追加して再試行における操作の順序を示して操作位置情報とする。例えば現在操作位置が2であれば2.1.1を、現在操作位置が3.2.1であれば3.2.1.1.1を操作位置情報とする。また、例えば現在操作位置が2で、3回目の再操作であれば2.3,1を操作位置情報とする。
【0046】
現在操作位置よりも後に操作処理が行われていなければ、さらに続けて行われる操作処理であるものとし、S75において、操作位置情報として現在操作位置を次に進める。一例として、ここでは現在操作位置の最後の番号に1を加える。例えば現在操作位置が2であれば3を、現在操作位置が3.2.4であれば3.2.5を操作位置情報とする。
【0047】
S76において、現在操作位置が0か否かを判定し、0の場合にはS77で既存永続化情報26の更新を行う。現在操作位置が0でないことを確認したら、指示された更新操作処理を操作処理部16で行う。ここでは指示される更新操作として登録操作、変更操作、削除操作のいずれかである場合について示している。もちろん、このほかの更新操作が存在していてもよい。
【0048】
登録操作は、操作対象情報を追加する操作処理である。追加する情報は、新規に作成するほか、既存永続化情報26として記憶部21に格納されている情報の複製でもよい。あるいは、外部から情報を転送して操作対象情報としてもよい。登録操作が指示されている場合には、必要に応じて情報の複製あるいは転送などを行った後、S81において、当該操作対象情報について他の操作者からの更新を防止するため、既存情報管理部15は当該操作対象情報に対する排他情報25を生成して記憶部21に格納する。また、S82において、更新管理部14は登録操作に対応する更新情報24を生成して記憶部21に格納する。この更新情報24には、登録操作を行った旨の操作内容とともに、操作識別子、S74またはS75で生成した操作位置情報、操作対象情報を識別する情報識別子が含まれる。さらにS87において、操作履歴管理部12は登録操作に対応する操作履歴情報23を生成して記憶部21に格納する。この操作履歴情報23には、操作識別子、操作位置情報、操作者識別子、操作名、操作時刻などが含まれる。
【0049】
なお、例えば操作対象情報を階層的に管理している場合、操作対象情報だけでなく当該操作対象情報を含む上位の階層についても排他情報25を生成して他の操作者からの更新操作を排除してもよい。また、このような場合には上位の階層についての更新情報24を作成してもよい。
【0050】
変更操作は、操作対象情報の内容を変更する操作処理である。例えば文書の記載を修正するなどの操作が含まれる。指示に従って操作処理部16で変更操作が行われると、S83において、既存情報管理部15は変更操作の対象となった操作対象情報に対する排他情報25を生成して記憶部21に格納する。また、S84において、更新管理部14は変更操作に対応する更新情報24を生成して記憶部21に格納する。この更新情報24には、変更した内容を含む操作内容とともに、操作識別子、S74またはS75で生成した操作位置情報、操作対象情報を識別する情報識別子が含まれる。さらにS87において、操作履歴管理部12は変更操作に対応する操作履歴情報23を生成して記憶部21に格納する。この操作履歴情報23には、操作識別子、操作位置情報、操作者識別子、操作名、操作時刻などが含まれる。なお、この変更操作では変更前の操作対象情報については変更を加えず、そのまま既存永続化情報26として既存情報管理部15が管理し、変更した部分について更新情報24として更新管理部14が管理する。
【0051】
削除操作は、操作対象情報を削除する操作処理である。削除操作が指示されている場合には、S85において、当該操作対象情報について他の操作者からの更新を防止するため、既存情報管理部15は当該操作対象情報に対する排他情報25を生成して記憶部21に格納する。また、S86において、更新管理部14は削除操作に対応する更新情報24を生成して記憶部21に格納する。この更新情報24には、削除操作を行った旨の操作内容とともに、操作識別子、S74またはS75で生成した操作位置情報、操作対象情報を識別する情報識別子が含まれる。さらにS87において、操作履歴管理部12は削除操作に対応する操作履歴情報23を生成して記憶部21に格納する。この操作履歴情報23には、操作識別子、操作位置情報、操作者識別子、操作名、操作時刻などが含まれる。
【0052】
なお、例えば操作対象情報が階層的に管理されている場合、当該操作対象情報が含まれる上位の階層で削除された場合には、削除された階層以下の情報について排他情報25を生成し、他の操作者からの更新操作を排除する。また、このような場合には削除された階層以下の階層の情報についての更新情報24を作成してもよい。また、削除の対象となった操作対象情報については、新たな情報として既存情報管理部15が管理してもよい。
【0053】
上述の動作例では、登録、変更、削除の操作について説明した。例えば移動の操作であれば、登録と削除の操作を行えばよい。もちろん、このほかの様々な操作を受け付ける構成であってよいことは言うまでもない。
【0054】
上述の更新操作の説明において、例えば登録操作や削除操作では操作対象情報だけでなく、階層的に管理されている場合には上位の階層についても排他情報25を生成して他の操作者からの更新操作を受け付けないようにしている。これは、ある操作対象情報に対する更新操作が、他の情報に対しても影響を及ぼすことによる。影響を及ぼす状況として、以下の操作が考えられる。
・参照
・登録先及び削除元の上位階層
・版管理情報
【0055】
例えば他の情報が操作対象情報を参照している場合がある。操作対象情報が変更され、あるいは削除されると、その操作対象情報を参照している情報についても影響を与えることになる。そのため、更新された操作対象情報を参照している情報があるか否かを判断し、存在した場合には、その参照している情報についても更新されたものとして扱い、既存情報管理部15で排他情報25を作成し、更新履歴管理部12でその情報の更新情報24を作成して記憶部21に保持する。
【0056】
登録先及び削除元の上位階層については、配置される情報の数が変化することになるため、これらについても影響を受ける。上述のように登録先及び削除元の上位階層についても既存情報管理部15で排他情報25を作成し、他の操作者からの更新操作を受け付けないようにしている。
【0057】
また、版管理を行っている場合、例えば後述する操作完了により版を更新する構成であればよいが、登録操作だけでも版が自動的に更新されてしまう場合もある。このような場合には、登録操作が行われた際に新しい版番号を設定し、他の操作者はその版番号を使用できないようにするとよい。もし、その版管理において別の情報を排他的に制御する必要がある場合には、その情報について排他情報25を生成して記憶部21に格納すればよい。
【0058】
上述の更新操作が指示された場合の動作の一例について、具体例を用いながら更に説明する。ここでは既存永続化情報26はファイル群であり、フォルダにより階層的に保持されているものとする。また、以下の例ではファイルが文書であるものとして説明している。
【0059】
図5は、操作者が行った更新操作の一例の説明図である。ここでは、事前に操作者1が操作開始の指示を行い、以下の操作の指示を行ったものとする。
(a)フォルダに文書を1つ登録
(b)登録した文書の利用者属性Aの値を「A1」に変更
(c)(a)のフォルダに存在した別の文書を1つ削除
(d)現在操作位置を(c)の操作終了後に戻す
(e)(c)の削除ではなく、(a)で登録した文書の利用者属性Bの値を「B1」に変更
なお、フォルダの情報識別子を「100001」、(a),(b),(e)における文書の情報識別子を「100111」、(c)で削除する文書の情報識別子を「100105」とする。なお、操作者1が操作開始の指示を行った際に付与される操作識別子は「5000001」であったものとしている。
【0060】
上記の各操作処理を矩形で示すと、図5に示す操作処理の流れとなる。各矩形には上記操作に対応した(a)から(e)の記号と、後述するように各操作処理に振られる操作位置情報を付加している。
【0061】
まず、(a)のフォルダに文書を1つ登録するという操作が指示された場合について説明する。例えば、既存永続化情報26のうちの1つの文書を操作対象情報としてフォルダに登録する場合が想定される。この場合、操作対象情報はフォルダに登録された新たな文書として取り扱う。
【0062】
図6は、操作(a)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「0」が抽出される。なお、この(a)の操作の前には何も行われていないので、現在操作位置は「0」となっている。
【0063】
現在操作位置よりも後の操作は存在しないので、S75で現在操作位置に1を加えて操作位置を「1」とする。図6(A)に示すように、現在操作位置情報22の現在操作位置が「1」に更新される。
【0064】
登録の操作であるのでS81に進み、登録する文書と、その文書が配置されるフォルダについて、他の操作者によって更新されないように排他情報25を作成する。図6(D)に示すように、情報識別子「100001」のフォルダと、情報識別子「100111」の文書について操作者1と対応づけて、操作者1以外の操作者によって当該フォルダ及び文書が更新されないようにする。
【0065】
またS82において、情報識別子「100001」のフォルダと、情報識別子「100111」の文書について、登録の操作が行われたことを示す更新情報24を生成する。生成された更新情報24を図6(C)に示している。この例で示す更新情報には、操作識別子、情報識別子、操作位置、操作内容、その他管理情報、利用者属性A、利用者属性B、その他属性情報の項目を有している。なお、その他管理情報には、階層、リファレンスの参照先などの管理情報も含まれる。もちろん、これらの項目は一例であって、他の項目を含めて取捨選択すればよい。なお、操作内容として、登録された文書には「登録(自身)」と付し、その文書が配置されるフォルダには「登録(親)」と付している。
【0066】
さらにS87では、登録操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図6(B)に示している。この例では、操作履歴情報23として操作者識別子、操作の開始時刻、操作識別子、操作位置、操作指示の各項目を有している。もちろん、これらの項目は一例であって、他の項目を含めて取捨選択してもよい。
【0067】
このようにして、(a)の操作によって図6に示すように各情報が作成され、記憶部21に格納されることになる。
【0068】
次に、(b)の利用者属性Aの変更操作が行われた場合について説明する。図7は、操作(b)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「1」が抽出される。現在操作位置よりも後の操作は存在しないので、S75で現在操作位置に1を加えて操作位置を「2」とする。図7(A)に示す現在操作位置情報22の現在操作位置が「2」に更新される。
【0069】
変更の操作であるのでS83に進み、変更する文書について、他の操作者によって更新されないように排他情報25を作成するが、既に(a)の操作の際に変更操作の対象となる情報識別子「100111」の文書についてはすでに排他情報25が作成されているので、ここでは新たな排他情報25は作成されない。
【0070】
またS84において、情報識別子「100111」の文書について、変更の操作が行われたことを示す更新情報24を生成する。生成された更新情報24を図7(C)に矢印を付して示している。利用者属性Aが変更されたので、変更後の属性「A1」を利用者属性Aの欄に保存している。
【0071】
さらにS87では、変更操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図7(B)に矢印を付して示している。操作位置を「2」、操作指示を「変更」にしている。
【0072】
このようにして、(b)の操作によって図7に示すように各情報が作成され、記憶部21に格納されることになる。
【0073】
次に、(c)の操作である別の文書を1つ削除する削除操作が行われた場合について説明する。図8は、操作(c)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「2」が抽出される。現在操作位置よりも後の操作は存在しないので、S75で現在操作位置に1を加えて操作位置を「3」とする。図8(A)に示す現在操作位置情報22の現在操作位置が「3」に更新される。
【0074】
削除の操作であるのでS85に進み、削除する文書について、他の操作者によって更新されないように排他情報25を作成する。図8(D)に矢印で示すように、情報識別子「100105」の文書について操作者1と対応づけて、操作者1以外の操作者によって当該フォルダ及び文書が更新されないようにする。
【0075】
またS86において、情報識別子「100105」の文書と、この文書が配置されていた情報識別「100001」のフォルダについて、削除の操作が行われたことを示す更新情報24を生成する。生成された2つの更新情報24を図8(C)に矢印を付して示している。
【0076】
さらにS87では、削除操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図8(B)に矢印を付して示している。操作位置を「3」、操作指示を「削除」にしている。
【0077】
このようにして、(c)の操作によって図8に示すように各情報が作成され、記憶部21に格納されることになる。なお、削除の対象となった情報識別子「100105」の文書は、ここでは実際に削除は行われない。
【0078】
次の(d)の現在操作位置を戻す操作であるが、この操作は図4に示した動作とは別に、操作位置管理部11が管理する現在操作位置情報22を操作位置処理部18が変更することによって行われる。図9は、操作(d)を行った後の記憶部21に格納される現在操作位置情報の一例の説明図である。(c)の操作終了後に戻すことから、現在操作位置を「2」に変更している。このように現在操作位置情報22中の現在操作位置を変更すれば、これまでに行った任意の操作の終了後の状態に戻ることになる。なお、現在操作位置情報22以外は変更されない。
【0079】
次に、(e)の利用者属性Bの変更操作が行われた場合について説明する。図10は、操作(e)を行った後の記憶部21に格納される情報の一例の説明図である。図4のS72で現在操作位置情報22から操作識別子「5000001」及び現在操作位置「2」が抽出される。この場合には(d)の操作で現在操作位置を戻したので、現在操作位置よりも後の操作が存在する。また、この現在操作位置からの再操作は1回目である。従ってS74で現在操作位置に「.1」を加え、さらに再操作の最初の操作であることからさらに「.1」を加えて、操作位置を「2.1.1」とする。図10(A)に示す現在操作位置情報22の現在操作位置が「2.1.1」に更新される。
【0080】
変更の操作であるのでS83に進み、変更する文書について、他の操作者によって更新されないように排他情報25を作成するが、既に(a)の操作の際に変更操作の対象となる情報識別子「100111」の文書についてはすでに排他情報25が作成されているので、ここでは新たな排他情報25は作成されない。
【0081】
またS84において、情報識別子「100111」の文書について、変更の操作が行われたことを示す更新情報24を生成する。生成された更新情報24を図10(C)に矢印を付して示している。利用者属性Bが変更されたので、変更後の属性「B1」を利用者属性Bの欄に保存している。
【0082】
さらにS87では、変更操作が行われたことを示す操作履歴情報23を生成して記憶部21に格納する。生成した操作履歴情報23の一例を図10(B)に矢印を付して示している。操作位置を「2.1.1」、操作指示を「変更」にしている。
【0083】
このようにして、(e)の操作によって図10に示すように各情報が作成され、記憶部21に格納されることになる。これで(a)から(e)までの一連の操作が行われたことになる。このように更新操作ごとに操作位置を格納してゆき、各更新操作終了後の情報で検索、表示などを行えるようにしている。また、このように記憶部21に静的に更新操作を記録し続けることにより、装置が停止してもこれらの情報が継続して残るため、操作者が行う操作処理を装置の停止により制限することはない。さらに、更新中の情報に対する他者の更新を防止しており、更新中の情報が他者に影響しないようにしている。
【0084】
上述の操作を操作者が行ってゆく場合、提示処理部17は操作を行っている操作者に対して操作処理後の状態を提供し、また、それまでに行った操作の履歴を提示する。また、操作を行っている操作者以外の操作者に対しては、操作処理が施されていない、もとの状態を提供する。そのための処理の一例を以下に示す。
【0085】
図11は、操作者への提示処理の動作の一例を示す流れ図である。S91において、操作位置管理部11は操作対象情報を提示する操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、S94において、情報管理部13を通じて操作処理が行われていない状態での提示を行う。例えば情報の参照であれば、既存情報管理部15が既存永続化情報26(操作対象情報)を読み出し、提示処理部17から操作者に対して提示する。
【0086】
S91で操作開始の指示が既に行われていると判定された場合には、S92において、操作位置管理部11は現在操作位置情報22から、操作者に対応する操作識別子及び現在操作位置を抽出する。
【0087】
S93において、現在操作位置が0より大きいか否かを判断する。現在操作位置が0であれば、まだ何も操作を行っていないので、S94において情報管理部13を通じて操作処理が行われていない状態での提示を行う。
【0088】
現在操作位置が0より大きければ、何らかの操作が行われている。S95において、操作履歴管理部12はS92で抽出した操作識別子を有する操作履歴情報23をもとに、操作開始から現在操作位置までの操作の順番を割り出す。割り出した操作の順番を操作順位とする。例えば途中から再操作を行っている場合、現在操作位置が最初の操作及び再操作のいずれの操作の途中であるかによって、操作開始から現在操作位置までの操作の順番は変わってくる。例えば上述の(a)から(e)の操作を行っている場合、現在操作位置が「3」であれば「1」→「2」→「3」が操作順位となるが、現在操作位置が「2.1.1」であれば「1」→「2」→「2.1.1」が操作順位となる。
【0089】
S96において、S95で割り出した操作順位に従って更新管理部14が管理する更新情報24を読み出し、操作内容が登録または変更の場合には、既存情報管理部15が管理している操作が施されていない既存永続化情報26(操作対象情報)に対して順に操作処理を行う。またS97において、操作内容が削除の場合についても削除された操作対象情報の情報を抽出しておく。
【0090】
S98において、既存情報管理部15は既存永続化情報26のうち、登録又は変更の操作処理が施された情報についてはS96で得られた情報に差し替え、S97で得られた削除された情報については除外して、提示処理部17における操作者への提示対象とする。操作者は、提示対象から情報の参照や検索を行うことになる。
【0091】
図12は、操作者への提示処理の動作の一例における現在操作位置情報、操作履歴情報、更新情報、排他情報の別の具体例の説明図、図13は、操作者へ提示される情報の具体例の説明図である。ここでは図12に示す現在操作位置情報22、操作履歴情報23、更新情報24、排他情報25が記憶部21に格納されているものとする。すなわち、この例では次に示す一連の操作処理を行った場合を示している。
(f)情報識別子「100111」の文書を情報識別子「100001」のフォルダに登録
(g)何らかの操作処理を行った後に(f)の処理を行ったあとに現在操作位置を戻す
(h)情報識別子「100105」の文書の利用者属性Aを「A2」に、また利用者属性Bを「B2」に変更する操作処理を行う
(i)何らかの操作処理を行った後に(h)の処理を行った後に現在操作位置を戻す
(j)情報識別子「100100」の文書を削除する
(k)情報識別子「100105」の文書の利用者属性Aを「A12」に、また利用者属性Bを「B12」に変更する操作処理を行う
なお、図12には(g)、(i)における操作処理に関する各情報については示していない。
【0092】
現在操作位置が「1.1.1.1.2」であった場合、図11のS95へ進み、操作順位を割り出す。この例では操作順位は「1」→「1.1.1」→「1.1.1.1.1」→「1.1.1.1.2」となる。このうち、登録及び変更の操作処理は「1」と「1.1.1」と「1.1.1.1.2」である。また、削除の操作処理は「1.1.1.1.1」である。従って、既存永続化情報26として情報識別子「100111」の文書が情報識別子「100001」のフォルダに登録され、情報識別子「100105」の文書の利用者属性Aと利用者属性Bをそれぞれ「A12」と「B12」に変更し、さらに情報識別子「100100」の文書を除外した状態を操作者に提供する。これにより操作者に対しては、図13(A)に示すように、情報識別子「100111」の文書と、利用者属性Aと利用者属性Bが変更された情報識別子「100105」の文書が存在する状態が提供されることになる。
【0093】
なお、操作処理を行っている操作者以外の操作者に対しては、操作処理が行われていない状態が提供される。したがって、図13(B)に示すように操作処理により登録された情報識別子「100111」の文書は存在せず、操作処理により削除した情報識別子「100111」の文書が存在し、情報識別子「100105」の文書は利用者属性A及び利用者属性Bが変更される前の状態で提供されることになる。このように、操作処理を行っている操作者には操作を行った状態が提供され、それ以外の操作者に対しては元々の既存永続化情報26の状態が提供されることになる。
【0094】
操作処理が終了し、それまでの操作処理を確定する場合には、操作者は操作完了の指示を行う。図14は、操作完了の操作処理の動作の一例を示す流れ図である。S101において、操作位置管理部11は操作対象情報を提示する操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、何もせずに処理を終わる。あるいは、誤り処理を行ってもよい。
【0095】
S101で操作開始の指示が既に行われていると判定された場合には、S102において、操作位置管理部11は現在操作位置情報22から、操作者に対応する操作識別子及び現在操作位置を抽出する。
【0096】
S103において、現在操作位置が0より大きいか否かを判断する。現在操作位置が0であれば、まだ何も操作を行っていない。この場合には、S104において操作位置管理部11が管理している現在操作位置情報22を削除して処理を終える。
【0097】
現在操作位置が0より大きければ、何らかの操作が行われている。S105において、操作履歴管理部12はS102で抽出した操作識別子を有する操作履歴情報23をもとに、操作開始から現在操作位置までの操作の順番である操作順位を割り出す。操作順位についてはすでに述べたとおりである。
【0098】
S106において、S105で割り出した操作順位に従って更新管理部14が管理する更新情報24を読み出し、操作内容が登録または変更の場合には、既存情報管理部15が管理している操作が施されていない既存永続化情報26(操作対象情報)に対して順に操作処理を行って最終的な情報を生成する。またS107において、操作内容が削除の場合についても削除された操作対象情報の情報を抽出しておく。
【0099】
S108において、既存情報管理部15は既存永続化情報26のうち、情報識別子をもとに登録、変更の対象となった操作対象情報をS106で生成した情報に置換する。また、S107で抽出された削除された情報の情報識別子をもとに既存永続化情報26から該当する情報を削除する。
【0100】
またS109において、更新管理部14は操作識別子をもとに一連の操作処理において記憶部21に格納した更新情報24の中から更新の操作処理の対象となった操作対象情報を抽出する。そしてS110において、S109で抽出した操作対象情報について、既存情報管理部15は排他情報25を削除し、他の操作者からの更新を受け付けるようにする。
【0101】
さらにS111において、操作履歴管理部12は操作識別子をもとに一連の操作処理において記憶部21に格納した操作履歴情報23を削除する。またS112において、更新管理部14は操作識別子をもとに一連の操作処理において記憶部21に格納した更新情報24を削除する。
【0102】
そしてS104において、操作位置管理部11は操作識別子をもとに現在操作位置情報22を削除して処理を終える。このようにして、操作処理を行ってきた最終的な状態を既存永続化情報26に反映し、それまでに記憶部21に格納してきた現在操作位置情報22、操作履歴情報23、更新情報24、排他情報25を削除し、操作処理を終了する。
【0103】
この操作完了の操作処理を行うことにより、それまでの操作処理が既存永続化情報26に反映されることになる。この操作完了の指示は、操作者が望んだ結果となった場合に行えばよく、従って操作者が望んだ結果が反映されることになる。これにより、操作ミスや不適切な操作については容易にやり直して修正すればよいため、不要な復旧作業が発生せず、復旧作業における作業ミスにより、以前の結果が得られない事態も発生しない。逆に、操作完了の指示を行うまでは操作処理が既存永続化情報26に反映されず、記憶部21にそれまでの操作処理が記録されているので、操作者は、何度でも、何日でも、どの段階からでも、望んだ結果が得られるまで操作処理を行えばよい。
【0104】
また、操作処理によって影響のある情報については他の操作者から更新できないように自動的に制御を行うので、そのための面倒な操作は不要である。また、操作完了を指示するまで他の操作者に対して操作処理の内容が隠蔽されるため、不都合がある情報によって他者の業務に影響を与えることはない。
【0105】
図14では操作完了の操作指示が行われた場合の動作の一例について説明したが、操作処理を開始して操作処理を行った後、それらの操作処理を反映せずに撤回したい場合もある。このような場合には、操作者は操作撤回の指示を行えばよい。図15は、操作撤回の操作処理の動作の一例を示す流れ図である。S121において、操作位置管理部11は操作対象情報を提示する操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、何もせずに処理を終わる。あるいは、誤り処理を行ってもよい。
【0106】
S121で操作開始の指示が既に行われていると判定された場合には、S122において、操作位置管理部11は現在操作位置情報22から、操作者に対応する操作識別子及び現在操作位置を抽出する。
【0107】
S123において、更新管理部14は抽出した操作識別子をもとに、一連の操作処理において記憶部21に格納した更新情報24の中から更新の操作処理の対象となった操作対象情報を抽出する。そしてS124において、S123で抽出した操作対象情報について、既存情報管理部15は排他情報25を削除し、他の操作者からの更新を受け付けるようにする。
【0108】
さらにS125において、更新管理部14は操作識別子をもとに一連の操作処理において記憶部21に格納した更新情報24を削除する。またS126において、操作履歴管理部12は操作識別子をもとに一連の操作処理において記憶部21に格納した操作履歴情報23を削除する。
【0109】
そしてS127において、操作位置管理部11は操作識別子をもとに現在操作位置情報22を削除して処理を終える。このようにして、それまで行ってきた操作処理を反映せず、操作処理を終了する。
【0110】
既に述べたように、操作位置処理部18は現在操作位置の変更の指定を受けて、指定された操作位置へ現在操作位置情報を変更する機能を有している。操作者が現在操作位置を変更するために、それまでに行った操作処理に関する情報を操作者に提示するとよい。この操作処理に関する情報を、提示処理部17を通じて操作者に提示している。
【0111】
図16は、操作処理に関する情報を提示する動作の一例を示す流れ図である。まずS131において、操作位置管理部11は更新操作の指示を行った操作者が操作開始の指示を行っているか否かを、現在操作位置情報22を用いて判定する。当該操作者から操作開始の指示を受けていない場合には、S136において誤り処理を行い、処理を終える。
【0112】
S131で操作開始の指示が既に行われていると判定された場合には、S132において、操作位置管理部11は現在操作位置情報22から、更新操作の指示を行った操作者に対応する操作識別子を抽出する。
【0113】
ここでは操作処理に関する情報として、どの操作対象情報に対して更新の操作を行ったかを提示するか、あるいは操作履歴情報の提示を行うものとしている。S133において、いずれの情報の提示を行うかを判断し、更新操作を行った操作対象情報の提示を行う場合には、S134において、更新管理部14はS132で抽出した操作識別子を有する更新情報24をもとに、更新操作の対象となった操作対象情報を特定し、提示処理部17を通じて操作者に提示する。また、操作履歴情報の提示を行う場合には、S135において、操作履歴管理部12は操作識別子をもとに操作履歴情報23を抽出し、操作者に提示する。もちろん、これらの情報以外にも様々な情報を操作者に提示するように構成してもよい。
【0114】
上述のS135で操作履歴情報23を操作者に提示する際には、各操作履歴について、操作処理に対応する図形を用い、再操作で枝分かれする木構造で提示するとよい。図17は、操作履歴情報を操作者に提示するまでに行われた操作処理の一例の説明図、図18は、操作者に通常状態で提示した操作履歴情報の一例の説明図、図19は、その変形例である。例えば図17に示す一連の操作処理が行われた場合を考える。この例では、まずテキストの文書「AAA」を登録し、その文書の属性を変更し、さらに内容の変更を7回行い、属性を変更して新たな版として版管理を開始する。文書「AAA」の登録後に行われた属性変更終了まで戻り、文書「AAA」とは形式が異なる文書「ABC」の内容を変更して、この文書についても新たな版として版管理を開始する。今度は文書「AAA」の登録後に戻り、文書「AAA」の属性と内容を変更して、改めて新たな版として版管理を開始する。ここで新たな版とする前に戻って、文書「AAA」の属性を変更し、新たな版として版管理を開始する。再び文書「AAA」の登録後に戻り、文書「AAA」とは形式が異なる文書「BBB」について内容を変更したが、また文書「AAA」の登録後に戻って文書「CCC」について内容を変更している。さらにまた文書「AAA」の登録後に戻って文書「DDD」について内容を変更した後、文書「EEE」の内容を変更し、その後に文書「FFF」の内容を変更している。なお、文書「CCC」、「DDD」、「EEE」、「FFF」についても文書「AAA」とは形式が異なるものとする。
【0115】
図17においては、それぞれの操作処理を矩形で示しているが、これらのそれぞれの処理について、操作対象情報である文書「AAA」、「ABC」、「BBB」、「CCC」、「DDD」、「EEE」、「FFF」を図形で表現すれば図18に示すようになる。ここでは、それぞれの文書の形式に従って図形を使用している。
【0116】
さらに、各操作処理、すなわち登録、属性変更、内容変更、版管理開始の各操作処理を図形として付加した例を図19に示している。操作者は、このような表現によって操作履歴情報23が提示されるので、行ってきた操作処理を把握し、再操作を行うのであれば戻るべき操作位置を指定すればよい。
【0117】
このような操作履歴情報23の提示を行った場合、類似した操作が多数回連続して行われていると、その回数分だけ木構造の枝が長くなり、一覧性が悪くなることが懸念される。また、木構造内に多くの枝が存在する場合、目的の操作処理を見つけにくいことも懸念される。さらに、再操作によって木構造に分岐がある場合、その分岐後にどのような違いが生じたのかを、調べるには、その後の分岐の各操作を一つ一つ見に行く必要があり、面倒である。さらにまた、それぞれの操作処理の詳細を確認するには、最初の状態からの更新を追ってゆく必要があるが、最初から一つ一つ調べて行くのは不便である。これらの懸念される不具合を解消するための機能について、以下、説明して行く。
【0118】
まず、多数回の操作処理によって木構造の枝が長くなるという不具合に対しては、連続する操作処理のうち、類似する操作処理をまとめて簡略化する簡略化処理によって対応する。この簡略化処理では、操作履歴情報23をもとに、一連の操作処理のうち分岐せずに連続している操作処理であって、所定の条件のいずれかに合致するものを見つけ、簡略化して表現する。ここでは一例として、以下の条件を設定している。
条件1.ある操作対象情報に対して異なる操作処理を連続して実施している
条件2.ある操作処理を異なる操作対象情報に対して連続して実施している
【0119】
条件1の場合には、操作対象情報を示す図形は一つのみ表示し、その図形に付加する操作処理を示す図形を複数表示する。また、条件2の場合には、操作処理を示す図形は一つのみ表示し、操作対象情報を示す図形を複数表示する。
【0120】
図20は、操作者に図形を簡略化して提示した操作履歴情報の一例の説明図である。例えば図19に示した操作履歴情報の提示を、図20に示すように簡略化する。すなわち、操作位置情報が「3」から「11」までの操作処理は文書「AAA」に対する処理であるので、文書「AAA」を示す図形を1つにして、各操作処理に対応する9個の図形を付加している。なお、操作位置が「1」、「2」の操作対象情報も文書「AAA」であるが、これらの操作位置では再操作が行われて木構造における枝が分岐しているので、これらの操作処理についてはまとめない。
【0121】
さらに図20では、操作位置情報が「2.1.1」と「2.1.2」の操作処理は文書「ABC」に対する処理であるので、文書「ABC」を示す図形を1つにして、各操作処理に対応する2個の図形を付加している。また、操作位置情報が「1.1.2.1.1」と「1.1.2.1.2」の操作処理は文書「AAA」に対する処理であるので、文書「AAA」を示す図形を1つにして、各操作処理に対応する2個の図形を付加している。
【0122】
また、操作位置情報が「1.4.1」から「1.4.3」までの操作処理はそれぞれ異なる文書に対する処理であるが、いずれも内容を変更する操作処理であるので、内容を変更する操作処理に対応する図形を1つにして、各操作対象情報となる文書「DDD」、「EEE」、「FFF」を示す3つの図形を並べて提示している。
【0123】
このように簡略化処理を行うことによって、図20に示すように操作履歴情報を簡略化して操作者に提示する。操作者は、行われた操作処理を全体的に俯瞰し、所望の操作処理を選択すればよい。
【0124】
図21、図22は、操作履歴情報の簡略化処理の一例を示す流れ図である。なお、図21に示した簡略化処理においては、まとめる操作履歴情報を保持する対象集合、分岐する操作履歴情報を保持する分岐集合、操作履歴情報をまとめる際に操作対象情報を1つにして異なる操作処理をまとめるのか(「操作対象」)、あるいは共通の操作処理を1つにして異なる操作対象情報をまとめるのか(「操作内容」)を示す簡約種別を作業用に用いる。
【0125】
S141において、操作履歴情報23の最初の操作処理の履歴、すなわち操作位置情報が「1」の操作処理の履歴を対象要素とする。そしてS142において、作業用の対象集合に対象要素を追加する。
【0126】
S143において、次の操作処理の履歴が存在し、かつ、分岐していないか否かを判断する。次の操作処理の履歴が存在して分岐もなければ、S144において、作業用の簡約種別が設定されているか否かを判断し、設定されていればS148へ進む。設定されていなければ、さらにS145において、次の操作処理の履歴との違いを調べる。操作対象情報が共通で操作処理が異なる場合には、S146において、作業用の簡約種別に「操作対象」を設定する。また、操作処理が共通で操作対象情報が異なる場合には、S147において作業用の簡約種別に「操作内容」を設定する。なお、操作対象情報も操作処理も異なる場合には、そのままS148へ進む。
【0127】
S148において、次の操作処理の履歴が簡約種別に設定されている内容に合っているか否かを判断する。すなわち、簡約種別に「操作対象」が設定されている場合には、次の操作処理の履歴と操作対象情報が共通であるか否かを判断する。また、簡約種別に「操作内容」が設定されている場合には、次の操作処理の履歴と操作処理が共通であるか否かを判断する。
【0128】
S148で次の操作処理の履歴が簡約種別に設定されている内容に合っていると判断された場合には、S149において、次の操作処理の履歴を対象集合に追加してS143へ戻る。この処理を繰り返すことによって、分岐せず、操作対象情報が共通か、あるいは操作処理が共通の操作処理の履歴が対象集合にまとめられる。
【0129】
S148で次の操作処理の履歴が簡約種別に設定されている内容と合わなくなった場合、すなわち、簡約種別が「操作対象」で次の操作処理の履歴の操作対象情報が異なる場合、あるいは、簡約種別に「操作内容」で次の操作処理の履歴の操作処理が異なる場合には、対象集合への追加を行わずにS151へ進む。また、S143で分岐していると判断された場合や次の操作処理の履歴が存在しない場合には、S150において対象要素から分岐する、すなわち再操作を行った際の操作処理の履歴を分岐集合に追加し、S151へ進む。
【0130】
S151において、対象集合に追加された操作処理の履歴について、簡約種別に従って簡略化して操作者に図形を提示する。この処理の詳細を図22に示している。S161において、簡約種別の設定を判断する。簡約種別が「操作内容」である場合には、S162において、操作集合に含まれる操作処理の履歴について共通する操作処理を示す図形を1つとし、S163において、操作集合に含まれる操作処理の履歴についてそれぞれの操作対象情報を示す図形を操作処理の履歴の個数分だけ並べて提示する。また、簡約種別が「操作対象」である場合には、S164において、操作集合に含まれる操作処理の履歴についてそれぞれの操作処理を示す図形を操作処理の履歴の個数分だけ並べ、S165において、操作集合に含まれる操作処理の履歴について共通する操作対象情報を示す図形を1つ提示する。さらに、簡約種別が設定されていない場合には、S166において、操作集合に含まれる操作処理の履歴に対応する操作処理を示す図形を1つとし、S167において、操作集合に含まれる操作処理の履歴に対応する操作対象情報を示す図形を1つ提示する。
【0131】
図21に戻り、S152において、操作集合内の操作処理の履歴を削除し、また、簡約種別の設定を解除する。S153において、次の操作処理の履歴が存在するか否かを判断し、存在する場合には、S154において、次の操作処理の履歴を対象要素としてS142へ戻る。このようにして木構造の1本の枝について処理を進めてゆく。
【0132】
S153で次の操作処理の履歴が存在しなくなり、木構造の1本の枝の先端まで進んだら、S155において、分岐集合が空か否かを判断する。分岐集合が空でなければ、途中の操作処理から再操作を行っていて、未処理の操作処理の履歴が存在することになる。そのためS156において、分岐集合に最後に追加した操作処理の履歴を取り出して対象要素とし、S142に戻ってその対象要素からの木構造の枝についての処理を行う。S155で分岐集合が空であると判断されれば、処理を終える。このようにして、操作処理が共通の履歴、あるいは操作対象情報が共通の履歴についてまとめ、簡略化した見やすい操作処理の履歴が操作者に提示されることになる。
【0133】
次に、木構造内に多くの枝が存在する場合、目的の操作処理を見つけにくいという不具合に対しては、絞込条件を指定して木構造における不要な枝の提示を省くフィルタ処理によって対応する。このフィルタ処理では、提示されている操作処理の履歴において起点となる操作処理の履歴を選択し、絞込条件を指定する。起点から分岐する各枝をそれぞれ固まりとして、絞込条件を満たさない枝の固まりについては提示を省く。
【0134】
例えば図17に示した操作処理の履歴の木構造において、操作位置が「1」の操作処理の履歴を起点とした場合、操作位置が「2」から「11」および「2.1.1」、「2.1.2」の操作処理の履歴が1つの固まりとなる。また、操作位置が「1.1.1」から「1.1.3」および「1.1.2.1.1」、「1.1.2.1.2」の操作処理の履歴が1つの固まりとなる。さらに、操作位置が「1.2.1」、「1.3.1」の操作処理の履歴はそれぞれが1つの固まりとなる。さらにまた、操作位置が「1.4.1」から「1.4.3」の操作処理の履歴も1つの固まりとなる。それぞれの固まりごとに、絞込条件を満たすか否かを判断する。なお、絞込条件を満たす固まりが存在しない場合には、起点以降の操作処理の履歴は提示されない。
【0135】
図23は、フィルタ処理を指定するために操作者に提示される設定画面の一例の説明図である。例えば図20に示したように操作履歴情報が提示されている状態で、ここでは操作位置が「1」の操作処理の履歴を指定し、その際に表示されるメニューから「フィルタ指定」を選択してフィルタ処理を行う場合を示している。この「フィルタ指定」を選択した後、「フィルタ条件指定」の枠内で絞込条件を設定する。ここでは「文書形式」が「テキスト」であるという絞込条件を設定している。「フィルタ実行」と記したボタンを操作者が操作すれば、フィルタ処理が実行される。
【0136】
図24は、フィルタ処理を施して操作者に提示した操作履歴情報の一例の説明図である。図20あるいは図19における文書「AAA」の「文書形式」が「テキスト」であり、他の文書の文書形式が異なるとすれば、操作位置「1」から分岐している枝のうち、操作位置「2」から始まる枝と操作位置「1.1.1」から始まる枝が絞込条件を満たすことになる。従って、操作位置「1.2.1」、「1.3.1」、「1.4.1」から始まる枝については提示を省略し、図24(A)に示した操作履歴情報が操作者に提示されることになる。なお、操作位置「2.1.1」および「2.1.2」の操作処理の履歴については、分岐前の操作位置「2」の操作処理の履歴における操作対象情報の文書形式が絞込条件を満たすので提示されることになる。
【0137】
図24(A)に示した操作履歴情報が操作者に提示されている状態で、操作位置「2」の操作処理の履歴を指定し、「フィルタ指定」を選択して「フィルタ条件指定」で図23に示すように「文書形式」が「テキスト」であるという絞込条件を設定してフィルタ処理を実行すると、図24(B)に示した操作履歴情報が操作者に提示される。この場合、操作位置「2.1.1」から始まる枝について、提示が省略される。なお、この枝の省略によって、操作位置「2」から「11」までの操作処理の履歴において、提示する範囲では分岐がなくなるので、上述の簡略化処理によって操作位置「2」の操作処理の履歴についてもまとめて提示している。
【0138】
この具体例では絞込条件として「文書形式」が「テキスト」であるという条件を例示したが、もちろん、この例に限らず、種々の条件を設定してよいことは言うまでもない。
【0139】
図25は、操作履歴情報に対するフィルタ処理の一例を示す流れ図である。上述のように起点となる操作処理の履歴が指定され、さらに絞込条件が指定されてフィルタ処理の実行が指示されると、例えば図25に示した処理によってフィルタ処理が行われる。
【0140】
まず、S171において、操作者に提示している操作履歴情報を提示管理用情報として保存しておく。
【0141】
S172において、起点から分岐する枝(操作処理の履歴)のうちの1本を選択し、S173において、後に続く操作処理の履歴を枝管理用情報として保存する。S174において、起点から分岐する枝について未処理の枝が存在するか否かを判断し、未処理の枝が存在する場合はS172へ戻ってその未処理の枝についての処理を行う。これにより、枝ごとに操作処理の履歴が枝管理用情報として保存される。
【0142】
各枝の操作処理の履歴を枝管理用情報に保存したら、S175において、枝管理用情報に保存した、起点から分岐する枝のうちの1本を選択する。そして、その選択した枝の操作処理の履歴が絞込条件を満たすか否かをS176において判定する。絞込条件を満たす場合にはそのままS178へ進むが、絞込条件を満たさない場合には、S177において、S175で選択した枝の各操作処理の履歴を削除用情報として保存する。S178において、枝管理用情報に保存された枝について、未処理の枝が存在するか否かを判断し、未処理の枝が存在する場合はS175へ戻ってその未処理の枝についての処理を行う。これにより、絞込条件を満たさない枝の操作処理の履歴が削除用情報として保存される。
【0143】
S179において、削除用情報として保存された操作処理の履歴を、提示管理用情報から削除する。そしてS180において、提示管理用情報を操作者に提示する。提示の際には、上述の簡略化処理を行っておくとよい。このようにして、絞込条件を満たさない木構造の枝が省略されて、操作履歴情報が提示される。従って、利用者は目的とする操作処理の履歴を見つけやすくなる。
【0144】
次に、それぞれの操作処理の詳細を確認し、また更新を追ってゆく際の操作性を向上させるため、選択された操作処理の結果と、それ以前の操作処理の結果との差分を提示する操作内容提示処理の機能を設けている。操作内容提示処理としては、1つの操作処理に関する操作内容を提示するほか、一連の複数の操作処理によって行われた操作内容についても提示する。
【0145】
図26は、操作内容提示処理を指定するために操作者に提示される設定画面の一例の説明図である。例えば図24(B)に示したように操作履歴情報が提示されている状態で、ここでは操作位置が「2」から「11」の操作処理の履歴が簡略化されて提示されている図形を指定し、その際に表示されるメニューから「操作内容表示」を選択すれば、操作位置「11」に対する操作内容提示処理が行われる。
【0146】
図27は、操作内容提示処理によって操作者に提示した情報の一例の説明図である。上述のようにして操作内容提示処理を行うことにより、例えば図27に示す情報が操作者に提示される。この例では、操作位置「11」における操作処理の内容が提示されることになる。操作位置「11」における操作処理は新たな版として版管理を開始する処理であったので、操作内容として版管理開始と表示している。
【0147】
なお、ここでは操作位置「11」が選択されたものとして操作内容を提示したが、例えば簡略化して提示している操作処理に対応する図形を選択すれば、対応する操作位置における操作内容が提示される。
【0148】
図28は、操作内容提示処理によって操作者に提示した情報の別の例の説明図である。上述の図27において操作内容提示処理によって提示された情報中に「累積操作内容表示」と記された部分を選択し、あるいは図26に示したメニューから「操作内容表示(累積)」を選択すると、この例では操作位置「1」の操作処理終了後、操作位置「2」から「11」までに行われた操作処理でどのように変更されたかという操作内容が提示される。図28に示す例では、図27に示した例における属性名「UserE1」、「UserE2」の変更に加え、属性名「UserA」、「UserB」、「ファイル名」が変更されている。
【0149】
なお、例えば操作位置「2」と操作位置「10」の操作処理で属性を変更しているが、例えば操作位置「2」の操作処理で変更した属性を更に操作位置「10」の操作処理で変更した場合には、後で変更した値が有効になる。もちろん、内容変更など、他の操作処理においても、上書きしたり重複して操作処理を行った場合には、後で行った操作処理の結果が有効になる。
【0150】
また、この例では簡略化処理により簡略化して示されている一連の操作処理を累積の操作内容を提示する操作処理の範囲としたが、これに限らず、任意に2つの操作処理を選択して、その間で行われた操作処理をまとめて、操作内容を提示するように構成してもよい。
【0151】
このような累積の操作内容を提示することで、属性値や内容が何回も変更されている場合であっても、最終的な結果が提示されるため、最終的にどうなるかが分かりやすくなる。
【0152】
図29は、操作内容提示処理の一例を示す流れ図である。個別の操作処理における操作内容を提示する処理は、当該操作処理に対応する更新情報24を参照すればよいので、ここでは累積操作内容を提示する場合の処理について説明する。なお、操作内容をまとめる範囲を示す始点及び終点となる操作処理が指定されているものとして説明する。
【0153】
まず、S191において、まとめる範囲内の操作処理に対応する更新情報24を取得して作業用の累積対象情報に追加して行く。
【0154】
S192において、累積対象情報に追加された更新情報を、操作処理を行った順序の逆順で1つ取り出す。S193において、取り出した更新情報中の情報識別子が、作業用の一時保存情報中に存在するか否かを判断する。存在しなければ、S194において、その情報識別子を作業用の一時保存情報に追加する。存在する場合は、そのままS195へ進む。
【0155】
S195において、累積対象情報に未処理の更新情報が残っているか否か判断し、残っていればS192へ戻って処理を繰り返す。累積対象情報に未処理の更新情報が残っていなければ、S196に進む。
【0156】
ここまでの繰り返しの処理によって、まとめる範囲内で使用された操作対象情報を示す情報識別子が作業用の一時保存情報に追加されている。S196において、作業用の一時保存情報と、まとめる範囲の直前の状態との差分を抽出し、提示する。これによって、まとめる範囲内で使用された各操作対象情報について、更新による差分がそれぞれ抽出されることになる。上述の図28に示した具体例では操作対象情報は文書「AAA」で共通していたが、まとめる範囲内に別の操作対象情報に関する操作処理が含まれていても、その操作対象情報についての差分も提示されることになる。
【0157】
次に、再操作によって木構造に分岐があり、その分岐前後でどのような違いが生じたのかを調べるために、分岐情報提示処理を設けている。この分岐情報提示処理は、再操作が行われて木構造の分岐が生じている場合、その分岐前の枝及び分岐後の各枝で共通に行われている操作処理を抽出し、抽出した操作処理と異なる操作処理を差分として提示する。なお、分岐前後の各枝は、上述のフィルタ処理において単位とした固まりである。
【0158】
共通部分は、操作処理の内容ごとの集合と操作対象情報ごとの集合として管理する。共通部分との差分は、各操作処理における操作内容と操作対象情報のそれぞれについて、共通部分に含まれるか否かを確認する。そして、操作内容が含まれない、または操作対象情報が含まれない、あるいはその両方が含まれない場合、それを差分情報として抽出する。差分情報は、操作処理の内容を示す図形と、操作対象情報を示す図形を用い、選択された起点となる操作処理の履歴と、その直後の操作処理の履歴との間を結ぶ線に隣接させて提示する。
【0159】
図30は、分岐情報提示処理を指定するために操作者に提示される設定画面の一例の説明図である。例えば図24(B)に示したように操作履歴情報が提示されている状態で、ここでは操作位置が「1.1.1」と「1.1.2」の操作処理の履歴が簡略化されて提示されている図形を指定し、その際に表示されるメニューから「分岐情報表示」を選択すれば、分岐が生じている操作位置「1.1.2」を起点とした各枝における差分を提示する分岐情報提示処理が行われる。
【0160】
図31は、分岐情報提示処理によって操作者に提示した情報の一例の説明図である。上述のようにして起点を指定し、操作内容提示処理を行うことにより、例えば図31に示す情報が操作者に提示される。この例では、操作位置「1.1.2」の後の分岐で、2つの枝で共通した操作処理は、操作内容が「版管理開始」であることと操作対象情報が文書「AAA」であること、である。再操作を行った操作位置「1.1.2.1.1」以降の操作処理では、共通操作に含まれない「属性編集」が含まれる。そのため、操作位置「1.1.2」と操作位置「1.1.2.1.1」との間に、「属性編集」の操作処理を示す図形を提示している。なお、操作位置「1.1.3」以降の枝には、共通操作に含まれないものがないため、差分としては何も提示されていない。
【0161】
このように分岐する各枝の差分を提示することで、それぞれの枝でどのような違いがあるかを簡潔に表現し、操作者にとって、どの枝を詳しく見て行くかの判断材料になる。
【0162】
図32は、分岐情報提示処理の一例を示す流れ図である。操作処理後に分岐を有する履歴が起点として指定され、分岐情報提示処理の実行が指示されると、図32に示す処理が行われる。
【0163】
まず、S201からS204の処理によって、分岐している各枝において行われている操作処理の内容と操作対象情報が抽出される。すなわち、S201において、分岐直後の操作処理のうちの1つを処理対象として、S202において、処理対象に連なるすべての操作処理の操作履歴情報23および更新情報24を取得する。そしてS203において、取得した操作処理の操作履歴情報23および更新情報24から、各操作処理における操作内容と操作対象情報を抽出してそれぞれ保存する。これにより、1本の枝について、その枝の中の操作処理において行われた操作処理の内容と、操作処理の対象とした操作対象情報とが抽出される。S204において、分岐直後の操作処理に未処理のものがあるか否かを判断し、未処理のものがあればS201に戻ってその操作処理についての処理を行う。
【0164】
分岐直後の操作処理について未処理のものがなくなったら、S205において、それぞれの枝ごとに抽出された操作対象情報をもとに、各枝において共通して存在する1ないし複数の操作対象情報を見つけて共通操作対象とする。またS206において、それぞれの枝ごとに抽出された操作処理の内容をもとに、各枝において共通して存在する1ないし複数の操作処理の内容を見つけて共通操作内容とする。
【0165】
S207からS211では、各枝における差分を抽出する。すなわち、S207において、分岐直後の操作処理のうちの1つを処理対象として、S208において、処理対象に連なるすべての操作処理の操作履歴情報23および更新情報24を取得する。そしてS209において、各操作処理の操作対象情報のうち、共通操作対象にないものを見つける。またS210において、各操作処理の操作内容のうち、共通操作内容にないものを見つける。これらが処理対象の枝における操作対象情報および操作内容の差分である。S211において、分岐直後の操作処理に未処理のものがあるか否かを判断し、未処理のものがあればS207に戻ってその操作処理についての処理を行う。この繰り返しにより、各枝における操作対象情報および操作内容の差分が得られる。
【0166】
S212からS215では、差分の提示を行う。すなわち、S212において、分岐直後の操作処理のうちの1つを処理対象として、S213において、操作対象情報の差分に応じた図形を提示し、またS214において、操作内容の差分に応じた図形を提示する。これにより、処理対象となった枝についての差分の提示が行われた。S215において、分岐直後の操作処理に未処理のものがあるか否かを判断し、未処理のものがあればS212に戻ってその操作処理についての処理を行う。この繰り返しにより、各枝における差分の提示が行われる。
【0167】
このように、簡略化処理、フィルタ処理、操作内容表示処理、分岐情報表示処理、あるいはその他の様々な処理によって、操作者に対して見やすく、所望の総理操作が見つけやすい操作処理の履歴の提示を行う。操作者は、提示された操作処理の履歴を参照しながら、例えば再操作を行う操作処理を特定して現在操作位置の変更を指定し、操作処理をやり直せばよい。
【0168】
図33は、本発明の実施の一形態の機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、31はプログラム、32はコンピュータ、41は光磁気ディスク、42は光ディスク、43は磁気ディスク、44はメモリ、51はCPU、52は内部メモリ、53は情報読取部、54はハードディスク、55はインタフェース、56は通信部である。
【0169】
上述の実施の一形態で説明した機能の一部または全部を、コンピュータにより実行可能なプログラム31によって実現してもよい。その場合、そのプログラム31およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶させてもよい。もちろん、一部の機能についてハードウェアによって構成してもよいし、すべてをハードウェアで構成してもよい。プログラム31を格納する記憶媒体とは、コンピュータのハードウェア資源に備えられている情報読取部53に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、情報読取部53にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク41,光ディスク42(CDやDVDなどを含む)、磁気ディスク43,メモリ44(ICカード、メモリカードなどを含む)等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【0170】
これらの記憶媒体にプログラム31を格納しておき、例えばコンピュータ32の情報読取部53あるいはインタフェース55にこれらの記憶媒体を装着することによって、コンピュータからプログラム31を読み出し、内部メモリ52またはハードディスク54に記憶し、CPU51によってプログラム31を実行することによって、本発明の実施の一形態として説明した機能の一部または全部を実現すればよい。あるいは、ネットワークなどを介してプログラム31をコンピュータ32に転送し、コンピュータ32では通信部56でプログラム31を受信して内部メモリ52またはハードディスク54に記憶し、CPU51によってプログラム31を実行することによって実現してもよい。または、予めプログラム31を書き込んだROMなどのメモリを内部に実装して実現してもよい。
【0171】
なお、コンピュータ32には、このほかインタフェース55を介して様々な装置が接続されていてよい。もちろん、他の機能を実現するプログラムと一体に構成してもよいことは言うまでもない。
【0172】
また、例えば図1に示した構成を、ネットワークにより接続された複数のコンピュータで実現することもできる。例えば記憶部21を1または複数のデータベースサーバとし、他の部分を管理サーバとして構成するなど、任意に機能を分割して複数台のコンピュータに割り当て、分散処理システム上で構成してもよい。
【図面の簡単な説明】
【0173】
【図1】本発明の実施の一形態を示す構成図である。
【図2】操作開始指示が行われた場合の動作の一例を示す流れ図である。
【図3】操作開始の指示により生成された現在操作位置情報の一例の説明図である。
【図4】更新操作が指示された場合の動作の一例を示す流れ図である。
【図5】操作者が行った更新操作の一例の説明図である。
【図6】操作(a)を行った後の記憶部21に格納される情報の一例の説明図である。
【図7】操作(b)を行った後の記憶部21に格納される情報の一例の説明図である。
【図8】操作(c)を行った後の記憶部21に格納される情報の一例の説明図である。
【図9】操作(d)を行った後の記憶部21に格納される現在操作位置情報の一例の説明図である。
【図10】操作(e)を行った後の記憶部21に格納される情報の一例の説明図である。
【図11】操作者への提示処理の動作の一例を示す流れ図である。
【図12】操作者への提示処理の動作の一例における現在操作位置情報、操作履歴情報、更新情報、排他情報の別の具体例の説明図である。
【図13】操作者へ提示される情報の具体例の説明図である。
【図14】操作完了の操作処理の動作の一例を示す流れ図である。
【図15】操作撤回の操作処理の動作の一例を示す流れ図である。
【図16】操作処理に関する情報を提示する動作の一例を示す流れ図である。
【図17】操作履歴情報を操作者に提示するまでに行われた操作処理の一例の説明図である。
【図18】操作者に通常状態で提示した操作履歴情報の一例の説明図である。
【図19】操作者に通常状態で提示した操作履歴情報の変形例の説明図である。
【図20】操作者に図形を簡略化して提示した操作履歴情報の一例の説明図である。
【図21】操作履歴情報の簡略化処理の一例を示す流れ図である。
【図22】操作履歴情報の簡略化処理の一例における一部詳細処理を示す流れ図である。
【図23】フィルタ処理を指定するために操作者に提示される設定画面の一例の説明図である。
【図24】フィルタ処理を施して操作者に提示した操作履歴情報の一例の説明図である。
【図25】操作履歴情報に対するフィルタ処理の一例を示す流れ図である。
【図26】操作内容提示処理を指定するために操作者に提示される設定画面の一例の説明図である。
【図27】操作内容提示処理によって操作者に提示した情報の一例の説明図である。
【図28】操作内容提示処理によって操作者に提示した情報の別の例の説明図である。
【図29】操作内容提示処理の一例を示す流れ図である。
【図30】分岐情報提示処理を指定するために操作者に提示される設定画面の一例の説明図である。
【図31】分岐情報提示処理によって操作者に提示した情報の一例の説明図である。
【図32】分岐情報提示処理の一例を示す流れ図である。
【図33】本発明の実施の一形態の機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。
【符号の説明】
【0174】
11…操作位置管理部、12…操作履歴管理部、13…情報管理部、14…更新管理部、15…既存情報管理部、16…操作処理部、17…提示処理部、18…操作位置処理部、21…記憶部、22…現在操作位置情報、23…操作履歴情報、24…更新情報、25…排他情報、26…既存永続化情報、31…プログラム、32…コンピュータ、41…光磁気ディスク、42…光ディスク、43…磁気ディスク、44…メモリ、51…CPU、52…内部メモリ、53…情報読取部、54…ハードディスク、55…インタフェース、56…通信部。
【特許請求の範囲】
【請求項1】
どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段としてコンピュータを機能させることを特徴とする情報処理プログラム。
【請求項2】
前記情報管理手段は、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者からの更新指示を拒否することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記情報管理手段は、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者に対しては操作が施されていない状態を提供することを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記情報操作処理手段は、操作完了の指示を受けると、前記情報管理手段に対して管理している前記操作対象情報に該指示までの操作処理を反映させるとともに、前記履歴管理手段に対して前記履歴を削除させることを特徴とする請求項1から請求項3のいずれか1項に記載の情報処理プログラム。
【請求項5】
さらに、現在操作位置の変更の指定を行う操作者に対して前記履歴管理手段により管理されているそれまでに行われた操作の履歴を提示する提示手段として前記コンピュータを機能させることを特徴とする請求項1から請求項4のいずれか1項に記載の情報処理プログラム。
【請求項6】
前記提示手段は、前記操作毎に対応する図形を提示することを特徴とする請求項1から請求項5のいずれか1項に記載の情報処理プログラム。
【請求項7】
前記提示手段は、ある操作位置から複数の操作が行われている場合に該複数の操作に対応する図形を並列して提示することを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記提示手段は、一部の複数の操作をまとめた図形を提示することを特徴とする請求項6に記載の情報処理プログラム。
【請求項9】
どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段を有することを特徴とする情報処理装置。
【請求項1】
どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段としてコンピュータを機能させることを特徴とする情報処理プログラム。
【請求項2】
前記情報管理手段は、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者からの更新指示を拒否することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記情報管理手段は、前記情報操作処理手段による操作処理の対象となった操作対象情報については該操作処理を指示した操作者以外の操作者に対しては操作が施されていない状態を提供することを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記情報操作処理手段は、操作完了の指示を受けると、前記情報管理手段に対して管理している前記操作対象情報に該指示までの操作処理を反映させるとともに、前記履歴管理手段に対して前記履歴を削除させることを特徴とする請求項1から請求項3のいずれか1項に記載の情報処理プログラム。
【請求項5】
さらに、現在操作位置の変更の指定を行う操作者に対して前記履歴管理手段により管理されているそれまでに行われた操作の履歴を提示する提示手段として前記コンピュータを機能させることを特徴とする請求項1から請求項4のいずれか1項に記載の情報処理プログラム。
【請求項6】
前記提示手段は、前記操作毎に対応する図形を提示することを特徴とする請求項1から請求項5のいずれか1項に記載の情報処理プログラム。
【請求項7】
前記提示手段は、ある操作位置から複数の操作が行われている場合に該複数の操作に対応する図形を並列して提示することを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記提示手段は、一部の複数の操作をまとめた図形を提示することを特徴とする請求項6に記載の情報処理プログラム。
【請求項9】
どの操作が終了した後の状態で操作処理を行うかを示す現在操作位置を示す現在操作位置情報を管理する操作位置管理手段と、操作の履歴を管理する履歴管理手段と、前記履歴管理手段により管理している操作の履歴に基づいて行われる現在操作位置の変更の指定を受けて前記操作位置管理手段により管理している前記現在操作位置情報を変更する操作位置処理手段と、前記現在操作位置情報が示す状態で指示された操作処理の制御を行う情報操作処理手段と、操作の対象となる操作対象情報及び該操作対象情報に対する更新に関する情報を管理する情報管理手段を有することを特徴とする情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【公開番号】特開2009−151491(P2009−151491A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−327944(P2007−327944)
【出願日】平成19年12月19日(2007.12.19)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願日】平成19年12月19日(2007.12.19)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]