(57)【要約】【課題】複数の利用者によるデータベースに対するアクセスの競合を効率的に調停する。【解決手段】データベースに対するアクセスを制御するシステムであって、データベースに含まれる少なくとも１つの部分データのそれぞれについて、当該部分データの排他アクセス権の所有者を管理する管理部と、第１の所有者が第１の部分データについて所有する第１の排他アクセス権の一部を委譲するべく、第１の部分データの一部である第２の部分データについての第２の排他アクセス権の所有者を第１の所有者から第２の所有者に変更する委譲部と、第１の排他アクセス権の委譲を条件に、第２の部分データについて第１の所有者によるアクセスを禁止して第２の所有者によるアクセスを許可するアクセス制御部とを備えるシステム。【選択図】図５
2007199940.tif 000002
【特許請求の範囲】
【請求項１】
データベースに対するアクセスを制御するシステムであって、
前記データベースに含まれる少なくとも１つの部分データのそれぞれについて、当該部分データの排他アクセス権の所有者を管理する管理部と、
第１の所有者が第１の部分データについて所有する第１の排他アクセス権の一部を委譲するべく、前記第１の部分データの一部である第２の部分データについての第２の排他アクセス権の所有者を前記第１の所有者から第２の所有者に変更する委譲部と、
前記第１の排他アクセス権の委譲を条件に、前記第２の部分データについて前記第１の所有者によるアクセスを禁止して前記第２の所有者によるアクセスを許可するアクセス制御部と
を備えるシステム。
【請求項２】
前記第２の排他アクセス権を前記第１の所有者に返却するべく、前記第２の排他アクセス権の所有者を前記第２の所有者から前記第１の所有者に変更する返却部と、
前記第２の排他アクセス権の返却を条件に、前記第１の排他アクセス権の解放を許可する解放制御部と
を更に備える請求項１に記載のシステム。
【請求項３】
前記委譲部は、前記第１の所有者による委譲の許可を条件に、前記第２の排他アクセス権の所有者を前記第１の所有者から前記第２の所有者に変更し、
前記返却部は、前記第１の所有者による返却の許可を条件に、前記第２の所有者による前記第２の部分データの変更を前記第１の部分データに反映させて、前記第２の排他アクセス権の所有者を前記第２の所有者から前記第１の所有者に変更する
請求項２に記載のシステム。
【請求項４】
前記返却部は、前記第１の所有者による返却の拒否を条件に、前記第２の所有者による前記第２の部分データの変更を前記第１の部分データに反映させずに、前記第２の排他アクセス権を前記第２の所有者によって所有させたまま維持する
請求項３に記載のシステム。
【請求項５】
前記委譲部は、前記第２の所有者による委譲の許可を条件に、前記第２の排他アクセス権の一部を委譲するべく、前記第２の部分データに含まれる第３の部分データについての第３の排他アクセス権の所有者を前記第２の所有者から第３の所有者に変更し、
前記アクセス制御部は、前記第２の排他アクセス権の委譲を条件に、前記第３の部分データについて前記第２の所有者によるアクセスを禁止して前記第３の所有者によるアクセスを許可し、
前記返却部は、前記第２の所有者による返却の許可を条件に、前記第３の所有者による前記第３の部分データの変更を前記第２の部分データに反映させて、前記第３の排他アクセス権の所有者を前記第３の所有者から前記第２の所有者に変更する
請求項３に記載のシステム。
【請求項６】
前記返却部は、前記第３の排他アクセス権の返却、および、前記第１の所有者の許可を条件に、前記第２の排他アクセス権の所有者を前記第２の所有者から前記第１の所有者に変更する
請求項５に記載のシステム。
【請求項７】
前記アクセス制御部は、前記第３の排他アクセス権の返却に先立って前記第２の排他アクセス権が返却されたことを条件に、前記第２の部分データを含む前記第１の部分データのうち前記第３の部分データを除外したデータについて前記第１の所有者によるアクセスを許可し、
前記返却部は、前記第３の排他アクセス権の返却に先立って前記第２の排他アクセス権が返却された場合において、前記第１の所有者による許可を条件に、前記第３の排他アクセス権を前記第１の所有者に返却する
請求項５に記載のシステム。
【請求項８】
前記委譲部は、前記第１の排他アクセス権の一部を委譲して前記第３の排他アクセス権を前記第３の所有者に所有させている状態において、前記第１の排他アクセス権の一部を更に委譲して、前記第２の排他アクセス権のうち前記第３の排他アクセス権を除外した排他アクセス権を生成し、前記第２の所有者に取得させ、
前記返却部は、前記第３の排他アクセス権を前記第３の所有者に所有させた状態で、前記第２の排他アクセス権のうち前記第３の排他アクセス権を除外した前記排他アクセス権を前記第２の所有者に取得させた場合において、前記第２の所有者による許可を条件に、前記第３の排他アクセス権を前記第２の所有者に返却して前記第２の排他アクセス権を前記第２の所有者に取得させる
請求項７に記載のシステム。
【請求項９】
前記データベースは、複数のデータのそれぞれをノードとし、前記複数のデータの間に定められた階層関係をエッジとして表した木構造をなし、
前記第１の部分データは、前記木構造の中の第１の部分木であり、前記第２の部分データは、前記第１の部分木に含まれる第２の部分木であり、
前記委譲部は、前記第１の部分木に含まれる複数の部分木の中から前記第２の部分木を選択して、前記第２の部分木についての前記第２の排他アクセス権の所有者を前記第１の所有者から前記第２の所有者に変更し、
前記アクセス制御部は、前記第１の部分木であっても前記第２の部分木に含まれるデータについては、前記第１の所有者によるアクセスを禁止して前記第２の所有者によるアクセスを許可する
請求項１に記載のシステム。
【請求項１０】
前記管理部は、少なくとも１つの部分木のルートノードの識別情報に対応付けて、当該部分木についての排他アクセス権の所有者を管理し、
前記委譲部は、前記第２の部分木のルートノードの識別情報を前記第２の所有者に対応付けて前記管理部に管理させることにより、前記第２の排他アクセス権の所有者を前記第１の所有者から前記第２の所有者に変更し、
前記アクセス制御部は、データのアクセス要求に応じ、当該データから前記木構造を遡って走査することにより、前記管理部によって管理されたルートノードを検出し、最初に検出されたルートノードに対応する所有者によるアクセスを許可する
請求項９に記載のシステム。
【請求項１１】
前記データベースは、XML(eXtensible Markup Language)によって記述されたXML文書であり、
前記第１の部分木は、第１の開始タグから前記第１の開始タグに対応する第１の終了タグまでの間に記述されたデータであり、
前記第２の部分木は、前記第１の開始タグから前記第１の開始タグまでの間に記述された第２の開始タグから第２の終了タグまでの間に記述されたデータであり、
前記管理部は、XML文書のルートノードからそれぞれの部分木のルートノードまでのパス情報に対応付けて、当該パス情報によって指定された開始タグから終了タグまでの間に記述されたデータの排他アクセス権の所有者を管理する
請求項１０に記載のシステム。
【請求項１２】
データベースに対するアクセスを制御するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記データベースに含まれる少なくとも１つの部分データのそれぞれについて、当該部分データの排他アクセス権の所有者を管理する管理部と、
第１の所有者が第１の部分データについて所有する第１の排他アクセス権の一部を委譲するべく、前記第１の部分データの一部である第２の部分データについての第２の排他アクセス権の所有者を前記第１の所有者から第２の所有者に変更する委譲部と、
前記第１の排他アクセス権の委譲を条件に、前記第２の部分データについて前記第１の所有者によるアクセスを禁止して前記第２の所有者によるアクセスを許可するアクセス制御部と
して機能させるプログラム。
【請求項１３】
データベースに対するアクセスを制御する方法であって、
情報処理装置によって、
前記データベースに含まれる少なくとも１つの部分データのそれぞれについて、当該部分データの排他アクセス権の所有者を管理するステップと、
第１の所有者が第１の部分データについて所有する第１の排他アクセス権の一部を委譲するべく、前記第１の部分データの一部である第２の部分データについての第２の排他アクセス権の所有者を前記第１の所有者から第２の所有者に変更するステップと、
前記第１の排他アクセス権の委譲を条件に、前記第２の部分データについて前記第１の所有者によるアクセスを禁止して前記第２の所有者によるアクセスを許可するステップと  を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに対するアクセスを制御するシステムに関する。特に、本発明は、競合するアクセスを調停することによってデータベースの整合を維持するシステムに関する。
【背景技術】
【０００２】
従来、各種のデータを構造的かつ統一的に管理する目的で、XML(eXtensible Markup Language)が用いられている。XML文書では、開始タグと終了タグとの間にデータが記述される。この開始タグと終了タグとの間には更に別の開始タグと終了タグとが記述される場合もある。利用者は、XML文書にこのような入れ子状のタグを記述することで、複数のデータの間に階層関係を定めることができる。
【０００３】
１つのXML文書によって管理されるデータが膨大な場合には、複数の利用者のそれぞれがそのXML文書を並行して編集する必要が生じる場合がある。例えば、新聞の紙面データを管理するXML文書について、その新聞に含まれる広告欄と、その新聞に含まれるコラム欄とを、異なる複数の編集者によって並行して編集させたい場合がある。このような場合には、ある編集者によって編集中のデータが他の編集者によって上書きされないように管理することが望ましい。従来、これらの編集者は作業前に話し合い、どの部分を編集すべきかを決めることで、このような管理を実現していた。
【０００４】
また、ある編集者によって編集されたデータは、他の編集者によって編集されたデータと整合していることが望ましい。例えば、ある内容のコラム欄の近くには、その内容に整合させるべく、その内容に関連する広告を掲載することが望ましい。このため、従来、編集者は、作業前や作業中に互いに話し合い、誰がどのデータをどのように編集するかを決めていた。
【０００５】
しかしながら、以上のような話し合いには手間や時間がかかってしまって作業効率を低下させてしまう場合がある。このような課題の解決に関連する技術を以下に挙げる。
まず、オペレーティングシステムのファイルシステムは、ある利用者があるファイルを編集中に他の利用者がそのファイルを編集できないように管理する。これにより、複数の利用者によるアクセスの競合をファイル単位で自動的に調停し、編集内容が失われることを防止できる。
【０００６】
また、従来、文書などのデータの一部を、利用者の操作に応じて、一時的に特定のクライアント装置によってのみアクセス可能にしたり、複数のクライアント装置によってアクセス可能にしたりすることを可能とする技術が提案されている（特許文献１を参照。）。  また、従来、ＳＧＭＬ形式の文書に対する共同編集を支援するシステムが提案されている（特許文献２を参照。）。このシステムは、文書の一部を変更する場合にその変更が文書全体の整合を妨げないことを確かめるための文書型定義（DTD）を自動的に生成する。この文書型定義は、変更の対象となる文書の一部のみに対して適用可能なものである。そして、編集者は、その文書型定義に従う範囲内で、当該文書の一部を変更する。このシステムによれば、文書全体の整合判断を行うことなく、文書の一部が文書全体の整合を妨げないか否かを判断できる。
【０００７】
【特許文献１】特開２００１−３１８８１８号公報
【特許文献２】特開１０−１４３５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記のファイルシステムは、ファイル毎の排他制御を行うことはできても、ファイルの一部について排他制御を行うことはできない。即ち、ファイルシステムは、XML文書全体に対する排他アクセス権を設定することはできるが、その一部についてのみ排他アクセス権を設定することはできない。なお、ファイルシステムの仕組みを応用して、XML文書の一部について排他アクセス権を設定することも考えられるが、排他アクセス権の所有者がXML文書の一部を自由に編集してしまうと、XML文書全体の整合を維持することはできなくなってしまう。これを防ぐために、階層化されたデータの一部に排他アクセス権を設定した場合に、当該データの一部に関連する全てのデータを編集不能に制御する応用技術も考えられる。しかしながら、この応用技術では、編集不能な範囲が広すぎてしまって作業効率が低下する恐れがある。
【０００９】
また、上述の特許文献１の技術によっても、データの一部をアクセス可能にしたりアクセス不能にしたりする制御をXML文書に応用できると考えられるものの、XML文書全体の整合を維持するためには従来通り利用者同士の相談が必要となる。また、上述の特許文献２の技術によれば、文書の一部のみを編集した場合であっても文書全体の構造を変更させないことができる。しかしながら、この技術によっては、文書の内容の整合までは維持することはできない。また、この特許文献２には、排他アクセス権の設定については記載されていない。即ちこれらの技術を応用しても、アクセスの調停や整合の維持には利用者同士の相談が必要となる。
【００１０】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の形態においては、データベースに対するアクセスを制御するシステムであって、データベースに含まれる少なくとも１つの部分データのそれぞれについて、当該部分データの排他アクセス権の所有者を管理する管理部と、第１の所有者が第１の部分データについて所有する第１の排他アクセス権の一部を委譲するべく、第１の部分データの一部である第２の部分データについての第２の排他アクセス権の所有者を第１の所有者から第２の所有者に変更する委譲部と、第１の排他アクセス権の委譲を条件に、第２の部分データについて第１の所有者によるアクセスを禁止して第２の所有者によるアクセスを許可するアクセス制御部とを備えるシステムを提供する。本発明の他の形態においては、当該システムとして情報処理装置を機能させるプログラム、および、当該システムによってアクセスを制御する方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１２】
本発明によれば、複数の利用者によるデータベースに対するアクセスの競合を、これまでより効率的に調停することができる。
【発明を実施するための最良の形態】
【００１３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、本実施形態に係る情報処理システム１０の全体構成を示す。情報処理システム１０は、利用者端末１５−１〜Ｎと、ＸＭＬ文書ＤＢ２０と、利用者管理ＤＢ２５と、アクセス制御装置４０とを備える。利用者端末１５−１〜Ｎのそれぞれは、複数の利用者のそれぞれに対応して設けられており、アクセス制御装置４０と通信することによってＸＭＬ文書ＤＢ２０にアクセスする。即ち、それぞれの利用者は、利用者端末１５−１〜Ｎのそれぞれを操作することによってＸＭＬ文書ＤＢ２０中のＸＭＬ文書を参照し編集する。利用者管理ＤＢ２５は、ＸＭＬ文書やその一部について、それぞれの利用者によるアクセスが許可されているか否かを示す情報を記憶する。
【００１５】
アクセス制御装置４０は、利用者端末１５−１〜Ｎから受けた要求に基づいてＸＭＬ文書ＤＢ２０にアクセスする。具体的には、アクセス制御装置４０は、利用者管理ＤＢ２５に記憶された情報によってアクセスの許可された利用者からの要求は受け入れ、ＸＭＬ文書ＤＢ２０をアクセスする。一方で、アクセス制御装置４０は、利用者管理ＤＢ２５に記憶された情報によってアクセスの許可されていない利用者からの要求は拒否する。また、アクセス制御装置４０は、排他アクセス権ＤＢ４５を有している。アクセス制御装置４０は、利用者端末１５−１〜Ｎから受けた要求に基づいて、ＸＭＬ文書の全体またはその一部について、他の利用者からのアクセスを受けずに排他的なアクセスを可能とする排他アクセス権を設定する。設定された排他アクセス権に関する情報は排他アクセス権ＤＢ４５に記憶されて管理される。
【００１６】
本実施形態に係るアクセス制御装置４０は、排他アクセス権の設定や取り消しのみならず、既に設定された排他アクセス権の一部を他の利用者に委譲したり、委譲された排他アクセス権を返却したりする制御を可能とする。これにより、排他アクセス権の制御をこれまでより柔軟に行うことができ、複数の利用者による単一ファイルの編集の効率を向上することができる。
【００１７】
なお、「ある利用者がある排他アクセス権を取得する」とは、「アクセス制御装置４０がその利用者に対して排他アクセス権を設定すること」をいう。また、「その利用者がその排他アクセス権を解放する」とは、「アクセス制御装置４０がその利用者に対する排他アクセス権の設定を取り消すこと」をいう。以降、説明の都合により、これら双方の記載を用いる。
【００１８】
図２は、ＸＭＬ文書ＤＢ２０に記憶されたＸＭＬ文書の一例を示す。図３は、ＸＭＬ文書ＤＢ２０に記憶されたＸＭＬ文書の構造の概念図である。このXML文書は、本発明に係るデータベースの一例であり、XML(eXtensible Markup Language)によって記述されている。そして、このXML文書は、複数の部分データを有する。また、XML文書は、複数の部分データのそれぞれをノードとしこれら複数の部分データの間に定められた階層関係をエッジとして表した木構造をなす。
【００１９】
図２ではこの階層関係をタグのインデント（字下げ）で表し、図３ではその階層段階を矢印で表している。具体的には、第１の開始タグである<newspaper>および第１の終了タグである</newspaper>は第１階層に対応する。また、第２の開始タグである<page2>および第２の終了タグである</page2>は第２階層に対応する。また、第３の開始タグである<column>および第３の終了タグである</column>は第３階層に対応する。
【００２０】
より詳細には、<newspaper>から</newspaper>までの間に記述された第１の部分データは、第１の部分木をなし、<page2>から</page2>までの間に記述された第２の部分データは、第１の部分木に含まれる第２の部分木をなす。更に、<column>から</column>までの間に記述された第３の部分データは、第２の部分木に含まれる第３の部分木をなす。第１の部分木のルートノードが、<newpaper>というタグであり、リーフノードが、<column>、<advertisement>および<article>のそれぞれのタグである。
【００２１】
このXML文書は、新聞の紙面を表しており、この新聞が３ページで構成されることを示している。また、第２ページには、コラム欄と広告欄と記事欄とが含まれている。第１ページと第２ページとは別の編集者によって管理される場合があるものとする。また、広告欄とコラム欄とは別の編集者によって編集される場合があるものとする。このような場合に、紙面全体の整合を維持し、なおかつ他の編集者の編集内容を上書きしてしまわないように排他制御を行うことがアクセス制御装置４０の目的である。
【００２２】
図４は、排他アクセス権ＤＢ４５のデータ構造の一例を示す。排他アクセス権ＤＢ４５は、XML文書に対して設定された排他アクセス権をその所有者に対応付けて記憶している。排他アクセスの対象は、XML文書のルートノードからそれぞれの部分木のルートノードまでの識別情報として記憶されている。具体的には、ルートノードの識別情報は、/newspaperというパス情報であり、<newspaper>をルートノードとした部分木を表す。即ち、このパス情報は、開始タグ<newspaper>から終了タグ</newspaper>までの間に記述された第１の部分データを表す。
【００２３】
排他アクセス権ＤＢ４５は、このパス情報に対応付けて、所有者の識別情報を記憶している。所有者の識別情報は、例えば、所有者がアクセス制御装置４０にログインするためのログインＩＤであってもよいし、所有者の電子メールアドレスであってもよい。
図４において、第１の部分木の排他アクセス権を所有する第１の所有者が、第１の部分木に含まれる第２の部分木の排他アクセス権を所有する第２の所有者と異なる場合には、第２の部分木の排他アクセス権は第２の所有者によって所有されているとして管理される。即ち、アクセス制御装置４０は、あるデータに対するアクセスが要求された場合に、そのデータを含む最も小さい（即ちルートノードが最も低階層の）部分木の所有者を排他アクセス権ＤＢ４５から検索して、その所有者からのアクセスのみを許可する。
【００２４】
図５は、アクセス制御装置４０の機能構成を示す。アクセス制御装置４０は、上述の排他アクセス権ＤＢ４５の他、管理部４００と、委譲部４１０と、アクセス制御部４２０と、返却部４３０と、解放制御部４４０とを有する。管理部４００は、ＸＭＬ文書ＤＢ２０に含まれる少なくとも１つの部分データのそれぞれについて、その部分データの排他アクセス権の所有者を管理する。部分データとは、階層構造で管理されたデータベースの例では部分木に相当し、XML文書の例では開始タグから終了タグまでの間に記述されたデータに相当する。既に述べたように、管理部４００は、部分木のルートノードをパス情報として表し、当該部分木についての排他アクセス権の所有者をこのパス情報に対応付けて管理してもよい。更に、管理部４００は、利用者端末１５−１〜Ｎから受けた要求に応じ、排他アクセス権を設定し、設定の内容を排他アクセス権ＤＢ４５に記憶させてもよい。
【００２５】
委譲部４１０は、利用者端末１５−１〜Ｎから受けた要求に応じ、第１の所有者が第１の部分データについて所有する第１の排他アクセス権の一部を委譲する。具体的には、委譲部４１０は、第１の部分データの一部である第２の部分データについての第２の排他アクセス権の所有者を第１の所有者から第２の所有者に変更する。図４を例に採れば、第１の所有者がＡＡＡであり、第１の部分データが<newspaper>タグから</newspaper>タグまでの間に記述されたデータである。この例では、委譲部４１０は、第２の部分データである/newspaper/page2について第２の所有者であるＢＢＢに対し第２の排他アクセス権を設定することにより、第１の排他アクセス権の一部を委譲する。
【００２６】
アクセス制御部４２０は、第１の排他アクセス権の委譲を条件に、第２の部分データについて第１の所有者によるアクセスを禁止して第２の所有者によるアクセスを許可する。即ち、/newspaper/page2についての排他アクセス権が設定されたことを条件に、アクセス制御部４２０は、第１の所有者であるＡＡＡによる部分木/newspaper/page2に対するアクセスを禁止する。返却部４３０は、利用者端末１５−１〜Ｎから受けた要求に応じ、第２の排他アクセス権を第１の所有者に返却するべく、第２の排他アクセス権の所有者を第２の所有者から第１の所有者に変更する。図４を例に採れば、返却部４３０は、部分木/newspaper/page2についての排他アクセス権の所有者をＢＢＢからＡＡＡに変更してもよい。これに代えて、返却部４３０は、部分木/newspaper/page2についての排他アクセス権を削除することによって、当該排他アクセス権の所有者を変更してもよい。
【００２７】
解放制御部４４０は、利用者端末１５−１〜Ｎからの要求に応じ、排他アクセス権についてのエントリを排他アクセス権ＤＢ４５から消去することによってその排他アクセス権を解放する。第１の排他アクセス権の一部が第２の排他アクセス権として他の所有者に委譲されている場合には、解放制御部４４０は、当該第２の排他アクセス権の返却を条件に第１の排他アクセス権の解放を許可する。
【００２８】
図６は、排他アクセス権の取得・解放、および、ＤＢアクセス制御のフローチャートを示す。アクセス制御装置４０は、例えば定期的に以下の処理を繰り返す。まず、アクセス制御装置４０は、排他アクセス権の取得に関する制御を行う（Ｓ６００）。次に、アクセス制御装置４０は、排他アクセス権の委譲に関する制御を行う（Ｓ６１０）。次に、アクセス制御装置４０は、委譲された排他アクセス権の返却に関する制御を行う（Ｓ６２０）。次に、アクセス制御装置４０は、排他アクセス権の解放に関する制御を行う（Ｓ６３０）。
【００２９】
次に、アクセス制御部４２０は、利用者からのＸＭＬ文書ＤＢ２０に対するアクセスに対し、取得されている排他アクセス権に基づいてアクセスの許否を判断する（Ｓ６４０）。詳細には、アクセス制御部４２０は、データのアクセス要求に応じ、そのデータから木構造を遡って走査することにより、管理部４００によって管理されたルートノードを検出し、最初に検出されたルートノードに対応する所有者によるアクセスを許可する。排他アクセス権ＤＢ４５を例に採れば、アクセス制御部４２０は、コラム欄のアクセス要求に応じ、コラム欄から木構造を遡って走査することにより、/newspaper/page2/columnと、/newspaper/page2と、/newspaperとを部分木のルートノードとして検出する。そして、アクセス制御部４２０は、これらのうち最初に検出された/newspaper/page2/columnに対応するXXXによるアクセスを許可し、それ以外のBBBなどによるアクセスを拒否する。これにより、第２の排他アクセス権が委譲された場合には、アクセス制御部４２０は、第１の部分木であっても第２の部分木に含まれるデータについては、第１の所有者によるアクセスを禁止して第２の所有者によるアクセスを許可することができる。また、アクセス制御部４２０は、第３の排他アクセス権が委譲された場合には、第２の部分木について第２の所有者によるアクセスを禁止して第３の所有者によるアクセスを許可することができる。
【００３０】
図７は、Ｓ６００の処理の詳細を示す。管理部４００は、排他アクセス権の取得の要求を利用者端末１５−１〜Ｎから受けたか否か判断する（Ｓ７００）。当該要求を受けて（Ｓ７００：ＹＥＳ）、管理部４００は、利用者管理ＤＢ２５を参照して、取得を要求した利用者による、要求の対象となる部分データ（第１の部分データとする）に対するアクセスが許可されているか否かを判断する（Ｓ７１０）。アクセスが許可されていることを条件に（Ｓ７１０：ＹＥＳ）、管理部４００は、その利用者に排他アクセス権を取得させる（Ｓ７２０）。即ち、管理部４００は、第１の部分データについての第１の排他アクセス権を新たに設定し、その所有者（第１の所有者とする）を排他アクセス権ＤＢ４５に登録する。
【００３１】
図８は、Ｓ６１０の処理の詳細を示す。委譲部４１０は、排他アクセス権（例えば第１の排他アクセス権）の委譲の要求を利用者端末１５−１〜Ｎから受けたか否かを判断する（Ｓ８００）。この委譲の要求は、委譲により排他アクセス権を与える利用者（例えば、第１の所有者）から発せられてもよいし、委譲により排他アクセス権の提供を受ける利用者（第２の所有者とする）から発せられてもよい。当該要求を受けて（Ｓ８００：ＹＥＳ）、委譲部４１０は、要求の対象となる部分データ（第２の部分データとする）に対するアクセスが第２の所有者に許可されているか否かを判断する（Ｓ８１０）。また、委譲部４１０は、第１の所有者による委譲の許可の入力を受けたか否かを判断する（Ｓ８２０）。
【００３２】
委譲部４１０は、第２の部分データに対するアクセスが第２の所有者に許可されており（Ｓ８１０：ＹＥＳ）、かつ、第１の所有者の許可の入力を受けたこと（Ｓ８２０：ＹＥＳ）を条件に、排他アクセス権を委譲する（Ｓ８３０）。詳細には、委譲部４１０は、第１の部分データである第１の部分木に含まれる複数の部分木の中から第２の部分データである第２の部分木を選択する。そして、委譲部４１０は、第２の部分木についての第２の排他アクセス権の所有者を第１の所有者から第２の所有者に変更する。所有者変更の処理としては、例えば、委譲部４１０は、第２の部分木のルートノードの識別情報を第２の所有者に対応付けて管理部４００に管理させ、排他アクセス権ＤＢ４５に記録させてもよい。
【００３３】
図９は、Ｓ６２０の処理の詳細を示す。返却部４３０は、排他アクセス権（例えば第２の排他アクセス権）の返却の要求を利用者端末１５−１〜Ｎから受けたか否かを判断する（Ｓ９００）。この返却の要求は、返却により排他アクセス権を与える利用者（例えば、第２の所有者）から発せられてもよいし、委譲により排他アクセス権の提供を受ける利用者（例えば、第１の所有者）から発せられてもよい。当該要求を受けて（Ｓ９００：ＹＥＳ）、返却部４３０は、例えば排他アクセス権ＤＢ４５を参照して、第２の排他アクセス権から更に委譲された排他アクセス権（第３の排他アクセス権とする）が全て返却済みか否かを判断する（Ｓ９０５）。
【００３４】
第３の排他アクセス権が返却済みであることを条件に（Ｓ９０５：ＹＥＳ）、返却部４３０は、排他アクセス権の委譲主（即ち第１の所有者）の許可の入力を受けたか否かを判断する（Ｓ９１０）。第１の所有者による返却の許可を条件に（Ｓ９１０：ＹＥＳ）、返却部４３０は、第２の所有者による第２の部分データの変更を第１の部分データに反映させる（Ｓ９２０）。そして、返却部４３０は、第２の排他アクセス権の所有者を第２の所有者から第１の所有者に変更する（Ｓ９３０）。
【００３５】
Ｓ９１０において、返却に誰の許可が必要であるかの判断は、例えば、排他アクセス権ＤＢ４５を参照することによって実現される。例えば、まず、返却部４３０は、返却の対象となる排他アクセス権を排他アクセス権ＤＢ４５から検索する。次に、返却部４３０は、検索された排他アクセス権の対象となっている部分データ（図４の例では部分木）を包含する最も小さい部分データを排他アクセス権ＤＢ４５から検索する。図４の例で、/newspaper/page2によって指定される部分データの排他アクセス権が返却の対象であれば、その部分データを包含する部分データ（例えば/newspaperによって指定される部分データ）が検索される。そして、返却部４３０は、検索されたその部分データについて設定された排他アクセス権の所有者を、返却の許否を判断する所有者として判断する。即ち、返却部４３０は、この所有者による許可の入力を受けたか否かをＳ９１０において判断する。
【００３６】
一方で、第３の排他アクセス権が返却済みではなく（Ｓ９０５：ＮＯ）、または、第１の所有者が許可しない場合には（Ｓ９１０：ＮＯ）、返却部４３０は、第２の排他アクセス権の所有者を変更しない（Ｓ９４０）。即ち、返却部４３０は、第２の所有者による第２の部分データの変更を第１の部分データに反映させずに、第２の排他アクセス権を第２の所有者によって所有させたまま維持する。この場合には、返却部４３０は、第２の部分データを第１の部分データに整合させるために第２の部分データを修正すべき指示を第２の所有者に送信してもよい（Ｓ９５０）。
【００３７】
図１０は、Ｓ６３０の処理の詳細を示す。解放制御部４４０は、排他アクセス権（例えば第１の排他アクセス権）の解放の要求を利用者端末１５−１〜Ｎから受けたか否かを判断する（Ｓ１０００）。解放の要求に応じ（Ｓ１０００：ＹＥＳ）、解放制御部４４０は、第１の排他アクセス権から委譲された全ての排他アクセス権（例えば第２の排他アクセス権）が返却済みか否かを判断する（Ｓ１０１０）。第２の排他アクセス権が返却済みであることを条件に（Ｓ１０１０：ＹＥＳ）、解放制御部４４０は、第１の排他アクセス権の解放を許可する（Ｓ１０２０）。一方で、第２の排他アクセス権が返却済みでなければ（Ｓ１０１０：ＮＯ）、解放制御部４４０は、第１の排他アクセス権を解放せずに維持する（Ｓ１０３０）。
【００３８】
図１１は、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。図１１には左側から順に、第１の利用者ＡＡＡの指示による処理、第２の利用者ＢＢＢの指示による処理、および、第３の利用者ＸＸＸの指示による処理の流れを示す。利用者ＡＡＡは、例えば、新聞の紙面全体の編集・管理を行う者である。また、利用者ＢＢＢは、新聞の第２ページの編集・管理を行う者である。また、利用者ＣＣＣは、第２ページのコラム欄の編集・管理を行う者である。
【００３９】
利用者ＡＡＡの操作に応じ、管理部４００は、第１の開始タグである<newspaper>および第１の終了タグである</newspaper>をXML文書中に作成し、これらのタグの間に記述する第１の部分データについての第１の排他アクセス権を取得させる（Ｓ１１００）。続いて、委譲部４１０は、<newspaper>から</newspaper>までの間に第２の開始タグ<page2>および第２の終了タグ</page2>を生成し、これらのタグの間に記述する第２の部分データについての第２の排他アクセス権を利用者ＢＢＢに委譲する（Ｓ１１１０）。これと並行して、アクセス制御装置４０は、利用者ＡＡＡの指示に基づき、<newspaper>から</newspaper>までの間に記述された部分データのうち、<page2>から</page2>までの間を除いた他の部分を編集してもよい。
【００４０】
アクセス制御装置４０は、第２の排他アクセス権の委譲を条件に、利用者ＢＢＢの指示に基づき、<page2>から</page2>までの間に記述する第２の部分データを作成・編集する（Ｓ１１２０）。即ち例えば、利用者ＢＢＢは、新聞の第２ページのレイアウトを決定したり、第２ページ中の文章を作成してもよい。続いて、委譲部４１０は、<page2>から</page2>までの間に第３の開始タグ<column>および第３の終了タグ</column>を生成する。そして、委譲部４１０は、これらのタグの間に記述する第３の部分データについての第３の排他アクセス権を利用者ＸＸＸに委譲するべく、第２の部分データに含まれる第３の部分データについての第３の排他アクセス権の所有者を、利用者ＢＢＢから利用者ＸＸＸに変更する（Ｓ１１３０）。この委譲の処理は、利用者ＢＢＢによる許可が条件となる。この委譲の処理と並行して、アクセス制御装置４０は、利用者ＢＢＢの指示に応じ、第２のページのうちコラム欄以外の部分の編集を進めてもよい。
【００４１】
アクセス制御装置４０は、利用者ＸＸＸの指示に基づき、コラム欄の内容を作成・編集する（Ｓ１１４０）。続いて、アクセス制御装置４０は、利用者ＸＸＸから、第３の排他アクセス権の返却の要求を受ける（Ｓ１１５０）。返却部４３０は、利用者ＢＢＢによる返却の許可を条件に（Ｓ１１６０：許可）、利用者ＸＸＸによる第３の部分データの変更を第２の部分データに反映させて、第３の排他アクセス権の所有者を利用者ＸＸＸから利用者ＢＢＢに変更する。一方で、利用者ＢＢＢによる拒否を条件に（Ｓ１１６０：拒否）、返却部４３０は、利用者ＸＸＸによる第３の部分データの変更を第２の部分データに反映させずに、第３の排他アクセス権を維持する。即ち、第３の排他アクセス権が委譲された状態（Ｓ１１３０の処理直後の状態）に戻る。
【００４２】
第３の排他アクセス権が返却された場合には、続いて、アクセス制御装置４０は、第２の排他アクセス権の返却の要求を利用者ＢＢＢから受ける（Ｓ１１７０）。返却部４３０は、第３の排他アクセス権の返却、および、利用者ＡＡＡの許可を条件に（Ｓ１１８０：許可）、第２の排他アクセス権の所有者を利用者ＢＢＢから利用者ＡＡＡに変更する。返却部４３０は、利用者ＡＡＡの拒否を条件に（Ｓ１１８０：拒否）、利用者ＢＢＢによる第２の部分データに対する変更を第１の部分データに反映させずに第２の排他アクセス権を維持する。即ち、第２の排他アクセス権が委譲された状態（Ｓ１１１０の処理直後の状態）に戻る。解放制御部４４０は、第３の排他アクセス権および第２の排他アクセス権がこの順に順次返却されたことを条件に、第１の排他アクセス権の解放を許可する（Ｓ１１９０）。
【００４３】
以上、図１から図１１を参照して説明したように、アクセス制御装置４０によれば、XML文書の一部について排他アクセス権の設定を可能とすることができる。更に、排他アクセス権の委譲および委譲された排他アクセス権の返却を可能とすることにより、排他アクセス権の制御をこれまでより柔軟に行うことができ、複数の利用者による単一ファイルの編集の効率を向上することができる。また、アクセス制御装置４０は、排他アクセス権の返却・解放のためには、その排他アクセス権から委譲した他の排他アクセス権の返却を条件とする。更にこの返却には、当該排他アクセス権から当該他の排他アクセス権を委譲した委譲者の許可を要する。これにより、委譲者は返却時にデータの整合をチェックすることができ、XML文書全体の整合を維持し易くすることができる。
【００４４】
続いて、図１２から図１４を参照して本実施形態の変形例を説明する。当該変形例は、上述の排他アクセス権の返却条件を緩和することで、排他アクセス権の委譲に関し更に柔軟な制御を可能とすることを目的とする。なお、当該変形例におけるアクセス制御装置４０は、図１から図１１を参照した説明したアクセス制御装置４０と略同一であるので、以下、相違点を除き説明を省略する。
【００４５】
図１２は、本実施形態の変形例について、Ｓ６２０の処理の詳細を示す。返却部４３０は、排他アクセス権（例えば第２の排他アクセス権）の返却の要求を利用者端末１５−１〜Ｎから受けたか否かを判断する（Ｓ１２００）。当該要求を受けて（Ｓ１２００：ＹＥＳ）、返却部４３０は、排他アクセス権の委譲主（即ち第１の所有者）の許可の入力を受けたか否かを判断する（Ｓ１２１０）。この際、図９の処理とは異なり、返却部４３０は、第２の排他アクセス権から更に委譲された排他アクセス権（第３の排他アクセス権とする）が全て返却済みか否かを判断しない。この部分の判断が省略されていることにより、上述の実施形態と比較し得排他アクセス権の返却条件が緩和されている。
【００４６】
第１の所有者による返却の許可を条件に（Ｓ１２１０：ＹＥＳ）、返却部４３０は、第２の所有者による第２の部分データの変更を第１の部分データに反映させる（Ｓ１２２０）。そして、返却部４３０は、第２の排他アクセス権の所有者を第２の所有者から第１の所有者に変更する（Ｓ１２３０）。一方で、第１の所有者が許可しない場合には（Ｓ１２１０：ＮＯ）、返却部４３０は、第２の排他アクセス権の所有者を変更しない（Ｓ１２４０）。即ち、返却部４３０は、第２の所有者による第２の部分データの変更を第１の部分データに反映させずに、第２の排他アクセス権を第２の所有者によって所有させたまま維持する。この場合には、返却部４３０は、第２の部分データを第１の部分データに整合させるために第２の部分データを修正すべき指示を第１の所有者に送信してもよい（Ｓ１２５０）。
【００４７】
図１３は、本実施形態の変形例において、ある排他アクセス権から委譲した他の排他アクセス権が返却される前に当該排他アクセス権を返却する処理の流れを示す。図１１と同様に、左側から順に、第１の利用者ＡＡＡの指示による処理、第２の利用者ＢＢＢの指示による処理、および、第３の利用者ＸＸＸの指示による処理の流れを示す。利用者ＡＡＡは、例えば、新聞の紙面全体の編集・管理を行う者である。また、利用者ＢＢＢは、新聞の第２ページの編集・管理を行う者である。また、利用者ＣＣＣは、第２ページのコラム欄の編集・管理を行う者である。
【００４８】
利用者ＡＡＡの操作に応じ、管理部４００は、第１の開始タグである<newspaper>および第１の終了タグである</newspaper>をXML文書中に作成し、これらのタグの間に記述する第１の部分データについての第１の排他アクセス権を取得させる（Ｓ１３００）。続いて、委譲部４１０は、<newspaper>から</newspaper>までの間に第２の開始タグ<page2>および第２の終了タグ</page2>を生成し、これらのタグの間に記述する第２の部分データについての第２の排他アクセス権を利用者ＢＢＢに委譲する（Ｓ１３１０）。これと並行して、アクセス制御装置４０は、利用者ＡＡＡの指示に基づき、<newspaper>から</newspaper>までの間に記述された部分データのうち、<page2>から</page2>までの間を除いた他の部分を編集してもよい。
【００４９】
アクセス制御装置４０は、第２の排他アクセス権の委譲を条件に、利用者ＢＢＢの指示に基づき、<page2>から</page2>までの間に記述する第２の部分データを作成・編集する（Ｓ１３２０））。即ち例えば、利用者ＢＢＢは、新聞の第２ページのレイアウトを決定したり、第２ページ中の文章を作成してもよい。続いて、委譲部４１０は、<page2>から</page2>までの間に第３の開始タグ<column>および第３の終了タグ</column>を生成する。そして、委譲部４１０は、これらのタグの間に記述する第３の部分データについての第３の排他アクセス権を利用者ＸＸＸに委譲するべく、第２の部分データに含まれる第３の部分データについての第３の排他アクセス権の所有者を、利用者ＢＢＢから利用者ＸＸＸに変更する（Ｓ１３３０）。この委譲の処理は、利用者ＢＢＢによる許可が条件となる。この委譲の処理と並行して、アクセス制御装置４０は、利用者ＢＢＢの指示に応じ、第２のページのうちコラム欄以外の部分の編集を進めてもよい。
【００５０】
アクセス制御装置４０は、利用者ＸＸＸの指示に基づき、コラム欄の内容を作成・編集する（Ｓ１３４０）。一方で、アクセス制御装置４０は、アクセス制御装置４０は、第２の排他アクセス権の返却の要求を利用者ＢＢＢから受ける（Ｓ１３５０）。返却部４３０は、利用者ＡＡＡの許可を条件に（Ｓ１３６０：許可）、第２の排他アクセス権の所有者を利用者ＢＢＢから利用者ＡＡＡに変更する。このように、本変形例においては、第３の排他アクセス権の返却に先立って第２の排他アクセス権が返却され得る。この状態において、アクセス制御部４２０は、第２の部分データのうち第３の部分データを除外した部分について利用者ＡＡＡによるアクセスを許可する。一方で、返却部４３０は、利用者ＡＡＡの拒否を条件に（Ｓ１３６０：拒否）、利用者ＢＢＢによる第２の部分データに対する変更を第１の部分データに反映させずに第２の排他アクセス権を維持する。即ち、第２の排他アクセス権が委譲された状態（Ｓ１３１０の処理直後の状態）に戻る。
【００５１】
続いて、アクセス制御装置４０は、利用者ＸＸＸから、第３の排他アクセス権の返却の要求を受ける（Ｓ１３７０）。返却部４３０は、利用者ＡＡＡによる返却の許可を条件に（Ｓ１３８０：許可）、利用者ＸＸＸによる第３の部分データの変更を第１の部分データに反映させて、第３の排他アクセス権の所有者を利用者ＸＸＸから利用者ＡＡＡに変更する。このように、本変形例においては、第３の排他アクセス権の返却には第１の所有者による許可を要する。一方で、利用者ＡＡＡによる拒否を条件に（Ｓ１３８０：拒否）、返却部４３０は、利用者ＸＸＸによる第３の部分データの変更を第１の部分データに反映させずに、第３の排他アクセス権を維持する。即ち、第３の排他アクセス権が委譲された状態（Ｓ１３４０の処理直前の状態）に戻る。
【００５２】
解放制御部４４０は、第３の排他アクセス権および第２の排他アクセス権が順序に関わらず返却されたことを条件に、第１の排他アクセス権の解放を許可する（Ｓ１３９５）。
以上、図１３を参照して説明したように、本変形例においては、ある排他アクセス権から委譲した他の排他アクセス権が返却される前に当該排他アクセス権を返却することができる。この場合には、返却先の利用者が当該他の排他アクセス権の返却先となる。これにより、排他アクセス権について一層柔軟な制御を可能とすると共に、データの整合を適切に維持することができる。
【００５３】
図１４は、本実施形態の変形例において、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。図１１と同様に、図１４には左側から順に、第１の利用者ＡＡＡの指示による処理、第２の利用者ＢＢＢの指示による処理、および、第３の利用者ＸＸＸの指示による処理の流れを示す。利用者ＡＡＡは、例えば、新聞の紙面全体の編集・管理を行う者である。また、利用者ＢＢＢは、新聞の第２ページの編集・管理を行う者である。また、利用者ＣＣＣは、第２ページのコラム欄の編集・管理を行う者である。
【００５４】
利用者ＡＡＡの操作に応じ、管理部４００は、第１の開始タグである<newspaper>および第１の終了タグである</newspaper>をXML文書中に作成し、これらのタグの間に記述する第１の部分データについての第１の排他アクセス権を取得させる（Ｓ１４００）。また、管理部４００は、第２の開始タグである<page2>および第２の終了タグである</page2>をXML文書中に生成し、これらのタグの間に記述する第２の部分データについての第２の排他アクセス権を取得させる。
【００５５】
続いて、委譲部４１０は、<page2>から</page2>までの間に第３の開始タグ<column>および第３の終了タグ</column>を生成し、これらのタグの間に記述する第３の部分データについての第３の排他アクセス権を利用者ＸＸＸに委譲する（Ｓ１４１０）。これと並行して、アクセス制御装置４０は、利用者ＡＡＡの指示に基づき、<newspaper>から</newspaper>までの間に記述された部分データのうち、<column>から</column>までの間を除いた他の部分を編集してもよい。アクセス制御装置４０は、第３の排他アクセス権の委譲を条件に、利用者ＸＸＸの指示に基づき、<column>から</column>までの間に記述する第３の部分データを作成・編集する（Ｓ１４２０）。
【００５６】
委譲のように第３の排他アクセス権を利用者ＸＸＸに所有させている状態において、アクセス制御装置４０は、第１の排他アクセス権を更に委譲して、<page2>から</page2>までの間に記述する第２の部分データについての第２の排他アクセス権のうち第３の排他アクセス権を除外した排他アクセス権を生成し、利用者ＢＢＢに取得させる（Ｓ１４３０）。アクセス制御装置４０は、この排他アクセス権の委譲を条件に、利用者ＢＢＢの指示に基づき、第２の部分データのうち<column>から</column>までを除外したデータを作成・編集する（Ｓ１４４０）。
【００５７】
次に、アクセス制御装置４０は、利用者ＸＸＸから、第３の排他アクセス権の返却の要求を受ける（Ｓ１４５０）。返却部４３０は、利用者ＢＢＢによる返却の許可を条件に（Ｓ１４６０：許可）、利用者ＸＸＸによる第３の部分データの変更を第２の部分データに反映させて、第３の排他アクセス権の所有者を利用者ＸＸＸから利用者ＢＢＢに変更する。一方で、利用者ＢＢＢによる拒否を条件に（Ｓ１４６０：拒否）、返却部４３０は、利用者ＸＸＸによる第３の部分データの変更を第２の部分データに反映させずに、第３の排他アクセス権を維持する。即ち、第３の排他アクセス権が委譲された状態（Ｓ１４７０）に戻る。
【００５８】
第３の排他アクセス権が返却された場合には、続いて、アクセス制御装置４０は、第２の排他アクセス権の返却の要求を利用者ＢＢＢから受ける（Ｓ１４８０）。返却部４３０は、利用者ＡＡＡの許可を条件に（Ｓ１４９０：許可）、第２の排他アクセス権の所有者を利用者ＢＢＢから利用者ＡＡＡに変更する。返却部４３０は、利用者ＡＡＡの拒否を条件に（Ｓ１４９０：拒否）、利用者ＢＢＢによる第２の部分データに対する変更を第１の部分データに反映させずに第２の排他アクセス権を維持する。即ち、第２の排他アクセス権が委譲された状態（Ｓ１４３０の処理直後の状態）に戻る。解放制御部４４０は、第３の排他アクセス権および第２の排他アクセス権が順序に関わらず返却されたことを条件に、第１の排他アクセス権の解放を許可する（Ｓ１４９５）。
【００５９】
以上、図１４を参照して説明したように、本変形例によれば、１つの排他アクセス権から複数の排他アクセス権を順次委譲することができ、排他アクセス権について一層柔軟な制御を可能とすることができる。また、この場合であっても、排他アクセス権の返却時には部分データの整合を適切に判断することができる。
【００６０】
図１５は、以上の実施形態または変形例におけるアクセス制御装置４０として機能する情報処理装置５００のハードウェア構成の一例を示す。情報処理装置５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＢＩＯＳ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００６１】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＢＩＯＳ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００６２】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００６３】
また、入出力コントローラ１０８４には、ＢＩＯＳ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＢＩＯＳ１０１０は、情報処理装置５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００６４】
情報処理装置５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置５００にインストールされて実行される。プログラムが情報処理装置５００等に働きかけて行わせる動作は、図１から図１４において説明したアクセス制御装置４０における動作と同一であるから、説明を省略する。
【００６５】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置５００に提供してもよい。
【００６６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００６７】
【図１】図１は、本実施形態に係る情報処理システム１０の全体構成を示す。
【図２】図２は、ＸＭＬ文書ＤＢ２０に記憶されたＸＭＬ文書の一例を示す。
【図３】図３は、ＸＭＬ文書ＤＢ２０に記憶されたＸＭＬ文書の構造の概念図である。
【図４】図４は、排他アクセス権ＤＢ４５のデータ構造の一例を示す。
【図５】図５は、アクセス制御装置４０の機能構成を示す。
【図６】図６は、排他アクセス権の取得・解放、および、ＤＢアクセス制御のフローチャートを示す。
【図７】図７は、Ｓ６００の処理の詳細を示す。
【図８】図８は、Ｓ６１０の処理の詳細を示す。
【図９】図９は、Ｓ６２０の処理の詳細を示す。
【図１０】図１０は、Ｓ６３０の処理の詳細を示す。
【図１１】図１１は、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。
【図１２】図１２は、本実施形態の変形例について、Ｓ６２０の処理の詳細を示す。
【図１３】図１３は、本実施形態の変形例において、ある排他アクセス権から委譲した他の排他アクセス権が返却される前に当該排他アクセス権を返却する処理の流れを示す。
【図１４】図１４は、本実施形態の変形例において、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。
【図１５】図１５は、以上の実施形態または変形例におけるアクセス制御装置４０として機能する情報処理装置５００のハードウェア構成の一例を示す。
【符号の説明】
【００６８】
１０  情報処理システム
１５  利用者端末
２０  ＸＭＬ文書ＤＢ
２５  利用者管理ＤＢ
４０  アクセス制御装置
４５  排他アクセス権ＤＢ
４００  管理部
４１０  委譲部
４２０  アクセス制御部
４３０  返却部
４４０  解放制御部
５００  情報処理装置
【図１】
2007199940.tif 000003
【図２】
2007199940.tif 000004
【図３】
2007199940.tif 000005
【図４】
2007199940.tif 000006
【図５】
2007199940.tif 000007
【図６】
2007199940.tif 000008
【図７】
2007199940.tif 000009
【図８】
2007199940.tif 000010
【図９】
2007199940.tif 000011
【図１０】
2007199940.tif 000012
【図１１】
2007199940.tif 000013
【図１２】
2007199940.tif 000014
【図１３】
2007199940.tif 000015
【図１４】
2007199940.tif 000016
【図１５】
2007199940.tif 000017