JP4172803B2 - データベースに対するアクセスを制御するシステムおよびその方法 - Google Patents

データベースに対するアクセスを制御するシステムおよびその方法 Download PDF

Info

Publication number
JP4172803B2
JP4172803B2 JP2006016734A JP2006016734A JP4172803B2 JP 4172803 B2 JP4172803 B2 JP 4172803B2 JP 2006016734 A JP2006016734 A JP 2006016734A JP 2006016734 A JP2006016734 A JP 2006016734A JP 4172803 B2 JP4172803 B2 JP 4172803B2
Authority
JP
Japan
Prior art keywords
owner
access right
exclusive access
partial data
exclusive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006016734A
Other languages
English (en)
Other versions
JP2007199940A (ja
Inventor
亘 北川
賢治 瀬田
光治 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006016734A priority Critical patent/JP4172803B2/ja
Priority to US11/614,805 priority patent/US20070174284A1/en
Priority to CNB2007100039783A priority patent/CN100489878C/zh
Publication of JP2007199940A publication Critical patent/JP2007199940A/ja
Application granted granted Critical
Publication of JP4172803B2 publication Critical patent/JP4172803B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Description

本発明は、データベースに対するアクセスを制御するシステムに関する。特に、本発明は、競合するアクセスを調停することによってデータベースの整合を維持するシステムに関する。
従来、各種のデータを構造的かつ統一的に管理する目的で、XML(eXtensible Markup Language)が用いられている。XML文書では、開始タグと終了タグとの間にデータが記述される。この開始タグと終了タグとの間には更に別の開始タグと終了タグとが記述される場合もある。利用者は、XML文書にこのような入れ子状のタグを記述することで、複数のデータの間に階層関係を定めることができる。
1つのXML文書によって管理されるデータが膨大な場合には、複数の利用者のそれぞれがそのXML文書を並行して編集する必要が生じる場合がある。例えば、新聞の紙面データを管理するXML文書について、その新聞に含まれる広告欄と、その新聞に含まれるコラム欄とを、異なる複数の編集者によって並行して編集させたい場合がある。このような場合には、ある編集者によって編集中のデータが他の編集者によって上書きされないように管理することが望ましい。従来、これらの編集者は作業前に話し合い、どの部分を編集すべきかを決めることで、このような管理を実現していた。
また、ある編集者によって編集されたデータは、他の編集者によって編集されたデータと整合していることが望ましい。例えば、ある内容のコラム欄の近くには、その内容に整合させるべく、その内容に関連する広告を掲載することが望ましい。このため、従来、編集者は、作業前や作業中に互いに話し合い、誰がどのデータをどのように編集するかを決めていた。
しかしながら、以上のような話し合いには手間や時間がかかってしまって作業効率を低下させてしまう場合がある。このような課題の解決に関連する技術を以下に挙げる。
まず、オペレーティングシステムのファイルシステムは、ある利用者があるファイルを編集中に他の利用者がそのファイルを編集できないように管理する。これにより、複数の利用者によるアクセスの競合をファイル単位で自動的に調停し、編集内容が失われることを防止できる。
また、従来、文書などのデータの一部を、利用者の操作に応じて、一時的に特定のクライアント装置によってのみアクセス可能にしたり、複数のクライアント装置によってアクセス可能にしたりすることを可能とする技術が提案されている(特許文献1を参照。)。 また、従来、SGML形式の文書に対する共同編集を支援するシステムが提案されている(特許文献2を参照。)。このシステムは、文書の一部を変更する場合にその変更が文書全体の整合を妨げないことを確かめるための文書型定義(DTD)を自動的に生成する。この文書型定義は、変更の対象となる文書の一部のみに対して適用可能なものである。そして、編集者は、その文書型定義に従う範囲内で、当該文書の一部を変更する。このシステムによれば、文書全体の整合判断を行うことなく、文書の一部が文書全体の整合を妨げないか否かを判断できる。
特開2001−318818号公報 特開10−143507号公報
しかしながら、上記のファイルシステムは、ファイル毎の排他制御を行うことはできても、ファイルの一部について排他制御を行うことはできない。即ち、ファイルシステムは、XML文書全体に対する排他アクセス権を設定することはできるが、その一部についてのみ排他アクセス権を設定することはできない。なお、ファイルシステムの仕組みを応用して、XML文書の一部について排他アクセス権を設定することも考えられるが、排他アクセス権の所有者がXML文書の一部を自由に編集してしまうと、XML文書全体の整合を維持することはできなくなってしまう。これを防ぐために、階層化されたデータの一部に排他アクセス権を設定した場合に、当該データの一部に関連する全てのデータを編集不能に制御する応用技術も考えられる。しかしながら、この応用技術では、編集不能な範囲が広すぎてしまって作業効率が低下する恐れがある。
また、上述の特許文献1の技術によっても、データの一部をアクセス可能にしたりアクセス不能にしたりする制御をXML文書に応用できると考えられるものの、XML文書全体の整合を維持するためには従来通り利用者同士の相談が必要となる。また、上述の特許文献2の技術によれば、文書の一部のみを編集した場合であっても文書全体の構造を変更させないことができる。しかしながら、この技術によっては、文書の内容の整合までは維持することはできない。また、この特許文献2には、排他アクセス権の設定については記載されていない。即ちこれらの技術を応用しても、アクセスの調停や整合の維持には利用者同士の相談が必要となる。
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、データベースに対するアクセスを制御するシステムであって、データベースに含まれる少なくとも1つの部分データのそれぞれについて、当該部分データの排他アクセス権の所有者を管理する管理部と、第1の所有者が第1の部分データについて所有する第1の排他アクセス権の一部を委譲するべく、第1の部分データの一部である第2の部分データについての第2の排他アクセス権の所有者を第1の所有者から第2の所有者に変更する委譲部と、第1の排他アクセス権の委譲を条件に、第2の部分データについて第1の所有者によるアクセスを禁止して第2の所有者によるアクセスを許可するアクセス制御部とを備えるシステムを提供する。本発明の他の形態においては、当該システムとして情報処理装置を機能させるプログラム、および、当該システムによってアクセスを制御する方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、複数の利用者によるデータベースに対するアクセスの競合を、これまでより効率的に調停することができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報処理システム10の全体構成を示す。情報処理システム10は、利用者端末15−1〜Nと、XML文書DB20と、利用者管理DB25と、アクセス制御装置40とを備える。利用者端末15−1〜Nのそれぞれは、複数の利用者のそれぞれに対応して設けられており、アクセス制御装置40と通信することによってXML文書DB20にアクセスする。即ち、それぞれの利用者は、利用者端末15−1〜Nのそれぞれを操作することによってXML文書DB20中のXML文書を参照し編集する。利用者管理DB25は、XML文書やその一部について、それぞれの利用者によるアクセスが許可されているか否かを示す情報を記憶する。
アクセス制御装置40は、利用者端末15−1〜Nから受けた要求に基づいてXML文書DB20にアクセスする。具体的には、アクセス制御装置40は、利用者管理DB25に記憶された情報によってアクセスの許可された利用者からの要求は受け入れ、XML文書DB20をアクセスする。一方で、アクセス制御装置40は、利用者管理DB25に記憶された情報によってアクセスの許可されていない利用者からの要求は拒否する。また、アクセス制御装置40は、排他アクセス権DB45を有している。アクセス制御装置40は、利用者端末15−1〜Nから受けた要求に基づいて、XML文書の全体またはその一部について、他の利用者からのアクセスを受けずに排他的なアクセスを可能とする排他アクセス権を設定する。設定された排他アクセス権に関する情報は排他アクセス権DB45に記憶されて管理される。
本実施形態に係るアクセス制御装置40は、排他アクセス権の設定や取り消しのみならず、既に設定された排他アクセス権の一部を他の利用者に委譲したり、委譲された排他アクセス権を返却したりする制御を可能とする。これにより、排他アクセス権の制御をこれまでより柔軟に行うことができ、複数の利用者による単一ファイルの編集の効率を向上することができる。
なお、「ある利用者がある排他アクセス権を取得する」とは、「アクセス制御装置40がその利用者に対して排他アクセス権を設定すること」をいう。また、「その利用者がその排他アクセス権を解放する」とは、「アクセス制御装置40がその利用者に対する排他アクセス権の設定を取り消すこと」をいう。以降、説明の都合により、これら双方の記載を用いる。
図2は、XML文書DB20に記憶されたXML文書の一例を示す。図3は、XML文書DB20に記憶されたXML文書の構造の概念図である。このXML文書は、本発明に係るデータベースの一例であり、XML(eXtensible Markup Language)によって記述されている。そして、このXML文書は、複数の部分データを有する。また、XML文書は、複数の部分データのそれぞれをノードとしこれら複数の部分データの間に定められた階層関係をエッジとして表した木構造をなす。
図2ではこの階層関係をタグのインデント(字下げ)で表し、図3ではその階層段階を矢印で表している。具体的には、第1の開始タグである<newspaper>および第1の終了タグである</newspaper>は第1階層に対応する。また、第2の開始タグである<page2>および第2の終了タグである</page2>は第2階層に対応する。また、第3の開始タグである<column>および第3の終了タグである</column>は第3階層に対応する。
より詳細には、<newspaper>から</newspaper>までの間に記述された第1の部分データは、第1の部分木をなし、<page2>から</page2>までの間に記述された第2の部分データは、第1の部分木に含まれる第2の部分木をなす。更に、<column>から</column>までの間に記述された第3の部分データは、第2の部分木に含まれる第3の部分木をなす。第1の部分木のルートノードが、<newpaper>というタグであり、リーフノードが、<column>、<advertisement>および<article>のそれぞれのタグである。
このXML文書は、新聞の紙面を表しており、この新聞が3ページで構成されることを示している。また、第2ページには、コラム欄と広告欄と記事欄とが含まれている。第1ページと第2ページとは別の編集者によって管理される場合があるものとする。また、広告欄とコラム欄とは別の編集者によって編集される場合があるものとする。このような場合に、紙面全体の整合を維持し、なおかつ他の編集者の編集内容を上書きしてしまわないように排他制御を行うことがアクセス制御装置40の目的である。
図4は、排他アクセス権DB45のデータ構造の一例を示す。排他アクセス権DB45は、XML文書に対して設定された排他アクセス権をその所有者に対応付けて記憶している。排他アクセスの対象は、XML文書のルートノードからそれぞれの部分木のルートノードまでの識別情報として記憶されている。具体的には、ルートノードの識別情報は、/newspaperというパス情報であり、<newspaper>をルートノードとした部分木を表す。即ち、このパス情報は、開始タグ<newspaper>から終了タグ</newspaper>までの間に記述された第1の部分データを表す。
排他アクセス権DB45は、このパス情報に対応付けて、所有者の識別情報を記憶している。所有者の識別情報は、例えば、所有者がアクセス制御装置40にログインするためのログインIDであってもよいし、所有者の電子メールアドレスであってもよい。
図4において、第1の部分木の排他アクセス権を所有する第1の所有者が、第1の部分木に含まれる第2の部分木の排他アクセス権を所有する第2の所有者と異なる場合には、第2の部分木の排他アクセス権は第2の所有者によって所有されているとして管理される。即ち、アクセス制御装置40は、あるデータに対するアクセスが要求された場合に、そのデータを含む最も小さい(即ちルートノードが最も低階層の)部分木の所有者を排他アクセス権DB45から検索して、その所有者からのアクセスのみを許可する。
図5は、アクセス制御装置40の機能構成を示す。アクセス制御装置40は、上述の排他アクセス権DB45の他、管理部400と、委譲部410と、アクセス制御部420と、返却部430と、解放制御部440とを有する。管理部400は、XML文書DB20に含まれる少なくとも1つの部分データのそれぞれについて、その部分データの排他アクセス権の所有者を管理する。部分データとは、階層構造で管理されたデータベースの例では部分木に相当し、XML文書の例では開始タグから終了タグまでの間に記述されたデータに相当する。既に述べたように、管理部400は、部分木のルートノードをパス情報として表し、当該部分木についての排他アクセス権の所有者をこのパス情報に対応付けて管理してもよい。更に、管理部400は、利用者端末15−1〜Nから受けた要求に応じ、排他アクセス権を設定し、設定の内容を排他アクセス権DB45に記憶させてもよい。
委譲部410は、利用者端末15−1〜Nから受けた要求に応じ、第1の所有者が第1の部分データについて所有する第1の排他アクセス権の一部を委譲する。具体的には、委譲部410は、第1の部分データの一部である第2の部分データについての第2の排他アクセス権の所有者を第1の所有者から第2の所有者に変更する。図4を例に採れば、第1の所有者がAAAであり、第1の部分データが<newspaper>タグから</newspaper>タグまでの間に記述されたデータである。この例では、委譲部410は、第2の部分データである/newspaper/page2について第2の所有者であるBBBに対し第2の排他アクセス権を設定することにより、第1の排他アクセス権の一部を委譲する。
アクセス制御部420は、第1の排他アクセス権の委譲を条件に、第2の部分データについて第1の所有者によるアクセスを禁止して第2の所有者によるアクセスを許可する。即ち、/newspaper/page2についての排他アクセス権が設定されたことを条件に、アクセス制御部420は、第1の所有者であるAAAによる部分木/newspaper/page2に対するアクセスを禁止する。返却部430は、利用者端末15−1〜Nから受けた要求に応じ、第2の排他アクセス権を第1の所有者に返却するべく、第2の排他アクセス権の所有者を第2の所有者から第1の所有者に変更する。図4を例に採れば、返却部430は、部分木/newspaper/page2についての排他アクセス権の所有者をBBBからAAAに変更してもよい。これに代えて、返却部430は、部分木/newspaper/page2についての排他アクセス権を削除することによって、当該排他アクセス権の所有者を変更してもよい。
解放制御部440は、利用者端末15−1〜Nからの要求に応じ、排他アクセス権についてのエントリを排他アクセス権DB45から消去することによってその排他アクセス権を解放する。第1の排他アクセス権の一部が第2の排他アクセス権として他の所有者に委譲されている場合には、解放制御部440は、当該第2の排他アクセス権の返却を条件に第1の排他アクセス権の解放を許可する。
図6は、排他アクセス権の取得・解放、および、DBアクセス制御のフローチャートを示す。アクセス制御装置40は、例えば定期的に以下の処理を繰り返す。まず、アクセス制御装置40は、排他アクセス権の取得に関する制御を行う(S600)。次に、アクセス制御装置40は、排他アクセス権の委譲に関する制御を行う(S610)。次に、アクセス制御装置40は、委譲された排他アクセス権の返却に関する制御を行う(S620)。次に、アクセス制御装置40は、排他アクセス権の解放に関する制御を行う(S630)。
次に、アクセス制御部420は、利用者からのXML文書DB20に対するアクセスに対し、取得されている排他アクセス権に基づいてアクセスの許否を判断する(S640)。詳細には、アクセス制御部420は、データのアクセス要求に応じ、そのデータから木構造を遡って走査することにより、管理部400によって管理されたルートノードを検出し、最初に検出されたルートノードに対応する所有者によるアクセスを許可する。排他アクセス権DB45を例に採れば、アクセス制御部420は、コラム欄のアクセス要求に応じ、コラム欄から木構造を遡って走査することにより、/newspaper/page2/columnと、/newspaper/page2と、/newspaperとを部分木のルートノードとして検出する。そして、アクセス制御部420は、これらのうち最初に検出された/newspaper/page2/columnに対応するXXXによるアクセスを許可し、それ以外のBBBなどによるアクセスを拒否する。これにより、第2の排他アクセス権が委譲された場合には、アクセス制御部420は、第1の部分木であっても第2の部分木に含まれるデータについては、第1の所有者によるアクセスを禁止して第2の所有者によるアクセスを許可することができる。また、アクセス制御部420は、第3の排他アクセス権が委譲された場合には、第2の部分木について第2の所有者によるアクセスを禁止して第3の所有者によるアクセスを許可することができる。
図7は、S600の処理の詳細を示す。管理部400は、排他アクセス権の取得の要求を利用者端末15−1〜Nから受けたか否か判断する(S700)。当該要求を受けて(S700:YES)、管理部400は、利用者管理DB25を参照して、取得を要求した利用者による、要求の対象となる部分データ(第1の部分データとする)に対するアクセスが許可されているか否かを判断する(S710)。アクセスが許可されていることを条件に(S710:YES)、管理部400は、その利用者に排他アクセス権を取得させる(S720)。即ち、管理部400は、第1の部分データについての第1の排他アクセス権を新たに設定し、その所有者(第1の所有者とする)を排他アクセス権DB45に登録する。
図8は、S610の処理の詳細を示す。委譲部410は、排他アクセス権(例えば第1の排他アクセス権)の委譲の要求を利用者端末15−1〜Nから受けたか否かを判断する(S800)。この委譲の要求は、委譲により排他アクセス権を与える利用者(例えば、第1の所有者)から発せられてもよいし、委譲により排他アクセス権の提供を受ける利用者(第2の所有者とする)から発せられてもよい。当該要求を受けて(S800:YES)、委譲部410は、要求の対象となる部分データ(第2の部分データとする)に対するアクセスが第2の所有者に許可されているか否かを判断する(S810)。また、委譲部410は、第1の所有者による委譲の許可の入力を受けたか否かを判断する(S820)。
委譲部410は、第2の部分データに対するアクセスが第2の所有者に許可されており(S810:YES)、かつ、第1の所有者の許可の入力を受けたこと(S820:YES)を条件に、排他アクセス権を委譲する(S830)。詳細には、委譲部410は、第1の部分データである第1の部分木に含まれる複数の部分木の中から第2の部分データである第2の部分木を選択する。そして、委譲部410は、第2の部分木についての第2の排他アクセス権の所有者を第1の所有者から第2の所有者に変更する。所有者変更の処理としては、例えば、委譲部410は、第2の部分木のルートノードの識別情報を第2の所有者に対応付けて管理部400に管理させ、排他アクセス権DB45に記録させてもよい。
図9は、S620の処理の詳細を示す。返却部430は、排他アクセス権(例えば第2の排他アクセス権)の返却の要求を利用者端末15−1〜Nから受けたか否かを判断する(S900)。この返却の要求は、返却により排他アクセス権を与える利用者(例えば、第2の所有者)から発せられてもよいし、委譲により排他アクセス権の提供を受ける利用者(例えば、第1の所有者)から発せられてもよい。当該要求を受けて(S900:YES)、返却部430は、例えば排他アクセス権DB45を参照して、第2の排他アクセス権から更に委譲された排他アクセス権(第3の排他アクセス権とする)が全て返却済みか否かを判断する(S905)。
第3の排他アクセス権が返却済みであることを条件に(S905:YES)、返却部430は、排他アクセス権の委譲主(即ち第1の所有者)の許可の入力を受けたか否かを判断する(S910)。第1の所有者による返却の許可を条件に(S910:YES)、返却部430は、第2の所有者による第2の部分データの変更を第1の部分データに反映させる(S920)。そして、返却部430は、第2の排他アクセス権の所有者を第2の所有者から第1の所有者に変更する(S930)。
S910において、返却に誰の許可が必要であるかの判断は、例えば、排他アクセス権DB45を参照することによって実現される。例えば、まず、返却部430は、返却の対象となる排他アクセス権を排他アクセス権DB45から検索する。次に、返却部430は、検索された排他アクセス権の対象となっている部分データ(図4の例では部分木)を包含する最も小さい部分データを排他アクセス権DB45から検索する。図4の例で、/newspaper/page2によって指定される部分データの排他アクセス権が返却の対象であれば、その部分データを包含する部分データ(例えば/newspaperによって指定される部分データ)が検索される。そして、返却部430は、検索されたその部分データについて設定された排他アクセス権の所有者を、返却の許否を判断する所有者として判断する。即ち、返却部430は、この所有者による許可の入力を受けたか否かをS910において判断する。
一方で、第3の排他アクセス権が返却済みではなく(S905:NO)、または、第1の所有者が許可しない場合には(S910:NO)、返却部430は、第2の排他アクセス権の所有者を変更しない(S940)。即ち、返却部430は、第2の所有者による第2の部分データの変更を第1の部分データに反映させずに、第2の排他アクセス権を第2の所有者によって所有させたまま維持する。この場合には、返却部430は、第2の部分データを第1の部分データに整合させるために第2の部分データを修正すべき指示を第2の所有者に送信してもよい(S950)。
図10は、S630の処理の詳細を示す。解放制御部440は、排他アクセス権(例えば第1の排他アクセス権)の解放の要求を利用者端末15−1〜Nから受けたか否かを判断する(S1000)。解放の要求に応じ(S1000:YES)、解放制御部440は、第1の排他アクセス権から委譲された全ての排他アクセス権(例えば第2の排他アクセス権)が返却済みか否かを判断する(S1010)。第2の排他アクセス権が返却済みであることを条件に(S1010:YES)、解放制御部440は、第1の排他アクセス権の解放を許可する(S1020)。一方で、第2の排他アクセス権が返却済みでなければ(S1010:NO)、解放制御部440は、第1の排他アクセス権を解放せずに維持する(S1030)。
図11は、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。図11には左側から順に、第1の利用者AAAの指示による処理、第2の利用者BBBの指示による処理、および、第3の利用者XXXの指示による処理の流れを示す。利用者AAAは、例えば、新聞の紙面全体の編集・管理を行う者である。また、利用者BBBは、新聞の第2ページの編集・管理を行う者である。また、利用者CCCは、第2ページのコラム欄の編集・管理を行う者である。
利用者AAAの操作に応じ、管理部400は、第1の開始タグである<newspaper>および第1の終了タグである</newspaper>をXML文書中に作成し、これらのタグの間に記述する第1の部分データについての第1の排他アクセス権を取得させる(S1100)。続いて、委譲部410は、<newspaper>から</newspaper>までの間に第2の開始タグ<page2>および第2の終了タグ</page2>を生成し、これらのタグの間に記述する第2の部分データについての第2の排他アクセス権を利用者BBBに委譲する(S1110)。これと並行して、アクセス制御装置40は、利用者AAAの指示に基づき、<newspaper>から</newspaper>までの間に記述された部分データのうち、<page2>から</page2>までの間を除いた他の部分を編集してもよい。
アクセス制御装置40は、第2の排他アクセス権の委譲を条件に、利用者BBBの指示に基づき、<page2>から</page2>までの間に記述する第2の部分データを作成・編集する(S1120)。即ち例えば、利用者BBBは、新聞の第2ページのレイアウトを決定したり、第2ページ中の文章を作成してもよい。続いて、委譲部410は、<page2>から</page2>までの間に第3の開始タグ<column>および第3の終了タグ</column>を生成する。そして、委譲部410は、これらのタグの間に記述する第3の部分データについての第3の排他アクセス権を利用者XXXに委譲するべく、第2の部分データに含まれる第3の部分データについての第3の排他アクセス権の所有者を、利用者BBBから利用者XXXに変更する(S1130)。この委譲の処理は、利用者BBBによる許可が条件となる。この委譲の処理と並行して、アクセス制御装置40は、利用者BBBの指示に応じ、第2のページのうちコラム欄以外の部分の編集を進めてもよい。
アクセス制御装置40は、利用者XXXの指示に基づき、コラム欄の内容を作成・編集する(S1140)。続いて、アクセス制御装置40は、利用者XXXから、第3の排他アクセス権の返却の要求を受ける(S1150)。返却部430は、利用者BBBによる返却の許可を条件に(S1160:許可)、利用者XXXによる第3の部分データの変更を第2の部分データに反映させて、第3の排他アクセス権の所有者を利用者XXXから利用者BBBに変更する。一方で、利用者BBBによる拒否を条件に(S1160:拒否)、返却部430は、利用者XXXによる第3の部分データの変更を第2の部分データに反映させずに、第3の排他アクセス権を維持する。即ち、第3の排他アクセス権が委譲された状態(S1130の処理直後の状態)に戻る。
第3の排他アクセス権が返却された場合には、続いて、アクセス制御装置40は、第2の排他アクセス権の返却の要求を利用者BBBから受ける(S1170)。返却部430は、第3の排他アクセス権の返却、および、利用者AAAの許可を条件に(S1180:許可)、第2の排他アクセス権の所有者を利用者BBBから利用者AAAに変更する。返却部430は、利用者AAAの拒否を条件に(S1180:拒否)、利用者BBBによる第2の部分データに対する変更を第1の部分データに反映させずに第2の排他アクセス権を維持する。即ち、第2の排他アクセス権が委譲された状態(S1110の処理直後の状態)に戻る。解放制御部440は、第3の排他アクセス権および第2の排他アクセス権がこの順に順次返却されたことを条件に、第1の排他アクセス権の解放を許可する(S1190)。
以上、図1から図11を参照して説明したように、アクセス制御装置40によれば、XML文書の一部について排他アクセス権の設定を可能とすることができる。更に、排他アクセス権の委譲および委譲された排他アクセス権の返却を可能とすることにより、排他アクセス権の制御をこれまでより柔軟に行うことができ、複数の利用者による単一ファイルの編集の効率を向上することができる。また、アクセス制御装置40は、排他アクセス権の返却・解放のためには、その排他アクセス権から委譲した他の排他アクセス権の返却を条件とする。更にこの返却には、当該排他アクセス権から当該他の排他アクセス権を委譲した委譲者の許可を要する。これにより、委譲者は返却時にデータの整合をチェックすることができ、XML文書全体の整合を維持し易くすることができる。
続いて、図12から図14を参照して本実施形態の変形例を説明する。当該変形例は、上述の排他アクセス権の返却条件を緩和することで、排他アクセス権の委譲に関し更に柔軟な制御を可能とすることを目的とする。なお、当該変形例におけるアクセス制御装置40は、図1から図11を参照した説明したアクセス制御装置40と略同一であるので、以下、相違点を除き説明を省略する。
図12は、本実施形態の変形例について、S620の処理の詳細を示す。返却部430は、排他アクセス権(例えば第2の排他アクセス権)の返却の要求を利用者端末15−1〜Nから受けたか否かを判断する(S1200)。当該要求を受けて(S1200:YES)、返却部430は、排他アクセス権の委譲主(即ち第1の所有者)の許可の入力を受けたか否かを判断する(S1210)。この際、図9の処理とは異なり、返却部430は、第2の排他アクセス権から更に委譲された排他アクセス権(第3の排他アクセス権とする)が全て返却済みか否かを判断しない。この部分の判断が省略されていることにより、上述の実施形態と比較し得排他アクセス権の返却条件が緩和されている。
第1の所有者による返却の許可を条件に(S1210:YES)、返却部430は、第2の所有者による第2の部分データの変更を第1の部分データに反映させる(S1220)。そして、返却部430は、第2の排他アクセス権の所有者を第2の所有者から第1の所有者に変更する(S1230)。一方で、第1の所有者が許可しない場合には(S1210:NO)、返却部430は、第2の排他アクセス権の所有者を変更しない(S1240)。即ち、返却部430は、第2の所有者による第2の部分データの変更を第1の部分データに反映させずに、第2の排他アクセス権を第2の所有者によって所有させたまま維持する。この場合には、返却部430は、第2の部分データを第1の部分データに整合させるために第2の部分データを修正すべき指示を第1の所有者に送信してもよい(S1250)。
図13は、本実施形態の変形例において、ある排他アクセス権から委譲した他の排他アクセス権が返却される前に当該排他アクセス権を返却する処理の流れを示す。図11と同様に、左側から順に、第1の利用者AAAの指示による処理、第2の利用者BBBの指示による処理、および、第3の利用者XXXの指示による処理の流れを示す。利用者AAAは、例えば、新聞の紙面全体の編集・管理を行う者である。また、利用者BBBは、新聞の第2ページの編集・管理を行う者である。また、利用者CCCは、第2ページのコラム欄の編集・管理を行う者である。
利用者AAAの操作に応じ、管理部400は、第1の開始タグである<newspaper>および第1の終了タグである</newspaper>をXML文書中に作成し、これらのタグの間に記述する第1の部分データについての第1の排他アクセス権を取得させる(S1300)。続いて、委譲部410は、<newspaper>から</newspaper>までの間に第2の開始タグ<page2>および第2の終了タグ</page2>を生成し、これらのタグの間に記述する第2の部分データについての第2の排他アクセス権を利用者BBBに委譲する(S1310)。これと並行して、アクセス制御装置40は、利用者AAAの指示に基づき、<newspaper>から</newspaper>までの間に記述された部分データのうち、<page2>から</page2>までの間を除いた他の部分を編集してもよい。
アクセス制御装置40は、第2の排他アクセス権の委譲を条件に、利用者BBBの指示に基づき、<page2>から</page2>までの間に記述する第2の部分データを作成・編集する(S1320))。即ち例えば、利用者BBBは、新聞の第2ページのレイアウトを決定したり、第2ページ中の文章を作成してもよい。続いて、委譲部410は、<page2>から</page2>までの間に第3の開始タグ<column>および第3の終了タグ</column>を生成する。そして、委譲部410は、これらのタグの間に記述する第3の部分データについての第3の排他アクセス権を利用者XXXに委譲するべく、第2の部分データに含まれる第3の部分データについての第3の排他アクセス権の所有者を、利用者BBBから利用者XXXに変更する(S1330)。この委譲の処理は、利用者BBBによる許可が条件となる。この委譲の処理と並行して、アクセス制御装置40は、利用者BBBの指示に応じ、第2のページのうちコラム欄以外の部分の編集を進めてもよい。
アクセス制御装置40は、利用者XXXの指示に基づき、コラム欄の内容を作成・編集する(S1340)。一方で、アクセス制御装置40は、アクセス制御装置40は、第2の排他アクセス権の返却の要求を利用者BBBから受ける(S1350)。返却部430は、利用者AAAの許可を条件に(S1360:許可)、第2の排他アクセス権の所有者を利用者BBBから利用者AAAに変更する。このように、本変形例においては、第3の排他アクセス権の返却に先立って第2の排他アクセス権が返却され得る。この状態において、アクセス制御部420は、第2の部分データのうち第3の部分データを除外した部分について利用者AAAによるアクセスを許可する。一方で、返却部430は、利用者AAAの拒否を条件に(S1360:拒否)、利用者BBBによる第2の部分データに対する変更を第1の部分データに反映させずに第2の排他アクセス権を維持する。即ち、第2の排他アクセス権が委譲された状態(S1310の処理直後の状態)に戻る。
続いて、アクセス制御装置40は、利用者XXXから、第3の排他アクセス権の返却の要求を受ける(S1370)。返却部430は、利用者AAAによる返却の許可を条件に(S1380:許可)、利用者XXXによる第3の部分データの変更を第1の部分データに反映させて、第3の排他アクセス権の所有者を利用者XXXから利用者AAAに変更する。このように、本変形例においては、第3の排他アクセス権の返却には第1の所有者による許可を要する。一方で、利用者AAAによる拒否を条件に(S1380:拒否)、返却部430は、利用者XXXによる第3の部分データの変更を第1の部分データに反映させずに、第3の排他アクセス権を維持する。即ち、第3の排他アクセス権が委譲された状態(S1340の処理直前の状態)に戻る。
解放制御部440は、第3の排他アクセス権および第2の排他アクセス権が順序に関わらず返却されたことを条件に、第1の排他アクセス権の解放を許可する(S1395)。
以上、図13を参照して説明したように、本変形例においては、ある排他アクセス権から委譲した他の排他アクセス権が返却される前に当該排他アクセス権を返却することができる。この場合には、返却先の利用者が当該他の排他アクセス権の返却先となる。これにより、排他アクセス権について一層柔軟な制御を可能とすると共に、データの整合を適切に維持することができる。
図14は、本実施形態の変形例において、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。図11と同様に、図14には左側から順に、第1の利用者AAAの指示による処理、第2の利用者BBBの指示による処理、および、第3の利用者XXXの指示による処理の流れを示す。利用者AAAは、例えば、新聞の紙面全体の編集・管理を行う者である。また、利用者BBBは、新聞の第2ページの編集・管理を行う者である。また、利用者CCCは、第2ページのコラム欄の編集・管理を行う者である。
利用者AAAの操作に応じ、管理部400は、第1の開始タグである<newspaper>および第1の終了タグである</newspaper>をXML文書中に作成し、これらのタグの間に記述する第1の部分データについての第1の排他アクセス権を取得させる(S1400)。また、管理部400は、第2の開始タグである<page2>および第2の終了タグである</page2>をXML文書中に生成し、これらのタグの間に記述する第2の部分データについての第2の排他アクセス権を取得させる。
続いて、委譲部410は、<page2>から</page2>までの間に第3の開始タグ<column>および第3の終了タグ</column>を生成し、これらのタグの間に記述する第3の部分データについての第3の排他アクセス権を利用者XXXに委譲する(S1410)。これと並行して、アクセス制御装置40は、利用者AAAの指示に基づき、<newspaper>から</newspaper>までの間に記述された部分データのうち、<column>から</column>までの間を除いた他の部分を編集してもよい。アクセス制御装置40は、第3の排他アクセス権の委譲を条件に、利用者XXXの指示に基づき、<column>から</column>までの間に記述する第3の部分データを作成・編集する(S1420)。
委譲のように第3の排他アクセス権を利用者XXXに所有させている状態において、アクセス制御装置40は、第1の排他アクセス権を更に委譲して、<page2>から</page2>までの間に記述する第2の部分データについての第2の排他アクセス権のうち第3の排他アクセス権を除外した排他アクセス権を生成し、利用者BBBに取得させる(S1430)。アクセス制御装置40は、この排他アクセス権の委譲を条件に、利用者BBBの指示に基づき、第2の部分データのうち<column>から</column>までを除外したデータを作成・編集する(S1440)。
次に、アクセス制御装置40は、利用者XXXから、第3の排他アクセス権の返却の要求を受ける(S1450)。返却部430は、利用者BBBによる返却の許可を条件に(S1460:許可)、利用者XXXによる第3の部分データの変更を第2の部分データに反映させて、第3の排他アクセス権の所有者を利用者XXXから利用者BBBに変更する。一方で、利用者BBBによる拒否を条件に(S1460:拒否)、返却部430は、利用者XXXによる第3の部分データの変更を第2の部分データに反映させずに、第3の排他アクセス権を維持する。即ち、第3の排他アクセス権が委譲された状態(S1470)に戻る。
第3の排他アクセス権が返却された場合には、続いて、アクセス制御装置40は、第2の排他アクセス権の返却の要求を利用者BBBから受ける(S1480)。返却部430は、利用者AAAの許可を条件に(S1490:許可)、第2の排他アクセス権の所有者を利用者BBBから利用者AAAに変更する。返却部430は、利用者AAAの拒否を条件に(S1490:拒否)、利用者BBBによる第2の部分データに対する変更を第1の部分データに反映させずに第2の排他アクセス権を維持する。即ち、第2の排他アクセス権が委譲された状態(S1430の処理直後の状態)に戻る。解放制御部440は、第3の排他アクセス権および第2の排他アクセス権が順序に関わらず返却されたことを条件に、第1の排他アクセス権の解放を許可する(S1495)。
以上、図14を参照して説明したように、本変形例によれば、1つの排他アクセス権から複数の排他アクセス権を順次委譲することができ、排他アクセス権について一層柔軟な制御を可能とすることができる。また、この場合であっても、排他アクセス権の返却時には部分データの整合を適切に判断することができる。
図15は、以上の実施形態または変形例におけるアクセス制御装置40として機能する情報処理装置500のハードウェア構成の一例を示す。情報処理装置500は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるBIOS1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、BIOS1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置500が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、BIOS1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。BIOS1010は、情報処理装置500の起動時にCPU1000が実行するブートプログラムや、情報処理装置500のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置500に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置500にインストールされて実行される。プログラムが情報処理装置500等に働きかけて行わせる動作は、図1から図14において説明したアクセス制御装置40における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置500に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、本実施形態に係る情報処理システム10の全体構成を示す。 図2は、XML文書DB20に記憶されたXML文書の一例を示す。 図3は、XML文書DB20に記憶されたXML文書の構造の概念図である。 図4は、排他アクセス権DB45のデータ構造の一例を示す。 図5は、アクセス制御装置40の機能構成を示す。 図6は、排他アクセス権の取得・解放、および、DBアクセス制御のフローチャートを示す。 図7は、S600の処理の詳細を示す。 図8は、S610の処理の詳細を示す。 図9は、S620の処理の詳細を示す。 図10は、S630の処理の詳細を示す。 図11は、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。 図12は、本実施形態の変形例について、S620の処理の詳細を示す。 図13は、本実施形態の変形例において、ある排他アクセス権から委譲した他の排他アクセス権が返却される前に当該排他アクセス権を返却する処理の流れを示す。 図14は、本実施形態の変形例において、ある排他アクセス権が順次複数の利用者に委譲される処理の流れを示す。 図15は、以上の実施形態または変形例におけるアクセス制御装置40として機能する情報処理装置500のハードウェア構成の一例を示す。
符号の説明
10 情報処理システム
15 利用者端末
20 XML文書DB
25 利用者管理DB
40 アクセス制御装置
45 排他アクセス権DB
400 管理部
410 委譲部
420 アクセス制御部
430 返却部
440 解放制御部
500 情報処理装置

Claims (9)

  1. データベースに記憶されている階層関係を有する複数の部分データに対するアクセスを制御するアクセス制御装置であって、
    前記複数の部分データに対応して、前記部分データの排他アクセス権を所有する所有者の識別情報を記憶する排他アクセス権データベースと、
    前記排他アクセス権データベースを用いて前記部分データの排他アクセス権の所有者を管理する管理部と、
    第1の所有者が第1の排他アクセス権を所有する第1の前記部分データの一部である第2の前記部分データについての第2の排他アクセス権の委譲の要求を、第2の所有者の端末から受けた場合は、前記第2の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲する委譲部と、
    前記委譲部により前記第1の排他アクセス権の一部が委譲された場合は、前記第2の部分データについて前記第2の所有者のみによるアクセスを許可するアクセス制御部と、
    前記第2の所有者の端末から前記第2の排他アクセス権の返却の要求を受けた場合は、前記第2の部分データについての前記第2の排他アクセス権の所有者として、前記第1の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却する返却部と、
    を備え
    前記委譲部は、前記第2の所有者が前記第2の排他アクセス権を所有する前記第2の部分データの一部である第3の前記部分データについての第3の排他アクセス権の委譲の要求を第3の所有者の端末から受けたことに応じ、前記第2の所有者が委譲を許可した場合は、前記第3の排他アクセス権の所有者として、前記第3の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第2の排他アクセス権の一部を前記第3の所有者に委譲し、
    前記アクセス制御部は、前記第2の排他アクセス権の一部が委譲された場合は、前記第3の部分データについて前記第3の所有者のみによるアクセスを許可し、
    前記返却部は、前記第3の所有者の端末から受けた前記第3の排他アクセス権の返却の要求に対して前記第2の所有者が返却を許可した場合は、前記第3の部分データについての前記第3の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第3の所有者が有する前記第3の排他アクセス権を前記第2の所有者に返却し、
    前記第3の排他アクセス権の返却がされ、および、前記第2の所有者の端末から受けた前記第2の排他アクセス権の返却の要求に対して前記第1の所有者が返却を許可した場合に、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却す
    アクセス制御装置。
  2. データベースに記憶されている階層関係を有する複数の部分データに対するアクセスを制御するアクセス制御装置であって、
    前記複数の部分データに対応して、前記部分データの排他アクセス権を所有する所有者の識別情報を記憶する排他アクセス権データベースと、
    前記排他アクセス権データベースを用いて前記部分データの排他アクセス権の所有者を管理する管理部と、
    第1の所有者が第1の排他アクセス権を所有する第1の前記部分データの一部である第2の前記部分データについての第2の排他アクセス権の委譲の要求を、第2の所有者の端末から受けた場合は、前記第2の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲する委譲部と、
    前記委譲部により前記第1の排他アクセス権の一部が委譲された場合は、前記第2の部分データについて前記第2の所有者のみによるアクセスを許可するアクセス制御部と、
    前記第2の所有者の端末から前記第2の排他アクセス権の返却の要求を受けた場合は、前記第2の部分データについての前記第2の排他アクセス権の所有者として、前記第1の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却する返却部と、
    を備え、
    前記委譲部は、前記第2の所有者が前記第2の排他アクセス権を所有する前記第2の部分データの一部である第3の前記部分データについての第3の排他アクセス権の委譲の要求を第3の所有者の端末から受けたことに応じ、前記第2の所有者が委譲を許可した場合は、前記第3の排他アクセス権の所有者として、前記第3の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第2の排他アクセス権の一部を前記第3の所有者に委譲し、
    前記アクセス制御部は、前記第2の排他アクセス権の一部が委譲された場合は、前記第3の部分データについて前記第3の所有者のみによるアクセスを許可し、前記第3の排他アクセス権の返却に先立って前記第2の排他アクセス権が返却された場合は、前記第1の部分データのうち前記第3の部分データを除外したデータについて前記第1の所有者のみによるアクセスを許可し、
    前記返却部は、前記第3の所有者の端末から受けた前記第3の排他アクセス権の返却の要求に対して前記第2の所有者が返却を許可した場合は、前記第3の部分データについての前記第3の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第3の所有者が有する前記第3の排他アクセス権を前記第2の所有者に返却し、
    前記第3の排他アクセス権の返却に先立って前記第2の排他アクセス権が返却された場合において、前記第3の所有者の端末から受けた前記第3の排他アクセス権の返却の要求に対して前記第1の所有者が許可した場合に、前記第3の部分データについての前記第3の排他アクセス権の所有者として、前記第1の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第3の所有者が有する前記第3の排他アクセス権を前記第1の所有者に返却する
    アクセス制御装置。
  3. 前記委譲部は、前記第2の所有者の端末から受けた前記第2の排他アクセス権の委譲の要求に対して前記第1の所有者委譲許可た場合に、前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲し、
    前記返却部は、前記2の所有者の端末から受けた前記第2の排他アクセス権の返却の要求に対して前記第1の所有者返却許可た場合に、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却する
    請求項1または2に記載のアクセス制御装置。
  4. 前記返却部は、前記2の所有者の端末から受けた前記第2の排他アクセス権の返却の要求に対して前記第1の所有者返却拒否た場合は、前記第2の排他アクセス権を前記第2の所有者によって所有させたまま維持する
    請求項1から3のいずれかに記載のアクセス制御装置。
  5. 前記データベースは、記憶している前記複数の部分データのそれぞれをノードとし、前記複数のデータの間に定められた階層関係をエッジとして表した木構造をなし、
    前記第1の部分データは、前記木構造の中の第1の部分木であり、前記第2の部分データは、前記第1の部分木に含まれる第2の部分木であり、
    前記委譲部は、前記第1の所有者が前記第1の排他アクセス権を所有する前記第1の部分データの一部である前記第2の部分データについての前記第2の排他アクセス権の委譲の要求を、前記第2の所有者の端末から受けた場合は、前記第1の部分木に含まれる複数の部分木の中から前記第2の部分木を選択して、前記第2の部分木についての前記第2の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させ前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲し
    前記アクセス制御部は、前記委譲部により前記第1の排他アクセス権の一部が前記第2の所有者に委譲された場合は、前記第1の部分木であっても前記第2の部分木に含まれるデータについては、前記第2の所有者のみによるアクセスを許可する
    請求項1からのいずれかに記載のアクセス制御装置。
  6. 前記管理部は、少なくとも1つの部分木のルートノードの識別情報に対応付けて、当該部分木についての排他アクセス権の所有者の識別情報を前記排他アクセス権データベースに記憶することにより管理し、
    前記委譲部は、前記第1の所有者が前記第1の排他アクセス権を所有する前記第1の部分データの一部である前記第2の部分データについての前記第2の排他アクセス権の委譲の要求を、前記第2の所有者の端末から受けた場合は、前記第2の部分木のルートノードの識別情報を前記第2の所有者に対応付けて前記管理部に管理させることにより、前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲し、
    前記アクセス制御部は、データのアクセス要求に応じ、当該データから前記木構造を遡って走査することにより、前記管理部によって管理されたルートノードを検出し、最初に検出されたルートノードに対応する所有者によるアクセスを許可する
    請求項に記載のアクセス制御装置。
  7. 前記データベースは、XML(eXtensible Markup Language)によって記述されたXML文書を記憶しており、
    前記第1の部分木は、第1の開始タグから前記第1の開始タグに対応する第1の終了タグまでの間に記述されたデータであり、
    前記第2の部分木は、前記第1の開始タグから前記第1の開始タグまでの間に記述された第2の開始タグから第2の終了タグまでの間に記述されたデータであり、
    前記管理部は、XML文書のルートノードからそれぞれの部分木のルートノードまでのパス情報に対応付けて、所有者の識別情報を前記排他アクセス権データベースに記憶することにより、当該パス情報によって指定された開始タグから終了タグまでの間に記述されたデータの排他アクセス権の所有者を管理する
    請求項に記載のアクセス制御装置。
  8. データベースに記憶されている階層関係を有する複数の部分データに対するアクセスを制御するアクセス制御装置として、前記複数の部分データに対応して前記部分データの排他アクセス権を所有する所有者の識別情報を記憶する排他アクセス権データベースを有する情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    前記排他アクセス権データベースを用いて前記部分データの排他アクセス権の所有者を管理する管理部と、
    第1の所有者が第1の排他アクセス権を所有する第1の前記部分データの一部である第2の前記部分データについての第2の排他アクセス権の委譲の要求を、第2の所有者の端末から受けた場合は、前記第2の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲する委譲部と、
    前記委譲部により前記第1の排他アクセス権の一部が委譲された場合は、前記第2の部分データについて前記第2の所有者のみによるアクセスを許可するアクセス制御部と、
    前記第2の所有者の端末から前記第2の排他アクセス権の返却の要求を受けた場合は、前記第2の部分データについての前記第2の排他アクセス権の所有者として、前記第1の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却する返却部
    として機能させ
    前記委譲部は、前記第2の所有者が前記第2の排他アクセス権を所有する前記第2の部分データの一部である第3の前記部分データについての第3の排他アクセス権の委譲の要求を第3の所有者の端末から受けたことに応じ、前記第2の所有者が委譲を許可した場合は、前記第3の排他アクセス権の所有者として、前記第3の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第2の排他アクセス権の一部を前記第3の所有者に委譲し、
    前記アクセス制御部は、前記第2の排他アクセス権の一部が委譲された場合は、前記第3の部分データについて前記第3の所有者のみによるアクセスを許可し、
    前記返却部は、前記第3の所有者の端末から受けた前記第3の排他アクセス権の返却の要求に対して前記第2の所有者が返却を許可した場合は、前記第3の部分データについての前記第3の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記管理部により前記排他アクセス権データベースに記憶させて、前記第3の所有者が有する前記第3の排他アクセス権を前記第2の所有者に返却し、
    前記第3の排他アクセス権の返却がされ、および、前記第2の所有者の端末からの前記第2の排他アクセス権の返却の要求に対して前記第1の所有者が返却を許可した場合に、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却す
    プログラム。
  9. プログラムを実行することにより情報処理装置が、データベースに記憶されている階層関係を有する複数の部分データに対するアクセスを制御する方法であって、
    前記情報処理装置は、前記複数の部分データに対応して、前記部分データの排他アクセス権を所有する所有者の識別情報を記憶する排他アクセス権データベースを有し、
    第1の所有者が第1の排他アクセス権を所有する第1の前記部分データの一部である第2の前記部分データについての第2の排他アクセス権の委譲の要求を、第2の所有者の端末から受けた場合は、前記第2の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記排他アクセス権データベースに記憶させて、前記第1の所有者が所有する前記第1の排他アクセス権の一部を前記第2の所有者に委譲する委譲ステップと、
    前記第1の排他アクセス権の一部が委譲された場合は、前記第2の部分データについて前記第2の所有者のみによるアクセスを許可するアクセス許可ステップと、
    前記第2の所有者の端末から前記第2の排他アクセス権の返却の要求を受けた場合は、前記第2の部分データについての前記第2の排他アクセス権の所有者として、前記第1の所有者の識別情報を、前記排他アクセス権データベースに記憶させて、前記第2の所有者が有する前記第2の排他アクセス権を前記第1の所有者に返却する返却ステップと、
    を備え
    前記委譲ステップは、前記第2の所有者が前記第2の排他アクセス権を所有する前記第2の部分データの一部である第3の前記部分データについての第3の排他アクセス権の委譲の要求を第3の所有者の端末から受けたことに応じ、前記第2の所有者が委譲を許可した場合は、前記第3の排他アクセス権の所有者として、前記第3の所有者の識別情報を、前記排他アクセス権データベースに記憶させて、前記第2の排他アクセス権の一部を前記第3の所有者に委譲し、
    前記アクセス許可ステップは、前記第2の排他アクセス権の一部が委譲された場合は、前記第3の部分データについて前記第3の所有者のみによるアクセスを許可し、前記第3の排他アクセス権の返却に先立って前記第2の排他アクセス権が返却された場合は、前記第1の部分データのうち前記第3の部分データを除外したデータについて前記第1の所有者のみによるアクセスを許可し、
    前記返却ステップは、前記第3の所有者の端末から受けた前記第3の排他アクセス権の返却の要求に対して前記第2の所有者が返却を許可した場合は、前記第3の部分データについての前記第3の排他アクセス権の所有者として、前記第2の所有者の識別情報を、前記排他アクセス権データベースに記憶させて、前記第3の所有者が有する前記第3の排他アクセス権を前記第2の所有者に返却し、
    前記第3の排他アクセス権の返却に先立って前記第2の排他アクセス権が返却された場合において、前記第3の所有者の端末から受けた前記第3の排他アクセス権の返却の要求に対して前記第1の所有者により許可がされた場合に、前記第3の部分データについての前記第3の排他アクセス権の所有者として、前記第1の所有者の識別情報を、前記排他アクセス権データベースに記憶させて、前記第3の所有者が有する前記第3の排他アクセス権を前記第1の所有者に返却す
    方法。
JP2006016734A 2006-01-25 2006-01-25 データベースに対するアクセスを制御するシステムおよびその方法 Expired - Fee Related JP4172803B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006016734A JP4172803B2 (ja) 2006-01-25 2006-01-25 データベースに対するアクセスを制御するシステムおよびその方法
US11/614,805 US20070174284A1 (en) 2006-01-25 2006-12-21 System and method for controlling access to xml data
CNB2007100039783A CN100489878C (zh) 2006-01-25 2007-01-19 用于控制对数据库的访问的系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006016734A JP4172803B2 (ja) 2006-01-25 2006-01-25 データベースに対するアクセスを制御するシステムおよびその方法

Publications (2)

Publication Number Publication Date
JP2007199940A JP2007199940A (ja) 2007-08-09
JP4172803B2 true JP4172803B2 (ja) 2008-10-29

Family

ID=38286767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006016734A Expired - Fee Related JP4172803B2 (ja) 2006-01-25 2006-01-25 データベースに対するアクセスを制御するシステムおよびその方法

Country Status (3)

Country Link
US (1) US20070174284A1 (ja)
JP (1) JP4172803B2 (ja)
CN (1) CN100489878C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774092B2 (en) 2012-02-09 2017-09-26 Nec Space Technologies, Ltd. Deployable antenna reflector

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043694B2 (en) * 2009-06-19 2015-05-26 Blackberry Limited Methods and apparatus to maintain ordered relationships between server and client information
US20110088091A1 (en) * 2009-06-19 2011-04-14 Dejan Petronijevic Methods and apparatus to maintain validity of shared information
US9268877B2 (en) * 2009-09-22 2016-02-23 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangements for enabling modifications of XML documents
US8468345B2 (en) 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
US10348693B2 (en) * 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
US9537650B2 (en) 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
JP2015049683A (ja) * 2013-08-30 2015-03-16 株式会社東芝 制御プログラム管理装置、情報処理装置、及び制御プログラム処理方法
JP6154444B2 (ja) * 2015-08-27 2017-06-28 ファナック株式会社 複数のティーチング装置からロボットを操作するロボットシステム
US20190130668A1 (en) * 2017-10-30 2019-05-02 Mitchell Repair Information Company, Llc System and method for generating augmented checklist
US10650615B2 (en) 2017-10-30 2020-05-12 Mitchell Repair Information Company, Llc System and method for scheduling based on vehicle condition reported by vehicle
JP7392337B2 (ja) * 2019-09-10 2023-12-06 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904432B2 (en) * 2001-11-30 2005-06-07 Intelligent Medical Objects, Inc. Adaptive data manager
CN100334832C (zh) * 2003-12-10 2007-08-29 联想(北京)有限公司 无线网格下文件资源智能共享的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774092B2 (en) 2012-02-09 2017-09-26 Nec Space Technologies, Ltd. Deployable antenna reflector

Also Published As

Publication number Publication date
CN101008968A (zh) 2007-08-01
CN100489878C (zh) 2009-05-20
JP2007199940A (ja) 2007-08-09
US20070174284A1 (en) 2007-07-26

Similar Documents

Publication Publication Date Title
JP4172803B2 (ja) データベースに対するアクセスを制御するシステムおよびその方法
RU2501082C2 (ru) Управление доступом к документам с использованием блокировок файла
US6629127B1 (en) Methods and systems for processing HTTP requests
JP4174032B2 (ja) 設定装置、設定方法、プログラム、及び記録媒体
US7627652B1 (en) Online shared data environment
US7650604B2 (en) Access management apparatus, access management method and program
US7574745B2 (en) Information processing apparatus, information processing method, computer-readable medium having information processing program embodied therein, and resource management apparatus
US7653935B2 (en) File server for translating user identifier
US9721114B2 (en) Automatic resource ownership assignment system and method
US20150347447A1 (en) Method and architecture for synchronizing files
US10776505B2 (en) Data loss prevention for an online content management platform
US20140136957A1 (en) Supporting Scalable Fonts
KR20140092831A (ko) 문서 협업 기법
KR20120005006A (ko) 교차 채널 공동 저작 일관성
US8037525B2 (en) Access control and entitlement determination for hierarchically organized content
JP3673189B2 (ja) 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム
CN115268797A (zh) 一种通过WebDav实现系统与对象存储通信的方法
JP4461151B2 (ja) 構造化文書管理システム及びプログラム
US20210056155A1 (en) Truncated search results that preserve the most relevant portions
MacDonald File Access
WO2014074104A1 (en) Supporting scalable fonts

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees