Structured coauthoring

Information

  • Patent Grant
  • 8417666
  • Patent Number
    8,417,666
  • Date Filed
    Wednesday, June 25, 2008
    16 years ago
  • Date Issued
    Tuesday, April 9, 2013
    11 years ago
Abstract
A system is presented for structured coauthoring of a document, the system comprising a server. The server includes one or more documents organized into sections, a document permissions module that stores user access permissions for each section of a document, a document update processing module that processes requests from a user to share document updates with other users and that processes requests from a user to receive document updates from other users and a document rendering module that renders a document for display on a client so that sections of the document are updated with shared document updates made by users. The user access permissions determine the extent to which a user can modify each section of the document.
Description
BACKGROUND

In multi-user environments, it may be desirable for multiple users be able to edit the same document at the same time. Often, when multiple users are editing the document, confusion can exist as to how the various edits are added to the document. For example, sometimes multiple versions of the document are edited, making it difficult to merge the edits into a single, complete document.


Even in systems that support multi-user editing of a document, users typically cannot control when the users' edits are shown to others editing the document. Further, it can be difficult to define which user is working on which particular part of the document, thereby resulting in possible conflicts in the changes made to the document.


SUMMARY

The present disclosure relates to systems and methods for structured coauthoring of a document.


According to one aspect, a system for structured coauthoring of a document comprises a server including one or more documents, each document being organized into sections, a document permissions module that stores user access permissions for each section of a document, a document update processing module that processes requests from a user to share document updates with other users and that processes requests from a user to receive document updates from other users and a document rendering module that renders a document for display on a client, the document being rendered so that sections of the document are updated with shared document updates made by users, the shared document updates being requested by the user on the client. The user access permissions determine the extent to which a user can modify each section of the document, permitting different user access permissions to be stored for one or more sections of the document. The system permits two or more users to coauthor one or more of the sections of the document so that each user has specific access rights to one or more of the sections of the document, so that the user can specify whether updates made by the user to the one or more sections of the document can be displayed to other users, and so that the user can view the names of other users accessing the one or more sections of the document and can selectively obtain updates to the document from those users.


According to another aspect, a method for structured coauthoring of a document comprises: opening a document on a client by a user, the document organized into sections, each section representing a part of the document, the document displaying user access permissions for one or more sections of the document and the document displaying the names of users who are editing one or more of the sections of the document; performing operations on one or more sections of the document, the operations being consistent with the user access permissions granted for the one or more sections of the document; identifying updates to the document that can be shared with other users so that the updates to the document are shared with other users; and identifying one or more users from which document updates to one or more of the sections of the document are to be obtained, the one or more users selected from the names displayed on the document, so that the document updates are obtained from the document server and displayed in the appropriate sections of the document.


According to yet another aspect, a method for coordinating the structured coauthoring of a document at a document server comprises: dividing a document into a plurality of sections, each of the sections including a paragraph of the document; storing user access permissions to each of the sections of the document for a plurality of users of the document, the user access permissions defining an extent to which each of the plurality of users can view, edit and comment on the sections of the document; storing the names of users who are accessing each of the sections of the document; rendering an instance of the document to the users of the document, the rendered document including access controls that indicate user access permissions for each of the sections of the document, the rendered document including the names of the users who are editing each of the sections of the document, the rendered document including action controls providing actions including requesting updates to the sections from the users and designating that updates a user made to the sections are made available to users; storing updates to the document made by the users of the document; receiving a request from a first user to share updates to the document made by the first user with other users; in response to the request from the first user, enabling the document updates made by the first user to be shared with other users; receiving a request from a second user to receive updates to the sections of the document made by other users; and in response to the request from the second user, rendering an instance of the document for the second user that includes the shared updates to the sections requested by the second user, the shared updates being rendered in new document sections located directly above the requested document sections.


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.



FIG. 1 shows an example system for coauthoring documents.



FIG. 2 shows a structure of an example document used for coauthoring.



FIG. 3 shows a portion of an example document for coauthoring.



FIG. 4 shows an example of displaying document updates from another user for a portion of the example document shown in FIG. 3.



FIG. 5 shows example modules of an example document server.



FIG. 6 shows a flowchart for an example method for coauthoring a document.



FIG. 7 shows a flowchart for an example method for coordinating the coauthoring of documents at a document server.





DETAILED DESCRIPTION

The present application is directed to systems and methods for structured coauthoring of a document.


In examples described herein, a document is organized into sections, and users are assigned specific access permissions to one or more sections of the document. The access permissions define the extent to which a user can view, edit, or comment on a section of the document. Structured coauthoring also permits users to share document updates. A user can make changes to the document and decide which, if any, of these changes are shared with other users. In addition, a user can request to see shared updates to the document made by one or more other users.



FIG. 1 shows an example system 100 that supports structured coauthoring of documents. The system 100 includes clients 101, 102 and one or more document servers 104. More or fewer clients and document servers can be used.


In example embodiments, the clients 101, 102 are computing devices, such as desktop computers, laptop computers, personal data assistants, or cellular devices. The clients 101, 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. Other types of input/output devices can also be used.


Computer readable media, such as the data storage device, provides for data retention. By way of example, computer readable media can include computer storage media and communication media. Computer storage media includes physical 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. For example, the clients 101, 102 include one or more software applications, such as word processing programs, that are used to create and edit document files. One example of such an application is Microsoft Word from Microsoft Corporation of Redmond, Wash. Other examples of such applications are also applicable.


The network device enables the clients 101, 102 to send and receive data to/from the server 104 through a network such as a LAN or the Internet. Other configurations for the clients 101, 102 are possible.


The document server 104 is a file server that is accessible through a network. The document server 104 stores a plurality of files. These files can include both software applications and documents, as described further herein. The document server 104 controls access to the documents stored by the server 104.


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. An example shared document server is Microsoft Office SharePoint Server 2007 provided by Microsoft Corporation. Other configurations can be used.



FIG. 2 shows an example document 200 that is rendered by a word processing application 201 on example client 101.


In the example shown, the document 200 is organized into a plurality of sections, designated as sections 202 through 212, respectively. A section corresponds to an editable piece of a document. Typically, a section can be any subpart of a document, for example paragraphs, headings, drawings, tables, etc. A document may contain only one section, for example a table or a single paragraph or sentence.


Alongside each section of the example document 200 are example user controls 222-232 that display the names of users who are currently coauthoring the section. The example document 200 also includes example access controls 242-252 that display the access permissions of each user for the document section and example action controls 282-292 that permit the user to take one or more specific actions for the document section. The specific actions may include assigning the document section to another user, marking the document section reviewed, marking the document section completed, etc. In addition, the example document 200 also includes example dynamic controls 262-272 that define rules for dynamically changing the access permissions for a section of the document. Other functionality for the controls is possible. The controls may include text boxes, list boxes, pull-down list boxes, icons or any other user interface control types that may be appropriate.


In the example shown, the user controls 222-232 list the names of the user or users who are currently editing the note section 202-212 of the documents. For example, if user A and user B are currently editing section 202 of the document, the names of user A and user B are listed in the user control 222 so that everyone that has the document 200 open can see that user A and user B are currently editing the section 202. A user is considered to be editing a document section when the user makes changes to the document section, for example by typing in the document section.


The access permissions of the access controls 242-252 indicate the extent to which a user may edit a section of the document 200. Example user access permissions include full control, read/write, review only, comment only, read only and no access. Other user access permissions may be possible.


In example embodiments, the names of all users with any level of access permission to the document section are displayed via user controls 222-232. In example embodiments, the names of users with read only access may not be displayed, for example if the list of such users is long.


When a user is assigned full control, the user has full read/write access to the section of the document and, in addition, the user can use any aspect of the user interface. For example, with full control, the user can change the formatting of the document. When a user has read/write control, the user has read-write permission to a section of the document, but cannot make formatting changes. With review only permission, a user can make changes to the document that are tracked via a technology like Track Changes in Microsoft Word. With comment only permission, the user can insert comments to a section of the document but cannot alter the text within the section of the document. With read only permission, the user can view the section of the document but cannot make any changes to it and cannot insert any comments.


With no access permission, certain sections of a document may not be viewable to users. For example, there may be confidential information in a document that one or more users are not permitted to view. Therefore, when presented to a user, one or more sections of a document may be redacted to prevent a user from viewing it. This is illustrated by shaded sections 206 and 208 in FIG. 2, which have been defined as no access for some of the users. In some embodiments, confidential sections may not be displayed at all to a user that is not permitted to view them. In example embodiments, sections of a document may be redacted if a user is not permitted to edit them. For example, in a document that includes both engineering and financial sections, the financial sections may be redacted when an engineer is viewing the document and the engineering sections may be redacted when a financial person is viewing the document.


In example embodiments, user access permissions and rules may be assigned and edited by an owner of the document (i.e. the person or persons having ownership permission for the document). This may be done on a section by section basis or globally for the entire document. The user access permissions and rules are stored on a document server.


The user access permissions described can also be enforced without network connectivity. Assigned user permissions to sections of a document can be cached in the client's software application or stored within the document. In this way, the access permissions can be used if the client is disconnected from the network or working on the document from a different computer.


The action controls 282-292 permit the user to take a specific action regarding the document section. For example, the user may wish to obtain updates to the document section from one or more other users that may be editing the document section or the user may wish to share updates that the user made to the document section with one or more other users. Other example actions that the user may make include sending an email to a user or instant messaging a user to find out status. Other actions are possible.


The dynamic controls 262-272 are used to define rules that permit the access permissions for a section of the document to dynamically change when a user completes a task. For example, one or more users may be designated reviewers, but a user may not want the document to be reviewed until it is completed. In an example embodiment, when a user marks a section of a document as complete, the access permission for a reviewer dynamically changes from read/only to review only.


When a user opens and begins editing the document 200, the user can view the corresponding example coauthoring control 222-232 to determine who else is currently editing the various sections of the document. Typically, the user may know one or more other users and may want to see any changes that the other users have made before the user makes any additional changes. The user can indicate via example action controls 282-292 that the user wants to view the changes of one or more other users, and if those users have designated that their changes can be shared, the changes made by the one or more other users will be displayed on the document shown to the user.


In example embodiments, the user also has the flexibility to decide when to share edits with other users. When editing a document, the user may not want to share changes until those changes are in a state with which the user feels comfortable. In one example embodiment as discussed above, the user selects an example action control 282-292 to specify a user with which changes can be shared. In another example embodiment, when the user wishes to share changes with other users, the first user highlights the section of the document to be shared and clicks example Share button 205 on the user interface. This notifies the document server 104 that changes to the document section document are to be shared. In example embodiments, clicking the example Share button 205 may bring up a list of users with which the document section changes may be shared. Other implementations are possible.


In addition to example Share button 205, the example user interface also includes an example Save button 203 and an example Assign button 207. The example Save button 203 operates as a standard save button, allowing the user to save changes into client or server memory. However, the save operation does not result in sharing updates with others. The example Assign button 207 permits the owner of the document to assign access permissions to other users.



FIG. 3 shows an example embodiment of a document 300 for structured coauthoring of an example document section 306. To the left of the example document section 306 are example user controls 312, 318 displaying the names of two users currently coauthoring the document section. In this example, the two users are Heidi Craig and Tom Anderson. Associated with the users are example access controls 314, 320 and example action controls 308, 316. For user Heidi Craig, the example access control 314 is shaded to indicate full access. For user Tom Anderson, the example access control 320 has a different shading to indicate write access. In other embodiments color, shape of icon, text, etc. may be used to indicate access status.


The example action controls 308, 316 permit the user to select one or more actions to be taken regarding the document section. In an example embodiment, when the user moves a mouse over an action control (for example the action control 308 for Heidi Craig), a list of available actions 307 is presented. In this example embodiment, if the user selects the example action 309 for obtaining updates, the user will obtain updates to the document section from Heidi Craig that Heidi has designated for sharing. If the user selects the example action 311 to share updates, the changes the user made to the document section will be shared with Heidi Craig. If the user selects example action 313, the user can send an email to Heidi Craig. Moving the mouse over the example action control 316 for user Tom Anderson provides the same set of action options for Tom Anderson.


In another embodiment, the action control 308, 316 is a pull-down list box that provides a list of choices for the user. Other embodiments for action controls are possible.


Also shown in FIG. 3 is an example dynamic control 322. The example dynamic control 322 allows the user to dynamically change access permissions to the document section and to specify conditional access permissions. In this example, the dynamic control 322 is a pull-down list box. When expanded, the example dynamic control displays an example list of users 324 that have access permissions for the example document section 306. When one of the example users 324 is selected, the access permission for that user is shown. For example, if example user Sara White 326 is selected, the dynamic control 322 is further expanded to shown example access permission list 328. In example access permission list 328, example access permission 330 (No Access) is shaded, indicating that Sara White currently has no access to this document section. For this example, if access permission 330 is clicked, the dynamic control 322 is further expanded to provide a means to dynamically change access permissions. A list of Until options 332 is displayed, providing the option of maintaining the current access permission until a specific action occurs. For example, the user may select the Section Shared option 334 to specify that the current No Access permission for Sara White is to be maintained until the document section is designated for sharing by the user. When the example Section Shared option 334 is clicked, the dynamic control 332 is further expanded to provide an example list of Then options 336, indicating access permissions that can be set once the Section Shared action occurs. In the example, the Comment Only option 338 is selected, indicating that the access permission for user Sara White will dynamically change from No Access to Comment Only when the document section is designated for sharing.


Referring now to FIG. 4, in an example embodiment, changes may be displayed above the document section so the user may see them before making any additional edits, as shown in the example document 300. In the example document 300, the user, via action control 316, makes a request to receive updates to document section 306 from Tom Anderson. The updates 406 are displayed above document section 306. The user may observe that Tom Anderson changed the last sentence in document section 306 and may make additional changes to the document section as a result.


Other example embodiments for the selection and display of coauthoring changes are possible. For example, the coauthoring changes may be displayed adjacent to the current section, below the current section or simply incorporated into the current section. In example embodiments, deletions and additions may be shown by strikethroughs and underlining.


In example embodiments, the user can select the one or more other users for which changes are to be displayed. The user may also globally select changes from all other users. In example embodiments, the changes can be received on a per section basis or for the entire document.



FIG. 5 shows the example document server 104 in more detail. The example document server 104 includes one or more documents 502, a document permissions module 504, a document update processing module 506, and a document rendering module 508. An example document 502 is rendered to a user when a request is received from an application program on a client to open the document.


The example document permissions module 504 stores the access permissions for each section of each document for each user. In some embodiments, the access permissions are stored within each document. In other embodiments, the access permissions are stored separately from each document (for example on a server or in a database) and are linked to the document. As noted above, different user access permissions can include full control, read/write, review only, comment only, read only and no access. Other user access permissions are possible.


The example document permissions module 504 also enforces access permissions without network connectivity. The document permissions module 504 achieves this enforcement by caching the access permissions on the client. The access permissions are cached for the user and for all other users who have accessed the document. The document permissions module 504 updates the client cache dynamically when the access permissions change. When the user goes offline, the client cache is checked to determine the extent to which the user can edit sections of the document.


The example document update processing module 506 keeps track of all changes saved to a document by users. The document update processing module 506 also keeps track of which of these changes are designated by a user to be shared with other users. Typically, a user saves changes made to a document by clicking a button on the user interface representing saving. However, these saved changes are not made available to other users until a user designates the changes to be shared. In example embodiments, a user can make such a designation by highlighting one or more sections of a document and clicking a button on the user interface representing sharing. In other example embodiments, the user may designate that a document section is to be shared via an action control button adjacent to the document section. The user may also designate that the entire document is to be shared. The use of buttons representing saving and sharing are examples only. Other implementations are possible.


The example document update processing module 506 also processes requests from a user to obtain changes made to the document from other users. The user requests may be made for each document section via an action control or they may be made for the entire document. The example document update processing module 506 determines which sections of the document can be updated and provides the updated changes to the example document rendering module 508. The user requests are manually generated so that the user can be in control of when the document is updated. This prevents the situation where a document section is updated while a user is editing it, possibly overriding changes the user made.


The example document rendering module 508 renders the document for display to a user on a client. The document rendering module may use standard user interface controls such as text boxes, list boxes and pull-down list boxes to display user access permissions for each section of the document and to display the names of users accessing sections of the document. In alternate embodiments custom designed controls may be used. User interface controls may also be used to define rules for each section of the document that are used to dynamically change access permissions depending on the user operation being performed.


The example document rendering module 508 also incorporates any shared updates from users into the document. These are updates made by users that were saved at the document server 104 and designated to be shared with other users. The updates may include edited changes to sections of the document, tracked review changes or comments. The example document rendering module 508 typically renders text edits above the section of the document in which the edits were made so that the current user can easily see them. Comments are typically rendered adjacent to sections of the document. However, in example embodiments, the updates may be positioned differently.



FIG. 6 shows an example flowchart for a method 600 for coauthoring a document. At operation 602, a user opens a document on a client. The document, obtained from a document server, is organized into sections. Access permissions for the user are displayed on one or more sections of the document. In addition, the names of other users are displayed on the document, typically adjacent to the sections of the document they are accessing.


At operation 604, the user performs operations consistent with the access permissions for a section. For example, if the user has full control for a section, the user can make full edits to a section of a document, including changing formatting for the section. By contrast, if a the user has comment only access, the user can only insert comments for a section of the document but can not edit any text in the section.


When the user has completed the operation appropriate to the access permission for a section, the user may wish to share the changes made to one or more sections of the document with other users. At operation 606, the user identifies the updates to the document that can be shared. For example, the user may highlight the sections that can be shared. In another example, the user can choose to share all updates.


At operation 608, the user notifies the document server that the identified updates are available for sharing. This can be done, for example, by clicking a button on the user interface representing sharing. As another example, the user may click a button indicating that all changes made to the document are to be shared. Other ways to designate sections to be shared and to notify the document server are possible.


As the user is editing the document, the names of other users who are also editing the document are displayed for each section of the document. If the user wishes to view the edits from one or more other users, the user identifies the one or more other users at operation 610. For example, the user may highlight the name of another user or double click on the name of another user. Other implementation methods are possible.


At operation 612, the updates from the identified other users are obtained and displayed on the document. The updates are typically displayed above the section the user is editing along with the name of the other user. Other implementations are possible.



FIG. 7 shows an example flowchart for a method 700 for coordinating the coauthoring of a document at a document server. At operation 702, the user access permissions for each section of a document that are stored in the document server. At operation 704, the names of users currently coauthoring the document are stored at the document server.


At operation 706, the contents of the document, the user access permissions for each section of the document and the names of users coauthoring sections of the document are used to render the document for display to a user on a client. The user access permissions and the names of users coauthoring sections of the document are typically displayed using standard user interface controls such as text boxes, list boxes or pull-down list boxes. Other implementations are possible.


As users make changes to the document, those changes are stored in the document server at operation 708. However, the changes are not available for sharing until designated as such by a user who made the changes.


When a user determines that changes to the document are available for sharing, at operation 710 the document server receives a notification from the client that identifies the updates to be shared and to make those updates available to other users who may request them.


At operation 712, the document server receives a request from a user for updates to the document made by one or more other users. The document is then rendered at operation 714 to incorporate the shared changes requested.


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 method executable on a computer system for co-authoring a document by a plurality of users, the computer system having at least one data storage device communicatively coupled to at least one processing unit, the method comprising: accessing the document, wherein the document is organized into a plurality of sections;receiving first user access permissions associated with a first section of the plurality of sections of the document, wherein the first user access permissions define an extent to which a first user of the plurality of users can access a first section of the plurality of sections of the document;receiving second user access permissions associated with the first section of the document, wherein the second user access permissions define an extent to which a second user of the plurality of users can access the first section of the document;displaying a dynamic control adjacent to each section of the document, wherein the dynamic control for a given section is selectable for setting one or more customized rules for dynamically changing one or more user access permissions associated with the given section of the document;in response to a selection of the dynamic control adjacent to the first section, setting customized rules for dynamically changing the second user access permissions for the first section upon satisfaction of a condition;receiving first updates to the first section of the document, wherein the first updates are made to the first section according to the first user access permissions;receiving a request from the first user to share the first updates with the second user, wherein the second user is specifically selected from the plurality of users;receiving second updates to the first section of the document, wherein the second updates are made to the first section according to the second user access permissions;receiving a request from the second user to share the second updates with a third user, wherein the third user is specifically selected from the plurality of users;displaying a first user control indicating that the first user is accessing the first section of the document;displaying a second user control indicating that the second user is accessing the first section of the document;determining that the condition has been satisfied; andin response to the determination, dynamically changing the second user access permissions for the first section in accordance with the one or more customized rules.
  • 2. The method according to claim 1, wherein the first user access permissions and the second user access permissions include a level of access selected from the group consisting of: full control, read/write, review only, comment only, read only, and no access.
  • 3. The method according to claim 1, further comprising: receiving a request from the first user to receive the second updates; andonly displaying the second updates when a request to share the second updates with the first user was received.
  • 4. The method according to claim 1, further comprising: receiving changes to the first user access permissions associated with the first section of the document, wherein the changed first user access permissions define a different extent to which the first user can access the first section of the document.
  • 5. The method according to claim 1, wherein after the first updates are received to the first section of the document, the first updates are not available to the second user until the first user sends a request to share the first updates with the second user.
  • 6. The method according to claim 1, further comprising: receiving a request from the second user to receive the first updates;determining that the request to share the first updates with the second user was received; anddisplaying the first updates.
  • 7. The method according to claim 1, wherein the first user access control dynamically changes from an access level of “no access” to an access level of “review only” after the second user performs an action that satisfies a second condition, wherein the action comprises marking a section of the document as complete.
  • 8. A computer system for co-authoring a document by a plurality of users comprising: at least one processing unit; andat least one data storage device, communicatively coupled to the at least one processing unit and containing computer-readable instructions that are executed by the at least one processing unit to perform the following steps: displaying the document, wherein the document is organized into a plurality of sections;receiving first user access permissions, wherein the first user access permissions define an extent to which a first user of the plurality of users can access a first section of the plurality of sections of the document;displaying a first access control adjacent to a first user control, wherein the first access control identifies the first user access permissions;receiving second user access permissions, wherein the second user access permissions define an extent to which a second user of the plurality of users can access a first section of the plurality of sections of the document;displaying a second access control adjacent to a second user control, wherein the second access control identifies the second user access permissions, wherein the first user access permissions and the first access control are different from the second user access permissions and the second access control;displaying a dynamic control adjacent to each section of the document, wherein the dynamic control for a given section is selectable for setting one or more customized rules for dynamically changing one or more user access permissions associated with the given section of the document;in response to a selection of the dynamic control adjacent to the first section, setting customized rules for dynamically changing the second user access permissions for the first section upon satisfaction of a condition;receiving first updates to the first section of the document, wherein the first updates are made to the first section according to the first user access permissions;receiving a request from the first user to share the first updates with the second user, wherein the second user is specifically selected from the plurality of users;receiving second updates to the first section of the document, wherein the second updates are made to the first section according to the second user access permissions;receiving a request from the second user to share the second updates with a third user, wherein the third user is specifically selected from the plurality of users;displaying the first user control indicating that the first user is accessing the first section of the document;displaying the second user control indicating that the second user is accessing the first section of the document;determining that the condition has been satisfied; and
  • 9. The computer system according to claim 8, wherein the first user access permissions and the second user access permissions include a level of access selected from the group consisting of: full control, read/write, review only, comment only, read only, and no access.
  • 10. The computer system according to claim 8, wherein the first user access permissions include a level of access that dynamically changes to another level of access when a condition is satisfied.
  • 11. The computer system according to claim 10, wherein the condition is completion of a task.
  • 12. The computer system according to claim 8, wherein the first user control is the name of the first user and the second user control is the name of the second user.
  • 13. The computer system according to claim 8, wherein the first access control and the second access control are represented as icons, and wherein different access permissions are represented by one of: different colored icons, different shaded icons, and different shaped icons.
  • 14. The computer system according to claim 8, further comprising: receiving a request from the second user to receive the first updates;determining that the request to share the first updates with the second user was received; anddisplaying the first updates.
  • 15. A computer storage medium, not consisting of a modulated data signal, and encoding computer executable instructions that when executed by a processing unit perform a method for co-authoring a document by a plurality of users, the method comprising: accessing the document, wherein the document is organized into a plurality of sections;receiving first user access permissions associated with a first section of the plurality of sections of the document, wherein the first user access permissions define an extent to which a first user of the plurality of users can access the first section of the document;receiving second user access permissions associated with the first section of the document, wherein the second user access permissions define an extent to which a second user of the plurality of users can access the first section of the document, and wherein the second user access permissions are different from the first user access permissions;displaying a dynamic control adjacent to each section of the document, wherein the dynamic control for a given section is selectable for setting one or more customized rules for dynamically changing one or more user access permissions associated with the given section of the document;in response to a selection of the dynamic control adjacent to the first section, setting customized rules for dynamically changing the second user access permissions for the first section upon satisfaction of a condition;receiving first updates to the first section of the document, wherein the first updates are made to the first section according to the first user access permissions;receiving a request from the first user to share the first updates with the second user, wherein the second user is specifically selected from the plurality of users;receiving second updates to the first section of the document, wherein the second updates are made to the first section according to the second user access permissions;receiving a request from the second user to share the second updates with the third user, wherein the third user is specifically selected from the plurality of users;displaying a first user control indicating that the first user is accessing the first section of the document;displaying a first user access control indicating the first user access permissions adjacent to the first user control;displaying a second user control indicating that the second user is accessing the first section of the document; displaying a second user access control indicating the second user access permissions adjacent to the second user control;determining that the condition is satisfied; and
  • 16. The computer storage medium according to claim 15, wherein the first user access permissions and the second user access permissions include a level of access selected from the group consisting of: full control, read/write, review only, comment only, read only, and no access.
  • 17. The computer storage medium according to claim 15, further comprising: storing fourth user access permissions associated with the first section of the document, wherein the fourth user access permissions define an extent to which a fourth user can access the first section of the document, and wherein the fourth user access permissions include a level of no access; andredacting the first section of the document from viewing by the fourth user.
  • 18. The computer storage medium according to claim 15, further comprising: receiving a request to change the first user access permissions associated with the first section of the document, wherein the changed first user access permissions define a different extent to which the first user can access the first section of the document.
  • 19. The computer storage medium according to claim 15, wherein after the first updates are received to the first section of the document, the first updates are not available to the second user until the first user sends a request to share the first updates with the second user.
  • 20. The computer storage medium according to claim 15, further comprising: receiving a request from the second user to receive the first updates;determining that the request to share the first updates with the second user was received; anddisplaying the first updates adjacent to the first section of the document.
US Referenced Citations (266)
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 et al. 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
6363352 Dailey Mar 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 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 Johnson 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 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
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
20050210392 Koide 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 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 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
20070271502 Bedi et al. Nov 2007 A1
20070283321 Hedge et al. 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
20080072141 Hodel-Widmer 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
20080195800 Lee Aug 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 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
20090282462 Skaria Nov 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 (28)
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
2005310158 Nov 2005 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 (167)
Entry
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.
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.
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.
Google, “Share and Collaborate in Real Time,” 2008, 1 page, http://www.google.com/google-d-s/intl/en/tour2.html.
Haake et al., “Collaborative Authoring of Hypermedia Documents,” 1993, pp. 41-58, http://www/pi6.fernuni-hagen.de/publ/MT-93.pdf.
Masternewmedia; “Synchronous Collaborative Text Document Editing,” Feb. 20, 2005, 1 page, http://www.masternewmedia.org/news/2005/02/20/synchronous—collaborative—text—document—editing.htm.
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.
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.
“Codeville,” http://codeville.org/, 2 pages (Date Retrieved Oct. 9, 2007).
“File Locks-GNU Emacs Lisp Reference Manual”; www.gnu.org/software/emacs/elisp/html—node/File-Locks.html; Mar. 28, 2006; 2 pages.
Galli, R., “Journal File Systems in Linux,” http://bulma.net/impresion.phtml?nIdNoticia=1154, 15 pages (Jan. 24, 2002).
“Google, Google Docs & Spreadsheets Tour” downloaded from http://www.google.com/google-d-s/intl/en/tour2.html on Nov. 9, 2007 (1 page).
Green, Bob, “Converting Qedit to the Client/Server Model”, http://www.robelle.com/library/papers/client-server/, 14 pages (Copyright 2004).
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.
Miller et al.; “Interactive Simultaneous Editing of Multiple Text Regions”; www.co-ode.org/resources/papers/k-cap2007-seidenberg.pdf; Jun. 2001; 15 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.
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.
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.mitedu/uid/projects/simuledit/usenix01.pdf; Oct. 9, 2007; 5 pages.
“Status of Software Reuse 577,” http://www.plex86.org/Computer—Folklore/Status-of-Software-Reuse-577.html, 2 pages (Date Retrieved Oct. 9, 2007).
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.
U.S. Appl. No. 12/117,040, filed May 8, 2008, Confirmation No. 8262.
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.
US Non-Final Office Action for U.S. Appl. No. 12/044,744 mailed Jul. 26, 2010.
US Final Office Action for U.S. Appl. No. 11/957,010 mailed Aug. 18, 2010.
US Final Office Action for U.S. Appl. No. 12/117,025 mailed Sep. 21, 2010.
International Preliminary Report and Written Opinion for PCT/US2008/083069, mailed May 29, 2009; 3 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.
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,” SIGIR '04, Jul. 25-29, 2004, Sheffield, South Yorkshire, UK, ACM 1-58113-881-4/04/0007; pp. 472-473.
Heckel, “A Technique for Isolating Differences Between Files,” ACM 1978; pp. 264-268.
USPTO Notice of Allowance cited in U.S. Appl. No. 11/938,082, mailed Jan. 4, 2010; 17 pages.
USPTO Final Office Action cited in U.S. Appl. No. 12/044,744, dated Nov. 22, 2010 ; 14 pages.
USPTO Non-Final Office Action cited in U.S. Appl. No. 12/117,025, dated Sep. 21, 2010; 12 pages.
USPTO Non-Final Office Action cited in U.S. Appl. No. 11/951,973, dated Jan. 19, 2011; 9 pages.
Chinese Office Action in Application 200880119647.9, mailed Nov. 24, 2011, 7 pgs.
US Notice of Allowance for U.S. Appl. No. 12/117,025, mailed Dec. 28, 2011, 11 pgs.
U.S. Appl. No. 13/079,605, Office Action mailed Dec. 5, 2011, 31 pgs.
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/117,040, Amendment and Response filed Jan. 4, 2012, 12 pgs.
U.S. Appl. No. 12/276,874, Amendment and Response filed Jan. 26, 2012, 13 pgs.
Chinese 1st Office Action in Application 200880121295.0, mailed Jan. 18, 2012, 6 pgs.
U.S. Appl. No. 12/111,174, Amendment and Response filed Feb. 21, 2012, 9 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. 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 10/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.
Appleton, Brad, “ClearView: Associating Attributes and Notes With a View”, ClearCase International User's Group Conference, Sep. 1996, 16 pgs.
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.
Byfield, Bruce, “Ooo Off The Wall: That's Your Version—Document Control in Ooo Writer”, published on Linux Journal, Mar. 7, 2006, 6 pgs.
Chinese Office Action in Application 200880115943.1, mailed Oct. 25, 2011, 13 pgs.
European Extended Search Report in EP Application 09739350.8, mailed Nov. 9, 2011, 10 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/117,040, Office Action mailed Oct. 4, 2011, 15 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.
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. 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.
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.
Chinese 1st Office Action in Application 200980124935.8, mailed Oct. 30, 2012, 10 pgs.
“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.
Australian Office Action in Application 2008324973, mailed Jul. 4, 2012, 3 pgs.
Badouel, Eric et al., “Merging Hierarchically-Structured Documents in Workflow Systems”, Electronic Notes in Theoretical Computer Science 203, (2008), 3-24.
Chinese 1st Office Action in Application 200980115758.7, mailed Mar. 28, 2012, 10 pgs.
Dekeyser, Stijin, et al., “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.
Feise, Joachim; “A Survey of Distributed Hypermedia Systems,” ISR Institute for Software Research, University of California, Irvine, Apr. 2005, 39 pages.
Grover, Chris, “Word 2007:The Missing Manual”, Pogue Press, Copyright 2007, pp. 380-388.
“How to Track and Manage Changes in a Word 2002 and a Word 2003 Document,” Microsoft Corporation, Mar. 8, 2007, 4 pages.
Jalbert, Peter, “Real Time Collaboration with Google Docs and Spreadsheets,” Jan. 23, 2008, 5 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.
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-2..., 2012 Microsoft Corporation, 5 pgs.
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.
Shepler et al., “Network File 1-15 Systems (NFS),” Version 4, Apr. 1, 2003, retrieved from http://rsync.tools.ietf.org/html/rfc3530 on Mar. 7, 2012, 275 pgs.
Shiro Sakata, “Development and Evaluation on an in-house multi-media desktop conference system”, Apr. 1990, IEEE Journal on selected areas in communications, vol. 8.
Taiwan Search Report and Office Action in Application 97142418, mailed Feb. 21, 2012, 13 pgs.
“Track Changes in Word 2007 Tutorial,” Florida Gulf Coast University, copyright 2007, 2 pages.
Tyson, Herb, “Microsoft Word 2007 Bible”, Wiley Publishing Company, Inc. 2007, Indianapolis, IN, USA, pp. 807-808.
U.S. Appl. No. 11/957,010, Amendment and Response filed Apr. 9, 2012, 12 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/117,040, Notice of Allowance mailed Mar. 29, 2012, 11 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. 12/432,817, Notice of Allowance mailed Aug. 6, 2012, 5 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.
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.
U.S. Appl. No. 12/117,040, Notice of Allowance mailed Jun. 21, 2012, 9 pgs.
Willden, Andrew, “Track Changes in Word 2007,” Fall 2007, 2 pages.
U.S. Appl. No. 12/117,040, Notice of Allowance mailed Aug. 20, 2012, 14 pgs.
Chinese 1st Office Action in Application 201080019470.2, mailed Aug. 31, 2012, 8 pgs.
U.S. Appl. No. 12/111,174, Notice of Allowance mailed Aug. 29, 2012, 11 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, 2012, 3 pgs.
Chinese 2nd Office Action in Application 200880119647.9, mailed Aug. 13, 2012, 6 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 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.
Chinese 2nd Office Action in Application 200880121295.0, mailed Oct. 23, 2012, 10 pgs.
Chinese 1st Office Action in Application 200980116872.1, mailed Oct. 9, 2012, 14 pgs.
Australian Notice of Acceptance in Application 200835565, mailed Sep. 18, 2012, 3 pgs.
European Examination Report in Application 09739350.8, mailed Sep. 25, 2012, 7 pgs.
Chinese 2nd Office Action in Application 200880115943.01, mailed Jun. 1, 2012, 7 pages.
European Extended Search Report in EP Application 09767155.6, mailed Mar. 26, 2012, 10 pages.
Tanenbaum, Andrew S., “Moderne Betriebssysteme”, 2003 Pearson, pp. 786-787 [with corresponding English pp. 735-737].
U.S. Appl. No. 12/111,174, Notice of Allowance mailed Nov. 19, 2012, 2 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. 12/117,040, Notice of Allowance mailed Dec. 6, 2012, 14 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.
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.
Australian Notice of Allowance in Application 2008338826, mailed Dec. 5, 2012, 2 pgs.
U.S. Appl. No. 12/117,025, Amendment and Response filed Jan. 30, 2013, 13 pgs.
Related Publications (1)
Number Date Country
20090327294 A1 Dec 2009 US