СИНХРОНИЗАЦИЯ РЕДАКЦИЙ ОНЛАЙН-ДОКУМЕНТА

1. Способ, выполняемый по меньшей мере частично посредством вычислительного устройства для синхронизации редакций онлайн-документа, содержащий этапы, на которых:
принимают указание первых метаданных совместной работы, ассоциированных с первой секцией документа, причем первые метаданные совместной работы принимаются от клиентского приложения на основе браузера;
принимают указание вторых метаданных совместной работы, ассоциированных со второй секцией документа, причем вторые метаданные совместной работы принимаются от второго клиентского приложения, при этом второе клиентское приложение не работает в браузере;
преобразуют первые метаданные совместной работы на основе преобразованного представления, предоставленного клиентскому приложению на основе браузера; и
сохраняют первые метаданные совместной работы и вторые метаданные совместной работы в привязке к документу.
2. Способ по п. 1, при этом первые метаданные совместной работы включают в себя по меньшей мере одно из следующего набора: имя пользователя, информация о присутствии пользователя и блокировка в документе.
3. Способ по п. 1, дополнительно содержащий этап, на котором:
распознают одну или более редакций, которые конфликтуют с другими редакциями в измененном документе на уровне компонентов.
4. Способ по п. 3, дополнительно содержащий этап, на котором:
пытаются объединить конфликтующие редакции в одном и том же компоненте без уведомления, если конфликтующие редакции являются дополняющими.
5. Способ по п. 1, дополнительно содержащий этап, на котором:
повторно нумеруют каждый абзац документа при приеме запроса от клиентского приложения, чтобы обеспечивать синхронизацию номеров абзацев между клиентами, осуществляющими доступ к документу.
6. Способ по п. 1, дополнительно содержащий этап, на котором:
отправляют запрос серверу, исполняющему приложение совместной работы, ассоциированное с документом, чтобы определять, является ли пользователь единственным соавтором документа.
7. Сервер приложения онлайн-обработки документа для синхронизации редакций онлайн-документа, содержащий:
память;
процессор, связанный с памятью, причем процессор исполняет приложение совместно с инструкциями, сохраненными в памяти, при этом приложение сконфигурировано:
принимать запрос документа от пользователя;
запрашивать блокировку документа для документа с сервера хранения;
извлекать документ с сервера хранения;
преобразовывать документ во множество компонентов, содержащих содержимое документа, и первые метаданные совместной работы, включающие в себя имя пользователя и информацию о присутствии пользователя;
определять конфликт между редакциями по меньшей мере двух пользователей;
определять множество блокировок компонентов для множества компонентов путем оценивания конфликтующих редакций;
корректировать блокировку документа во множество блокировок компонентов путем освобождения блокировки документа, применяя множество блокировок компонентов к совпадающим компонентам; и
отправлять граф клиентскому приложению на основе браузера для отображения.
8. Сервер приложений по п. 7, в котором, при определении конфликта, приложение дополнительно сконфигурировано:
отправлять по меньшей мере одну конфликтующую пользовательскую редакцию и по меньшей мере один соответствующий компонент клиентскому приложению на основе браузера для по меньшей мере одного пользовательского выбора, причем этот по меньшей мере один пользовательский выбор записывается в упомянутом по меньшей мере одном соответствующем компоненте для разрешения конфликта.
9. Сервер приложений по п. 7, в котором приложение дополнительно сконфигурировано:
сохранять множество блокировок компонентов в качестве вторых метаданных совместной работы в графе документа.
10. Сервер приложений по п. 9, при этом оффлайновое клиентское приложение на основе браузера передает по меньшей мере одну пользовательскую редакцию для ее интеграции в граф документа после возвращения в онлайн-режим.
11. Сервер приложений по п. 7, в котором приложение дополнительно сконфигурировано:
отправлять по меньшей мере одно из следующего набора: время редакции, аутентификационную информацию пользователя и роль пользователя, клиентскому приложению на основе браузера.
12. Машиночитаемый носитель информации, на котором сохранены инструкции для синхронизации редакций онлайн-документа, при этом инструкции содержат:
прием запроса документа от пользователя;
запрашивание блокировки документа для документа с сервера хранения;
извлечение документа с сервера хранения;
преобразование документа во множество компонентов, содержащих первые метаданные совместной работы, включающие в себя имя пользователя и информацию о присутствии пользователя, и сохранение множества компонентов в граф;
определение множества блокировок компонентов для множества компонентов путем оценивания по меньшей мере одной пользовательской редакции;
корректировку блокировки документа во множество блокировок компонентов путем освобождения блокировки документа, применения множества блокировок компонентов к соответствующим компонентам в графе и сохранения множества блокировок компонентов в качестве вторых метаданных совместной работы в граф; и
отправку графа клиентскому приложению на основе браузера для отображения.
13. Машиночитаемый носитель информации по п. 12, в котором инструкции дополнительно содержат:
уведомление текущего пользователя о множестве блокировок компонентов.
14. Машиночитаемый носитель информации по п. 12, в котором инструкции дополнительно содержат:
сохранение идентификаторов уровня компонентов и
перемещение пользовательских редакций в подлежащие области компонентов с использованием идентификаторов уровня компонентов, даже если другие части документа изменены.
15. Машиночитаемый носитель информации по п. 12, в котором инструкции дополнительно содержат:
сообщение пользователю имени и информации о присутствии текущего автора, редактирующего документ.