US 11,700,292 B2
Collaboration components for sharing content from electronic documents
Ian Dwyer Curry, Seattle, WA (US); Kathryn Veronica Jean Sullivan, Redmond, WA (US); Seth Fox, Seattle, WA (US); and David Benjamin Lee, Rocklin, CA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 14, 2021, as Appl. No. 17/346,725.
Prior Publication US 2022/0400141 A1, Dec. 15, 2022
Int. Cl. H04L 65/401 (2022.01); G06F 16/176 (2019.01); H04L 67/06 (2022.01); H04L 67/1095 (2022.01)
CPC H04L 65/4015 (2013.01) [G06F 16/176 (2019.01); H04L 67/06 (2013.01); H04L 67/1095 (2013.01)] 20 Claims
OG exemplary drawing
 
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.