(57)【要約】  特定のスレッドによる編集作業と論理整合性を保ち、他のスレッドを実行すること等。  処理手段に、（１）スレッドによる編集対象範囲を含む保護対象データ範囲に関連付いている保護状態により編集保護を判断し、（２）編集保護されていない場合、編集対象範囲を含む開始終了条件に関連付いているルールＩＤに関連付いている保護方法と、開始終了条件に囲まれたデータ範囲とを関連付けて記憶させ、（３）ルールＩＤに関連付いている親ルールＩＤと親ルール保護方法を特定し、親ルールＩＤに関連付いている開始終了条件を特定し、特定した親ルール保護方法と特定した開始終了条件に囲まれたデータ範囲のうち一定の範囲とを関連付けて記憶させ、（４）スレッドによる編集対象範囲がデータ範囲外となった場合、保護対象データ範囲と保護状態との関連付けを削除して、スレッドによる編集保護を解除すること、を実行させるデータ編集コンピュータプログラム。
2009025010.tif 000002
【特許請求の範囲】
【請求項１】
情報を記憶する記憶手段と、情報を処理する処理手段とを備えたコンピュータシステムにおけるコンピュータプログラムであって、
前記記憶手段に記憶されたストリング文字列から構成される編集対象データを編集するためのデータ編集コンピュータプログラムであり、
前記記憶手段は、更に、
ルールＩＤと、当該ルールＩＤが表すルールが適用されるデータの対象範囲を特定する開始終了条件、適用される当該ルールの内容である保護方法、当該ルールの上位ルールを表す親ルールＩＤ、当該親ルールＩＤが表す親ルールに適用される親ルール保護方法と、を関連付けて格納し、特定のデータ範囲に適用されるルールの内容と複数のルール間の親子関係を記憶するルールＤＢと、
前記記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す保護対象データ範囲と、当該保護対象データ範囲の保護状態とを関連付けて格納する保護状態ＤＢと、
を記憶し、
前記処理手段に、
（１）前記記憶手段に記憶された編集対象データに対するスレッドの実行命令がなされると、当該スレッドによる当該編集対象データの編集対象範囲が編集保護されているかどうかを、前記記憶手段の保護状態ＤＢのうち当該編集対象範囲を含む保護対象データ範囲に関連付いている保護状態により判断すること、
（２）前記（１）の判断の結果、編集保護されていない場合は、前記（１）の編集対象範囲を含む開始終了条件に関連付いているルールＩＤを前記記憶手段のルールＤＢから特定し、当該特定したルールＩＤに関連付いている保護方法と当該開始終了条件に囲まれたデータ範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（３）前記（２）で特定したルールＩＤに関連付いている親ルールＩＤと親ルール保護方法を前記記憶手段のルールＤＢから特定すると共に、当該親ルールＩＤに関連付いている開始終了条件を特定し、当該特定した親ルール保護方法と当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（４）前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合は、前記（２）及び（３）で記憶させた保護対象データ範囲と保護状態との関連付けのレコードを、前記記憶手段の保護状態ＤＢから削除して、前記（１）のスレッドの実行命令による編集保護を解除すること、
を実行させることを特徴とするデータ編集コンピュータプログラム。
【請求項２】
情報を記憶する記憶手段と、情報を処理する処理手段とを備えたコンピュータシステムにおけるコンピュータプログラムであって、
前記記憶手段に記憶されたストリング文字列から構成される編集対象データを編集するためのデータ編集コンピュータプログラムであり、
前記記憶手段は、更に、
ルールＩＤと、当該ルールＩＤが表すルールが適用されるデータの対象範囲を特定する開始終了条件、適用される当該ルールの内容である保護方法、当該ルールの上位ルールを表す親ルールＩＤと、を関連付けて格納し、特定のデータ範囲に適用されるルールの内容と複数のルール間の親子関係を記憶するルールＤＢと、
前記記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す保護対象データ範囲と、当該保護対象データ範囲の保護状態とを関連付けて格納する保護状態ＤＢと、
を記憶し、
前記処理手段に、
（１）前記記憶手段に記憶された編集対象データに対するスレッドの実行命令がなされると、当該スレッドによる当該編集対象データの編集対象範囲が編集保護されているかどうかを、前記記憶手段の保護状態ＤＢのうち当該編集対象範囲を含む保護対象データ範囲に関連付いている保護状態により判断すること、
（２）前記（１）の判断の結果、編集保護されていない場合は、前記（１）の編集対象範囲を含む開始終了条件に関連付いているルールＩＤを前記記憶手段のルールＤＢから特定し、当該特定したルールＩＤに関連付いている保護方法と当該開始終了条件に囲まれたデータ範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（３）前記（２）で特定したルールＩＤに関連付いている親ルールＩＤを前記記憶手段のルールＤＢから特定すると共に、当該親ルールＩＤに関連付いている開始終了条件と保護方法とを特定し、当該特定した保護方法と当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（４）前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合は、前記（２）及び（３）で記憶させた保護対象データ範囲と保護状態との関連付けのレコードを、前記記憶手段の保護状態ＤＢから削除して、前記（１）のスレッドの実行命令による編集保護を解除すること、
を実行させることを特徴とするデータ編集コンピュータプログラム。
【請求項３】
情報を記憶する記憶手段と、情報を処理する処理手段とを備えたコンピュータシステムにおけるコンピュータプログラムであって、
前記記憶手段に記憶されたストリング文字列から構成される編集対象データを編集するためのデータ編集コンピュータプログラムであり、
前記記憶手段は、更に、
ルールＩＤと、当該ルールＩＤが表すルールが適用されるデータの対象範囲を特定する開始終了条件、適用される当該ルールの内容である保護方法、当該ルールの上位ルールを表す親ルールＩＤ、当該親ルールＩＤが表す親ルールに適用される親ルール保護方法と、を関連付けて格納し、特定のデータ範囲に適用されるルールの内容と複数のルール間の親子関係を記憶するルールＤＢと、
スレッドＩＤと、前記記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す保護対象データ範囲、当該保護対象データ範囲の保護状態とを関連付けて格納する保護状態ＤＢと、
を記憶し、
前記処理手段に、
（１）前記記憶手段に記憶された編集対象データに対するスレッドの実行命令がなされると、当該スレッドによる当該編集対象データの編集対象範囲が編集保護されているかどうかを、前記記憶手段の保護状態ＤＢのうち当該編集対象範囲を含む保護対象データ範囲に関連付いている保護状態により判断すること、
（２）前記（１）の判断の結果、編集保護されていない場合は、前記（１）の編集対象範囲を含む開始終了条件に関連付いているルールＩＤを前記記憶手段のルールＤＢから特定し、当該特定したルールＩＤに関連付いている保護方法と当該開始終了条件に囲まれたデータ範囲とを任意のスレッドＩＤに関連付け、スレッドＩＤと保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（３）前記（２）で特定したルールＩＤに関連付いている親ルールＩＤと親ルール保護方法を前記記憶手段のルールＤＢから特定すると共に、当該親ルールＩＤに関連付いている開始終了条件を特定し、当該特定した親ルール保護方法と当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲とを前記（２）のスレッドＩＤに関連付け、スレッドＩＤと保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（４）前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合は、当該スレッドを表すスレッドＩＤに関連付いた前記（２）及び（３）で記憶させたスレッドＩＤと保護対象データ範囲と保護状態との関連付けのレコードを、前記記憶手段の保護状態ＤＢから削除して、前記（１）のスレッドの実行命令による編集保護を解除すること、
を実行させることを特徴とするデータ編集コンピュータプログラム。
【請求項４】
情報を記憶する記憶手段と、情報を処理する処理手段とを備えたコンピュータシステムにおけるコンピュータプログラムであって、
前記記憶手段に記憶されたストリング文字列から構成される編集対象データを編集するためのデータ編集コンピュータプログラムであり、
前記記憶手段は、更に、
ルールＩＤと、当該ルールＩＤが表すルールが適用されるデータの対象範囲を特定する開始終了条件、適用される当該ルールの内容である保護方法と、を関連付けて格納し、特定のデータ範囲に適用されるルールの内容を記憶するルールＤＢと、
前記記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す保護対象データ範囲と、当該保護対象データ範囲の保護状態とを関連付けて格納する保護状態ＤＢと、
を記憶し、
前記処理手段に、
（１）前記記憶手段に記憶された編集対象データに対するスレッドの実行命令がなされると、当該スレッドによる当該編集対象データの編集対象範囲が編集保護されているかどうかを、前記記憶手段の保護状態ＤＢのうち当該編集対象範囲を含む保護対象データ範囲に関連付いている保護状態により判断すること、
（２）前記（１）の判断の結果、編集保護されていない場合は、前記（１）の編集対象範囲を含む開始終了条件に関連付いているルールＩＤを前記記憶手段のルールＤＢから特定し、当該特定したルールＩＤに関連付いている保護方法と当該開始終了条件に囲まれたデータ範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、
（３）前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合は、前記（２）で記憶させた保護対象データ範囲と保護状態との関連付けのレコードを、前記記憶手段の保護状態ＤＢから削除して、前記（１）のスレッドの実行命令による編集保護を解除すること、
を実行させることを特徴とするデータ編集コンピュータプログラム。
【請求項５】
前記コンピュータシステムは、利用者に前記記憶手段に記憶された編集対象データを表示する出力手段と、利用者からの前記スレッドの実行命令を受け付ける入力手段とを更に備え、
前記データ編集コンピュータプログラムは、
前記処理手段に、更に、
（５）前記記憶手段に記憶された編集対象データのうち、前記記憶手段の保護状態ＤＢにより特定した編集保護されているデータ部分を、利用者が編集保護されていると認識できるように編集保護されていない他のデータ部分と異なる表示方法で前記出力手段に表示すること、
を行わせることを特徴とする請求項１乃至４記載のデータ編集コンピュータプログラム。
【請求項６】
前記コンピュータシステムは、利用者に前記記憶手段に記憶された編集対象データを表示する出力手段と、利用者からの前記スレッドの実行命令を受け付ける入力手段とを更に備え、
前記データ編集コンピュータプログラムは、
前記処理手段に、更に、
（５）前記記憶手段に記憶された編集対象データのうち、前記記憶手段の保護状態ＤＢにより特定して前記出力手段に表示している編集保護されているデータ部分を、前記入力手段を介した利用者によるスレッドの実行命令の対象として選択させないようにすること、
を行わせることを特徴とする請求項１乃至４記載のデータ編集コンピュータプログラム。
【請求項７】
請求項１乃至６記載の、データ編集コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの利用者が、コンピュータシステムを使用してファイル等のデータに対する編集処理を行うための支援コンピュータプログラムに関するものである。特に、ある特定のファイル等のデータに対して、複数のＣＰＵあるいは複数の利用者がデータ編集する際に有用な技術に関するものである。
【背景技術】
【０００２】
ファイル等のデータ、例えば、ＨＴＭＬデータやコンピュータプログラムのソースデータを編集する際は、他の利用者との関係で排他制御を行う必要がある。すなわち、ＨＴＭＬデータやコンピュータプログラムのソースデータ等のデータを編集する際に、複数の処理が並行して行われると、編集対象のデータの論理的整合性が確保できないため、ある処理が編集対象のデータを使用している最中には、他の処理が編集対象のデータを使用しないように、他の処理によるデータ編集のロックが解放されるまで待つようなしくみが実現されている。例えば、ＯＳでは、セマフォ、クリティカルセクション、ミューテックスなどが利用されている。【０００３】
この編集対象データに対する排他制御により、データの論理的整合性が確保されるものの、編集対象データへの同時並行的な処理が実現できない。例えば、ＨＴＭＬデータの更新を行う際の処理や、コンピュータプログラムのソースデータに修正を加える際の処理について、編集を行っている処理が終了するまで、他のＣＰＵあるいは他の利用者が当該編集対象データに編集処理を行えないという不都合がある。【０００４】
このような不都合は、データへの編集作業を行う際の作業効率を下げるため、改善するための有効な手段の開発が望まれていた。【０００５】
以下の特許文献１には、データ編集に関する技術が開示されている。
【特許文献１】特開２００６−２３６３２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の解決しようとする課題は、ある特定のファイル等のデータに対して、複数のＣＰＵあるいは複数の利用者がデータ編集するという、編集対象データへの同時並行的な処理を実現することである。
【課題を解決するための手段】
【０００７】
１、【０００８】
（１）  そこで、上記課題を解決するため、本発明に係るデータ編集コンピュータプログラムは、情報を記憶する記憶手段と、情報を処理する処理手段とを備えたコンピュータシステムにおけるコンピュータプログラムであって、前記記憶手段に記憶されたストリング文字列から構成される編集対象データを編集するためのデータ編集コンピュータプログラムである。【０００９】
また、前記データ編集コンピュータシステムの記憶手段は、更に、ルールＩＤと、当該ルールＩＤが表すルールが適用されるデータの対象範囲を特定する開始終了条件、適用される当該ルールの内容である保護方法、当該ルールの上位ルールを表す親ルールＩＤ、当該親ルールＩＤが表す親ルールに適用される親ルール保護方法と、を関連付けて格納し、特定のデータ範囲に適用されるルールの内容と複数のルール間の親子関係を記憶するルールＤＢと、前記記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す保護対象データ範囲と、当該保護対象データ範囲の保護状態とを関連付けて格納する保護状態ＤＢと、を記憶している。【００１０】
そして、前記データ編集コンピュータシステムの処理手段に、（１）前記記憶手段に記憶された編集対象データに対するスレッドの実行命令がなされると、当該スレッドによる当該編集対象データの編集対象範囲が編集保護されているかどうかを、前記記憶手段の保護状態ＤＢのうち当該編集対象範囲を含む保護対象データ範囲に関連付いている保護状態により判断すること、（２）前記（１）の判断の結果、編集保護されていない場合は、前記（１）の編集対象範囲を含む開始終了条件に関連付いているルールＩＤを前記記憶手段のルールＤＢから特定し、当該特定したルールＩＤに関連付いている保護方法と当該開始終了条件に囲まれたデータ範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、（３）前記（２）で特定したルールＩＤに関連付いている親ルールＩＤと親ルール保護方法を前記記憶手段のルールＤＢから特定すると共に、当該親ルールＩＤに関連付いている開始終了条件を特定し、当該特定した親ルール保護方法と当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、（４）前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合は、前記（２）及び（３）で記憶させた保護対象データ範囲と保護状態との関連付けのレコードを、前記記憶手段の保護状態ＤＢから削除して、前記（１）のスレッドの実行命令による編集保護を解除すること、を実行させることを特徴とするデータ編集コンピュータプログラムである。【００１１】
（２）  ここで、「記憶手段」とは、例えばＲＡＭ、ＲＯＭ、ＨＤＤ等のコンピュータシステムにおける記憶装置が該当する。「処理手段」とは、例えばＣＰＵ等のコンピュータシステムにおける演算装置や、通信ネットワークで接続されたコンピュータシステムにおける中央処理サーバコンピュータが該当する。【００１２】
「データ編集コンピュータシステム」は、パーソナルコンピュータ等の１のハードウェア内にて完結して構成される場合もあるし、複数のコンピュータにより構成される場合もある。複数のコンピュータにより構成される場合の例として、通信ネットワークで接続されたコンピュータシステムにおいて、「処理手段」は中央処理サーバコンピュータ、「記憶手段」は中央処理サーバコンピュータが管理する記憶装置、「出力手段」や「入力手段」としては中央処理サーバコンピュータと通信する情報端末（携帯電話、パーソナルコンピュータ）、等の場合が該当する。【００１３】
「ストリング文字列」とは、一続きの文字や数値等からなる記号列を意味し、「ストリング文字列から構成される編集対象データ」とは、記号列で構成される編集処理の対象となるデータであり、例えば、ＨＴＭＬやＸＭＬ形式のデータファイル、各種コンピュータプログラムのソースファイル、等が該当する。【００１４】
「ルールＩＤ」とは、「ルールＤＢ」における各ルールを特定するための数値や記号等から構成される情報である。「開始終了条件」とは、ルールＩＤが表すルールが適用されるデータの対象範囲を特定する情報であり、例えば、ＨＴＭＬのタグを利用した、開始タグ及び終了タグの組み合わせ等が考えられる。「保護方法」とは、適用される当該ルールの内容であり、保護の対象となるデータ範囲に対してなされる編集保護の内容、例えば、「更新禁止」、「表示禁止」、「複製禁止」、「削除禁止」、「編集禁止」、等を表す情報である。「親ルールＩＤ」とは、当該ルールの上位ルールのＩＤであり、各ルール間の階層関係の判断に使用できる。「親ルール保護方法」とは、当該親ルールＩＤが表す親ルールに適用されるルールの内容である。「ルールＤＢ」は、「ルールＩＤ」、「開始終了条件」、「保護方法」、「親ルールＩＤ」、「親ルール保護方法」を関連付けて格納することにより、特定のデータ範囲に適用されるルールの内容と複数のルール間の親子関係を記憶する。【００１５】
「保護対象データ範囲」とは、記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す情報であり、例えば、編集対象データにおける開始位置及び終了位置、具体的には「○行目の○文字目」から「×行目の×文字目」まで、といった情報が該当する。「保護状態」とは、当該編集対象データにおける保護対象データ範囲が、どのような編集保護の状態にあるかを表す情報であり、例えば、「更新禁止」、「表示禁止」、「複製禁止」、「削除禁止」、「編集禁止」、等を表す情報である。「保護状態ＤＢ」は、「保護対象データ範囲」、「当該保護対象データ範囲の保護状態」を関連付けて格納することにより、編集対象データにおいてどのデータ範囲に、どのような編集保護がなされているのか、を記憶する。【００１６】
「編集対象データに対するスレッドの実行命令」とは、前記編集対象データである記号列データに対して、記号の挿入、削除、変更、範囲選択、コピー、ペースト等の操作を実行する命令であり、例えば、ＨＴＭＬやＸＭＬ形式のデータファイルや、各種コンピュータプログラムのソースファイルに変更を加える命令である。「当該スレッドによる当該編集対象データの編集対象範囲」とは、スレッドによる編集対象となった編集対象データのうち、記号の挿入、削除、変更等の操作が行われる編集対象の範囲であり、例えば、編集対象データにおける記号の挿入、削除、変更がなされる位置（「○行目の○文字目の後」、「×行目の×文字目の前」等）や、範囲選択、コピー、ペーストの対象となる範囲（「○行目の○文字目から×行目の×文字目まで」等）、を表す。【００１７】
「保護状態ＤＢのうち当該編集対象範囲を含む保護対象データ範囲」とは、保護状態DBに含まれている「保護対象データ範囲」のうち、「当該スレッドによる当該編集対象データの編集対象範囲」を含んでいる１又は２以上の「保護対象データ範囲」を表す。「保護対象データ範囲に関連付いている保護状態により判断する」とは、保護状態DBに含まれている「保護対象データ範囲」のうち、関連付いている「保護状態」が「更新禁止」、「表示禁止」、「複製禁止」、「削除禁止」、「編集禁止」、等の編集保護を意味する情報となっているか否かにより編集保護されているかどうかを判断すること、を表す。【００１８】
「前記（１）の編集対象範囲を含む開始終了条件」とは、ルールDBに含まれている「開始終了条件」のうち、ステップ（１）における「編集対象範囲」を含んでおり、かつ「編集対象範囲」に最も近い１又は２以上の「開始終了条件」を表す。「編集対象範囲に最も近い」とは、「編集対象範囲」を含んでいる「開始終了条件」が複数存在する場合、「編集対象範囲」から文字位置がもっとも近い「開始終了条件」が選択されるという意味である。但し、「編集対象範囲」が複数の「開始終了条件」にわたって存在する場合は、「編集対象範囲」から文字位置がもっとも近い「開始終了条件」が２以上選択される場合もありうる。「当該開始終了条件に囲まれたデータ範囲」とは、編集対象データのうち、当該「開始終了条件」が表す開始位置（開始条件）と終了位置（終了条件）に囲まれたデータ範囲を表す。この「当該開始終了条件に囲まれたデータ範囲」には、開始位置（開始条件）及び終了位置（終了条件）の記号列を含むか、含まないかは、任意の設計事項である。【００１９】
「当該親ルールＩＤに関連付いている開始終了条件を特定」とは、ルールDBに含まれている「ルールＩＤ」のうち、ステップ（２）で特定した「ルールＩＤ」に関連付いている「親ルールＩＤ」と一致する「ルールＩＤ」に関連付いている１又は２以上の「開始終了条件」を特定すること、を表す。「当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲」とは、編集対象データの中で、当該「開始終了条件」が表す開始位置（開始条件）と終了位置（終了条件）に囲まれたデータ範囲のうち、他のルールＩＤによって特定された他の開始終了条件に囲まれた範囲を除いたデータ範囲、を表す。この「当該特定した開始終了条件に囲まれたデータ範囲」、「他の開始終了条件に囲まれていない範囲」における「囲まれた範囲」に、開始位置（開始条件）及び終了位置（終了条件）の記号列を含むか、含まないかは、任意の設計事項である。【００２０】
「前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合」とは、ステップ（１）のスレッドの実行命令の内容が変化し、編集対象データである記号列データの別のデータ部分に対して、記号の挿入、削除、変更、範囲選択、コピー、ペースト等の操作を実行する命令がなされたことにより、ステップ（１）のスレッドによる編集対象範囲が変わり、ステップ（２）の開始終了条件に囲まれたデータ範囲外となったことを表す。【００２１】
（３）  本発明により、編集対象データに対してスレッドの実行命令がなされている間は、当該スレッドによる編集対象範囲及び当該編集対象範囲に論理的に関連する他のデータ範囲が、ルールＤＢにおける開始終了条件に囲まれたデータ範囲を編集保護の単位として、他のスレッドによる編集対象とならないように編集保護がなされる。これによって、特定のスレッドによる編集対象範囲及び当該編集対象範囲に論理的に関連する他のデータ範囲が編集保護されるものの、編集対象データのうち保護されていないデータは他のスレッドが編集を行うことができる。例えば、編集対象データとしてのコンピュータプログラムのソースファイルに対しプログラム改変のための編集処理を行う場合、複数のスレッドによる同時並行作業が可能となる。すなわち、特定のスレッドによるプログラム編集作業と論理的に整合性を保ちつつ、他のスレッドを実行することができるので、複数人あるいは複数ＣＰＵによる並行処理が可能となる。【００２２】
２、【００２３】
（１）  また、他の発明では、前記構成に加え、前記処理手段に、（３）前記（２）で特定したルールＩＤに関連付いている親ルールＩＤを前記記憶手段のルールＤＢから特定すると共に、当該親ルールＩＤに関連付いている開始終了条件と保護方法とを特定し、当該特定した保護方法と当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲とを関連付け、保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、を実行させるデータ編集コンピュータプログラムである。【００２４】
（３）  本発明により、親ルールのルールＩＤに関連付いている「保護方法」に応じた編集保護が可能となる。すなわち、スレッドによる実行命令がどの範囲になされても、特定のルールＩＤにより特定される、特定の開始終了条件に囲まれたデータ範囲に対する編集保護の方法を、同じにすることができる。これにより、特定の開始終了条件に囲まれたデータ範囲については、特定の編集保護方法により保護することができる。【００２５】
３、【００２６】
（１）  また、他の発明では、前記構成に加え、前記記憶手段に、スレッドＩＤと、前記記憶手段に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す保護対象データ範囲、当該保護対象データ範囲の保護状態とを関連付けて格納する保護状態ＤＢを記憶している。【００２７】
そして、前記処理に加え、前記処理手段に、（２）前記（１）の判断の結果、編集保護されていない場合は、前記（１）の編集対象範囲を含む開始終了条件に関連付いているルールＩＤを前記記憶手段のルールＤＢから特定し、当該特定したルールＩＤに関連付いている保護方法と当該開始終了条件に囲まれたデータ範囲とを任意のスレッドＩＤに関連付け、スレッドＩＤと保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、（３）前記（２）で特定したルールＩＤに関連付いている親ルールＩＤと親ルール保護方法を前記記憶手段のルールＤＢから特定すると共に、当該親ルールＩＤに関連付いている開始終了条件を特定し、当該特定した親ルール保護方法と当該特定した開始終了条件に囲まれたデータ範囲のうち前記記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲とを前記（２）のスレッドＩＤに関連付け、スレッドＩＤと保護対象データ範囲と保護状態との関連付けのレコードとして前記記憶手段の保護状態ＤＢに記憶させること、（４）前記（１）のスレッドによる編集対象範囲が、前記（２）の開始終了条件に囲まれたデータ範囲外となった場合は、当該スレッドを表すスレッドＩＤに関連付いた前記（２）及び（３）で記憶させたスレッドＩＤと保護対象データ範囲と保護状態との関連付けのレコードを、前記記憶手段の保護状態ＤＢから削除して、前記（１）のスレッドの実行命令による編集保護を解除すること、を実行させるデータ編集コンピュータプログラムである。【００２８】
（２）  ここで、「スレッドＩＤ」とは、編集対象データである記号列データに対して、記号の挿入、削除、変更、範囲選択、コピー、ペースト等の操作を実行する命令である、「スレッド」を識別するためのＩＤを表す。【００２９】
（３）  本発明により、実行命令であるスレッド毎に、編集対象データにおける編集保護されているデータを管理することができる。これにより、複数のスレッドが並行して実行されている際に、編集対象データにおける特定のデータ範囲が複数のスレッドによって編集保護の状態となっている場合、１のスレッドの編集保護解除により当該特定のデータ範囲の編集保護が解除となってしまう不都合を回避できる。【００３０】
４、【００３１】
（１）  また、他の発明では、前記コンピュータシステムは、前記構成に加え、利用者に前記記憶手段に記憶された編集対象データを表示する出力手段と、利用者からの前記スレッドの実行命令を受け付ける入力手段とを更に備えている。【００３２】
そして、前記処理手段に、更に、（５）前記記憶手段に記憶された編集対象データのうち、前記記憶手段の保護状態ＤＢにより特定した編集保護されているデータ部分を、利用者が編集保護されていると認識できるように編集保護されていない他のデータ部分と異なる表示方法で前記出力手段に表示すること、を実行させるデータ編集コンピュータプログラムである。【００３３】
（２）  ここで、「出力手段」とは、例えばディスプレイ等のコンピュータシステムにおける情報を表示する出力装置や、通信ネットワークで接続されたコンピュータシステムにおける情報端末としての携帯電話端末やパーソナルコンピュータ等が該当する。「入力手段」とは、例えばキーボード、マウス、タッチパネル等のコンピュータシステムにおける入力装置や、通信ネットワークで接続されたコンピュータシステムにおける情報端末としての携帯電話端末やパーソナルコンピュータ等が該当する。【００３４】
「前記記憶手段に記憶された編集対象データのうち、前記記憶手段の保護状態ＤＢにより特定した編集保護されているデータ部分」とは、編集対象データのうち、保護状態ＤＢにおける「保護対象データ範囲」が表す編集保護がなされているデータ部分を意味する。「利用者が編集保護されていると認識できるように編集保護されていない他のデータ部分と異なる表示方法で前記出力手段に表示する」とは、例えば、出力手段に表示される編集対象データのうち、編集保護されているデータは、編集保護されていないデータとは異なる色やフォントで表示する、等の方法が考えられる。【００３５】
（３）  本発明により、データ編集コンピュータシステムの利用者が、編集対象データのうち、どのデータ部分が編集保護されているのかを理解することができ、編集保護されているデータ部分に対する新たなスレッド命令を実行するという無駄の発生の不都合を回避することができる。【００３６】
５、【００３７】
（１）  また、他の発明では、前記コンピュータシステムは、前記構成に加え、前記処理手段に、更に、（５）前記記憶手段に記憶された編集対象データのうち、前記記憶手段の保護状態ＤＢにより特定して前記出力手段に表示している編集保護されているデータ部分を、前記入力手段を介した利用者によるスレッドの実行命令の対象として選択させないようにすること、を実行させるデータ編集コンピュータプログラムである。【００３８】
（３）  本発明により、データ編集コンピュータシステムの利用者が、編集対象データのうち、どのデータ部分が編集保護されているのかを理解することができ、編集保護されているデータ部分に対する新たなスレッド命令を実行するという無駄の発生の不都合を回避することができる。【００３９】
６、【００４０】
（１）  また、他の発明は、前記データ編集コンピュータシステムである。
【発明の効果】
【００４１】
以上のように、本発明を利用すると、編集対象データに対してスレッドの実行命令がなされている間は、当該スレッドによる編集対象範囲及び当該編集対象範囲に論理的に関連する他のデータ範囲が、ルールＤＢにおける開始終了条件に囲まれたデータ範囲を編集保護の単位として、他のスレッドによる編集対象とならないように編集保護がなされる。これによって、特定のスレッドによる編集対象範囲及び当該編集対象範囲に論理的に関連する他のデータ範囲が編集保護されるものの、編集対象データのうち保護されていないデータは他のスレッドが編集を行うことができる。例えば、編集対象データとしてのコンピュータプログラムのソースファイルに対しプログラム改変のための編集処理を行う場合、複数のスレッドによる同時並行作業が可能となる。すなわち、特定のスレッドによるプログラム編集作業と論理的に整合性を保ちつつ、他のスレッドを実行することができるので、複数人あるいは複数ＣＰＵによる並行処理が可能となる。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施形態を、図面を参照しつつ説明する。【００４３】
１、  本発明の実施の構成について【００４４】
（１）  図１は、本発明に係るデータ編集コンピュータシステムの全体構成図である。同図に示すように、本発明に係るデータ編集コンピュータシステムは、出力手段１０と、処理手段２０と、入力手段３０と、記憶手段４０・５０と、から構成されている。そして、これら各手段（１０−５０）は、バス６０を介して電気的に接続し、相互に情報の伝達（信号の通信）を行うことができる。【００４５】
図１のデータ編集コンピュータシステムにおける構成要素を更に詳述する。出力手段１０は、情報をデータ編集コンピュータシステムの利用者に表示するための出力装置であり、例えば液晶やＣＲＴ方式等のディスプレイ装置が該当する。また、処理手段２０は、上記他の手段（装置）に働きかける計算装置であり、例えばＣＰＵが該当する。入力手段３０は、データ編集コンピュータシステムの利用者からの命令を受け付ける入力装置であり、例えばマウスやキーボードが該当する。記憶手段４０は、大量の情報を記憶させておく補助記憶装置であり、例えばハードディスク（ＨＤＤ）が該当する。記憶手段５０は、処理手段２０による実行の対象となる情報を記憶させておく主記憶装置であり、例えばメインメモリが該当する。バス６０は、データ編集コンピュータシステムの内部で各手段が情報を通信するための伝送路である。【００４６】
本発明に係るデータ編集コンピュータシステムは、図１に示すパーソナルコンピュータのようなローカルのコンピュータシステムであっても実施が可能であり、当該前提により以下説明を行う。しかし、本発明に係るデータ編集コンピュータシステムは、複数のコンピュータシステムから構成される場合もある。例えば、クライアント側のコンピュータシステムが出力手段１０及び入力手段３０となり、サーバ側のコンピュータシステムが処理手段２０及び記憶手段４０・５０となり、インターネットなどの広域通信回線がバス６０となることによって、複数のコンピュータシステムから構成される場合も考えられる。【００４７】
（２）  次に、図１における記憶手段４０としてのＨＤＤに記憶されている各種情報について説明する。記憶手段４０としてのＨＤＤには、ルールＤＢ４１と、保護状態ＤＢ４２と、ＯＳその他プログラム４３と、データ編集コンピュータプログラム４４とを、データベースやファイルの形式により記憶している。【００４８】
そして、処理手段２０としてのＣＰＵが、記憶手段４０としてのＨＤＤに記憶されている各情報（４１−４４）を、記憶手段５０としてのメモリに読み込むことにより、プログラムやデータの解釈・実行を行なう。また、処理手段２０としてのＣＰＵが、記憶手段４０としてのＨＤＤに記憶されているＯＳその他プログラム４３と、データ編集コンピュータプログラム４４を、記憶手段５０としてのメモリに読み込んで解釈し、実行する事により、本発明に係るデータ編集処理等が行なわれるのである。【００４９】
このように、本実施形態では、初期状態として記憶手段４０としてのＨＤＤに各情報（４１−４４）が記憶されているとして説明するが、初期状態において記憶手段５０としてのメモリに各情報（４１−４４）が全て記憶されていても当然実施は可能である。【００５０】
（３）  続いて、記憶手段４０としてのＨＤＤに記憶されている各情報（４１−４４）のデータ構造について、図２及び図３を使用して説明する。【００５１】
図２に図示するように、記憶手段４０としてのＨＤＤに記憶されている「ルールＤＢ４１」は、「ルールＩＤ」を介して情報の関連付けがなされて記憶されている。「ルールＤＢ４１」は、「ルールＩＤ」と「開始終了条件」と「保護方法」と「親ルールＩＤ」と「親ルール保護方法」とを関連付けた情報である。「ルールＩＤ」とは、「ルールＤＢ」における各ルールを特定するための数値や記号等から構成される情報である。「開始終了条件」とは、ルールＩＤが表すルールが適用されるデータの対象範囲を特定する情報であり、例えば、ＨＴＭＬのタグを利用した、開始タグ及び終了タグの組み合わせ等が考えられる。「保護方法」とは、適用される当該ルールの内容であり、保護の対象となるデータ範囲に対してなされる編集保護の内容、例えば、「更新禁止」、「表示禁止」、「複製禁止」、「削除禁止」、「編集禁止」、等を表す情報である。「親ルールＩＤ」とは、当該ルールの上位ルールのＩＤであり、各ルール間の階層関係の判断に使用できる。「親ルール保護方法」とは、当該親ルールＩＤが表す親ルールに適用されるルールの内容である。「ルールＤＢ」は、「ルールＩＤ」、「開始終了条件」、「保護方法」、「親ルールＩＤ」、「親ルール保護方法」を関連付けて格納することにより、特定のデータ範囲に適用されるルールの内容と複数のルール間の親子関係を記憶する。【００５２】
例えば、「ルールＩＤ」が「ルール１」のレコードでは、「開始終了条件」である「＜ｔｄ＞」と「＜／ｔｄ＞」に囲まれたデータ範囲についての「保護方法」が「削除・編集禁止」であり、「親ルールＩＤ」が「ルール２」であり、「親ルール保護方法」が「削除・編集禁止」であることが特定できる。他にも、「ルールＩＤ」が「ルール２」のレコードでは、「開始終了条件」である「＜ｔｒ＞」と「＜／ｔｒ＞」に囲まれたデータ範囲についての「保護方法」が「削除・編集禁止」であり、「親ルールＩＤ」が「ルール３」であり、「親ルール保護方法」が「削除・編集禁止」であることが特定できる。さらに、「ルールＩＤ」が「ルール７」のレコードでは、「開始終了条件」である「＜ｈｔｍｌ＞」と「＜／ｈｔｍｌ＞」に囲まれたデータ範囲についての「保護方法」が「削除・編集禁止」であり、「親ルールＩＤ」及び「親ルール保護方法」が不存在であることが特定できる。「ルールＩＤ」が「ルール８」のレコードでは、「開始終了条件」である「＜ｔｄ  ｉｄ＝ｔｉｍｅ＞」と「＜／ｔｄ＞」に囲まれたデータ範囲についての「保護方法」が「表示禁止」であり、「親ルールＩＤ」が「ルール２」であり、「親ルール保護方法」が「表示禁止」であることが特定できる。【００５３】
図３に図示するように、記憶手段４０としてのＨＤＤに記憶されている「保護状態ＤＢ４２」は、「スレッドＩＤ」を介して情報の関連付けがなされて記憶されている。「保護状態ＤＢ４２」は、「保護対象データ範囲」及び「保護状態」の関連付けを１以上、「スレッドＩＤ」に関連付けた情報である。「スレッドＩＤ」とは、編集対象データである記号列データに対して、記号の挿入、削除、変更、範囲選択、コピー、ペースト等の操作を実行する命令である、「スレッド」を識別するためのＩＤを表す。「保護対象データ範囲」とは、記憶手段４０に記憶された編集対象データにおいて保護の対象となっているデータ範囲を表す情報であり、例えば、編集対象データの開始位置及び終了位置、具体的には「○行目の○文字目」から「×行目の×文字目」まで、といった情報が該当する。「保護状態」とは、当該編集対象データにおける保護対象データ範囲が、どのような編集保護の状態にあるかを表す情報であり、例えば、「更新禁止」、「表示禁止」、「複製禁止」、「削除禁止」、「編集禁止」、等を表す情報である。「保護状態ＤＢ」は、「保護対象データ範囲」、「当該保護対象データ範囲の保護状態」を関連付けて格納することにより、編集対象データにおけるどのデータ範囲に、どのような編集保護がなされているのか、を記憶する。【００５４】
例えば、「スレッドＩＤ」が「スレッドＡ」のスレッドにより、編集対象データにおける「１１行目  １文字目（最初の＜ｔｄ＞）から１４文字目（最初の＜／ｔｄ＞）まで」と「１行目  ４行目  ５行目  ２２行目〜２４行目」と「＜ｔｄ＞と＜／ｔｄ＞で囲まれた範囲を除いた１０行目〜１２行目」のデータ範囲について、それぞれ「削除・編集禁止」の編集保護がなされていること、が特定できる。他にも、「スレッドＩＤ」が「スレッドＢ」のスレッドにより、編集対象データにおける「１７行目  １７文字目（２つ目の＜ｔｄ＞）から３０文字目（２つ目の＜／ｔｄ＞）まで」と「１行目  ４行目  ５行目  ２２行目〜２４行目」と「＜ｔｄ＞と＜／ｔｄ＞で囲まれた範囲を除いた１６行目〜１８行目」のデータ範囲について、それぞれ「削除・編集禁止」の編集保護がなされていること、が特定できる。【００５５】
２、  本発明の実施のフローについて【００５６】
図４は、本発明に係るデータ編集コンピュータシステムの実施フロー図である。同図に基づいて、本発明の実施のフローを説明する。【００５７】
（１）  まず、処理手段２０としてのＣＰＵが、入力手段３０としてのマウス・キーボードから、スレッド実行命令を受信する（Ｓ１）。このスレッド実行命令は、記憶手段４０に記憶されている編集対象データに対するデータ処理を命令するものであり、編集対象データのうち、編集対象となる範囲を表す編集対象範囲の情報と、どのようなデータ処理を行うかの命令が含まれている。【００５８】
図５は、Ｓ１における、処理手段２０としてのＣＰＵが、スレッド実行命令を受信した際に、出力手段１０であるディスプレイの表示領域に編集対象データとしてのｈｔｍｌファイルを表示した画面表示例である。図５では、２種類の表示方法により表示しており、左図はｈｔｍｌの規則に準じたＨＴＭＬの元データ（ソースファイル）であり、右図は左図のｈｔｍｌの元データ（ソースファイル）をWebブラウザにより表示した画面である。「カーソル」は、編集対象となっている部分を表す表示カーソルである。図５の左図では、編集対象データとしてのｈｔｍｌ元ファイルのうち、「１１行目  ４文字目（＞）と５文字目（１）の間」が編集対象範囲となっている。図５の右図では、編集対象データとしてのｈｔｍｌ表示ファイルのうち、「１列目の２行目  罫線と１の間」が編集対象範囲となっている。【００５９】
（２）  次に、処理手段２０としてのＣＰＵが、スレッド実行命令による編集対象範囲が編集保護されているか否かを判断する（Ｓ２）。編集保護されているか否かは、記憶手段４０に記憶されている保護状態ＤＢ４２の「保護対象データ範囲」のうち、自己のスレッドＩＤに関連付いていない「保護対象データ範囲」の中に、スレッド実行命令による編集対象範囲が一部又は全部が含まれていないか否か、で判断する。「自己のスレッドＩＤに関連付いていない」とは、Ｓ１で受信したスレッド実行命令を表すスレッドＩＤを意味し、自らが編集保護の対象としている「保護対象データ範囲」は含まない、という意味である。【００６０】
先の、図５の編集対象データを例にすると、図５の左図では、編集対象データとしてのｈｔｍｌ元ファイルのうち「１１行目  ４文字目（＞）と５文字目（１）の間」が編集対象範囲となっているため、当該範囲を含む記憶手段４０に記憶されている保護状態ＤＢ４２の「保護対象データ範囲」が存在するかを確認する。この時点ではスレッドＡ以外のスレッドが存在しないため、特に、編集対象範囲を含む記憶手段４０に記憶されている保護状態ＤＢ４２の「保護対象データ範囲」は存在しない、と判断される。【００６１】
（３）  続いて、Ｓ２において処理手段２０としてのＣＰＵが、スレッド実行命令による編集対象範囲が編集保護されていると判断した場合は、一定時間待機したのち（Ｓ１０）、再度Ｓ２の判断処理を行う。この待機の一定時間は、任意に定めればよく、１のスレッド実行命令について一定回数このＳ１０の待機処理が行われるようであれば、出力手段１０に「実行を指示されたスレッド実行命令が実行できなかった旨」を表示し、スレッド実行命令による処理を終了する設計としてもよい。【００６２】
（４）  続いて、Ｓ２において処理手段２０としてのＣＰＵが、スレッド実行命令による編集対象範囲が編集保護されていないと判断した場合は、編集対象範囲を含む開始終了条件に関連付いているルールＩＤを記憶手段４０のルールＤＢ４１から特定する（Ｓ３）。Ｓ１における編集対象範囲を含む開始終了条件が複数存在する場合は、編集対象範囲に最も近い１又は２以上の開始終了条件に関連付いているルールＩＤを、Ｓ３における特定に使用する。【００６３】
先の、図５の編集対象データを例にすると、図５の左図では、編集対象データとしてのｈｔｍｌ元ファイルのうち「１１行目  ４文字目（＞）と５文字目（１）の間」が編集対象範囲となっているため、当該範囲を含む開始終了条件のうち編集対象範囲に最も近い「開始条件」が「＜ｔｄ＞」、「終了条件」が「＜／ｔｄ＞」の「ルールＩＤ」が「ルール１」を記憶手段４０のルールＤＢ４１から特定する。【００６４】
図５の編集対象データで他の例をあげると、図５の左図のうち、編集対象データとしてのｈｔｍｌ元ファイルのうち「１１行目  ４文字目（＞）の後から２２文字目（ン）の前まで」が選択されて、仮にスレッド実行命令による編集対象範囲となっていたとする。その場合は、編集対象データとしてのｈｔｍｌ元ファイルのうち「１１行目  ４文字目（＞）の後から２２文字目（ン）の前まで」を含む開始終了条件のうち、編集対象範囲に最も近い「開始条件」が「＜ｔｄ＞」、「終了条件」が「＜／ｔｄ＞」の「ルールＩＤ」が「ルール１」と、「開始条件」が「＜ｔｒ＞」、「終了条件」が「＜／ｔｒ＞」の「ルールＩＤ」が「ルール２」と、の２種類のルールＩＤが、Ｓ３において記憶手段４０のルールＤＢ４１から特定される。これは、「１１行目  ４文字目（＞）の後から２２文字目（ン）の前まで」の編集対象範囲のうち、「１１行目  ５文字目（１）から１４文字目（＞）」は「開始条件」が「＜ｔｄ＞」、「終了条件」が「＜／ｔｄ＞」の最も近い開始終了条件に含まれており、「１１行目  １５文字目（  ）と１６文字目（  ）」は「開始条件」が「＜ｔｒ＞」、「終了条件」が「＜／ｔｒ＞」の最も近い開始終了条件に含まれており、「１１行目  １７文字目（＜）から２１文字目（ラ）」は「開始条件」が「＜ｔｄ＞」、「終了条件」が「＜／ｔｄ＞」の最も近い開始終了条件に含まれているため、上記２種類のルールＩＤが特定できる。つまり、「編集対象範囲」が複数の「開始終了条件」にわたって存在する場合は、「編集対象範囲」から文字位置がもっとも近い「開始終了条件」が２以上選択される場合もありうるのである。【００６５】
（５）  次に、Ｓ３で特定したルールＩＤに関連付いている保護方法を記憶手段４０のルールＤＢ４１から特定し、Ｓ３における開始終了条件に囲まれたデータ範囲と共に、任意のスレッドＩＤに関連付けて、記憶手段４０の保護状態ＤＢ４２に記憶させる（Ｓ４）。Ｓ３において２以上の開始終了条件が特定された場合、開始終了条件ごとに関連付いている保護方法とデータ範囲とを記憶手段４０のルールＤＢ４１から特定し、特定した保護方法とデータ範囲との関連付けを「保護対象データ１」及び「保護状態１」のように任意の番号を付して、１つのスレッドＩＤに複数の「保護対象データ」と「保護状態」の関連付けを関連付けて保護状態ＤＢ４２に記憶させる。【００６６】
先の、図５の編集対象データを例にすると、Ｓ３で特定した「ルールＩＤ」である「ルール１」に関連付いている「保護方法」である「削除・編集禁止」を記憶手段４０のルールＤＢ４１から特定し、Ｓ３における「開始条件」が「＜ｔｄ＞」、「終了条件」が「＜／ｔｄ＞」である「開始終了条件」に囲まれた「データ範囲」である「１１行目  １文字目（最初の＜ｔｄ＞）から１４文字目（最初の＜／ｔｄ＞）まで」と共に、任意のスレッドＩＤである「スレッドＡ」に関連付けて、保護状態ＤＢ４２に記憶させる。【００６７】
（６）  続いて、Ｓ３で特定したルールＩＤに関連付いている親ルールＩＤと親ルール保護方法を記憶手段４０のルールＤＢ４１から特定し、当該特定した親ルールＩＤと同一のルールＩＤに関連付いている開始終了条件を記憶手段４０のルールＤＢ４１から特定する（Ｓ５）。Ｓ３において２以上の開始終了条件が特定された場合、開始終了条件ごとに関連付いている親ルールＩＤと親ルール保護方法とを記憶手段４０のルールＤＢ４１から特定する。【００６８】
先の、図５の編集対象データを例にすると、Ｓ３で特定した「ルールＩＤ」である「ルール１」に関連付いている「親ルールＩＤ」である「ルール２」及び「親保護方法」である「削除・編集禁止」を記憶手段４０のルールＤＢ４１から特定し、当該特定した「親ルールＩＤ」である「ルール２」と同一のルールＩＤである「ルール２」に関連付いている「開始条件」が「＜ｔｒ＞」、「終了条件」が「＜／ｔｒ＞」である「開始終了条件」を記憶手段４０のルールＤＢ４１から特定する。【００６９】
（７）  次に、Ｓ５で特定した親ルール保護方法と、Ｓ５で特定した開始終了条件に囲まれたデータ範囲のうち記憶手段４０のルールＤＢ４１における他の開始終了条件に囲まれていない一定の範囲とを、Ｓ４で使用したスレッドＩＤに関連付けて記憶手段４０の保護状態ＤＢ４２に記憶させる（Ｓ６）。Ｓ５において２以上の親ルール保護方法が特定された場合、親ルール保護方法ごとにＳ６の処理を行う。Ｓ５で特定した開始終了条件に囲まれたデータ範囲のうち一定の範囲、とは、Ｓ５で特定した開始終了条件に囲まれたデータ範囲のうち、記憶手段４０のルールＤＢ４１における他の開始終了条件に囲まれていない範囲、である。【００７０】
先の、図５の編集対象データを例にすると、Ｓ５で特定した「開始条件」が「＜ｔｒ＞」、「終了条件」が「＜／ｔｒ＞」である「開始終了条件」に囲まれたデータ範囲である「１０行目〜１２行目」のうち、記憶手段のルールＤＢにおける他の開始終了条件に囲まれていない範囲である「＜ｔｄ＞と＜／ｔｄ＞で囲まれた範囲を除いた１０行目〜１２行目」のデータ範囲を、Ｓ４で使用したスレッドＩＤである「スレッドＡ」に関連付けて記憶手段４０の保護状態ＤＢ４２に記憶させる。【００７１】
（８）  続いて、処理手段２０としてのＣＰＵが、Ｓ５で特定し、Ｓ６の処理を行った親ルールＩＤに関連付いている更に上位の親ルールＩＤが存在するかを、記憶手段４０のルールＤＢ４１から判断する（Ｓ７）。Ｓ５において２以上の親ルールＩＤが特定された場合、親ルールＩＤごとにＳ７の判断を行う。Ｓ７において、処理手段２０としてのＣＰＵが、１つでも更に上位の親ルールＩＤが存在すると判断した場合は、当該親ルールＩＤを、「Ｓ３で特定したルールＩＤ」として、Ｓ５、Ｓ６の処理を行う。【００７２】
先の、図５の編集対象データを例にすると、Ｓ５で特定し、Ｓ６の処理を行った「親ルールＩＤ」である「ルール２」に関連付いている更に上位の「親ルールＩＤ」である「ルール３」が存在することを、記憶手段４０のルールＤＢ４１から判断する。その後、「ルール３」を「Ｓ３で特定したルールＩＤ」として、Ｓ５、Ｓ６の処理を行う。そして、再度のＳ７において、「ルール３」に関連付いている更に上位の「親ルールＩＤ」である「ルール４」が存在することを記憶手段４０のルールＤＢ４１から判断し、「ルール４」を「Ｓ３で特定したルールＩＤ」として、Ｓ５、Ｓ６の処理を行う。さらに、Ｓ７において、「ルール４」に関連付いている更に上位の「親ルールＩＤ」である「ルール７」が存在することを記憶手段４０のルールＤＢ４１から判断し、「ルール７」を「Ｓ３で特定したルールＩＤ」として、Ｓ５、Ｓ６の処理を行う。その後、Ｓ７において、「ルール７」に関連付いている更に上位の「親ルールＩＤ」が不存在であることを認識し、Ｓ８へと処理が進む。このＳ７が終わった状態が、図６の画面表示例である。図６では、カーソル（スレッドＡ）による編集保護されているデータ範囲は「スレッドＡ編集中」、「スレッドＡ以外編集禁止」の部分として、他のデータとは異なる表示がなされている。【００７３】
（９）  続いて、Ｓ７において、処理手段２０としてのＣＰＵが、１つでも更に上位の親ルールＩＤが存在しないと判断した場合は、編集対象範囲が開始終了条件に囲まれたデータ範囲外となったかを判断する（Ｓ８）。編集対象範囲が開始終了条件に囲まれたデータ範囲外となるまで、一定時間待機して、この判断を続ける（Ｓ８）。【００７４】
（１０）  次に、Ｓ８において、処理手段２０としてのＣＰＵが、編集対象範囲が開始終了条件に囲まれたデータ範囲外となったと判断した場合は、Ｓ４及びＳ６において関連付けて記憶手段４０の保護状態ＤＢ４２に記憶させたスレッドＩＤと、当該スレッドＩＤに関連付けて記憶させた保護対象データ範囲と保護状態との関連付けのレコードを、保護状態ＤＢ４２から削除し、スレッドの実行命令による編集保護を解除する（Ｓ９）。そして、Ｓ９の後も、当該スレッドが記憶手段４０の編集対象データにおける他の編集対象範囲に対して編集処理を命令するものである場合は、処理手段２０としてのＣＰＵが、スレッド実行命令による編集対象範囲が編集保護されているか否かを判断する（Ｓ２）。すなわち、処理手段２０としてのＣＰＵが、上記Ｓ２からの処理を繰り返すことになる。【００７５】
（１１）  なお、Ｓ７とＳ８の間において、処理手段２０としてのＣＰＵが、各スレッドの内容に応じた編集対象データに対する編集処理を行う。この際、編集対象データに対して記号の挿入、削除、行の挿入、削除等を伴う処理がなされる場合、処理手段２０としてのＣＰＵは、記憶手段４０の保護状態ＤＢ４２に記憶されている保護対象データ範囲の論理的整合性を保つため、当該保護対象データ範囲の修正処理を行う。【００７６】
例えば、記憶手段４０の保護状態ＤＢ４２の「保護対象データ範囲」として、「１１行目  １文字目（最初の＜ｔｄ＞）から１４文字目（最初の＜／ｔｄ＞）まで」と、「１７行目  １７文字目（２つ目の＜ｔｄ＞）から３０文字目（２つ目の＜／ｔｄ＞）まで」という保護対象となっているデータ範囲が存在したとする。この場合、スレッドの実行により編集対象データの「１１行目  ６文字目」に２文字挿入の編集処理が行われた場合、「１１行目  １文字目（最初の＜ｔｄ＞）から１４文字目（最初の＜／ｔｄ＞）まで」の「保護対象データ範囲」は、２文字挿入がなされたことによる論理的整合性を保つため、「１１行目  １文字目（最初の＜ｔｄ＞）から１６文字目（最初の＜／ｔｄ＞）まで」、となる。一方、スレッドの実行により編集対象データの「１７行目  ２５文字目」に１文字削除の編集処理が行われた場合、「１７行目  １７文字目（２つ目の＜ｔｄ＞）から３０文字目（２つ目の＜／ｔｄ＞）まで」の「保護対象データ範囲」は、１文字削除がなされたことによる論理的整合性を保つため、「１７行目  １７文字目（２つ目の＜ｔｄ＞）から２９文字目（２つ目の＜／ｔｄ＞）まで」、となる。編集対象データに対して行の挿入、削除等の処理がなされた場合も、保護対象データ範囲の論理的整合性を保つため、処理手段２０としてのＣＰＵが処理を行う。【００７７】
すなわち、処理手段２０としてのＣＰＵは、スレッドにより記憶手段に記憶された編集対象データに記号の挿入、削除、行の挿入、削除を伴う編集処理を加えた場合、記憶手段４０の保護状態ＤＢ４２の「保護対象データ範囲」の値に対しても論理的整合性を保つための同様の更新処理を行う。記憶手段４０の保護状態ＤＢ４２には、異なる「スレッドＩＤ」に関連付いた「保護対象データ範囲」が存在することも考えられるが、処理手段２０としてのＣＰＵが行う、記憶手段４０の保護状態ＤＢ４２の「保護対象データ範囲」の値に対しても論理的整合性を保つための更新処理は、論理的整合性を保つために、当該「スレッドＩＤ」に関わらず、記憶されているすべての「保護対象データ範囲」について処理を行うのが望ましい。【００７８】
（１２）  また、処理手段２０としてのＣＰＵが、記憶手段４０に記憶された編集対象データのうち、記憶手段４０の保護状態ＤＢ４２により特定した編集保護されているデータ部分を、利用者が編集保護されていると認識できるように編集保護されていない他のデータ部分と異なる表示方法で出力手段１０に表示したり、当該データ部分を入力手段３０を介した利用者によるスレッドの実行命令の対象として選択させないようにすること、も有用である。既に編集保護されているデータ部分に対して編集処理を行うおうとする無駄の発生防止のためである。【００７９】
（１３）  以上のように、本発明を利用すると、特定のスレッドによるプログラム編集作業と論理的に整合性を保ちながら、複数人あるいは複数ＣＰＵによる並行処理が可能となる。【００８０】
３、  本発明の具体的な画面表示例について【００８１】
図５−８は、本発明に係るデータ編集コンピュータシステムが行うデータ編集処理における、出力手段１０の表示領域に表示された画面表示例の図である。図５−８に基づいて、本発明の実施の具体例を説明する。【００８２】
（１）  図５は、上記Ｓ１の前の通常状態における、処理手段２０としてのＣＰＵが、出力手段１０であるディスプレイの表示領域に編集対象データを表示した画面表示例である。図５では、２種類の表示方法により表示しており、左図はＨＴＭＬの規則に準じたＨＴＭＬの元データであり、右図は左図のＨＴＭＬの元データをＨＴＭＬの表現により表示した画面である。「カーソル」は、編集対象となっている部分を表す表示カーソルである。【００８３】
（２）  図６は、上記Ｓ７の後における、処理手段２０としてのＣＰＵが、出力手段１０であるディスプレイの表示領域に編集対象データを表示した画面表示例である。図７では、カーソル（スレッドＡ）による編集保護されているデータ範囲は「スレッドＡ編集中」、「スレッドＡ以外編集禁止」の部分として、他のデータとは異なる表示がなされている。【００８４】
（３）  図７は、上記Ｓ７の後における、処理手段２０としてのＣＰＵが、出力手段１０であるディスプレイの表示領域に編集対象データを表示した画面表示例である。図７では、スレッドの実行命令が２つ（スレッドＡ、スレッドＢ）存在し、並行処理がなされている。カーソル（スレッドＡ）による編集保護されているデータ範囲は「スレッドＡ編集中」、「スレッドＡ以外が編集を禁止されているエリア」、「編集を禁止されているエリア」の部分であり、カーソル（スレッドＢ）による編集保護されているデータ範囲は「スレッドＢ編集中」、「スレッドＢ以外が編集を禁止されているエリア」、「編集を禁止されているエリア」の部分である。【００８５】
（４）  図８は、処理手段２０としてのＣＰＵが、出力手段１０であるディスプレイの表示領域に編集対象データを表示した画面表示例である。図８では、スレッドの実行命令が２つ（スレッドＡ、スレッドＢ）存在し、並行処理がなされており、図７の状態からスレッドＡの編集対象範囲が変わり、Ｓ８及びＳ９が行われた後の状態に該当する。カーソル（スレッドＡ）による編集保護されているデータ範囲は「スレッドＡ編集中」、「スレッドＡ以外が編集を禁止されているエリア」、「編集を禁止されているエリア」の部分であり、カーソル（スレッドＢ）による編集保護されているデータ範囲は「スレッドＢ編集中」、「スレッドＢ以外が編集を禁止されているエリア」、「編集を禁止されているエリア」の部分である。【００８６】
（５）  図５−８に示すように、編集対象データを表示した画面表示例には２種類あり、右図の編集対象データに対しても、左図の編集対象データに対しても編集処理が行え、いずれかの編集対象データに対して編集処理を行えば、他方の編集対象データにも処理が行われる。例えば、図５の右図の「時間」項目の「１２：００」の文字列のうち、「１２」を削除したとすると、その編集が左図のＨＴＭＬの規則に準じたＨＴＭＬの元データにも加えられる。すなわち、右図における編集対象データと左図における編集対象データは、記憶手段４０にデータの対応関係を記憶しており、左図におけるＨＴＭＬの元データに対して編集処理を行えるだけではなく、右図におけるＨＴＭＬの元データをＨＴＭＬの表現により表示したデータに対しても直接編集処理を行うことができ、かつ、本願に係る上記データ編集処理も並行して行うことができる。
【図面の簡単な説明】
【００８７】
【図１】データ編集コンピュータシステムの全体構成図
【図２】記憶手段４０に記憶されているルールＤＢ４１のデータ構造
【図３】記憶手段４０に記憶されている保護状態ＤＢ４２のデータ構造
【図４】処理手段２０が行うデータ編集処理のフロー
【図５】処理手段２０が、出力手段１０に編集対象データを表示した画面表示例１
【図６】処理手段２０が、出力手段１０に編集対象データを表示した画面表示例２
【図７】処理手段２０が、出力手段１０に編集対象データを表示した画面表示例３
【図８】処理手段２０が、出力手段１０に編集対象データを表示した画面表示例４
【符号の説明】
【００８８】
１０  出力手段（ディスプレイ）        ２０  処理手段（ＣＰＵ）
３０  入力手段（マウス・キーボード）  ４０  記憶手段（ＨＤＤ）
４１  ルールＤＢ                      ４２  保護状態ＤＢ
４３  ＯＳ・その他プログラム          ４４  データ編集コンピュータプログラム
５０  記憶手段（メモリ）              ６０  バス
【図１】
2009025010.tif 000003
【図２】
2009025010.tif 000004
【図３】
2009025010.tif 000005
【図４】
2009025010.tif 000006
【図５】
2009025010.tif 000007
【図６】
2009025010.tif 000008
【図７】
2009025010.tif 000009
【図８】
2009025010.tif 000010
【国際調査報告】
2009025010.tif 000011
2009025010.tif 000012