US20130151466A1 - Controlling access to documents using file locks - Google Patents
Controlling access to documents using file locks Download PDFInfo
- Publication number
- US20130151466A1 US20130151466A1 US13/760,224 US201313760224A US2013151466A1 US 20130151466 A1 US20130151466 A1 US 20130151466A1 US 201313760224 A US201313760224 A US 201313760224A US 2013151466 A1 US2013151466 A1 US 2013151466A1
- Authority
- US
- United States
- Prior art keywords
- file
- document
- access
- lock
- coauthoring
- 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.)
- Abandoned
Links
Images
Classifications
-
- G06F17/30011—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- 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
- 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
Definitions
- the present disclosure relates to systems and methods for controlling access to document files stored on a server.
- a system for controlling access to document files on a document server includes one or more document files stored on a document server, at least one of the document files referencing a file lock stored on the document server, and a document access processing module.
- the document access processing module includes a file sharing processing module that determines a coauthoring status of a software application of a client computer requesting access to the document file, and a file lock processing module that stores one or more file locks and that controls the setting and resetting of file locks.
- the document access processing module uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted to have write access to the document file.
- a method for controlling access to document files includes: receiving a request from a software application to access a document file on a server; determining a coauthoring status of the software application; determining a file lock status of the document file; permitting write access to the document file if the software application supports coauthoring and the file lock status permits coauthoring; and denying write access to the document file if the file lock status permits coauthoring but the software application does not permit coauthoring.
- a method for controlling access to document files stored on a document server includes: receiving a request at a document server to set a lock that designates a document file for shared access, the request being made when the document file is closed, and the request being made independently of a request by a software application to access the document file; setting a first lock for the document file, the first lock preventing software applications that do not support coauthoring from writing to the document file; receiving a request from a first software application to access the document file; determining whether the first software application permits coauthoring; permitting write-access to the document file if the first software application permits coauthoring; setting a second lock for the document file if the first software application permits coauthoring, the second lock permitting additional software applications that support coauthoring to have write-access to the document file; and denying write-access to the document file if the first software application does not permit coauthoring.
- FIG. 1 shows an example system for controlling access to document files.
- FIG. 2 shows an example client that includes both legacy and non-legacy applications.
- FIG. 3 shows an example document server that includes a document access processing module and document files.
- FIG. 4 shows an example document access processing module that includes a file sharing processing module and a file lock processing module.
- FIG. 5 shows an example method for controlling access to coauthorable server document files.
- FIG. 6 shows another example method for controlling access to coauthorable server document files.
- the present application is directed to systems and methods for controlling access to document files.
- the systems and methods use file locks referenced by the document file to determine if and when coauthoring permission should be granted.
- the system sets and resets the file locks as appropriate based on access requests for the document file by software applications that support coauthoring and by specific user actions that request a coauthoring file lock.
- the systems and methods use the file locks to permit legacy applications that do not support coauthoring to access the document file.
- the term “coauthoring” refers to the ability of multiple users to simultaneously edit a document file.
- the term “document file” refers to a self-contained piece of work created with an application program.
- a document file can be any file that can be accessed by a software application on a client.
- a document file can be a file created using a word processing application such as Microsoft Word, a spreadsheet document created using a spreadsheet application such as the EXCEL® spreadsheet software from Microsoft Corporation, or a presentation document created using a presentation application such as the POWERPOINT® presentation graphics program from Microsoft Corporation.
- a document file can include lists, tables, graphics objects, etc. These are examples only and other types of document files can be used.
- FIG. 1 shows an example system 100 that supports coauthoring of document files.
- the system includes clients 101 , 102 and one or more document servers 104 . More or fewer clients and document servers can be used.
- the clients 101 , 102 include software applications, for example word processing programs, that are used to create and edit document files.
- the clients 101 , 102 are a computing device, such as a desktop computer, laptop computer, personal data assistant, or cellular device.
- the client 102 can include input/output devices, a central processing unit (“CPU”), a data storage device, and a network device.
- Typical input/output devices include keyboards, mice, displays, microphones, speakers, disk drives, CD-ROM drives, and flash drives.
- Computer readable media, such as the data storage device provide for data retention.
- computer readable media can include computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- the client operating system (“OS”) is a program that manages the hardware and software resources of the client system.
- the client applications utilize the resources of the clients 101 , 102 to directly perform tasks specified by the user.
- the network device enables the clients 101 , 102 to send and receive data to/from the server 104 . Other configurations for the clients 101 , 102 are possible.
- the document server 104 is a file server that is accessible in a network such as a LAN or the Internet.
- the document server 104 stores a plurality of files. These files can include both software application files and document files, as described further herein.
- the document server 104 controls access to the document files it stores.
- the document server 104 can be located within an organization or can be part of an Internet-based shared document system.
- An example Internet-based shared document system is a SHAREPOINT® team services portal server services provided by Microsoft Corporation of Redmond, Wash.
- An example shared document server is Microsoft Office SharePoint Server 2007 provided by Microsoft Corporation of Redmond, Wash. Other configurations can be used.
- FIG. 2 shows the example client 102 in more detail.
- the client 102 includes both non-legacy applications 202 that support coauthoring and legacy applications 204 that do not support coauthoring.
- a new version of a word processing program for example Microsoft Word provided by Microsoft Corporation of Redmond, Wash., may include functionality that permits multiple users to simultaneously open document files, edit those document files, and seamlessly merge the shared results.
- a previous version of the word processing program may not include all of this functionality.
- a legacy application may allow only single users to open and edit document files at one time. However, both the new version and the legacy version may have a need to access the same document files from the document server 104 .
- FIG. 3 shows the example document server 104 in more detail.
- the document server 104 includes an example document access processing module 302 and document files 304 .
- the example document access processing module 302 controls the access to the document files 304 .
- the document access processing module 203 can determine whether a software application can open and edit a file with full read-write access, can open a file with read-only access, or cannot have any access to the file.
- the example document access processing module 302 also determines whether a software application may share a document file with other software applications that have permission to coauthor the document file.
- the example document access processing module 302 includes a file sharing processing module 402 and a file lock processing module 404 .
- the example file sharing processing module 402 determines if a software application supports coauthoring. The example file sharing processing module 402 also determines whether a document file being accessed by a software application supports coauthoring. The determination of whether a document file supports coauthoring is typically made by evaluating the meta data associated with the document file. For example, in one embodiment, the meta data associated with each document file includes a field that indicates whether or not the particular file supports coauthoring.
- the example file lock processing module 404 controls the setting, resetting, and processing of file locks stored on the document server.
- a file lock is used to control write access to the document file.
- the file lock is typically stored in meta data and referenced by the document file.
- file lock meta data may be stored in a database on the document server.
- file lock meta data may be stored in the document file.
- a document file may reference one or more file locks.
- the document access processing module 302 uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted have write access to the document file.
- the document access processing module 302 is programmed to process one or more different types of file locks.
- three example types of file locks are a short-term shared lock, a short-term exclusive lock, and a long-term shared lock.
- An example short-term shared lock is set on the document server when a software application that supports coauthoring requests access to a document file.
- the software application has full read-write permissions to the file. If a second software application that also supports coauthoring requests access to the same document file, the second software application will also be granted full read-write permissions to the file and will be permitted to edit the file simultaneously with the first software application. Additional software applications that support coauthoring are also granted full read-write permissions to the file in the same manner.
- An example short-term exclusive lock is set on the document server when a software application desires exclusive write access to a document file.
- a short-term exclusive lock can be granted for both software applications that support coauthoring and legacy applications that do not support coauthoring.
- the file lock processing module 404 sets a short-term exclusive lock when requested by a user and no other users have a short-term shared lock or a short-term exclusive lock for the document file. If a user requests a short-term exclusive lock and a short-term lock (either short-term shared or short-term exclusive) already exists for the document file, the request is denied. If the request is denied, the software application can view the document file on a read-only basis but cannot edit it. Once a short-term exclusive lock is set, if another user requests a short-term shared lock for coauthoring, that request is denied.
- a short-term shared lock can also be transitioned into a short-term exclusive lock when a coauthoring client encounters a non-coauthorable feature in a document file, or when a user creates a non-coauthorable feature in an otherwise coauthorable document file.
- the determination of whether a feature is non-coauthorable is made by the software application. Typically, if a feature is not mergeable (i.e., the feature is not supported by the software application's merge engine) the feature is non-coauthorable.
- An example of a non-coauthorable feature is encrypted text.
- a short-term shared lock and a short-term exclusive lock each have a timeout value associated with them.
- the example file lock mode processing module 404 resets the short-term shared lock when either the timeout value for the short-term shared lock is reached (due to inactivity on the document file) or when the document file is closed.
- the example file lock processing module 404 resets the short-term exclusive lock when the timeout value for the short-term exclusive lock is reached, when the software application that requested the short-term exclusive lock closes or when the document file is closed.
- Other conditions for closing the short-term shared lock and the short-term exclusive lock are possible.
- An example long-term shared lock is set for a document file when explicitly requested by a coauthoring user, typically via a user interface. There is no timeout value associated with a long-term shared lock but the long-term shared lock can be removed by an administrator of the document server 104 or can be removed by an explicit action of the user that requested the long-term shared lock.
- the example file lock processing module 404 When a long-term shared lock is set for a document file, the example file lock processing module 404 still sets a short-term shared lock on the document server when shared access to the file is requested by a coauthoring client.
- a legacy application that does not support coauthoring is denied full access to the document file and can only view the file in a read-only mode.
- the legacy application is denied full access to the document file even if the document file is not being edited and does not have a short-term shared lock.
- any request for exclusive rights to the file such as by requesting a short-term exclusive lock, is denied, whether the request is made by a software application that supports coauthoring or by a legacy application that does not support coauthoring.
- an embodiment may include a long-term exclusive lock. With a long-term exclusive lock, only one user can edit the file and there is no timeout value associated with the long-term exclusive lock.
- FIG. 5 is a flow chart showing an example method 500 for controlling access to server document files.
- a request to access a document file stored on a document server is received by the document server.
- the request is typically generated when a user of the software application at a client device attempts to open the document file with the software application.
- An example software application used for this purpose is a word processing program like Microsoft Word.
- the word processing program may be of a version that permits co-authoring of document files or it may be a legacy program that does not permit coauthoring.
- a determination of the coauthoring capabilities of the word processing program is made at operation 504 .
- the file lock status of the document file is determined at operation 506 .
- the file lock is stored on the document server, typically via meta data and represents the coauthoring status of the document file.
- a plurality of file locks can be stored.
- Example file locks include 1) a short-term shared lock, representing that a software application that supports coauthoring has accessed the document file with the intent to write to it, typically by opening the document file in read-write mode, 2) a short-term exclusive lock, representing that a software application has exclusive access to the document file and 3) a long-term shared lock, representing that a user has made a specific request, typically via a user interface, to designate the document file as one available for file sharing.
- the request for the example long-term shared lock is an explicit request made independently from opening a document file.
- Other file locks are possible.
- the software application is evaluated to determine if the software application is capable of coauthoring. If the software application permits coauthoring, control is passed to operation 510 .
- the file lock status indicates short-term exclusive access, meaning that the document file has been assigned exclusive access to another user, write access to the document file is denied at operation 512 . In this case, the software application is permitted to view the document file on a read-only basis but is not permitted to edit the document file. If the file lock status does not indicate short-term exclusive access, at operation 514 the software application is permitted write access to the document file. In addition, if the file lock has not been set for shared status already, at operation 516 , the file lock is set to short-term shared status.
- control is passed to operation 520 where the file lock status is evaluated to determine if there is a shared file lock. If there is a short-term shared lock, a short-term exclusive lock, or a long-term shared lock already set on the document file, the software application is denied write access to the document file at operation 522 . If however, there is no short-term shared lock, short-term exclusive lock or long-term shared lock set on the document file, the software application is permitted write access to the document file at operation 524 .
- FIG. 6 is a flow chart showing another example method 600 for controlling access to server document files.
- a long-term shared lock is used.
- a request is received at the document server to set a long-term shared lock for a document file.
- This request is initiated by a client, typically via a user interface on the client.
- the server sets a long-term shared lock on the document server for the document file.
- the long-term shared lock is used to set a shared coauthoring status on the document file independent of a software application attempting to access the document file. In this manner, when a software application does attempt to access the document file, a coauthoring status is already set for the document file.
- a request is received from a software application to access the document file.
- the software application is checked to determine if the software application supports coauthoring. If coauthoring is supported at operation 610 , write access is granted to the software application at operation 612 . However, if coauthoring is not supported, because the document file has a long-term shared lock, the software application is denied write access to the document file and is only permitted to view the document file under read-only status. The long-term shared lock stays in effect until an explicit request is received at the server to reset the lock.
Abstract
Examples are related to systems and methods for controlling access to document files on a document server. One example system includes document files stored on a document server, at least one of the document files referencing a file lock, and a document access processing module. The example document access processing module includes a file sharing processing module that determines a coauthoring status of a software application of a client computer requesting access to the document file, and a file lock processing module that stores one or more file locks and that controls the setting and resetting of file locks. The example document access processing module uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted to have write access to the document file.
Description
- It is often desirable to allow multiple users to coauthor a document file. However, not all software applications support coauthoring. Often, one version of a software application, typically a newer one, may permit coauthoring, and a legacy version of the software application may not. It is desirable to provide a degree of backward compatibility in a coauthoring system to ensure that newer software applications can share access to a document file, that legacy software applications can also access the document file, and that legacy applications do not inadvertently disrupt coauthoring data or the coauthoring process.
- The present disclosure relates to systems and methods for controlling access to document files stored on a server.
- According to one aspect, a system for controlling access to document files on a document server includes one or more document files stored on a document server, at least one of the document files referencing a file lock stored on the document server, and a document access processing module. The document access processing module includes a file sharing processing module that determines a coauthoring status of a software application of a client computer requesting access to the document file, and a file lock processing module that stores one or more file locks and that controls the setting and resetting of file locks. The document access processing module uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted to have write access to the document file.
- According to another aspect, a method for controlling access to document files includes: receiving a request from a software application to access a document file on a server; determining a coauthoring status of the software application; determining a file lock status of the document file; permitting write access to the document file if the software application supports coauthoring and the file lock status permits coauthoring; and denying write access to the document file if the file lock status permits coauthoring but the software application does not permit coauthoring.
- According to yet another aspect, a method for controlling access to document files stored on a document server includes: receiving a request at a document server to set a lock that designates a document file for shared access, the request being made when the document file is closed, and the request being made independently of a request by a software application to access the document file; setting a first lock for the document file, the first lock preventing software applications that do not support coauthoring from writing to the document file; receiving a request from a first software application to access the document file; determining whether the first software application permits coauthoring; permitting write-access to the document file if the first software application permits coauthoring; setting a second lock for the document file if the first software application permits coauthoring, the second lock permitting additional software applications that support coauthoring to have write-access to the document file; and denying write-access to the document file if the first software application does not permit coauthoring.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- The accompanying drawings incorporated in and forming a part of the specification illustrate several aspects of the present disclosure, and together with the description serve to explain the principles of the disclosure. In the drawings:
-
FIG. 1 shows an example system for controlling access to document files. -
FIG. 2 shows an example client that includes both legacy and non-legacy applications. -
FIG. 3 shows an example document server that includes a document access processing module and document files. -
FIG. 4 shows an example document access processing module that includes a file sharing processing module and a file lock processing module. -
FIG. 5 shows an example method for controlling access to coauthorable server document files. -
FIG. 6 shows another example method for controlling access to coauthorable server document files. - The present application is directed to systems and methods for controlling access to document files. In examples described herein, the systems and methods use file locks referenced by the document file to determine if and when coauthoring permission should be granted. The system sets and resets the file locks as appropriate based on access requests for the document file by software applications that support coauthoring and by specific user actions that request a coauthoring file lock. In addition, the systems and methods use the file locks to permit legacy applications that do not support coauthoring to access the document file.
- As used herein, the term “coauthoring” refers to the ability of multiple users to simultaneously edit a document file. As used herein, the term “document file” refers to a self-contained piece of work created with an application program.
- A document file can be any file that can be accessed by a software application on a client. For example, a document file can be a file created using a word processing application such as Microsoft Word, a spreadsheet document created using a spreadsheet application such as the EXCEL® spreadsheet software from Microsoft Corporation, or a presentation document created using a presentation application such as the POWERPOINT® presentation graphics program from Microsoft Corporation. As such, a document file can include lists, tables, graphics objects, etc. These are examples only and other types of document files can be used.
-
FIG. 1 shows anexample system 100 that supports coauthoring of document files. The system includesclients more document servers 104. More or fewer clients and document servers can be used. - The
clients clients client 102 can include input/output devices, a central processing unit (“CPU”), a data storage device, and a network device. Typical input/output devices include keyboards, mice, displays, microphones, speakers, disk drives, CD-ROM drives, and flash drives. Computer readable media, such as the data storage device, provide for data retention. By way of example, computer readable media can include computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Among the plurality of information stored on the data storage device is a client operating system (“OS”) and client applications. The client OS is a program that manages the hardware and software resources of the client system. The client applications utilize the resources of theclients clients server 104. Other configurations for theclients - The
document server 104 is a file server that is accessible in a network such as a LAN or the Internet. Thedocument server 104 stores a plurality of files. These files can include both software application files and document files, as described further herein. Thedocument server 104 controls access to the document files it stores. In example embodiments, thedocument server 104 can be located within an organization or can be part of an Internet-based shared document system. An example Internet-based shared document system is a SHAREPOINT® team services portal server services provided by Microsoft Corporation of Redmond, Wash. An example shared document server is Microsoft Office SharePoint Server 2007 provided by Microsoft Corporation of Redmond, Wash. Other configurations can be used. -
FIG. 2 shows theexample client 102 in more detail. Theclient 102 includes bothnon-legacy applications 202 that support coauthoring andlegacy applications 204 that do not support coauthoring. For example, a new version of a word processing program, for example Microsoft Word provided by Microsoft Corporation of Redmond, Wash., may include functionality that permits multiple users to simultaneously open document files, edit those document files, and seamlessly merge the shared results. A previous version of the word processing program may not include all of this functionality. For example, a legacy application may allow only single users to open and edit document files at one time. However, both the new version and the legacy version may have a need to access the same document files from thedocument server 104. -
FIG. 3 shows theexample document server 104 in more detail. Thedocument server 104 includes an example documentaccess processing module 302 and document files 304. - The example document
access processing module 302 controls the access to the document files 304. For example, the document access processing module 203 can determine whether a software application can open and edit a file with full read-write access, can open a file with read-only access, or cannot have any access to the file. The example documentaccess processing module 302 also determines whether a software application may share a document file with other software applications that have permission to coauthor the document file. - Referring now to
FIG. 4 , the example documentaccess processing module 302 includes a filesharing processing module 402 and a filelock processing module 404. - The example file
sharing processing module 402 determines if a software application supports coauthoring. The example filesharing processing module 402 also determines whether a document file being accessed by a software application supports coauthoring. The determination of whether a document file supports coauthoring is typically made by evaluating the meta data associated with the document file. For example, in one embodiment, the meta data associated with each document file includes a field that indicates whether or not the particular file supports coauthoring. - The example file
lock processing module 404 controls the setting, resetting, and processing of file locks stored on the document server. A file lock is used to control write access to the document file. The file lock is typically stored in meta data and referenced by the document file. In some embodiments, file lock meta data may be stored in a database on the document server. In other embodiments, file lock meta data may be stored in the document file. A document file may reference one or more file locks. The documentaccess processing module 302 uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted have write access to the document file. - In examples described herein, the document
access processing module 302 is programmed to process one or more different types of file locks. For example, in one embodiment, three example types of file locks are a short-term shared lock, a short-term exclusive lock, and a long-term shared lock. - An example short-term shared lock is set on the document server when a software application that supports coauthoring requests access to a document file. With a short-term shared lock, the software application has full read-write permissions to the file. If a second software application that also supports coauthoring requests access to the same document file, the second software application will also be granted full read-write permissions to the file and will be permitted to edit the file simultaneously with the first software application. Additional software applications that support coauthoring are also granted full read-write permissions to the file in the same manner. However, if a software application that does not support coauthoring requests access to a document file that has a short-term shared lock, the request for full read-write access is denied by the document
access processing module 302 and the software application is only permitted read access to the document file. - An example short-term exclusive lock is set on the document server when a software application desires exclusive write access to a document file. A short-term exclusive lock can be granted for both software applications that support coauthoring and legacy applications that do not support coauthoring. The file
lock processing module 404 sets a short-term exclusive lock when requested by a user and no other users have a short-term shared lock or a short-term exclusive lock for the document file. If a user requests a short-term exclusive lock and a short-term lock (either short-term shared or short-term exclusive) already exists for the document file, the request is denied. If the request is denied, the software application can view the document file on a read-only basis but cannot edit it. Once a short-term exclusive lock is set, if another user requests a short-term shared lock for coauthoring, that request is denied. - A short-term shared lock can also be transitioned into a short-term exclusive lock when a coauthoring client encounters a non-coauthorable feature in a document file, or when a user creates a non-coauthorable feature in an otherwise coauthorable document file. The determination of whether a feature is non-coauthorable is made by the software application. Typically, if a feature is not mergeable (i.e., the feature is not supported by the software application's merge engine) the feature is non-coauthorable. An example of a non-coauthorable feature is encrypted text.
- A short-term shared lock and a short-term exclusive lock each have a timeout value associated with them. When the document file is accessed, either by reading or writing, the timeout value is refreshed. The example file lock
mode processing module 404 resets the short-term shared lock when either the timeout value for the short-term shared lock is reached (due to inactivity on the document file) or when the document file is closed. Similarly, the example filelock processing module 404 resets the short-term exclusive lock when the timeout value for the short-term exclusive lock is reached, when the software application that requested the short-term exclusive lock closes or when the document file is closed. Other conditions for closing the short-term shared lock and the short-term exclusive lock are possible. - An example long-term shared lock is set for a document file when explicitly requested by a coauthoring user, typically via a user interface. There is no timeout value associated with a long-term shared lock but the long-term shared lock can be removed by an administrator of the
document server 104 or can be removed by an explicit action of the user that requested the long-term shared lock. - When a long-term shared lock is set for a document file, the example file
lock processing module 404 still sets a short-term shared lock on the document server when shared access to the file is requested by a coauthoring client. However, a legacy application that does not support coauthoring is denied full access to the document file and can only view the file in a read-only mode. The legacy application is denied full access to the document file even if the document file is not being edited and does not have a short-term shared lock. In addition, any request for exclusive rights to the file, such as by requesting a short-term exclusive lock, is denied, whether the request is made by a software application that supports coauthoring or by a legacy application that does not support coauthoring. - In alternative embodiments, other types of locks can also be used. For example, an embodiment may include a long-term exclusive lock. With a long-term exclusive lock, only one user can edit the file and there is no timeout value associated with the long-term exclusive lock.
-
FIG. 5 is a flow chart showing anexample method 500 for controlling access to server document files. Atoperation 502, a request to access a document file stored on a document server is received by the document server. The request is typically generated when a user of the software application at a client device attempts to open the document file with the software application. An example software application used for this purpose is a word processing program like Microsoft Word. The word processing program may be of a version that permits co-authoring of document files or it may be a legacy program that does not permit coauthoring. A determination of the coauthoring capabilities of the word processing program is made atoperation 504. - The file lock status of the document file is determined at
operation 506. The file lock is stored on the document server, typically via meta data and represents the coauthoring status of the document file. A plurality of file locks can be stored. Example file locks include 1) a short-term shared lock, representing that a software application that supports coauthoring has accessed the document file with the intent to write to it, typically by opening the document file in read-write mode, 2) a short-term exclusive lock, representing that a software application has exclusive access to the document file and 3) a long-term shared lock, representing that a user has made a specific request, typically via a user interface, to designate the document file as one available for file sharing. The request for the example long-term shared lock is an explicit request made independently from opening a document file. Other file locks are possible. - At
operation 508, the software application is evaluated to determine if the software application is capable of coauthoring. If the software application permits coauthoring, control is passed tooperation 510. Atoperation 510, if the file lock status indicates short-term exclusive access, meaning that the document file has been assigned exclusive access to another user, write access to the document file is denied atoperation 512. In this case, the software application is permitted to view the document file on a read-only basis but is not permitted to edit the document file. If the file lock status does not indicate short-term exclusive access, atoperation 514 the software application is permitted write access to the document file. In addition, if the file lock has not been set for shared status already, atoperation 516, the file lock is set to short-term shared status. - Referring back to
operation 508, if the software application does not support coauthoring, control is passed tooperation 520 where the file lock status is evaluated to determine if there is a shared file lock. If there is a short-term shared lock, a short-term exclusive lock, or a long-term shared lock already set on the document file, the software application is denied write access to the document file atoperation 522. If however, there is no short-term shared lock, short-term exclusive lock or long-term shared lock set on the document file, the software application is permitted write access to the document file atoperation 524. -
FIG. 6 is a flow chart showing anotherexample method 600 for controlling access to server document files. In theexample method 600, a long-term shared lock is used. Initially, atoperation 602, a request is received at the document server to set a long-term shared lock for a document file. This request is initiated by a client, typically via a user interface on the client. Atoperation 604, the server sets a long-term shared lock on the document server for the document file. The long-term shared lock is used to set a shared coauthoring status on the document file independent of a software application attempting to access the document file. In this manner, when a software application does attempt to access the document file, a coauthoring status is already set for the document file. - At
operation 606, a request is received from a software application to access the document file. Atoperation 608, the software application is checked to determine if the software application supports coauthoring. If coauthoring is supported atoperation 610, write access is granted to the software application atoperation 612. However, if coauthoring is not supported, because the document file has a long-term shared lock, the software application is denied write access to the document file and is only permitted to view the document file under read-only status. The long-term shared lock stays in effect until an explicit request is received at the server to reset the lock. - Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (21)
1.-20. (canceled)
21. A system for controlling access to document files on a document server, the system comprising:
one or more document files stored on a document server, wherein at least one document file references a file lock of a plurality of file locks, the plurality of file locks comprising:
a first file lock that permits write-access to the at least one document file by a plurality of software applications, and
a second file lock that permits write-access to the at least one document file by one software application at a time;
a file sharing processing module that determines whether a software application requesting access to the document supports coauthoring; and
a file lock processing module that:
determines whether the at least one document file includes features that do not support coauthoring, and
resets the first file lock to the second file lock if the software application supports coauthoring and the at least one document file includes features that do not support coauthoring.
22. The system of claim 21 , wherein the first file lock of the plurality of file locks represents that a software application that supports coauthoring has accessed the at least one document file.
23. The system of claim 21 , wherein the first file lock has a timeout value.
24. The system of claim 23 , wherein the file lock processing module resets the first file lock when the timeout value is reached.
25. The system of claim 22 , wherein the second file lock represents that a software application that supports coauthoring has exclusive write-access to the at least one document file.
26. The system of claim 25 , wherein the plurality of file locks further comprise a third file lock that represents that a specific request has been received to lock the at least one document file for shared access, the request being made when the document file is closed, and the request being made independently of a request by a software application to access the at least one document file.
27. The system of claim 21 , wherein the file lock processing module permits write-access to the at least one document file if the first file lock is set and one or more software applications that support coauthoring request access to the at least one document file.
28. The system of claim 27 , wherein the file lock processing module denies write-access to the at least one document file if the second file lock is set and one or more software applications that support coauthoring request access to the at least one document file.
29. The system of claim 26 , wherein the file lock processing module permits write-access to the at least one document file if the third file lock is set and one or more software applications that support coauthoring request access to the document file.
30. The system of claim 26 , wherein the file lock processing module denies write-access to the at least one document file if any of the first file lock, the second file lock and the third file lock is set and the software application does not support coauthoring.
31. The system of claim 26 , wherein the file lock processing module resets the third file lock upon an explicit request to reset the third file lock.
32. The system of claim 21 , wherein the file lock processing module only permits one software application to have write-access to the at least one document file if the at least one document file does not support coauthoring.
33. A method for controlling access to document files, the method comprising:
receiving a request from a software application to access a document file on a server;
determining a coauthoring status of the software application;
determining a file lock status of the document file, wherein the file lock status is selected from a group consisting of a first file lock status and a second file lock status, wherein the first file lock status permits write-access to the document file by a plurality of software applications, and wherein the second file lock status permits exclusive write-access to the at least one document file by a single software application;
permitting write-access to the document file if the software application supports coauthoring and the file lock status permits coauthoring;
permitting read-only access to the document file if the software application supports coauthoring but the file lock status does not permit coauthoring; and
setting the second file lock status if the software application supports coauthoring and the at least one document file includes features that do not support coauthoring.
34. The method of claim 33 , further comprising:
receiving a request for exclusive access to the document file; and
denying exclusive access to the document file if the file lock status of exclusive or shared has already been granted to another user.
35. The method of claim 33 , wherein the file lock status is selected from a group further consisting of a third file lock status, wherein the third file lock status represents that a specific request has been received to lock the at least one document file for shared access.
36. A method for controlling access to document files stored on a document server, the method comprising:
receiving a request at a document server to set a first file lock for a document file allowing shared access by a plurality of software applications, the request being made independently of a request by a software application of the plurality of software applications to access the document file;
setting the first file lock for the document file, the first file lock preventing software applications that do not support coauthoring from writing to the document file;
receiving a request from a first software application of the plurality of software applications to access the document file;
determining whether the first software application supports coauthoring;
permitting write-access to the document file if the first software application supports coauthoring;
receiving a request from a second software application of the plurality of software applications to access the document file;
determining whether the second software application supports coauthoring; and
denying write-access to the document file if the second software application does not support coauthoring.
37. The method of claim 36 , further comprising:
receiving a request for exclusive access to the document file from the second software application, wherein the second software application supports coauthoring; and
denying the request for exclusive access while the first file lock is set.
38. The method of claim 36 , further comprising:
receiving a request for exclusive access to the document file from the second software application, wherein the second software application does not support coauthoring; and
denying the request for exclusive access while the first file lock is set.
39. The method of claim 37 , wherein the request to set the first file lock is made when the at least one document is closed.
40. The system of claim 21 , wherein the first file lock has a timeout value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/760,224 US20130151466A1 (en) | 2008-05-08 | 2013-02-06 | Controlling access to documents using file locks |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/117,040 US8429753B2 (en) | 2008-05-08 | 2008-05-08 | Controlling access to documents using file locks |
US13/760,224 US20130151466A1 (en) | 2008-05-08 | 2013-02-06 | Controlling access to documents using file locks |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/117,040 Continuation US8429753B2 (en) | 2008-05-08 | 2008-05-08 | Controlling access to documents using file locks |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130151466A1 true US20130151466A1 (en) | 2013-06-13 |
Family
ID=41267970
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/117,040 Expired - Fee Related US8429753B2 (en) | 2008-05-08 | 2008-05-08 | Controlling access to documents using file locks |
US13/760,224 Abandoned US20130151466A1 (en) | 2008-05-08 | 2013-02-06 | Controlling access to documents using file locks |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/117,040 Expired - Fee Related US8429753B2 (en) | 2008-05-08 | 2008-05-08 | Controlling access to documents using file locks |
Country Status (10)
Country | Link |
---|---|
US (2) | US8429753B2 (en) |
EP (1) | EP2300957A4 (en) |
JP (1) | JP5453397B2 (en) |
KR (1) | KR20110010604A (en) |
CN (1) | CN102016872B (en) |
BR (1) | BRPI0910583A2 (en) |
CA (1) | CA2720732A1 (en) |
MX (1) | MX2010011952A (en) |
RU (1) | RU2501082C2 (en) |
WO (1) | WO2009154842A2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157811A1 (en) * | 2007-12-14 | 2009-06-18 | Microsoft Corporation | Collaborative Authoring Modes |
US20150036173A1 (en) * | 2013-07-30 | 2015-02-05 | Konica Minolta Laboratory U.S.A., Inc. | Electronic content management workflow |
US8990150B2 (en) | 2007-11-09 | 2015-03-24 | Microsoft Technology Licensing, Llc | Collaborative authoring |
US9760862B2 (en) | 2008-04-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | Conflict resolution |
US11056145B2 (en) * | 2018-09-20 | 2021-07-06 | Oracle International Corporation | Global secondary path locking technique enabling high read concurrency for read-mostly workloads |
US11328809B1 (en) | 2021-07-02 | 2022-05-10 | Oxilio Ltd | Systems and methods for manufacturing an orthodontic appliance |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289143A1 (en) | 2004-06-23 | 2005-12-29 | Exanet Ltd. | Method for managing lock resources in a distributed storage system |
US8301588B2 (en) | 2008-03-07 | 2012-10-30 | Microsoft Corporation | Data storage for file updates |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
US8612520B2 (en) * | 2008-06-16 | 2013-12-17 | Microsoft Corporation | Online/offline proto link behavior and proto page conflict resolution |
US8417666B2 (en) | 2008-06-25 | 2013-04-09 | Microsoft Corporation | Structured coauthoring |
US9396279B1 (en) * | 2009-02-17 | 2016-07-19 | Jpmorgan Chase Bank, Na | Collaborative virtual markup |
US8346768B2 (en) | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
US8526798B2 (en) * | 2009-12-23 | 2013-09-03 | Western Digital Technologies, Inc. | Portable content container displaying A/V files in response to a command received from a consumer device |
KR20110128567A (en) * | 2010-05-24 | 2011-11-30 | 삼성전자주식회사 | Method for controlling objects of user interface and apparatus of enabling the method |
US10019741B2 (en) | 2010-08-09 | 2018-07-10 | Western Digital Technologies, Inc. | Methods and systems for a personal multimedia content archive |
US20120101980A1 (en) * | 2010-10-26 | 2012-04-26 | Microsoft Corporation | Synchronizing online document edits |
US9129138B1 (en) | 2010-10-29 | 2015-09-08 | Western Digital Technologies, Inc. | Methods and systems for a portable data locker |
US8856230B2 (en) | 2010-12-14 | 2014-10-07 | Microsoft Corporation | In browser real time collaboration lists and forms |
US8700986B1 (en) | 2011-03-18 | 2014-04-15 | Google Inc. | System and method for displaying a document containing footnotes |
US8510266B1 (en) * | 2011-03-03 | 2013-08-13 | Google Inc. | System and method for providing online data management services |
US8805741B2 (en) * | 2011-09-30 | 2014-08-12 | Tata Consultancy Services Limited | Classification-based digital rights management |
US20140136502A1 (en) * | 2011-10-31 | 2014-05-15 | Hewlett-Packard Development Company, L.P. | File Lock Preservation |
CN103186418B (en) * | 2011-12-30 | 2016-08-17 | 北大方正集团有限公司 | A kind of task distribution method and system |
US9256600B2 (en) * | 2012-04-13 | 2016-02-09 | D2L Corporation | Method and system for electronic content locking |
US20130290584A1 (en) * | 2012-04-30 | 2013-10-31 | Futurewei Technologies, Inc. | Sequence-based process locking |
US9542237B2 (en) * | 2012-09-04 | 2017-01-10 | Red Hat Israel, Ltd. | Shared locking for storage centric exclusive locks |
US9280396B2 (en) * | 2012-11-01 | 2016-03-08 | Netapp, Inc. | Lock state synchronization for non-disruptive persistent operation |
US9756115B2 (en) * | 2012-11-08 | 2017-09-05 | Gpvtl Canada Inc. | System and method of secure file sharing using P2P |
US20150288749A1 (en) * | 2012-12-27 | 2015-10-08 | Rakuten, Inc. | Communication system, electronic book terminal, communication method, program, and recording medium |
US20150339601A1 (en) * | 2013-01-23 | 2015-11-26 | Mark Leroy Walker | Set handling in asset-driven workflow modeling |
US9460073B2 (en) | 2013-02-27 | 2016-10-04 | Google Inc. | Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment |
US20140280347A1 (en) * | 2013-03-14 | 2014-09-18 | Konica Minolta Laboratory U.S.A., Inc. | Managing Digital Files with Shared Locks |
US9047901B1 (en) | 2013-05-28 | 2015-06-02 | Western Digital Technologies, Inc. | Disk drive measuring spiral track error by measuring a slope of a spiral track across a disk radius |
US11336648B2 (en) | 2013-11-11 | 2022-05-17 | Amazon Technologies, Inc. | Document management and collaboration system |
US9542391B1 (en) * | 2013-11-11 | 2017-01-10 | Amazon Technologies, Inc. | Processing service requests for non-transactional databases |
US10599753B1 (en) | 2013-11-11 | 2020-03-24 | Amazon Technologies, Inc. | Document version control in collaborative environment |
US10540404B1 (en) | 2014-02-07 | 2020-01-21 | Amazon Technologies, Inc. | Forming a document collection in a document management and collaboration system |
US10691877B1 (en) | 2014-02-07 | 2020-06-23 | Amazon Technologies, Inc. | Homogenous insertion of interactions into documents |
US9053727B1 (en) | 2014-06-02 | 2015-06-09 | Western Digital Technologies, Inc. | Disk drive opening spiral crossing window based on DC and AC spiral track error |
EP2980726B1 (en) | 2014-07-29 | 2019-09-04 | Samsung Electronics Co., Ltd | Method and apparatus for sharing data |
US9807073B1 (en) | 2014-09-29 | 2017-10-31 | Amazon Technologies, Inc. | Access to documents in a document management and collaboration system |
US20160321226A1 (en) * | 2015-05-01 | 2016-11-03 | Microsoft Technology Licensing, Llc | Insertion of unsaved content via content channel |
CN105979018A (en) * | 2016-07-29 | 2016-09-28 | 上海爱数信息技术股份有限公司 | State maintaining method and system for file lock |
US10474664B2 (en) * | 2017-03-09 | 2019-11-12 | Sap Se | Lock mode determination service |
US20190304593A1 (en) * | 2018-03-29 | 2019-10-03 | Konica Minolta Healthcare Americas, Inc. | Cloud-to-local, local-to-cloud switching and synchronization of medical images and data with conflict prevention |
WO2020027809A1 (en) * | 2018-07-31 | 2020-02-06 | Hewlett-Packard Development Company, L.P. | Configuration manager data structures |
KR102188052B1 (en) * | 2018-11-15 | 2020-12-07 | 오스템임플란트 주식회사 | A method for locking information and a dental practice integration management apparatus for performing the locking information |
US11677624B2 (en) * | 2019-04-12 | 2023-06-13 | Red Hat, Inc. | Configuration of a server in view of a number of clients connected to the server |
CN111563066B (en) * | 2020-04-24 | 2023-08-11 | 深圳震有科技股份有限公司 | Method and device for realizing application program single-instance processing based on file lock |
CN113672966A (en) * | 2020-05-13 | 2021-11-19 | 上海亦存网络科技有限公司 | File access control method and system |
US11783067B2 (en) * | 2020-10-13 | 2023-10-10 | Microsoft Technology Licensing, Llc | Setting modification privileges for application instances |
US11455461B2 (en) * | 2021-01-12 | 2022-09-27 | International Business Machines Corporation | Self-executing document revision |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5107443A (en) * | 1988-09-07 | 1992-04-21 | Xerox Corporation | Private regions within a shared workspace |
US5671428A (en) * | 1991-08-28 | 1997-09-23 | Kabushiki Kaisha Toshiba | Collaborative document processing system with version and comment management |
US20030115481A1 (en) * | 2001-12-18 | 2003-06-19 | Baird Roger T. | Controlling the distribution of information |
US6854087B1 (en) * | 1999-08-10 | 2005-02-08 | Fuji Xerox Co., Ltd. | Document editing apparatus |
US20050097440A1 (en) * | 2003-11-04 | 2005-05-05 | Richard Lusk | Method and system for collaboration |
US7007235B1 (en) * | 1999-04-02 | 2006-02-28 | Massachusetts Institute Of Technology | Collaborative agent interaction control and synchronization system |
US20060053195A1 (en) * | 2004-09-03 | 2006-03-09 | Schneider Ronald E | Systems and methods for collaboration |
US20070118598A1 (en) * | 2005-11-22 | 2007-05-24 | International Business Machines Corporation | Collaborative editing of a document |
Family Cites Families (254)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01113849A (en) * | 1987-10-19 | 1989-05-02 | Internatl Business Mach Corp <Ibm> | Multi-user's system |
US4855580A (en) | 1987-11-20 | 1989-08-08 | Recognition Equipment Incorporated | Data merge document processing method |
US5799320A (en) | 1989-08-23 | 1998-08-25 | John R. Klug | Remote multiple-user editing system and method |
US5142619A (en) | 1990-02-21 | 1992-08-25 | International Business Machines Corporation | Method and apparatus for visually comparing files in a data processing system |
CA2039652C (en) | 1990-05-30 | 1996-12-24 | Frank Zdybel, Jr. | Hardcopy lossless data storage and communications for electronic document processing systems |
US5313394A (en) | 1990-12-11 | 1994-05-17 | Barbara Clapp | Document assembly customization system for modifying a source instrument including text and decisional commands |
US5339389A (en) | 1991-12-31 | 1994-08-16 | International Business Machines Corporation | User selectable lock regions |
JPH0827754B2 (en) | 1992-05-21 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | File management method and file management system in computer system |
JP3252454B2 (en) | 1992-06-30 | 2002-02-04 | 富士ゼロックス株式会社 | Shared data change status monitoring device |
US5555388A (en) | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
US6009420A (en) | 1992-10-05 | 1999-12-28 | Expert Systems Publishing Co. | Computer-implemented decision management system with dynamically generated questions and answer choices |
US5579223A (en) | 1992-12-24 | 1996-11-26 | Microsoft Corporation | Method and system for incorporating modifications made to a computer program into a translated version of the computer program |
US5446842A (en) | 1993-02-26 | 1995-08-29 | Taligent, Inc. | Object-oriented collaboration system |
JP2703498B2 (en) | 1993-04-30 | 1998-01-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Locking mechanism for versioned objects |
JPH0785020A (en) * | 1993-09-20 | 1995-03-31 | Hitachi Ltd | Document managing method |
JP3053153B2 (en) | 1993-09-20 | 2000-06-19 | 株式会社日立製作所 | How to start application of document management system |
US6760840B1 (en) | 1994-03-15 | 2004-07-06 | Kabushiki Kaisha Toshiba | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
US6181837B1 (en) | 1994-11-18 | 2001-01-30 | The Chase Manhattan Bank, N.A. | Electronic check image storage and retrieval system |
US5751958A (en) | 1995-06-30 | 1998-05-12 | Peoplesoft, Inc. | Allowing inconsistency in a distributed client-server application |
US5887146A (en) | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
US5729734A (en) | 1995-11-03 | 1998-03-17 | Apple Computer, Inc. | File privilege administration apparatus and methods |
US5781908A (en) | 1995-12-18 | 1998-07-14 | J.D. Edwards World Source Company | File data synchronizer in a distributed data computer network |
US6006239A (en) | 1996-03-15 | 1999-12-21 | Microsoft Corporation | Method and system for allowing multiple users to simultaneously edit a spreadsheet |
US5781732A (en) | 1996-06-20 | 1998-07-14 | Object Technology Licensing Corp. | Framework for constructing shared documents that can be collaboratively accessed by multiple users |
US5787262A (en) | 1996-06-26 | 1998-07-28 | Microsoft Corporation | System and method for distributed conflict resolution between data objects replicated across a computer network |
US5835950A (en) | 1996-07-12 | 1998-11-10 | Samsung Electronics Co., Ltd. | Self-invalidation method for reducing coherence overheads in a bus-based shared-memory multiprocessor apparatus |
US6244575B1 (en) | 1996-10-02 | 2001-06-12 | Micron Technology, Inc. | Method and apparatus for vaporizing liquid precursors and system for using same |
US6202085B1 (en) | 1996-12-06 | 2001-03-13 | Microsoft Corportion | System and method for incremental change synchronization between multiple copies of data |
US6708221B1 (en) | 1996-12-13 | 2004-03-16 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US6065026A (en) | 1997-01-09 | 2000-05-16 | Document.Com, Inc. | Multi-user electronic document authoring system with prompted updating of shared language |
JP2996197B2 (en) | 1997-02-14 | 1999-12-27 | 日本電気株式会社 | Document sharing management method |
US6233600B1 (en) | 1997-07-15 | 2001-05-15 | Eroom Technology, Inc. | Method and system for providing a networked collaborative work environment |
US6209010B1 (en) | 1997-07-18 | 2001-03-27 | Varis Corporation | Computer implemented method for wrapping data to an arbitrary path defined by a page description language |
US6240414B1 (en) | 1997-09-28 | 2001-05-29 | Eisolutions, Inc. | Method of resolving data conflicts in a shared data environment |
US5946700A (en) | 1997-10-31 | 1999-08-31 | Oracle Corporation | Method and apparatus for preserving non-current information that can be overwritten in a computer file |
US6327611B1 (en) | 1997-11-12 | 2001-12-04 | Netscape Communications Corporation | Electronic document routing system |
US6067551A (en) | 1997-11-14 | 2000-05-23 | Microsoft Corporation | Computer implemented method for simultaneous multi-user editing of a document |
US6073161A (en) | 1997-12-16 | 2000-06-06 | International Business Machines Corporation | Method and apparatus for determining editing conflicts in a multi-authoring system |
US6000945A (en) | 1998-02-09 | 1999-12-14 | Educational Testing Service | System and method for computer based test assembly |
US6088702A (en) | 1998-02-25 | 2000-07-11 | Plantz; Scott H. | Group publishing system |
AUPP252298A0 (en) | 1998-03-24 | 1998-04-23 | 80-20 Software Pty Limited | Document management software |
US6275935B1 (en) | 1998-04-17 | 2001-08-14 | Thingworld.Com, Llc | Systems and methods for locking interactive objects |
US6209128B1 (en) | 1998-06-05 | 2001-03-27 | International Business Machines Corporation | Apparatus and method for providing access to multiple object versions |
US6438564B1 (en) | 1998-06-17 | 2002-08-20 | Microsoft Corporation | Method for associating a discussion with a document |
US6507845B1 (en) | 1998-09-14 | 2003-01-14 | International Business Machines Corporation | Method and software for supporting improved awareness of and collaboration among users involved in a task |
US6341291B1 (en) | 1998-09-28 | 2002-01-22 | Bentley Systems, Inc. | System for collaborative engineering using component and file-oriented tools |
US6324544B1 (en) | 1998-10-21 | 2001-11-27 | Microsoft Corporation | File object synchronization between a desktop computer and a mobile device |
US6502113B1 (en) | 1998-11-23 | 2002-12-31 | John E. Crawford | Negotiation manager incorporating clause modification and markers for tracking negotiation progress |
JP2000163344A (en) | 1998-11-27 | 2000-06-16 | Nec Corp | Data base recovery system for network management system |
US7024430B1 (en) | 1998-12-08 | 2006-04-04 | Starfish Software, Inc. | Method and system for implementing a filter in a data synchronization system |
US6681371B1 (en) | 1998-12-21 | 2004-01-20 | At&T Corp. | System and method for using container documents as multi-user domain clients |
KR100309803B1 (en) | 1998-12-26 | 2001-12-17 | 서평원 | Database Synchronization System and Method between Network Management System and Managed Equipment |
US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US6342906B1 (en) | 1999-02-02 | 2002-01-29 | International Business Machines Corporation | Annotation layer for synchronous collaboration |
JP3711210B2 (en) | 1999-03-12 | 2005-11-02 | シャープ株式会社 | Document editing system and program recording medium |
US6687878B1 (en) | 1999-03-15 | 2004-02-03 | Real Time Image Ltd. | Synchronizing/updating local client notes with annotations previously made by other clients in a notes database |
US6317777B1 (en) | 1999-04-26 | 2001-11-13 | Intel Corporation | Method for web based storage and retrieval of documents |
TW428146B (en) | 1999-05-05 | 2001-04-01 | Inventec Corp | Data file updating method by increment |
US6430576B1 (en) | 1999-05-10 | 2002-08-06 | Patrick Gates | Distributing and synchronizing objects |
CN1154054C (en) | 1999-06-04 | 2004-06-16 | 网络装置公司 | Multi-protocol unified file lockout |
US6438548B1 (en) | 1999-06-30 | 2002-08-20 | International Business Machines Corporation | Method of and system for managing documents in a bandwidth constrained environment |
US6327584B1 (en) | 1999-07-30 | 2001-12-04 | Hewlett-Packard Company | Apparatus and method for using version control to dynamically update files while the files are available for access |
US6560620B1 (en) | 1999-08-03 | 2003-05-06 | Aplix Research, Inc. | Hierarchical document comparison system and method |
US6516339B1 (en) | 1999-08-18 | 2003-02-04 | International Business Machines Corporation | High performance client/server editor |
US6526434B1 (en) | 1999-08-24 | 2003-02-25 | International Business Machines Corporation | System and method for efficient transfer of data blocks from client to server |
US6189009B1 (en) | 1999-08-27 | 2001-02-13 | The Voice.Com, Inc. | System and method for integrating paper-based business documents with computer-readable data entered via a computer network |
US7089278B1 (en) | 1999-09-07 | 2006-08-08 | Fuji Xerox Co., Ltd. | Anchored conversations: adhesive, in-context, virtual discussion forums |
JP2001092707A (en) | 1999-09-24 | 2001-04-06 | Nec Corp | Information processing system, structured document processing system, its updating method and recording medium with its updating program recorded thereon |
US6578054B1 (en) | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization using resource state information |
AU3267901A (en) | 1999-11-05 | 2001-05-14 | Attivo Software, Inc. | Action communication and synchronization for documents accessed by multiple users |
US6560614B1 (en) | 1999-11-12 | 2003-05-06 | Xosoft Inc. | Nonintrusive update of files |
US6751618B1 (en) | 1999-11-24 | 2004-06-15 | Unisys Corporation | Method and apparatus for a web application server to upload multiple files and invoke a script to use the files in a single browser request |
US20020007287A1 (en) | 1999-12-16 | 2002-01-17 | Dietmar Straube | System and method for electronic archiving and retrieval of medical documents |
US6529905B1 (en) | 2000-01-11 | 2003-03-04 | Frontline Solutions, Inc. | Method and system for allowing multiple users to edit a hierarchical data structure |
JP3879350B2 (en) | 2000-01-25 | 2007-02-14 | 富士ゼロックス株式会社 | Structured document processing system and structured document processing method |
US6694336B1 (en) | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
SG99886A1 (en) | 2000-02-24 | 2003-11-27 | Ibm | System and method for collaborative multi-device web browsing |
US6842768B1 (en) | 2000-03-01 | 2005-01-11 | Siemens Communications, Inc. | Apparatus and method for selectable compression |
KR100331685B1 (en) | 2000-04-04 | 2002-04-09 | 오길록 | Cooperative appartus for editing documnet and method using the same |
JP3549097B2 (en) | 2000-04-26 | 2004-08-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method for identifying owner of collaborative work object, computer system, and computer-readable recording medium |
WO2001088750A1 (en) | 2000-05-16 | 2001-11-22 | Carroll Garrett O | A document processing system and method |
US6931592B1 (en) | 2000-05-22 | 2005-08-16 | Microsoft Corporation | Reviewing and merging electronic documents |
US6757767B1 (en) | 2000-05-31 | 2004-06-29 | Advanced Digital Information Corporation | Method for acceleration of storage devices by returning slightly early write status |
SE522846C2 (en) | 2000-06-22 | 2004-03-09 | Ericsson Telefon Ab L M | Antenna with helical radiator and feedback conductor, as well as multi-layer cards and portable communication apparatus including such an antenna |
US6596396B2 (en) * | 2000-08-09 | 2003-07-22 | Mitsubishi Gas Chemical Company, Inc. | Thin-film-like particles having skeleton constructed by carbons and isolated films |
US6925476B1 (en) | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
AU2001287421A1 (en) | 2000-08-21 | 2002-03-04 | Thoughtslinger Corporation | Simultaneous multi-user document editing system |
US6681382B1 (en) | 2000-09-18 | 2004-01-20 | Cisco Technology, Inc. | Method and system for using virtual labels in a software configuration management system |
US6976213B1 (en) | 2000-11-10 | 2005-12-13 | Interspec, Inc. | Method of automatically generating specifications and providing online services for same |
US7080076B1 (en) | 2000-11-28 | 2006-07-18 | Attenex Corporation | System and method for efficiently drafting a legal document using an authenticated clause table |
US20020069192A1 (en) | 2000-12-04 | 2002-06-06 | Aegerter William Charles | Modular distributed mobile data applications |
US6941326B2 (en) | 2001-01-24 | 2005-09-06 | Microsoft Corporation | Accounting for update notifications in synchronizing data that may be represented by different data structures |
US7110936B2 (en) | 2001-02-23 | 2006-09-19 | Complementsoft Llc | System and method for generating and maintaining software code |
US7058663B2 (en) | 2001-03-13 | 2006-06-06 | Koninklijke Philips Electronics, N.V. | Automatic data update |
JP2002288029A (en) | 2001-03-28 | 2002-10-04 | Ricoh Co Ltd | Document managing system |
US6757678B2 (en) | 2001-04-12 | 2004-06-29 | International Business Machines Corporation | Generalized method and system of merging and pruning of data trees |
US7409424B2 (en) | 2001-04-24 | 2008-08-05 | Parker James A | Electronic mail file access system |
US6993522B2 (en) | 2001-06-27 | 2006-01-31 | Microsoft Corporation | System and method for resolving conflicts detected during a synchronization session |
US7117278B2 (en) | 2001-07-12 | 2006-10-03 | Sun Micro Systems, Inc. | Method for merging a plurality of data streams into a single data stream |
US7124362B2 (en) | 2001-08-31 | 2006-10-17 | Robert Tischer | Method and system for producing an ordered compilation of information with more than one author contributing information contemporaneously |
US7149776B1 (en) | 2001-08-31 | 2006-12-12 | Oracle International Corp. | System and method for real-time co-browsing |
US20040205539A1 (en) | 2001-09-07 | 2004-10-14 | Mak Mingchi Stephen | Method and apparatus for iterative merging of documents |
US20030097410A1 (en) | 2001-10-04 | 2003-05-22 | Atkins R. Travis | Methodology for enabling multi-party collaboration across a data network |
JP2003150586A (en) | 2001-11-12 | 2003-05-23 | Ntt Docomo Inc | Document converting system, document converting method and computer-readable recording medium with document converting program recorded thereon |
JP4215425B2 (en) | 2001-11-21 | 2009-01-28 | 日本電気株式会社 | Text management system, management method thereof, and program thereof |
JP4051924B2 (en) * | 2001-12-05 | 2008-02-27 | 株式会社日立製作所 | Network system capable of transmission control |
US6711718B2 (en) | 2001-12-10 | 2004-03-23 | Charles Pfeil | Parallel electronic design automation: distributed simultaneous editing |
US7496841B2 (en) | 2001-12-17 | 2009-02-24 | Workshare Technology, Ltd. | Method and system for document collaboration |
US20030140067A1 (en) | 2002-01-18 | 2003-07-24 | Robert Sesek | Systems and methods for sending documents |
US7024429B2 (en) | 2002-01-31 | 2006-04-04 | Nextpage,Inc. | Data replication based upon a non-destructive data model |
AU2003210750A1 (en) | 2002-02-02 | 2003-09-02 | E-Wings, Inc. | Distributed system for interactive collaboration |
JP2003233520A (en) * | 2002-02-07 | 2003-08-22 | Fujitsu Ltd | File controlling device for file resource on network |
US20030159105A1 (en) | 2002-02-21 | 2003-08-21 | Hiebert Steven P. | Interpretive transformation system and method |
US7340534B2 (en) | 2002-03-05 | 2008-03-04 | Sun Microsystems, Inc. | Synchronization of documents between a server and small devices |
US7200668B2 (en) | 2002-03-05 | 2007-04-03 | Sun Microsystems, Inc. | Document conversion with merging |
US20030208534A1 (en) | 2002-05-02 | 2003-11-06 | Dennis Carmichael | Enhanced productivity electronic meeting system |
US7171467B2 (en) | 2002-06-13 | 2007-01-30 | Engedi Technologies, Inc. | Out-of-band remote management station |
US7565603B1 (en) | 2002-06-28 | 2009-07-21 | Microsoft Corporation | Representing style information in a markup language document |
US6928476B2 (en) | 2002-08-23 | 2005-08-09 | Mirra, Inc. | Peer to peer remote data storage and collaboration |
US7346705B2 (en) | 2002-08-28 | 2008-03-18 | Apple Inc. | Method of synchronising three or more electronic devices and a computer system for implementing that method |
US7111237B2 (en) | 2002-09-30 | 2006-09-19 | Qnaturally Systems Inc. | Blinking annotation callouts highlighting cross language search results |
JP4737914B2 (en) | 2002-10-02 | 2011-08-03 | ケープレックス・インク | Document revision support program, computer-readable medium storing the support program, and document revision support apparatus |
US20040068505A1 (en) | 2002-10-04 | 2004-04-08 | Chung-I Lee | System and method for synchronously editing a file on different client computers |
DE10250842B4 (en) | 2002-10-31 | 2010-11-11 | OCé PRINTING SYSTEMS GMBH | A method, computer program product and apparatus for processing a document data stream of an input format into an output format |
US7328243B2 (en) | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
US20040177343A1 (en) | 2002-11-04 | 2004-09-09 | Mcvoy Lawrence W. | Method and apparatus for understanding and resolving conflicts in a merge |
US20040143630A1 (en) | 2002-11-21 | 2004-07-22 | Roy Kaufmann | Method and system for sending questions, answers and files synchronously and asynchronously in a system for enhancing collaboration using computers and networking |
US7954043B2 (en) | 2002-12-02 | 2011-05-31 | International Business Machines Corporation | Concurrent editing of a file by multiple authors |
US7209948B2 (en) | 2002-12-20 | 2007-04-24 | International Business Machines, Corporation | Collaborative review of distributed content |
KR100490734B1 (en) | 2002-12-21 | 2005-05-24 | 한국전자통신연구원 | Annotation-based automatic document generation apparatus and method |
KR100462839B1 (en) | 2002-12-24 | 2004-12-23 | 한국전자통신연구원 | Method for database synchronization and conflict resolution between clients and server of mobile system |
US7337388B2 (en) | 2003-01-02 | 2008-02-26 | Microsoft Corporation | Tool-based iterative document management |
US7389309B2 (en) | 2003-02-28 | 2008-06-17 | Microsoft Corporation | Method for managing file replication in applications |
US8706760B2 (en) | 2003-02-28 | 2014-04-22 | Microsoft Corporation | Method to delay locking of server files on edit |
US20060259524A1 (en) | 2003-03-17 | 2006-11-16 | Horton D T | Systems and methods for document project management, conversion, and filing |
US9003295B2 (en) | 2003-03-17 | 2015-04-07 | Leo Martin Baschy | User interface driven access control system and method |
US7757162B2 (en) | 2003-03-31 | 2010-07-13 | Ricoh Co. Ltd. | Document collection manipulation |
US7155465B2 (en) | 2003-04-18 | 2006-12-26 | Lee Howard F | Method and apparatus for automatically archiving a file system |
US7424671B2 (en) | 2003-05-16 | 2008-09-09 | Justsystems Canada Inc. | Methods and systems for enabling collaborative authoring of hierarchical documents |
US7290251B2 (en) | 2003-05-16 | 2007-10-30 | Microsoft Corporation | Method and system for providing a representation of merge conflicts in a three-way merge operation |
US7660829B2 (en) | 2003-05-30 | 2010-02-09 | Microsoft Corporation | System and method for delegating file system operations |
US7444337B2 (en) | 2004-03-09 | 2008-10-28 | Ntt Docomo, Inc. | Framework and associated apparatus for the adaptive replication of applications with server side code units |
US7716593B2 (en) | 2003-07-01 | 2010-05-11 | Microsoft Corporation | Conversation grouping of electronic mail records |
JP2007529050A (en) | 2003-07-08 | 2007-10-18 | ユーエス リンクス リミテッド ライアビリティ カンパニー | An automated publishing system that facilitates collaborative editing and responsibility sharing through a virtual document architecture |
US7315978B2 (en) | 2003-07-30 | 2008-01-01 | Ameriprise Financial, Inc. | System and method for remote collection of data |
AU2003903994A0 (en) | 2003-07-31 | 2003-08-14 | Canon Kabushiki Kaisha | Collaborative editing with automatic layout |
US20050033811A1 (en) | 2003-08-07 | 2005-02-10 | International Business Machines Corporation | Collaborative email |
US7363581B2 (en) | 2003-08-12 | 2008-04-22 | Accenture Global Services Gmbh | Presentation generator |
US7401104B2 (en) | 2003-08-21 | 2008-07-15 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device |
US7302274B2 (en) | 2003-09-19 | 2007-11-27 | Nokia Corporation | Method and device for real-time shared editing mobile video |
US7143117B2 (en) | 2003-09-25 | 2006-11-28 | International Business Machines Corporation | Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match |
US7185277B1 (en) | 2003-10-24 | 2007-02-27 | Microsoft Corporation | Method and apparatus for merging electronic documents containing markup language |
WO2005043279A2 (en) | 2003-10-31 | 2005-05-12 | Disksites Research And Development Ltd. | Device, system and method for storage and access of computer files |
US7203708B2 (en) | 2003-11-06 | 2007-04-10 | Microsoft Corporation | Optimizing file replication using binary comparisons |
US7839532B2 (en) | 2003-12-12 | 2010-11-23 | Ipro Tech, Inc. | Methods and apparatus for imaging documents |
US20050177617A1 (en) | 2003-12-23 | 2005-08-11 | Intel Corporation | Conflict resolution during data synchronization |
US7225189B1 (en) | 2004-02-19 | 2007-05-29 | Microsoft Corporation | Data source write back and offline data editing and storage in a spreadsheet |
JP2005267021A (en) | 2004-03-17 | 2005-09-29 | Ricoh Co Ltd | Document preparation method and device, program, storage medium and data structure of document |
US20050216524A1 (en) | 2004-03-23 | 2005-09-29 | Integrated Data Corporation | Smart and selective synchronization between databases in a document management system |
US7912904B2 (en) | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
US7818679B2 (en) | 2004-04-20 | 2010-10-19 | Microsoft Corporation | Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems |
JP2005309745A (en) | 2004-04-21 | 2005-11-04 | Nec Corp | Document management network system for managing original image document information and postscript information, and image document delivery server |
WO2005103935A1 (en) | 2004-04-26 | 2005-11-03 | Creo Inc. | Systems and methods for comparing documents containing graphic elements |
US7536636B2 (en) | 2004-04-26 | 2009-05-19 | Kodak Graphic Communications Canada Company | Systems and methods for comparing documents containing graphic elements |
WO2005114467A2 (en) | 2004-05-19 | 2005-12-01 | Universität Zürich | Computer-based system and computer program product for collaborative editing of documents |
US20060031256A1 (en) | 2004-05-20 | 2006-02-09 | Bea Systems, Inc. | Template language for mobile client |
US7603357B1 (en) | 2004-06-01 | 2009-10-13 | Adobe Systems Incorporated | Collaborative asset management |
JP4716709B2 (en) | 2004-06-10 | 2011-07-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Structured document processing apparatus, structured document processing method, and program |
JP4069905B2 (en) | 2004-06-28 | 2008-04-02 | コニカミノルタビジネステクノロジーズ株式会社 | Shared file management system and server |
JP2006031292A (en) | 2004-07-14 | 2006-02-02 | Fuji Xerox Co Ltd | Document processing apparatus, document processing method, and document processing program |
US7567988B2 (en) | 2004-07-16 | 2009-07-28 | Sap Ag | Synchronizing agent for multiple clients/applications on a computer system |
US7487471B2 (en) | 2004-07-23 | 2009-02-03 | Sap Ag | User interface for conflict resolution management |
US7966556B1 (en) | 2004-08-06 | 2011-06-21 | Adobe Systems Incorporated | Reviewing and editing word processing documents |
US20060041596A1 (en) | 2004-08-19 | 2006-02-23 | Vlad Stirbu | Caching directory server data for controlling the disposition of multimedia data on a network |
EP1796314B1 (en) | 2004-08-31 | 2014-07-30 | Tencent Technology (Shenzhen) Company Limited | A system and method for implementing online file storage based on a real-time communication platform |
US20060047656A1 (en) | 2004-09-01 | 2006-03-02 | Dehlinger Peter J | Code, system, and method for retrieving text material from a library of documents |
US20060053194A1 (en) | 2004-09-03 | 2006-03-09 | Schneider Ronald E | Systems and methods for collaboration |
US20060080432A1 (en) | 2004-09-03 | 2006-04-13 | Spataro Jared M | Systems and methods for collaboration |
US20070118794A1 (en) | 2004-09-08 | 2007-05-24 | Josef Hollander | Shared annotation system and method |
US7392243B2 (en) | 2004-10-20 | 2008-06-24 | Microsoft Corporation | Using permanent identifiers in documents for change management |
US7472341B2 (en) | 2004-11-08 | 2008-12-30 | International Business Machines Corporation | Multi-user, multi-timed collaborative annotation |
US7577906B2 (en) | 2004-11-08 | 2009-08-18 | Microsoft Corporation | Method and system for document assembly |
US20060106879A1 (en) | 2004-11-16 | 2006-05-18 | International Business Machines Corporation | Conflict resolution in a synchronization framework |
US7650336B1 (en) | 2004-12-02 | 2010-01-19 | Adobe Systems Incorporated | File system atomic lock |
US8108773B2 (en) | 2004-12-17 | 2012-01-31 | Xerox Corporation | Method and apparatus for generating instances of documents |
US7908247B2 (en) | 2004-12-21 | 2011-03-15 | Nextpage, Inc. | Storage-and transport-independent collaborative document-management system |
US7593943B2 (en) | 2005-01-14 | 2009-09-22 | Microsoft Corporation | Method and system for synchronizing multiple user revisions to a shared object |
US20060173901A1 (en) | 2005-01-31 | 2006-08-03 | Mediatek Incorporation | Methods for merging files and related systems |
US20060179026A1 (en) | 2005-02-04 | 2006-08-10 | Bechtel Michael E | Knowledge discovery tool extraction and integration |
US7313580B2 (en) | 2005-02-08 | 2007-12-25 | Domenico Vellante | Systems and methods for sharing information between a user group and associated document |
US7792788B2 (en) | 2005-03-04 | 2010-09-07 | Microsoft Corporation | Method and system for resolving conflicts operations in a collaborative editing environment |
US20060218476A1 (en) | 2005-03-25 | 2006-09-28 | Xerox Corporation | Collaborative document authoring and production methods and systems |
US20070016650A1 (en) | 2005-04-01 | 2007-01-18 | Gilbert Gary J | System and methods for collaborative development of content over an electronic network |
RU50695U1 (en) | 2005-04-28 | 2006-01-20 | ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ "ГЛАВНОЕ ПРОИЗВОДСТВЕННО-КОММЕРЧЕСКОЕ УПРАВЛЕНИЕ ПО ОБСЛУЖИВАНИЮ ДИПЛОМАТИЧЕСКОГО КОРПУСА ПРИ МИНИСТЕРСТВЕ ИНОСТРАННЫХ ДЕЛ РОССИЙСКОЙ ФЕДЕРАЦИИ" (ГлавУпДК при МИД России) | DATA STORAGE AND PROCESSING SYSTEM |
US7536641B2 (en) | 2005-04-29 | 2009-05-19 | Google Inc. | Web page authoring tool for structured documents |
US7454406B2 (en) | 2005-04-29 | 2008-11-18 | Adaptec, Inc. | System and method of handling file metadata |
US20060265377A1 (en) | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US7610287B1 (en) | 2005-06-28 | 2009-10-27 | Google Inc. | System and method for impromptu shared communication spaces |
US7779347B2 (en) | 2005-09-02 | 2010-08-17 | Fourteen40, Inc. | Systems and methods for collaboratively annotating electronic documents |
TWI276325B (en) | 2005-09-16 | 2007-03-11 | Hon Hai Prec Ind Co Ltd | Mobile communication device and method for downloading configuration files thereof and wireless communication system |
JPWO2007034858A1 (en) | 2005-09-22 | 2009-03-26 | 株式会社ジャストシステム | Data management device, data editing device, data browsing device, data management method, data editing method, and data browsing method |
JP2007115131A (en) | 2005-10-21 | 2007-05-10 | Canon Inc | Information processor and its control method, information processing system, computer program, and storage medium |
US8015194B2 (en) | 2005-12-29 | 2011-09-06 | Ricoh Co., Ltd. | Refining based on log content |
US7529780B1 (en) | 2005-12-30 | 2009-05-05 | Google Inc. | Conflict management during data object synchronization between client and server |
US7774703B2 (en) | 2006-02-09 | 2010-08-10 | Microsoft Corporation | Virtual shadow awareness for multi-user editors |
US20070198952A1 (en) | 2006-02-21 | 2007-08-23 | Pittenger Robert A | Methods and systems for authoring of a compound document following a hierarchical structure |
US20070226604A1 (en) | 2006-03-22 | 2007-09-27 | Chalasani Nanchariah R | System and method for merging a sub-document into a collaboratively authored master document |
US8566301B2 (en) | 2006-05-01 | 2013-10-22 | Steven L. Rueben | Document revisions in a collaborative computing environment |
GB0610116D0 (en) | 2006-05-20 | 2006-06-28 | Ibm | A method, apparatus and computer program for collaborative editing of a document |
US8407670B2 (en) | 2006-06-02 | 2013-03-26 | Microsoft Corporation | Collaborative code conflict detection, notification and resolution |
US20080005953A1 (en) * | 2006-07-07 | 2008-01-10 | Anderson Tackle Company | Line guides for fishing rods |
US20080059539A1 (en) | 2006-08-08 | 2008-03-06 | Richard Chin | Document Collaboration System and Method |
US7801951B2 (en) | 2006-08-25 | 2010-09-21 | Reframe-It, Inc. | Process for referencing, prioritizing, accessing, and displaying marginalia in digital media |
US8401841B2 (en) | 2006-08-31 | 2013-03-19 | Orcatec Llc | Retrieval of documents using language models |
KR101443404B1 (en) | 2006-09-15 | 2014-10-02 | 구글 인코포레이티드 | Capture and display of annotations in paper and electronic documents |
US9207933B2 (en) | 2006-10-10 | 2015-12-08 | International Business Machines Corporation | Identifying authors of changes between multiple versions of a file |
JP5437557B2 (en) | 2006-10-19 | 2014-03-12 | 富士通株式会社 | Search processing method and search system |
US20080098294A1 (en) | 2006-10-23 | 2008-04-24 | Mediq Learning, L.L.C. | Collaborative annotation of electronic content |
US20080114740A1 (en) | 2006-11-14 | 2008-05-15 | Xcential Group Llc | System and method for maintaining conformance of electronic document structure with multiple, variant document structure models |
US8769006B2 (en) | 2006-11-28 | 2014-07-01 | International Business Machines Corporation | Role-based display of document renditions for web conferencing |
US20080177782A1 (en) | 2007-01-10 | 2008-07-24 | Pado Metaware Ab | Method and system for facilitating the production of documents |
JP2008186176A (en) | 2007-01-29 | 2008-08-14 | Canon Inc | Image processing apparatus, document merging method and control program |
CN102867526A (en) | 2007-02-14 | 2013-01-09 | 缪斯亚米有限公司 | Collaborative music creation |
US20080294895A1 (en) | 2007-02-15 | 2008-11-27 | Michael Bodner | Disaggregation/reassembly method system for information rights management of secure documents |
JP5023736B2 (en) | 2007-02-27 | 2012-09-12 | 富士ゼロックス株式会社 | Terminal device and program |
US7949938B2 (en) | 2007-03-20 | 2011-05-24 | International Business Machines Corporation | Comparing and merging multiple documents |
US8019780B1 (en) | 2007-03-30 | 2011-09-13 | Google Inc. | Handling document revision history information in the presence of a multi-user permissions model |
US20080256114A1 (en) | 2007-04-10 | 2008-10-16 | Microsoft Corporation | Techniques to display associated information between application programs |
US8024652B2 (en) | 2007-04-10 | 2011-09-20 | Microsoft Corporation | Techniques to associate information between application programs |
US8504553B2 (en) | 2007-04-19 | 2013-08-06 | Barnesandnoble.Com Llc | Unstructured and semistructured document processing and searching |
JP5154832B2 (en) | 2007-04-27 | 2013-02-27 | 株式会社日立製作所 | Document search system and document search method |
US8082277B1 (en) | 2007-06-05 | 2011-12-20 | The Board of Trustees of the University of Alabama, for and on behalf of the University of Alabamaiin Huntsville | Systems and methods for generating technical documents |
US20080320384A1 (en) | 2007-06-25 | 2008-12-25 | Ramesh Nagarajan | Automated addition of images to text |
US8239760B2 (en) | 2007-06-26 | 2012-08-07 | Sap Ag | Multi-user document editing system and method |
US7937663B2 (en) | 2007-06-29 | 2011-05-03 | Microsoft Corporation | Integrated collaborative user interface for a document editor program |
US7933952B2 (en) | 2007-06-29 | 2011-04-26 | Microsoft Corporation | Collaborative document authoring |
WO2009027138A1 (en) | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Accessing data entities |
US8595202B2 (en) | 2007-10-03 | 2013-11-26 | Siemens Aktiengesellschaft | Method and system for intra-document object locking in collaborative authoring |
US8280892B2 (en) | 2007-10-05 | 2012-10-02 | Fujitsu Limited | Selecting tags for a document by analyzing paragraphs of the document |
US7941399B2 (en) | 2007-11-09 | 2011-05-10 | Microsoft Corporation | Collaborative authoring |
US8028229B2 (en) | 2007-12-06 | 2011-09-27 | Microsoft Corporation | Document merge |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
US8291308B2 (en) | 2007-12-28 | 2012-10-16 | International Business Machines Corporation | Annotating collaborative information structures |
US8301588B2 (en) | 2008-03-07 | 2012-10-30 | Microsoft Corporation | Data storage for file updates |
US20090249224A1 (en) | 2008-03-31 | 2009-10-01 | Microsoft Corporation | Simultaneous collaborative review of a document |
US8352870B2 (en) | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
US8417666B2 (en) | 2008-06-25 | 2013-04-09 | Microsoft Corporation | Structured coauthoring |
US8332359B2 (en) | 2008-07-28 | 2012-12-11 | International Business Machines Corporation | Extended system for accessing electronic documents with revision history in non-compatible repositories |
US10747952B2 (en) | 2008-09-15 | 2020-08-18 | Palantir Technologies, Inc. | Automatic creation and server push of multiple distinct drafts |
US8286132B2 (en) | 2008-09-25 | 2012-10-09 | International Business Machines Corporation | Comparing and merging structured documents syntactically and semantically |
US20100095198A1 (en) | 2008-10-15 | 2010-04-15 | Apple Inc. | Shared comments for online document collaboration |
US20100131836A1 (en) | 2008-11-24 | 2010-05-27 | Microsoft Corporation | User-authored notes on shared documents |
US8346768B2 (en) | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
-
2008
- 2008-05-08 US US12/117,040 patent/US8429753B2/en not_active Expired - Fee Related
-
2009
- 2009-04-02 JP JP2011508530A patent/JP5453397B2/en not_active Expired - Fee Related
- 2009-04-02 EP EP09767155A patent/EP2300957A4/en not_active Withdrawn
- 2009-04-02 RU RU2010145165/08A patent/RU2501082C2/en not_active IP Right Cessation
- 2009-04-02 CA CA2720732A patent/CA2720732A1/en not_active Abandoned
- 2009-04-02 CN CN200980116872.1A patent/CN102016872B/en not_active Expired - Fee Related
- 2009-04-02 BR BRPI0910583A patent/BRPI0910583A2/en not_active IP Right Cessation
- 2009-04-02 WO PCT/US2009/039316 patent/WO2009154842A2/en active Application Filing
- 2009-04-02 MX MX2010011952A patent/MX2010011952A/en active IP Right Grant
- 2009-04-02 KR KR1020107024583A patent/KR20110010604A/en active IP Right Grant
-
2013
- 2013-02-06 US US13/760,224 patent/US20130151466A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5107443A (en) * | 1988-09-07 | 1992-04-21 | Xerox Corporation | Private regions within a shared workspace |
US5671428A (en) * | 1991-08-28 | 1997-09-23 | Kabushiki Kaisha Toshiba | Collaborative document processing system with version and comment management |
US7007235B1 (en) * | 1999-04-02 | 2006-02-28 | Massachusetts Institute Of Technology | Collaborative agent interaction control and synchronization system |
US6854087B1 (en) * | 1999-08-10 | 2005-02-08 | Fuji Xerox Co., Ltd. | Document editing apparatus |
US20030115481A1 (en) * | 2001-12-18 | 2003-06-19 | Baird Roger T. | Controlling the distribution of information |
US20050097440A1 (en) * | 2003-11-04 | 2005-05-05 | Richard Lusk | Method and system for collaboration |
US20060053195A1 (en) * | 2004-09-03 | 2006-03-09 | Schneider Ronald E | Systems and methods for collaboration |
US20070118598A1 (en) * | 2005-11-22 | 2007-05-24 | International Business Machines Corporation | Collaborative editing of a document |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394941B2 (en) | 2007-11-09 | 2019-08-27 | Microsoft Technology Licensing, Llc | Collaborative authoring |
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 |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
US20140373108A1 (en) | 2007-12-14 | 2014-12-18 | Microsoft Corporation | Collaborative authoring modes |
US10057226B2 (en) | 2007-12-14 | 2018-08-21 | Microsoft Technology Licensing, Llc | Collaborative authoring modes |
US20090157811A1 (en) * | 2007-12-14 | 2009-06-18 | Microsoft Corporation | Collaborative Authoring Modes |
US9760862B2 (en) | 2008-04-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | Conflict resolution |
US20150036173A1 (en) * | 2013-07-30 | 2015-02-05 | Konica Minolta Laboratory U.S.A., Inc. | Electronic content management workflow |
US9223528B2 (en) * | 2013-07-30 | 2015-12-29 | Konica Minolta Laboratory U.S.A., Inc. | Electronic content management workflow |
US11056145B2 (en) * | 2018-09-20 | 2021-07-06 | Oracle International Corporation | Global secondary path locking technique enabling high read concurrency for read-mostly workloads |
US11328809B1 (en) | 2021-07-02 | 2022-05-10 | Oxilio Ltd | Systems and methods for manufacturing an orthodontic appliance |
US11621069B2 (en) | 2021-07-02 | 2023-04-04 | Oxilio Ltd | Systems and methods for manufacturing an orthodontic appliance |
Also Published As
Publication number | Publication date |
---|---|
CN102016872A (en) | 2011-04-13 |
WO2009154842A3 (en) | 2010-03-04 |
EP2300957A2 (en) | 2011-03-30 |
WO2009154842A2 (en) | 2009-12-23 |
RU2501082C2 (en) | 2013-12-10 |
KR20110010604A (en) | 2011-02-01 |
RU2010145165A (en) | 2012-05-10 |
BRPI0910583A2 (en) | 2015-09-22 |
JP5453397B2 (en) | 2014-03-26 |
JP2011520200A (en) | 2011-07-14 |
CA2720732A1 (en) | 2009-12-23 |
EP2300957A4 (en) | 2012-04-25 |
MX2010011952A (en) | 2010-11-30 |
US20090282462A1 (en) | 2009-11-12 |
CN102016872B (en) | 2014-04-09 |
US8429753B2 (en) | 2013-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429753B2 (en) | Controlling access to documents using file locks | |
US8504653B1 (en) | Online shared data environment | |
US10055604B2 (en) | Filesystem access for web applications and native code modules | |
US8973157B2 (en) | Privileged access to managed content | |
US9773102B2 (en) | Selective file access for applications | |
US8234693B2 (en) | Secure document management | |
RU2446456C2 (en) | Integration of corporate search engines with access control application programming special interfaces | |
US8458770B2 (en) | Application context based access control | |
US20090222879A1 (en) | Super policy in information protection systems | |
US7496576B2 (en) | Isolated access to named resources | |
US20110126281A1 (en) | Controlling Resource Access Based on Resource Properties | |
US20070283443A1 (en) | Translating role-based access control policy to resource authorization policy | |
US8327458B2 (en) | Providing an access mechanism associated with a document part to determine an action to take if content of the document part is inaccessible | |
US8689004B2 (en) | Pluggable claim providers | |
US20070198522A1 (en) | Virtual roles | |
US11003786B2 (en) | System and method to manage file access rights in an information handling system | |
Carter | Using gconf as an example of how to create an userspace object manager | |
EP2766845A1 (en) | Managing policies | |
L’Esteve | Security and Controls | |
Balinsky et al. | Handling Environment for Publicly Posted Composite Documents | |
Ren et al. | An object-dependent and context constraints-aware access control approach based on RBAC | |
Ola et al. | MULTI-LEVEL SECURE ACCESS AND EDITING SYSTEM FOR BUSINESS DOCUMENTS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |