Частичная загрузка и редактирование документов с сервера

Иллюстрации

Показать все

Изобретение относится к способу осуществления доступа к документу на клиентском компьютере. Технический результат заключается в обеспечении обработки документа в реальном масштабе времени. На клиентском компьютере запрос отправляется серверному компьютеру на открытие первой части документа. Документ хранится на серверном компьютере. Первая часть документа меньше всего документа. Запрос включает в себя информацию, которая используется серверным компьютером для определения размера первой части документа. Первая часть документа принимается от серверного компьютера. Вторая часть документа визуализируется на экране отображения клиентского компьютера. Вторая часть документа является подмножеством первой части документа. Когда клиентский компьютер определяет, что пользователь прокрутил третью часть документа, и когда клиентский компьютер определяет, что еще часть документа доступна на серверном компьютере, то второй запрос отправляется серверному компьютеру на открытие дополнительной части документа. 3 н. и 7 з.п. ф-лы, 9 ил.

Реферат

Уровень техники

Документы, к которым осуществляют доступ клиентские компьютеры, как правило, хранятся на серверных компьютерах или в базах данных по всей сети. Как правило, доступ к документу включает в себя просмотр документа, хранящегося на серверном компьютере, через web-браузер на клиентском компьютере, и редактирование документа, хранящегося на серверном компьютере, через прикладную программу на клиентском компьютере.

При осуществлении доступа к документу на клиентском компьютере по сети могут возникнуть временные задержки из-за расстояний передачи, размера документа и из-за других факторов.

Сущность изобретения

Это краткое изложение сущности изобретения предоставлено в качестве ознакомления в упрощенном виде с подборкой концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для установления ключевых признаков или неотъемлемых признаков изобретения, ни для использования в качестве средства при определении объема заявленного изобретения.

Варианты осуществления изобретения направлены на способ осуществления доступа к документу на клиентском компьютере. На клиентском компьютере, первый запрос отправляется серверному компьютеру на открытие первой части документа. Документ хранится на серверном компьютере. Первая часть документа меньше всего документа. Запрос включает в себя информацию, которая используется серверным компьютером для определения размера первой части документа. На клиентском компьютере, первая часть документа принимается от серверного компьютера. После того как первая часть документа принята от серверного компьютера, вторая часть документа визуализируется на экране отображения клиентского компьютера. Вторая часть документа является подмножеством первой части документа. На клиентском компьютере, выполняется определение того, что еще часть документа доступна на серверном компьютере. На клиентском компьютере, выполняется определение того, что пользователь прокрутил третью часть документа на экране отображения на клиентском компьютере. Когда клиентский компьютер определяет, что пользователь прокрутил третью часть документа, и когда клиентский компьютер определяет, что еще часть документа доступна на серверном компьютере, то второй запрос отправляется серверному компьютеру на открытие дополнительной части документа.

Эти и прочие признаки и преимущества станут очевидными из прочтения нижеследующего подробного описания и просмотра связанных чертежей. Следует понимать, что как предшествующее общее описание, так и нижеследующее подробное описание являются пояснительными и не ограничивают аспекты в соответствии с тем, что заявлено.

Перечень фигур чертежей

Фигура 1 показывает характерную систему, используемую при доступе к документам по сети.

Фигура 2 показывает страницу характерного документа, который хранится на серверном компьютере с Фигуры 1.

Фигура 3 показывает характерное хранение документов в характерной области памяти на клиентском компьютере с Фигуры 1.

Фигура 4 показывает другое характерное хранение документов в характерной области памяти на клиентском компьютере с Фигуры 1.

Фигура 5 показывает еще один другой пример хранения документов в характерной области памяти на клиентском компьютере с Фигуры 1.

Фигура 6 показывает характерный способ открытия части документа на клиентском компьютере.

Фигура 7 показывает характерный способ открытия части документа на серверном компьютере.

Фигура 8 показывает характерный способ определения порогового значения объектов для открываемой части документа с Фигуры 7.

Фигура 9 показывает пример компонентов клиентских компьютеров и серверного компьютера с Фигуры 1.

Подробное описание

Настоящая заявка направлена на системы и способы для частичной загрузки и редактирования документов, хранящихся на серверном компьютере.

В характерных вариантах осуществления, когда на клиентском компьютере осуществляют доступ к документу, хранящемуся на серверном компьютере, то серверный компьютер открывает лишь часть документа и отправляет открытую часть документа на клиентский компьютер. Размер открытой части документа, как правило, соответствует размеру документа, который может уместиться на экране отображения на клиентском компьютере плюс небольшая часть документа, чтобы обеспечить прокрутку. Часть документа, которая открывается, загружается в память на клиентском компьютере. Посредством открытия лишь части документа, вместо всего документа, и загрузки данной части документа на клиентский компьютер, документ может визуализироваться на клиентском компьютере быстрее, чем если бы открывался весь документ.

В данном раскрытии, открытие части документа относится к получению дескриптора для документа на серверном компьютере и отправке части документа клиентскому компьютеру.

Фигура 1 показывает характерную систему 100, используемую при осуществлении доступа к документам по сети. Характерная система 100 включает в себя клиентские компьютеры 102, 104, сеть 110 и серверный компьютер 112. Может использоваться больше или меньше клиентских компьютеров и серверных компьютеров.

Серверный компьютер 112 доступен клиентским компьютерам 102 и 104 по сети 110. Примерами сети 110 являются сеть Интернет и корпоративная Интрасеть. Возможны другие примеры сети 110.

Характерный клиентский компьютер 102 включает в себя web-браузер 106, а характерный клиентский компьютер 104 включает в себя клиентское приложение 108 программного обеспечения. Характерным клиентским приложением программного обеспечения является программа обработки текстов Microsoft Word® 2010 от Microsoft Corporation, Редмонд, Вашингтон.

Когда доступ к документу, хранящемуся на серверном компьютере 112, осуществляют посредством web-браузера 106 на клиентском компьютере 102, то клиентский компьютер 102 отправляет запрос на открытие документа серверному компьютеру 112. Как правило, запрос включает в себя один или более параметров, которые относятся к отображению информации на клиентском компьютере 102. Например, один параметр может указывать размер экрана отображения на клиентском компьютере 102, на котором будет визуализироваться документ. Другой параметр может указывать размер шрифта, с которым будет визуализироваться документ. Третий параметр может указывать разрешение экрана отображения в пикселях. Могут использоваться другие характерные параметры.

Когда характерный серверный компьютер 112 принимает запрос на открытие документа, серверный компьютер 112 определяет, что документ должен быть частично открыт. В некоторых примерах, серверный компьютер 112 определяет, что документ должен быть частично открыт, посредством обнаружения присутствия одного или более параметров, которые относятся к отображению информации на клиентском компьютере 102. В других примерах, запрос на открытие документа может включать в себя функциональный код, указывающий на то, что документ должен быть частично открыт. Возможно применение других средств в отношении серверного компьютера 112, для определения того, что документ должен быть частично открыт.

Серверный компьютер 112 использует информацию, включенную в один или более параметров, для определения того, какая по размеру часть документа должна быть отправлена клиентскому компьютеру 102. Серверный компьютер 112 определяет, какая по размеру часть документа уместится в размере экрана отображения на клиентском компьютере 102. Когда серверный компьютер 112 определяет, какая по размеру часть документа уместиться в размере экрана отображения на клиентском компьютере 102, то серверный компьютер 112 открывает документ в отношении полученного в результате определения размера плюс дополнительный размер. Дополнительный размер представляет собой часть документа, которая загружается на клиентский компьютер 102, но в настоящий момент не отображается. Например, при открытии документа, дополнительный размер может соответствовать одному экрану отображения ниже исходной части документа, которая умещается на одном экране отображения. Когда пользователь клиентского компьютера 102 осуществляет прокрутку за пределы первого отображаемого экрана документа, то второй экран документа уже загружен и готов к отображению.

Когда серверный компьютер 112 определяет, какую по размеру часть документа открыть, серверный компьютер 112 отправляет часть документа, которую серверный компьютер открыл, клиентскому компьютеру 102. Когда клиентский компьютер 102 принимает часть документа от серверного компьютера 112, то клиентский компьютер 102 загружает принятую часть документа в память клиентского компьютера 102. Затем клиентский компьютер 102 визуализирует первую страницу документа на экране отображения на клиентском компьютере 102.

Фигура 2 показывает страницу характерного документа 200, который хранится на серверном компьютере 112. Страница характерного документа 200 включает в себя пять объектов самого высокого уровня - четыре абзаца и одну таблицу. Используемое в настоящем раскрытии понятие объект является определенным компонентом документа. Характерные объекты включают в себя абзацы, таблицы, изображения, предложения, слова, ячейки таблицы и гиперссылки. Возможны другие примеры объектов. Такие объекты как абзацы, таблицы и изображения являются объектами самого высокого уровня, потому что они могут включать в себя дополнительные встроенные объекты. Например, объект-абзац может включать в себя один или более объектов-предложений. Возможны другие объекты самого высокого уровня. Каждый объект самого высокого уровня имеет уникальный идентификатор. Таким образом, каждый абзац, предложение, слово, изображение, таблица и ячейка таблицы, и т.д., в документе являются уникально идентифицируемыми.

Первым объектом самого высокого уровня в характерном документе 200 является абзац 202. Характерный абзац 202 идентифицируется ID # 100. Другие объекты самого высокого уровня в документе 200 включают в себя абзац 204 (ID # 200), абзац 206 (ID # 300), таблицу 208 (ID # 400) и абзац 210 (ID # 500). В примерах, объекты, встроенные в другой объект, такие как предложения в абзацах или слова в предложениях могут иметь ID, связанный с объектом более высокого уровня. Например, первое предложение в абзаце 202 может идентифицироваться числом 110, а первое слово в первом предложении может идентифицироваться числом 101. В примерах, числа ID могут быть другого формата. Идентификация каждого объекта в документе с помощью уникального ID способствует редактированию документа, как будет здесь рассмотрено более подробно.

Документы, как правило, хранятся на серверном компьютере 112 в присущем документу формате. Например, документ приложения обработки текстов Microsoft Word®, как правило, хранится в формате совместимом с документом приложения обработки текстов Word®. Применительно к некоторым версиям приложения обработки текстов Microsoft Word®, форматом может быть XML. Для других версий приложения обработки текстов Microsoft Word®, форматом может быть собственный формат. Тем не менее, когда визуализируется документ приложения обработки текстов Word® в web-браузере клиентского компьютера 102, то документ приложения обработки текстов Word® визуализируется в формате, совместимом с web-браузером, например в формате HTML. Серверный компьютер 112 отправляет открытую часть документа клиентскому компьютеру 102 в формате, который клиентский компьютер 102 может преобразовать в HTML. В примерах, когда серверный компьютер 112 открывает часть документа, которая должна быть визуализирована на клиентском компьютере 102, серверный компьютер 112 может преобразовывать документ из формата приложения обработки текстов Word® в формат XML. Затем серверный компьютер 112 отправляет открытую часть документа клиентскому компьютеру 102 в формате XML.

Когда серверный компьютер 112 определяет открываемую часть документа, серверный компьютер 112 определяет пороговое значение в отношении количества объектов, которые будут включены в открытую часть документа. Серверный компьютер 112 может определить пороговое значение объектов посредством одного из нескольких способов. В одном способе, серверный компьютер 112 получает информацию, которая относится к экрану отображения клиентского компьютера 102, как представленную в одном или более параметрах, отправленных от клиентского компьютера 102 серверу 112 в запросе на открытие документа.

Информация об экране отображения, включенная в один или более параметров, может включать в себя размер экрана отображения, размер шрифта, используемого на экране отображения, и разрешение экрана отображения в пикселях. При помощи информации об экране отображения, серверный компьютер 112 определяет количество объектов, которые уместятся на экране отображения. В другом способе, количество объектов, которые уместятся на экране отображения, определяется из указания, включенного в сообщение запроса от клиентского компьютера 102 на открытие части документа.

Затем серверный компьютер 112 определяет дополнительное количество объектов, как правило, соответствующее одному или двум дополнительным размерам экрана отображения. Пороговое значение объектов соответствует сумме из количества объектов, которые уместятся на экране отображения плюс дополнительное количество объектов. Часть документа, соответствующая одному или более дополнительным размерам экрана отображения, позволяет пользователю клиентского компьютера 102 прокручивать страницы и обеспечивает возможность визуализации смежных страниц из памяти на клиентском компьютере 102. Возможны другие способы для вычисления порогового значения объектов.

Серверный компьютер 112 открывает часть документа, соответствующую размеру порогового значения объектов, и начинает отправку объектов из документа клиентскому компьютеру 102. При достижении порогового значения объектов, серверный компьютер 112 продолжает отправку объектов клиентскому компьютеру 102 до тех пор, пока не будет достигнут конец объекта самого высокого уровня. Отправка до тех пор, пока не будет достигнут конец объекта самого высокого уровня, гарантирует то, что открытая часть документа разбита на объекты самого высокого уровня, вместо разбиения в середине абзаца или таблицы, например. При достижении порогового значения объектов и при достижении конца объекта самого высокого уровня, серверный компьютер 112 останавливает отправку объектов клиентскому компьютеру 102.

Фигура 3 показывает иллюстрацию использования области 308 памяти клиентского компьютера 102 для загрузки и хранения отрытой части документа, переданной от серверного компьютера 112 клиентскому компьютеру 102. Область 308 памяти является переменной по размеру, чтобы вмещать разные размеры объектов самого высокого уровня. Характерная область 308 памяти хранит данные частей трех страниц открытой части документа. В других примерах может храниться другой размер памяти, содержащий большее или меньшее число страниц или частей страниц.

На Фигуре 3, страница 304, показанная с помощью рамки в виде жирной черной линии, соответствует странице данных документа визуализируемых на клиентском компьютере 102. Страница 304 включает в себя три характерных объекта самого высокого уровня - объекты 316, 318 и 320. Страница 302 соответствует странице документа, предшествующей странице 304, а страница 306 соответствует странице документа, следующей за страницей 304. На Фигуре 3, лишь часть страниц 302 и 306 фактически загружена в область 308 памяти на клиентском компьютере 102. Например, объекты 312 и 314 страницы 302 загружены в область 308 памяти, тогда как объект 310 не загружен. Аналогичным образом, объекты 320, 322, 324 загружены в область 308 памяти, тога как объект 326 не загружен.

Как рассмотрено ранее, серверный компьютер 112, как правило, отправляет данные открытого документа клиентскому компьютеру 102, соответствующие одной странице визуализируемых данных плюс дополнительная секция документа. На Фигуре 3, страница 304 соответствует визуализируемой странице. Объекты 312 и 314 страницы 302 и объекты 320, 322 и 324 страницы 306 соответствуют дополнительной секции документа. Причина загрузки и хранения дополнительной секции документа состоит в том, что необходимо обеспечить гладкую прокрутку документа пользователем.

Например, если пользователь осуществляет прокрутку ниже нижней границы страницы 304, то объект 320, уже сохраненный в памяти на клиентском компьютере 102, доступен для просмотра без какой-либо дополнительной загрузки. Аналогичным образом, если пользователь осуществляет прокрутку вверх выше верхней границы страницы 304, то объект 314 уже загружен в память на клиентском компьютере 102 и так же доступен для просмотра без какой-либо дополнительной загрузки.

Как показано на Фигуре 3, первым объектом, загруженным и сохраненным в области 308 памяти, является объект 312, а последним объектом, загруженным и сохраненным в области 308 памяти, является объект 324. Область 308 памяти хранит полные объекты самого высокого уровня. Верхняя часть области 308 памяти, обозначенная элементом 328, соответствует первой строке объекта 312 самого высокого уровня. Аналогичным образом, нижняя часть области 308 памяти, обозначенная элементом 330, соответствует последней строке объекта 324 самого высокого уровня. Когда пользователь осуществляет прокрутку по направлению к нижней части страницы 304 таким образом, что часть страницы 306 визуализируется на экране отображения клиентского компьютера 102, то объект 312 может переместиться из области 308 памяти, а объект 326 может переместиться в область 308 памяти.

Таким образом, область 308 памяти регулируется по размеру, чтобы включать в себя новые объекты самого высокого уровня и удалять старые объекты самого высокого уровня. Кроме того, как рассматривается ниже, объекты самого высокого уровня, которые удаляются из области 308 памяти, могут выгружаться из клиентского компьютера 102, а дополнительные объекты могут приниматься от серверного компьютера 112 и сохраняться в области 308 памяти.

Фигура 4 показывает пример области 402 памяти на клиентском компьютере 102, соответствующую моменту, когда часть документа с Фигуры 2 исходно открывается на клиентском компьютере 102 и принимается от серверного компьютера 112. Характерная часть документа, загружаемая и сохраняемая в области 402 памяти, включает в себя первую страницу документа 200 и часть второй страницы 404 документа. В примерах, вся вторая страница 404 документа может быть загружена и сохранена в области 402 памяти.

Первая страница документа 200 визуализируется на экране отображения клиентского компьютера 102. Как правило, страница или часть страницы документа, предшествующая визуализируемой странице, так же загружена и сохранена в области 402 памяти. Тем не менее, применительно к данному примеру, так как визуализируемой страницей является первая страница документа, то отсутствует контент для загрузки, который предшествует первой странице. В данном примере, это указано пустой страницей 401, которая предшествует первой странице документа 200. В данном примере, часть области 402 памяти выше той, в которую загружена страница 200, не используется для того чтобы обеспечить пространство памяти для сохранения страницы 200, когда пользователь выполнит прокрутку до нижней части страницы 200 и до страницы 402. Здесь более подробно будет рассмотрена реализация прокрутки в области 402 памяти.

Как показано на Фигуре 4, первая страница 200 документа включает в себя объекты 202, 204, 206 и 208 и часть объекта 210. Вторая страница 404 документа включает в себя оставшуюся часть объекта 210, а также включает в себя объекты 408, 410 и 412. Тем не менее, в данном примере, так как загружается лишь часть второй страницы 404, то объект 412 выпадает из области 402 памяти и фактически не загружен и не сохранен на клиентском компьютере 102 в данный момент. Объект 412 показан на Фигуре 4, чтобы проиллюстрировать то, что объект 412 является частью страницы 404.

Все объекты 202, 204, 206, 208, 408, 410 и 412 являются объектами самого высокого уровня, что означает, применительно к данному примеру, что они являются абзацами, таблицами, списками или изображениями. Когда серверный компьютер 112 определяет размер открываемой части документа на основании порогового значения объектов, вычисленного серверным компьютером 112, то серверный компьютер продолжает проходить до объекта, соответствующего пороговому значению объектов, до тех пор, пока не достигнет конца объекта самого высокого уровня, который включает в себя объект, соответствующий пороговому значению объектов. Как показано на Фигуре 4, последним загруженным и сохраненным в области 402 памяти объектом самого высокого уровня является объект 410. Последняя строка 406 объекта 410 соответствует концу области 402 памяти.

Когда серверный компьютер 112 отправляет часть документа клиентскому компьютеру 102, то серверный компьютер 112 также предоставляет индикацию того, что на серверном компьютере 112 доступна еще часть документа. Серверный компьютер 112 может предоставлять индикацию того, что доступна еще часть документа, посредством установки флага в сообщении, используемом для отправки части документа клиентскому компьютеру 102. Флаг, как правило, устанавливается, когда доступна еще часть документа. Вместо использования флага, серверный компьютер 112 может включать в сообщение ID последнего объекта в отправленной части документа и ID последнего объекта в документе. Посредством оценки ID, клиентский компьютер 102 может определить, доступна ли еще часть документа на серверном компьютере 112. Сообщения, отправляемые между клиентским компьютером 102 и серверным компьютером 112, являются стандартными основанными на web сообщениями, по протоколу связи HTTP.

Когда пользователь начинает прокрутку визуализированного документа и весь документ не загружен на клиентский компьютер 102, то клиентский компьютер 102 определяет, что требуется открыть и загрузить еще часть документа на клиентский компьютер 102. Клиентский компьютер 102 определяет, что требуется получить еще часть документа на основании степени прокрутки. В примерах, клиент вычисляет количество объектов самого высокого уровня, которые были прокручены, и когда количество прокрученных объектов самого высокого уровня больше порогового значения, например порогового значения соответствующего половине страницы визуализированных данных, тогда клиентский компьютер 102 запрашивает дополнительную часть документа у серверного компьютера 112. В примерах, пороговое значение может быть больше либо меньше половины страницы. Например, пороговым значением может быть одна страница или три четверти страницы.

Фигура 5 показывает пример области 402 памяти, когда пользователь выполняет прокрутку вниз на одну страницу в документе. Как показано на Фигуре 5, частью документа, визуализируемой пользователю, является страница 404, содержащая объекты 408, 410 и 412 и часть объекта 210. Верхняя часть области 402 памяти выровнена с верхней строкой 504 объекта 206. Объекты 202 и 204 теперь находятся вне области 402 памяти. В примерах, когда объекты перемещаются за пределы области 402 памяти в результате прокрутки, объекты могут выгружаться из клиентского компьютера 102 с тем, чтобы сэкономить ресурсы памяти на клиентском компьютере 102. Например, объекты 202 и 204 памяти могут быть выгружены клиентским компьютером 102. Когда объекты 202 и 204 памяти выгружаются клиентским компьютером 102, то требуется, чтобы эти объекты памяти были вновь получены от серверного компьютера 112, когда пользователь выполняет прокрутку к началу документа.

Фигура 5 также показывает, что в результате прокрутки на одну страницу вниз в документе, серверный компьютер 112 загружает следующую страницу в документе, представленную страницей 502, в область 402 памяти. В данном примере, следующей страницей в документе является изображение, соответствующее объекту 510. Поскольку серверный компьютер 112 отправляет объекты самого высокого уровня клиентскому компьютеру 102, то нижняя часть области 402 памяти регулируется в соответствии с последней строкой 506 объекта 510.

В примерах, серверный компьютер 112 отправляет следующую страницу документа (соответствующую объекту 506), в качестве результата сообщения запроса от клиентского компьютера 102. Клиентский компьютер отправляет сообщение запроса серверному компьютеру 102, когда клиентский компьютер 102 обнаруживает тот факт, что пользователь выполнил прокрутку вниз на одну страницу. Сообщение запроса предписывает серверному компьютеру 112 открыть дополнительную часть документа, в данном случае, соответствующую одной странице, и отправить дополнительную часть документа клиентскому компьютеру 102. В примерах, клиентский компьютер 102 может выдать запрос серверному компьютеру 112 в качестве результата выполнения пользователем прокрутки больше или меньше чем на одну страницу.

В дополнение к прокрутке и просмотру частей документа на клиентском компьютере 102, пользователь может редактировать одну или более частей документа или добавлять контент в документ. Как было рассмотрено, каждый объект в документе идентифицируется уникальным номером ID. Когда пользователь редактирует часть документа, то отредактированные объекты идентифицируются и обновляются применительно к открытой части документа на серверном компьютере 112. Если добавляется новый объект, например новое слово, предложение или абзац, то номер ID формируется для слова, предложения или абзаца. В примерах, номера ID существующих объектов могут регулироваться для отражения позиции добавленного слова, предложения или абзаца. В дополнение, так как открыта лишь часть документа и известны ID отредактированных объектов, то документ может редактироваться, а изменения сохраняться на серверном компьютере 112, не требуя открытия всего документа.

Фигура 6 показывает характерную блок-схему способа 600 для открытия части документа на клиентском компьютере. Например, часть документа может быть открыта в web-браузере 106 на клиентском компьютере 102. В качестве альтернативы, часть документа может быть открыта в клиентском приложении, например, в приложении 108 обработки текстов Microsoft Word® на клиентском компьютере 104. Документ, который должен быть открыт, хранится на серверном компьютере, например, серверном компьютере 112.

На операции 602, сообщение запроса отправляется от клиентского компьютера 102 серверному компьютеру 112 на открытие части документа. Сообщение запроса включает в себя информацию, указывающую размер открываемой части документа. Например, сообщение запроса может включать в себя указание, показывающее количество объектов, которое должно быть включено в часть документа. В качестве альтернативы, сообщение запроса может включать в себя один или более параметров, предоставляющих информацию, которая относится к отображению информации на клиентском компьютере 102. Информация может включать в себя такие элементы, как размер экрана отображения, размер шрифта и разрешение отображения в пикселях.

На операции 604, первая часть документа принимается от серверного компьютера 112. Первая часть документа, как правило, включает в себя первую страницу документа, плюс дополнительный объем документа, как правило, страницу или часть страницы. В примерах, размер первой части документа может включать в себя размер больший или меньший данного размера. Причина для включения больше одной страницы документа, состоит в том, чтобы предоставить возможность пользователю клиентского компьютера 102 выполнять прокрутку вслед за первой страницей и чтобы вторая страница, или часть второй страницы, быстро отображались из памяти на клиентском компьютере 102.

В дополнение к отправке первой части документа, серверный компьютер 112 также указывает клиентскому компьютеру, доступна ли еще часть документа. Серверный компьютер 112 может указывать на то, что доступна еще часть документа посредством установки флага в сообщении, отправляемом серверным компьютером 112 клиентскому компьютеру 102. Возможны другие способы для указания того, что доступна еще часть документа. Например, серверный компьютер 112 может включать ID последнего объекта в документе и ID последнего объекта в отправленной части. Затем клиентский компьютер 102 может сравнить ID для определения того, что доступна еще часть документа.

На операции 606, первая часть документа, принятая от серверного компьютера 112, загружается в первую область памяти на клиентском компьютере 102. Первая область памяти является областью памяти на клиентском компьютере 102, предназначенной для хранения части документа. Как правило, область памяти достаточно большая для хранения двух или трех страниц документа, несмотря на то, что в примерах, область памяти может хранить больше или меньше чем две или три страницы документа. Область памяти, достаточно большая для хранения двух страниц документа, позволяет сохранять текущую страницу плюс половину предшествующей страницы и половину последующей страницы. Область памяти, достаточно большая для хранения трех страниц, позволяет сохранять текущую страницу плюс целиком предшествующую страницу и целиком последующую страницу. В примерах, область памяти известна как окно просмотра, так как часть документа визуализируется из области памяти.

Часть документа, полученная от серверного компьютера 112 и сохраненная в области памяти, состоит из одного или более объектов. Каждый объект представляет собой определенную часть документа, такую как слово, предложение, абзац, таблица, ячейка таблицы и т.д. Каждый объект имеет уникальный ID. В дополнение, один или более из объектов назначены в качестве объектов самого высокого уровня. Объектами самого высокого уровня являются объекты в документе, которые содержат один или более других объектов. Например, абзац является объектом самого высокого уровня, который включает в себя один или более объектов-предложений и объектов-слов.

Объекты в части документа, хранящейся в области памяти, организованы в рамках объектов самого высокого уровня. Таким образом, область памяти начинается с первой строки объекта самого высокого уровня и область памяти заканчивается последней строкой объекта самого высокого уровня. Объекты самого высокого уровня, как правило, содержат одну или более строк XML кода. Область памяти является регулируемой по размеру, чтобы регулироваться по размеру последнего объекта самого высокого уровня в области памяти.

На операции 608, вторая часть документа визуализируется на экране отображения клиентского компьютера 102. Как правило, вторая часть содержит страницу данных документа. Вторая часть документа визуализируется из области памяти на клиентском компьютере 102 и содержит часть первой части документа. Страница 200 с Фигуры 4 и страница 404 с Фигуры 5 являются примерами страниц документа, визуализируемых из области памяти клиентского компьютера 102.

На операции 610, пользователь выполняет прокрутку по документу. На операции 612, выполняется определение того, доступна ли на серверном компьютере 112 еще часть документа. В примерах, определение затрагивает проверку статуса флага в сообщении, отправленном серверным компьютером 112 клиентскому компьютеру 102 с первой частью документа на операции 604. В других примерах, клиентский компьютер 102 может сравнить последний ID в части документа, отправленной серверным компьютером 112, с последним ID в документе.

На операции 614, когда выполнено определение, что на серверном компьютере 112 доступна еще часть документа, клиентский компьютер 102 определяет, когда получить еще часть документа от серверного компьютера 112. В примерах, клиентский компьютер определяет, что требуется получить еще часть документа от серверного компьютера 112 после того как страница документа была прокручена пользователем. В других примерах, клиентский компьютер определяет, что требуется получить еще часть документа от серверного компьютера 112 всякий раз, когда пользователь прокручивает любую часть документа на клиентском компьютере 102. Возможны другие примеры.

На операции 616, когда на клиентском компьютере 102 выполнено определение того, что требуется получить еще часть документа от серверного компьютера 112, клиентский компьютер 102 отправляет сообщение запроса серверному компьютеру 112 в отношении третьей части документа. Сообщение запроса включает в себя информацию о размере третьей части документа. В примерах, информация, которая относится к размеру документа, может включать в себя указание количества объектов, которое должно быть включено в третью часть документа. В примерах, информация, которая относится к размеру документа, может включать в себя один или более параметров, указывающих объем, на который прокручен визуализированный на клиентском компьютере 102 документ. Серверный компьютер 112 использует информацию, которая относится к размеру документа, для определения размера третьей части документа.

На операции 618, третья часть документа принимается от серверного компьютера 112. На этапе 620, третья часть документа загружается в первую область памяти. Когда третья часть документа загружается в первую область памяти, из-за того что пользователь прокрутил вниз документ, то третья часть документа добавляется к концу первой области памяти. Первая область памяти увеличивается в размере, чтобы охватывать размер третьей части документа. Конец третьей части документа является объектом самого высокого уровня, а конец данного объекта самого высокого уровня соответствует концу первой области памяти.

В примерах, когда третья часть документа добавляется в первую область памяти, то часть документа, аналогичная по размеру третьей части документа, как правило, выгружается из первой области памяти. Выгрузка части документа из первой области памяти сокращает потребление памяти на клиентском компьютере 102.

На операции 622, четвертая часть документа выгружается из первой области памяти. Четвертая часть документа является подмножеством первой части документа. Как описано выше, четвертая часть документа, как правило, аналогична по размеру третьей части документа. Четвертая часть документа, как правило, аналогична по размеру третьей части документа, но не идентична третьей части документа, так как первая область памяти заканчивается на объекте самого высокого уровня, а размер объектов самого высокого уровня в первой и третьей частях документа может отличаться. Выгрузка четвертой части документа из первой области памяти, когда третья часть документа добавляется в первую область памяти, регулирует потребление памяти на клиентском компьютере 102.

На операции 624, пользователь редактирует часть документа, визуализированного на клиентском компьютере 102. В примерах, документ может редактироваться в любой момент времени, когда документ отображается на клиентском компьютере 102. Это включает в себя момент времени когда документ исходно отображается или после того как документ прокручен. Несмотря на то, что Фигура 6 показывает редактирование документа, когда больше не доступна еще часть документа на серверном компьютере 112, это лишь всего один пример момента, когда может редактироваться документ.

На операции 626, пользователь сохраняет отредактированную часть документа на клиентском компьютере 102. Как правило, пользователь сохраняет отредактированную часть документа путем нажатия или щелчка на кнопке сохранения на клиентском компьютере 102. На операции 628, клиентский компьютер 102 отправляет сообщение запроса серверному компьютеру 112, чтобы запросить сохранение отредактированной части документа серверным компьютером 112. Серверный компьютер 112 сохраняет отредактированную часть документа, не требуя открытия или сохранения документа целиком. Сохраняется лишь открытая часть документа.

Фигура 7 показывает пример блок-схемы способа 700 для открытия части документа на серверном компьютере, например, серверном компьютере 112. На операции 702, серверный компьютер 112 принимает сообщение запроса от клиентского компьютера 102 на открытие части документа, который хранится на серверном компьютере 112. Сообщение запроса включает в себя информацию, которая относится к размеру открываемой части документа. В примерах, информация может включать в себя указание количества открываемых объектов в документ