JPH10228402A - 文書共有管理方法 - Google Patents

文書共有管理方法

Info

Publication number
JPH10228402A
JPH10228402A JP9047333A JP4733397A JPH10228402A JP H10228402 A JPH10228402 A JP H10228402A JP 9047333 A JP9047333 A JP 9047333A JP 4733397 A JP4733397 A JP 4733397A JP H10228402 A JPH10228402 A JP H10228402A
Authority
JP
Japan
Prior art keywords
document
transaction
client
component
server
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.)
Granted
Application number
JP9047333A
Other languages
English (en)
Other versions
JP2996197B2 (ja
Inventor
Jinkou Tabuchi
仁浩 田渕
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9047333A priority Critical patent/JP2996197B2/ja
Priority to US09/023,762 priority patent/US6446093B2/en
Publication of JPH10228402A publication Critical patent/JPH10228402A/ja
Application granted granted Critical
Publication of JP2996197B2 publication Critical patent/JP2996197B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】 複数のクライアントで同じ文書を共有する場
合に、一つの文書でありながら、その文書を構成する文
書コンポーネント単位で、任意のクライアントだけしか
見たり、使ったりできない部分を混在させ得るようにす
る。 【解決手段】 クライアントA〜Dで共有する文書に対
して、クライアントAがクライアントBとだけ共有する
文書コンポーネントを生成する場合、AとBだけで共有
する旨のアクセス属性を含む文書コンポーネントの生成
トランザクションTR6をクライアントAから文書サー
バ3に送信する。文書サーバ3はそれをグローバルトラ
ンザクションとして実行した後、文書コンポーネントの
生成トランザクションLTR6をクライアントA,Bに
だけ送信し、他のクライアントには送信しない。クライ
アントA,Bは受信したトランザクションLTR6を実
行することで、文書コンポーネントオブジェクトを生成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、サーバと複数のク
ライアントとから構成される分散システムにおける文書
共有管理方法に関する。
【0002】
【従来の技術】同一の文書に対して複数のクライアント
からの編集操作を可能にする技術が、従来より種々提案
されている。
【0003】例えば、特開平7−85020号公報に記
載の文書管理方法(以下、第1の従来技術と称す)で
は、複数のクライアントがサーバ上の文書データベース
における同一文書に対して同時に編集操作を行う場合、
編集対象となる文書を各クライアント毎の文書ワークフ
ァイルへ複写することで、各々のクライアントが他のク
ライアントの影響を受けずに文書の編集操作が同時に行
えるようにしている。
【0004】また、特願昭63−71103号に記載の
コンピュータ会議装置(以下、第2の従来技術と称す)
では、各クライアント毎に同一内容の文書ファイルを設
け、その文書ファイル中の文書を複数のクライアントが
同時に参照,更新する際、各クライアントにおいて発生
した編集コマンド等を一旦サーバに通知し、このサーバ
から全クライアントに対して一斉に編集コマンド等を伝
達して実際に処理させることにより、同一文書に対する
編集操作を、その編集結果を全員で確認しながら行える
ようにしている。
【0005】さらに、IBM社のロータスノーツのよう
な文書データベースに基づくシステム(以下、第3の従
来技術と称す)では、予め定めた文書構成要素で定義さ
れた文書構造に対して、その構造に基づくアプリケーシ
ョンを介して同一文書を参照でき、また同一文書内の異
なる構成要素(文書の一部)に対して、同時に書き込み
が行える。また、同一文書内の同一部分に対する同時ア
クセスによるデータ破壊がないように、従来のデータベ
ース技術で用いられているロックに基づくアクセス制限
もある。
【0006】
【発明が解決しようとする課題】上述したように、同一
の文書に対して複数のクライアントからの編集操作を可
能にする技術が従来より提案されており、それぞれ使用
目的によっては有益なものであったが、複数人が協同作
業を行うような分散協調システムへの適用を考えた場
合、以下のように、全く役に立たないか、不十分なもの
であった。
【0007】第1の従来技術では、同一文書が各クライ
アント毎の文書ワークファイルへ複写され、そこで各ク
ライアント毎に独立に編集操作が行われるため、他のク
ライアントの編集内容を確認することはできない。この
ため、同一文書に対してその編集内容を相互に確認しな
がら複数人が協同して作業することはできない。
【0008】第2の従来技術では、何れかのクライアン
トで文書の編集操作が行われると、それがサーバを通じ
て全クライアントに通知されて各クライアントの文書が
同じように編集されるため、各人の編集内容を全員で確
認しながら協同作業を進めることができる。しかし、文
書中の或る部分だけ特定の者に見せるといった、文書を
構成する各部分毎のアクセス制御は行えない。複数人で
協同作業を行う場合、このようなアクセス制御が必要で
あり、その意味で、第2の従来技術は分散協調システム
への適用上、未だ不十分である。
【0009】第3の従来技術では、予め定められた文書
構成要素の単位で文書の構造を定義しておけば、文書内
の一部分(文書構成要素)に対して参照可能にしたり、
変更可能にしたりするといったアクセス制御が行える。
この点で、3つの従来技術の中では、協調作業システム
に最も適していると言える。しかしながら、そのような
アクセス制御が行えるのは、予め定められた文書構成要
素の単位に限られるため、これから作成しようとする文
書構成要素の単位についてのアクセス制御は行えない。
例えば、利用者全員での共有を目的として設計された構
造を持つ文書に対して、文書構成要素として定義されて
いる部分に対するアクセス制御は可能であるが、自分専
用のメモや或る特定の条件にあった人にだけ見せたいメ
モをその文書内に動的に生成することはできない。その
ためには、メモの役割を果たす領域を予め文書構造の定
義時に作っておかなければならないからである。一般
に、どのような領域が必要になるかは、協同作業の進展
次第であり、必要な領域を文書構造の定義時に予め作成
しておくことは困難である。
【0010】本発明は以上のような事情に鑑みて提案さ
れたものであり、その目的は、文書に対する新たな構成
要素の作成時にそのアクセス制限を付与し得るようにし
て、同一文書の或る部分は全員で同じ内容に対して編集
可能とし、別の部分は特定の者やグループでのみ編集可
能とし、更に別の部分は自分専用のメモとして利用する
こともできる文書共有管理方法を提供することにある。
【0011】
【課題を解決するための手段】本発明は上記の目的を達
成するために、複数のクライアントがネットワークを介
して文書サーバに接続された分散システムにおける文書
共有管理方法において、以下の手順を含んでいる。 (1)各クライアントのアプリケーションを通じてユー
ザが文書または文書の一部を構成する文書コンポーネン
トの生成操作を行った時に、文書または文書コンポーネ
ントの生成にかかるトランザクションであって、その生
成する文書または文書コンポーネントのアクセス属性を
指定したトランザクションを、そのクライアントから文
書サーバに送信する段階 (2)文書または文書コンポーネントの生成にかかるト
ランザクションを受信した文書サーバが、そのトランザ
クションをグローバルトランザクションとして自ら処理
して文書オブジェクトまたは文書コンポーネントオブジ
ェクトを生成すると共に、そのトランザクションで指定
されたアクセス属性に応じたクライアントに対しての
み、そのトランザクションをローカルトランザクション
として送信する段階 (3)文書または文書コンポーネントの生成にかかるロ
ーカルトランザクションを受信した各クライアントが、
そのトランザクションを実行して、文書サーバ側で生成
された文書オブジェクトまたは文書コンポーネントオブ
ジェクトに対応する仮想文書オブジェクトまたは仮想文
書コンポーネントオブジェクトを生成し、アプリケーシ
ョンに伝達する段階 (4)各クライアントのアプリケーションを通じてユー
ザが文書コンポーネントに対して編集操作を行った時
に、その編集にかかるトランザクションを、そのクライ
アントから文書サーバに送信する段階 (5)文書コンポーネントに対する編集操作にかかるト
ランザクションを受信した文書サーバが、そのトランザ
クションをグローバルトランザクションとして自ら処理
して該当する文書コンポーネントオブジェクトを操作す
ると共に、その文書コンポーネントにかかるアクセス属
性に応じたクライアントに対してのみ、そのトランザク
ションをローカルトランザクションとして送信する段階 (6)文書コンポーネントに対する編集操作にかかるト
ランザクションを受信した各クライアントが、そのトラ
ンザクションを実行して、該当する仮想文書コンポーネ
ントオブジェクトを操作し、アプリケーションに伝達す
る段階
【0012】このように構成された本発明の文書共有管
理方法の作用を、その理解を容易にするために簡単な例
に基づいて説明する。例としては、図11に示すよう
に、AからFの6つのクライアントがネットワークを介
して文書サーバSに接続された分散処理システムにおい
て、或る1つのグループGを形成するクライアントA〜
Dが図12に示すような1つの文書Xを共有する例を用
いる。ここで、文書Xは、最終的には、3つの文書コン
ポーネントX−1〜X−3から構成され、そのうち、文
書コンポーネントX−1およびX−2はグループGの全
クライアントA〜Dから見え、文書コンポーネントX−
3はクライアントA,Bだけが見えるようにするものと
する。また、文書コンポーネントX−1およびX−3は
クライアントAが生成し、文書コンポーネントX−2は
クライアントBが生成するものとする。この場合、文書
Xが最終的に図12に示すような構成に至るまでに、文
書サーバと各クライアントとの間で図13に示すような
シーケンスでトランザクションの授受が行われる。以
下、順に動作を説明する。なお、ここに例示した文書X
はあくまでも例であり、文書コンポーネントがいわゆる
入れ子構造になった文書等であっても良い。
【0013】クライアントAは、そのクライアント上で
動作するアプリケーションを通じてユーザによって文書
Xの生成操作が行われると、文書Xの生成にかかるトラ
ンザクションであって、その生成する文書のアクセス属
性として、文書XをグループGを構成するクライアント
A〜Dで共有することを指定したトランザクションTR
1を文書サーバSに送信する。ここで、アクセス属性と
しては、共有したいクライアントの識別子のリストであ
っても良く、また、グループとそれに属するクライアン
トとが予め対応付けられている場合には、グループの識
別子であっても良い。文書サーバSは、トランザクショ
ンTR1をグローバルトランザクションとして自ら処理
することにより、文書Xの文書オブジェクトを文書サー
バ上に生成する。この生成される文書オブジェクトに
は、文書Xに対して付与されたユニークな文書識別子,
クライアントAから指定されたアクセス属性,文書構造
データへのポインタ(初期値はNULL)などが含まれ
る。同時に文書サーバSは、トランザクションTR1で
指定されたアクセス属性に応じたクライアントA〜Dに
対してのみ、そのトランザクションをローカルトランザ
クションLTR1として送信する。各クライアントA〜
Dは、このローカルトランザクションLTR1を実行す
ることにより、文書Xの仮想文書オブジェクトを生成す
る。この生成される仮想文書オブジェクトには、文書識
別子,アクセス属性,文書構造データへのポインタ(初
期値はNULL)などが含まれる。
【0014】次にクライアントAのアプリケーションを
通じてユーザが、文書Xの仮想文書オブジェクトに対し
て文書Xの一部を構成する文書コンポーネントX−1の
生成操作を行うと、文書コンポーネントX−1の生成に
かかるトランザクションであって、その生成する文書コ
ンポーネントX−1のアクセス属性として、文書コンポ
ーネントX−1をグループGを構成するクライアントA
〜Dで共有することを指定したトランザクションTR2
を、文書サーバSに送信する。文書サーバSは、トラン
ザクションTR2をグローバルトランザクションとして
自ら処理することにより、文書コンポーネントX−1の
文書コンポーネントオブジェクトを文書サーバ上に生成
する。この生成される文書コンポーネントオブジェクト
には、その文書コンポーネントを一意に識別するための
文書コンポーネント識別子,アクセス属性,文書コンポ
ーネントX−1のデータへのポインタ(初期値はNUL
L)等が含まれる。また、このとき文書サーバSは、文
書Xの文書構造データとして、文書Xが文書コンポーネ
ントX−1で構成されていることを示すデータを生成
し、文書オブジェクトの文書構造データへのポインタに
リンクする。同時に文書サーバSは、トランザクション
TR2で指定されたアクセス属性に応じたクライアント
A〜Dに対してのみ、そのトランザクションをローカル
トランザクションLTR2として送信する。各クライア
ントA〜Dは、このローカルトランザクションLTR2
を実行することにより、文書コンポーネントX−1の仮
想文書コンポーネントを各クライアントA〜D上に生成
する。このとき生成される仮想文書コンポーネントに
は、文書コンポーネント識別子,アクセス属性,文書コ
ンポーネントX−1のデータへのポインタ(NULL
値)等が含まれる。また、このとき各クライアントA〜
Dは、文書Xの文書構造データとして、文書Xが文書コ
ンポーネントX−1で構成されていることを示すデータ
を生成し、仮想文書オブジェクトの文書構造データへの
ポインタにリンクする。
【0015】次にクライアントAのアプリケーションを
通じてユーザが、文書コンポーネントX−1に対して編
集操作を行うと、その編集にかかるトランザクションT
R3を文書サーバSに送信する。ここでの編集操作と
は、例えば文書コンポーネントX−1の内容であるテキ
ストや画像等のデータCNT1を作成する操作のことで
ある。文書サーバSは、そのトランザクションTR3を
グローバルトランザクションとして自ら処理することよ
り、文書サーバS上の文書コンポーネントX−1の内容
であるテキスト等のデータCNT1を作成する処理を行
う。具体的には、文書コンポーネントX−1の仮想文書
コンポーネントのデータの生成,変更等を行う。同時に
文書サーバSは、文書コンポーネントX−1にかかるア
クセス属性に応じたクライアントA〜Dに対してのみ、
そのトランザクションTR3をローカルトランザクショ
ンLTR3として送信する。各クライアントA〜Dは、
ローカルトランザクションLTR3を実行することによ
り、各クライアントA〜Dの文書コンポーネントX−1
の内容であるテキスト等のデータCNT1を作成する。
このように作成された文書コンポーネントX−1の内容
は各クライアントA〜Dの表示装置に表示される。これ
によって、クライアントA〜Dのユーザ全てが、同一の
データCNT1を見ることができる。
【0016】次に、クライアントBが文書Xに別の文書
コンポーネントX−2を生成し、それにデータCNT2
を作成する場合、クライアントAが文書コンポーネント
X−1を生成してそれにデータCNT1を作成した場合
と同様の手順が実行される。これによって、新たに追加
された文書コンポーネントX−2のデータCNT2をグ
ループGの全クライアントA〜Dのユーザ全員が見るこ
とができる。
【0017】次に、クライアントAが文書Xに更に別の
文書コンポーネントX−3を生成し、それにデータCN
T3を作成するが、この文書コンポーネントX−3はク
ライアントAとクライアントBとだけで共有し、クライ
アントC,Dには見せないものであるため、クライアン
トAは文書コンポーネントX−3の生成にかかるトラン
ザクションTR6において、アクセス属性として、文書
コンポーネントX−3がクライアントAとクライアント
Bとで共有することを指定する。このため、文書サーバ
Sは、トランザクションTR6に対応するローカルトラ
ンザクションLTR6はクライアントAとクライアント
Bだけに送信し、クライアントA〜Dのうちクライアン
トA,Bだけが文書コンポーネントX−3の生成処理を
行う。同様に、クライアントAから文書コンポーネント
X−3にデータCNT3を作成するトランザクションT
R7を文書サーバSに送信したとき、文書サーバSはそ
れに対応するローカルトランザクションLTR7をクラ
イアントA,Bだけに送信する。この結果、クライアン
トA〜DのうちクライアントA,Bだけが文書コンポー
ネントX−3の編集処理を行い、その結果、データCN
T3はクライアントA,Bのユーザだけが見えることに
なる。
【0018】以上のような過程において、グループGに
属しないクライアントE,Fにはトランザクションは一
切送信されないため、文書Xの内容はクライアントE,
Fには見えない。つまり、図13のようなシーケンスが
行われることにより、クライアントA,Bの文書Xにか
かる仮想文書オブジェクトには例えば図14(a)に示
すような文書構造データが生成され、それによって画面
上に文書コンポーネントX−1,X−2,X−3から構
成される文書Xが表示されるが、クライアントC,Dの
文書Xにかかる仮想文書オブジェクトには例えば図14
(b)に示すような文書構造データが生成されるため、
画面上には文書コンポーネントX−1,X−2だけから
構成される文書Xが表示され、文書コンポーネントX−
3は表示されない。そして、クライアントE,Fは文書
Xにかかる仮想文書オブジェクトは一切生成されないた
め、文書Xの内容は一切表示されない。
【0019】本発明は以上のような構成を基本的に備え
ているが、以下のような種々の付加変更が可能である。
【0020】文書サーバにおいて、グローバルトランザ
クションを蓄積しておき、ローカルトランザクションの
送信確認が得られなかったクライアントに対しては、前
記蓄積されたグローバルトランザクションに基づき再度
送信を試みる。例えば図13の例において、例えばクラ
イアントCがダウンしていたり、ネットワーク的に切断
されていることが原因で、ローカルトランザクションL
TR1〜LTR5の送信確認が得られなかった場合、文
書サーバSは、クライアントCが再起動したり、ネット
ワーク的に接続されて、文書サーバSと通信が可能にな
ったときに、ローカルトランザクションLTR1〜LT
R5をその順に再度送信する。これにより、或るトラン
ザクションに関連するクライアントには、時間や障害を
越えて、必ずローカルトランザクションが送信される。
【0021】各クライアントは文書サーバに送信したト
ランザクションを保存し、文書サーバはローカルトラン
ザクションを送信する際に、発行元のクライアントに対
しては、ローカルトランザクション全体を送らずに、文
書サーバに固有のデータを含む一部のデータのみを送信
する。例えば図13の例において、クライアントAはト
ランザクションTR1〜TR3,TR6,TR7を保存
し、クライアントBはトランザクションTR4,TR5
を保存する。文書サーバSは、例えばローカルトランザ
クションLTR3を送信する際、発行元のクライアント
Aに対しては、文書コンポーネントX−1のデータCN
T1等はクライアントA自身が保持しているため、トラ
ンザクションの識別番号といった文書サーバSに固有の
データのみを送信する。これにより、必要なデータ送信
量が削減され、ネットワークの負荷を抑えることができ
る。
【0022】文書コンポーネントに対する編集操作にか
かるトランザクションを受信した文書サーバが、そのト
ランザクションをグローバルトランザクションとして自
ら処理する際に、最新の編集内容は自ら保持せずに、そ
の文書コンポーネントの識別子とその最新の編集内容を
保持するクライアントとの対応関係を保存しておき、実
際の最新の編集内容はクライアント側で保持する。例え
ば図13の例では、文書サーバS自身でも、文書コンポ
ーネントX−1〜X−3の内容を保存しているが、これ
は、文書サーバSで文書Xを保存しておくことによっ
て、その再利用を可能にするためである。つまり、後刻
に各クライアントA〜Dが文書サーバSから文書Xの最
終的な内容を読み出すことにより、過去に作成した文書
Xを再度表示することが可能となる。このとき、文書コ
ンポーネントX−1〜X−3の内容を文書サーバSで保
存する方法が図13で説明した方法であり、文書コンポ
ーネントX−1,X−3の内容をクライアントAで保存
し、文書コンポーネントX−2の内容をクライアントB
で保存しておく方法が、ここで言う変形例である。この
ような変形例では、文書Xの再利用時、文書サーバS
は、文書コンポーネントX−1〜X−3の識別子とその
最新の編集内容を保持するクライアントとの対応関係を
調べて、該当するクライアントから最新の編集内容を取
得し、それを再利用先の前記クライアントに送信すると
いった処理が必要になるが、全ての文書コンポーネント
を文書サーバで一括管理する場合に比べて、文書サーバ
に必要な記憶容量が削減できる利点がある。
【0023】各クライアントにおいて、トランザクショ
ンをサーバに送信する際、意味的に密接に関連する複数
のトランザクションを一つのトランザクションとして送
出する。例えば、図13の例において、文書コンポーネ
ントX−1の生成にかかるトランザクションTR2とこ
の生成した文書コンポーネントX−1の編集にかかるト
ランザクションTR3とを1つのトランザクションと
し、文書コンポーネントX−2の生成にかかるトランザ
クションTR4とこの生成した文書コンポーネントX−
2の編集にかかるトランザクションTR5とを1つのト
ランザクションとし、文書コンポーネントX−3にかか
るトランザクションTR6とこの生成した文書コンポー
ネントX−3の編集にかかるトランザクションTR7と
を1つのトランザクションとして送出する。このように
することで、アプリケーションで意味のある大きな単位
のトランザクションを実行できるようになる。
【0024】文書サーバに識別子の名前管理を分散して
管理する機能を設け、複数の文書サーバによって文書を
管理する。これにより、文書サーバの負荷を分散するこ
とができる。
【0025】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
【0026】図1は本発明を適用した分散処理システム
の一例を示すブロック図である。この例の分散処理シス
テムは、文書サーバ100と複数のクライアント110
とがLAN,WANなどのネットワークを介して接続さ
れている。
【0027】文書サーバ100は、通信処理部101
と、アクセス制御管理部102と、文書コンポーネント
管理部103と、文書構造管理部104と、トランザク
ション管理部105と、データ管理部106とを備え、
また記憶装置107を有している。
【0028】文書構造管理部104は、複数のクライア
ントで共有される文書の構造を管理する部分である。図
2(a)に文書構造管理部104が一つの文書の構造を
管理する場合に使用する文書オブジェクトの構成例を示
す。同図に示すように、文書オブジェクト210は、当
該文書を一意に識別するための文書識別子211と、当
該文書のアクセス属性212と、当該文書の文書属性2
13と、文書構造データポインタ214とから構成さ
れ、この文書構造データポインタ214によって文書構
造データ216がリンクされる。本実施の形態では、文
書構造は、文書の一部分に対応する文書コンポーネント
と、文書コンポーネント間の関連づけを表現するリンク
とからなるハイパーメディア構造である。文書構造デー
タ216では、個々の文書コンポーネントに付与したユ
ニークな識別番号である文書コンポーネント識別子を用
いて、文書コンポーネント間の関連づけを表現するリン
クのデータが保持されており、個々の文書コンポーネン
トのデータは文書コンポーネント管理部103で管理さ
れる。文書構造管理部104は、生成した文書オブジェ
クト210および文書構造データ216を、データ管理
部106を介して記憶装置107に記録し、必要に応じ
て読み出して更新する。
【0029】文書コンポーネント管理部103は、文書
を構成する個々の文書コンポーネントを管理する部分で
ある。図2(b)に文書コンポーネント管理部103が
一つの文書コンポーネントを管理する場合に使用する文
書コンポーネントオブジェクトの構成例を示す。同図に
示すように、文書コンポーネントオブジェクト230
は、当該文書コンポーネントを一意に識別するための文
書コンポーネント識別子231と、当該文書コンポーネ
ントのアクセス属性232と、当該文書コンポーネント
の属性233と、データポインタ234とから構成さ
れ、このデータポインタ234によって文書コンポーネ
ントの内容であるデータ235がリンクされる。文書コ
ンポーネント管理部103は、生成した文書コンポーネ
ントオブジェクト230およびデータ235を、データ
管理部106を介して記憶装置107に記録し、必要に
応じて読み出して更新する。
【0030】トランザクション管理部105は、文書サ
ーバ100におけるトランザクション全般を管理する部
分である。図2(c)にトランザクション管理部105
が一つのトランザクションを管理する場合に使用するト
ランザクションオブジェクトの構成例を示す。同図に示
すように、トランザクションオブジェクト250は、当
該トランザクションを一意に識別するためのグローバル
識別番号251と、当該トランザクションのローカルな
識別番号252と、トランザクションデータポインタ2
53とから構成され、このトランザクションデータポイ
ンタ253にトランザクションデータ254がリンクさ
れる。トランザクションデータ254には、文書または
文書コンポーネントに対する操作内容2541と、文書
識別子2542と、文書コンポーネント識別子2543
と、アクセス属性2544と、文書または文書コンポー
ネントの属性2545などが含まれる。
【0031】アクセス制御管理部102は、文書または
文書コンポーネントのアクセス属性に基づくアクセス制
御、つまり、ローカルトランザクションを送出すべきク
ライアントを決定する処理などを行う部分である。な
お、このアクセス制御管理部102に、既に設定された
文書または文書コンポーネントのアクセス属性を、その
文書または文書コンポーネントの所有者であるクライア
ントからの要求に従って変更する機能を持たせるように
しても良い。この場合、クライアント110からは、ア
クセス属性の変更対象となる文書または文書コンポーネ
ントの識別子と所有者名と変更後のアクセス属性とを含
む変更要求が文書サーバ100に出され、これを通信処
理部101を介して受信したアクセス制御管理部102
が、変更対象となる文書または文書コンポーネントにか
かるオブジェクト中のアクセス属性をチェックし、正規
の所有者であれば、アクセス属性を変更する。
【0032】データ管理部106は、文書構造管理部1
04,文書コンポーネント管理部103,アクセス制御
管理部102およびトランザクション管理部105と、
記憶装置107との間にあって、それら各手段による記
憶装置107のアクセス全般を管理する部分である。
【0033】通信処理部101は、文書サーバ100が
各クライアントと相互に通信するための部分である。各
クライアント110からのトランザクションの受信時に
はそれをトランザクション管理部105に伝達し、トラ
ンザクション管理部105からのローカルトランザクシ
ョン送信要求時にはアクセス制御管理部102から送出
すべきクライアント名を取得し、それらのクライアント
に対してローカルトランザクションを送信する。また、
各クライアントからの各種要求の受信やその応答などの
送信を行う。
【0034】他方、各クライアント110は、文書フレ
ームワーク119とアプリケーション120とを含み、
また記憶装置117を有している。
【0035】文書フレームワーク119は、文書サーバ
100に定義する文書構造に基づくアクセスをオブジェ
クト指向技術によってカプセル化するためのアプリケー
ションフレームワークで、アプリケーション120はこ
の文書フレームワーク119で定義されたオブジェクト
を用いて作成される。文書フレームワーク119は、通
信処理部111と、文書表示操作部118と、仮想文書
構造管理部114と、仮想文書コンポーネント管理部1
13と、トランザクション管理部115と、データ管理
部116とを含んでいる。
【0036】文書表示操作部118は、文書の表示とユ
ーザの文書に対する操作を仮想文書構造管理部114へ
の指示へと変換するとともに、通信処理部111を介し
て伝えられるイベント(例えば、データの更新メッセー
ジの到着を表すイベントなど)に応じて、文書の表示を
変化させる役割を果たす。
【0037】仮想文書構造管理部114は、文書サーバ
100において管理される文書のうち当該クライアント
から仮想的に見える文書の構造を管理する部分である。
図2(d)に仮想文書構造管理部114が一つの仮想文
書の構造を管理する場合に使用する仮想文書オブジェク
トの構成例を示す。同図に示すように、仮想文書オブジ
ェクト220は、当該文書を一意に識別するための文書
識別子221と、当該文書のアクセス属性222と、当
該文書の文書属性223と、文書構造データポインタ2
24と、アクセス時刻225とから構成され、文書構造
データポインタ224によって文書構造データ226が
リンクされる。文書構造データ226には、当該仮想文
書に対応する文書サーバ100側の文書の文書構造デー
タ216のうち、当該クライアントから見える文書コン
ポーネントのみに関するデータが保持される。仮想文書
構造管理部114は、生成した文書オブジェクト220
および文書構造データ226を、データ管理部116を
介して記憶装置117に記録し、必要に応じて読み出し
て更新する。なお、文書構造データ226が格納される
領域は仮想文書管理部114によって管理されており、
その領域が使い切られると、アクセス時刻225を参照
して、最も古いアクセスの仮想文書オブジェクト220
の文書構造データ226を破棄し、その領域を解放し、
新たな文書構造データ226の格納用に使用する。この
結果、各クライアント110には、自クライアントから
見える文書すべての文書構造データ226が常に保持さ
れているのではなく、アプリケーション120が最近読
み書きしている文書の文書構造データ226だけが保持
される。必要な文書構造データが存在しない場合には文
書サーバ100に要求を出すことにより取得する。
【0038】仮想文書コンポーネント管理部113は、
文書サーバ100において管理される文書コンポーネン
トのうち当該クライアントから仮想的に見える文書コン
ポーネントを管理する部分である。図2(e)に仮想文
書コンポーネント管理部113が一つの仮想文書コンポ
ーネントを管理する場合に使用する仮想文書コンポーネ
ントオブジェクトの構成例を示す。同図に示すように、
仮想文書コンポーネントオブジェクト240は、当該文
書コンポーネントを一意に識別するための文書コンポー
ネント識別子241と、当該文書コンポーネントのアク
セス属性242と、当該文書コンポーネントの属性24
3と、データポインタ244と、アクセス時刻245と
から構成され、データポインタ244によって文書コン
ポーネントのデータ246がリンクされる。仮想文書コ
ンポーネント管理部113は、生成した仮想文書コンポ
ーネントオブジェクト240およびデータ246を、デ
ータ管理部116を介して記憶装置117に記録し、必
要に応じて読み出して更新する。なお、データ246が
格納される領域は仮想文書コンポーネント管理部113
によって管理されており、その領域が使い切られると、
アクセス時刻245を参照して、最も古いアクセスの仮
想文書コンポーネントオブジェクト240のデータ24
6を破棄してその領域を解放し、新たな文書コンポーネ
ントのデータ246の格納用に使用する。つまり、各ク
ライアント110には、自クライアントから見える文書
コンポーネントすべてのデータ246が常に保持されて
いるのではなく、アプリケーション120が最近読み書
きしている文書コンポーネントのデータ246だけが保
持され、存在しない場合には文書サーバ100に要求を
出すことにより取得する。
【0039】トランザクション管理部115は、文書サ
ーバ100におけるトランザクション全般を管理する部
分である。図2(f)にトランザクション管理部115
が一つのトランザクションを管理する場合に使用するト
ランザクションオブジェクトの構成例を示す。その構成
は図2(c)で示したサーバ側のものと同じである。
【0040】データ管理部116は、仮想文書構造管理
部114,仮想文書コンポーネント管理部113および
トランザクション管理部115と、記憶装置117との
間にあって、それら各手段による記憶装置117のアク
セス全般を管理する部分である。
【0041】通信処理部111は、クライアント110
が文書サーバ100と相互に通信するための部分であ
る。トランザクション管理部115からのトランザクシ
ョン送信要求時にはそれを文書サーバ100に送信し、
また文書サーバ100からのローカルトランザクション
受信時にはそれをトランザクション管理部115に伝達
する。また、その他各種の要求や情報を文書サーバ10
0と送受信する。
【0042】本実施の形態の動作は、クライアント11
0のアプリケーション120を介したユーザからの文書
操作にかかる要求を、文書フレームワーク119でトラ
ンザクションとして生成して文書サーバ100に送信
し、それを受信した文書サーバ100でグローバルトラ
ンザクションとして実行する一方で、そのグローバルト
ランザクションに関連するクライアント110に対して
ローカルトランザクションを送信し、それを受信したク
ライアントの文書フレームワーク119でそのローカル
トランザクションを実行する、という流れが基本とな
る。以下、クライアント110および文書サーバ100
の動作を各場合毎に説明する。
【0043】(1)クライアント110におけるトラン
ザクションの生成手順 図3はクライアント110におけるトランザクションの
生成手順例を示すフローチャートである。クライアント
110上のアプリケーション120で文書にかかる何ら
かの操作がユーザからあった場合、文書フレームワーク
119の文書表示操作部118はユーザの文書に対する
操作を仮想文書構造管理部114への指示に変換し、仮
想文書構造管理部114は、その指示を解釈して文書デ
ータの変更を伴う操作か否かを判定する(301)。こ
の判定方法しては、例えば、文書データの変更を伴わな
い操作として予めアプリケーション120が幾つかの操
作(例えば、文書コンポーネントの一時的な画面上での
移動や、拡大縮小操作など)を定義しておき、その定義
に従って判定する方法がある。
【0044】今回の操作が文書データの変更を伴う場
合、その操作にかかるトランザクションを生成する処理
がトランザクション管理部115において実行される
(310)。トランザクションの生成処理310では以
下のような処理が行われる。
【0045】今回の操作が文書の新規生成操作であった
場合、文書識別子はその時点では存在しないので、ステ
ップ311をスキップし、ステップ312において、図
2(f)のグローバル識別番号261にNULL値を、
ローカル識別番号262にユニークな識別番号を、ポイ
ンタ263にトランザクションデータ264へのポイン
タを設定したトランザクションオブジェクト260と、
トランザクションデータ264とを生成する(31
2)。このとき生成するトランザクションデータ264
には、新規な文書を生成する指示を含む操作内容264
1と、NULL値に設定した文書識別子2642および
文書コンポーネント識別子2643と、ユーザが文書生
成操作時に別途指定したアクセス属性2644および文
書のタイトル等の文書属性2645などが含められる。
アクセス属性2644は、新規生成する文書を共有する
全クライアントの識別子のリストであっても良く、また
それらのクライアントが或るグループを形成しており、
グループとその構成クライアントとの関係が別途管理さ
れている場合にはグループを特定する識別子であっても
良い。また、アクセス属性2644には、それ以外に、
文書の所有者,共有する各クライアントのアクセス制限
(例えば参照のみ可能,参照更新とも可能等の制限)を
含めるようにしても良い。トランザクション管理部11
5は、上記生成したトランザクションを、データ管理部
116を介して記憶装置117にログとして保存し(3
13)、さらにグローバルトランザクションとして登録
するために通信管理部111を介して文書サーバ100
に送信する(314)。
【0046】また、今回の操作が既に作成されている文
書に或る文書コンポーネントを新規に生成する操作であ
った場合、トランザクション管理部115は、操作対象
の文書の識別子を仮想文書構造管理部114から取得し
(311)、上記と同様なトランザクションオブジェク
ト260と、文書コンポーネントの作成指示を含む操作
内容2641,文書識別子2642,NULL値の文書
コンポーネント識別子2643,ユーザが文書コンポー
ネント生成操作時に別途指定したアクセス属性2644
および文書コンポーネントのタイトル等の属性2645
などを含むトランザクションデータ264とを生成する
(312)。文書生成時と同様に、アクセス属性264
4は、新規生成する文書コンポーネントを共有する全ク
ライアントの識別子のリストであっても良く、またそれ
らのクライアントが或るグループを形成しており、グル
ープとその構成クライアントとの関係が別途管理されて
いる場合にはグループを特定する識別子であっても良
い。また、文書のアクセス属性をそのまま継承する場合
には、その旨の指定であっても良い。更に、アクセス属
性2644には、それ以外に、文書コンポーネントの所
有者,共有する各クライアントのアクセス制限(例えば
その文書コンポーネントを参照のみ可能,参照更新とも
可能等の制限)を含めるようにしても良い。トランザク
ション管理部115は、上記生成したトランザクション
を、データ管理部116を介して記憶装置117にログ
として保存し(313)、さらにグローバルトランザク
ションとして登録するために通信管理部111を介して
文書サーバ100に送信する(314)。
【0047】さらに、今回の操作が既に作成されている
文書の或る文書コンポーネントにデータを入力したり、
既に入力されているデータを変更等する操作であった場
合、トランザクション管理部115は、操作対象の文書
の識別子を仮想文書構造管理部114から、操作対象の
文書コンポーネントの識別子を仮想文書コンポーネント
管理部113から、それぞれ取得し(311)、上記と
同様なトランザクションオブジェクト260と、トラン
ザクションデータ264とを生成する(312)。この
トランザクションデータ264中には、文書コンポーネ
ントへのデータの入力指示やデータの変更指示に関する
操作内容2641と、文書識別子2642と、文書コン
ポーネント識別子2643とが含められる。そして、こ
の生成したトランザクションを、データ管理部116を
介して記憶装置117にログとして保存し(313)、
さらにグローバルトランザクションとして登録するため
に通信管理部111を介して文書サーバ100に送信す
る(314)。
【0048】一方、今回の操作が文書データの変更を伴
わない場合、操作対象となった文書コンポーネントに対
するローカルトランザクションがトランザクション管理
部115において生成され、かつ実行されることによ
り、仮想文書構造管理部114を通じて文書表示操作部
118によって、当該クライアントにローカルなビュー
(画面上の見え方)が変更される(302)。そして、
トランザクション管理部115はこのローカルトランザ
クションをデータ管理部116を介して記憶装置117
に保存する(303)。このように、ローカルトランザ
クションを保存しておくことで変更を取り消したり、取
り消したものを再実行したりできる。
【0049】(2)文書サーバ100におけるグローバ
ルトランザクションの処理 図4は文書サーバ100におけるグローバルトランザク
ションの処理例を示すフローチャートである。クライア
ント110からネットワークを通じて送信されたトラン
ザクションは、文書サーバ100の通信処理部101で
受信され、トランザクション管理部105に伝達される
(401)。トランザクション管理部105は、このト
ランザクションからグローバルトランザクションを生成
する(410)。グローバルトランザクションの生成で
は、まずユニークなグローバル識別番号を生成し(41
1)、このグローバル識別番号を、受信したトランザク
ションのトランザクションオブジェクト中のグローバル
識別番号に設定する(412)。つまり、図2(f)の
トランザクションオブジェクト260およびトランザク
ションデータ264を受信すると、NULL値のグロー
バル識別信号261にステップ411で生成したグロー
バル識別番号を設定したものを、グローバルトランザク
ションとする。従って、トランザクションデータ254
やローカル識別番号252は受信したトランザクション
データ264やローカル識別番号262がそのまま使わ
れる。次にトランザクション管理部105は、生成した
グローバルトランザクションをデータ管理部106を介
して記憶装置107に保存し(402)、更に、そのグ
ローバルトランザクションを実行する(403)。この
ステップ403で行われるグローバルトランザクション
の実行手順の一例が図5に示されている。
【0050】まず、トランザクション管理部105は、
文書構造の変更を伴うトランザクションであるか否かを
判定する(501)。文書構造の変更を伴うトランザク
ションとしては、文書の新規生成,文書コンポーネント
の新規生成,文書の削除,文書コンポーネントの削除等
がある。文書構造の変更を伴わないトランザクションと
しては、文書コンポーネントへのデータの入力,データ
の変更等がある。
【0051】文書構造の変更を伴うトランザクションで
あった場合、そのトランザクションで直接変更対象とな
っている文書コンポーネントを含む文書コンポーネント
を文書構造管理部104で管理される文書構造データ2
16から検索し、あればそれをロックする(502)。
例えば、文書コンポーネントα中に新たな文書コンポー
ネントβを作成するようなトランザクションの場合、ス
テップ502において文書コンポーネントαがロックさ
れる。なお、文書の新規生成のトランザクションは文書
構造の変更を伴うトランザクションであるが、文書コン
ポーネントは未だ作成されていないので、ステップ50
2はスキップされる。
【0052】次にトランザクション管理部105は、今
回のトランザクションで直接変更対象となっている文書
コンポーネントをロックする(503)。但し、文書や
文書コンポーネントの新規生成トランザクションの場合
には、このステップ503はスキップされる。
【0053】そしてトランザクション管理部105は、
今回のトランザクションにかかる操作を実行する(50
4)。例えば今回のトランザクションが或る文書の或る
文書コンポーネントへデータを入力する操作やデータを
変更する操作であった場合、文書コンポーネント管理部
103を通じて該当する文書コンポーネントへデータ2
35を入力したり、データ235を変更する処理を実行
する。また、文書コンポーネントの削除であった場合に
は、文書コンポーネント管理部103を通じて該当する
文書コンポーネントを削除する。更に、文書の生成操
作,文書コンポーネントの生成操作であった場合には、
それに応じた処理が実行される。図7にグローバルトラ
ンザクションが文書の生成操作にかかるものであった場
合のステップ504の処理例を、図9にグローバルトラ
ンザクションが文書コンポーネントの生成操作にかかる
ものであった場合のステップ504の処理例を、それぞ
れ示す。
【0054】文書の生成操作にかかるグローバルトラン
ザクションの実行では、トランザクション管理部105
は、制御を文書構造管理部104に渡す。文書構造管理
部104は、図7に示すように、まず文書サーバ100
が管理している他の文書と重複しないような文書識別子
を生成する(701)。次に、この生成された文書識別
子を持つ文書オブジェクトを生成する(702)。ここ
で生成される文書オブジェクトは、図2(a)の文書オ
ブジェクト210において、文書識別子211に上記生
成した文書識別子を設定したものであり、アクセス属性
212,文書属性213はこの時点ではNULL値であ
る。また、文書構造データ216を格納するためのファ
イル等の記憶領域を記憶装置107に確保し、それへの
ポインタを文書構造データポインタ214に設定する。
次に文書構造管理部104は、グローバルトランザクシ
ョンのトランザクションデータ254に含まれる情報
(ユーザが文書生成操作時に別途指定したアクセス属性
2544,文書属性2545など)を参照して、ステッ
プ702で生成した文書オブジェクト210のアクセス
属性212および文書属性213を設定する(70
3)。そして、この文書オブジェクト210をデータ管
理部106を介して記憶装置107に保存し(70
4)、制御をトランザクション管理部105へ戻す。な
お、ユーザが指定したアクセス属性2544を直接に文
書オブジェクト210のアクセス属性212に設定する
代わりに、アクセス制御管理部102で、文書識別子と
その識別子が示す文書に対するアクセス属性とユーザや
グループとの対応表を生成して記憶装置107に格納
し、その対応表のインデックスを文書オブジェクト21
0のアクセス属性212に設定するようにしても良い。
【0055】また、文書コンポーネントの生成操作にか
かるグローバルトランザクションの実行では、制御が文
書コンポーネント管理部103に渡され、文書コンポー
ネント管理部103は、図9に示すように、まず文書サ
ーバ100が管理している他の文書コンポーネントと重
複しないような文書コンポーネント識別子を生成し(9
01)、次いで、この生成した文書コンポーネント識別
子を持つ文書コンポーネントオブジェクト230を生成
する(902)。ここで生成される文書コンポーネント
オブジェクト230は、図2(b)の文書コンポーネン
トオブジェクト230において、文書コンポーネント識
別子231に上記生成した文書コンポーネント識別子を
設定したものであり、アクセス属性232,属性233
はこの時点ではNULL値である。また、当該文書コン
ポーネントのデータ235を格納するためのファイル等
の記憶領域を記憶装置107に確保し、それへのポイン
タをデータポインタ234に設定する。次に、文書コン
ポーネント管理部103は、グローバルトランザクショ
ンのトランザクションデータ254に含まれる情報(ユ
ーザが文書コンポーネント生成操作時に別途指定したア
クセス属性2544,文書コンポーネント属性2545
など)を参照して、ステップ902で生成した文書コン
ポーネントオブジェクト230のアクセス属性232お
よび属性233を設定する(903)。そして、この文
書コンポーネントオブジェクト230をデータ管理部1
06を介して記憶装置107に保存し(904)、制御
をトランザクション管理部105に戻す。なお、ユーザ
が指定したアクセス属性2544を直接に文書コンポー
ネントオブジェクト230のアクセス属性232に設定
する代わりに、アクセス制御管理部102で、文書コン
ポーネント識別子とその識別子が示す文書コンポーネン
トに対するアクセス属性とユーザやグループとの対応表
を生成して記憶装置107に格納し、その対応表のイン
デックスを文書コンポーネントオブジェクト230のア
クセス属性232に設定するようにしても良い。
【0056】再び、図5を参照すると、グローバルトラ
ンザクションにかかる操作の実行を終了したトランザク
ション管理部105は、直接変更対象とした文書コンポ
ーネントのロックを解除する(505)。但し、削除の
ように対象となる文書コンポーネントが無くなる場合に
は、ロック解除はスキップされる。また、文書の新規生
成など、ステップ503で文書コンポーネントのロック
を行わなかった場合もスキップされる。次に、文書構造
の変更を伴うグローバルトランザクションであったか否
かをステップ501と同様に再度判定し(506)、文
書構造の変更を伴う場合には、文書構造管理部104を
通じて文書構造を変更すると共にその変更後の文書構造
を記憶装置107に保存する(507)。そして、ステ
ップ502でロックした文書コンポーネントがあった場
合には、そのロックを解除する(508)。
【0057】ステップ507における文書構造の変更で
は、例えば既作成の文書に対して新たな文書コンポーネ
ントが生成された場合、文書構造管理部104は、既作
成の文書構造データ216中に新規作成された文書コン
ポーネントにかかる情報を追加し、文書コンポーネント
の削除の場合にはその情報を削除するなどの処理が行わ
れる。
【0058】以上のようにして、図4のステップ403
において、グローバルトランザクションの実行が文書サ
ーバ100において実行される。
【0059】(3)ローカルトランザクションの送信 文書サーバ100においてグローバルトランザクション
の実行が終了すると、図4のステップ420が実行さ
れ、ローカルトランザクションの送信処理が行われる。
送信するローカルトランザクションは、基本的にはステ
ップ401で受信したトランザクションに基づき生成し
たグローバルトランザクションである。但し、文書の新
規生成のトランザクションの場合は、図7の処理で生成
された文書オブジェクト210に設定した文書識別子2
11がトランザクションデータ254内の文書識別子2
542に設定され、文書コンポーネントの新規生成のト
ランザクションの場合は、図9の処理で生成された文書
コンポーネントオブジェクト230に設定した文書コン
ポーネント識別子231がトランザクションデータ25
4内の文書コンポーネント識別子2543に設定され
る。なお、これらの識別子はステップ402で保存され
たグローバルトランザクションのトランザクションデー
タにも設定される。
【0060】送信すべきローカルトランザクションはト
ランザクション管理部105から通信処理部101に渡
される。通信処理部101は、そのローカルトランザク
ションのトランザクションデータ内の文書コンポーネン
ト識別子2543がNULL値であれば同データ内の文
書識別子2542をアクセス制御管理部102に通知
し、文書コンポーネント識別子2543がNULL値で
なければその文書コンポーネント識別子2543をアク
セス制御管理部102に通知する。アクセス制御管理部
102は、通知された文書識別子2542または文書コ
ンポーネント識別子2543に対応する文書オブジェク
ト210または文書コンポーネントオブジェクト230
中のアクセス属性212または232を、データ管理部
106を介して記憶装置107に保存された文書オブジ
ェクトまたは文書コンポーネントオブジェクトから検索
し、得られたアクセス属性から、当該ローカルトランザ
クションを送信すべきクライアントを決定する(42
1)。従って、文書の新規生成にかかるローカルトラン
ザクションの場合、図7の処理で作成された文書オブジ
ェクト210中のアクセス属性212に従って、送信す
べきクライアントが決定される。また、文書コンポーネ
ントの新規生成や文書コンポーネントのデータの変更等
のローカルトランザクションの場合、図9の処理で作成
された文書コンポーネントオブジェクト230中のアク
セス属性232に従って、送信すべきクライアントが決
定される。
【0061】決定された送信先クライアントの情報はア
クセス制御管理部102から通信処理部101に通知さ
れ、通信処理部101は、送信すべき各クライアントに
対して、ローカルトランザクションを送信する(42
2)。この送信処理においては、各送信先のクライアン
ト毎に送信確認を得るようにし、若し、トランザクショ
ンの送信が、クライアントがダウンしていたり、ネット
ワーク的に切断されていることが原因で失敗した場合に
は、そのことを記録しておき、送信確認が得られなかっ
たクライアントが再び起動したり、ネットワーク的に接
続されて、文書サーバ100と通信が可能となった場合
に、記憶装置107に保存してあるトランザクションを
利用して再度送信を試みる。これにより、或るトランザ
クションに関連するクライアントには、時間や障害を越
えて、必ずローカルトランザクションが送信されること
を保証している。
【0062】(4)文書サーバから送信されたローカル
トランザクションのクライアント側での処理 図6はクライアント側におけるローカルトランザクショ
ンの処理例を示すフローチャートである。文書サーバ1
00からネットワークを通じて送信されたローカルトラ
ンザクションは、クライアント110の通信処理部11
1で受信され、トランザクション管理部115に伝達さ
れる(601)。トランザクション管理部115は、こ
のトランザクションのトランザクションオブジェクトか
らグローバル識別番号261を読み出し(602)、記
憶装置117に記録されている処理済みグローバル識別
番号に含まれるか否かを確認する(603)。含まれて
いる場合は、何らかの理由で処理済みのローカルトラン
ザクションが文書サーバ100から再度送信されてきた
ことになるので、処理を終了する。
【0063】受信したローカルトランザクションが未処
理であった場合、トランザクション管理部115は、そ
のローカルトランザクションを読み出し(604)、文
書構造の変更を伴うトランザクションであるか否かを判
定する(605)。文書構造の変更を伴うトランザクシ
ョンとしては、文書の新規生成,文書コンポーネントの
新規生成,文書の削除,文書コンポーネントの削除等が
ある。文書構造の変更を伴わないトランザクションとし
ては、文書コンポーネントへのデータの入力,データの
変更等がある。
【0064】文書構造の変更を伴うトランザクションで
あった場合、そのトランザクションで直接変更対象とな
っている文書コンポーネントを含む文書コンポーネント
を仮想文書構造管理部114で管理される文書構造デー
タ226から検索し、あればそれをロックする(60
6)。例えば、文書コンポーネントα中に新たな文書コ
ンポーネントβを作成するようなトランザクションの場
合、ステップ606において文書コンポーネントαがロ
ックされる。なお、文書の新規生成のトランザクション
は文書構造の変更を伴うトランザクションであるが、文
書コンポーネントは未だ作成されていないので、ステッ
プ606はスキップされる。
【0065】次にトランザクション管理部115は、仮
想文書コンポーネント管理部13を通じて、今回のロー
カルトランザクションで直接変更対象となっている文書
コンポーネントをロックし(607)、その文書コンポ
ーネントの実際のデータを自クライアントが現在保有し
ているか否かを判定し(608)、保有していなけれ
ば、文書識別子および文書コンポーネント識別子を指定
した文書コンポーネントデータ要求を通信処理部111
を通じて文書サーバ100に送信することにより、デー
タを取得する(609)。なお、自クライアントが文書
コンポーネントの実際のデータを保有しているか否かの
判定は、仮想文書コンポーネントオブジェクト240の
データポインタ244の値に基づいて行い、NULL値
であればデータ無し、特定のアドレスを指している場合
にはデータ有りとする。また、文書サーバ100側で
は、上記文書コンポーネントデータ要求は、通信処理部
101で受信されて文書構造管理部104を通じて文書
コンポーネント管理部103に伝達され、文書コンポー
ネント管理部103がデータ管理部106を介して記憶
装置107から該当する文書コンポーネントのデータを
読み出し、それを文書構造管理部104を通じて通信処
理部101に送り、この通信処理部101から要求元の
クライアント110へと送信される。
【0066】なお、文書や文書コンポーネントの新規生
成トランザクションの場合には、これらのステップ60
7〜609はスキップされる。
【0067】次いでトランザクション管理部115は、
今回のトランザクションにかかる操作を実行する(61
0)。例えば今回のトランザクションが或る文書の或る
文書コンポーネントへデータを入力する操作やデータを
変更する操作であった場合、仮想文書コンポーネント管
理部113を通じて該当する文書コンポーネントへデー
タを入力したり、データを変更する処理を実行する。ま
た、文書コンポーネントの削除であった場合には、仮想
文書コンポーネント管理部113を通じて該当する文書
コンポーネントを削除する。更に、文書の生成操作,文
書コンポーネントの生成操作であった場合には、それに
応じた処理が実行される。図8にローカルトランザクシ
ョンが文書の生成操作にかかるものであった場合のステ
ップ610の処理例を、図10にローカルトランザクシ
ョンが文書コンポーネントの生成操作にかかるものであ
った場合のステップ610の処理例を、それぞれ示す。
【0068】文書の生成操作にかかるローカルトランザ
クションの実行では、制御が仮想文書構造管理部114
に渡される。仮想文書構造管理部114は、図8に示す
ように、ローカルトランザクションのトランザクション
データ264内から文書識別子2642を取り出す(8
01)。次に、この取り出した文書識別子2642を持
つ仮想文書オブジェクト220を生成する(802)。
ここで生成される仮想文書オブジェクト220は、図2
(d)の仮想文書オブジェクト220において、文書識
別子221に上記取得した文書識別子を設定したもので
あり、アクセス属性222,文書属性223はこの時点
ではNULL値である。また、文書構造データ226を
格納するためのファイル等の記憶領域を記憶装置117
に確保し、それへのポインタを文書構造データポインタ
224に設定する。また、アクセス時刻225に現在時
刻を設定する。次に、仮想文書構造管理部114は、ロ
ーカルトランザクションのトランザクションデータ26
4に含まれる情報(アクセス属性2644,文書属性2
645など)を参照して、ステップ802で生成した仮
想文書オブジェクト220のアクセス属性222および
文書属性223を設定する(803)。そして、この仮
想文書オブジェクト220をデータ管理部116を介し
て記憶装置117に保存し(804)、更にその仮想文
書オブジェクト220をアプリケーション120に渡す
(805)。この後、アプリケーション120は、ユー
ザの操作に応じてこの仮想文書オブジェクト220に対
して操作を行うと、文書サーバ100上に存在する文書
オブジェクト210に対応する操作がトランザクション
として発行されるようになる。なお、仮想文書オブジェ
クト220のアクセス属性222中にアクセス制限が設
定されている場合、可能な操作はその制限内のものに限
られる。
【0069】また、文書コンポーネントの生成操作にか
かるローカルトランザクションの実行では、制御が仮想
文書コンポーネント管理部113に渡る。仮想文書コン
ポーネント管理部113は、図10に示すように、ロー
カルトランザクションのトランザクションデータ264
内から文書コンポーネント識別子2643を取り出す
(1001)。次に、この取得した文書コンポーネント
識別子2643を持つ仮想文書コンポーネントオブジェ
クト240を生成する(1002)。ここで生成される
仮想文書コンポーネントオブジェクト240は、図2
(e)の仮想文書コンポーネントオブジェクト240に
おいて、文書コンポーネント識別子241に上記取得し
た文書コンポーネント識別子を設定したものであり、ア
クセス属性242,属性243はこの時点ではNULL
値である。また、文書コンポーネントのデータ246を
格納するためのファイル等の記憶領域を記憶装置117
に確保し、それへのポインタをデータポインタ244に
設定する。また、アクセス時刻245に現在時刻を設定
する。次に、仮想文書コンポーネント管理部113は、
ローカルトランザクションのトランザクションデータ2
64に含まれる情報(アクセス属性2644,属性26
45など)を参照して、ステップ1002で生成した仮
想文書コンポーネントオブジェクト240のアクセス属
性242および属性243を設定する(1003)。そ
して、この仮想文書コンポーネントオブジェクト240
をデータ管理部116を介して記憶装置117に保存し
(1004)、更にその仮想文書コンポーネントオブジ
ェクトをアプリケーション120に渡す(1005)。
この後、アプリケーション120がユーザからの操作に
応じてこの仮想文書コンポーネントオブジェクトに対し
て操作を行うと、文書サーバ100上に存在する文書コ
ンポーネントオブジェクト230に対する操作がトラン
ザクションとして発行されるようになる。なお、仮想文
書コンポーネントオブジェクト240のアクセス属性2
42中にアクセス制限が設定されている場合、可能な操
作はその制限内のものに限られる。
【0070】再び、図6を参照すると、ローカルトラン
ザクションにかかる操作の実行を終了したトランザクシ
ョン管理部115は、直接変更対象とした文書コンポー
ネントのロックを解除する(611)。但し、削除のよ
うに対象となる文書コンポーネントが無くなる場合に
は、ロック解除はスキップされる。また、文書の新規生
成など、ステップ607で文書コンポーネントのロック
を行わなかった場合もスキップされる。次に、文書構造
の変更を伴うローカルトランザクションであったか否か
をステップ605と同様に再度判定し(612)、文書
構造の変更を伴う場合には、仮想文書構造管理部114
を通じて文書構造を変更する(613)。そして、ステ
ップ606でロックした文書コンポーネントがあった場
合には、そのロックを解除する(614)。
【0071】ステップ613における文書構造の変更で
は、例えば既作成の文書に対して新たな文書コンポーネ
ントが生成された場合、仮想文書構造管理部114は、
既作成の文書構造データ中に新規作成された文書コンポ
ーネントにかかる情報を追加し、また文書コンポーネン
トの削除の場合にはその情報を削除する。なお、該当す
る文書構造データ226が存在しないときは文書サーバ
100に対して文書構造データの送信を要求して適宜に
取得する。自クライアントが文書構造データ226を保
有しているか否かの判定は、仮想文書オブジェクト22
0の文書構造データポインタ224の値に基づいて行
い、NULL値であればデータ無し、特定のアドレスを
指している場合にはデータ有りとする。また、文書サー
バ100側では、上記文書構造データ要求は、通信処理
部101で受信されて文書構造管理部104に伝達さ
れ、文書構造管理部104は、データ管理部106を介
して記憶装置107から該当する文書構造データ216
および関連する文書コンポーネントオブジェクト230
を読み出す。そして、各文書コンポーネントオブジェク
ト230のアクセス属性232を参照し、要求元のクラ
イアントに見せる文書コンポーネントだけの文書構造デ
ータを作成し、それを通信処理部101を通じて要求元
のクライアント110へ送信する。
【0072】最後に、トランザクション管理部115
は、ステップ615で当該ローカルトランザクションの
グローバル識別番号を処理済みの番号として記憶装置1
17に記録する。
【0073】以上のような動作を文書サーバ100およ
び各クライアント110が行うことより、同一文書の或
る部分は全員で同じ内容に対して編集可能とし、別の部
分は特定の者やグループでのみ編集可能とし、更に別の
部分は自分専用のメモとして利用することができる文書
共有管理が実現できる。
【0074】なお、作成された文書オブジェクトおよび
文書コンポーネントオブジェクトは文書サーバ100の
記憶装置107に保存されているため、後刻に再利用す
ることが可能である。即ち、何れかのクライアント11
0から、文書識別子を指定した文書表示要求が文書サー
バ100に送られてきた場合、文書構造管理部104
は、その文書識別子を持つ文書オブジェクト210を記
憶装置107から検索して取得し、そのアクセス属性2
12が要求元クライアントでの文書の利用を許可してい
る場合には、文書オブジェクト210を要求元に送信
し、また、その文書中の文書コンポーネントであって要
求元クライアントでの利用が許可されている文書コンポ
ーネントの文書コンポーネントオブジェクト230を記
憶装置107から検索して取得し、要求元クライアント
に送信する。
【0075】次に、本発明の他の実施の形態について説
明する。
【0076】(1) 文書サーバ100はローカルトラ
ンザクションを送信する際に、発行元のクライアントに
対しては、ローカルトランザクション全体を送らずに、
文書サーバに固有のデータを含む一部のデータのみを送
信する。即ち、上記の実施の形態では、図4のステップ
420において、文書サーバ100は、通知すべき各ク
ライアントに対してローカルトランザクション全体を送
信したが、この送信するローカルトランザクションは元
々或るクライアントから送信されたトランザクションで
あり、そのクライアントは送信時にそのトランザクショ
ンを保存しているため(図3のステップ313)、ロー
カルトランザクション全体を送信するのは無駄である。
そこで、別の実施の形態としては、発行元のクライアン
トに対しては、そのクライアントが保持していないデー
タのみを送信する。例えば、文書コンポーネントのデー
タの入力や変更等のトランザクションを発行したクライ
アントには、トランザクションデータは不要なので、例
えばトランザクションオブジェクト250のトランザク
ションデータポインタ253をNULLにしたデータを
送信し、グローバル識別番号だけを通知する。これによ
り、必要なデータ送信量が削減され、ネットワークの負
荷を抑えることができる。
【0077】(2)文書コンポーネントに対する編集操
作にかかるトランザクションを受信した文書サーバ10
0は、そのトランザクションをグローバルトランザクシ
ョンとして自ら処理する際に、最新の編集内容は自ら保
持せずに、その文書コンポーネントの識別子とその最新
の編集内容を保持するクライアントとの対応関係を記憶
装置107に保存しておき、実際の最新の編集内容はク
ライアント110側で保持する。このような変形例で
は、文書の再利用時、文書サーバ100は、文書コンポ
ーネントの識別子とその最新の編集内容を保持するクラ
イアントとの対応関係を調べて、該当するクライアント
から最新の編集内容を取得し、それを再利用先のクライ
アントに送信するといった処理が必要になるが、全ての
文書コンポーネントを文書サーバで一括管理する場合に
比べて、文書サーバに必要な記憶容量が削減できる利点
がある。更に、このような形態に加えて、文書サーバ1
00側の文書コンポーネント管理部103をクライアン
ト110側の仮想文書コンポーネント管理部113と同
様に使い、各クライアント110が管理する文書コンポ
ーネントの最新版を一時的に記憶しておくことで、クラ
イアントがダウンしたり、ネットワーク的に切断されて
いても、文書サーバ100で保存している最新版の文書
コンポーネントにアクセスできるようにすることもでき
る。
【0078】(3)各クライアントにおいて、トランザ
クションをサーバに送信する際、意味的に密接に関連す
る複数のトランザクションを一つのトランザクションと
して送出する。具体的には、図3のステップ313の
後、直ちに、処理を終え、その後、アプリケーション1
20で指定された操作が続いた場合は、保存しているト
ランザクションとともに、ステップ314でまとめて一
つのトランザクションとして送信する。このようにする
ことで、アプリケーション120で意味のある大きな単
位のトランザクションを実行できるようになる。
【0079】(4)文書サーバ100に、文書識別子や
文書コンポーネント識別子の名前管理を分散して管理す
るモジュールを設け、複数の文書サーバによって文書を
管理する。このような構成をとる場合には、図3のトラ
ンザクションの送信手順において、ステップ311の前
に文書コンポーネント識別子を手がかりに文書サーバの
名前管理部から文書コンポーネントを管理している文書
サーバを探し、その文書サーバに対し、ステップ314
でトランザクションを送信する。
【0080】
【発明の効果】以上説明したように本発明によれば以下
のような効果を得ることができる。
【0081】複数のクライアントで同じ文書を共有し、
読み書きする場合に、一つの文書でありながら、その文
書を構成する文書コンポーネント単位で、任意のクライ
アントだけしか見たり、使ったりできない部分を混在さ
せることができるため、同一文書の上で様々なグループ
ワークを同時に進行させるような使い方が可能になると
いう効果がある。
【0082】また、文書サーバとクライアントとでトラ
ンザクションに基づく処理を行うので、クライアントを
ネットワークから切り離して利用した後に、再び、文書
サーバと接続した場合に、文書サーバから送られてくる
トランザクションをクライアントが処理することで文書
内容の同期をとることができ、またクライアントからト
ランザクションを文書サーバに送ることで処理を続行で
きる。このため、モバイル環境における携帯端末上の文
書管理方法としても利用可能である。
【図面の簡単な説明】
【図1】本発明を適用した分散処理システムの一例を示
すブロック図である。
【図2】本発明の実施の形態で使用する各種オブジェク
トの構成例を示す図である。
【図3】クライアントにおけるトランザクションの生成
手順例を示すフローチャートである。
【図4】文書サーバにおけるグローバルトランザクショ
ンの処理例を示すフローチャートである。
【図5】図4のステップ403で行われるグローバルト
ランザクションの実行手順の一例を示すフローチャート
である。
【図6】クライアント側におけるローカルトランザクシ
ョンの処理例を示すフローチャートである。
【図7】グローバルトランザクションが文書の生成操作
にかかるものであった場合の図5のステップ504の処
理例を示すフローチャートである。
【図8】ローカルトランザクションが文書の生成操作に
かかるものであった場合の図6のステップ610の処理
例を示すフローチャートである。
【図9】グローバルトランザクションが文書コンポーネ
ントの生成操作にかかるものであった場合の図5のステ
ップ504の処理例を示すフローチャートである。
【図10】ローカルトランザクションが文書コンポーネ
ントの生成操作にかかるものであった場合の図6のステ
ップ610の処理例を示すフローチャートである。
【図11】本発明の作用の説明に用いる分散処理システ
ムの例を示す図である。
【図12】本発明の作用の説明に用いる文書の構造の例
を示す図である。
【図13】本発明の作用の説明に用いるシーケンスチャ
ートである。
【図14】本発明の作用の説明に用いる文書構造データ
の例を示す図である。
【符号の説明】
100…文書サーバ 101…通信処理部 102…アクセス制御管理部 103…文書コンポーネント管理部 104…文書構造管理部 105…トランザクション管理部 106…データ管理部 107…記憶装置 110…クライアント 111…通信処理部 113…仮想文書コンポーネント管理部 114…仮想文書構造管理部 115…トランザクション管理部 116…データ管理部 117…記憶装置 118…文書表示操作部 119…文書フレームワーク 120…アプリケーション
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 17/21 G06F 15/20 596B

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のクライアントがネットワークを介
    して文書サーバに接続された分散システムにおける文書
    共有管理方法において、 各クライアントのアプリケーションを通じてユーザが文
    書または文書の一部を構成する文書コンポーネントの生
    成操作を行った時に、文書または文書コンポーネントの
    生成にかかるトランザクションであって、その生成する
    文書または文書コンポーネントのアクセス属性を指定し
    たトランザクションを、そのクライアントから文書サー
    バに送信する段階、 文書または文書コンポーネントの生成にかかるトランザ
    クションを受信した文書サーバが、そのトランザクショ
    ンをグローバルトランザクションとして自ら処理して文
    書オブジェクトまたは文書コンポーネントオブジェクト
    を生成すると共に、そのトランザクションで指定された
    アクセス属性に応じたクライアントに対してのみ、その
    トランザクションをローカルトランザクションとして送
    信する段階、 文書または文書コンポーネントの生成にかかるローカル
    トランザクションを受信した各クライアントが、そのト
    ランザクションを実行して、文書サーバ側で生成された
    文書オブジェクトまたは文書コンポーネントオブジェク
    トに対応する仮想文書オブジェクトまたは仮想文書コン
    ポーネントオブジェクトを生成し、アプリケーションに
    伝達する段階、 各クライアントのアプリケーションを通じてユーザが文
    書コンポーネントに対して編集操作を行った時に、その
    編集にかかるトランザクションを、そのクライアントか
    ら文書サーバに送信する段階、 文書コンポーネントに対する編集操作にかかるトランザ
    クションを受信した文書サーバが、そのトランザクショ
    ンをグローバルトランザクションとして自ら処理して該
    当する文書コンポーネントオブジェクトを操作すると共
    に、その文書コンポーネントにかかるアクセス属性に応
    じたクライアントに対してのみ、そのトランザクション
    をローカルトランザクションとして送信する段階、 文書コンポーネントに対する編集操作にかかるトランザ
    クションを受信した各クライアントが、そのトランザク
    ションを実行して、該当する仮想文書コンポーネントオ
    ブジェクトを操作し、アプリケーションに伝達する段
    階、 を含むことを特徴とする文書共有管理方法。
  2. 【請求項2】 文書サーバにおいて、グローバルトラン
    ザクションを蓄積しておき、ローカルトランザクション
    の送信確認が得られなかったクライアントに対しては、
    前記蓄積されたグローバルトランザクションに基づき再
    度送信を試みることを特徴とする請求項1記載の文書共
    有管理方法。
  3. 【請求項3】 各クライアントは文書サーバに送信した
    トランザクションを保存し、文書サーバはローカルトラ
    ンザクションを送信する際に、発行元のクライアントに
    対しては、ローカルトランザクション全体を送らずに、
    文書サーバに固有のデータを含む一部のデータのみを送
    信することを特徴とする請求項1記載の文書共有管理方
    法。
  4. 【請求項4】 文書コンポーネントに対する編集操作に
    かかるトランザクションを受信した文書サーバが、その
    トランザクションをグローバルトランザクションとして
    自ら処理する際に、最新の編集内容は自ら保持せずに、
    その文書コンポーネントの識別子とその最新の編集内容
    を保持するクライアントとの対応関係を保存しておき、
    実際の最新の編集内容はクライアント側で保持するよう
    にしたことを特徴とする請求項1記載の文書共有管理方
    法。
  5. 【請求項5】 各クライアントにおいて、トランザクシ
    ョンをサーバに送信する際、意味的に密接に関連する複
    数のトランザクションを一つのトランザクションとして
    送出するようにしたことを特徴とする請求項1記載の文
    書共有管理方法。
  6. 【請求項6】 文書サーバに識別子の名前管理を分散し
    て管理する機能を設け、複数の文書サーバによって文書
    を管理することを特徴とする請求項1記載の文書共有管
    理方法。
JP9047333A 1997-02-14 1997-02-14 文書共有管理方法 Expired - Fee Related JP2996197B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9047333A JP2996197B2 (ja) 1997-02-14 1997-02-14 文書共有管理方法
US09/023,762 US6446093B2 (en) 1997-02-14 1998-02-13 Document sharing management method for a distributed system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9047333A JP2996197B2 (ja) 1997-02-14 1997-02-14 文書共有管理方法

Publications (2)

Publication Number Publication Date
JPH10228402A true JPH10228402A (ja) 1998-08-25
JP2996197B2 JP2996197B2 (ja) 1999-12-27

Family

ID=12772304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9047333A Expired - Fee Related JP2996197B2 (ja) 1997-02-14 1997-02-14 文書共有管理方法

Country Status (2)

Country Link
US (1) US6446093B2 (ja)
JP (1) JP2996197B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326274A (ja) * 1997-03-24 1998-12-08 Nippon Telegr & Teleph Corp <Ntt> デジタル・コンテンツ編集方法、装置、およびデジタル・コンテンツ編集プログラムを記録した記録媒体
JP2003532220A (ja) * 2000-05-01 2003-10-28 インヴォーク ソリューションズ, インク 大規模グループ対話
US6704907B1 (en) 1997-03-24 2004-03-09 Nippon Telegraph And Telephone Corporation Digital contents editing method and apparatus thereof
JP2005539423A (ja) * 2002-09-16 2005-12-22 サムスン エレクトロニクス カンパニー リミテッド メタデータ暗号化及び復号化方法と暗号化されたメタデータ管理方法及びそのシステム
JP2007048011A (ja) * 2005-08-09 2007-02-22 Fuji Xerox Co Ltd 電子会議プログラム、電子会議端末装置、電子会議システム
JP2008117051A (ja) * 2006-11-01 2008-05-22 Hitachi Software Eng Co Ltd 文書作成システム
JP2011154503A (ja) * 2010-01-27 2011-08-11 Fujitsu Telecom Networks Ltd 共有ファイルの世代管理方法および装置
JP2012079042A (ja) * 2010-09-30 2012-04-19 Yahoo Japan Corp ファイル同期システム、方法及びプログラム
JP2014182716A (ja) * 2013-03-21 2014-09-29 Casio Comput Co Ltd サーバ装置、システム及びプログラム
US10339329B2 (en) 2014-09-25 2019-07-02 International Business Machines Corporation Controlling access to data in a database
KR20220125485A (ko) * 2021-03-05 2022-09-14 쉬프트정보통신 주식회사 웹문서 협업개발시스템 및 웹문서 협업개발방법

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1125076A (ja) * 1997-06-30 1999-01-29 Fujitsu Ltd 文書管理装置および文書管理プログラム記憶媒体
JP3915331B2 (ja) * 1999-08-10 2007-05-16 富士ゼロックス株式会社 共有ドキュメントの編集装置及び編集方法
US6952703B1 (en) * 1999-10-12 2005-10-04 Cisco Technology, Inc. Subsystem application notification method in a centralized router database
US6704752B1 (en) 1999-10-12 2004-03-09 Cisco Technology, Inc. Method and system for executing, tracking and restoring temporary router configuration change using a centralized database
US6728723B1 (en) 1999-10-12 2004-04-27 Cisco Technology, Inc. Method and system for verifying configuration transactions managed by a centralized database
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
JP4201447B2 (ja) * 1999-12-27 2008-12-24 富士通株式会社 分散処理システム
KR100331685B1 (ko) * 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
JP3549097B2 (ja) * 2000-04-26 2004-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 共同作業オブジェクトのオーナ識別方法、コンピュータシステムおよびコンピュータ可読な記録媒体
JP2002063167A (ja) * 2000-08-16 2002-02-28 Fuji Xerox Co Ltd オブジェクト管理方法および装置
AU2001287421A1 (en) * 2000-08-21 2002-03-04 Thoughtslinger Corporation Simultaneous multi-user document editing system
US20020059090A1 (en) * 2000-11-10 2002-05-16 Noriyuki Yanagimachi Working state administration system, job state administration system and working-job state administration system
US7139977B1 (en) * 2001-01-24 2006-11-21 Oracle International Corporation System and method for producing a virtual online book
US20090100149A1 (en) * 2001-05-21 2009-04-16 Greg Arnold Method and system for using tokens to conduct file sharing transactions between handhelds and a web service
US7016901B2 (en) * 2001-07-31 2006-03-21 Ideal Scanners & Systems, Inc. System and method for distributed database management of graphic information in electronic form
JP4664572B2 (ja) * 2001-11-27 2011-04-06 富士通株式会社 文書配布方法および文書管理方法
US6670847B1 (en) * 2002-01-18 2003-12-30 Xilinx, Inc. Inductive amplifier with a feed forward boost
US7451236B2 (en) * 2002-02-26 2008-11-11 Ricoh Company, Ltd. Document distribution and storage system
GB2395300A (en) * 2002-11-07 2004-05-19 Chasseral Ltd Providing access to component parts of a document
WO2005008375A2 (en) * 2003-07-03 2005-01-27 General Motors Corporation System and method for electronically managing remote review of documents
US7555530B2 (en) * 2003-12-22 2009-06-30 Xerox Corporation Systems and methods for providing documents based on document identifiers
JP4069905B2 (ja) * 2004-06-28 2008-04-02 コニカミノルタビジネステクノロジーズ株式会社 共有ファイル管理システムおよびサーバー
JP2006024059A (ja) * 2004-07-09 2006-01-26 Fuji Xerox Co Ltd 文書管理用コンピュータプログラムならびに文書管理装置および方法
US20060265395A1 (en) * 2005-05-19 2006-11-23 Trimergent Personalizable information networks
US20060265396A1 (en) * 2005-05-19 2006-11-23 Trimergent Personalizable information networks
US20060265394A1 (en) * 2005-05-19 2006-11-23 Trimergent Personalizable information networks
US9092928B2 (en) * 2005-07-01 2015-07-28 The Invention Science Fund I, Llc Implementing group content substitution in media works
US8126938B2 (en) 2005-07-01 2012-02-28 The Invention Science Fund I, Llc Group content substitution in media works
US9583141B2 (en) 2005-07-01 2017-02-28 Invention Science Fund I, Llc Implementing audio substitution options in media works
US9426387B2 (en) 2005-07-01 2016-08-23 Invention Science Fund I, Llc Image anonymization
US9230601B2 (en) 2005-07-01 2016-01-05 Invention Science Fund I, Llc Media markup system for content alteration in derivative works
US9065979B2 (en) 2005-07-01 2015-06-23 The Invention Science Fund I, Llc Promotional placement in media works
JP4661620B2 (ja) * 2006-02-14 2011-03-30 富士ゼロックス株式会社 文書管理装置およびプログラム
US8875249B2 (en) * 2006-03-01 2014-10-28 Oracle International Corporation Minimum lifespan credentials for crawling data repositories
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US8214394B2 (en) 2006-03-01 2012-07-03 Oracle International Corporation Propagating user identities in a secure federated search system
US9177124B2 (en) 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US8433712B2 (en) * 2006-03-01 2013-04-30 Oracle International Corporation Link analysis for enterprise environment
US8707451B2 (en) * 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US8868540B2 (en) 2006-03-01 2014-10-21 Oracle International Corporation Method for suggesting web links and alternate terms for matching search queries
US7941419B2 (en) 2006-03-01 2011-05-10 Oracle International Corporation Suggested content with attribute parameterization
JP2007328489A (ja) * 2006-06-07 2007-12-20 Fuji Xerox Co Ltd 文書管理装置及びプログラム
US7940926B2 (en) * 2006-06-08 2011-05-10 Novell, Inc. Cooperative encoding of data by pluralities of parties
US8453052B1 (en) 2006-08-16 2013-05-28 Google Inc. Real-time document sharing and editing
US9183321B2 (en) 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US8046328B2 (en) * 2007-03-30 2011-10-25 Ricoh Company, Ltd. Secure pre-caching through local superdistribution and key exchange
US8885832B2 (en) * 2007-03-30 2014-11-11 Ricoh Company, Ltd. Secure peer-to-peer distribution of an updatable keyring
US9215512B2 (en) 2007-04-27 2015-12-15 Invention Science Fund I, Llc Implementation of media content alteration
US7996392B2 (en) 2007-06-27 2011-08-09 Oracle International Corporation Changing ranking algorithms based on customer settings
US8316007B2 (en) 2007-06-28 2012-11-20 Oracle International Corporation Automatically finding acronyms and synonyms in a corpus
US7937663B2 (en) * 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
WO2009033248A1 (en) * 2007-09-10 2009-03-19 Novell, Inc. A method for efficient thread usage for hierarchically structured tasks
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8028229B2 (en) 2007-12-06 2011-09-27 Microsoft Corporation Document merge
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US20090157759A1 (en) * 2007-12-17 2009-06-18 Discoverybox, Inc. Apparatus and method for document management
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) * 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US9176943B2 (en) 2008-05-12 2015-11-03 Adobe Systems Incorporated Comment presentation in electronic documents
US9329744B2 (en) 2008-05-12 2016-05-03 Adobe Systems Incorporated Segmented scroll bar
US9418054B2 (en) 2008-05-12 2016-08-16 Adobe Systems Incorporated Document comment management
US7949633B1 (en) 2008-05-12 2011-05-24 Adobe Systems Incorporated Shared edit access of electronic content
US7945595B1 (en) 2008-05-12 2011-05-17 Adobe Systems Incorporated System and method for generating an item list in electronic content
US10055392B2 (en) 2008-05-12 2018-08-21 Adobe Systems Incorporated History-based archive management
US8996621B2 (en) 2008-05-12 2015-03-31 Adobe Systems Incorporated Asynchronous comment updates
US8893017B2 (en) 2008-05-29 2014-11-18 Adobe Systems Incorporated Tracking changes in a database tool
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US20100106693A1 (en) * 2008-10-23 2010-04-29 Wachovia Corporation Image appliance system and method
US7962498B2 (en) * 2008-12-30 2011-06-14 Sap Ag Generating attribute-specific electronic documents
US8327278B2 (en) * 2009-02-17 2012-12-04 Microsoft Corporation Synchronizing metadata describes user content updates and an indication of user gestures being performed within the document, and across client systems using different communication channels
US8613108B1 (en) * 2009-03-26 2013-12-17 Adobe Systems Incorporated Method and apparatus for location-based digital rights management
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US9081953B2 (en) 2012-07-17 2015-07-14 Oracle International Corporation Defense against search engine tracking
US20140032342A1 (en) * 2012-07-24 2014-01-30 Scott Joseph Tyburski Menu creation and design system
JP6052816B2 (ja) 2014-10-27 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 電子著作物のコンテンツの二次利用を支援する方法、並びに、電子著作物のコンテンツの二次利用を支援する為のサーバ・コンピュータ、及びそのサーバ・コンピュータ用プログラム
US20160306782A1 (en) * 2015-04-20 2016-10-20 Infraware Inc. Method and apparatus for sharing common documents using dualized server
US20240305567A1 (en) * 2023-03-06 2024-09-12 Capital One Services, Llc Systems and methods for balancing communication loads across computer networks for computer communication tasks with variable transmission confirmations and network delivery locations

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0668044A (ja) 1992-08-13 1994-03-11 Nippon Telegr & Teleph Corp <Ntt> 分散システムのネットワーク利用ファイル共有方法
JPH0683691A (ja) 1992-08-31 1994-03-25 Fujitsu Ltd システム間のファイル共有方式
JPH06175905A (ja) 1992-12-03 1994-06-24 Fujitsu Ltd 暗号化ファイル共有方法
JPH0750884A (ja) 1993-08-06 1995-02-21 Fujitsu Ltd 監視制御装置
JPH0785020A (ja) 1993-09-20 1995-03-31 Hitachi Ltd 文書管理方法
JPH07319828A (ja) 1994-05-24 1995-12-08 Nec Corp 共有ディスク装置システム運用方式
JPH0877201A (ja) 1994-09-09 1996-03-22 Toshiba Corp 文書データベース検索システム及び文書データベース検索方法
US5586312A (en) * 1994-10-11 1996-12-17 Unisys Corporation Method and apparatus for using an independent transaction processing application as a service routine
US5659735A (en) * 1994-12-09 1997-08-19 Object Technology Licensing Corp. Object-oriented system for program version and history database management system for various program components
US5787175A (en) * 1995-10-23 1998-07-28 Novell, Inc. Method and apparatus for collaborative document control
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5987454A (en) * 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US5928363A (en) * 1997-08-27 1999-07-27 International Business Machines Corporation Method and means for preventing unauthorized resumption of suspended authenticated internet sessions using locking and trapping measures

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326274A (ja) * 1997-03-24 1998-12-08 Nippon Telegr & Teleph Corp <Ntt> デジタル・コンテンツ編集方法、装置、およびデジタル・コンテンツ編集プログラムを記録した記録媒体
US6704907B1 (en) 1997-03-24 2004-03-09 Nippon Telegraph And Telephone Corporation Digital contents editing method and apparatus thereof
JP2003532220A (ja) * 2000-05-01 2003-10-28 インヴォーク ソリューションズ, インク 大規模グループ対話
JP2005539423A (ja) * 2002-09-16 2005-12-22 サムスン エレクトロニクス カンパニー リミテッド メタデータ暗号化及び復号化方法と暗号化されたメタデータ管理方法及びそのシステム
JP2007048011A (ja) * 2005-08-09 2007-02-22 Fuji Xerox Co Ltd 電子会議プログラム、電子会議端末装置、電子会議システム
JP2008117051A (ja) * 2006-11-01 2008-05-22 Hitachi Software Eng Co Ltd 文書作成システム
JP2011154503A (ja) * 2010-01-27 2011-08-11 Fujitsu Telecom Networks Ltd 共有ファイルの世代管理方法および装置
JP2012079042A (ja) * 2010-09-30 2012-04-19 Yahoo Japan Corp ファイル同期システム、方法及びプログラム
JP2014182716A (ja) * 2013-03-21 2014-09-29 Casio Comput Co Ltd サーバ装置、システム及びプログラム
US10339329B2 (en) 2014-09-25 2019-07-02 International Business Machines Corporation Controlling access to data in a database
US11036878B2 (en) 2014-09-25 2021-06-15 International Business Machines Corporation Controlling access to data in a database
KR20220125485A (ko) * 2021-03-05 2022-09-14 쉬프트정보통신 주식회사 웹문서 협업개발시스템 및 웹문서 협업개발방법

Also Published As

Publication number Publication date
US6446093B2 (en) 2002-09-03
JP2996197B2 (ja) 1999-12-27
US20010042075A1 (en) 2001-11-15

Similar Documents

Publication Publication Date Title
JP2996197B2 (ja) 文書共有管理方法
JP3466857B2 (ja) 辞書更新方法および辞書更新システム
US9811601B2 (en) Content management application for an interactive environment
US6275831B1 (en) Data processing environment with methods providing contemporaneous synchronization of two or more clients
US5724578A (en) File managing system for managing files shared with a plurality of users
US6636875B1 (en) System and method for synchronizing related data elements in disparate storage systems
US7490112B1 (en) System and methods for synchronizing information among disparate datasets
US20080072141A1 (en) Computer-Based System and Computer Program Product for Collaborative Editing of Documents
JP2004528636A (ja) 自動データ更新
JPH11134227A (ja) ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
JP3673189B2 (ja) 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム
JPH11250152A (ja) 電子承認システムおよび電子承認システムのためのプログラムを記録した記録媒体
JPH10254890A (ja) ネットワークを利用した各種サービスへのアクセス方式
JPH11312154A (ja) 協同作業支援システム及び記録媒体
JPH11272538A (ja) 文書管理システム
JP2004078535A (ja) 排他制御装置、方法及びプログラム
JPH08227453A (ja) 分散画像編集システム
JPH1146194A (ja) 電子会議システム
JP2009223666A (ja) オブジェクト連携システム、オブジェクト連携方法およびプログラム
JP2001051995A (ja) ドキュメント編集装置
JP3309758B2 (ja) コンピュータネットワークにおける情報の管理方法および情報管理システム
US20030131009A1 (en) Transaction method and system
JP2001236254A (ja) データ共有装置、データ共有方法およびデータ共有プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2002108680A (ja) 複数ドメインサーバ間のデータ交換/共有方法及びデータ交換/共有システム
JP2912334B1 (ja) 文書管理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071029

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees