Controlling access to documents using file locks

Information

  • Patent Grant
  • 8429753
  • Patent Number
    8,429,753
  • Date Filed
    Thursday, May 8, 2008
    16 years ago
  • Date Issued
    Tuesday, April 23, 2013
    11 years ago
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
  • 1. 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, at least one document file referencing a file lock stored on the document server, wherein the file lock comprises a first file lock that is a shared lock, and wherein the first file lock permits write-access to the at least one document file by a plurality of software applications; anda document access processing module, the document access processing module comprising: a file sharing processing module that determines a coauthoring status of a software application of a client computer requesting access to the document file, wherein the coauthoring status indicates whether the software application supports coauthoring; anda file lock processing module that stores a plurality of file locks, controls the setting and resetting of file locks, and determines a file lock status of the at least one document file, wherein the plurality of file locks comprises at least the first file lock and a second file lock that is an exclusive lock, wherein the second file lock permits exclusive write-access to the at least one document file by a single software application;wherein the document access processing module uses the coauthoring status of the software application and the file lock status of the at least one document file to determine whether the software application is permitted to have write-access to the at least one document file, and wherein the document access processing module 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.
  • 2. The system of claim 1, 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.
  • 3. The system of claim 2, wherein the first file lock has a timeout value.
  • 4. The system of claim 3, wherein the document access processing module resets the first file lock when the timeout value is reached.
  • 5. The system of claim 2, wherein the second file lock represents that a software application that supports coauthoring has exclusive write-access to the at least one document file.
  • 6. The system of claim 5, wherein a third file lock 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.
  • 7. The system of claim 6, wherein the document access 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.
  • 8. The system of claim 7, wherein the document access 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.
  • 9. The system of claim 8, wherein the document access 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.
  • 10. The system of claim 6, wherein the document access 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.
  • 11. The system of claim 1, wherein the second file lock represents that a software application that supports coauthoring has exclusive write-access to the at least one document file.
  • 12. The system of claim 1, wherein a third file lock 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 at least one 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.
  • 13. The system of claim 12, wherein the document access processing module resets the third file lock upon an explicit request to reset the third file lock.
  • 14. The system of claim 1, wherein the document access 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.
  • 15. 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 comprises one of exclusive and shared, wherein a first file lock is a shared lock that permits write-access to the document file by a plurality of software applications, and wherein a second file lock is an exclusive lock that 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;denying write access to the document file if the software application supports coauthoring but the file lock status does not permit coauthoring; andsetting the second file lock if the software application supports coauthoring and the at least one document file includes features that do not support coauthoring.
  • 16. The method of claim 15, further comprising: receiving a request for exclusive access to the document file; anddenying exclusive access to the document file if the file lock status of exclusive or shared has already been granted to another user.
  • 17. 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 that designates a document file for shared access by a plurality of software applications, the request being made when the document file is closed, and 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;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;denying write-access to the document file if the first software application does not support 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;permitting write-access to the document file if the second software application supports coauthoring; anddenying write-access to the document file if the second software application does not support coauthoring.
  • 18. The method of claim 17, further comprising: receiving a request for exclusive access to the document file from the second software application, wherein the second software application supports coauthoring; anddenying the request for exclusive access if the first file lock is set.
  • 19. The method of claim 17, 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; anddenying the request for exclusive access if the first file lock is set.
US Referenced Citations (262)
Number Name Date Kind
4855580 Van Maanen, Jr. Aug 1989 A
5107443 Smith et al. Apr 1992 A
5142619 Webster, III Aug 1992 A
5313394 Clapp May 1994 A
5339389 Bates et al. Aug 1994 A
5446842 Schaeffer Aug 1995 A
5486686 Zdybel Jan 1996 A
5535332 Ishida Jul 1996 A
5568640 Nishiyama et al. Oct 1996 A
5623659 Shi et al. Apr 1997 A
5630138 Raman May 1997 A
5664186 Bennett et al. Sep 1997 A
5671428 Muranaga et al. Sep 1997 A
5692178 Shaughnessy Nov 1997 A
5729734 Parker et al. Mar 1998 A
5751958 Zweben May 1998 A
5781732 Adams Jul 1998 A
5781908 Williams et al. Jul 1998 A
5787262 Shakib et al. Jul 1998 A
5835950 Cho et al. Nov 1998 A
5963931 Fagg Oct 1999 A
6000945 Sanchez-Lazer Dec 1999 A
6006239 Bhansali et al. Dec 1999 A
6026461 Baxter et al. Feb 2000 A
6055546 Pongracz et al. Apr 2000 A
6065026 Cornelia May 2000 A
6067551 Brown et al. May 2000 A
6073161 DeBoskey et al. Jun 2000 A
6088702 Plantz Jul 2000 A
6202085 Benson et al. Mar 2001 B1
6209010 Gauthier Mar 2001 B1
6209128 Gerard et al. Mar 2001 B1
6240414 Beizer et al. May 2001 B1
6244575 Vaartstra et al. Jun 2001 B1
6275935 Barlow Aug 2001 B1
6317777 Skarbo et al. Nov 2001 B1
6324544 Alam et al. Nov 2001 B1
6327584 Xian et al. Dec 2001 B1
6327611 Everingham Dec 2001 B1
6341291 Bentley et al. Jan 2002 B1
6342906 Kumar et al. Jan 2002 B1
6411965 Klug Jun 2002 B2
6430576 Gates et al. Aug 2002 B1
6438548 Grim, III et al. Aug 2002 B1
6438563 Kawagoe Aug 2002 B1
6438564 Morton et al. Aug 2002 B1
6446093 Tabuchi Sep 2002 B2
6502113 Crawford et al. Dec 2002 B1
6526434 Carlson et al. Feb 2003 B1
6529905 Bray et al. Mar 2003 B1
6560614 Barboy et al. May 2003 B1
6560620 Ching May 2003 B1
6574377 Cahill et al. Jun 2003 B1
6610104 Lin Aug 2003 B1
6662209 Potts, Jr. et al. Dec 2003 B2
6681371 Devanbu Jan 2004 B1
6681382 Kakumani Jan 2004 B1
6687878 Eintracht et al. Feb 2004 B1
6711718 Pfeil et al. Mar 2004 B2
6751618 Germscheid et al. Jun 2004 B1
6757678 Myllymaki Jun 2004 B2
6757696 Multer et al. Jun 2004 B2
6757767 Kelleher Jun 2004 B1
6757871 Sato et al. Jun 2004 B1
6760840 Shimbo et al. Jul 2004 B1
6772165 O'Carroll Aug 2004 B2
6842768 Shaffer et al. Jan 2005 B1
6854087 Takeo et al. Feb 2005 B1
6925476 Multer Aug 2005 B1
6976213 Letourneau et al. Dec 2005 B1
6983416 Bae Jan 2006 B1
6993522 Chen et al. Jan 2006 B2
7007235 Hussein et al. Feb 2006 B1
7024429 Ngo et al. Apr 2006 B2
7024430 Ingraham et al. Apr 2006 B1
7035839 Gillespie et al. Apr 2006 B1
7039679 Mendez et al. May 2006 B2
7047407 Itoh et al. May 2006 B2
7053839 Cassel et al. May 2006 B2
7058663 Johnston et al. Jun 2006 B2
7065633 Yates et al. Jun 2006 B1
7069505 Tamano Jun 2006 B2
7089278 Churchill et al. Aug 2006 B1
7110936 Hiew Sep 2006 B2
7111237 Chan Sep 2006 B2
7117278 Avery Oct 2006 B2
7124151 Choi Oct 2006 B1
7124362 Tischer Oct 2006 B2
7127501 Beir et al. Oct 2006 B1
7149776 Roy et al. Dec 2006 B1
7155465 Lee et al. Dec 2006 B2
7185277 Bernstein et al. Feb 2007 B1
7200668 Mak et al. Apr 2007 B2
7203708 Liu et al. Apr 2007 B2
7209948 Srinivasa Apr 2007 B2
7225189 McCormack et al. May 2007 B1
7240091 Hopmann et al. Jul 2007 B1
7249314 Walker et al. Jul 2007 B2
7293049 Kadyk et al. Nov 2007 B2
7310657 Nakamura Dec 2007 B2
7315978 Giles et al. Jan 2008 B2
7328243 Yeager et al. Feb 2008 B2
7346705 Hullot et al. Mar 2008 B2
7401291 Ramaley et al. Jul 2008 B2
7496577 Williamson Feb 2009 B2
7529780 Braginsky et al. May 2009 B1
7536641 Rosenstein et al. May 2009 B2
7565603 Jones et al. Jul 2009 B1
7577906 Friedrichowitz Aug 2009 B2
7594163 Slack-Smith Sep 2009 B2
7603357 Gourdol Oct 2009 B1
7610287 Dean et al. Oct 2009 B1
7647292 Hayashi Jan 2010 B2
7650336 Herrmann Jan 2010 B1
7664750 Frees Feb 2010 B2
7694217 Croft Apr 2010 B2
7714222 Taub May 2010 B2
7761784 Parks et al. Jul 2010 B2
7779347 Christiansen et al. Aug 2010 B2
7788326 Buchheit et al. Aug 2010 B2
7792788 Melmon Sep 2010 B2
7801951 Fishkin et al. Sep 2010 B2
7839532 Brawn et al. Nov 2010 B2
7912811 Hodel-Widmer Mar 2011 B2
7941399 Bailor May 2011 B2
7962853 Bedi et al. Jun 2011 B2
7966556 Bourdev Jun 2011 B1
8019780 Pinkerton et al. Sep 2011 B1
8028229 Bailor et al. Sep 2011 B2
8082277 O'Brien et al. Dec 2011 B1
20010018697 Kunitake et al. Aug 2001 A1
20010042075 Tabuchi Nov 2001 A1
20020007287 Straube et al. Jan 2002 A1
20020065848 Walker et al. May 2002 A1
20020069192 Aegerter Jun 2002 A1
20020188598 Myllymaki Dec 2002 A1
20030028600 Parker Feb 2003 A1
20030093760 Suzuki et al. May 2003 A1
20030097410 Atkins et al. May 2003 A1
20030097638 Tamano May 2003 A1
20030115481 Baird et al. Jun 2003 A1
20030140067 Sesek et al. Jul 2003 A1
20030159105 Hiebert Aug 2003 A1
20030167281 Cohen et al. Sep 2003 A1
20030172113 Cameron et al. Sep 2003 A1
20030172168 Mak et al. Sep 2003 A1
20030208534 Carmichael Nov 2003 A1
20040039829 Bucher Feb 2004 A1
20040068505 Lee et al. Apr 2004 A1
20040107224 Bera Jun 2004 A1
20040122870 Park et al. Jun 2004 A1
20040122898 Srinivasa Jun 2004 A1
20040122912 Kim et al. Jun 2004 A1
20040133858 Barnett Jul 2004 A1
20040143630 Kaufmann et al. Jul 2004 A1
20040172395 Edelstein et al. Sep 2004 A1
20040177343 McVoy et al. Sep 2004 A1
20040199550 Ito et al. Oct 2004 A1
20040205539 Mak et al. Oct 2004 A1
20040205653 Hadfield et al. Oct 2004 A1
20040230903 Elza et al. Nov 2004 A1
20040239700 Baschy Dec 2004 A1
20040243644 Steere et al. Dec 2004 A1
20050004990 Durazo Jan 2005 A1
20050022122 Barrus et al. Jan 2005 A1
20050033811 Bhogal et al. Feb 2005 A1
20050064858 Makela et al. Mar 2005 A1
20050071386 Wolfgang Mar 2005 A1
20050097440 Lusk et al. May 2005 A1
20050177617 Banginwar et al. Aug 2005 A1
20050198132 Vellante et al. Sep 2005 A1
20050203962 Zhou et al. Sep 2005 A1
20050216524 Gomes et al. Sep 2005 A1
20050223066 Buchheit et al. Oct 2005 A1
20050234943 Clarke Oct 2005 A1
20050240858 Croft et al. Oct 2005 A1
20050251738 Hirano et al. Nov 2005 A1
20050256907 Novik et al. Nov 2005 A1
20050262203 Buchheit et al. Nov 2005 A1
20050289512 Matsusaka Dec 2005 A1
20060015539 Wolf et al. Jan 2006 A1
20060015811 Tanaka et al. Jan 2006 A1
20060020360 Wu Jan 2006 A1
20060031264 Bosworth et al. Feb 2006 A1
20060041579 Miyashita et al. Feb 2006 A1
20060041596 Stirbu et al. Feb 2006 A1
20060047656 Dehlinger et al. Mar 2006 A1
20060053194 Schneider Mar 2006 A1
20060053195 Schneider et al. Mar 2006 A1
20060080432 Spataro et al. Apr 2006 A1
20060085402 Brown et al. Apr 2006 A1
20060101328 Albornoz May 2006 A1
20060106879 Zondervan et al. May 2006 A1
20060123033 Livshits Jun 2006 A1
20060136511 Ngo et al. Jun 2006 A1
20060136809 Fernstrom Jun 2006 A1
20060200755 Melmon et al. Sep 2006 A1
20060218476 Gombert Sep 2006 A1
20060242549 Schwier et al. Oct 2006 A1
20060248038 Kaplan et al. Nov 2006 A1
20060259524 Horton Nov 2006 A1
20060265377 Raman et al. Nov 2006 A1
20070016650 Gilbert et al. Jan 2007 A1
20070066293 Peng Mar 2007 A1
20070118598 Bedi et al. May 2007 A1
20070118794 Hollander et al. May 2007 A1
20070130334 Carley Jun 2007 A1
20070156672 Wolff et al. Jul 2007 A1
20070186157 Walker et al. Aug 2007 A1
20070186171 Junuzovic et al. Aug 2007 A1
20070198952 Pittenger Aug 2007 A1
20070203917 Du et al. Aug 2007 A1
20070226320 Hager et al. Sep 2007 A1
20070226604 Chalasani et al. Sep 2007 A1
20070283321 Hegde Dec 2007 A1
20080028300 Krieger et al. Jan 2008 A1
20080052634 Fishkin et al. Feb 2008 A1
20080059187 Roitblat et al. Mar 2008 A1
20080059539 Chin et al. Mar 2008 A1
20080086718 Bostic Apr 2008 A1
20080097993 Nanba Apr 2008 A1
20080098294 Le Apr 2008 A1
20080114740 Vergottini May 2008 A1
20080126953 Davidson et al. May 2008 A1
20080147590 Bechtel et al. Jun 2008 A1
20080177782 Poston Jul 2008 A1
20080180740 Kimura et al. Jul 2008 A1
20080235579 Champion et al. Sep 2008 A1
20080256113 Rasmussen et al. Oct 2008 A1
20080256114 Rasmussen et al. Oct 2008 A1
20080263032 Vailaya et al. Oct 2008 A1
20080270386 Ohi et al. Oct 2008 A1
20080294895 Bodner et al. Nov 2008 A1
20080320384 Nagarajan Dec 2008 A1
20090006936 Parker Jan 2009 A1
20090006946 Hanson Jan 2009 A1
20090006948 Parker Jan 2009 A1
20090063489 Neumann et al. Mar 2009 A1
20090094231 Marvit et al. Apr 2009 A1
20090094242 Lo et al. Apr 2009 A1
20090125518 Bailor et al. May 2009 A1
20090157811 Bailor et al. Jun 2009 A1
20090171987 Coppinger et al. Jul 2009 A1
20090193331 Croft et al. Jul 2009 A1
20090228473 Kannan et al. Sep 2009 A1
20090235158 Rosenstein et al. Sep 2009 A1
20090249224 Davis et al. Oct 2009 A1
20090271696 Bailor et al. Oct 2009 A1
20090282041 Skaria et al. Nov 2009 A1
20090327294 Bailor Dec 2009 A1
20100023562 Kreuch et al. Jan 2010 A1
20100070464 Aymeloglu et al. Mar 2010 A1
20100088676 Yuan Apr 2010 A1
20100095198 Bultrowicz et al. Apr 2010 A1
20100131836 Dukhon et al. May 2010 A1
20100278453 King Nov 2010 A1
20100281074 Bailor et al. Nov 2010 A1
20110055702 Jakobson Mar 2011 A1
20110184906 Bailor et al. Jul 2011 A1
20120254315 Skaria et al. Oct 2012 A1
20120278276 Bailor et al. Nov 2012 A1
20130013997 Bailor et al. Jan 2013 A1
Foreign Referenced Citations (34)
Number Date Country
1276568 Dec 2000 CN
1804836 Jul 2006 CN
101042702 Sep 2007 CN
19844071 Apr 1999 DE
1132847 Sep 2001 EP
1290575 Jun 2005 EP
1681652 Jul 2006 EP
2000259623 Sep 2000 JP
2002288029 Oct 2002 JP
2005267021 Sep 2005 JP
2005310158 Nov 2005 JP
2007115131 May 2007 JP
2008210192 Sep 2008 JP
20099410 Jan 2009 JP
10-0331685 Apr 2002 KR
10-2006-0047218 May 2006 KR
2250492 Apr 2005 RU
50695 Jan 2006 RU
200424868 Nov 2004 TW
200627259 Aug 2006 TW
WO 0125986 Apr 2001 WO
WO 0133362 May 2001 WO
WO 0188750 Nov 2001 WO
WO 0233575 Apr 2002 WO
WO 03058374 Jul 2003 WO
WO 2005114467 Dec 2005 WO
WO 2007034858 Mar 2007 WO
WO 2007062949 Jun 2007 WO
WO 2009061638 May 2009 WO
WO 2009076010 Jun 2009 WO
WO 2009079116 Jun 2009 WO
WO 2009134548 Nov 2009 WO
WO 2009154842 Dec 2009 WO
WO 2009158108 Dec 2009 WO
Non-Patent Literature Citations (179)
Entry
Shiro Sakata, Development and Evaluation of an in-house Multimedia Desktop Conference System, Apr. 1990, IEEE Journal on selected areas in communications, vol. 8.
Shiro Sakata, Development and Evaluation of an in-House Multimedia Desktop Conference System, Apr. 1990, vol. 8.
Shiro Sakata, NPL document, “Development and Evaluation of an in-House Multimedia Desktop Conference System”, IEEE Journal on Selected Areas in communications, vol. 8, Apr. 1990.
Shiro Sakata, Development and Evaluation of an in-house Multimedia Desktop Conference System, IEEE Journal on Selected Areas in Communications, vol. 8, Apr. 1990.
Bellagio, David et al., “Software Configuration Management Strategies and IBM Rational ClearCase A Practical Introduction, Second Edition” In: “Software Configuration Management Strategies and IBM Rational ClearCase A Practical Introduction, Second Edition”, May 23, 2005, IBM Press, XP55009093, ISBN: 978-0-32-120019-8 pp. 173-178.
Chinese Office Action in Application 200880115943.1, mailed Oct. 25, 2011, 13 pgs.
Chinese Office Action in Application 200880119647.9, mailed Nov. 24, 2011, 7 pgs.
European Extended Search Report in EP Application 09739350.8, mailed Nov. 9, 2011, 10 pgs.
US Notice of Allowance for U.S. Appl. No. 12/117,025, mailed Dec. 28, 2011, 11 pgs.
U.S. Appl. No. 12/111,174, Office Action mailed Nov. 21, 2011, 20 pgs.
U.S. Appl. No. 12/276,874, Office Action mailed Oct. 26, 2011, 18 pgs.
U.S. Appl. No. 13/079,605, Office Action mailed Dec. 5, 2011, 31 pgs.
U.S. Appl. No. 11/957,010, Amendment and Response filed Nov. 16, 2011, 12 pgs.
U.S. Appl. No. 12/044,744, Amendment and Response filed Nov. 30, 2011, 12 pgs.
U.S. Appl. No. 12/145,536, Amendment and Response filed Nov. 30, 2011, 20 pgs.
International Search Report and Written Opinion for PCT/US2008/081456 / MS 321449.02 mailed Mar. 31, 2009.
US Office Action (Non-Final) for U.S. Appl. No. 11/938,082, mailed Dec. 28, 2009.
U.S. Appl. No. 12/044,744, Office Action mailed Dec. 30, 2011, 17 pgs.
U.S. Appl. No. 11/957,010, Office Action mailed Jan. 27, 2012, 25 pgs.
U.S. Appl. No. 12/276,874, Amendment and Response filed Jan. 26, 2012, 13 pgs.
Adkins et al.; GSS Collaboration in Document Development: Using Group Writer to Improve the Process, Proceedings of the 32nd Hawaii International Conference on System Sciences, Copyright © 1999 IEEE, 11 pages.
International Search Report and Written Opinion for PCT/US2009/039316, mailed Jan. 18, 2010, 11 pages.
US Non-Final Office Action for U.S. Appl. No. 11/951,973 mailed Jan. 19, 2011.
Ohst et al., Difference Tools for Analysis and Design Documents, IEEE 2003, pp. 1-10.
Lu et al., Merging Retrieval Results in Hierarchical Peer-to-Peer Networks, ACM 2004, pp. 472-473.
Heckel, A Technique for Isolating Differences between Files, ACM 1978, pp. 264-268.
U.S. Appl. No. 12/111,174, Amendment and Response filed Feb. 21, 2012, 9 pgs.
International Search Report and Written Opinion for PCT/US2008/083862 / MS321998.02 mailed Mar. 31, 2009, 11 pages.
Synchronous Collaborative Text Document Editing Online: MoonEdit, reviewed Sep. 13, 2007, pp. 104, http://www.masternewmedia.org/news/2005/02/20/synchronous—collaborative—text—document-editing.htm.
US Office Action (Non-Final) for U.S. Appl. No. 11/957,010, mailed Mar. 18, 2010, 32 pages.
US Non-Final Office Action for U.S. Appl. No. 12/044,744, mailed Mar. 25, 2011.
“File Locks-GNU Emacs Lisp Reference Manual”; www.gnu.org/software/emacs/elisp/html—node/File-Locks.html; Mar. 28, 2006; 2 pages.
Miller et al.; “Interactive Simultaneous Editing of Multiple Text Regions”; www.co-ode.org/resources/papers/k-cap2007-seidenberg.pdf; Jun. 2001; 15 pages.
Seidenberg et al; “A Methodology for Asynchronous MultiUser Editing of Semantic Web Ontologies”; www.xmpp.org/extensions/xep-0058.html; Mar. 28, 2006; 8 pages.
Shchepin; “XEP-0058: Multi-User Text Editing”; http://groups.csail.mit.edu/uid/projects/simuledit/usenix01.pdf; Oct. 9, 2007; 5 pages.
US Final Office Action for U.S. Appl. No. 12/145,536 mailed Apr. 26, 2011.
“Codeville,” http://codeville.org/, 2 pages (Date Retrieved Oct. 9, 2007).
“Google, Google Docs & Spreadsheets Tour” downloaded from http://www.google.com/google-d-s/intl/en/tour2.html on Nov. 9, 2007 (1 page).
“Status of Software Reuse 577,” http://www.plex86.org/Computer—Folklore/Status-of-Software-Reuse-577.html, 2 pages (Date Retrieved Oct. 9, 2007).
Adler et al., “Evaluating and Implementing a Collaborative Office Document System,” 2005, pp. 1-18, http://www.sce.carleton.ca/faculty/adler/publications/2005/adler-nash-noel-2005-Collab-Office.pdf.
Citro et al., “Conflict Management for Real-Time Collaborative Editing in Mobile Replicated Architectures,” School of Computer Science and Information Technology, RMIT University, Melbourne, Victoria, Australia, Australian Computer Society, Inc. © 2007, pp. 1-10, http://www.crpit.com/confpapers/CRPITV62Citro.pdf.
Galli, R., “Journal File Systems in Linux,” http://bulma.net/impresion.phtml?nIdNoticia=1154, 15 pages (Jan. 24, 2002).
Green, Bob, “Converting Qedit to the Client/Server Model”, http://www.robelle.com/library/papers/client-server/, 14 pages (Copyright 2004).
Haake et al., “Collaborative Authoring of Hypermedia Documents,” Machine Translation Today, Translating and the Compute 15, pp. 41-58, Aslib:London 1993, pp. 1-18, http://www.pi6.fernuni-hagen.de/publ/MT-93.pdf.
Hebsgarrd, Poul J; Process Driven Document Management™, Version 6.1, Feb. 2007, pp. 1-13, http://www.brain-technology.com/upload/file—vk306c6tr779p9gntgho—16467.pdf.
Ignat et al., “Extending Real-Time Collaborative Editing Systems with Asynchronous Communication,” Institute for Information Systems, ETH Zurich, (at least as early as Oct. 4, 2007) pp. 1-6, http://www.inf.ethz.ch/personal/ignat/Publications/cscwd—04.pdf.
Koch, Michael, “Design Issues and Model for a Distributed Multi-User Editor” (pp. 1-21), from Computer Supported Cooperative Work, An International Journal, 3(3-4), 19995, pp. 359-378.
La Fontaine, Robin, Monsell EDM Ltd., Merging XMLFiles: a new approach providing intelligent merge of XML data sets, Presented at XML Europe 2002, 21 pages, http://www.deltaxml.com/dxml/93/version/default/part/AttachmentData/data/merging-xml-files.pdf.
Microsoft Corporation, Compare and Merge Mechanisms, © 2007, 1 page, http://msdn2.microsoft.com/en-us/library/ek8hk7e2(VS.80,d=printer).aspx.
Pacull et al., “Duplex: A Distributed Collaborative Editing Environment in Large Scale” Proceedings of the Conference on Computer Supported Cooperative Work, Oct. 22-26, 1994, Chapel Hill, NC, USA. ACM, 1994; pp. 165-173.
Preston et al., “Synchronous Editing via Web Services: Combining Heterogeneous Client and Server Technologies,” Department of Computer Science, Georgia State University, Atlanta, Georgia, CSCW 2006, Nov. 4-8, 2006, Banff, Alberta, Canada, pp. 1-2. http://cims.clayton.edu/jpreston/PhD/Research/Preston%20-%20CSCW%20Demo%20Extended%20Abstract.pdf.
Synchronous Collaborative Text Document Editing Online: MoonEdit, reviewed Sep. 13, 2007, pp. 1-4, http://www.masternewmedia.org/news/2005/02/20/synchronous—collaborative—text—document—editing.htm
Tichy, Walter F., RCS—A System for Version Control, Jan. 3, 1991, 20 pages, http://www.svlug.org/teams/rcs.pdf.
U.S. Appl. No. 11/938,082, filed Nov. 9, 2007, Confirmation No. 3133.
U.S. Appl. No. 11/951,973, filed Dec. 6, 2007, Confirmation No. 9364.
U.S. Appl. No. 11/957,010, filed Dec. 14, 2007, Confirmation No. 8535.
U.S. Appl. No. 12/044,744, filed Mar. 7, 2008, Confirmation No. 7862.
U.S. Appl. No. 12/111,174, filed Apr. 28, 2008, Confirmation No. 6839.
U.S. Appl. No. 12/117,025, filed May 8, 2008, Confirmation No. 8234.
Wilde, Erik, “Multi-User Multimedia Editing with the MultimETH System,” Swiss Federal Institute of Technology, CH 8092, Zurich, (at least as early as Oct. 10, 2007) pp. 1-9, http://dret.net/netdret/docs/wilde-tikrep18.pdf.
US Final Office Action for U.S. Appl. No. 11/938,082 mailed Jun. 29, 2010.
Google, “Share and Collaborate in Real Time,” 2008, 1 page, http://www.google.com/google-d-s/intl/en/tour2.html.
McKechan et al., “Design Considerations for Creditor: A Collaborative Report Writing Editor,” 10 pages, accessed May 16, 2008, http://userpages.umbc.edu/˜jcampbel/Group01/McKechan—paper—iwces3.pdf.
U.S. Appl. No. 12/145,536, filed Jun. 25, 2008, Bailor et al., Confirmation No. 3462, 20 pages.
International Preliminary Report and Written Opinion for PCT/US/2008/083069 / MS 321999.02 mailed Jun. 24, 2010, 6 pages.
International Search Report and Written Opinion for PCT/US2009/037920 mailed Nov. 30, 2009, 11 pages.
International Search Report and Written Opinion for PCT/US2009/045558 mailed Nov. 30, 2009, 11 pages.
Pacull et al., “Duplex: A Distributed Collaborative Editing Environment in Large Scale, ”Proceedings of the Conference on Computer Supported Cooperative Work, Oct. 22-26, 1994, Chapel Hill, NC, USA. ACM, 1994; pp. 165-173.
US Non-Final Office Action for U.S. Appl. No. 11/957,010, mailed Mar. 18, 2010, 24 pgs.
US Non-Final Office Action for U.S. Appl. No. 12/111,174, mailed Jun. 8, 2011, 35 pgs.
US Notice of Allowance for U.S. Appl. No. 11/938,082, mailed Jan. 4, 2011, 18 pgs.
US Notice of Allowance for U.S. Appl. No. 12/117,025, mailed Apr. 14, 2011, 10 pgs.
U.S. Appl. No. 12/117,025, Amendment and Response filed Dec. 21, 2010, 17 pgs.
U.S. Appl. No. 12/117,025, Notice of Allowance mailed Jul. 21, 2011, 10 pgs.
U.S. Appl. No. 12/145,536, Amendment and Response filed Feb. 8, 2011, 18 pgs.
U.S. Appl. No. 12/145,536, Amendment and Response filed Jul. 26, 2011, 19 pgs.
U.S. Appl. No. 12/145,536, Office Action mailed Aug. 1, 2011, 37 pgs.
U.S. Appl. No. 11/938,082, Amendment and Response filed Mar. 25, 2010, 15 pgs.
U.S. Appl. No. 11/938,082, Amendment and Response filed Aug. 4, 2010, 14 pgs.
U.S. Appl. No. 11/951,973, Amendment and Response filed Apr. 13, 2011, 11 pgs.
U.S. Appl. No. 11/957,010, Amendment and Response filed Jun. 2, 2010, 12 pgs.
U.S. Appl. No. 11/957,010, Amendment and Response filed Nov. 17, 2010, 11 pgs.
U.S. Appl. No. 12/044,744, Amendment and Response filed Oct. 26, 2010, 11 pgs.
U.S. Appl. No. 12/044,744, Amendment and Response filed Dec. 2, 2011, 11 pgs.
U.S. Appl. No. 12/044,744, Amendment and Response filed Jun. 24, 2011, 11 pgs.
US Final Office Action for U.S. Appl. No. 11/957,010 mailed Aug. 18, 2010.
US Non-Final Office Action for U.S. Appl. No. 12/117,025 mailed Sep. 21, 2010.
Appleton, Brad, “ClearView: Associating Attributes and Notes With a View”, ClearCase International User's Group Conference, Sep. 1996, 16 pgs.
Byfield, Bruce, “Ooo Off the Wall: That's Your Version—Document Control in Ooo Writer”, published on Linux Journal, Mar. 7, 2006, 6 pgs.
Immedius, Inc., “S1000Dmanager v 3.0”, Comprehensive S1000D Project Setup and Management Support, found online on Aug. 22, 2008 at: http://www.immediuss1000d.com/c—manager/S1Dmanager—overview.html, 6 pgs.
International Search Report for PCT/US2009/062364 dated May 31, 2010, 11 pgs.
Samiei et al., “EzMail: Using Information Vizualization Techniques to Help Manage Email”, Proceedings of the 8th National Conference on Information Vizualization, 2004, 6 pgs.
U.S. Appl. No. 11/951,973, Notice of Allowance mailed Jun. 21, 2011, 9 pgs.
U.S. Appl. No. 11/957,010, Office Action mailed Aug. 17, 2011, 26 pgs.
U.S. Appl. No. 12/044,744, Final Office Action mailed Aug. 30, 2011, 17 pgs.
U.S. Appl. No. 12/111,174, Amendment and Response mailed Sep. 8, 2011, 11 pgs.
U.S. Appl. No. 12/117,025, Notice of Allowance mailed Sep. 15, 2011, 9 pgs.
U.S. Appl. No. 12/276,874, Amendment and Response filed Jun. 22, 2011, 17 pgs.
U.S. Appl. No. 12/276,874, Final Office Action mailed Aug. 3, 2011, 15 pgs.
U.S. Appl. No. 12/276,874, Office Action mailed Feb. 22, 2011, 15 pgs.
Venolia, Gina et al., “Understanding Sequence and Reply Relationships Within Email Conversations: A Mixed-Model Vizualization”, Apr. 2003, Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Ft. Lauderdale, FL, USA, Apr. 5-10, 2003, 8 pgs.
Williams, Tim, “Version Control on the Cheap: A User-Friendly, Cost-Effective Revision Control System for SAS”, 10 pgs., no date.
ZEND Corporation, the PHP Company, “Team Development With Zend Studio for Eclipse”, White Paper, Jan. 2008, 17 pgs.
US Non-Final Office Action for U.S. Appl. No. 12/145,536 mailed Nov. 8, 2010.
Chinese 1st Office Action in Application 200880121295.0, mailed Jan. 18, 2012, 6 pgs.
Taiwan Intellectual Property Office Official Letter dated Feb. 14, 2012; cited in Taiwan Patent Application No. 97142418; 13 pages.
European Extended Search Report cited in Application No. 09767155.6; dated Mar. 26, 2012; 10 pages.
Dekeyers, Stijin and Hidders, Jan, “Path Locks for XML Document Collaboration,” University of Antwerp; Dec. 12, 2002; pp. 105-114.
Ellis et al., “Groupware—Some Issues and Experiences,” vol. 34, No. 1, Jan. 1, 1991; pp. 38-58.
Shepler et al., “Network File 1-15 System (NFS),” Version 4, Apr. 1, 2003; retrieved from http://rsync.tools.ietf.org/html/rfc3530 on Mar. 7, 2012; 275 pages.
Tanebaum, Andrew S., “Moderne Betriebssysteme”, 2003 Pearson; pp. 786-787.
Chinese Patent Office Notice on First Office Action cited in Application No. 200980115758.7; dated Mar. 28, 2012 (in Chinese with English translation); 10 pages.
“Perforce software Delivers Improved Performance to its Fast Software Configuration Management System,” Perforce Software, Jul. 9, 2007, 2 pages.
“Technical Overview,” Apache CouchDB, The Apache Software Foundation, © 2008, 7 pages.
Badouel, Eric et al., “Merging Hierarchically-Structured Documents in Workflow Systems”, Electronic Notes in Theoretical Computer Science 203, (2008), 3-24.
Chinese 2nd Office Action in Application 200880115943.1, mailed Jun. 1, 2012, 7 pgs.
Feise, Joachim; “A Survey of Distributed Hypermedia Systems,” ISR Institute for Software Research, University of California, Irvine, Apr. 2005, 39 pages.
Mendoza et al., “A Flexible Distribution Service for a Co-authoring Environment on the Web,” IEEE Computer Society, Proceedings of Sixth Mexican International Conference on Computer Science (ENC '05) © 2005, 8 pages.
PCT International Search Report and Written Opinion in Application PCT/US2010/032309, mailed Dec. 1, 2010, 9 pgs.
Russian Notice of Allowance in Application 2010123793, mailed Apr. 13, 2012, 7 pgs.
U.S. Appl. No. 12/044,744, Notice of Allowance mailed May 7, 2012, 12 pgs.
U.S. Appl. No. 12/111,174, Notice of Allowance mailed Apr. 12, 2012, 11 pgs.
U.S. Appl. No. 12/145,536, Office Action mailed Mar. 12, 2012, 52 pgs.
U.S. Appl. No. 12/276,874, Office Action mailed Apr. 26, 2012, 20 pgs.
U.S. Appl. No. 12/432,817, Amendment and Response filed Dec. 12, 2011, 15 pgs.
U.S. Appl. No. 12/432,817, Amendment and Response filed Apr. 25, 2012, 11 pgs.
U.S. Appl. No. 12/432,817, Notice of Allowance mailed May 2, 2012, 6 pgs.
U.S. Appl. No. 12/432,817, Office Action mailed Jan. 25, 2012, 27 pgs.
U.S. Appl. No. 12/432,817, Office Action mailed Sep. 12, 2011, 25 pgs.
U.S. Appl. No. 13/079,605, Amendment and Response filed Feb. 28, 2012, 12 pgs.
U.S. Appl. No. 13/079,605, Notice of Allowance mailed Apr. 20, 2012, 9 pgs.
U.S. Appl. No. 12/044,744, Amendment and Response filed Mar. 30, 2012, 11 pgs.
US Final Office Action for U.S. Appl. No. 12/044,744 mailed Nov. 22, 2010.
Amendment and Response to Final Office Action cited in U.S. Appl. No. 11/957,010, filed Apr. 9, 2012; 12 pages.
Australian Office Action in Application 2008324973, mailed Jul. 4, 2012, 3 pgs.
Grover, Chris, “Word 2007: The Missing Manual”, Pogue Press, Copyright 2007, pp. 380-388.
Murray, Katherine et al., “Compare and Combine Documents in Word 2007”, Microsoft Office Word 2007 Inside Out, obtained online on Jul. 11, 2012 at: http://office.microsoft.com/en-us/word-help/compare-and-combine-documents-in-word-2007-HA010234132.aspx, 2012 Microsoft Corporation, 5 pgs.
Tyson, Herb, “Microsoft Word 2007 Bible”, Wiley Publishing Company, Inc. 2007, Indianapolis, IN, USA, pp. 807-808.
U.S. Appl. No. 12/044,744, Notice of Allowance mailed Jun. 21, 2012, 8 pgs.
U.S. Appl. No. 13/079,605, Notice of Allowance mailed Jun. 28, 2012, 9 pgs.
“How to Track and Manage Changes in a Word 2002 and a Word 2003 Document,” Microsoft Corporation, Mar. 8, 2007, 4 pages.
“Track Changes in Word 2007 Tutorial,” Florida Gulf Coast University, copyright 2007, 2 pages.
Jalbert, Peter, “Real Time Collaboration with Google Docs and Spreadsheets,” Jan. 23, 2008, 5 pages.
Willden, Andrew, “Track Changes in Word 2007,” Fall 2007, 2 pages.
U.S. Appl. No. 12/111,174, Notice of Allowance mailed Aug. 29, 2012, 11 pgs.
U.S. Appl. No. 12/145,536, Amendment and Response filed Sep. 11, 2012, 22 pgs.
Chinese 1st Office Action in Application 201080019470.2, mailed Aug. 31, 2012, 7 pgs.
Australian Notice of Acceptance in Application 2008324973, mailed Aug. 22, 2012. 3 pgs.
Chinese 3rd Office Action in Application 200880115943.1, mailed Aug. 30, 2012, 6 pgs.
Taiwanese Notice of Allowance in Application 97142418, mailed Aug. 16, 2012, 4 pgs.
Australian Office Action in Application 2008335565, mailed Aug. 30, 201, 3 pgs.
Chinese 2nd Office Action in Application 200880119647.9, mailed Aug. 13, 2012, 6 pgs.
Australian Notice of Allowance in Application 2008335565, mailed Sep. 18, 2012, 3 pgs.
Chinese 1st Office Action in Application 200980116872.1, mailed Oct. 9, 2012, 14 pgs.
Chinese 1st Office Action in Application 200980124935.8, mailed Oct. 30, 2012, 10 pgs.
Chinese 2nd Office Action in Application 200880121295.0, mailed Oct. 23, 2012, 10 pgs.
European Examination Report in Application 09739350.8, mailed Sep. 25, 2012, 7 pgs.
Tanenbaum, Andrew S., “Modern Operating Systems”, 2nd Edition, Prentice Hall, New Jersey, 2001, pp. 735-737.
U.S. Appl. No. 13/079,605, Notice of Allowance mailed Oct. 22, 2012, 9 pgs.
U.S. Appl. No. 13/539,473, Office Action mailed Oct. 11, 2012, 23 pgs.
U.S. Appl. No. 12/117,025, Office Action mailed Oct. 31, 2012, 11 pgs.
U.S. Appl. No. 12/111,174, Notice of Allowance mailed Nov. 19, 2012, 2 pgs.
U.S. Appl. No. 12/432,817, Notice of Allowance mailed Aug. 6, 2012, 5 pgs.
U.S. Appl. No. 12/276,874, Office Action mailed Sep. 27, 2012, 22 pgs.
U.S. Appl. No. 13/079,605, Notice of Allowance mailed Nov. 19, 2012, 2 pgs.
U.S. Appl. No. 13/495,659, Office Action mailed Nov. 21, 2012, 7 pgs.
U.S. Appl. No. 13/079,605, Notice of Allowance mailed Dec. 5, 2012, 2 pgs.
U.S. Appl. No. 12/111,174, Notice of Allowance mailed Dec. 4, 2012, 2 pgs.
U.S. Appl. No. 12/145,536, Notice of Allowance mailed Nov. 23, 2012, 18 pgs.
Russian Notice of Allowance in Application 2010122968, mailed Nov. 6, 2012, 27 pgs.
Australian Office Action in Application 2008338826, mailed Oct. 24, 2012, 3 pgs.
Chinese 2nd Office Action in Application 200980115758.7, mailed Dec. 5, 2012, 7 pgs.
Chinese 1st Office Action in Application 200980147769.3, mailed Nov. 29, 2012, 12 pgs.
U.S. Appl. No. 13/539,473, Amendment and Response filed Jan. 11, 2013, 15 pgs.
U.S. Appl. No. 12/276,874, Amendment and Response filed Dec. 27, 2012, 14 pgs.
U.S. Appl. No. 12/117,025, Amendment and Response filed Jan. 30, 2013, 13 pgs.
Australian Notice of Allowance in Application 2008338826, mailed Dec. 5, 2012, 2 pgs.
Japanese Notice of Rejection mailed Dec. 28, 2012, in Application No. 2010-533160 (8 pages).
Chinese Notice on the Second Office Action mailed Mar. 1, 2013, in Application No. 201080019470.2 (6 pages).
Related Publications (1)
Number Date Country
20090282462 A1 Nov 2009 US