US20010042075A1 - Document sharing management method for a distributed system - Google Patents
Document sharing management method for a distributed system Download PDFInfo
- Publication number
- US20010042075A1 US20010042075A1 US09/023,762 US2376298A US2001042075A1 US 20010042075 A1 US20010042075 A1 US 20010042075A1 US 2376298 A US2376298 A US 2376298A US 2001042075 A1 US2001042075 A1 US 2001042075A1
- Authority
- US
- United States
- Prior art keywords
- document
- transaction
- client
- generation
- local
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2147—Locking files
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/959—Network
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/964—Database arrangement
- Y10S707/966—Distributed
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Abstract
In a distributed system comprising a document server and a plurality of clients which are connected to the document server via a network, each of the plurality of clients transmits, to the document server, an original transaction with information indicative of at least one client which uses a document. The document server receives the original transaction, processes the original transaction as a global document generation transaction to produce a document object, transmits, to the at least one client, the global transaction as a local transaction. The at least one client receives the local transaction and means for performing the local transaction to produce a virtual document object corresponding to the document object.
Description
- This invention relates to a distributed system comprising a document server and a plurality of clients which are connected to the document server via a network and, more particularly, to a method of managing a document shared in the distributed system.
- In prior art, various proposals are already made as regards technique for permitting the plurality of clients carrying out an editing operation for the same document. By way example, a document managing method (which will be herein called a first prior art) is disclosed In Japanese Unexamined Patent Publication of Tokkai (JP-A) No. 7-85020 (which will be herein called a first reference) on Mar. 31, 1995. In the first prior art according to the first reference, a plurality of clients share the same document in a document data base on a server. On simultaneously carrying out the editing operation on the same document by the plurality of clients, the document as an editing object is copied to a document work file for each client. As a result, each client simultaneously carries out the editing operation on the document without affecting other clients.
- However, in the first prior art according to the first reference, it is difficult for each client to confirm edited contents in other clients. This is because the same document is copied to the document work file for each client and the editing operation is independently carried out by each client. As a result, it is difficult for a plurality of clients to work in cooperation with the edited contents mutually confirmed for the same document.
- In addition, a computer conference device (which will be herein called a second prior art) is disclosed in Japanese Examined Patent Publication of Tokkou (JP-B) No. 7-50884 (which will be herein called a second reference) on May 31, 1995. In the second prior art according to the second reference, each client is provided with a document file for storing the same contents. When a plurality of clients simultaneously refer and renew a document in the document file, an editing command, etc. generated by each client are transmitted to a server and the server unanimously transmits the editing command, etc. to all of the clients to make all of the clients process the editing command, etc. with this structure, it is possible to carry out the editing operation for the same document with edited results confirmed by all of the clients.
- In the second prior art according to the above-mentioned second reference, it is possible to proceed with group work with edited contents for each client confirmed by all of the clients. This is because, when the editing operation is carried out by any client, the editing operation is delivered to all of clients via the server so that the document of each client is edited in the similar manner in other clients. However, the second prior art according to the second reference is disadvantageous in that it is impossible to carry out access control for each portion composing the document so as to make a particular client see a portion in the document. Such access control is required on carrying out the group work by a plurality of clients. In this sense, the second prior art according to the second reference is still insufficient for applying to a distributed cooperation system.
- Furthermore, a document database-based system (which will be herein called a third prior art) is known. Such a document database-based system is, for example, Notes which is developed by Lotus Development Corporation in U.S.A. In the third prior art, the same document is referred to a document structure defined by predetermined document components via an application program on the basis of the document structure. In addition, writing is simultaneously carried out for different document components (portions of the document) in the same document. Furthermore, in order to prevent data destruction by simultaneous access to the same portion In the same document, an access limitation is made on the basis of a lock used by a conventional database technique.
- In the third prior art, if structure of the document is defined as a unit each of the predetermined document components, it is possible to carry out the access control so as to refer or modify the portion (the document component) in the document. From this point of view, the third prior art is most adapted for a group work system among the above-mentioned three prior arts. However, performing of such an access control is restricted to each unit or each of the predetermined document components. As a result, it is impossible for the third prior art to carry out the access control as regards, as a unit, a document component which will be prepared from now. Specifically, the third prior art can carry out, for the document having a structure which is designed the document80 as to share by all of the clients, the access control on the portion defined as the document component but the third prior art cannot dynamically generate, in the document, a memorandum for private use or another memorandum which should like to make particular clients see that satisfy a particular condition. This is because, for that purpose, an area playing a role in the memorandum must be preliminarily prepared on definition of the document structure. In general, the required area for the memorandum depends on progress of the group work. As a result, it is difficult to preliminarily prepare the required area on definition of the document structure.
- Various other distributed systems are already known. By way of example, a system and method for document database retrieval (which will be herein called a fourth prior art) is disclosed in Japanese Unexamined Patent Publication of Tokkai (JP-A) No. 8-77201 (which will be herein called a third reference) on Mar. 22, 1996. The fourth prior art according to the third reference improves the productivity, maintainability. etc., of an application program by enabling standardized access to a document database consisting of a main text file and bibliographical information by a standard database language.
- A ciphered file sharing method (which will be herein called a fifth prior art) is disclosed in Japanese Unexamined Patent Publication of Tokkai (JP-A) No. 6-175905 (which will be herein called a fourth reference) on Jun. 24, 1994. The fifth prior art according to the fourth reference reduces management information even at the time of enciphering plural files by different keys by giving a hierarchical reference premission to a user, in the sharing method of a ciphered file.
- A file sharing system between systems (which will be herein called a sixth prior art) is disclosed in Japanese Unexamined Patent Publication of Tokkai (JP-A) No. 6-83691 (which will be herein called a fifth reference) on Mar. 25, 1994. The sixth prior art according to the fifth reference shares files between plural systems by accessing the files present in the respective system on a network at an application software level by a server for accessing the files based on requests from the users of the respective systems.
- A method for sharing file by utilizing network of distributed system (which will be herein called a seventh prior art) is disclosed in Japanese Unexamined Patent Publication of Tokkai (JP-A) No. 6-68044 (which will be herein called a sixth reference) on Mar. 11, 1994. The seventh prior art according to the sixth reference reduces the communication processing overhead for file access request and file information transfer in each processing node and a file management node and to shorten the time required for access from each processing node to a shared file.
- A system operation method for shared disk device (which will be herein called an eighth prior art) is disclosed in Japanese Unexamined Patent Publication of Tokkai (JP-A) No. 7-319828 (which will be herein called a seventh reference) on Dec. 8, 1995. The eighth prior art according to the seventh reference improves a restoration ratio in transaction unit at the time of generating a fault by excluding the restriction of access to a shared file to be accessed from plural application programs in plural processing systems.
- At any rate, each of the first through the eighth prior arts is not useful at all or insufficient in a case of applying to the distributed cooperation system where a plurality of clients carry out group work.
- It is therefore an object of this invention to provide a distributed system and a document sharing management method which are capable of assigning an access limitation on generation of a new component for a document.
- It is another object of this invention to provide a distributed system and a document sharing management method of the type described, which are capable of editing a portion of the same document for the same contents by all of clients.
- It is still another object of this invention to provide a distributed system and a document sharing management method of the type described, which are capable of editing another portion of the same document by particular clients or a particular group only.
- It is yet another object of this invention to provide a distributed system and a document sharing management method of the type described, which are capable of utilizing a still another portion of the same document as a memorandum for private use.
- Other objects of this invention will become clear as the description proceeds.
- A situation to which this invention is applicable is for managing a document shared in a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network.
- According to an aspect of this invention, the above-mentioned method comprises the step of transmitting, from each client to the document server, an original transaction with information indicative of at least one client which uses a document.
- The above-mentioned method further may comprises the steps of receiving the original transaction in the document server, of processing, in the document server, the original transaction as a global transaction to produce a document object, and of transmitting, from the document server to the at least one client, the global transaction as a local transaction. The above-mentioned method further may comprises the steps of receiving the local transaction in the at least one client, and of performing, in the at least one client, the local transaction to produce a virtual document object corresponding to the document object.
- A distributed system to which this invention is applicable comprises a document server and a plurality of clients which are connected to the document server via a network.
- In the distributed system according to an aspect of this invention, each of the plurality of clients comprises means for transmitting, to the document server, an original transaction with information indicative of at least one client which uses a document.
- In the afore-mentioned distributed system, the document server preferably may comprise means for receiving the original transaction, means for processing the original transaction as a global document generation transaction to produce a document object, and means for transmitting, to the at least one client, the global transaction as a local transaction.
- In the afore-mentioned distributed system, the at least one client preferably may comprise means for receiving the local transaction and means for performing the local transaction to produce a virtual document object corresponding to the document object.
- A recording medium to Which this invention is applicable is for use in a distributed system comprising a document server and a plurality of clients which are connected to the document server via a network.
- According to a first aspect of this invention, the above-mentioned recording medium is for recording a first program to make each of the plurality of clients execute the procedure of transmitting, to the document server, an original transaction with information indicative of at least one client which uses a document. Desirably, the above-mentioned recording medium further may record a second program to make the document server execute the procedures of receiving the original transaction, of processing the original transaction as a global transaction to produce a document object, and of transmitting, to the at least one client, the global transaction as a local transaction. Desirably, the above-mentioned recording medium further may record a third program to make the at least one client execute the procedures of receiving the local transaction and of performing the local transaction to produce a virtual document object corresponding to the document object.
- According to a second aspect of this invention, a recording medium records a program to make a client execute the procedure of transmitting, to a document server, an original transaction with information indicative of at least one client which uses a document. The document server may transmit a local transaction to the at least one client. In this event, the above-mentioned recording medium preferably further may record an additional program to make the client execute the procedures of receiving the local transaction and of performing the local transaction to produce a virtual document object corresponding to a document object generated in the document server.
- According to a third aspect of this invention, a recording medium records a program to make a document server execute the procedures of receiving, from each client, an original transaction with information indicative of at least one client which uses a document, of processing the original transaction as a global transaction to produce a document object, and transmitting, to the at least one client, the global transaction as a local transaction.
- FIG. 1 is a block diagram of a distributed system for use in describing principles of the present invention;
- FIG. 2 shows a format of a document for use in describing the principles of the present invention;
- FIG. 3 is a sequence chart for use in describing the principles of the present invention;
- FIGS. 4A and 4B collectively show an example of document structure data for use in describing the principles of the present invention;
- FIG. 5 is another sequence chart for use in describing the principles of the present invention;
- FIG. 6 is still another sequence chart for use in describing the principles of the present invention;
- FIG. 7 is yet another sequence chart for use in describing the principles of the present invention;
- FIG. 8 is a further sequence chart for use in describing the principles of the present invention,
- FIG. 9 is a still further sequence chart for use in describing the principles of the present invention;
- FIG. 10 is a block diagram of a distributed system according to a preferred embodiment of this invention;
- FIGS. 11A through 11F collectively shows a format of various objects for use in the distributed system illustrated in FIG. 10;
- FIG. 12 is a flow chart for use in describing a generation operation of an original transaction in each client;
- FIG. 13 is a flow chart for use in describing a processing operation of a global transaction in a document server;
- FIG. 14 is a flow chart for use in describing a performing operation of the global transaction which is carried out by a
step 403 of FIG. 13; - FIG. 15 is a flow chart for use in describing a processing operation at a
step 504 of FIG. 14 in a case where the global transaction is related to a generation operation of the document; - FIG. 16 is a flow chart for use in describing a processing operation at a
step 504 of FIG. 14 in another case where the global transaction is related to a generation operation of a document component; - FIG. 17 is a flow chart for use in describing a processing operation of a local transaction in each client;
- FIG. 18 is a flow chart for use in describing a processing operation at a
step 810 of FIG. 17 in a case where the local transaction is related to a generation operation of the document; and - FIG. 19 is a flow chart for use in describing a processing operation at a
step 810 of FIG. 17 in another case where the local transaction is related to a generation operation of a document component. - (Principles of the Invention)
- Description will at first be directed to principles of this invention to facilitate an understanding of this invention.
- Referring to FIG. 1, it will be assumed that a distributed processing system comprises a document server S and six clients which are connected to the document server S via a network . The six clients will be called first through sixth clients which are denoted by A, B, C, D, E, and F, respectively. As shown in FIG. 1, the first through the fourth clients A, B, C, and D compose one group enclosed with a broken line denoted by G. In the example being illustrated, the first through the fourth clients A to D share a document X illustrated in FIG. 2.
- Turning to FIG. 2, the document X is finally composed of three document components X-1, X-2, and X-3 which are called first through third document components, respectively. It will be assumed that all of the first through the fourth clients A to D composing the group C can see the first and the second document components X-1 and X-2 while the first and the second clients A and B alone can see the third document component X-3. In addition, it will be presumed that the first and the third document components X-1 and X-3 are generated by the first client A while the second document component X-2 is generated by the second client B.
- Under the circumstances, until the document X finally comprises the first through the first document components X-1 to X-3 as illustrated in FIG. 2, transfer of transactions is carried out between the document server S and the first through the fourth clients A to D according to a sequence illustrated in FIG. 3.
- Referring to FIGS. 1, 2, and3, description will be made about a document sharing management method according to this invention in turn. It is noted that the exemplified document X merely is an example and the document may comprise a plurality of document components which are nested.
- It will be assumed that a generation operation for the document X is carried out by a user via an application program which operates on the first client A. Herein, the “generation operation” for the document X means an operation for generating a frame for the document X. The first client A is called a specific document generation client. In this event, the first client A produces a first transaction TRI related to generation of the document X and transmits the first transaction TRI to the document server S. The first transaction TRI is called an original document generation transaction and designates an access attribute of the document X to be generated. The access attribute indicates that the document X is shared by the first through the fourth clients A to D composing the group G. The access attribute may be an identifier list indicative of identifiers for the first through the fourth clients A to D in which the document should be shared. In addition, the access attribute Day be a group identifier for the group G when correspondence is preliminarily made between she group G and the first through the fourth clients A to D belonging thereto.
- Herein, the “access attribute” is an attribute for designating an access right. The access attribute may be call an access control list as another name. In a simple example, the access right is represented by a flag (a truth/false value) indicative of one or more rights of, for example, readout, writing, and execution. It will assumed that the access attribute has a value which is 3 bits in length. Under the circumstances, for instance, the access attribute having the value of “100” means that the access right is composed of a readout right only. In addition, the access attribute having the value of “110” means that the access right is composed of not only the readout right but also a writing right. Furthermore, the access attribute having the value of “111” means that the access right is composed of the readout right, the writing right, and an execution right.
- However, it is impossible to identify an owner of the access right on the basis of such a simple value of the access attribute. It is therefore necessary to designate a person having the access right in blocks of the owners, other users, groups, and so on. Structure for designating it is generally called the access control list. For example, it will assumed that the access control list comprises <the owner,111<, <the same group, 110>, and <others, 100>. In this event, the access control list means that the owner can do anything, the same group of the owner can a readout operation and a writing operation, and the others can the readout operation only. As another expression way, there is the access control list where a set of persons and the access rights is listed.
- As described above, In the present invention, it is assumed that the access attribute has a field for storing the above-mentioned access control list. In addition, the access right may indicate limitation of rights for detailed operations in dependency on an application program, such as shiftable (modifiable to a layout location in a document), enlargeable (modifiable to size) as well as the readout, the writing, and the execution. At any rate, in the present invention, the access attribute means information indicative of at least one client which uses the document.
- The document server S receives the first transaction TR1 and processes the first transaction TR1 as a global document generation transaction to produce a document object DO for the document X thereon. The produced document object DO includes a unique document identifier assigned to the document X, the access attribute designated by the first client A, a pointer to document structure data, and so on. The pointer to the document structure data has an initial value of “NULL”. Simultaneously, the document server S transmits, as a first local transaction LTR1, the global document generation transaction to the first through the fourth clients A to D which correspond to the access attribute designated by the first transaction TR1 or the global document generation transaction. The first local transaction LTR1 is called a local document generation transaction.
- Each of the first through the fourth client A to D receives the first local transaction LTR1 and performs the first local transaction LTR1 to produce a virtual document object VDO corresponding to the document object DO generated in the document server S. The produced virtual document object VDO includes a document identifier, the access attribute, a pointer to document structure data, and so on. The pointer to the document structure data has the initial value of “NULL”. Each of the first through the fourth client A to D returns the virtual document object VDO to an application program thereof .
- Subsequently, it will be assumed that a generation operation for the first document component X-1 is carried out with regard to the virtual document object VDO of the document X by a user via the application program of the first client A. Herein, the “generation operation” for the first document component X-1 means an operation for generating a frame for the first document component X-1. In addition, the first document component X-1 is called a particular document component. Furthermore, the first client A is called a specific document component generation client. In this event, the first client A produces a second transaction TR2 related to generation of the first document X-1 and transmits the second transaction TR2 to the document server S. The second transaction TR2 is called a first original document component generation transaction and designates an access attribute of the first document component X-1 to be generated. The access attribute indicates that the first document component X-1 is shared by the first through the fourth clients A to D composing the group G.
- The document server S receives the second transaction TR2 and processes the second transaction TR2 as a first global document component generation transaction to produce a first document component object DCO1 for the first document component X-1 thereon. The produced first document component object DCO1 includes a first document component identifier for uniquely identifying the first document component X-1, the access attribute, a pointer to document structure data for the first document component X-1, and so on. The pointer to the data of the first document component X-1 has an initial value of “NULL”. In addition, in this event, the document server produces, as the document structure data for the document X, data indicating that the document X comprises the first document component X-1 and therefore links it to the pointer to the document structure data for the document object DO. Simultaneously, the document server S transmits, as a second local transaction LTR2, the first global document component generation transaction to the first through the fourth clients A to D which correspond to the access attribute designated by the second transaction TR2 or the first global document component generation transaction. The second local transaction LTR2 is called a first local document component generation transaction.
- Each of the first through the fourth client A to D receives the second local transaction LTR2 and performs the second local transaction LTR2 to produce a first virtual document component object VDCO1 corresponding to the first document component object DCO1 generated in the document server S thereon. The produced first virtual document component object VDCO1 includes a document component identifier, the access attribute, a pointer to data for the first document component X-1, and so on. The pointer to the data for the first document component X-1 has the initial value of “NULL”. In addition, in this event, each of the first through the fourth client A to D produces, as the document structure data for the document X, data indicating that the document X comprises the first documents component X-1 and therefore links it to the pointer to the document structure data for the first virtual document component object VDCO1. Each of the first through the fourth clients A to D returns the first virtual document component object VDCO1 to an application program thereof.
- Subsequently, it will be assumed that an editing operation for the first document component X-1 is carried out by a user via the application program of the first client A. Herein, the “editing operation” for the first document component X-1 means an operation for preparing first edited data CNT1 indicative of contents of the first document component X-1 that are, for example, a text, an image, and so on. In addition, the first client A is called a specific editing client. In this event, the first client A produces a third transaction TR3 related to editing of the first document X-1 and transmits the third transaction TR3 to the document server S. The third transaction TR3 is called a first original editing transaction and designates an access attribute of the first document component X-1 to be edited. The access attribute indicates that the first document component X-1 is shared by the first through the fourth clients A to D composing the group G.
- The document server S receives the third transaction TR3 and processes the third transaction TR3 as a first global editing transaction to carry out processing for preparing the first edited data CNT1 indicative of the contents of the first document component X-1 such as the text on the document server S. Specifically, the document server S carries out generation, modification, and so on of data for the first virtual document component object VDCO1 of the first document component X-1. Simultaneously, the document server S transmits, as a third local transaction LTR3, the first global editing transaction to the first through the fourth clients A to D which correspond to the access attribute relating to the first document component X-1. The third local transaction LTR3 is called a first local editing transaction.
- Each of the first through the fourth client A to D receives the third local transaction LTR3 and performs the third local transaction LTR3 to prepare the first edited data CNT1 indicative of the contents of the first document component X-1 such as the text. Each of the first through the fourth clients A to D returns the first edited data CNT1 to an application program thereof. Prepared in the manner as described above, the contents of the first document component X-1 are displayed on a display unit (not Shown) of each of the first through the fourth clients A to D. Thus, all of users for the first through the fourth clients A to D can see the same fist edited data CNT1.
- Although the first client A carries out both of the generation operation and the editing operation for the first document component X-1 in the example being illustrated, the first client A may carry out only the generation operation for the first document component X-1 while another client except for the first client A, for example, the second client B may carry out the editing operation for the first document component X-1 However, any client except for the first client A cannot carry out the editing operation for the first document component X-1 if an access right is set such that the first client A alone carries out the editing operation for first document component X-1 on generation of the first document component X-1.
- In the illustrated distributed system, any client may edit in a case of generation of the first document component X-1. As a result, the second client B may edit or delete the first document component X-1. On the other hand, after generation of the first document component X-1, if the first client A sets, as the access right for the first document component X-1, a condition such that other clients except for the first client A cannot modify the first document component X-1, the other clients are put into a state so as to merely see the first document component X-1.
- Although the access right of the generation operation for a document component is fixedly set to enable any client to modify the document component, it is possible to limit an editing and/or deleting operation for the document component to the client carrying out the generation operation for the document component if setting of the access right is interactively carried out by a user thereof on the generation operation in the manner which is described above.
- Subsequently, it will be assumed that a generation operation for the second document component X-2 is carried out with regard to the virtual document object VDO of the document X by a user via the application program of the second client B. Herein, the “generation operation” for the second document component X-2 means an operation for generating a frame for the second document component X-2. In addition, the second document component X-2 is called the particular document component. Furthermore, the second client B is called the specific document component generation client. In this event, the second client B produces a fourth transaction TR4 related to generation of the second document component X-2 and transmits the fourth transaction TR4 to the document server S. The fourth transaction TR4 is called a second original document component generation transaction and designates an access attribute of the second document component X-2 to be generated. The access attribute indicates that the second document component X-2 is shared by the first through the fourth clients A to D composing the group G.
- The document server S receives the fourth transaction TR4 and processes the fourth transaction TR4 as a second global document component generation transaction to produce a second document component object DCO2 for the second document component X-2 thereon. The produced second document component object DCO2 includes a second document component identifier for uniquely identifying the second document component X-2, the access attribute, a pointer to document structure data for the second document component X-2, and so on. The pointer to the date of the second document component X-2 has the initial value of “NULL”. In addition, in this event, the document server S produces, as the document structure data for the document X, data indicating that the document X comprises the second document component X-2 and therefore links it to the pointer to the document structure data for the document object DO. Simultaneously, the document server S transmits, as a fourth local transaction LTR4, the second global document component generation transaction to the first through the fourth clients A to D which correspond to the access attribute designated by the fourth transaction TR4 or the second global document component generation transaction. The fourth local transaction LTR4 is called a second local document component generation transaction.
- Each of the first through the fourth clients A to D receives the fourth local transaction LTR4 and performs the fourth local transaction LTR4 to produce a second virtual document component object VDCO2 corresponding to the second document component object DCO2 generated in the document server S thereon. The produced second virtual document component object VDCO2 includes a document component identifier, the access attribute, a pointer to data for the second document component X-2, and so on. The pointer to the data for the second document component X-2 has the initial value of “NULL”. In addition, In this event, each of the first through the fourth clients A to D produces, as the document structure data for the document X, data indicating that the document X comprises the second document component X-2 and therefore links it to the pointer to the document structure data for the second virtual document component object VDCO2. Each of the first through the fourth clients A to D returns the second virtual document component object VDCO2 to an application program thereof.
- Subsequently, it will be assumed that an editing operation for the second document component X-2 is carried out by a user via the application program of the second client B. Herein, the “editing operation” for the second document component X-2 means an operation for preparing second edited data CNT2 indicative of contents of the second document component X-2 that are, for example, a text, an image, and so on. In addition, the second client B is called the specific editing client. In this event, the second client S produces a fifth transaction TR5 related to editing of the second document component X-2 and transmits the fifth transaction TR5 to the document server S. The fifth transaction TR5 is called a second original editing transaction and designates an access attribute of the second document component X-2 to be edited. The access attribute indicates that the second document component X-2 it shared by the first through the fourth clients A to D composing the group G.
- The document server S receives the fifth transaction TR5 and processes the fifth transaction TR5 as a second global editing transaction to carry out processing for preparing the second edited data CNT2 indicative of the contents of the second document component X-2 such as the test on the document server S. Specifically, the document server S carries out generation, modification, and so on of data for the second virtual document component object VDCO2 of the second document component X-2 Simultaneously, the document server S transmits, as a fifth local transaction LTR5, the second global editing transaction to the first through the fourth clients A to D which correspond to the access attribute relating to the second document component X-2. The fifth local transaction LTR5 is called a second local editing transaction.
- Each of the first through the fourth clients A to D receives the fifth local transaction LTR5 and performs the fifth local transaction LTR5 to prepare the second edited data CNT2 indicative of the contents of the second document component X-2 such as the text. Each of the first through the fourth clients A to D returns the second edited data CNT2 to an application program thereof. Prepared in the manner as described above, the contents of the second document component X-2 are displayed on the display unit of each of the first through the fourth clients A to D. Thus, all of users for the first through the fourth clients A to D can sea the same second edited data CNT2.
- Subsequently, it will be assumed that a generation operation for the third document component X-3 is carried out with regard to the virtual document object VDO of the document X by a user via the application program of the first client A in order to prepare third data CTN3. Herein, the “generation operation” for the third document component X-3 means an operation for generating a frame for the third document component X-3. In addition, the third document component X-3 is called the particular document component. Furthermore, the first client A is called the specific document component generation client.
- It will be presumed that the third document component X-3 is shared by the first and the second clients A and a alone and therefore the third and the fourth clients C and D cannot see the third document component X-3. In this event, the first client A produces a sixth transaction TR6 related to generation of the third document X-3 and transmits the sixth transaction TR6 to the document server S. The sixth transaction TR6 is called a third original document component generation transaction and designates an access attribute of the third document component X-3 to be generated. The access attribute indicates that the third document component X-3 is shared by the first and the second clients A and B alone.
- The document server S receives the sixth transaction TR6 and processes the sixth transaction TR6 as a third global document component generation transaction to produce a third document component object DCO3 for the third document component X-3 thereon. The produced third document component object DCO3 includes a third document component identifier for uniquely identifying the third document component X-3, the access attribute, a pointer to document structure data for the third document component X-3, and so on. The pointer to the data of the third document component X-3 has the initial value of “NULL”. In addition, In this event, the document server S produces, as the document structure data for the document X, data indicating that the document X comprises the third document component X-3 and therefore links it to the pointer to the document structure data for the document object DO. Simultaneously, the document server S transmits, as a sixth local transaction LTR6, the third global document component generation transaction to the first and the second clients A and B which correspond to the access attribute designated by the sixth transaction TR4 or the third global document component generation transaction The sixth local transaction LTR6 is called a third local document component generation transaction.
- Each of the first and the second clients A and B receives the sixth local transaction LTR6 and performs the sixth local transaction LTR6 to produce a third virtual document component object VDCO3 corresponding to the third document component object DCO3 generated in the document server S thereon. The produced third virtual document component object VDCO3 includes a document component identifier, the access attribute, a pointer to data for the third document component X-3, and so on. The pointer to the data for the third document component X-3 has the initial value of “NULL”. In addition, in this event, each of the first and the second clients A and B produces, as the document structure data for the document X, data indicating that the document X comprises the third document component X-3 and therefore links it to the pointer to the document structure data for the third virtual document component object VDCO3. Each of the first and the second clients A and B returns the third virtual document component object VDCO3 to an application program thereof.
- Subsequently, it will be assumed that an editing operation for the third document component X-3 is carried out by a user via the application program of the first client A. Herein, the “editing operation” for the third document component X-3 means an operation for preparing third edited data CNT3 Indicative of contents of the third document component X-3 that are, for example, a text, an image, and so on. In addition, the first client A is called the specific editing client. In this event, the first client A produces a seventh transaction TR7 related to editing of the third document component X-3 and transmits the seventh transaction TR7 to the document server S. The seventh transaction TR7 is called a third original editing transaction and designates an access attribute of the third document component X-3 to be edited. The access attribute indicates that the third document component X-3 is shared by the first and the second clients A and B alone.
- The document server S receives the seventh transaction TR7 and processes the seventh transaction TR7 as a third global editing transaction to carry out processing for preparing the edited third data CNT3 indicative of the contents of the third document component X-3 such as the text on the document server S. Specifically, the document server B carries out generation, modification, and so on of data for the third virtual document component object VDCO3 of the third document component X-3. Simultaneously, the document server S transmits, as a seventh local transaction LTR7, the third global editing transaction to the first and the second clients A and a which correspond to the access attribute relating to the third document component X-3. The seventh local transaction LTR7 is called a third local editing transaction.
- Each of the first and the second clients A and B receives the seventh local transaction LTR7 and performs the seventh local transaction LTR7 to prepare the third edited data CNT3 indicative of the contents of the third document component X-3 such as the text. Each of the first and the second clients A and B returns the third edited data CNT3 to an application program thereof. Prepared in the manner as described above, the contents of the third document component X-3 are displayed on the display unit of each of the first and the second clients A and B. Thus, users for the first and the second clients A and B only can see the same third edited data CNT3,
- In the above-mentioned process, the fifth and the sixth clients E and P cannot see the contents of the document X. This is because no transaction is transmitted to the fifth and the sixth clients E and F each of which does not belong to the group G. Specifically, by carrying out the sequence illustrated in FIG. 3, document structure data illustrated in FIG. 4A is generated in the first and the second clients A and B as the virtual document object related to the document X and therefore the document X consisting of the first through the third document components X-1, X-2, and X-3 is displayed on a screen of each of the first and the second clients A and B. In addition, document stricture data illustrated in FIG. 4B is generated in the third and the fourth clients C and D as the virtual document object related to the document X and therefore the document X consisting of the first and the second document components X-1 and X-2 is displayed on a screen of each of the third and the fourth clients C and D and the third document component X-3 is not displayed on the screen thereof. Furthermore, the contents of the document X are not displayed on a screen of each of the fifth and the sixth clients E and F at all because the virtual document objects related to the document X are not generated in the fifth and the sixth clients E and F at all.
- Although the distributed system according to the present invention basically comprises the structure as described above, the distributed system according to the present invention may be additionally modified into various other types as follows.
- Referring to FIG. 5 the document server S may store the global transactions as stored global transactions. When the document server S does not obtain an acknowledgement of the local transactions from any client, the document server S retrys transmission of the stored global transactions to the client in question. For example, in the example illustrated in FIG. 3, it will be assumed that the document server S does not obtain the acknowledgement ACK (LTR1) and ACK (LTR2) of the first and the second local transactions LTR1 and LTR2 from the fourth client C because of breakdown of the fourth client C or disconnection of the fourth client C from the network. Under the circumstances, when restarting of the fourth client C or connection of the fourth client C to the network enables the document server S to communicate with the fourth client C, the document server S transmits the first and the second local transactions LTR1 and LTR2 to the fourth client C again in this order. As a result, it is possible to surely transmit the local transactions from the document server S to any client related to the local transactions with time and failure overcome.
- Referring to FIG. 6, each client may store the original transaction which is transmitted to the document server S. In this event, on transmission of the local transaction, the document server S transmits a part of data elements of the local transaction that includes data peculiar to the document server S alone to the client transmitting the original transaction without the transmission of all data elements of the local transaction. In the example illustrated in FIG. 6, the first client A stores the first transactions TR1 while the second client B stores a second transaction TR2. When the document server S transmits the first local transaction LTR1, the document server S transmits data LTR1′ peculiar to the document server S such as an identifier number of the transaction to the first client A. This is because the first client A stores the first transaction TR1 for the document X. Similarly, when the document server S transmit the second local transaction LTR2, the document server S transmits the data LTR2′ peculiar to the document server S to the second client B. This is because the second client B stores the second transaction LTR2 for the first document component X-1. As a result, it is possible to cut transmission amounts of necessary data and therefore to restrain a load of the network.
- Referring to FIG. 7, each client may hold the latest edited contents. In this event, on processing the global editing transaction for a document component, the document server S holds a table indicative of a correspondence relationship between an identifier of the document component and the client holding the latest edited contents without holding the latest edited contents. In the example being illustrated in FIG. 3, the document server S also holds the contents of the first through the third document components X-1 to X-3. This purpose is to enable reusing of the document X by holding the document X in the document server S. That is, it is possible for each of the first through the fourth clients A to D to display the document X prepared in the past again by reading final contents of the document X out of the document server S afterward. In this event, a method of holding the contents of the first through the third document components X-1 to X-3 in the document server S is the method described in conjunction with FIG. 3 while a method of holding the contents of the document X in the first client A and of holding the contents of the first document component X-1 in the second client B is a modification pointed out here as illustrated in FIG. 2. In the modification, on reusing of the document X, it is necessary for the document server S to carry out the procedures of investigating the correspondence relationship between the identifiers of the first through the third document components X-1 to X-3 and the first and the second clients A and B holding the latest edited contents thereof of obtaining the latest edited contents of the corresponding client, and of transmitting it to the client which reuses the document X. However, the modification is advantageous in that it is possible to cut a necessary storage capacity for the document server S in comparison with a case where the document server S collectively supervises all of the first through the third document components X-1 to X-3.
- Referring to FIG. 8, on transmitting any transaction to the document server S, each client may collectively transmit a set of transactions related in a sense to each other as a collected transaction. For example, in the example being illustrated in FIG. 8, the first client A may transmit, as a collected original transaction (TR1+TR2), a set of the first transaction TR1 related to generation of the document X and the second transaction TR2 related to generation of the first document component X-1. The second client B may transmit, as another collected original transaction, a set of the fourth transaction TR4 related to generation of the second document component X-2 and the fifth transaction TR5 related to editing of the second document component X-2 generated while the first client A may transmit, as a still another collected original transaction, a set of the sixth transaction TR6 related to generation of the third document component X-3 and the seventh transaction TR7 related to editing of the third document component X-3 generated. By doing in such a manner, it is possible for an application program to perform a large significant unit of transaction.
- Referring to FIG. 9, another distributed system according to this invention may comprise a plurality of document servers each of which has a function for dispersively supervising names of the identifiers so as to supervise the document by the plurality of document servers. With this structure, it is possible to distribute the load of each document server.
- In the example illustrated in FIG. 9, the distributed system comprises first through third document servers S1, S2, and S3 and first through third clients A. B, and C which are connected to the first though the third document servers S1 to S3 via a network (not shown). Each of the first through the third document servers S1 to S3 comprises a name supervising table. The first client A transmits a first transaction TR1 related to generation of a document X to the first document server S1. The first document server S1 stores a first supervised name in the name supervising table thereof. The first supervised name consists of a document identifier for identifying the document X and a first server identifier for identifying the first document server S1. The first document server S1 transmits a first local transaction LTR1 to the second and the third document servers S2 and S3 and the first through the third clients A to C. In this event, each of the second and the third document servers S2 and S3 stores the first supervised name in the name supervising table thereof.
- Subsequently, the first client A transmits a second transaction TR2 related to generation of a first document component X-1 to the second document server S2. The second document server S2 stores a second supervised name in the name supervising table thereof. The second supervised name consists of a first document component identifier for identifying the first document component X-1 and a second server identifier for identifying the second document server S2. The second document server S2 transmits a second local transaction LTR2 to the first and the third document servers S1 and S3 and the first through the third clients A to C. In this event, each of the first and the third document servers S1 and S3 stores the second supervised name in the name supervising table thereof.
- Thereafter, the second client B transmits a third transaction TR3 related to generation of a second document component X-2 to the third document server S3. The third document server S3 stores a third supervised name in the name supervising table thereof The third supervised name consists of a second document component identifier for identifying the second document component X-2 and a third server identifier for identifying the third document server S3. The third document server S3 transmits a third local transaction LTR3 to the first and the second document servers S1 and S2 and the first through the third clients A to C in this event, each of the first and the second document servers S1 and S2 stores the third supervised name in the name supervising table thereof.
- (Embodiments)
- Referring to FIG. 10, the description will proceed to a distributed system according to a preferred embodiment of this Invention. The illustrated distributed system comprises a
document server 100 and a plurality ofclients 110 which are connected to thedocument server 100 via a network such as a local area network (LAN), a wide area network (WAN), or the like. - The
document server 100 comprises a server communication processing section or a servercommunication processing module 101, an access control management section or an accesscontrol management module 102, a document component management section or a documentcomponent management module 103, a document structure management section or a documentstructure management module 104, a server transaction management section or a servertransaction management module 105, and a server data management section or a serverdata management module 106. The document sever 100 is provided with aserver storage unit 107. The servercommunication processing section 101 is connected to theclients 110 via the network and is connected to the accesscontrol management section 102, the documentstructure management section 104, and the servertransaction management section 105. The accesscontrol management section 102 is connected to the servercommunication processing section 101 and the serverdata management section 105. The documentcomponent management section 103 is connected to the documentstructure management section 104, the servertransaction management section 105, and the serverdata management section 106. The documentstructure management section 104 is connected to the servercommunication processing section 101, the documentcomponent management section 103, the servertransaction management section 105, and the serverdata management section 106. The servertransaction management section 105 is connected to the servercommunication processing section 101, the documentcomponent management section 103, the documentstructure management section 104, and the serverdata management section 106. The serverdata management section 106 is connected to the accesscontrol management section 102, the documentcomponent management section 103, the documentstructure management section 104, the servertransaction management section 105, and theserver storage unit 107. - Referring to FIG. 11A in addition to FIG. 10, the document
structure management section 104 is a section for managing structure of a document which is shared by the plurality ofclients 110. FIG. 11A shows a structural example of andocument object 210 which is used in a case where the documentstructure management section 104 manages structure of the document. As shown in FIG. 11A, thedocument object 210 comprises adocument identifier 211 for uniquely identifying the document, anaccess attribute 212 for the document, adocument attribute 213 of the document, and a documentstructure data pointer 214 for linkingdocument structure data 216. In the example being illustrated, the document structure is a hyper-media structure which consists of document components each corresponding to a part of the document and a link indicative of relevance among the document components. In thedocument structure data 216, data of the link indicative of the relevance among the document components are held by using document component identifiers which are unique identification numbers assigned to the document components, individually. Data of individual components are managed by the documentcomponent management section 103. The documentstructure management section 104 stores the generateddocument object 210 and thedocument structure data 216 in theserver storage unit 107 via the serverdata management section 106 and reads data out of theserver storage unit 107 to renew it if necessary. - Referring to FIG. 11B in addition to FIG. 10, the document
component management section 103 is a section for managing the individual document components composing the document. FIG. 11B shows a structural example of adocument component object 230 used in a case where the documentcomponent management section 103 manages a document component. AS shown in FIG. 11B, thedocument component object 230 comprises adocument component identifier 231 for uniquely identifying the document component, anaccess attribute 232 for the document component, adocument component attribute 233 of the document component, and adata pointer 234 for linkingdata 235 which are contents of the document component. The documentcomponent management section 103 stores the generateddocument component object 230 and thedata 235 in theserver storage unit 107 via the serverdata management section 106 and reads data out of theserver storage unit 107 to renew it if necessary. - Referring to FIG. 11C in addition to FIG. 10, the server
transaction management section 105 is a section for generally managing transactions for thedocument server 100. FIG. 11C shows a structural example of atransaction object 250 used in a case where the servertransaction management section 105 manages a transaction. As shown in FIG. 11C, thetransaction object 250 comprises aglobal identification number 251 for uniquely identifying the transaction, alocal identification number 252 for the transaction, atransaction data pointer 253 for linkingtransaction data 254. Thetransaction data 254 includesoperation contents 2541 for the document or the document components, adocument identifier 2542, adocument component identifier 2543, anaccess attribute 2544, and anattribute 2545 for the document or the document components. - The access
control management section 102 is a section for carrying out an access control on the basis of the access attribute for the document or the document components. That is, the accesscontrol management section 102 carries out processing for determining the client or the clients to which thedocument server 100 should transmit a local transaction or the like. The accesscontrol management section 102 may have a function for modifying the access attribute for the document of the document components already set in accordance with a request from the client which is a possessor of the document or the document components. In this event, a modification request is transmitted from theclient 120 to thedocument server 100. The modification request includes an identifier for the document or the document component which is a modified object of the access attribute, a name of the possessor, and an access attribute after the modification. When the accesscontrol management section 102 receives the modification request via the servercommunication processing section 101, the accesscontrol management section 102 checks the access attribute in the object related to the document or the document component as the modified object and modifies the access attribute if theclient 100 is a regular possessor. - The server
data management section 106 is disposed between theserver storage unit 107 and the documentstructure management section 104, the documentcomponent management section 103, the accesscontrol management section 102, and the servertransaction management section 105. The serverdata management section 106 is a section for generally managing access to theserver storage unit 107 by the documentstructure management section 104, the documentcomponent management section 103, the accesscontrol management section 102, and the servertransaction management section 105. - The server
communication processing section 101 is a section for enabling thedocument server 100 to mutually communicate with eachclient 110. On reception of a transaction from the eachclient 110, the servercommunication processing section 101 delivers the transaction to the servertransaction management section 105. Supplied with a transmission request for a local transaction from the servertransaction management section 105, the servercommunication processing section 101 obtains names of the clients to be transmitted from the accesscontrol management section 102 to transmit the local transaction to the clients. In addition, the servercommunication processing section 101 receives various requests from eachclient 110 and transmits replies for the requests or the like. - As shown In FIG. 10, each
client 110 comprises a document framework 119 and anapplication program 120 which are connected to each other. Theclient 110 is provided with aclient storage unit 117. - The document framework119 is an application framework for encapsulating an access based on the document structure defined by the
document server 100 by using an object oriented technique. Theapplication program 120 is prepared using an object defined by the document framework 119. The document framework 119 comprises a client communication processing section or a clientcommunication processing module 111, a document display operating section or a documentdisplay operating module 118, a virtual document component management section or a virtual documentcomponent management module 113, a virtual document structure management section or a virtual documentstructure management module 114, a client transaction management section or a clienttransaction management module 115, and a client data management section or a clientdata management module 116. - The client
communication processing section 111 is connected to thedocument server 100 via the network and is connected to the documentdisplay operating section 118, the virtual documentstructure management section 114, the virtual documentcomponent management section 113, and the clienttransaction management section 115. The documentdisplay operating section 118 is connected to the clientcommunication processing section 111 and the virtual documentstructure management section 114. The virtual documentcomponent management section 113 is connected to the clientcommunication processing section 113, the virtual documentstructure management section 114, the clienttransaction management section 115, and the clientdata management section 116. The virtual documentstructure management section 114 is connected to the clientcommunication processing section 111, the documentdisplay operating section 118, the virtual documentcomponent management section 113, the clienttransaction management section 115, and the clientdata management section 116. The clienttransaction management section 115 is connected to the clientcommunication processing section 111, the virtual documentcomponent management section 113, the virtual documentstructure management section 114, and the clientdata management section 116. The clientdata management section 116 is connected to the virtual documentcomponent management section 113, the virtual documentstructure management section 114, the clienttransaction management section 115, and theclient storage unit 117. - The document
display operating section 118 converts display of the document and operation for the document of a user into instructions for the virtual documentstructure management section 114. In addition, the documentdisplay operating section 118 plays a role in making the display of the document change In accordance with an event transmitted via the clientcommunication processing section 111. The event is, for example, an event indicative of arrival of a renewal message for data. - Referring to FIG. 11D in addition to FIG. 10, the virtual document
structure management section 114 is a section for managing structure of a virtual document where theclient 100 can virtually see in the document managed in thedocument server 100. FIG. 11D shows a structural example of avirtual document object 220 which is used in a case where the virtual documentstructure management section 114 manages structure of the virtual document. As shown in FIG. 11D, thevirtual document object 220 comprises avirtual document identifier 221 for uniquely identifying the virtual document, avirtual access attribute 222 for the virtual document, avirtual document attribute 223 of the virtual document, a virtual documentstructure data pointer 224 for linking virtualdocument structure data 226, and anaccess time instant 225. In the virtualdocument structure data 226, data related to the document components seen by the client alone are held in thedocument structure data 216 of the document in thedocument server 100 that corresponds to the virtual document in question. The virtual documentstructure management section 114 stores the generatedvirtual document object 210 and the virtualdocument structure data 226 in theclient storage unit 117 via the clientdata management section 116 and reads data out of theclient storage unit 117 to renew it if necessary. - In addition, an area for storing the virtual
document structure data 226 is managed by the virtual documentstructure management section 114. When the area is utilized to the fullest, the virtual documentstructure management section 114 cancels, by referring to theaccess time instant 225, the virtualdocument structure data 226 for thevirtual document object 220 related to the oldest access and release the area to use for storing new virtualdocument structure data 226. As a result, each client does not always hold the virtualdocument structure data 226 related to all of the document seen by the client in question but holds only the virtualdocument structure data 226 related to the document where theapplication program 120 recently reads and writes. If necessary virtual document structure data is not stored in theclient storage unit 117, the virtual documentstructure management section 114 obtains it by making a request to thedocument server 100. - Referring to FIG. 11E in addition to FIG. 10, the virtual document
component management section 113 is a section for managing virtual document components which can be virtually seen by theclient 100 in question in the document components managed by thedocument server 100. FIG. 11E shows a structural example of a virtualdocument component object 240 used in a case where the virtual documentcomponent management section 113 manages a virtual document component. As shown in FIG. 11E, the virtualdocument component object 240 comprises a virtualdocument component identifier 241 for uniquely identifying the virtual document component, avirtual access attribute 242 for the virtual document component, a virtualdocument component attribute 243 of the virtual document component, adata pointer 244 for linkingdata 246 of the virtual document component, and anaccess time instant 245. The virtual documentcomponent management section 113 stores the generated virtualdocument component object 240 and thedata 245 in theclient storage unit 117 via the clientdata management section 106 and reads data out of theclient storage unit 117 to renew it if necessary. - In addition, an area for storing the
data 246 is managed by the virtual documentcomponent management section 113. When the area is utilized to the fullest, the virtual documentcomponent management section 113 cancels, by referring to theaccess time instant 245, thedata 246 for the virtualdocument component object 240 related to the oldest access and release the area to use for storingdata 246 for a new virtual document component. Specifically, eachclient 110 does not always hold thedata 246 related to all of the document components seen by the client in question but holds only thedata 246 related to the document components where theapplication program 120 recently reads and writes. If necessary data is not stored in theclient storage unit 117, the virtual documentcomponent management section 113 obtains it by making a request to thedocument server 100. - Referring to FIG. 11F in addition to FIG. 10, the client
transaction management section 115 is a section for generally managing the transactions for thedocument server 100. FIG. 11F shows a structural example of atransaction object 260 used in a case where the clienttransaction management section 115 manages a transaction. As shown in FIG. 11F, thetransaction object 260 is similar in structure to thetransaction object 250 illustrated in FIG. 11C. That is, thetransaction object 260 comprises aglobal identification number 261 for uniquely identifying the transaction, alocal identification number 262 for the transaction, atransaction data pointer 263 for linkingtransaction data 264. Thetransaction data 264 includesoperation contents 2641 for the document or the document components, adocument identifier 2642, adocument component identifier 2643, anaccess attribute 2644, and anattribute 2645 for the document or the document components. - The client
data management section 116 is disposed between theclient storage unit 117 and the virtual documentstructure management section 114, the virtual documentcomponent management section 113, and the clienttransaction management section 115. The clientdata management section 116 is a section for generally managing access to theclient storage unit 117 by the virtual documentstructure management section 114, the virtual documentcomponent management section 113, and the clienttransaction management section 115. - The client
communication processing section 111 is a section for enabling theclient 110 to mutually communicate with thedocument server 100. Supplied with a transmission request for a transaction from the clienttransaction management section 115, the clientcommunication processing section 111 transmits the transaction to thedocument server 100. On reception of the local transaction from thedocument server 100, the clientcommunication processing section 111 delivers the local transaction to the clienttransaction management section 115. In addition, the clientcommunication processing section 111 receives and transmits other various requests or information from and to thedocument server 100. - In the above-mentioned embodiment, a flow of a basic operation is as follows. That is, responsive to a request for a document operation that is supplied from a user via the
application program 120 of theclient 110, the document framework 119 generates an original transaction and transmits the original transaction to thedocument server 100. When thedocument server 100 receives the transaction, thedocument server 100 performs the original transaction as a global transaction and transmits a local transaction to theclients 110 related to the global transaction. When the client receives the local transaction, the document framework 119 thereof performs the local transaction. Operation of eachclient 110 and thedocument server 100 of FIG. 10 will be described below in each individual case. - (1) Generation procedure of an original transaction in each
client 110, - Referring to FIG. 12 in addition to FIG. 10, the description will proceed to operation of the generation procedure of the original transaction in each
client 110. It will be assumed that any operation related to an document occurs In theapplication program 120 on theclient 110 by a user. In this event, the documentdisplay operating section 118 of the document framework 119 converts the operation related to the document from the user into an instruction for the virtual documentstructure management section 114. Responsive to the instruction, the virtual documentstructure management section 114 interprets the instruction to determine whether the operation is an operation accompanied with modification of document data or not (step 301). The determining method may be a method of the steps of, preliminarily defining, as operations accompanied with the modification of document data, several operations in theapplication program 120, and of carrying out determination according to the definition. Such several operations are, for example, an operation for temporarily shifting a document component on a screen, a scaling operation, and so on. - It will be assumed that a current operation is accompanied with the modification of document data. In this event, the client
transaction management section 115 carries out a generation processing of the original transaction related to the current operation (step 310). The generation processing (the step 310) of the original transaction carries out processing as follows. - It will be presumed that the current operation is an operation for newly generating a document. In this event, inasmuch as a document identifier does not exist at this point in time, a
step 311 is skipped and the clienttransaction management section 115 generates, as the original transaction, a set of thetransaction object 260 and thetransaction data 264 illustrated in FIG. 11F (step 312). Thetransaction object 260 comprises theglobal identification number 261, thelocal identification number 262, and thetransaction data pointer 263 in which a value of “NULL”, a unique identification number, and a pointer to thetransaction data 264 are set, respectively. Generated at this time, thetransaction data 264 includes theoperation contents 2641, thedocument identifier 2642, thedocument component identifier 2643, theaccess attribute 2644, and thedocument attribute 2645. Theoperation contents 2641 include an indication for generating a new document. The value of “NULL” is set in each of thedocument identifier 2642 and thedocument component identifier 2643. Theaccess attribute 2644 is designated by the user separately on the operation of the document generation. Thedocument attribute 2645 is, for example, a title of the new document or the like. - The
access attribute 2644 may be an identifier list indicative of all of identifiers for the clients which share the newly generated document. In addition, when the clients compose a group and when a relationship between the group and the clients composing the group is managed separately, theaccess attribute 2644 may be an identifier for specifying the group. Furthermore, other than them, theaccess attribute 2644 may include a possessor of the document and an access limitation of each client to be shared. For example, the access limitation may be a limitation so as to allow referring only, a limitation so as to allow both of referring and renewing, or the like. - The
step 312 proceeds to astep 313 at which the clienttransaction management section 115 stores the generated original transaction in theclient storage unit 117 via the clientdata management section 116 as a log. Thestep 313 is followed by astep 314 at which the clienttransaction management section 115 transmits the original transaction to thedocument server 100 through the clientcommunication processing section 111 in order to make thedocument server 100 register the original transaction as a global transaction. - It will be presumed that the current operation is an operation for newly generating a component document In the document which is already generated. In this event, the client
transaction management section 115 obtains, from the virtual documentstructure management section 114, the identifier of the document which is the operation object as thestep 311. Thestep 311 is succeeded by thestep 312 at which the clienttransaction management section 115 generates, as the original transaction, a set of thetransaction object 260 and thetransaction data 264 illustrated in FIG. 11F in the similar manner which is described above. Thetransaction data 264 includes theoperation contents 2641, thedocument identifier 2642, thedocument component identifier 2643, theaccess attribute 2644, and theattribute 2645. Theoperation contents 2641 include an indication for generating a new document component. Thedocument component identifier 2643 has the value of “NULL”. Theaccess attribute 2644 is designated by the user separately on the generation operation of the document component. Theattribute 2645 is, for example, a title of the new document component or the like. - In the similar manner which is described above on generation of the document, the
access attribute 2644 may be an identifier list indicative of all of identifiers for the clients which share the newly generated document component. In addition, when the clients compose the group and when the relationship between the group and the clients composing the group is managed separately, theaccess attribute 2644 may be the identifier for specifying the group. In case of succeeding to the access attribute for the document, theaccess attribute 2644 may be an appointment of that effect. Furthermore, other than them, theaccess attribute 2644 may include a possessor of the document component and the access limitation of each client to he shared. For example, the access limitation may be a limitation so as to allow referring of the document component only, a limitation so as to allow both of referring and renewing of the document component, or the like. - The
step 312 proceeds to thestep 313 at which the clienttransaction management section 115 stores or saves the generated original transaction in theclient storage unit 117 via the clientdata management section 116 as a log. Thestep 313 is followed by thestep 314 at which the clienttransaction management section 115 transmits the original transaction to thedocument server 100 through the clientcommunication processing section 111 in order to make thedocument server 100 register the original transaction as the global transaction. - It will be presumed that the current operation is an operation for inputting data in the document component in the already generated document, modifying data which is already inputted, or the like. In this event, the client
transaction management section 115 obtains the document identifier of the operation object and the document component identifier of the operation object from the virtual documentstructure management section 114 and virtual documentcomponent management section 113, respectively, at thestep 311, thestep 311 is succeeded by thestep 312 at which the clienttransaction management section 115 generates, as the original transaction, a set of thetransaction object 260 and thetransaction data 264 in the similar manner which is described above. Thetransaction data 264 includes theoperation contents 2641, thedocument identifier 2642, thedocument component identifier 2643, theaccess attribute 2644, and theattribute 2645. Theoperation contents 2641 include an indication for inputting the data in the document component or an indication for modifying the data. Thestep 312 proceeds to thestep 313 at which the clienttransaction management section 115 stores the generated original transaction in theclient storage unit 117 via the clientdata management section 116 as a log. Thestep 313 is followed by thestep 314 at which the clienttransaction management section 115 transmits the original transaction to thedocument server 100 through the clientcommunication processing section 111 in order to make thedocument server 100 register the original transaction as the global transaction. - It will be presumed that the current operation is an operation which is not accompanied with the modification of the document data. In this event, the
step 301 is followed by a step 302 at which the clienttransaction management section 115 generates a local transaction related to the document component of the operation object and performs the local transaction. Under the circumstances, the documentdisplay operating section 118 modifies, via the virtual documentstructure management section 114, a local view for theclient 110 in question. The step 302 proceeds to astep 303 at which the clienttransaction management section 115 stores or saves the local transaction in theclient storage unit 117 via the clientdata management section 116. Inasmuch as the local transaction is stored in the manner as described above, it is possible to cancel the modification or to rerun a cancelled one. - (2) Processing of a global transaction in the
document server 100. - Referring to FIG. 13 in addition to FIG. 10, the description will proceed to operation of processing of the global transaction in the
document server 100. Transmitted from theclient 110 via the network, the original transaction is received in the servercommunication processing section 101 of the document server 100 (step 401). The servercommunication processing section 101 delivers the original transaction to the servertransaction management section 105. Thestep 401 proceeds to astop 410 at which the servertransaction management section 105 generates a global transaction on the basis of the original transaction. In generation of the global transaction, the servertransaction management section 105 first generates a unique global identification number (step 411). Thestep 411 is followed by astep 412 at which the servertransaction management section 105 sets the unique global identification number in the global identification number in the transaction object of a received global transaction, Specifically, when the servercommunication processing section 101 receives the original transaction comprising thetransaction object 260 and thetransaction data 264 illustrated in FIG. 11F, the servertransaction management section 105 generates the global transaction where the global identification number generated at thestep 411 is set in the global identification number of the value of “NULL”. Accordingly, thetransaction data 264 and thelocal identification number 262 received are used as thetransaction data 254 and thelocal identification number 252 as it is. - The
step 410 is succeeded by astep 402 at which the servertransaction management section 105 stores or saves the generated global transaction in theserver storage unit 107 through the serverdata management section 106. Thestep 402 proceeds to astep 403 at which the servertransaction management section 105 performs the global transaction. - Turning to FIG. 14, the description will proceed to operation of a procedure of performing the global transaction that is carried out at the
step 403. - The server
transaction management section 105 determines first whether or not the global transaction is a transaction accompanied with modification of document structure (step 501). The transaction which is accompanied with the modification of the document structure is, for example, new generation of a document, new generation of a document component, deletion of the document, deletion of the document component, and so on. On the other hand, the transaction which 16 not accompanied with the modification of the document structure is, for example, inputting of data to the document component, modification of the data, and so on. - It will be assumed that the global transaction is the transaction accompanied with the modification of the document structure. In this event, the server
transaction management section 105 retrieves, from the document structure data 216 (FIG. 11A) managed by the documentstructure management section 104, the document component Including the document component which is directly the modification object by the transaction and locks it if it exists (step 502). For instance, when the global transaction is the transaction so as to prepare a new document component β in a document component α, the document component α is locked at thestep 502. In addition, although the transaction for the new generation of the document is the transaction accompanied with the modification of the document structure, thestep 502 is skipped. This is because the document component is not yet prepared. - Subsequently, the server
transaction management section 105 locks the document component which is directly the modification object by the current transaction (step 503). However, when the current transaction is the transaction for the new generation of the document or the document component, thestep 503 is skipped. - Thereafter, the server
transaction management section 105 performs the operation related to the current transaction (step 504). It is assumed that the current transaction indicates an operation for inputting data in a document component in a document or an operation for modifying the data. In this event, the servertransaction management section 105 performs, via the documentcomponent management section 103, processing of inputting the data 235 (FIG. 11B) in the document component in question or of modifying thedata 235. In addition, it is assumed that the current transaction indicates an operation for deleting the document component. In this event, the servertransaction management section 105 deletes the document component in question via the documentcomponent management section 103. - Furthermore, when the current transaction indicates a generation operation of the document or a generation operation of the document component, the server
transaction management section 105 performs processing according to them. FIG. 15 shows a processing example at thestep 504 in a case where the global transaction relates to the generation operation of the document while FIG. 16 shows a processing example at thestep 504 in another case where the global transaction relates to the generation operation of the document component. - Turning to FIG. 15, the description will proceed to operation of a procedure of performing the global transaction related to the generation operation of the document. The server
transaction management section 105 passes control to the documentstructure management section 104. The documentstructure management section 104 first generates a document identifier which does not overlap with other documents managed by the document server 100 (step 601). Thestep 601 proceeds to astep 602 at which the documentstructure management section 104 generates a document object having the generated document identifier. The generated document object is the document object 210 (FIG. 11A) which comprises thedocument identifier 211 in which the generated document identifier is set, theaccess attribute 212 and thedocument attribute 213 each of which has a value of “NULL” at this point in time. In addition, the documentstructure management section 104 secures, in theserver storage unit 107, a storage area such as a file for storing the document structure data 216 (FIG. 11A) and sets a pointer thereto in the document structure data pointer 214 (FIG. 11A). Subsequently, by referring to information included in the transaction data 254 (FIG. 11C) of the global transaction (theaccess attribute 2544 and thedocument attribute 2545 which are designated by the user separately on the generation operation of the document or the like), the documentstructure management section 104 sets theaccess attribute 212 and thedocument attribute 213 in thedocument object 210 generated at the step 602 (stop 603). Thestep 603 is followed by astep 604 at which the documentstructure management section 104 stores or saves the document object 210 (FIG. 11A) in theserver storage unit 107 through the serverdata management section 106 and returns control to the servertransaction management section 105. Instead of setting theaccess attribute 2544 designated by the user in theaccess attribute 212 of thedocument object 210 directly, the accesscontrol management section 102 may generate a correspondence table which consists of the document identifier, the access attribute for the document indicated by the document identifier, and the user or the group to store the correspondence table in theserver storage unit 107 and may set an index of the correspondence table in theaccess attribute 212 of thedocument object 210. - Turning to FIG. 16, the description will proceed to operation of a procedure of performing the global transaction related to the generation operation of the document component. The server
transaction management section 105 passes control to the documentcomponent management section 103. The documentcomponent management section 103 first generates a document component identifier which does not overlap with other document components managed by the document server 100 (step 701). Thestep 701 proceeds to astep 702 at which the documentcomponent management section 103 generates a document component object having the generated document component identifier. The generated document component object is the document component object 230 (FIG. 11B) which comprises thedocument component identifier 231 in which the generated document component identifier is set, theaccess attribute 232 and thedocument component attribute 233 each of which has a value of “NULL” at this point in time. In addition, the documentcomponent management section 103 secures, in theserver storage unit 107, a storage area such as a file for storing the data 235 (FIG. 11B) of the document component and sets a pointer thereto In the data pointer 234 (FIG. 11B). Subsequently, by referring to information included in the transaction data 254 (FIG. 11C) of the global transaction (theaccess attribute 2544 and thedocument component attribute 2545 which are designated by the user separately on the generation operation of the document component or the like), the documentcomponent management section 103 sets theaccess attribute 232 and thedocument component attribute 233 in thedocument component object 230 generated at the step 702 (step 703). Thestep 703 is followed by astep 704 at which the documentcomponent management section 103 stores or saves the document component object 230 (FIG. 11B) in theserver storage unit 107 through the serverdata management section 106 and returns control to the servertransaction management section 105. Instead of setting theaccess attribute 2544 designated by the user in theaccess attribute 232 of thedocument component object 230 directly, the accesscontrol management section 102 may generate a correspondence table which consists of the document component identifier, the access attribute for the document component indicated by the document component identifier, and the user or the group to store the correspondence table in theserver storage unit 107 and may set an index of the correspondence table in theaccess attribute 232 of thedocument component object 230. - Referring to FIG. 14 again, when the performing of the operation related to the global transaction comes to an end, the server
transaction management section 105 releases the locking of the document component which is the modification object directly (step 505). However, the releasing of the locking or thestep 505 is skipped in a case where the document component of the object disappears such as deletion. In addition, thestep 505 is also skipped in another case where the locking of the document component is not carried out at thestep 503 such as the new generation of the document. Subsequently, the servertransaction management section 105 determines again whether or not the global transaction is a transaction accompanied with modification of document structure in the similar manner at the step 501 (step 506). When the global transaction is the transaction accompanied with the modification of the document structure, the servertransaction management section 105 modifies the document structure via the documentstructure management section 104 and stores or saves, in theserver storage unit 107, the document structure after modified (step 507). Thereafter, if there is the document component which is locked at thestep 502, the servertransaction management section 105 releases the locking thereof (step 508). - It is presumed that a new document component is generated for the already generated document in the modification of the document structure at the
step 507. In this event, the documentstructure management section 104 carries out processings of adding information related to the new generated document component into the document structure data 216 (FIG. 11A) which is already generated and deleting the information in a case of deletion of the document component. - As described above, the performing of the global transaction is carried out by the
document server 100 at thestep 403 of FIG. 13. - (3) Transmission of a local transaction.
- Turning back to FIG. 13, when the performing of the global transaction comes to an end in the
document server 100, the servertransaction management section 105 carries out a transmission processing of the local transaction (step 420). The local transaction to be transmitted is basically identical with the global transaction which is generated on the basis of the original transaction received at thestep 401. It is assumed that the original transaction is the transaction related to the new generation of the document. In this event, the document identifier 211 (FIG. 11A) set in thedocument object 210 generated in the processing illustrated in FIG. 15 is set in the document identifier 2542 (FIG. 11C) in thetransaction data 254. It is assumed that the original transaction is the transaction related to the new generation of the document component. In this event, the document component identifier 231 (FIG. 11B) set in thedocument component object 230 generated in the processing illustrated in FIG. 16 is set in the document component identifier 2543 (FIG. 11C) in thetransaction data 254. In addition, their identifiers are set in the transaction data of the global transaction which is stored in theserver storage unit 107 at thestep 402. - The local transaction to be transmitted is given to the server
communication processing section 101 from the servertransaction management section 105. The servercommunication processing section 101 delivers the document identifier 2542 (FIG. 11C) in thetransaction data 254 to the accesscontrol management section 102 when thedocument component identifier 2543 in thetransaction data 254 of the local transaction has the value of “NULL”. The servercommunication processing section 101 delivers the document component identifier 2543 (FIG. 11C) in thetransaction data 254 to the accesscontrol management section 102 when thedocument component identifier 2543 in thetransaction data 254 of the local transaction does not have the value of “NULL”. When thedocument identifier 2542 is delivered to theaccess management section 102, theaccess management section 102 retrieves, from the document objects stored in theserver storage unit 107, the access attribute 212 (FIG. 11A) in thedocument object 210 corresponding to the delivereddocument identifier 2542 via the serverdata management section 106. When thedocument component identifier 2543 is delivered to theaccess management section 102, theaccess management section 102 retrieves, from the document component objects stored in theserver storage unit 107, the access attribute 232 (FIG. 11B) in thedocument component object 230 corresponding to the delivereddocument component identifier 2543 via the serverdata management section 106. The accesscontrol management section 102 determines, on the basis of the access attribute obtained, the clients to which the local transaction should be transmitted (step 421). Accordingly, in a case where the local transaction is the local transaction related to the new generation of the document, the accesscontrol management section 102 determines the clients to be transmitted in accordance with the access attribute 212 (FIG. 11A) in thedocument object 210 generated in the processing illustrated in FIG. 15. In addition, in another case where the local transaction is the local transaction related to the new generation of the document component, the local transaction related to modification of data of the document component, or the like, the accesscontrol management section 102 determines, in accordance with the access attribute 232 (FIG. 11B) in thedocument component object 230 generated in the processing illustrated in FIG. 16, as destined clients, the clients to which the local transaction should be transmitted. - The access
control management section 102 sends information indicative of the destined clients to the servercommunication processing section 101. The servercommunication processing section 101 transmits the local transaction to each of the destined clients (step 422). In this transmission processing, thedocument server 100 obtains transmission confirmation for the local transaction from each destined client. If thedocument server 100 fails to transmit the local transaction because of breakdown of a particular client or disconnection of the particular client from the network, thedocument server 100 records that effect. When restarting of the particular client of connection of the particular client to the network enables thedocument server 100 to communicate with the particular client, thedocument server 100 retries the transmission of the local transaction by using the global transaction stored in theserver storage unit 107. As a result, it is an assurance that the local transaction is surely transmitted to the clients related to the local transaction with time and failure overcome. - (4) Processing of the local transaction in each client that is transmitted from the document server.
- Referring to FIG. 17 in addition to FIG. 10, the description will proceed to operation of processing of the local transaction in each
client 110. Transmitted from thedocument server 100 via the network, the local transaction is received in the clientcommunication processing section 111 of the client 110 (step 801). The clientcommunication processing section 111 delivers the local transaction to the clienttransaction management section 115. Thestep 801 proceeds to astep 802 at which the clienttransaction management section 115 reads the global identification number 261 (FIG. 11F) out of thetransaction object 260 of the local transaction. Thestep 802 is followed by astep 803 at which the clienttransaction management section 115 ascertains whether or not the readoutglobal identification number 261 is one of processed global identification numbers which are recorded in theclient storage unit 117. When the readoutglobal identification number 261 is one of the processed global identification numbers (Y in the step 803), the processing comes to an end. This is because a processed local transaction having the above-mentioned one of the processed global identification numbers is transmitted from thedocument server 100 for some reason again. - It will be presumed that the received local transaction is not yet processed in the
client 110 in question In this event, thestep 803 is succeeded by astep 804 at which the clienttransaction management section 115 reads the local transaction. Thestep 804 proceeds to a step at which the clienttransaction management section 115 determines whether or not the local transaction is a transaction accompanied with the modification of the document structure. The transaction which is accompanied with the modification of the document structure is, for example, new generation of a document, a new generation of a document component, deletion of the document, deletion of the document component, and so on. On the other hand, the transaction which is not accompanied with the modification of the document structure is, for example, inputting of data to the document component, modification of the data, and so on. - When the local transaction is the transaction accompanied with the modification of the document structure (Y in the step805), the
step 805 is followed by astep 806 at which the clienttransaction management section 115 retrieves, from the virtual document structure data 226 (FIG. 11D) managed by the virtual documentstructure management section 114, the document component including the document component which is directly the modification object by the transaction and locks it if it exists. For instance, when the local transaction is the transaction so as to prepare a new document component β in a document component α, the document component α is locked as thestep 806. In addition, although the transaction for the new generation of the document is the transaction accompanied with the modification of the document component, thestep 806 is skipped. This is because the document component is not yet prepared. - Subsequently, the client
transaction management section 115 locks the document component which is directly the modification object by the current local transaction through the virtual document component management section 113 (step 807). Thestep 807 is succeeded by astep 808 at which the clienttransaction management section 115 determines whether or not the client in question holds real data of the virtual document component at present. If the client does not hold the real data of the virtual document component (Y in the step 808), thestep 808 proceeds to astep 809 at which the clienttransaction management section 115 obtains the real data of the virtual document component from thedocument server 100 by transmitting a document component data acquisition request designating the document identifier and the document component identifier to thedocument server 100 via the clientcommunication processing section 111. In addition, determination of whether or not the client in question holds the real data of the virtual document component is carried out on the basis of the value of the value of the data pointer 244 (FIG. 11E) of the virtualdocument component object 240. If thedata pointer 244 has the value of “NULL”, the determination is made so that the real data is absent. If thedata pointer 244 indicates a particular address, the determination is made so that the real data is present. - In addition, in the
document server 100, the document component data acquisition request in received in the servercommunication processing section 101 and is delivered from the servercommunication processing section 101 to the documentcomponent management section 103 through the documentstructure management section 104. The documentcomponent management section 103 reads data of the document component in question out of theserver storage unit 107 via the serverdata management section 106 and sends it the servercommunication processing section 101 through the documentstructure management section 104. The servercommunication processing section 101 transmits the data of the document component in question to theclient 110 which is a request source. - In addition, these
steps 807 to 809 are skipped if the local transaction is the transaction for the new generation of the document or the document component. - Thereafter, the client
transaction management section 115 performs the operation related to the current local transaction (step 810). It is assumed that the current local transaction indicates an operation for inputting data in a virtual document component in a virtual document or an operation for modifying the data. In this event, the clienttransaction management section 115 performs, via the virtual documentcomponent management section 113, processing of inputting the data 246 (FIG. 11E) in the virtual document component in question or of modifying thedata 246. In addition, it is assumed that the current local transaction indicates an operation fox deleting the virtual document component. In this event, the clienttransaction management section 115 deletes the virtual document component in question. - Furthermore, when the current local transaction indicates a generation operation of the virtual document of a generation operation of the virtual document component, the client
transaction management section 115 performs processing according to them. FIG. 18 shows a processing example at thestep 810 in a case where the local transaction relates to the generation operation of the virtual document while FIG. 19 shows a processing example at thestop 810 in another case where the local transaction relates to the generation operation of the virtual document component. - Turning to FIG. 18, the description will proceed to operation of a procedure of performing the local transaction related to the generation operation of the virtual document. The client
transaction management section 115 passes control to the virtual documentstructure management section 114. The virtual documentstructure management section 114 first takes the document identifier 2642 (FIG. 11F) out of thetransaction data 264 of the local transaction (step 901). Thestep 901 proceeds to astep 902 at which the virtual documentstructure management section 114 generates avirtual document object 220 having the takendocument identifier 2642. The generatedvirtual document object 220 is the virtual document object 220 (FIG. 11D) which comprises thevirtual document identifier 221 In which the takendocument identifier 2642 is set, thevirtual access attribute 222 and thevirtual document attribute 223 each of which has a value of “NULL” at this point in time. In addition, the virtual documentstructure management section 114 secures, in theclient storage unit 117, a storage area such as a file for storing the virtual document structure data 226 (FIG. 11D) and sets a pointer thereto in the virtual document structure data pointer 224 (FIG. 11D). Furthermore, the virtual documentstructure management section 114 sets a current time instant in theaccess time instant 225. - Subsequently, by referring to information included in the transaction data264 (FIG. 11F) of the local transaction (the
access attribute 2644, thedocument attribute 2645, or the like), the virtual documentstructure management section 114 sets thevirtual access attribute 222 and thevirtual document attribute 223 in thevirtual document object 220 generated at the step 902 (step 903). Thestep 903 is followed by astep 904 at which the virtual documentstructure management section 114 stores or saves the virtual document object 220 (FIG. 11D) in theclient storage unit 117 through the clientdata management section 116. Thestep 904 is succeeded by astep 905 at which the virtual documentstructure management section 114 returns or delivers thevirtual document object 220 to theapplication program 120. Thereafter, when theapplication program 120 carries out, in response of an operation of the user, the operation for thevirtual document object 220, an operation corresponding to thedocument object 210 resided in thedocument server 110 is issued or generated as an original transaction. In addition, if an access limitation is set in thevirtual access attribute 222 of thevirtual document object 220, an available operation is limited to ones defined by the access limitation. - Turning to FIG. 19, the description will proceed to operation of a procedure of performing the local transaction related to the generation operation of the virtual document component. The client
transaction management section 115 passes control to the virtual documentcomponent management section 113. The virtual documentcomponent management section 113 first takes the document component identifier 2643 (FIG. 11F) out of thetransaction data 264 of the local transaction (step 1001). Thestep 1001 proceeds to astep 1002 at which the virtual documentcomponent management section 113 generates a virtualdocument component object 240 having the takendocument component identifier 2643. The generated virtualdocument component object 240 is the virtual document component object 240 (FIG. 11E) which comprises the virtualdocument component identifier 241 in which the taken document component identifier is set, thevirtual access attribute 242 and the virtualdocument component attribute 243 each of which has a value of “NULL” at this point in time. In addition, the virtual documentcomponent management section 113 secures, in theclient storage unit 117, a storage area such as a file for storing the data 246 (FIG. 11E) of the virtual document component and sets a pointer thereto in the data pointer 244 (FIG. 11E). - Subsequently, by referring to information included in the transaction data264 (FIG. 11F) of the local transaction (the
access attribute 2644, theattribute 2645, or the like), the virtual documentcomponent management section 113 sets theaccess attribute 242 and theattribute 243 in the virtualdocument component object 240 generated at the step 1002 (step 1003). Thestep 1003 is followed by astep 1004 at which the virtual documentcomponent management section 113 saves or stores the virtual document component object 240 (FIG. 11E) in theclient storage unit 117 through the clientdata management section 116. Thestep 1004 is succeeded by astep 1005 at which the virtual documentcomponent management section 113 returns or delivers the virtual document component object to theapplication program 120. Thereafter, when theapplication program 120 carries out, in response of an operation of the user, the operation for the virtualdocument component object 240, an operation corresponding to thedocument component object 230 resided in thedocument server 110 is issued or generated as an original transaction. In addition, if an access limitation is set in thevirtual access attribute 242 of the virtualdocument component object 240, an available operation is limited to ones defined by the access limitation. - Referring to FIG. 17 again, when the performing of the operation related to the local transaction comes to an end, the client
transaction management section 115 releases the locking of the virtual document component which is the modification object directly (step 811). However, the releasing of the locking or thestep 811 is skipped in a case where the virtual document component of the object disappears such as deletion. In addition, thestep 811 is also skipped in another case where the locking of the virtual document component is not carried out at thestop 807 such as the new generation of the virtual document. Subsequently, the clienttransaction management section 115 determines again whether or not the local transaction is a transaction accompanied with modification of document structure in the similar manner at the step 805 (step 812). When the local transaction is the transaction accompanied with the modification of the document structure, thestep 812 proceeds to astep 813 at which the clienttransaction management section 115 modifies the document structure via the virtual documentstructure management section 114. Thereafter, if there is the virtual document component which is locked at thestep 806, the clienttransaction management section 115 releases the locking thereof (step 814). - It is presumed that a new virtual document component is generated for the already generated document in the modification of the virtual document structure at the
step 813. In this event, the virtual documentstructure management section 114 carries out processings of adding information related to the new generated virtual document component into the virtual document structure data 216 (FIG. 11D) which is already generated and of deleting the information In a case of deletion of the virtual document component. In addition, if the virtualdocument structure data 226 in question is absent, the clienttransaction management section 115 suitably obtains the virtualdocument structure data 226 by transmitting a document structure data acquisition request to thedocument server 100. Determination of whether or not the client in question holds the virtualdocument structure data 226 is carried out on the basis of the value of the virtual document structure data pointer 224 (FIG. 11D) of thevirtual document object 220. If the virtual documentstructure data pointer 224 has the value of “NULL”, the determination is made so that the virtualdocument structure data 226 is absent. If the virtual documentstructure data pointer 224 indicates a particular address, the determination is made so that the virtualdocument structure data 226 is present. - In addition, in the
document server 100, the document structure data acquisition request is received in the servercommunication processing section 101 and is delivered from the servercommunication processing section 101 to the documentstructure management section 104. The documentstructure management section 104 reads thedocument structure data 216 in question and thedocument component object 230 related thereto out of theserver storage unit 107 via the serverdata management section 106. Thereafter, the documentstructure management section 104 refers to theaccess attribute 232 of eachdocument component object 230 to prepare document structure data which lets the client of a request source see the document components only and transmits the prepared document structure data to theclient 110 of the request source through the servercommunication processing section 101. - Finally, the client
transaction management section 115 records the global identification number of the local transaction in question into theclient storage unit 117 via the clientdata management section 116 as a processed global identification number (step 815). - By carrying out the above-mentioned operations by the
document server 100 and eachclient 110, it is possible to realize a document sharing management so that a part of data element of a document can be edited for the same contents by all of the clients, another part of the data elements of the document can be edited by specific ones or a group in the clients only, and a still another part of the data elements of the document can be used as a memorandum for private use. - In addition, inasmuch as the prepared document object and the prepared document component objects are stored or saved in the
server storage unit 107, it is possible to reuse them later. More specifically, it will be assumed that a document display request designating a specific document identifier is sent from aparticular client 110 being a request source to thedocument server 100. In this event, the documentstructure management section 104 retrieves thedocument object 210 having the specific document identifier fromserver storage unit 107 to obtain it. When theaccess attribute 212 of thedocument object 210 permits utilization of the document in theparticular client 110 of the request source, documentstructure management section 104 transmits thedocument object 210 to theparticular client 110 of the request source. In addition, the documentstructure management section 104 retrieves, from theserver storage unit 107, thedocument component object 230 of the document component which is one in the document and which utilization in the particular client of the request source is permitted to obtain it, and transmits it to the particular client of the request source. - The description will proceed to other distributed systems according to other embodiments of this invention.
- (A) On transmission of the local transaction, the
document server 100 may transmit, without the transmission of all of the data elements of local transaction, a part of the data elements of local transaction that includes data peculiar to thedocument server 100 to a specific client which is a transmission source for transmitting an original transaction. Particularly, in the above-mentioned preferred embodiment, thedocument server 100 transmits all of the data elements of the local transaction to each client to be informed at thestep 420 of FIG. 13. However, the local transaction is substantially identical with the original transaction transmitted from the specific client naturally and the specific client saves or stores the original transaction on transmission of the original transaction at thestep 313 of FIG. 12. Accordingly, it is useless to transmit all of the data elements of the local transaction to the specific client. Therefore, in another embodiment, thedocument server 100 transmits, to the specific client, data where the specific client does not store only. For instance, it is presumed that the specific client transmits the original transaction indicative of inputting or modifying data of a document component. In this event, in as much as it is unnecessary to transmit transaction data, thedocument server 100 transmits, for example, data where the transaction data pointer 253 (FIG. 11C) of thetransaction object 250 is NULL to the specific client to inform of the global identification number only. As a result, it is possible to suppress a load of the network because a transmission amount of necessary data is decreased. - (B) On reception of an original transaction related to an editing operation for a document component to process the original transaction as a global transaction, the
document server 100 may hold or store in theserver storage unit 107, without the latest edited contents, data indicative of a correspondence relationship between an identifier of the document component and a client holding the latest edited contents and the real latest edited contents may be held in theclient 110. In such a modification, on reusing of the document, it is necessary for thedocument server 100 to carry out the procedures of investigating the correspondence relationship between the identifier of the document component and the client holding the latest edited contents thereof, obtaining the latest edited contents from the client in question, and transmitting it to the client which reuses the document. However, the modification is advantageous in that it is possible to cut a necessary storage capacity for thedocument server 100 in comparison with a case where thedocument server 100 collectively supervises all of the document components. - Furthermore, in addition to the last-mentioned embodiment, the document
component management section 103 of thedocument server 100 may be used in the similar manner as the virtual documentcomponent management section 113 of each client in order to temporarily store, in thedocument server 100, the latest document component managed by eachclient 110. Under the circumstances, it is possible to access the latest document component stored in thedocument server 100 although the client is broken down or is disconnected to the network. - (C) On transmitting any original transaction to the
document server 100, each client may collectively transmit a set of original transactions related in a sense to each other as a collected original transaction. More specifically, after thestep 313 of FIG. 12, processing directly comes to an end. Thereafter, when an operation designated by theapplication program 120 continues, the client transmits, as the collected original transaction, a current original transaction with collected to a stored original transaction at thestep 314. By doing in such a manner, it is possible for theapplication program 120 to perform a large significant unit of transaction. - (D) The
document server 100 may be provided with a module for dispersively supervising names of the document identifiers or the document component identifiers in order to supervise a document by a plurality of document servers. With this structure, in the procedure of generation of the original transaction of FIG. 12, before thestep 311, the client searches the modules of the document servers for a particular document server supervising the document component on the basis of the document component identifier and transmits the original transaction to the particular document server at thestep 314. - While this invention has so far been described in conjunction with a few embodiments thereof, it will readily be possible for those skilled in the art to put this invention into practice in other manner. For example, a program realizing the above-mentioned document sharing management method may be recorded in a
recording medium 120 as shown at a broken line in FIG. 10. Herein, the “recording medium” means a recording medium for recording the program which enables a computer system to read. For example, the recording medium may be a compact disc read only memory (CD-ROM), a magnetic disk such as a floppy or flexible disk, a semiconductor memory, or the like. At any rate, such a program is installed from the recording medium in the computer system.
Claims (87)
1. A method of managing a document shared in a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, said method comprising the steps of:
a) carrying out generation operation for the document via an application program of a specific document generation client by a user to produce an original document generation transaction related to generation of the document, said specific document generation client being one of said plurality of clients;
b) transmitting, front said specific document generation client to said document server, the original document generation transaction which designates an access attribute of the document to be generated;
c) receiving the original document generation transaction in said document server;
d) processing, in said document server, said original document generation transaction as a global document generation transaction to produce a document object;
e) transmitting, from said document server to each client corresponding to the access attribute designated by the global document generation transaction, the global document generation transaction as a local document generation transaction;
f) receiving the local document generation transaction in each client corresponding to the access attribute designated by the global document generation transaction;
g) performing, in each client receiving the local document generation transaction, the local document generation transaction to produce a virtual document object corresponding to the document object generated in said document server; and
h) returning, in each client performing the local document generation transaction, the virtual document object to an application program thereof.
2. A method as claimed in , wherein said method further comprising the steps of:
claim 1
i) storing, after said step d), the global document generation transaction in said document server as a stored global document generation transaction; and
j) retrying, in said document server after said step e), transmission of the stored global document generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
3. A method as claimed in , wherein said method further comprising the step of k) storing, after said step a), the original document generation transaction in said specific document generation client, said document server transmitting, on transmission of the local document generation transaction at said step e), a part of data elements of the local document generation transaction that includes data peculiar to said document server alone to said specific document generation client.
claim 1
4. A method as claimed in , wherein said document consists of a plurality of document components, said method further comprising the steps of:
claim 1
aa) carrying out generation operation for a particular document component via an application program of a specific document component generation client by a user to produce an original document component generation transaction related to generation of the particular document component, the particular document component being one of the plurality of document components, said specific document component generation client being one of said plurality of clients;
bb) transmitting, from said specific document component generation client to said document server, the original document component generation transaction which designates an access attribute of the particular document component to be generated;
cc) receiving the original document component generation transaction in said document server;
dd) processing, in said document server, said original document component generation transaction as a global document component generation transaction to produce a document component object;
ee) transmitting, from said document server to each client corresponding to the access attribute designated by the global document component generation transaction, the global document component generation transaction as a local document component generation transaction;
ff) receiving the local document component generation transaction in each client corresponding to the access attribute designated by the global document component generation transaction;
gg) performing, in each client receiving the local document component generation transaction, the local document component generation transaction to produce a virtual document component object corresponding to said document component object generated in said document server; and
hh) returning, in each client performing the local document component generation transaction, the virtual document component object to an application program thereof.
5. A method as claimed in , wherein said method further comprising the steps of:
claim 4
ii) storing, after said step dd), the global document component generation transaction in said document server as a stored global document component generation transaction; and
jj) retrying, in said document server after step ee), transmission of the stored global document component generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
6. A method as claimed in , wherein said method further comprising the step of kk) storing, after said step aa), the original document component generation transaction in said specific document component generation client, said document server transmitting, on transmission of the local document component generation transaction at said step ee), a part of the data elements of the local document component generation transaction that includes data peculiar to said document server alone to said specific document component generation client.
claim 4
7. A method as claimed in , wherein further comprising the steps of:
claim 4
aaa) carrying out an editing operation for the particular document component via an application program of a specific editing client by a user to produce an original editing transaction related to editing of the particular document component, said specific editing client being one of said plurality of clients;
bbb) transmitting, from said specific editing client to said document server, the original editing transaction which designates an access attribute to the particular document component to be edited;
ccc) receiving the original editing transaction in said document server;
ddd) processing, in said document server, the original editing transaction as a global editing transaction to operate said document component object for the particular document component;
eee) transmitting, from said document server to each client corresponding to the access attribute related to the particular document component, the global editing transaction as a local editing transaction;
fff) receiving the local editing transaction in each client corresponding to the access attribute related to the particular document component;
ggg) performing, in each client receiving the local editing transaction, the local editing transaction to operate a virtual document component object for the particular document component and to prepare edited data; and
hhh) returning, in each client performing the local editing transaction, the edited data to an application program thereof.
8. A method as claimed in , wherein said method further comprising the steps of:
claim 7
iii) storing, after said step ddd), the global editing transaction in said document server as a stored global editing transaction; and
jjj) retrying, in said document server after said step eee), transmission of the stored global editing transaction to each client where said document server cannot obtain an acknowledgement of the local editing transaction.
9. A method as claimed in , wherein said method further comprising the step of kkk) storing, after said step aaa), the original editing transaction in said specific editing client, said document server transmitting, on transmission of the local editing transaction at said step eee), a part of the data elements of the local editing transaction that includes data peculiar to said document server alone to said specific editing client.
claim 7
10. A method as claimed in , wherein each client holds the latest edited contents, said document server holding, on processing the global editing transaction at said step ddd), data indicative of a correspondence relationship between an identifier of the particular document component and the client holding the latest edited contents without holding the latest edited contents.
claim 7
11. A method as claimed in , wherein each client collectively transmits, on transmitting any original transaction to said document server, a set of original transactions related in a sense to each other as a collected original transaction.
claim 7
12. A distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, each of said plurality of clients comprising:
means for carrying out generation operation for a document via an application program thereof by a user to produce an original document generation transaction related to generation of the document; and
means for transmitting, to said document server, the original document generation transaction which designates an access attribute of the document to be generated,
said document server comprising:
means for receiving the original document generation transaction;
means for processing said original document generation transaction as a global document generation transaction to produce a document object; and
means for transmitting, to each client corresponding to the access attribute designated by the global document generation transaction, the global document generation transaction as a local document generation transaction,
each of said plurality of clients further comprising:
means for receiving the local document generation transaction when the client corresponds to the access attribute designated by the global document generation transaction;
means for performing, after reception of the local document generation transaction, the local document generation transaction to produce a virtual document object corresponding to the document object generated in said document server; and
means for returning, after performing the local document generation transaction, the virtual document object to an application program thereof.
13. A distributed system as claimed in , wherein said document server further comprises:
claim 12
means for storing, after processing said global document generation transaction, the global document generation transaction therein as a stored global document generation transaction; and
means for retrying, after transmitting the local document generation transaction, transmission of the stored global document generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
14. A distributed system as claimed in , wherein each of said plurality of clients further comprises means for storing, after carrying out said generation operation of the document, the original document generation transaction therein, said document server further comprising means for transmitting, on transmission of the local document generation transaction, a part of data element of the local document generation transaction that includes data peculiar thereto alone to the client in question.
claim 12
15. A distributed system as claimed in , wherein said document consists of a plurality of document components, each of said plurality of clients further comprising:
claim 12
means for carrying out generation operation for a particular document component via an application program thereof by a user to produce an original document component generation transaction related to generation of the particular document component, the particular document component being one of the plurality of document components; and
means for transmitting, to said document server, the original document component generation transaction which designates an access attribute of the particular document component to be generated,
said document server comprising:
means for receiving the original document component generation transaction;
means for processing said original document component generation transaction as a global document component generation transaction to produce a document component object; and
means for transmitting, to each client corresponding to the access attribute designated by the global document component generation transaction, the global document component generation transaction as a local document component generation transaction,
each of said plurality of clients further comprising:
means for receiving the local document component generation transaction when the client corresponds to the access attribute designated by the global document component generation transaction;
means for performing, after reception of the local document component generation transaction, the local document component generation transaction to produce a virtual document component object corresponding to said document component object generated in said document server; and
means for returning, after performing the local document component generation transaction, the virtual document component object to an application program thereof.
16. A distributed system as claimed in , wherein said document server further comprises:
claim 15
means for storing, after processing said global document component generation transaction, the global document component generation transaction therein as a stored global document component generation transaction; and
means for retrying, after transmitting the local document component generation transaction, transmission of the stored global document component generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
17. A distributed system as claimed in , wherein each of said plurality of clients further comprises means for storing, after carrying out said generation operation for the particular document component, the original document component generation transaction therein, said document server further comprising means for transmitting, on transmission of the local document component generation transaction, a part of data elements of the local document component generation transaction that includes data peculiar thereto alone to the client in question.
claim 15
18. A distributed system as claimed in , wherein each of said plurality of clients further comprises:
claim 15
means for carrying out an editing operation for the particular document component via an application program thereof by a user to produce an original editing transaction related to editing of the particular document component; and
means for transmitting, to said document server, the original editing transaction which designates an access attribute to the particular document component to be edited,
said document server further comprising;
means for receiving the original editing transaction;
means for processing the original editing transaction as a global editing transaction to operate said document component object for the particular document component; and
means for transmitting, to each client corresponding to the access attribute related to the particular document component, the global editing transaction as a local editing transaction,
each of said plurality of clients further comprising:
means for receiving the local editing transaction when the client corresponds to the access attribute related to the particular document component;
means for performing, after reception of the local editing transaction, the local editing transaction to operate a virtual document component object for the particular document component and to prepare edited data; and
means for returning, after performing the local editing transaction, the edited data to an application program thereof.
19. A distributed system as claimed in , wherein said document server further comprises:
claim 18
means for storing, after processing the global editing transaction, the global editing transaction therein as a stored global editing transaction; and
means for retrying, after transmitting the local editing transaction, transmission of the stored global editing transaction to each client where said document server cannot obtain an acknowledgement of the local editing transaction.
20. A distributed system as claimed in , wherein each of said plurality of clients further comprises means for storing, after carrying out said editing operation for the particular document component, the original editing transaction therein, said document server further comprising means for transmitting, on transmission of the local editing transaction, a part of data elements of the local editing transaction that includes data peculiar thereto alone to said client in question.
claim 18
21. A distributed system as claimed in , wherein each client further comprises means for holding the latest edited contents therein, said document server further comprising means for holding, on processing the global editing transaction, therein data indicative of a correspondence relationship between an identifier of the particular document component and the client holding the latest edited contents without holding the latest edited contents therein.
claim 18
22. A distributed system as claimed in , wherein each client further comprises means for collectively transmitting, on transmitting any original transaction to said document server, a set of original transactions related in a sense to each other as a collected original transaction.
claim 18
23. A client for use in a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, said client comprising:
means for carrying out generation operation for a document via an application program thereof by a user to produce an original document generation transaction related to generation of the document; and
means for transmitting, to said document server, the original document generation transaction which designates an access attribute of the document to be generated.
24. A client as claimed in , said document server transmitting a local document generation transaction to each client corresponding to the access attribute designated by the original document generation transaction, wherein said client further comprises:
claim 23
means for receiving the local document generation transaction when the client corresponds to the access attribute designated by the original document generation transaction;
means for performing, after reception of the local document generation transaction, the local document generation transaction to produce a virtual document object corresponding to a document object generated in said document server; and
means for returning, after performing the local document generation transaction, the virtual document object to an application program thereof.
25. A client as claimed in , wherein further comprises means for storing, after carrying out said generation operation of the document, the original document generation transaction therein.
claim 23
26. A document server for use in a distributed system comprising a plurality of clients which are connected to said document server via a network, each client transmitting, to said document server, an original document generation transaction which designates an access attribute of a document to be generated, said document server comprising:
means for receiving the original document generation transaction;
means for processing said original document generation transaction as a global document generation transaction to produce a document object; and
means for transmitting, to each client corresponding to the access attribute designated by the global document generation transaction, the global document generation transaction as a local document generation transaction.
27. A document server as claimed in , wherein further comprises:
claim 26
means for storing, after processing said global document generation transaction, the global document generation transaction therein as a stored global document generation transaction; and
means for retrying, after transmitting the local document generation transaction, transmission of the stored global document generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
28. A document server as claimed in , each of said plurality of clients storing, after carrying out generation operation of the document, an original document generation transaction therein, wherein said document server further comprises means for transmitting, on transmission of the local document generation transaction, a part of data elements of the local document generation transaction that includes data peculiar thereto alone to the client in question.
claim 26
29. A client as claimed in , said document consists of a plurality of document components, wherein said client further comprises:
claim 24
means for carrying out generation operation for a particular document component via an application program thereof by a user to produce an original document component generation transaction related to generation of the particular document component, the particular document component being one of the plurality of document components; and
means for transmitting, to said document server, the original document component generation transaction which designates an access attribute of the particular document component to be generated.
30. A client as claimed in , said document server transmitting a local document component generation transaction to each client corresponding to the access attribute designated by the original document component generation transaction, wherein said client further comprises:
claim 29
means for receiving the local document component generation transaction when the client corresponds to the access attribute designated by the original document component generation transaction;
means for performing, after reception of the local document component generation transaction, the local document component generation transaction to produce a virtual document component object corresponding to a document component object generated in said document server; and
means for returning, after performing the local document component generation transaction, the virtual document component object to an application program thereof.
31. A client as claimed in , wherein further comprises means for storing, after carrying out said generation operation for the particular document component, the original document component generation transaction therein.
claim 29
32. A document server as claimed in , said document consisting of a plurality of document components, each of said plurality of clients transmitting, to said document server, an original document component generation transaction which designates an access attribute of a particular document component to be generated, wherein said document server comprises:
claim 26
means for receiving the original document component generation transaction;
means for processing said original document component generation transaction as a global document component generation transaction to produce a document component object; and
means for transmitting, to each client corresponding to the access attribute designated by the global document component generation transaction, the global document component generation transaction as a local document component generation transaction.
33. A document server as claimed in , wherein further comprises:
claim 32
means for storing, after processing said global document component generation transaction, the global document component generation transaction therein as a stored global document component generation transaction; and
means for retrying, after transmitting the local document component generation transaction, transmission of the stored global document component generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
34. A document server as claimed in , each of said plurality of clients storing, after carrying out generation operation for the particular document component, an original document component generation transaction therein, wherein said document server further comprises means for transmitting, on transmission of the local document component generation transaction, a part of data elements of the local document component generation transaction that includes data peculiar thereto alone to the client in question.
claim 32
35. A client as claimed in , wherein further comprises:
claim 29
means for carrying out an editing operation for the particular document component via an application program thereof by a user to produce an original editing transaction related to editing of the particular document component; and
means for transmitting, to said document server, the original editing transaction which designates an access attribute related to the particular document component to be edited.
36. A client as claimed in , said document server transmitting a local editing transaction to each client corresponding to the access attribute related to the particular document component, said client further comprising:
claim 35
means for receiving the local editing transaction when the client corresponds to the access attribute related to the particular document components;
means for performing, after reception of the local editing transaction, the local editing transaction to operate a virtual document component object for the particular document component and to prepare edited data; and
means for returning, after performing the local editing transaction, the edited data to an application program thereof.
37. A client as claimed in , wherein further comprises means for storing, after carrying out said editing operation for the particular document component, the original editing transaction therein.
claim 35
38. A client as claimed in , wherein further comprises means for holding the latest edited contents therein.
claim 36
39. A client as claimed in , further comprises means for collectively transmitting, on transmitting any original transaction to said document server, a set of original transactions related in a sense to each other as a collected original transaction.
claim 35
40. A document server as claimed in , each of said plurality of clients transmitting, to said document server, an original editing transaction which designates an access attribute related to the particular document component to be edited, wherein said document server further comprising;
claim 32
means for receiving the original editing transaction;
means for processing the original editing transaction as a global editing transaction to operate said document component object for the particular document component; and
means for transmitting, to each client corresponding to the access attribute related to the particular document component, the global editing transaction as a local editing transaction.
41. A document server as claimed in , wherein further comprises:
claim 40
means for storing, after processing the global editing transaction, the global editing transaction therein as a stored global editing transaction; and
means for retrying, after transmitting the local editing transaction, transmission of the stored global editing transaction to each client where said document server cannot obtain an acknowledgement of the local editing transaction.
42. A document server as claimed in , each of said plurality of clients storing, after carrying out editing operation for the particular document component, an original editing transaction therein, wherein said document server further comprises means for transmitting, on transmission of the local editing transaction, a part of data elements of the local editing transaction that includes data peculiar thereto alone to said client in question.
claim 40
43. A document server as claimed in , each client holding the latest edited contents therein, wherein said document server further comprises means for holding, on processing the global editing transaction, therein data indicative of a correspondence relationship between an identifier of the particular document component and the client holding the latest edited contents without holding the latest edited contents therein.
claim 40
44. A recording medium for use in a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, said recording medium being for recording a first program to make each of said plurality of clients execute the procedures of:
carrying out generation operation for a document via an application program thereof by a user to produce an original document generation transaction related to generation of the document; and
transmitting, to said document server, the original document generation transaction which designates an access attribute of the document to be generated,
said recording medium being for recording a second program to make said document server execute the procedures of:
receiving the original document generation transaction;
processing said original document generation transaction as a global document generation transaction to produce a document object; and
transmitting, to each client corresponding to the access attribute designated by the global document generation transaction, the global document generation transaction as a local document generation transaction,
said recording medium being for recording a third program to make each of said plurality of clients execute the procedures of:
receiving the local document generation transaction when the client corresponds to the access attribute designated by the global document generation transaction;
performing, after reception of the local document generation transaction, the local document generation transaction to produce a virtual document object corresponding to the document object generated in said document server; and
returning, after performing the local document generation transaction, the virtual document object to an application program thereof.
45. A recording medium as claimed in , wherein said second program further makes said document server execute the procedures of:
claim 44
storing, after processing said global document generation transaction, the global document generation transaction therein as a stored global document generation transaction; and
retrying, after transmitting the local document generation transaction, transmission of the stored global document generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
46. A recording medium as claimed In , wherein said first program further makes each of said plurality of clients execute the procedure of storing, after carrying out said generation operation of the document, the original document generation transaction therein, said second program further making said document server execute the procedure of transmitting, on transmission of the local document generation transaction, a part of data elements of the local document generation transaction that includes data peculiar thereto alone to the client in question.
claim 44
47. A recording medium as claimed in , wherein said document consists of a plurality of document components, said recording medium being for recording a fourth program to make each of said plurality of clients execute the procedures of:
claim 44
carrying out generation operation for a particular document component via an application program thereof by a user to produce an original document component generation transaction related to generation of the particular document component, the particular document component being one of the plurality of document components; and
transmitting, to said document server, the original document component generation transaction which designates an access attribute of the particular document component to be generated,
said recording medium being for recording a fifth program to make said document server execute the procedures of:
receiving the original document component generation transaction;
processing said original document component generation transaction as a global document component generation transaction to produce a document component object; and
transmitting, to each client corresponding to the access attribute designated by the global document component generation transaction, the global document component generation transaction as a local document component generation transaction,
said recording medium being for recording a sixth program to make each of said plurality of clients execute the procedures of:
receiving tho local document component generation transaction when the client corresponds to the access attribute designated by the global document component generation transaction;
performing, after reception of the local document component generation transaction, the local document component generation transaction to produce a virtual document component object corresponding to said document component object generated in said document server; and
returning, after performing the local document component generation transaction, the virtual document component object to an application program thereof.
48. A recording medium as claimed in , wherein said fifth program further makes said document server execute the procedures of:
claim 47
storing, after processing said global document component generation transaction, the global document component generation transaction therein as a stored global document component generation transaction; and
retrying, after transmitting the local document component generation transaction, transmission of the stored global document component generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
49. A recording medium as claimed in , wherein said fourth program further makes each of said plurality of clients execute the procedure of storing, after carrying out said generation operation for the particular document component, the original document component generation transaction therein, said fifth program further making said document server execute the procedure of transmitting, on transmission of the local document component generation transaction, a part of data elements of the local document component generation transaction that includes data peculiar thereto alone to the client in question.
claim 47
50. A recording medium as claimed in , wherein said recording medium further records a seventh program to make each of said plurality of clients execute the procedures of:
claim 47
carrying out an editing operation for the particular document component via an application program thereof by a user to produce an original editing transaction related to editing of the particular document component; and
transmitting, to said document server, the original editing transaction which designates an access attribute to the particular document component to be edited,
said recording medium being for recording a eighth program to make said document server execute the procedures of:
receiving the original editing transaction;
processing the original editing transaction as a global editing transaction to operate said document component object for the particular document component; and
transmitting, to each client corresponding to the access attribute related to the particular document component, the global editing transaction as a local editing transaction,
said recording medium being for recording a ninth program to make each of said plurality of clients execute the procedures of:
receiving the local editing transaction when the client corresponds to the access attribute related to the particular document comportment;
performing, after reception of the local editing transaction, the local editing transaction to operate a virtual document component object for the particular document component and to prepare edited data; and
returning, after performing the local editing transaction, the edited data to an application program thereof.
51. A recording medium as claimed in , wherein said eighth program further makes said document server execute the procedures of:
claim 50
storing, after processing the global editing transaction, the global editing transaction therein as a stored global editing transaction; and
retrying, after transmitting the local editing transaction, transmission of the stored global editing transaction to each client where said document server cannot obtain an acknowledgement of the local editing transaction.
52. A recording medium as claimed in , wherein said seventh program further makes each of said plurality of clients execute the procedure of storing, after carrying out said editing operation for the particular document component, the original editing transaction therein, said eighth program further making said document server execute the procedure of transmitting, on transmission of the local editing transaction, a part of data element of the Local editing transaction that includes data peculiar thereto alone to said client in question.
claim 50
53. A recording medium as claimed in , wherein said recording medium further records a tenth program to make each of said plurality of clients execute the procedure of holding the latest edited contents therein, said eighth program further making said document server execute the procedure of holding, on processing the global editing transaction, therein data indicative of a correspondence relationship between an identifier of the particular document component and the client holding the latest edited contents without holding the latest edited contents therein.
claim 50
54. A recording medium as claimed in , wherein said recording medium further records an eleventh program to make each of said plurality of clients execute the procedure of collectively transmitting, on transmitting any original transaction to said document server, a set of original transactions related in a sense to each other as a collected original transaction.
claim 50
55. A recording medium for recording a first primary program to make a client execute the procedures of:
carrying out generation operation for a document via an application program thereof by a user to produce an original document generation transaction related to generation of the document; and
transmitting, to a document server, the original document generation transaction which designates an access attribute related of the document to be generated.
56. A recording medium as claimed in , said document server transmitting a local document generation transaction to each client corresponding to the access attribute designated by the original document generation transaction, wherein said recording medium further recording a second primary program to make said client execute the procedures of:
claim 55
receiving the local document generation transaction when the client corresponds to the access attribute designated by the original document generation transaction;
performing, after reception of the local document generation transaction, the local document generation transaction to produce a virtual document object corresponding to a document object generated in said document server; and
returning, after performing the local document generation transaction, the virtual document object to an application program thereof.
57. A recording medium as claimed in , wherein said first primary program further makes said client execute the procedure of storing, after carrying out said generation operation of the document, the original document generation transaction therein.
claim 55
58. A recording medium for recording a primary program to make a document server execute the procedures of:
receiving, from each client, an original document generation transaction which designates an access attribute of a document to be generated;
processing said original document generation transaction as a global document generation transaction to produce a document object; and
transmitting, to each client corresponding to the access attribute designated by the global document generation transaction, the global document generation transaction as a local document generation transaction.
59. A recording medium as claimed in , wherein said primary program further makes said document server execute the procedures of:
claim 58
storing, after processing said global document generation transaction, the global document generation transaction therein as a stored global document generation transaction; and
retrying, after transmitting the local document generation transaction, transmission of the stored global document generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
60. A recording medium as claimed in , each client storing, after carrying out generation operation of the document, an original document generation transaction therein, wherein said primary program further makes said document server execute the procedure of transmitting, on transmission of the local document generation transaction, a part of data elements of the local document generation transaction that includes data peculiar thereto alone to the client in question.
claim 58
61. A recording medium as claimed in , said document consists of a plurality of document components, wherein said recording medium further records a first secondary program to make said client execute the procedures of:
claim 55
carrying out generation operation for a particular document component via an application program thereof by a user to produce an original document component generation transaction related to generation of the particular document component, the particular document component being one of the plurality of document components; and
transmitting, to said document server, the original document component generation transaction which designates an access attribute of the particular document component to be generated.
62. A recording medium as claimed in , said document server transmitting a local document component generation transaction to each client corresponding to the access attribute designated by the original document component generation transaction, wherein said recording medium further records a second secondary program to make said client execute the procedures of:
claim 61
receiving the local document component generation transaction when the client corresponds to the access attribute designated by the original document component generation transaction;
performing, after reception of the local document component generation transaction, the local document component generation transaction to produce a virtual document component object corresponding to a document component object generated in said document server; and
returning, after performing the local document component generation transaction, the virtual document component object to an application program thereof.
63. A recording medium as claimed in , wherein said first secondary program further makes said client execute the procedure of storing, after carrying out said generation operation for the particular document component, the original document component generation transaction therein.
claim 61
64. A recording medium as claimed in , said document consisting of a plurality of document components, each client transmitting, to said document server, an original document component generation transaction which designates an access attribute of a particular document component to be generated, wherein said recording medium further records a secondary program to make said document server execute the procedures of:
claim 58
receiving the original document component generation transaction;
processing said original document component generation transaction as a global document component generation transaction to produce a document component object; and
transmitting, to each client corresponding to the access attribute designated by the global document component generation transaction, the global document component generation transaction as a local document component generation transaction.
65. A recording medium as claimed in , wherein said secondary program further makes said document server execute the procedures of:
claim 64
storing, after processing said global document component generation transaction, the global document component generation transaction therein as a stored global document component generation transaction; and
retrying, after transmitting the local document component generation transaction, transmission of the stored global document component generation transaction to each client where said document server cannot obtain an acknowledgement of the local document generation transaction.
66. A recording medium as claimed in , each client storing, after carrying out generation operation for the particular document component, an original document component generation transaction therein, wherein said secondary program further makes said document server execute the procedure of transmitting, on transmission of the local document component generation transaction, a part of data elements of the local document component generation transaction that includes data peculiar thereto alone to the client in question.
claim 64
67. A recording medium as claimed in , wherein said recording medium further records a first ternary program to make said client execute the procedures of:
claim 62
carrying out an editing operation for the particular document component via an application program thereof by a user to produce an original editing transaction related to editing of the particular document component; and
transmitting, to a document server, the original editing transaction which designates an access attribute related to the particular document component to be edited.
68. A recording medium as claimed in , said document server transmitting a local editing transaction to each client corresponding to the access attribute related to the particular document component, wherein said recording medium further records a second ternary program to make said client execute the procedures of:
claim 67
receiving the local editing transaction when the client corresponds to the access attribute related to the particular document component;
performing, after reception of the local editing transaction, the local editing transaction to operate a virtual document component object for the particular document component and to prepare edited data; and
returning, after performing the local editing transaction, the edited data to an application program thereof.
69. A recording medium as claimed in , wherein said first ternary program further makes said client execute the procedure of storing, after carrying out said editing operation for the particular document component, the original editing transaction therein.
claim 67
70. A recording medium as claimed in , wherein said second ternary program further makes said client execute the procedures of holding the latest edited contents therein.
claim 68
71. A recording medium as claimed in , wherein said recording medium further records a third ternary program to make said client execute the procedures of collectively transmitting, on transmitting any original transaction to said document server, a set of original transactions related in a sense to each other as a collected original transaction.
claim 67
72. A recording medium as claimed in , each client transmitting, to said document server, an original editing transaction which designates an access attribute related to the particular document component to be edited, wherein said recording medium further records a ternary program to make said document server execute the procedures of:
claim 64
receiving the original editing transaction;
processing the original editing transaction as a global editing transaction to operate said document component object for the particular document component; and
transmitting, to each client corresponding to the access attribute related to the particular document component, the global editing transaction as a local editing transaction.
73. A recording medium as claimed In , wherein said ternary program further makes said document server execute the procedures of:
claim 72
storing, after processing the global editing transaction, the global editing transaction therein as a stored global editing transaction; and
retrying, after transmitting the local editing transaction, transmission of the stored global editing transaction to each client where said document server cannot obtain an acknowledgement of the local editing transaction.
74. A recording medium as claimed in , each client storing, after carrying out editing operation for the particular document component, an original editing transaction therein, wherein said ternary program further makes said document server execute the procedure of transmitting, on transmission of the local editing transaction, a part of data elements of the local editing transaction that includes data peculiar thereto alone to said client in question.
claim 72
75. A recording medium as claimed in , each client holding the latest edited contents therein, wherein said ternary program further makes said document server execute the procedure of holding, on processing the global editing transaction, therein data indicative of a correspondence relationship between an identifier of the particular document component and the client holding the latest edited contents without holding the latest edited contents therein.
claim 72
76. A method of managing a document shared in a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, said method comprising the step of transmitting, from each client to said document server, an original transaction with information indicative of at least one client which uses a document.
77. A method as claimed in , wherein said method further comprises the steps of:
claim 76
receiving the original transaction in said document server;
processing, in said document server, said original transaction as a global transaction to produce a document object; and
transmitting, from said document server to said at least one client, the global transaction as a local transaction.
78. A method as claimed in , wherein said method further comprises the steps of:
claim 77
receiving the local transaction in said at least one client; and
performing, in said at least one client, the local transaction to produce a virtual document object corresponding to the document object.
79. In a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, wherein the improvement each of said plurality of clients comprises means for transmitting, to said document server, an original transaction with information indicative of at least one client which uses a document.
80. A distributed system as claimed in , wherein said document server comprises:
claim 79
means for receiving the original transaction;
means for processing said original transaction as
a global document generation transaction to produce a document object; and
means for transmitting, to said at least one client, the global transaction as a local transaction.
81. A distributed system as claimed in , wherein said at least one client comprises:
claim 80
means for receiving the local transaction; and
means for performing the local transaction to produce a virtual document object corresponding to the document object.
82. A recording medium for use in a distributed system comprising a document server and a plurality of clients which are connected to said document server via a network, said recording medium being for recording a first program to make each of said plurality of clients execute the procedure of transmitting, to said document server, an original transaction with information indicative of at least one client which uses a document.
83. A recording medium as claimed in , wherein said recording medium further records a second program to make said document server execute the procedures of:
claim 82
receiving the original transaction;
processing the original transaction as a global transaction to produce a document object; and
transmitting, to said at least one client, the global transaction as a local transaction.
84. A recording medium as claimed in , wherein said recording medium further records a third program to make said at least one client execute the procedures of:
claim 83
receiving the local transaction; and
performing the local transaction to produce a virtual document object corresponding to the document object.
85. A recording medium for recording a program to make a client execute the procedure of transmitting, to a document server, an original transaction with information indicative of at least one client which uses a document.
86. A recording medium as claimed in , said document server transmitting a local transaction to said at least one client, wherein said recording medium further records an additional program to make said client execute the procedures of:
claim 85
receiving the local transaction; and
performing the local transaction to produce a virtual document object corresponding to a document object generated in said document server.
87. A recording medium for recording a program to make a document server execute the procedures of:
receiving, from each client, an original transaction with information indicative of at least one client which uses a document;
processing the original transaction as a global transaction to produce a document object; and
transmitting, to said at least one client, the global transaction as a local transaction.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-047333 | 1997-02-14 | ||
JP9047333A JP2996197B2 (en) | 1997-02-14 | 1997-02-14 | Document sharing management method |
JP9-47333 | 1997-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010042075A1 true US20010042075A1 (en) | 2001-11-15 |
US6446093B2 US6446093B2 (en) | 2002-09-03 |
Family
ID=12772304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/023,762 Expired - Lifetime US6446093B2 (en) | 1997-02-14 | 1998-02-13 | Document sharing management method for a distributed system |
Country Status (2)
Country | Link |
---|---|
US (1) | US6446093B2 (en) |
JP (1) | JP2996197B2 (en) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020023079A1 (en) * | 2000-08-16 | 2002-02-21 | Fuji Xerox Co., Ltd. | Object management method and system |
US20020072947A1 (en) * | 2000-04-26 | 2002-06-13 | Ibm Corporation | Owner identification of collaboration work object |
US20030028538A1 (en) * | 2001-07-31 | 2003-02-06 | Eikenbery Sean A. | Distributed database management system |
US20030105950A1 (en) * | 2001-11-27 | 2003-06-05 | Fujitsu Limited | Document distribution method and document management method |
GB2395300A (en) * | 2002-11-07 | 2004-05-19 | Chasseral Ltd | Providing access to component parts of a document |
US20050004951A1 (en) * | 2003-07-03 | 2005-01-06 | Ciaramitaro Barbara L. | System and method for electronically managing privileged and non-privileged documents |
US20050135850A1 (en) * | 2003-12-22 | 2005-06-23 | Xerox Corporation | Systems and methods for providing documents based on document identifiers |
US20070094275A1 (en) * | 1999-12-15 | 2007-04-26 | Napster, Inc. | Real-time search engine for searching video and image data |
US7228352B1 (en) * | 1999-12-27 | 2007-06-05 | Fujitsu Limited | Data access management system in distributed processing system |
US20070198487A1 (en) * | 2006-02-14 | 2007-08-23 | Fuji Xerox Co., Ltd. | Document management system and document management method |
US20070208734A1 (en) * | 2006-03-01 | 2007-09-06 | Oracle International Corporation | Link Analysis for Enterprise Environment |
US20090157759A1 (en) * | 2007-12-17 | 2009-06-18 | Discoverybox, Inc. | Apparatus and method for document management |
US20090271696A1 (en) * | 2008-04-28 | 2009-10-29 | Microsoft Corporation | Conflict Resolution |
US20100106693A1 (en) * | 2008-10-23 | 2010-04-29 | Wachovia Corporation | Image appliance system and method |
US20100169388A1 (en) * | 2008-12-30 | 2010-07-01 | Frank Bechmann | Generating attribute-specific electronic documents |
US20100211543A1 (en) * | 2009-02-17 | 2010-08-19 | Microsoft Corporation | Synchronizing metadata and document content across client systems using different communication channels |
US8214394B2 (en) | 2006-03-01 | 2012-07-03 | Oracle International Corporation | Propagating user identities in a secure federated search system |
US8239414B2 (en) | 2006-03-01 | 2012-08-07 | Oracle International Corporation | Re-ranking search results from an enterprise system |
US8316007B2 (en) | 2007-06-28 | 2012-11-20 | Oracle International Corporation | Automatically finding acronyms and synonyms in a corpus |
US8332430B2 (en) | 2006-03-01 | 2012-12-11 | Oracle International Corporation | Secure search performance improvement |
US8346768B2 (en) | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
US8352475B2 (en) | 2006-03-01 | 2013-01-08 | Oracle International Corporation | Suggested content with attribute parameterization |
US8352418B2 (en) | 2007-11-09 | 2013-01-08 | Microsoft Corporation | Client side locking |
US8412717B2 (en) | 2007-06-27 | 2013-04-02 | Oracle International Corporation | Changing ranking algorithms based on customer settings |
US8417666B2 (en) | 2008-06-25 | 2013-04-09 | Microsoft Corporation | Structured coauthoring |
US8429753B2 (en) | 2008-05-08 | 2013-04-23 | Microsoft Corporation | Controlling access to documents using file locks |
US20140032342A1 (en) * | 2012-07-24 | 2014-01-30 | Scott Joseph Tyburski | Menu creation and design system |
US8707451B2 (en) * | 2006-03-01 | 2014-04-22 | Oracle International Corporation | Search hit URL modification for secure application integration |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
JP2014182716A (en) * | 2013-03-21 | 2014-09-29 | Casio Comput Co Ltd | Server device, system and program |
US8868540B2 (en) | 2006-03-01 | 2014-10-21 | Oracle International Corporation | Method for suggesting web links and alternate terms for matching search queries |
US8875249B2 (en) * | 2006-03-01 | 2014-10-28 | Oracle International Corporation | Minimum lifespan credentials for crawling data repositories |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704907B1 (en) | 1997-03-24 | 2004-03-09 | Nippon Telegraph And Telephone Corporation | Digital contents editing method and apparatus thereof |
JP3602326B2 (en) * | 1997-03-24 | 2004-12-15 | 日本電信電話株式会社 | Digital content editing method and apparatus, and recording medium recording digital content editing program |
JPH1125076A (en) * | 1997-06-30 | 1999-01-29 | Fujitsu Ltd | Document managing device and document management program storage medium |
JP3915331B2 (en) * | 1999-08-10 | 2007-05-16 | 富士ゼロックス株式会社 | Shared document editing apparatus and editing method |
US6728723B1 (en) | 1999-10-12 | 2004-04-27 | Cisco Technology, Inc. | Method and system for verifying configuration transactions managed by a centralized 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 |
US6952703B1 (en) * | 1999-10-12 | 2005-10-04 | Cisco Technology, Inc. | Subsystem application notification method in a centralized router database |
KR100331685B1 (en) * | 2000-04-04 | 2002-04-09 | 오길록 | Cooperative appartus for editing documnet and method using the same |
CA2407849A1 (en) * | 2000-05-01 | 2001-11-08 | Netoncoure, Inc. | Large group interactions |
WO2002017115A2 (en) * | 2000-08-21 | 2002-02-28 | 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 |
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 |
KR100924773B1 (en) * | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | Method for encrypting and decrypting metadata and method for managing metadata and system thereof |
JP4069905B2 (en) * | 2004-06-28 | 2008-04-02 | コニカミノルタビジネステクノロジーズ株式会社 | Shared file management system and server |
JP2006024059A (en) * | 2004-07-09 | 2006-01-26 | Fuji Xerox Co Ltd | Computer program for managing document, and device and method for managing document |
US20060265394A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US20060265396A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US20060265395A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US8910033B2 (en) | 2005-07-01 | 2014-12-09 | The Invention Science Fund I, Llc | Implementing 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 |
US9230601B2 (en) | 2005-07-01 | 2016-01-05 | Invention Science Fund I, Llc | Media markup system for content alteration in derivative works |
US9092928B2 (en) * | 2005-07-01 | 2015-07-28 | The Invention Science Fund I, Llc | Implementing group content substitution in media works |
US8126190B2 (en) | 2007-01-31 | 2012-02-28 | The Invention Science Fund I, Llc | Targeted obstrufication of an image |
US9065979B2 (en) | 2005-07-01 | 2015-06-23 | The Invention Science Fund I, Llc | Promotional placement in media works |
JP4600204B2 (en) * | 2005-08-09 | 2010-12-15 | 富士ゼロックス株式会社 | Electronic conference program, electronic conference terminal device, electronic conference system |
JP2007328489A (en) * | 2006-06-07 | 2007-12-20 | Fuji Xerox Co Ltd | Document management device and program |
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 |
JP5037088B2 (en) * | 2006-11-01 | 2012-09-26 | 株式会社日立ソリューションズ | Document creation system |
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 |
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 |
US8028229B2 (en) | 2007-12-06 | 2011-09-27 | Microsoft Corporation | Document merge |
US8301588B2 (en) | 2008-03-07 | 2012-10-30 | Microsoft Corporation | Data storage for file updates |
US7945595B1 (en) | 2008-05-12 | 2011-05-17 | Adobe Systems Incorporated | System and method for generating an item list in electronic content |
US7949633B1 (en) | 2008-05-12 | 2011-05-24 | Adobe Systems Incorporated | Shared edit access of electronic content |
US9418054B2 (en) | 2008-05-12 | 2016-08-16 | Adobe Systems Incorporated | Document comment management |
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 |
US9329744B2 (en) | 2008-05-12 | 2016-05-03 | Adobe Systems Incorporated | Segmented scroll bar |
US9176943B2 (en) | 2008-05-12 | 2015-11-03 | Adobe Systems Incorporated | Comment presentation in electronic documents |
US8893017B2 (en) | 2008-05-29 | 2014-11-18 | Adobe Systems Incorporated | Tracking changes in a database tool |
US8613108B1 (en) * | 2009-03-26 | 2013-12-17 | Adobe Systems Incorporated | Method and apparatus for location-based digital rights management |
JP2011154503A (en) * | 2010-01-27 | 2011-08-11 | Fujitsu Telecom Networks Ltd | Method and device for managing generation of shared file |
JP5289407B2 (en) * | 2010-09-30 | 2013-09-11 | ヤフー株式会社 | File synchronization system, method and program |
US9081953B2 (en) | 2012-07-17 | 2015-07-14 | Oracle International Corporation | Defense against search engine tracking |
JP6004454B2 (en) | 2014-09-25 | 2016-10-05 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Apparatus and method for controlling access to database |
JP6052816B2 (en) | 2014-10-27 | 2016-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method for supporting secondary use of contents of electronic work, server computer for supporting secondary use of contents of electronic work, and program for server computer |
US20160306782A1 (en) * | 2015-04-20 | 2016-10-20 | Infraware Inc. | Method and apparatus for sharing common documents using dualized server |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0668044A (en) | 1992-08-13 | 1994-03-11 | Nippon Telegr & Teleph Corp <Ntt> | Method for sharing file by utilizing network of distributed system |
JPH0683691A (en) | 1992-08-31 | 1994-03-25 | Fujitsu Ltd | File sharing system between systems |
JPH06175905A (en) | 1992-12-03 | 1994-06-24 | Fujitsu Ltd | Ciphered file sharing method |
JPH0750884A (en) | 1993-08-06 | 1995-02-21 | Fujitsu Ltd | Monitoring controller |
JPH0785020A (en) | 1993-09-20 | 1995-03-31 | Hitachi Ltd | Document managing method |
JPH07319828A (en) | 1994-05-24 | 1995-12-08 | Nec Corp | System operation method for shared disk device |
JPH0877201A (en) | 1994-09-09 | 1996-03-22 | Toshiba Corp | System and method for document database retrieval |
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 |
-
1997
- 1997-02-14 JP JP9047333A patent/JP2996197B2/en not_active Expired - Fee Related
-
1998
- 1998-02-13 US US09/023,762 patent/US6446093B2/en not_active Expired - Lifetime
Cited By (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7542996B2 (en) * | 1999-12-15 | 2009-06-02 | Napster, Inc. | Real-time search engine for searching video and image data |
US20070094275A1 (en) * | 1999-12-15 | 2007-04-26 | Napster, Inc. | Real-time search engine for searching video and image data |
US7228352B1 (en) * | 1999-12-27 | 2007-06-05 | Fujitsu Limited | Data access management system in distributed processing system |
US7310657B2 (en) * | 2000-04-26 | 2007-12-18 | International Business Machines Corporation | Owner identification of collaboration work object |
US20020072947A1 (en) * | 2000-04-26 | 2002-06-13 | Ibm Corporation | Owner identification of collaboration work object |
US20080059892A1 (en) * | 2000-04-26 | 2008-03-06 | International Business Machines Corporation | Owner identification of collaboration work object |
US20020023079A1 (en) * | 2000-08-16 | 2002-02-21 | Fuji Xerox Co., Ltd. | Object management method and system |
US20030028538A1 (en) * | 2001-07-31 | 2003-02-06 | Eikenbery Sean A. | Distributed database management system |
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 |
US20030105950A1 (en) * | 2001-11-27 | 2003-06-05 | Fujitsu Limited | Document distribution method and document management method |
US7506365B2 (en) * | 2001-11-27 | 2009-03-17 | Fujitsu Limited | Document distribution method and document management method |
GB2395300A (en) * | 2002-11-07 | 2004-05-19 | Chasseral Ltd | Providing access to component parts of a document |
US7130858B2 (en) * | 2003-07-03 | 2006-10-31 | General Motors Corporation | System and method for electronically managing privileged and non-privileged documents |
US20050004951A1 (en) * | 2003-07-03 | 2005-01-06 | Ciaramitaro Barbara L. | System and method for electronically managing privileged and non-privileged documents |
US7555530B2 (en) * | 2003-12-22 | 2009-06-30 | Xerox Corporation | Systems and methods for providing documents based on document identifiers |
US20050135850A1 (en) * | 2003-12-22 | 2005-06-23 | Xerox Corporation | Systems and methods for providing documents based on document identifiers |
US20070198487A1 (en) * | 2006-02-14 | 2007-08-23 | Fuji Xerox Co., Ltd. | Document management system and document management method |
US8266526B2 (en) * | 2006-02-14 | 2012-09-11 | Fuji Xerox Co., Ltd. | Distributed and decentralized document management system and method |
US20160055209A1 (en) * | 2006-03-01 | 2016-02-25 | Oracle International Corporation | Flexible authentication framework |
US20140114946A1 (en) * | 2006-03-01 | 2014-04-24 | Oracle International Corporation | Search hit url modification for secure application integration |
US20180124031A1 (en) * | 2006-03-01 | 2018-05-03 | Oracle International Corporation | Flexible framework for secure search |
US9853962B2 (en) * | 2006-03-01 | 2017-12-26 | Oracle International Corporation | Flexible authentication framework |
US20170039282A1 (en) * | 2006-03-01 | 2017-02-09 | Oracle International Corporation | Flexible authentication framework |
US9479494B2 (en) * | 2006-03-01 | 2016-10-25 | Oracle International Corporation | Flexible authentication framework |
US8214394B2 (en) | 2006-03-01 | 2012-07-03 | Oracle International Corporation | Propagating user identities in a secure federated search system |
US8239414B2 (en) | 2006-03-01 | 2012-08-07 | Oracle International Corporation | Re-ranking search results from an enterprise system |
US20070208734A1 (en) * | 2006-03-01 | 2007-09-06 | Oracle International Corporation | Link Analysis for Enterprise Environment |
US20160119321A1 (en) * | 2006-03-01 | 2016-04-28 | Oracle International Corporation | Flexible authentication framework |
US9467437B2 (en) * | 2006-03-01 | 2016-10-11 | Oracle International Corporation | Flexible authentication framework |
US8332430B2 (en) | 2006-03-01 | 2012-12-11 | Oracle International Corporation | Secure search performance improvement |
US8875249B2 (en) * | 2006-03-01 | 2014-10-28 | Oracle International Corporation | Minimum lifespan credentials for crawling data repositories |
US10382421B2 (en) * | 2006-03-01 | 2019-08-13 | Oracle International Corporation | Flexible framework for secure search |
US9177124B2 (en) * | 2006-03-01 | 2015-11-03 | Oracle International Corporation | Flexible authentication framework |
US8868540B2 (en) | 2006-03-01 | 2014-10-21 | Oracle International Corporation | Method for suggesting web links and alternate terms for matching search queries |
US8725770B2 (en) | 2006-03-01 | 2014-05-13 | Oracle International Corporation | Secure search performance improvement |
US9251364B2 (en) * | 2006-03-01 | 2016-02-02 | Oracle International Corporation | Search hit URL modification for secure application integration |
US8352475B2 (en) | 2006-03-01 | 2013-01-08 | Oracle International Corporation | Suggested content with attribute parameterization |
US8433712B2 (en) | 2006-03-01 | 2013-04-30 | Oracle International Corporation | Link analysis for enterprise environment |
US8595255B2 (en) | 2006-03-01 | 2013-11-26 | Oracle International Corporation | Propagating user identities in a secure federated search system |
US8601028B2 (en) | 2006-03-01 | 2013-12-03 | Oracle International Corporation | Crawling secure data sources |
US8626794B2 (en) | 2006-03-01 | 2014-01-07 | Oracle International Corporation | Indexing secure enterprise documents using generic references |
US9081816B2 (en) | 2006-03-01 | 2015-07-14 | Oracle International Corporation | Propagating user identities in a secure federated search system |
US8707451B2 (en) * | 2006-03-01 | 2014-04-22 | Oracle International Corporation | Search hit URL modification for secure application integration |
US11038867B2 (en) | 2006-03-01 | 2021-06-15 | Oracle International Corporation | Flexible framework for secure search |
US8412717B2 (en) | 2007-06-27 | 2013-04-02 | 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 |
US8352418B2 (en) | 2007-11-09 | 2013-01-08 | Microsoft Corporation | Client side locking |
US8990150B2 (en) | 2007-11-09 | 2015-03-24 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US9547635B2 (en) | 2007-11-09 | 2017-01-17 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US10394941B2 (en) | 2007-11-09 | 2019-08-27 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US10057226B2 (en) | 2007-12-14 | 2018-08-21 | Microsoft Technology Licensing, Llc | Collaborative authoring modes |
US20140373108A1 (en) | 2007-12-14 | 2014-12-18 | Microsoft Corporation | Collaborative authoring modes |
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 |
US8352870B2 (en) | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
US20090271696A1 (en) * | 2008-04-28 | 2009-10-29 | Microsoft Corporation | Conflict Resolution |
US9760862B2 (en) | 2008-04-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | Conflict resolution |
US8429753B2 (en) | 2008-05-08 | 2013-04-23 | Microsoft Corporation | Controlling access to documents using file locks |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
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 |
US20100169388A1 (en) * | 2008-12-30 | 2010-07-01 | Frank Bechmann | 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 |
US20100211543A1 (en) * | 2009-02-17 | 2010-08-19 | Microsoft Corporation | Synchronizing metadata and document content across client systems using different communication channels |
US8346768B2 (en) | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
US20160350883A1 (en) * | 2012-07-24 | 2016-12-01 | Softcafe, L.L.C. | Menu creation and design system |
US10249010B2 (en) * | 2012-07-24 | 2019-04-02 | Softcafe, L.L.C. | Menu creation and design system |
US20140032342A1 (en) * | 2012-07-24 | 2014-01-30 | Scott Joseph Tyburski | Menu creation and design system |
JP2014182716A (en) * | 2013-03-21 | 2014-09-29 | Casio Comput Co Ltd | Server device, system and program |
Also Published As
Publication number | Publication date |
---|---|
US6446093B2 (en) | 2002-09-03 |
JP2996197B2 (en) | 1999-12-27 |
JPH10228402A (en) | 1998-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6446093B2 (en) | Document sharing management method for a distributed system | |
US6760840B1 (en) | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing | |
US6845378B1 (en) | Integrated data bank combining system | |
US6636875B1 (en) | System and method for synchronizing related data elements in disparate storage systems | |
US5920867A (en) | Data management system having data management configuration | |
US6035297A (en) | Data management system for concurrent engineering | |
US5884308A (en) | Updating distributed data files using active token distributed at different times to different sites | |
US6665675B1 (en) | Shared file system having a token-ring style protocol for managing meta-data | |
US5987497A (en) | System and method for managing the configuration of distributed objects | |
EP1265122A2 (en) | Shared file editing system with file content secrecy, version management and asynchronous editing | |
EP0466626A2 (en) | Method for document type transformation in a data processing system | |
JPH04505977A (en) | Object-oriented distributed processing system | |
JPH0785020A (en) | Document managing method | |
EP0615192B1 (en) | Method and apparatus for object traversing suitable for structured memory formed by linked objects | |
US6519610B1 (en) | Distributed reference links for a distributed directory server system | |
US5615372A (en) | Network definition modifying system | |
Millstein | The national software works: a distributed processing system | |
JP3769775B2 (en) | Distributed link information maintenance method | |
JPH08227453A (en) | Decentralized image editing system | |
JP2008015870A (en) | Data processor having layout conversion function, data management part program, and recording medium recording its program | |
US20050015373A1 (en) | Object management system and method | |
JP2001265630A (en) | Database distribution system | |
AU690247C (en) | Data storage | |
JP3171271B2 (en) | File lock management method | |
JP3770037B2 (en) | Distributed system, memory management method used therefor, and recording medium on which memory management control program is recorded |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TABUCHI, MASAHIRO;REEL/FRAME:009300/0593 Effective date: 19980401 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |