IP Library › Granted Patent US 11,700,292
Granted Patent B2
US 11,700,292 · App. 17/346,725 · Granted Jul 11, 2023

Collaboration components for sharing content from electronic documents

Inventors: Ian Dwyer Curry (Seattle, WA); Kathryn Veronica Jean Sullivan (Redmond, WA); Seth Fox (Seattle, WA); David Benjamin Lee (Rocklin, CA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L65/4015G06F16/176H04L67/06H04L67/1095
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,700,292
App. No.
17/346,725
Granted
Jul 11, 2023
Kind
B2
Abstract

In various implementations, a productivity application allows selected content from an electronic document to be shared with and edited by multiple users through instances of a collaboration component. The collaboration component includes a distributed data structure that stores state information about the shared content. The component also includes application logic for managing the state information to reflect user edits and other such changes. This allows the selected content to be shared with the users in any application that supports the collaboration component and without the entirety of the document having to be shared. A user can experience the content in the context of applications other than the productivity application that hosts the document.

Claims (39)

1. A computing apparatus comprising:

one or more computer readable storage media;

one or more processors operatively coupled with the one or more computer readable storage media; and

a productivity application comprising program instructions stored on the one or more computer readable storage media that, when executed by the one or more processors, direct the computing apparatus to at least:

open an electronic document in a user interface to the productivity application;

receive input via the user interface comprising a selection of text from the electronic document, and further comprising an indication to share the text with other users in other productivity applications;

share the text with the other users via other instances of a collaboration component hosted by the other productivity applications, wherein the collaboration component comprises a distributed data structure that stores state information about the text, and further comprises application logic for managing the state information to reflect changes made to the text in a context of each of the other productivity applications, wherein the context of at least one application of the other productivity applications differs relative to that of the productivity application, and wherein the one application comprises a different type of application than the productivity application;

receive the changes from an instance of the collaboration component hosted in the productivity application, wherein the changes include a change made to the text in the context of the one application and communicated to the instance of the collaboration component via an update to the state information by one instance of the collaboration component in the context of the one application; and

display the changes in the user interface.

2. The computing apparatus of claim 1 wherein the program instructions direct the computing apparatus to display each of the changes in the user interface as a change made natively with respect to the electronic document.

3. The computing apparatus of claim 1 wherein the collaboration component comprises a serverless application model, wherein the other instances of the collaboration component synchronize the state information with each other through an online relay service.

4. The computing apparatus of claim 1 wherein the users make the changes to the text from within the other productivity applications and wherein the program instructions further direct the computing apparatus to persist at least one of the changes to the electronic document.

5. The computing apparatus of claim 1 wherein the productivity application comprises a word processing application, and wherein to display the changes in the user interface, the program instructions direct the computing apparatus to display the changes to reflect an order in which the changes were made.

6. The computing apparatus of claim 5 wherein the one application comprises one of an email application, a messaging application, and a storage application.

7. The computing apparatus of claim 1 wherein the program instructions further direct the computing apparatus to save the collaboration component to a catalog of collaboration components available to a creator of the electronic document.

8. A method of operating a computing device comprising:

opening an electronic document in a user interface to a productivity application;

in the productivity application, receiving input via the user interface comprising a selection of text from the electronic document, and further comprising an indication to share the text with users in other productivity applications;

in the productivity application, sharing the text with the users other instances of a collaboration component hosted by the other productivity applications, wherein the collaboration component comprises a distributed data structure that stores state information about the text, and further comprises application logic for managing the state information to reflect changes made to the text in a context of each of the other productivity applications, wherein the context of at least one application of the other productivity applications differs relative to that of the productivity application, and wherein the one application comprises a different type of application than the productivity application;

in the productivity application, receiving the changes from an instance of the collaboration component hosted in the productivity application, wherein the changes include a change made to the text in the context of the one application and communicated to the instance of the collaboration component via an update to the state information by one instance of the collaboration component in the context of the one application; and

in the productivity application, displaying the changes in the user interface to the productivity application.

9. The method of claim 8 further comprising surfacing the changes in the user interface as a change made natively with respect to the electronic document.

10. The method of claim 9 wherein the collaboration component comprises a serverless application model, and wherein the other instances of the collaboration component synchronize the state information with each other through a relay service.

11. The method of claim 8 wherein the users make the changes to the text from within the other productivity applications.

12. The method of claim 8 wherein the productivity application comprises a word processing application, and wherein displaying the changes in the user interface to the productivity application comprises displaying the changes to reflect an order in which the changes were made.

13. The method of claim 12 wherein the one application comprises one of an email application, a messaging application, and a storage application.

14. The method of claim 8 further comprising saving the collaboration component to a catalog of collaboration components available to a creator of the electronic document.

15. One or more non-transitory computer readable storage media having program instructions stored thereon that, when executed by one or more processors, direct a computing apparatus to at least:

display an electronic document in a user interface to the productivity application;

receive input via the user interface comprising a selection of text from the electronic document, and further comprising an indication to share the text with other users in other productivity applications; and

share the text with the users via other instances of a collaboration component hosted by the other productivity applications, wherein the collaboration component comprises a distributed data structure that stores state information about the text, and further comprises application logic for managing the state information to reflect changes made to the text by the one or more users in a context of each of the other productivity applications, wherein the context of at least one application of the other productivity applications differs relative to that of the productivity application, and wherein the one application comprises a different type of application than the productivity application.

16. The one or more non-transitory computer readable storage media of claim 15 wherein the program instructions further direct the computing apparatus to:

receive the changes from an instance of the collaboration component hosted in the productivity application, wherein the changes include a change made to the text in the context of the one application and communicated to the instance of the collaboration component via an update to the state information by one instance of the collaboration component in the context of the one application;

display the changes in the user interface; and

persist at least one of the changes to storage in the electronic document.

17. The one or more non-transitory computer readable storage media of claim 16 wherein the program instructions direct the computing apparatus to display the changes in the user interface as a change made natively with respect to the electronic document.

18. The one or more non-transitory computer readable storage media of claim 15 wherein the collaboration component comprises a serverless application model, wherein the other instances of the collaboration component synchronize the state information with each other through a relay service.

19. The one or more non-transitory computer readable storage media of claim 15 wherein the productivity application comprises a word processing application, and wherein to display the changes in the user interface, the program instructions direct the computing apparatus to display the changes to reflect an order in which the changes were made.

20. The one or more non-transitory computer readable storage media of claim 15 wherein the program instructions further direct the computing apparatus to save the collaboration component to a catalog of collaboration components available to a creator of the electronic document.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2021
From: CURRY, IAN DWYER; SULLIVAN, KATHRYN VERONICA JEAN; FOX, SETH; LEE, DAVID BENJAMIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056533/0218 →
Continuity (1)
Related Publication 20220400141A1 · Dec 15, 2022
Cited By (1)
US 12,254,295