US20130151466A1 - Controlling access to documents using file locks - Google Patents

Controlling access to documents using file locks Download PDF

Info

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
Application number
US13/760,224
Inventor
Simon Skaria
Naresh Kannan
Simon Peter Clarke
Miko Arnab Sakhya Singha Bose
Christopher J. Antos
Mark Rolland Knight
Andrew G. Carlson
Don Adam Hedgpeth
Mitesh Pankaj Patel
Andrew Sean Watson
Jonathan B. Bailor
Elena Petrova
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US13/760,224 priority Critical patent/US20130151466A1/en
Publication of US20130151466A1 publication Critical patent/US20130151466A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30011
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

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

    BACKGROUND
  • 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.
  • SUMMARY
  • 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.
  • DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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 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. In example embodiments, 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. 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 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. In example embodiments, 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. 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 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. 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 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.
  • Referring now to FIG. 4, 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. 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 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.
  • 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 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.
  • 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 an example method 500 for controlling access to server document files. At operation 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 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.
  • 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 to operation 510. At operation 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 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.
  • Referring back to operation 508, if the software application does not support coauthoring, 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. In the example method 600, a long-term shared lock is used. Initially, at operation 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. At operation 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. At operation 608, 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.
  • 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.
US13/760,224 2008-05-08 2013-02-06 Controlling access to documents using file locks Abandoned US20130151466A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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