Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEMS AND METHODS FOR SYNCHRONIZING COMMENTS TO AN ELECTRONIC DOCUMENT ACROSS PLATFORMS
Document Type and Number:
WIPO Patent Application WO/2017/210350
Kind Code:
A1
Abstract:
Systems and methods disclosed herein provide a mechanism for synchronizing comments to an electronic document across platforms. In some embodiments, a cloud storage server may receive an electronic document uploaded from a user device, and save the electronic document in its native format at the server without converting the document to a different format. When the user device attempts to access the document remotely, the cloud storage server may present the document in its native format to the user device so that a user may edit the document in the native format without downloading the document to the local drive. For example, the user can add a comment in a structure that is specific to the native application format without locally installing the native application on the user device. The cloud storage server may in turn incorporate the comment into the document for display in real time.

Inventors:
PATTERSON JOHN (AU)
MEYER CAYDEN (AU)
ARMSTRONG DAVID (AU)
LATTIMORE DAVID (AU)
BIRAN LIOR (AU)
Application Number:
PCT/US2017/035295
Publication Date:
December 07, 2017
Filing Date:
May 31, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GOOGLE LLC (US)
International Classes:
G06F17/24; G06Q10/10
Foreign References:
US20130191720A12013-07-25
US20100095198A12010-04-15
US20150112927A12015-04-23
US20140032633A12014-01-30
US20140122991A12014-05-01
Other References:
None
Attorney, Agent or Firm:
PORTNOVA, Marina (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method for synchronizing comments to an electronic document across platforms, the method comprising:

receiving, from a first user device, a request to access an electronic document stored in a native document format on the remote server;

presenting, via a remote document access user interface at the user device, the electronic document to the first user device without the user device downloading a copy of the electronic document;

receiv ing, via the remote document access user interface at the first user device without a dedicated document processing application locally installed, a first document comment in a previously determined structure associated with the native document format; incorporating, at the remote server, the first document comment into the electronic document; and

presenting, via the remote document access user interface, the electronic document having the first document comment included in the previously determined structure in real time.

2. The method of claim 1 , wherein the remote server comprises a cloud storage system .

3. The method of claim 1, wherein the native document format is a document format that is created by the dedicated document processing application.

4. The method of claim 1, wherein the remote document access user interface includes any of a mobile application or a browser-based application.

5. The method of claim 1 , further comprising:

receiving, at the remote serv er, an electronic document from the first user device; storing the electronic document in the native document format w ithout converting the electronic document to a different format.

6. The method of claim 1 , further comprising:

presenting the electronic document having the document comment included in the previously determined structure to a second user device.

7. The method of claim 1, further comprising:

when the first user device stores a local copy of the electronic document,

sending a message including information of the first document comment to the first user device, wherein the first document comment is automatically incorporated into the local copy of the electronic document at the user device without downloading the electronic document from the remote serv er to the user device.

8. The method of claim 1, further comprising:

when the first user device stores a local copy of the electronic document,

periodically monitoring comments added to the electronic document, wherein each of the comments is associated with a timestamp; and

periodical ly synchronizing the comments with the first user device based on the timestamp.

9. The method of claim 1 further comprising:

receiving a second comment to the electronic document from a second user device; determining that the first document comment and the second comment are related to a same section of the electronic document; and

merging the first document comment and the second comment w ithin the previously determined structure.

10. The method of claim 1, further comprising:

maintaining a secondary commenting system to keep a log of comments made to the electronic documents.

1 1. A system for synchronizing comments to an electronic document across platforms, the system comprising:

a cloud storage unit configured to store an electronic document stored in a nativ e document format; a processor communicatively coupled to the cloud storage unit, the processor being configured to:

receive, from a first user device, a request to access the electronic document, present, via a remote document access user interface at the first user device, the electronic document to the first user device without the first user device downloading a copy of the electronic document;

receive, via the remote document access user interface at the first user device without a dedicated document processing application locally installed, a document comment in a previously determined structure associated with the native document fonnat, incorporate the document comment into the electronic document in real time, and

present, via the remote document access user interface, the electronic document having the document comment included in the previously determined structure in real time.

1 2. The system of claim 1, wherein the processor i s located at a remote serv er.

13. The system of claim 1 1 , wherein the native document fonnat is a document format that is created by the dedicated document processing application.

14. The system of claim 1 1, wherein the remote document access user interface includes any of a mobile application or a browser-based application.

15. The system of claim 1 1, wherein the processor is further configured to: receive, at the remote server, an electronic document from the first user device;

store the electronic document in the native document format without converting the electronic document to a different format.

16. The system of claim 1 1, wherein the processor is further configured to: present the electronic document having the document comment included in the previously determined structure to a second user device upon request. I 7. The system of claim 1 1 , wherein the processor is further configured to: when the first user device stores a local copy of the electronic document, send a message including information of the comment to the first user device, wherein the comment i s automatically incorporated into the local copy of the electronic document at the first user device without downloading the electronic document from the remote server to the first user device.

1 8. The system of claim 1 1, wherein the processor is further configured to: when the first user device stores a local copy of the electronic docum ent,

periodically monitoring comments added to the electronic document, wherein each of the comments is associated with a timestamp; and

periodical ly synchronizing the comments with the first user device based on the timestamp.

19. The system of claim 1 1, wherein the processor is further configured to: receiving a second comment to the electronic document from a second user device; determining that the first comment and the second comment are related to a same section of the electronic document;

merging the first comment and the second comment within the previously determined structure; and

maintain a secondary commenting system to keep a log of comments made to the electronic documents.

20. A processor-readabl e non-transitory storage medium storing processor- executable instructions for synchronizing comments to an electronic document across platforms, the processor-executable instructions executable by a processor to:

receive, from a user devi ce, a request to access an electronic document stored in a native document format on the remote server;

present, via a remote document access user interface at the user device, the electronic document to the user device without the user device downloading a copy of the electronic document; receiv e, via the remote document access user interface at the user device without a dedicated document processing application locally installed, a document comment in a previously determined structure associated with the native document format;

incorporate, at the remote server, the document comment into the electronic document in real time; and

present, via the remote document access user interface, the electronic document having the document comment included in the previously determined structure.

Description:
SYSTEMS AND METHODS FOR SYNCHRONIZING COMMENTS TO AN ELECTRONIC DOCUMENT ACROSS PLATFORMS

Field of the Invention

[0001] In general, this disclosure relates to collaborative document management in a cloud environment, in particular, to systems and methods for synchronizing comments to an electronic document across platforms.

Background

[0002] In a collaborative document editing system, a user can often upload an electronic document to a remote server, and keep a local copy of the electronic document on the local drive of the user device. A large number of such electronic documents can be word documents and PDFs. Comments on these files today can only be made within the native editor such as a dedicated editing application that can open and modify a word or a PDF document. In order to make a comment within the document, such as adding a comment section in a word or PDF document, the user usually needs to download the most up-to- date copy of the document from the remote server to the local drive, and then open the downloaded copy via a locally installed application such as a word processor to insert a comment. After inserting the comment, the user usually uploads the updated document including the newly added comment back to the remote server such that the server and the local user device are synchronized with edited content. Thus at least two rounds of manual operations including downloading and uploading are performed by a user in order to add a comment in a document in the cloud.

100031 When receiving a document from a user device, the remote server usually converts the document from its native format to a format compatible with the remote storage system. When a user needs to download or export the document to their local driv e to make a comment, the remote server may then again convert, the document back to its nativ e format for the comment to be made. Thus at least two rounds of format conversion are usually involved at the remote server.

Summary

[0004] Systems and methods disclosed herein provide a mechanism for synchronizing comments to an electronic document across platforms. In some embodiments, a remote server may receive an electronic document uploaded from a user device, and may save the electronic document in its nativ e format at the server without converting the document to a different format. The remote server may receive, from a user device, a request to access

„ i _ the electronic document, and may in turn present, via a remote doc ument access user interface at the user device, the electronic document to the user device without the user device downloading a copy of the electronic document. The remote server may receive, via the remote document access user interface at the user device without a dedicated document processing application locally installed, a document comment i n a previously determi ned structure associated with the native document format. The remote server may then incorporate, at the remote server, the document comment into the el ectroni c document, and present, via the remote document access user interface, the electronic document havin the document comment included in the previously determi ned structure in real time.

Brief Description of the Drawings

[0005] The above and other features of the present disclosure, including its nature and its various advantages, will be more apparent upon consideration of the following

detailed description, taken in conjunction with the accompanying drawings in which:

[0006] FIG. I is a diagram of a computerized system 100 for providing a

collaborative document environment, according to an illustrative embodiment.

[0007] FIG. 2 is an example logic flow diagram illustrating aspects of server-side work flows of real time comment incorporation, according to an ill ustrative embodiment.

[0008] FIG. 3 is an example logic flow diagram illustrating aspects of server-side work flows of storing an uploaded electronic document, according to an illustrative embodiment.

[0009 j FIG. 4 is an example logic flow diagram illustrating aspects of server-side work flows of merging comments, according to an illustrative embodiment.

[0010] FIG. 5 is an example logic flow diagram il lustrating aspects of server work flows of real time synchronization of comments between the remote server and a user device, according to an ill ustrative embodiment.

1001 11 FIG. 6 is an example logic flow diagram illustrating aspects of user-side work flows of real time comment incorporation, according to an illustrative embodiment.

[0012] FIG. 7 is a block diagram of a computing device, such as any of the components of the systems of FIGS. 1 -6, for performing any of the processes described herein, according to an illustrative embodiment.

Detailed Description

[0013] To provide an overall understandi ng of the system s and methods described herei n, certain embodiments will now be described, including a system and method for synchronizing comments to an electronic document across platforms. However, it will he understood by one of ordinary skill i n the art that the system s and methods described herei n may be adapted and modi ied as i s appropri ate for the appl i cation being addressed and that the systems and methods described herein may be employed in other suitable applications, and that such other additions and modifications will not depart from the scope thereof Generally, the computerized systems described herein may compri se one or more engines, which i ncl ude a processing devi ce or devices, such as a computer, microprocessor, logic device or other device or processor that is configured with hardware, firmware, and software to carry out one or more of the computeri ed methods described herein.

[0014] In one embodiment, a mechanism for synchronizing comments to an electronic document across platforms such as a remote server and a user devi ce is discussed herein. A cl oud storage server may import, e port and keep in synchronization comments from el ectroni c documents with a real -time commenting system . This real -time commenting system may reduce the complexity of syncing files across multiple devices and file collisions. In some implementations, when comments are made on the document via a web or mobile interface or via the appl ication programming interface (API), the comments are batched over time and then the original document bytes are updated to reflect the comments made via the real time commenting system . The updated document bytes are then synchronized to devi ces that are li steni ng for changes to that document. When more comments are made, the previous version of the document havi ng ol d comments may be deleted and replaced with the updated version.

[0015] Comments and repl i es to the comments may be merged by timestamps. For example, when a document, such as a word or PDF document i s uploaded to a cloud storage server ( such as a private or a publ i c cloud ), the document is saved in its native format, i nstead of being conv erted to a different format to be stored at the cloud storage server. In this way, when the user device attempts to access the document remotely, the cloud storage server may present the document in its native format to the user dev ice so that a user may edit the document in the nativ e format without downloading it.

[0016] For example, a user can add a comment to the document, which usually is done as a feature specific to the native format. The cloud storage server may then di rectly i ncorporate the comment into the el ectroni c document i n real ti me. In thi s way, i f the user dev i ce, or another user devi cc acc ss s the document, the document havi ng the comment incorporated may be displ ayed.

[0017] In some implementations, the comment that has been added to the document sav ed in the cloud storage server may be automatically synchronized with a local copy at the user device, e.g. , if the user device originally uploaded the document to the cloud. In thi s way, the user no longer needs to re-enter the comment to the local copy of the document, and thus document editing efficiency has been improved.

[0018] FIG. 1 i s a diagram of a computerized system 100 for providing a collaborativ e document env ironment, according to an i llustrativ e embodi ment. System 100 incl udes a serv er 1 04 and multiple user dev ices 109a-b connected ov er a network 120. The serv er 1 04 incl udes an el ectroni c database 103 and a comment system 1 02, which manages updates to vari ous versions of a master document 106. The master document 106 may be stored on the electronic database 103 on the server 104, or in a separate storage device.

[0019] To make the process of collaborati ng on el ectronic documents more effici ent, a collaborativ e document editing env ironment i s prov ided for integrating collaborativ ely proposed changes of an electronic document. In the collaborative document editing env ironment, users at different user dev ices 109a-b may simultaneously access the master document 1 06 to review the document and propose changes. As is shown i n FIG. 1 , each user may interact with the master document 106 ov er the editor i nterface 1 l Oa-b. The editor interface 1 1 Oa-b may include a mobile application (e.g., for a mobile device, etc. ), or a browser based application, and/or the li ke. In thi s way, the user dev ice does not need to locally install a dedicated word processor or viewing application in order to access and open the master document 106.

[0020] Applicati ons may want to allow a user to add a comment to the document. The comment may be pl aced i n a comment structure withi n the document such as a dialog box, a footnote, a cal lout, and/or the like. Such comment structure may be added with a specific word processor with the document opened in its nativ e format respectiv e to the specific word processor. For example, a dedicated editing application that can open and modify a word or a PDF document may have a commenting mechani sm to allow a user to add a comment to a word or PDF document, which can i nclude a prev iously determi ned structure to be displ ayed within the document, such as but not limited to a di alog box, a cal l out window, a footnote, and/or the l i ke. In thi s case, the master document 106 may be saved in its native format such that the user dev ice can access the master document via the editor interface I I Oa-b in the native format. The previously determined structure may, for example, be predetermined or may be determined from user preferences.

[0021] FIG.2 is an example logic flow diagram 200 illustrating aspects of server-side work flows of real time comment incorporation, according to an illustrative embodiment. At 201, the remote server (e.g., see 104 in FIG 1) may receive a request to access an electronic document from a user device. The remote server may then present the document to the user device at 202, e.g., via the editor interface 1 lOa-b in FIG.1. The document may be presented via a mobile application or a browser-based application window, but in its native format such as a word or PDF document. At 203, the remote server may receive a comment from the user device, which is formatted in a pre-defined structure, e.g., the word document comment box or a PDF comment box, etc. At 204, the remote server may incorporate the comment into the electronic document, and log the comment in a secondary comment database at 205. In this way, the remote server can present the electronic document via the editor interface with the comment in real time at 206, e.g., the user does not need to download a copy of the document to the user dev ice, add the comment and then upload the document back to the remote server.

[00221 FIG.3 is an example logic flow diagram 300 illustrating aspects of serv er-side work flows of storing an uploaded electronic document, according to an illustrativ e embodiment. At 301, the remote server may receiv e a document uploaded from a user dev ice. At 302, the remote serv er may determine a type of the document. For example, if the document format is of a compatible format with the remote server, e.g., a recognizable document format such as but not limited to a word or PDF document, at 305, the remote server may save the document in its native format at 307, which is the format in which the remote serv er receiv ed the document uploaded from the user dev ice. Otherwise, if it is incompatible with, or unrecognizable by applications available to the remove server, the remote server may conv ert the document to a compatible format at 310. At 311, the remote server may create an entry in the comment database for the document to save any comments the document may have, and then proceed to 201 in FIG.2.

[0023] FIG.4 is an example logic flow diagram 400 illustrating aspects of serv er-side work flows of merging comments, according to an illustrative embodiment. Starting from 203 in FIG.2, at 402, the remote server may receive a second comment from a different user device relating to the same section of the document as the comment received at 203. The two comments can thus be merged in the same comment structure, e.g., the same footnote, comment box, call out box, etc., at 403, and the remote server may proceed to 204. In some implementations, comments from different user devices may be merged based on the content (e.g., when the two comments share similar words, phrases, etc.), related section of the document (e.g., when the two comments are related to the same sentence/paragraph or other portions of the document), and/or the like. In some

implementations, the two comments from different user devices may be presented in different comment structures (e.g., different callout boxes, etc.) with different colors to illustrate that the comments are made by different users. In some implementations, a user may configure display parameters for the comments, e.g., comments added at different times may be displayed in different colors, with a timestamp, and/or the like.

[0024] FIG. 5 is an example logic flow diagram 500 illustrating aspects of server work flows of real time synchronization of comments between the remote server and a user device, according to an illustrative embodiment. Starting from 206 in FIG. 2, the remote serv er may determine whether the user dev ice has a local copy of the document at 502. The remote server may send a message to a user device including information of the comment at 506, such that the user device may automatically incorporate the comment into the local copy of the document to synchronize with the document on the remote server at 508. In some implementations, the remote server may periodically monitor and synchronize comments with the local copy at 5 10. For example, each comment may be associated with a timestamp, and the remote server may send updated comments based on the timestamp of each comment and the last synchronization time.

[0025] FIG. 6 is an example logic flow diagram 600 illustrating aspects of user-side work flows of real time comment incorporation, according to an illustrative embodiment. A user device may send a document access request to a cloud storage system, e.g., the remote server at 60 1 . The user device may then open and access the document via a mobile application or a browser window instantiated at the dev ice, at 602. At 603, the user dev ice may receive a comment from a user, and then input the comment to the document via the mobile application or the browser window interface, without downloading the document to the user device. At 604, the user may review the document having the incorporated comment in real time via the mobile application or the browser window interface.

[0026] FIG. 7 is a block diagram of a computing dev ice, such as any of the components of the systems of FIGS. 1-6, for performing any of the processes described herein. Each of the components of these systems may be implemented on one or more computing devices 700. In certain aspects, a plurality of the components of these systems may be included within one computing device 700. hi certain implementations, a component and a storage device may be implemented across several computing devices 700.

[0027 j The computing device 700 i ncludes at least one communications interface unit, an input/output controller 71 0, system memory, and one or more data storage devices. The system memory includes at l east one random access memory (RAM 702 ) and at least one read-only memory (ROM 704). All of these elements are in communication with a central processing nit (CPU 706) to facilitate the operation of the computing device 700. The computi ng devi ce 700 may be configured in many di fferent ways. For example, the computing device 700 may be a conventional standalone computer or alternatively, the functions of computing device 700 may be distributed across multiple computer systems and architectures. Al ternativel y, a computer system may be virtualized to provide the functions of multiple computing devices 700. In FIG. 7, the computing device 700 is li nked, via network or local network, to other serv ers or systems. [0028 j The computing device 700 may be configured in a distributed architecture, wherei n databases and processors are housed in separate units or locations. Some units perform primary processing functions and contain at a minimum a general controller or a processor and a system memory. In di stributed architecture i mplementations, each of these units may be attached via the communications interface unit 708 to a communications hub or port ( not shown) that serves as a primary communicati on link with other servers, client or user computers and other related dev i ces. The communications hub or port may have mi ni mal processing capability itself, serv ing primari ly as a communications router. A variety of communications protocols may be part of the system, including, but not limited to:

Ethernet, SAP, SAS™ ATP, BLUETOOTH™, GSM and TCP/IP.

1002 1 The CPU 706 incl udes a processor, such as one or more conv enti onal microprocessors and one or more supplementary co -processors such as math coprocessors for offloading workload from the CPU 706. The CPU 706 is i n

communication with the communications i nterface unit 708 and the input/output controller 710, through w hich the CPU 706 communicates w ith other dev ices such as other servers, user terminal s, or dev ices. The communications i nterface unit 708 and the input/output control ler 710 may i ncl ude multipl e communi cati on channel s for si multaneous comm unicati on with, for example, other processors, servers or cli ent term inal s. [0030] The CPU 706 is also in communication with the data storage device. The data storage device may include an appropri ate combination of magneti c, optical or

semiconductor memory, and may include, for example, RAM 702, ROM 704, flash drive, an optical disc such as a compact di sc or a hard disk or drive. The CPU 706 and the data storage device each may be, for example, located entirely within a single computer or other computing device; or connected to each other by a communication medium, such as a USB port, serial port cable, a coaxial cable, an Ethernet cable, a telephone li ne, a radio frequency transceiver or other si milar wi eless or wi ed medium or combination of the foregoing. For example, the CPU 706 may be connected to the data storage device via the com munications i nterface unit 708. The CPU 706 may be configured to perform one or more particular processing functions.

100311 The data storage device may store, for example, (i) an operating system 7 1 2 for the computing device 700; (ii) one or more applications 7 14 (e.g., computer program code or a computer program product) adapted to di ect the CPU 706 in accordance with the systems and methods described here, and particularly in accordance with the processes described in detail with regard to the CPU 706; or (iii) database(s) 7 16 adapted to store information that may be utilized to store information required by the program.

100321 The operating system 7 12 and appli cations 71 4 may be stored, for example, in a compressed, an uncompiled and an encrypted format, and may i nclude computer program code. The i nstructions of the program may be read i nto a main memory of the processor from a computer-readable medium other than the data storage devi ce, such as from the ROM 704 or from the RAM 702. While execution of sequences of instructions in the program causes the CPU 706 to perform the process steps described herein, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of the processes of the present invention. Thus, the systems and methods described are not limited to any specific combination of hardware and software.

100331 Suitable computer program code may be provided for performing one or more functions in relation to performing the processes as described herein. The program al so may incl ude program elements such as an operating system 7 1 2, a database management system and "device drivers" that allow the processor to interface with computer peripheral devices (e.g. , a video display, a keyboard, a computer mouse, etc.) via the input/output control ler 710. 100341 The term "computer-readabl e medium" as used herein refers to any non-transitory medium that provides or participates in providing instructi ons to the processor of the computing devi ce 700 (or any other processor of a devi ce described herei n ) for execution. Such a medi um may take many forms, incl uding but not l imited to, non -volatil e media and volati le media. Nonvolatile medi a i nclude, for example, optical , magneti c, or opto- magnetic disks, or integrated circuit memory, such as flash memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes the main memory. Common forms of computer-readable media include, for example, a floppy di sk, a flexible di k , hard di sk, magnetic tape, any other magnetic medium , a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of hol es, a RAM, a PROM, an EPROM or EEPROM (electronicall y erasabl e programmable read-only memory), a FLASH- E E ROM, any other memory chip or cartri dge, or any other non-transitory medium from which a computer can read.

1003 1 Various forms of computer readable media may be involved i n carryi ng one or more sequences of one or more instructions to the CPU 706 (or any other processor of a devi ce described herein ) for executi on . For example, the instructions may initial ly be borne on a magnetic disk of a remote computer (not shown ). The remote computer can load the instructions into its dynamic memory and send the instructions over an Ethernet connection, cable line, or even telephone line usi ng a modem. A communications device local to a computing device 700 (e.g., a server) can receive the data on the respective communications li ne and place the data on a system bus for the processor. The system bus carries the data to main memory, from which the processor retrieves and executes the instructions. The i nstructions received by main memory may opti onall y be stored i memory either before or after executi on by the processor. In addition, instructions may be received via a communication port as electrical , electromagnetic or optical signals, which are exemplary forms of wireless communications or data streams that carry various types of information.

[0036] It wil l be apparent that aspects of the systems and methods described herein may be implemented in many di fferent forms of software, firmware, and hardware in the implementations illustrated i n the drawi ngs. The actual software code or special ized control hardware used to implement aspects consi stent with the principles of the systems and method described herein is not limiting. Thus, the operation and behavior of the aspects of the systems and methods were described without reference to the specific software code— it being understood that one of ordinary skil l in the art would be able to design software and control hardware to implement the aspects based on the description herein .

[0037] Simil arl y, while operations are depicted in the drawings in a particular order, this shoul d not be understood as requiring that such operati ons b e performed in the particular order shown or in sequential order, or that ail illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. [0038] Various aspects of the subj ect matter described in this specificati on can be impl emented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an impl ementation of the subj ect matter described in thi s specification, or any combi nati on of one or more such back end, mi ddl eware, or front end components. The components of the system can be i nterconnected by any form or medium of digital data comm unicati on, e.g., a communi cation network . The communi cati on network can include, for exam ple, any one or more of a personal area network (PAN), a l ocal area network (LAN), a campus area network (CAN), a metropol itan area network (MAN), a wi de area network ( WAN ), a broadband network (BBN), the Internet, and the l i ke. Further, the communi cation networks can include, but are not l i mited to, for example, any one or more of the following network topologies, i ncl uding a bus network, a star- network, a ring network, a m esh network, a star-bus network, tree or hierarchi cal network, or the l i ke. The communicati ons modules can be, for example, modem s or Ethernet cards.

[0039] As discussed above, computi ng system 700 can i ncl ude cl ients and servers. A cli ent and server are generally remote from each other and typically interact through a communication network. The relationship of cli ent and server arises by virtue of computer programs running on the respective computers and having a cl ient -server relationship to each other. Computer system 700 can be, for example, and without limitation, an enterprise server or group of servers, one or more desktop computers, one or more laptop computers, etc. Computer system 700 can al so be embedded in another device, for example, and without li mitati on, a mobil e tel ephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS ) receiver, a video game console, and/or a television set top box.

[0040] While this specification contains many specifics, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of particular implementations of the subj ect matter. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple

implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combi nation, and the clai med combination may be directed to a subcombination or variation of a subcombination .

[0041] While operations are depicted in the drawings in a particular order, thi s should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desi rable results. In certain ci rcumstances, multitasking and paral lel processi ng may be advantageous. Moreover, the separation of vari ous system components in the aspects described above should not be understood as requi ri ng s ch separation in all aspects, and it should be understood that the described program components and system s can general ly be integrated together in a singl e software product or packaged i nto multiple software products.

[0042] Further implementations are summarized i n the following examples:

[0043] Example 1 : A method for synchronizing comments to an electronic document across platforms, the method compri ing: receiving, from a first user device, a request to access an electronic document stored in a native document format on the remote server; presenting, via a remote document access user interface at the user device, the electronic document to the first user device without the user device downloading a copy of the electronic document; receiving, via the remote document access user interface at the first user device without a dedicated document processing application locally installed, a first document comment in a previously determined structure associated with the native document format; incorporating, at the remote server, the first document comment into the electronic document; and presenting, via the remote document access user interface, the electronic document having the first document comment included in the previously determined structure in real time.

[0044] Example 2: The method of example 1 , wherein the remote server comprises a cloud storage system.

[0045] Example 3 : The method of example 1 or 2, wherein the native document format is a document format that is created by the dedicated document processing application.

[0046] Example 4: The method of one of examples 1 to 3, wherein the remote document access user interface includes any of a mobile application or a browser-based application.

[0047] Example 5: The method of one of examples 1 to 4, further comprising: receiving, at the remote server, an electronic document from the first user device; storing the electronic document in the native document format without converting the electronic document to a different format.

[0048 j Example 6: The method of one of examples 1 to 5, further comprising: presenting the electronic document having the document comment included in the previously determined structure to a second user device.

[0049] Example 7: The method of one of examples 1 to 6, further comprising: when the first user device stores a local copy of the electronic document, sending a message including information of the first document comment to the fi rst user device, wherein the first document comment is automatically incorporated into the local copy of the electronic document at the user device without downloading the electronic document from the remote server to the user device.

[0050] Example 8: The method of one of examples 1 to 7, further comprising: when the first user dev ice stores a local copy of the electronic document, periodically m on i tori ng comments added to the electronic document, wherein each of the comments is associated with a timestamp; and periodical ly synchronizing the comments with the first user device based on the timestamp.

[0051] Example 9: The method of one of examples 1 to 8, further comprising: receiving a second comment to the electronic document from a second user device; determining that the first document comment and the second comment are related to a same section of the electronic document; and merging the first document comment and the second comment within the previously determined structure. [0052] Example 10: The method of one of examples I to 9, further compri sing:

maintaining a secondary commenting system to keep a log of comments made to the electronic documents.

[0053] Example 1 1 : A system for synchronizi ng comments to an electronic document across platforms, the system compri sing: a cloud storage unit configured to store an electronic document stored in a native document format; a processor communicatively coupled to the cloud storage unit, the processor being configured to: receive, from a first user device, a request to access the electronic document, present, via a remote document access user interface at the first user device, the electronic document to the first user device without the first user device downloading a copy of the electronic document; receive, via the remote document access user interface at the first user device without a dedi cated document processing applicati on l ocal ly i nstalled, a document comment i n a previously determined structure associated with the native document format, i ncorporate the document comment into the electronic document in real ti me, and present, via the remote document access user interface, the electronic document having the document comment i ncl uded in the previ ousl y determined structure in real time.

[0054] Example 12 : The system of example 1 1 , wherei n the processor is located at a remote server.

[0055] Example 13 : The system of example 1 I or 12, wherein the native document format is a document format that is created by the dedicated document processing application.

[0056 j Example 14: The system of one of exampl es 1 1 to 13, wherein the remote document access user interface incl udes any of a mobile appli cation or a browser -based application .

[0057] Example 15 : The system of one of examples 1 1 to 1 4, wherein the processor i s further configured to: receive, at the remote server, an electronic document from the first user devi ce, store the electronic document i n the native document format without converting the electronic document to a different format.

[0058] Example 1 6: The system of one of examples 1 1 to 15, wherein the processor is further configured to: present the electronic document having the document comment included in the previ ously determined structure to a second user device upon request.

[0059] Exampl e 17: The system of one of exampl es 1 1 to 1 6, wherei n the processor is further configured to: when the first user device stores a local copy of the el ectronic document, send a message including information of the comment to the first user device, wherein the comment is automatically incorporated into the local copy of the electronic document at the first user device without downloading the electronic document from the remote server to the first user device.

[0060] Example 18 : The system of one of examples 1 1 to 17, wherein the processor is further configured to: when the first user device stores a local copy of the electronic document, periodically monitoring comments added to the electronic document, wherein each of the comments is associated with a timestam p; and periodically synchronizing the comments with the first user device based on the timestamp.

[0061] Example 19: The system of one of examples 1 1 to 18, wherein the processor is further configured to: receiving a second comment to the electronic document from a second user device; determining that the first comment and the second comment are related to a same section of the electronic document; emerging the first comment and the second comment within the previously determi ned structure; and mai ntain a secondary commenti ng system to keep a log of comments made to the electronic documents.

[0062] Example 20: A processor-readabl e non-transitory storage medi um stori ng processor-executable i nstructions for synchronizing comments to an electronic document acros platforms, the processor-executabl e i nstructions executable by a processor to: receive, from a user device, a request to access an electronic document stored in a native document format on the remote server; present, via a remote document access user interface at the user devi ce, the electronic document to the user device without the user device downloading a copy of the electronic document; receive, vi a the remote document access user i nterface at the user devi ce without a dedicated document processi ng application local ly installed, a document comment in a previously determined structure associated with the native document format, i ncorporate, at the remote server, the document comment i nto the electronic document in real time; and present, via the remote document access user interface, the electronic document having the document comment i ncluded in the previously determined structu e.

[0063] The sub j ect matter of this specification has been described in terms of particular aspects, but other aspects can be implemented and are withi n the scope of the following cl aims. For example, the actions recited in the cl aims can be performed i n a different order and still achieve desi able resul ts. As one example, the processes depi cted i n the accompanying fi ures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous. Other variations are within the scope of the following claims.