RU2575684C2 - Partial loading and editing of documents from server - Google Patents

Partial loading and editing of documents from server Download PDF

Info

Publication number
RU2575684C2
RU2575684C2 RU2013119971/08A RU2013119971A RU2575684C2 RU 2575684 C2 RU2575684 C2 RU 2575684C2 RU 2013119971/08 A RU2013119971/08 A RU 2013119971/08A RU 2013119971 A RU2013119971 A RU 2013119971A RU 2575684 C2 RU2575684 C2 RU 2575684C2
Authority
RU
Russia
Prior art keywords
document
server computer
client computer
objects
computer
Prior art date
Application number
RU2013119971/08A
Other languages
Russian (ru)
Other versions
RU2013119971A (en
Inventor
Джереми Макс СТИВЕНС
Роберт РОЛЬНИК
Чжэньцзюнь ЧЖУ
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/942,118 external-priority patent/US10911550B2/en
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2013119971A publication Critical patent/RU2013119971A/en
Application granted granted Critical
Publication of RU2575684C2 publication Critical patent/RU2575684C2/en

Links

Images

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to a method of accessing a document on a client computer. At the client computer, a request is sent to a server computer to open a first portion of a document. The document is stored on the server computer. The first portion of the document is smaller than the entire document. The request includes information which is used by the server computer to determine the size of the first portion of the document. The first portion of the document is received from the server computer. The second portion of the document is rendered on the display screen of the client computer. The second portion of the document is a subset of the first portion of the document. When the client computer determines that the user has scrolled the third portion of the document and when the client computer determines that more of the document is available at the server computer, a second request is sent to the server computer to open an additional portion of the document.
EFFECT: providing real-time document processing.
10 cl, 9 dwg

Description

Уровень техникиState of the art

Документы, к которым осуществляют доступ клиентские компьютеры, как правило, хранятся на серверных компьютерах или в базах данных по всей сети. Как правило, доступ к документу включает в себя просмотр документа, хранящегося на серверном компьютере, через web-браузер на клиентском компьютере, и редактирование документа, хранящегося на серверном компьютере, через прикладную программу на клиентском компьютере.Documents accessed by client computers are typically stored on server computers or in databases throughout the network. Typically, access to a document includes viewing a document stored on a server computer through a web browser on a client computer, and editing a document stored on a server computer through an application program on a client computer.

При осуществлении доступа к документу на клиентском компьютере по сети могут возникнуть временные задержки из-за расстояний передачи, размера документа и из-за других факторов.When accessing a document on a client computer over a network, time delays may occur due to transmission distances, document size, and other factors.

Сущность изобретенияSUMMARY OF THE INVENTION

Это краткое изложение сущности изобретения предоставлено в качестве ознакомления в упрощенном виде с подборкой концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для установления ключевых признаков или неотъемлемых признаков изобретения, ни для использования в качестве средства при определении объема заявленного изобретения.This summary of the invention is provided as a simplified introduction to a selection of concepts, which are further described below in the detailed description. This summary of the invention is not intended to establish key features or integral features of the invention, nor for use as a means in determining the scope of the claimed invention.

Варианты осуществления изобретения направлены на способ осуществления доступа к документу на клиентском компьютере. На клиентском компьютере, первый запрос отправляется серверному компьютеру на открытие первой части документа. Документ хранится на серверном компьютере. Первая часть документа меньше всего документа. Запрос включает в себя информацию, которая используется серверным компьютером для определения размера первой части документа. На клиентском компьютере, первая часть документа принимается от серверного компьютера. После того как первая часть документа принята от серверного компьютера, вторая часть документа визуализируется на экране отображения клиентского компьютера. Вторая часть документа является подмножеством первой части документа. На клиентском компьютере, выполняется определение того, что еще часть документа доступна на серверном компьютере. На клиентском компьютере, выполняется определение того, что пользователь прокрутил третью часть документа на экране отображения на клиентском компьютере. Когда клиентский компьютер определяет, что пользователь прокрутил третью часть документа, и когда клиентский компьютер определяет, что еще часть документа доступна на серверном компьютере, то второй запрос отправляется серверному компьютеру на открытие дополнительной части документа.Embodiments of the invention are directed to a method for accessing a document on a client computer. On the client computer, the first request is sent to the server computer to open the first part of the document. The document is stored on the server computer. The first part of the document is the smallest document. The request includes information that is used by the server computer to determine the size of the first part of the document. On the client computer, the first part of the document is received from the server computer. After the first part of the document is received from the server computer, the second part of the document is visualized on the display screen of the client computer. The second part of the document is a subset of the first part of the document. On the client computer, it is determined that another part of the document is available on the server computer. On the client computer, it is determined that the user has scrolled the third part of the document on the display screen on the client computer. When the client computer determines that the user has scrolled the third part of the document, and when the client computer determines that another part of the document is available on the server computer, the second request is sent to the server computer to open an additional part of the document.

Эти и прочие признаки и преимущества станут очевидными из прочтения нижеследующего подробного описания и просмотра связанных чертежей. Следует понимать, что как предшествующее общее описание, так и нижеследующее подробное описание являются пояснительными и не ограничивают аспекты в соответствии с тем, что заявлено.These and other features and advantages will become apparent from reading the following detailed description and viewing the related drawings. It should be understood that both the foregoing general description and the following detailed description are explanatory and do not limit the aspects in accordance with what is stated.

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

Фигура 1 показывает характерную систему, используемую при доступе к документам по сети.Figure 1 shows a typical system used when accessing documents over a network.

Фигура 2 показывает страницу характерного документа, который хранится на серверном компьютере с Фигуры 1.Figure 2 shows a page of a representative document that is stored on the server computer of Figure 1.

Фигура 3 показывает характерное хранение документов в характерной области памяти на клиентском компьютере с Фигуры 1.Figure 3 shows the characteristic storage of documents in a characteristic area of memory on the client computer from Figure 1.

Фигура 4 показывает другое характерное хранение документов в характерной области памяти на клиентском компьютере с Фигуры 1.Figure 4 shows another characteristic storage of documents in a characteristic memory area on the client computer of Figure 1.

Фигура 5 показывает еще один другой пример хранения документов в характерной области памяти на клиентском компьютере с Фигуры 1.Figure 5 shows another other example of storing documents in a characteristic memory area on a client computer from Figure 1.

Фигура 6 показывает характерный способ открытия части документа на клиентском компьютере.Figure 6 shows a typical way of opening part of a document on a client computer.

Фигура 7 показывает характерный способ открытия части документа на серверном компьютере.Figure 7 shows a typical way of opening part of a document on a server computer.

Фигура 8 показывает характерный способ определения порогового значения объектов для открываемой части документа с Фигуры 7.Figure 8 shows a typical way of determining the threshold value of objects for the open part of the document from Figure 7.

Фигура 9 показывает пример компонентов клиентских компьютеров и серверного компьютера с Фигуры 1.Figure 9 shows an example of components of client computers and a server computer from Figure 1.

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

Настоящая заявка направлена на системы и способы для частичной загрузки и редактирования документов, хранящихся на серверном компьютере.This application is directed to systems and methods for partial download and editing of documents stored on a server computer.

В характерных вариантах осуществления, когда на клиентском компьютере осуществляют доступ к документу, хранящемуся на серверном компьютере, то серверный компьютер открывает лишь часть документа и отправляет открытую часть документа на клиентский компьютер. Размер открытой части документа, как правило, соответствует размеру документа, который может уместиться на экране отображения на клиентском компьютере плюс небольшая часть документа, чтобы обеспечить прокрутку. Часть документа, которая открывается, загружается в память на клиентском компьютере. Посредством открытия лишь части документа, вместо всего документа, и загрузки данной части документа на клиентский компьютер, документ может визуализироваться на клиентском компьютере быстрее, чем если бы открывался весь документ.In representative embodiments, when a document stored on a server computer is accessed on a client computer, the server computer opens only part of the document and sends the open part of the document to the client computer. The size of the open part of the document, as a rule, corresponds to the size of the document, which can fit on the display screen on the client computer, plus a small part of the document to provide scrolling. The part of the document that opens is loaded into memory on the client computer. By opening only a part of the document, instead of the entire document, and downloading this part of the document to the client computer, the document can be visualized on the client computer faster than if the entire document were opened.

В данном раскрытии, открытие части документа относится к получению дескриптора для документа на серверном компьютере и отправке части документа клиентскому компьютеру.In this disclosure, opening a portion of a document refers to receiving a handle to a document on a server computer and sending a portion of the document to a client computer.

Фигура 1 показывает характерную систему 100, используемую при осуществлении доступа к документам по сети. Характерная система 100 включает в себя клиентские компьютеры 102, 104, сеть 110 и серверный компьютер 112. Может использоваться больше или меньше клиентских компьютеров и серверных компьютеров.Figure 1 shows a representative system 100 used in accessing documents over a network. The representative system 100 includes client computers 102, 104, a network 110, and a server computer 112. More or less client computers and server computers can be used.

Серверный компьютер 112 доступен клиентским компьютерам 102 и 104 по сети 110. Примерами сети 110 являются сеть Интернет и корпоративная Интрасеть. Возможны другие примеры сети 110.Server computer 112 is accessible to client computers 102 and 104 via network 110. Examples of network 110 are the Internet and a corporate Intranet. Other examples of network 110 are possible.

Характерный клиентский компьютер 102 включает в себя web-браузер 106, а характерный клиентский компьютер 104 включает в себя клиентское приложение 108 программного обеспечения. Характерным клиентским приложением программного обеспечения является программа обработки текстов Microsoft Word® 2010 от Microsoft Corporation, Редмонд, Вашингтон.The representative client computer 102 includes a web browser 106, and the representative client computer 104 includes a software client application 108. A typical software client application is the Microsoft Word® 2010 word processing program from Microsoft Corporation, Redmond, Wash.

Когда доступ к документу, хранящемуся на серверном компьютере 112, осуществляют посредством web-браузера 106 на клиентском компьютере 102, то клиентский компьютер 102 отправляет запрос на открытие документа серверному компьютеру 112. Как правило, запрос включает в себя один или более параметров, которые относятся к отображению информации на клиентском компьютере 102. Например, один параметр может указывать размер экрана отображения на клиентском компьютере 102, на котором будет визуализироваться документ. Другой параметр может указывать размер шрифта, с которым будет визуализироваться документ. Третий параметр может указывать разрешение экрана отображения в пикселях. Могут использоваться другие характерные параметры.When a document stored on the server computer 112 is accessed via a web browser 106 on the client computer 102, the client computer 102 sends a request to open the document to the server computer 112. Typically, the request includes one or more parameters that relate to displaying information on the client computer 102. For example, one parameter may indicate the size of the display screen on the client computer 102 on which the document will be rendered. Another parameter may indicate the font size with which the document will be rendered. The third parameter may indicate the resolution of the display screen in pixels. Other characteristic parameters may be used.

Когда характерный серверный компьютер 112 принимает запрос на открытие документа, серверный компьютер 112 определяет, что документ должен быть частично открыт. В некоторых примерах, серверный компьютер 112 определяет, что документ должен быть частично открыт, посредством обнаружения присутствия одного или более параметров, которые относятся к отображению информации на клиентском компьютере 102. В других примерах, запрос на открытие документа может включать в себя функциональный код, указывающий на то, что документ должен быть частично открыт. Возможно применение других средств в отношении серверного компьютера 112, для определения того, что документ должен быть частично открыт.When the representative server computer 112 receives the request to open the document, the server computer 112 determines that the document should be partially opened. In some examples, the server computer 112 determines that the document should be partially opened by detecting the presence of one or more parameters that relate to the display of information on the client computer 102. In other examples, the request to open the document may include a function code indicating that the document should be partially open. You can use other means in relation to the server computer 112, to determine that the document should be partially open.

Серверный компьютер 112 использует информацию, включенную в один или более параметров, для определения того, какая по размеру часть документа должна быть отправлена клиентскому компьютеру 102. Серверный компьютер 112 определяет, какая по размеру часть документа уместится в размере экрана отображения на клиентском компьютере 102. Когда серверный компьютер 112 определяет, какая по размеру часть документа уместиться в размере экрана отображения на клиентском компьютере 102, то серверный компьютер 112 открывает документ в отношении полученного в результате определения размера плюс дополнительный размер. Дополнительный размер представляет собой часть документа, которая загружается на клиентский компьютер 102, но в настоящий момент не отображается. Например, при открытии документа, дополнительный размер может соответствовать одному экрану отображения ниже исходной части документа, которая умещается на одном экране отображения. Когда пользователь клиентского компьютера 102 осуществляет прокрутку за пределы первого отображаемого экрана документа, то второй экран документа уже загружен и готов к отображению.The server computer 112 uses the information included in one or more parameters to determine which size part of the document should be sent to the client computer 102. The server computer 112 determines what size part of the document will fit in the size of the display screen on the client computer 102. When the server computer 112 determines what size part of the document fits in the size of the display screen on the client computer 102, then the server computer 112 opens the document in relation to the received ultate determining the size plus an additional resolution. The extra size is the part of the document that is downloaded to the client computer 102, but is not currently displayed. For example, when opening a document, the extra size may correspond to one display screen below the original part of the document, which fits on one display screen. When a user of the client computer 102 scrolls beyond the first displayed screen of the document, the second screen of the document is already loaded and ready for display.

Когда серверный компьютер 112 определяет, какую по размеру часть документа открыть, серверный компьютер 112 отправляет часть документа, которую серверный компьютер открыл, клиентскому компьютеру 102. Когда клиентский компьютер 102 принимает часть документа от серверного компьютера 112, то клиентский компьютер 102 загружает принятую часть документа в память клиентского компьютера 102. Затем клиентский компьютер 102 визуализирует первую страницу документа на экране отображения на клиентском компьютере 102.When the server computer 112 determines which size part of the document to open, the server computer 112 sends the part of the document that the server computer opened to the client computer 102. When the client computer 102 receives a part of the document from the server computer 112, the client computer 102 loads the received part of the document into the memory of the client computer 102. Then, the client computer 102 renders the first page of the document on the display screen on the client computer 102.

Фигура 2 показывает страницу характерного документа 200, который хранится на серверном компьютере 112. Страница характерного документа 200 включает в себя пять объектов самого высокого уровня - четыре абзаца и одну таблицу. Используемое в настоящем раскрытии понятие объект является определенным компонентом документа. Характерные объекты включают в себя абзацы, таблицы, изображения, предложения, слова, ячейки таблицы и гиперссылки. Возможны другие примеры объектов. Такие объекты как абзацы, таблицы и изображения являются объектами самого высокого уровня, потому что они могут включать в себя дополнительные встроенные объекты. Например, объект-абзац может включать в себя один или более объектов-предложений. Возможны другие объекты самого высокого уровня. Каждый объект самого высокого уровня имеет уникальный идентификатор. Таким образом, каждый абзац, предложение, слово, изображение, таблица и ячейка таблицы, и т.д., в документе являются уникально идентифицируемыми.Figure 2 shows a page of feature document 200, which is stored on server computer 112. The page of feature document 200 includes five objects of the highest level - four paragraphs and one table. Used in the present disclosure, the concept of an object is a specific component of the document. Representative objects include paragraphs, tables, images, sentences, words, table cells, and hyperlinks. Other examples of objects are possible. Objects such as paragraphs, tables, and images are objects of the highest level because they can include additional built-in objects. For example, a paragraph object may include one or more sentence objects. Other objects of the highest level are possible. Each object of the highest level has a unique identifier. Thus, each paragraph, sentence, word, image, table and table cell, etc., in a document are uniquely identifiable.

Первым объектом самого высокого уровня в характерном документе 200 является абзац 202. Характерный абзац 202 идентифицируется ID # 100. Другие объекты самого высокого уровня в документе 200 включают в себя абзац 204 (ID # 200), абзац 206 (ID # 300), таблицу 208 (ID # 400) и абзац 210 (ID # 500). В примерах, объекты, встроенные в другой объект, такие как предложения в абзацах или слова в предложениях могут иметь ID, связанный с объектом более высокого уровня. Например, первое предложение в абзаце 202 может идентифицироваться числом 110, а первое слово в первом предложении может идентифицироваться числом 101. В примерах, числа ID могут быть другого формата. Идентификация каждого объекта в документе с помощью уникального ID способствует редактированию документа, как будет здесь рассмотрено более подробно.The first highest-level object in feature document 200 is paragraph 202. Characteristic paragraph 202 is identified by ID # 100. Other top-level objects in document 200 include paragraph 204 (ID # 200), paragraph 206 (ID # 300), table 208 (ID # 400) and paragraph 210 (ID # 500). In the examples, objects embedded in another object, such as sentences in paragraphs or words in sentences, may have an ID associated with a higher level object. For example, the first sentence in paragraph 202 may be identified by the number 110, and the first word in the first sentence may be identified by the number 101. In the examples, the ID numbers may be of a different format. Identification of each object in the document using a unique ID helps to edit the document, as will be discussed in more detail here.

Документы, как правило, хранятся на серверном компьютере 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.Documents are typically stored on server computer 112 in a document-specific format. For example, a Microsoft Word® word processing application document is typically stored in a format compatible with a Word® word processing application document. For some versions of the Microsoft Word® word processing application, the format may be XML. For other versions of the Microsoft Word® word processing application, the format may be a proprietary format. However, when a Word® word processing application document is rendered in the web browser of the client computer 102, the Word® word processing application document is rendered in a format compatible with the web browser, for example, in HTML format. Server computer 112 sends the open portion of the document to client computer 102 in a format that client computer 102 can convert to HTML. In the examples, when the server computer 112 opens a portion of the document to be rendered on the client computer 102, the server computer 112 can convert the document from the format of the Word® word processing application to the XML format. Then, the server computer 112 sends the open part of the document to the client computer 102 in XML format.

Когда серверный компьютер 112 определяет открываемую часть документа, серверный компьютер 112 определяет пороговое значение в отношении количества объектов, которые будут включены в открытую часть документа. Серверный компьютер 112 может определить пороговое значение объектов посредством одного из нескольких способов. В одном способе, серверный компьютер 112 получает информацию, которая относится к экрану отображения клиентского компьютера 102, как представленную в одном или более параметрах, отправленных от клиентского компьютера 102 серверу 112 в запросе на открытие документа.When the server computer 112 determines the opening part of the document, the server computer 112 determines the threshold value with respect to the number of objects to be included in the open part of the document. Server computer 112 may determine a threshold value of objects by one of several methods. In one method, the server computer 112 receives information that relates to a display screen of the client computer 102 as represented in one or more parameters sent from the client computer 102 to the server 112 in a request to open a document.

Информация об экране отображения, включенная в один или более параметров, может включать в себя размер экрана отображения, размер шрифта, используемого на экране отображения, и разрешение экрана отображения в пикселях. При помощи информации об экране отображения, серверный компьютер 112 определяет количество объектов, которые уместятся на экране отображения. В другом способе, количество объектов, которые уместятся на экране отображения, определяется из указания, включенного в сообщение запроса от клиентского компьютера 102 на открытие части документа.Information about the display screen included in one or more parameters may include the size of the display screen, the font size used on the display screen, and the resolution of the display screen in pixels. Using the information on the display screen, the server computer 112 determines the number of objects that will fit on the display screen. In another method, the number of objects that will fit on the display screen is determined from the indication included in the request message from the client computer 102 to open part of the document.

Затем серверный компьютер 112 определяет дополнительное количество объектов, как правило, соответствующее одному или двум дополнительным размерам экрана отображения. Пороговое значение объектов соответствует сумме из количества объектов, которые уместятся на экране отображения плюс дополнительное количество объектов. Часть документа, соответствующая одному или более дополнительным размерам экрана отображения, позволяет пользователю клиентского компьютера 102 прокручивать страницы и обеспечивает возможность визуализации смежных страниц из памяти на клиентском компьютере 102. Возможны другие способы для вычисления порогового значения объектов.Then, the server computer 112 determines an additional number of objects, typically corresponding to one or two additional sizes of the display screen. The threshold value of the objects corresponds to the sum of the number of objects that fit on the display screen, plus an additional number of objects. A portion of the document corresponding to one or more additional sizes of the display screen allows the user of the client computer 102 to scroll through the pages and provides the ability to visualize adjacent pages from memory on the client computer 102. Other methods are possible for calculating the threshold value of objects.

Серверный компьютер 112 открывает часть документа, соответствующую размеру порогового значения объектов, и начинает отправку объектов из документа клиентскому компьютеру 102. При достижении порогового значения объектов, серверный компьютер 112 продолжает отправку объектов клиентскому компьютеру 102 до тех пор, пока не будет достигнут конец объекта самого высокого уровня. Отправка до тех пор, пока не будет достигнут конец объекта самого высокого уровня, гарантирует то, что открытая часть документа разбита на объекты самого высокого уровня, вместо разбиения в середине абзаца или таблицы, например. При достижении порогового значения объектов и при достижении конца объекта самого высокого уровня, серверный компьютер 112 останавливает отправку объектов клиентскому компьютеру 102.The server computer 112 opens the part of the document corresponding to the size of the threshold value of the objects, and starts sending objects from the document to the client computer 102. When the threshold value of the objects is reached, the server computer 112 continues sending objects to the client computer 102 until the end of the highest object is reached level. Sending until the end of the object of the highest level is reached, ensures that the open part of the document is divided into objects of the highest level, instead of being split in the middle of a paragraph or table, for example. Upon reaching the threshold value of the objects and upon reaching the end of the object of the highest level, the server computer 112 stops sending objects to the client computer 102.

Фигура 3 показывает иллюстрацию использования области 308 памяти клиентского компьютера 102 для загрузки и хранения отрытой части документа, переданной от серверного компьютера 112 клиентскому компьютеру 102. Область 308 памяти является переменной по размеру, чтобы вмещать разные размеры объектов самого высокого уровня. Характерная область 308 памяти хранит данные частей трех страниц открытой части документа. В других примерах может храниться другой размер памяти, содержащий большее или меньшее число страниц или частей страниц.Figure 3 shows an illustration of the use of the memory region 308 of the client computer 102 for loading and storing the open portion of a document transmitted from the server computer 112 to the client computer 102. The memory region 308 is variable in size to accommodate different sizes of objects of the highest level. The characteristic region 308 of the memory stores data of parts of three pages of the open part of the document. In other examples, a different memory size may be stored containing more or fewer pages or parts of pages.

На Фигуре 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 не загружен.In Figure 3, page 304, shown with a frame in a thick black line, corresponds to the document data page rendered on the client computer 102. Page 304 includes three characteristic objects of the highest level - objects 316, 318 and 320. Page 302 corresponds to the page of the document preceding page 304, and page 306 corresponds to the document page following page 304. In Figure 3, only a portion of pages 302 and 306 are actually loaded into the memory area 308 on client computer 102. For example, page objects 312 and 314 302 are loaded into memory area 308, while object 310 is not loaded. Similarly, objects 320, 322, 324 are loaded into the memory area 308, while as object 326 is not loaded.

Как рассмотрено ранее, серверный компьютер 112, как правило, отправляет данные открытого документа клиентскому компьютеру 102, соответствующие одной странице визуализируемых данных плюс дополнительная секция документа. На Фигуре 3, страница 304 соответствует визуализируемой странице. Объекты 312 и 314 страницы 302 и объекты 320, 322 и 324 страницы 306 соответствуют дополнительной секции документа. Причина загрузки и хранения дополнительной секции документа состоит в том, что необходимо обеспечить гладкую прокрутку документа пользователем.As previously discussed, server computer 112 typically sends open document data to client computer 102 corresponding to one page of rendered data plus an additional section of the document. In Figure 3, page 304 corresponds to the rendered page. Objects 312 and 314 of page 302 and objects 320, 322 and 324 of page 306 correspond to an additional section of the document. The reason for loading and storing an additional section of the document is that it is necessary to ensure smooth scrolling of the document by the user.

Например, если пользователь осуществляет прокрутку ниже нижней границы страницы 304, то объект 320, уже сохраненный в памяти на клиентском компьютере 102, доступен для просмотра без какой-либо дополнительной загрузки. Аналогичным образом, если пользователь осуществляет прокрутку вверх выше верхней границы страницы 304, то объект 314 уже загружен в память на клиентском компьютере 102 и так же доступен для просмотра без какой-либо дополнительной загрузки.For example, if the user scrolls below the lower border of page 304, then the object 320, already stored in memory on the client computer 102, is available for viewing without any additional download. Similarly, if the user scrolls up above the top of the page 304, then the object 314 is already loaded into memory on the client computer 102 and is also available for viewing without any additional loading.

Как показано на Фигуре 3, первым объектом, загруженным и сохраненным в области 308 памяти, является объект 312, а последним объектом, загруженным и сохраненным в области 308 памяти, является объект 324. Область 308 памяти хранит полные объекты самого высокого уровня. Верхняя часть области 308 памяти, обозначенная элементом 328, соответствует первой строке объекта 312 самого высокого уровня. Аналогичным образом, нижняя часть области 308 памяти, обозначенная элементом 330, соответствует последней строке объекта 324 самого высокого уровня. Когда пользователь осуществляет прокрутку по направлению к нижней части страницы 304 таким образом, что часть страницы 306 визуализируется на экране отображения клиентского компьютера 102, то объект 312 может переместиться из области 308 памяти, а объект 326 может переместиться в область 308 памяти.As shown in Figure 3, the first object loaded and stored in the memory area 308 is an object 312, and the last object loaded and stored in the memory area 308 is an object 324. The memory area 308 stores complete objects of the highest level. The upper part of the memory area 308, indicated by element 328, corresponds to the first line of the highest-level object 312. Similarly, the lower part of the memory area 308, indicated by element 330, corresponds to the last line of the highest level object 324. When the user scrolls toward the bottom of the page 304 so that part of the page 306 is rendered on the display screen of the client computer 102, then the object 312 can move from the memory area 308, and the object 326 can move to the memory area 308.

Таким образом, область 308 памяти регулируется по размеру, чтобы включать в себя новые объекты самого высокого уровня и удалять старые объекты самого высокого уровня. Кроме того, как рассматривается ниже, объекты самого высокого уровня, которые удаляются из области 308 памяти, могут выгружаться из клиентского компьютера 102, а дополнительные объекты могут приниматься от серверного компьютера 112 и сохраняться в области 308 памяти.Thus, the memory region 308 is sized to include new objects of the highest level and delete old objects of the highest level. In addition, as discussed below, the highest level objects that are deleted from the memory area 308 can be unloaded from the client computer 102, and additional objects can be received from the server computer 112 and stored in the memory area 308.

Фигура 4 показывает пример области 402 памяти на клиентском компьютере 102, соответствующую моменту, когда часть документа с Фигуры 2 исходно открывается на клиентском компьютере 102 и принимается от серверного компьютера 112. Характерная часть документа, загружаемая и сохраняемая в области 402 памяти, включает в себя первую страницу документа 200 и часть второй страницы 404 документа. В примерах, вся вторая страница 404 документа может быть загружена и сохранена в области 402 памяти.Figure 4 shows an example of a memory region 402 on a client computer 102, corresponding to the moment when a portion of the document from Figure 2 is initially opened on a client computer 102 and received from the server computer 112. A representative part of the document downloaded and stored in the memory region 402 includes the first document page 200 and part of the second page 404 of the document. In the examples, the entire second page 404 of the document may be loaded and stored in the memory area 402.

Первая страница документа 200 визуализируется на экране отображения клиентского компьютера 102. Как правило, страница или часть страницы документа, предшествующая визуализируемой странице, так же загружена и сохранена в области 402 памяти. Тем не менее, применительно к данному примеру, так как визуализируемой страницей является первая страница документа, то отсутствует контент для загрузки, который предшествует первой странице. В данном примере, это указано пустой страницей 401, которая предшествует первой странице документа 200. В данном примере, часть области 402 памяти выше той, в которую загружена страница 200, не используется для того чтобы обеспечить пространство памяти для сохранения страницы 200, когда пользователь выполнит прокрутку до нижней части страницы 200 и до страницы 402. Здесь более подробно будет рассмотрена реализация прокрутки в области 402 памяти.The first page of the document 200 is rendered on the display screen of the client computer 102. Typically, the page or part of the document page preceding the rendered page is also loaded and stored in the memory area 402. However, in relation to this example, since the page to be rendered is the first page of the document, there is no download content that precedes the first page. In this example, this is indicated by a blank page 401 that precedes the first page of document 200. In this example, the portion of the memory area 402 above the one loaded in page 200 is not used to provide memory space for saving page 200 when the user executes scrolling to the bottom of page 200 and to page 402. Here, the implementation of scrolling in the memory area 402 will be described in more detail.

Как показано на Фигуре 4, первая страница 200 документа включает в себя объекты 202, 204, 206 и 208 и часть объекта 210. Вторая страница 404 документа включает в себя оставшуюся часть объекта 210, а также включает в себя объекты 408, 410 и 412. Тем не менее, в данном примере, так как загружается лишь часть второй страницы 404, то объект 412 выпадает из области 402 памяти и фактически не загружен и не сохранен на клиентском компьютере 102 в данный момент. Объект 412 показан на Фигуре 4, чтобы проиллюстрировать то, что объект 412 является частью страницы 404.As shown in Figure 4, the first page 200 of the document includes objects 202, 204, 206 and 208 and part of the object 210. The second page 404 of the document includes the remaining part of the object 210, and also includes objects 408, 410 and 412. However, in this example, since only part of the second page 404 is loaded, the object 412 falls out of the memory area 402 and is not actually loaded or stored on the client computer 102 at the moment. Object 412 is shown in Figure 4 to illustrate that object 412 is part of page 404.

Все объекты 202, 204, 206, 208, 408, 410 и 412 являются объектами самого высокого уровня, что означает, применительно к данному примеру, что они являются абзацами, таблицами, списками или изображениями. Когда серверный компьютер 112 определяет размер открываемой части документа на основании порогового значения объектов, вычисленного серверным компьютером 112, то серверный компьютер продолжает проходить до объекта, соответствующего пороговому значению объектов, до тех пор, пока не достигнет конца объекта самого высокого уровня, который включает в себя объект, соответствующий пороговому значению объектов. Как показано на Фигуре 4, последним загруженным и сохраненным в области 402 памяти объектом самого высокого уровня является объект 410. Последняя строка 406 объекта 410 соответствует концу области 402 памяти.All objects 202, 204, 206, 208, 408, 410 and 412 are objects of the highest level, which means, in this example, that they are paragraphs, tables, lists or images. When the server computer 112 determines the size of the open part of the document based on the threshold value of the objects calculated by the server computer 112, the server computer continues to go to the object corresponding to the threshold value of the objects until it reaches the end of the highest level object, which includes an object corresponding to the threshold value of the objects. As shown in FIG. 4, the last loaded and stored in the memory region 402 of the highest level object is the object 410. The last line 406 of the object 410 corresponds to the end of the memory region 402.

Когда серверный компьютер 112 отправляет часть документа клиентскому компьютеру 102, то серверный компьютер 112 также предоставляет индикацию того, что на серверном компьютере 112 доступна еще часть документа. Серверный компьютер 112 может предоставлять индикацию того, что доступна еще часть документа, посредством установки флага в сообщении, используемом для отправки части документа клиентскому компьютеру 102. Флаг, как правило, устанавливается, когда доступна еще часть документа. Вместо использования флага, серверный компьютер 112 может включать в сообщение ID последнего объекта в отправленной части документа и ID последнего объекта в документе. Посредством оценки ID, клиентский компьютер 102 может определить, доступна ли еще часть документа на серверном компьютере 112. Сообщения, отправляемые между клиентским компьютером 102 и серверным компьютером 112, являются стандартными основанными на web сообщениями, по протоколу связи HTTP.When the server computer 112 sends part of the document to the client computer 102, the server computer 112 also provides an indication that another part of the document is available on the server computer 112. Server computer 112 may provide an indication that another part of the document is available by setting a flag in the message used to send part of the document to client computer 102. The flag is usually set when another part of the document is available. Instead of using a flag, server computer 112 may include in the message the ID of the last object in the sent part of the document and the ID of the last object in the document. By evaluating the ID, the client computer 102 can determine if another part of the document is available on the server computer 112. Messages sent between the client computer 102 and the server computer 112 are standard web-based messages using the HTTP communication protocol.

Когда пользователь начинает прокрутку визуализированного документа и весь документ не загружен на клиентский компьютер 102, то клиентский компьютер 102 определяет, что требуется открыть и загрузить еще часть документа на клиентский компьютер 102. Клиентский компьютер 102 определяет, что требуется получить еще часть документа на основании степени прокрутки. В примерах, клиент вычисляет количество объектов самого высокого уровня, которые были прокручены, и когда количество прокрученных объектов самого высокого уровня больше порогового значения, например порогового значения соответствующего половине страницы визуализированных данных, тогда клиентский компьютер 102 запрашивает дополнительную часть документа у серверного компьютера 112. В примерах, пороговое значение может быть больше либо меньше половины страницы. Например, пороговым значением может быть одна страница или три четверти страницы.When the user starts scrolling through the rendered document and the entire document is not loaded on the client computer 102, then the client computer 102 determines that it is necessary to open and download another part of the document to the client computer 102. The client computer 102 determines that it is necessary to obtain another part of the document based on the scroll . In the examples, the client calculates the number of objects of the highest level that have been scrolled, and when the number of scrolled objects of the highest level is greater than a threshold value, for example, a threshold value corresponding to half a page of rendered data, then the client computer 102 requests an additional part of the document from the server computer 112. B In the examples, the threshold value may be greater than or less than half the page. For example, the threshold value may be one page or three quarters of a page.

Фигура 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 shows an example of a memory area 402 when a user scrolls down one page in a document. As shown in Figure 5, the page 404 containing the objects 408, 410 and 412 and the part of the object 210 is the part of the document that is visualized to the user. The upper part of the memory area 402 is aligned with the top line 504 of the object 206. The objects 202 and 204 are now outside the area 402 memory. In the examples, when objects are moved outside the memory region 402 as a result of scrolling, objects can be unloaded from the client computer 102 in order to save memory resources on the client computer 102. For example, memory objects 202 and 204 can be unloaded by the client computer 102. When the objects 202 and 204 of the memory are unloaded by the client computer 102, it is required that these memory objects be retrieved from the server computer 112 when the user scrolls to the beginning of the document.

Фигура 5 также показывает, что в результате прокрутки на одну страницу вниз в документе, серверный компьютер 112 загружает следующую страницу в документе, представленную страницей 502, в область 402 памяти. В данном примере, следующей страницей в документе является изображение, соответствующее объекту 510. Поскольку серверный компьютер 112 отправляет объекты самого высокого уровня клиентскому компьютеру 102, то нижняя часть области 402 памяти регулируется в соответствии с последней строкой 506 объекта 510.Figure 5 also shows that as a result of scrolling one page down in the document, server computer 112 loads the next page in the document, represented by page 502, into the memory area 402. In this example, the next page in the document is the image corresponding to the object 510. Since the server computer 112 sends the highest level objects to the client computer 102, the lower part of the memory area 402 is adjusted in accordance with the last line 506 of the object 510.

В примерах, серверный компьютер 112 отправляет следующую страницу документа (соответствующую объекту 506), в качестве результата сообщения запроса от клиентского компьютера 102. Клиентский компьютер отправляет сообщение запроса серверному компьютеру 102, когда клиентский компьютер 102 обнаруживает тот факт, что пользователь выполнил прокрутку вниз на одну страницу. Сообщение запроса предписывает серверному компьютеру 112 открыть дополнительную часть документа, в данном случае, соответствующую одной странице, и отправить дополнительную часть документа клиентскому компьютеру 102. В примерах, клиентский компьютер 102 может выдать запрос серверному компьютеру 112 в качестве результата выполнения пользователем прокрутки больше или меньше чем на одну страницу.In the examples, the server computer 112 sends the next page of the document (corresponding to object 506) as a result of the request message from the client computer 102. The client computer sends a request message to the server computer 102 when the client computer 102 detects that the user has scrolled down one page. The request message instructs the server computer 112 to open an additional part of the document, in this case, corresponding to one page, and send an additional part of the document to the client computer 102. In the examples, the client computer 102 may issue a request to the server computer 112 as a result of the user scrolling more or less than one page.

В дополнение к прокрутке и просмотру частей документа на клиентском компьютере 102, пользователь может редактировать одну или более частей документа или добавлять контент в документ. Как было рассмотрено, каждый объект в документе идентифицируется уникальным номером ID. Когда пользователь редактирует часть документа, то отредактированные объекты идентифицируются и обновляются применительно к открытой части документа на серверном компьютере 112. Если добавляется новый объект, например новое слово, предложение или абзац, то номер ID формируется для слова, предложения или абзаца. В примерах, номера ID существующих объектов могут регулироваться для отражения позиции добавленного слова, предложения или абзаца. В дополнение, так как открыта лишь часть документа и известны ID отредактированных объектов, то документ может редактироваться, а изменения сохраняться на серверном компьютере 112, не требуя открытия всего документа.In addition to scrolling through and viewing parts of a document on a client computer 102, a user can edit one or more parts of a document or add content to a document. As discussed, each object in the document is identified by a unique ID number. When the user edits part of the document, the edited objects are identified and updated in relation to the open part of the document on the server computer 112. If a new object is added, for example, a new word, sentence or paragraph, the ID number is generated for the word, sentence or paragraph. In the examples, the ID numbers of existing objects can be adjusted to reflect the position of the added word, sentence or paragraph. In addition, since only a part of the document is open and the IDs of the edited objects are known, the document can be edited, and the changes are saved on the server computer 112, without requiring the entire document to be opened.

Фигура 6 показывает характерную блок-схему способа 600 для открытия части документа на клиентском компьютере. Например, часть документа может быть открыта в web-браузере 106 на клиентском компьютере 102. В качестве альтернативы, часть документа может быть открыта в клиентском приложении, например, в приложении 108 обработки текстов Microsoft Word® на клиентском компьютере 104. Документ, который должен быть открыт, хранится на серверном компьютере, например, серверном компьютере 112.Figure 6 shows a typical flowchart of a method 600 for opening portions of a document on a client computer. For example, part of a document can be opened in a web browser 106 on a client computer 102. Alternatively, part of a document can be opened in a client application, for example, Microsoft Word® word processing application 108 on a client computer 104. The document, which should be open, stored on a server computer, for example, server computer 112.

На операции 602, сообщение запроса отправляется от клиентского компьютера 102 серверному компьютеру 112 на открытие части документа. Сообщение запроса включает в себя информацию, указывающую размер открываемой части документа. Например, сообщение запроса может включать в себя указание, показывающее количество объектов, которое должно быть включено в часть документа. В качестве альтернативы, сообщение запроса может включать в себя один или более параметров, предоставляющих информацию, которая относится к отображению информации на клиентском компьютере 102. Информация может включать в себя такие элементы, как размер экрана отображения, размер шрифта и разрешение отображения в пикселях.At operation 602, a request message is sent from the client computer 102 to the server computer 112 to open a portion of the document. The request message includes information indicating the size of the opened part of the document. For example, a request message may include an indication showing the number of objects to be included in a part of the document. Alternatively, the request message may include one or more parameters providing information that relates to the display of information on the client computer 102. The information may include elements such as display screen size, font size, and display resolution in pixels.

На операции 604, первая часть документа принимается от серверного компьютера 112. Первая часть документа, как правило, включает в себя первую страницу документа, плюс дополнительный объем документа, как правило, страницу или часть страницы. В примерах, размер первой части документа может включать в себя размер больший или меньший данного размера. Причина для включения больше одной страницы документа, состоит в том, чтобы предоставить возможность пользователю клиентского компьютера 102 выполнять прокрутку вслед за первой страницей и чтобы вторая страница, или часть второй страницы, быстро отображались из памяти на клиентском компьютере 102.At operation 604, the first part of the document is received from the server computer 112. The first part of the document typically includes the first page of the document, plus the additional volume of the document, typically a page or part of the page. In the examples, the size of the first part of a document may include a size larger or smaller than a given size. The reason for including more than one page of a document is to enable the user of the client computer 102 to scroll after the first page and so that the second page, or part of the second page, is quickly displayed from memory on the client computer 102.

В дополнение к отправке первой части документа, серверный компьютер 112 также указывает клиентскому компьютеру, доступна ли еще часть документа. Серверный компьютер 112 может указывать на то, что доступна еще часть документа посредством установки флага в сообщении, отправляемом серверным компьютером 112 клиентскому компьютеру 102. Возможны другие способы для указания того, что доступна еще часть документа. Например, серверный компьютер 112 может включать ID последнего объекта в документе и ID последнего объекта в отправленной части. Затем клиентский компьютер 102 может сравнить ID для определения того, что доступна еще часть документа.In addition to sending the first part of the document, server computer 112 also indicates to the client computer whether another part of the document is available. Server computer 112 may indicate that another part of the document is available by setting a flag in the message sent by server computer 112 to client computer 102. Other methods are possible to indicate that another part of the document is available. For example, server computer 112 may include the ID of the last object in the document and the ID of the last object in the sent part. Client computer 102 can then compare the IDs to determine if another part of the document is available.

На операции 606, первая часть документа, принятая от серверного компьютера 112, загружается в первую область памяти на клиентском компьютере 102. Первая область памяти является областью памяти на клиентском компьютере 102, предназначенной для хранения части документа. Как правило, область памяти достаточно большая для хранения двух или трех страниц документа, несмотря на то, что в примерах, область памяти может хранить больше или меньше чем две или три страницы документа. Область памяти, достаточно большая для хранения двух страниц документа, позволяет сохранять текущую страницу плюс половину предшествующей страницы и половину последующей страницы. Область памяти, достаточно большая для хранения трех страниц, позволяет сохранять текущую страницу плюс целиком предшествующую страницу и целиком последующую страницу. В примерах, область памяти известна как окно просмотра, так как часть документа визуализируется из области памяти.In operation 606, the first part of the document received from the server computer 112 is loaded into the first memory area on the client computer 102. The first memory area is the memory area on the client computer 102 for storing part of the document. Typically, a memory area is large enough to hold two or three pages of a document, although in the examples, a memory area can store more or less than two or three pages of a document. A memory area large enough to hold two pages of a document allows you to save the current page plus half the previous page and half the next page. A memory area large enough to hold three pages allows you to save the current page plus the entire previous page and the entire subsequent page. In the examples, the memory area is known as the viewport, as part of the document is rendered from the memory area.

Часть документа, полученная от серверного компьютера 112 и сохраненная в области памяти, состоит из одного или более объектов. Каждый объект представляет собой определенную часть документа, такую как слово, предложение, абзац, таблица, ячейка таблицы и т.д. Каждый объект имеет уникальный ID. В дополнение, один или более из объектов назначены в качестве объектов самого высокого уровня. Объектами самого высокого уровня являются объекты в документе, которые содержат один или более других объектов. Например, абзац является объектом самого высокого уровня, который включает в себя один или более объектов-предложений и объектов-слов.A portion of the document received from the server computer 112 and stored in the memory area consists of one or more objects. Each object represents a specific part of a document, such as a word, sentence, paragraph, table, table cell, etc. Each object has a unique ID. In addition, one or more of the objects are designated as objects of the highest level. Top-level objects are objects in a document that contain one or more other objects. For example, a paragraph is an object of the highest level, which includes one or more sentence objects and word objects.

Объекты в части документа, хранящейся в области памяти, организованы в рамках объектов самого высокого уровня. Таким образом, область памяти начинается с первой строки объекта самого высокого уровня и область памяти заканчивается последней строкой объекта самого высокого уровня. Объекты самого высокого уровня, как правило, содержат одну или более строк XML кода. Область памяти является регулируемой по размеру, чтобы регулироваться по размеру последнего объекта самого высокого уровня в области памяти.The objects in the part of the document stored in the memory area are organized within the objects of the highest level. Thus, the memory area begins with the first line of the highest level object and the memory area ends with the last line of the highest level object. Highest-level objects typically contain one or more lines of XML code. The memory area is adjustable in size to adjust in size to the last highest level object in the memory area.

На операции 608, вторая часть документа визуализируется на экране отображения клиентского компьютера 102. Как правило, вторая часть содержит страницу данных документа. Вторая часть документа визуализируется из области памяти на клиентском компьютере 102 и содержит часть первой части документа. Страница 200 с Фигуры 4 и страница 404 с Фигуры 5 являются примерами страниц документа, визуализируемых из области памяти клиентского компьютера 102.At operation 608, the second part of the document is visualized on the display screen of the client computer 102. Typically, the second part contains a page of document data. The second part of the document is visualized from the memory area on the client computer 102 and contains a part of the first part of the document. The page 200 of Figure 4 and the page 404 of Figure 5 are examples of document pages rendered from the memory area of the client computer 102.

На операции 610, пользователь выполняет прокрутку по документу. На операции 612, выполняется определение того, доступна ли на серверном компьютере 112 еще часть документа. В примерах, определение затрагивает проверку статуса флага в сообщении, отправленном серверным компьютером 112 клиентскому компьютеру 102 с первой частью документа на операции 604. В других примерах, клиентский компьютер 102 может сравнить последний ID в части документа, отправленной серверным компьютером 112, с последним ID в документе.At operation 610, the user scrolls through the document. At step 612, a determination is made as to whether another portion of the document is available on the server computer 112. In the examples, the definition involves checking the status of the flag in the message sent by the server computer 112 to the client computer 102 with the first part of the document in operation 604. In other examples, the client computer 102 can compare the last ID in the part of the document sent by the server computer 112 with the last ID in document.

На операции 614, когда выполнено определение, что на серверном компьютере 112 доступна еще часть документа, клиентский компьютер 102 определяет, когда получить еще часть документа от серверного компьютера 112. В примерах, клиентский компьютер определяет, что требуется получить еще часть документа от серверного компьютера 112 после того как страница документа была прокручена пользователем. В других примерах, клиентский компьютер определяет, что требуется получить еще часть документа от серверного компьютера 112 всякий раз, когда пользователь прокручивает любую часть документа на клиентском компьютере 102. Возможны другие примеры.In operation 614, when it is determined that another part of the document is available on the server computer 112, the client computer 102 determines when to receive another part of the document from the server computer 112. In the examples, the client computer determines that it is necessary to obtain another part of the document from the server computer 112 after the document page has been scrolled by the user. In other examples, the client computer determines that it is necessary to receive another part of the document from the server computer 112 whenever the user scrolls any part of the document on the client computer 102. Other examples are possible.

На операции 616, когда на клиентском компьютере 102 выполнено определение того, что требуется получить еще часть документа от серверного компьютера 112, клиентский компьютер 102 отправляет сообщение запроса серверному компьютеру 112 в отношении третьей части документа. Сообщение запроса включает в себя информацию о размере третьей части документа. В примерах, информация, которая относится к размеру документа, может включать в себя указание количества объектов, которое должно быть включено в третью часть документа. В примерах, информация, которая относится к размеру документа, может включать в себя один или более параметров, указывающих объем, на который прокручен визуализированный на клиентском компьютере 102 документ. Серверный компьютер 112 использует информацию, которая относится к размеру документа, для определения размера третьей части документа.At operation 616, when it is determined on the client computer 102 that it is necessary to obtain another part of the document from the server computer 112, the client computer 102 sends a request message to the server computer 112 regarding the third part of the document. The request message includes information about the size of the third part of the document. In the examples, information that relates to the size of the document may include an indication of the number of objects to be included in the third part of the document. In the examples, information that relates to the size of the document may include one or more parameters indicating the amount by which the document rendered on the client computer 102 has been scrolled. Server computer 112 uses information that relates to the size of the document to determine the size of the third part of the document.

На операции 618, третья часть документа принимается от серверного компьютера 112. На этапе 620, третья часть документа загружается в первую область памяти. Когда третья часть документа загружается в первую область памяти, из-за того что пользователь прокрутил вниз документ, то третья часть документа добавляется к концу первой области памяти. Первая область памяти увеличивается в размере, чтобы охватывать размер третьей части документа. Конец третьей части документа является объектом самого высокого уровня, а конец данного объекта самого высокого уровня соответствует концу первой области памяти.At step 618, the third part of the document is received from the server computer 112. At step 620, the third part of the document is loaded into the first memory area. When the third part of the document is loaded into the first memory area, due to the user scrolling down the document, the third part of the document is added to the end of the first memory area. The first memory area is increased in size to cover the size of the third part of the document. The end of the third part of the document is the object of the highest level, and the end of this object of the highest level corresponds to the end of the first memory area.

В примерах, когда третья часть документа добавляется в первую область памяти, то часть документа, аналогичная по размеру третьей части документа, как правило, выгружается из первой области памяти. Выгрузка части документа из первой области памяти сокращает потребление памяти на клиентском компьютере 102.In the examples, when the third part of the document is added to the first memory area, the part of the document, similar in size to the third part of the document, is usually unloaded from the first memory area. Unloading a portion of the document from the first memory area reduces memory consumption on the client computer 102.

На операции 622, четвертая часть документа выгружается из первой области памяти. Четвертая часть документа является подмножеством первой части документа. Как описано выше, четвертая часть документа, как правило, аналогична по размеру третьей части документа. Четвертая часть документа, как правило, аналогична по размеру третьей части документа, но не идентична третьей части документа, так как первая область памяти заканчивается на объекте самого высокого уровня, а размер объектов самого высокого уровня в первой и третьей частях документа может отличаться. Выгрузка четвертой части документа из первой области памяти, когда третья часть документа добавляется в первую область памяти, регулирует потребление памяти на клиентском компьютере 102.At operation 622, a fourth part of the document is unloaded from the first memory area. The fourth part of the document is a subset of the first part of the document. As described above, the fourth part of the document is usually similar in size to the third part of the document. The fourth part of the document is usually similar in size to the third part of the document, but not identical to the third part of the document, since the first memory area ends at the highest level object, and the size of the highest level objects in the first and third parts of the document may differ. Unloading the fourth part of the document from the first memory area, when the third part of the document is added to the first memory area, adjusts the memory consumption on the client computer 102.

На операции 624, пользователь редактирует часть документа, визуализированного на клиентском компьютере 102. В примерах, документ может редактироваться в любой момент времени, когда документ отображается на клиентском компьютере 102. Это включает в себя момент времени когда документ исходно отображается или после того как документ прокручен. Несмотря на то, что Фигура 6 показывает редактирование документа, когда больше не доступна еще часть документа на серверном компьютере 112, это лишь всего один пример момента, когда может редактироваться документ.At step 624, the user edits a portion of the document rendered on the client computer 102. In the examples, the document can be edited at any time when the document is displayed on the client computer 102. This includes the point in time when the document is initially displayed or after the document is scrolled . Although Figure 6 shows the editing of a document when another part of the document is no longer available on the server computer 112, this is just one example of the moment when the document can be edited.

На операции 626, пользователь сохраняет отредактированную часть документа на клиентском компьютере 102. Как правило, пользователь сохраняет отредактированную часть документа путем нажатия или щелчка на кнопке сохранения на клиентском компьютере 102. На операции 628, клиентский компьютер 102 отправляет сообщение запроса серверному компьютеру 112, чтобы запросить сохранение отредактированной части документа серверным компьютером 112. Серверный компьютер 112 сохраняет отредактированную часть документа, не требуя открытия или сохранения документа целиком. Сохраняется лишь открытая часть документа.At step 626, the user saves the edited part of the document on the client computer 102. Typically, the user saves the edited part of the document by clicking or clicking on the save button on the client computer 102. At step 628, the client computer 102 sends a request message to the server computer 112 to request saving the edited part of the document by the server computer 112. The server computer 112 saves the edited part of the document without requiring opening or saving the document entirely. Only the open part of the document is saved.

Фигура 7 показывает пример блок-схемы способа 700 для открытия части документа на серверном компьютере, например, серверном компьютере 112. На операции 702, серверный компьютер 112 принимает сообщение запроса от клиентского компьютера 102 на открытие части документа, который хранится на серверном компьютере 112. Сообщение запроса включает в себя информацию, которая относится к размеру открываемой части документа. В примерах, информация может включать в себя указание количества открываемых объектов в документе. В других примерах, информация может включать в себя один или более параметров, указывающих информацию, такую как размер экрана отображения на клиентском компьютере 102, размер шрифта, используемого на клиентском компьютере 102, разрешение экрана отображения и т.д.Figure 7 shows an example flowchart of a method 700 for opening part of a document on a server computer, for example, server computer 112. At step 702, server computer 112 receives a request message from client computer 102 to open a part of the document that is stored on server computer 112. Message The request includes information that relates to the size of the open part of the document. In the examples, the information may include an indication of the number of openable objects in the document. In other examples, the information may include one or more parameters indicating information, such as the size of the display screen on the client computer 102, the font size used on the client computer 102, the resolution of the display screen, etc.

На операции 704, серверный компьютер 112 определяет пороговое значение объектов применительно к открываемой части документа. Пороговое значение объектов указывает количество объектов, которое должно быть включено в открываемую часть документа. Когда указание порогового значения объектов не предоставляется клиентским компьютером 102, тогда, как правило, пороговое значение объектов вычисляется посредством определения количества объектов в документе, которые умещаются в размере одного экрана отображения на клиентском компьютере 102 плюс дополнительное количество объектов. Дополнительное количество объектов, как правило, кратно количеству объектов, которое умещается в размере одного экрана отображения.At operation 704, the server computer 112 determines a threshold value of the objects as applied to the open part of the document. The threshold value of objects indicates the number of objects that should be included in the open part of the document. When an indication of the threshold value of the objects is not provided by the client computer 102, then, as a rule, the threshold value of the objects is calculated by determining the number of objects in the document that fit in the size of one display screen on the client computer 102 plus an additional number of objects. An additional number of objects, as a rule, is a multiple of the number of objects that fits in the size of one display screen.

На операции 706, серверный компьютер 112 открывает запрошенный документ и отправляет один или более объектов в документе клиентскому компьютеру 102, до тех пор, пока не будет достигнуто пороговое значение объектов. Каждый объект преобразуется в формат, который требуется на клиентском компьютере 102, перед тем как объект отправляется клиентскому компьютеру 102. Например, каждый объект в формате Word® может преобразовываться в формат XML.At step 706, the server computer 112 opens the requested document and sends one or more objects in the document to the client computer 102 until a threshold value of the objects is reached. Each object is converted to the format that is required on the client computer 102 before the object is sent to the client computer 102. For example, each object in Word® format can be converted to XML format.

При достижении порогового значения объектов, на операции 708 серверный компьютер 112 определяет объект самого высокого уровня, который соответствует объекту, который в свою очередь соответствует пороговому значению объектов. Когда в объекте, соответствующем пороговому значению объектов, еще присутствуют объекты, то на операции 710, серверный компьютер 112 продолжает отправку объектов клиентскому компьютеру 102 до тех пор, пока не будет достигнут последний объект в объекте самого высокого уровня.Upon reaching the threshold value of the objects, at operation 708, the server computer 112 determines the object of the highest level, which corresponds to the object, which in turn corresponds to the threshold value of the objects. When objects are still present in the object corresponding to the threshold value of the objects, then at step 710, the server computer 112 continues sending objects to the client computer 102 until the last object in the object of the highest level is reached.

На операции 712, выполняется определение того, достигнут ли конец документа. На операции 712, когда определено, что достигнут конец документа, то на операции 714 серверный компьютер 112 ожидает дальнейшего действия со стороны клиентского компьютера 102. Дальнейшим действием может быть сохранение отредактированной части документа, закрытие документа и т.д.At operation 712, a determination is made whether the end of the document has been reached. At operation 712, when it is determined that the end of the document has been reached, then at operation 714, the server computer 112 expects further action from the client computer 102. The next step may be to save the edited part of the document, close the document, etc.

На операции 712, когда определено, что конец документа не достигнут, то на операции 716 серверный компьютер 112 уведомляет клиентский компьютер 102 о том, что существует дополнительный контент в документе. Как правило, серверный компьютер 112 отправляет уведомление через сообщение клиентскому компьютеру 102. В примерах, вместо отправки уведомления в новом сообщении, уведомление может быть включено в сообщение, которое включает в себя контент документа, например, сообщение на операциях 706 или 710. В других примерах, клиентский компьютер может отправить сообщение серверному компьютеру 112, запрашивающее, доступен ли дополнительный контент в документе; в ответ на сообщение запроса сервер 112 может отправить клиентскому компьютеру 102 уведомление.In operation 712, when it is determined that the end of the document has not been reached, in operation 716, the server computer 112 notifies the client computer 102 that there is additional content in the document. Typically, the server computer 112 sends a notification via a message to the client computer 102. In the examples, instead of sending a notification in a new message, the notification may be included in a message that includes document content, for example, a message in operations 706 or 710. In other examples the client computer may send a message to the server computer 112 requesting whether additional content in the document is available; In response to the request message, server 112 may send a notification to client computer 102.

На операции 718, серверный компьютер 112 принимает сообщение запроса от клиентского компьютера 102 в отношении дополнительной части документа. Как правило, сообщение запроса включает в себя информацию как в отношении размера дополнительной части документа. В примерах, информацией может быть указание количества объектов, которое должно быть включено в дополнительную часть документа. В других примерах, информация может включать в себя открываемое количество страниц или частей страницы. Возможны другие примеры.At operation 718, the server computer 112 receives a request message from the client computer 102 regarding an additional part of the document. Typically, a request message includes information regarding the size of an additional part of the document. In the examples, the information may be an indication of the number of objects that should be included in an additional part of the document. In other examples, the information may include an opening number of pages or parts of a page. Other examples are possible.

На операции 720, серверный компьютер 112 определяет размер дополнительной части документа. Серверный компьютер 112, как правило, использует информацию, включенную в сообщение запроса, для определения размера дополнительной части документа. В примерах, размер дополнительной части документа может конфигурироваться или жестко программироваться на серверном компьютере 112.At operation 720, the server computer 112 determines the size of the additional part of the document. Server computer 112 typically uses the information included in the request message to determine the size of an additional portion of the document. In the examples, the size of the additional part of the document may be configured or hard-coded on the server computer 112.

На операции 722, определяется пороговое значение объектов для дополнительной части документа. Пороговое значение объектов соответствует количеству объектов, которое должно быть включено в дополнительную часть документа. Когда достигается количество объектов, которое должно быть включено в дополнительную часть, то на операции 724 серверный компьютер 112 определяет объект самого высокого уровня, который содержит объект при пороговом значении объектов. На операции 726, серверный компьютер 112 отправляет один или более объектов из дополнительной части документа клиентскому компьютеру 102. Серверный компьютер 112 отправляет один или более объектов клиентскому компьютеру 102 до тех пор, пока не будет достигнуто пороговое значение объектов. Когда достигнуто пороговое значение объектов, серверный компьютер 112 продолжает отправлять объекты клиентскому компьютеру 102 до тех пор, пока не будет достигнут последний объект в объекте самого высокого уровня, который соответствует объекту при пороговом значении объектов.At operation 722, a threshold value of the objects for the additional part of the document is determined. The threshold value of objects corresponds to the number of objects that should be included in an additional part of the document. When the number of objects is reached, which should be included in the additional part, then at operation 724, the server computer 112 determines the object of the highest level that contains the object at the threshold value of the objects. In operation 726, the server computer 112 sends one or more objects from an additional part of the document to the client computer 102. The server computer 112 sends one or more objects to the client computer 102 until a threshold value of the objects is reached. When the threshold value of the objects is reached, the server computer 112 continues to send objects to the client computer 102 until the last object in the highest level object, which corresponds to the object at the threshold value of the objects, is reached.

На операции 728, серверный компьютер 112 принимает отредактированную часть документа от клиентского компьютера 102. Отредактированная часть документа может включать в себя один или более отредактированных объектов или один или более новых добавленных или удаленных объектов. Так как каждый объект имеет уникальный ID объекта, то когда добавляются новые или удаляются один или более объектов, ID объектов в документе регулируются в зависимости от позиции добавленных новых или удаленных объектов.At operation 728, the server computer 112 receives the edited part of the document from the client computer 102. The edited part of the document may include one or more edited objects or one or more new added or deleted objects. Since each object has a unique object ID, when new or added one or more objects are deleted, the object IDs in the document are adjusted depending on the position of the added new or deleted objects.

На операции 730, отредактированная часть документа сохраняется на серверном компьютере 112. Отредактированная часть документа сохраняется без открытия всего документа.At operation 730, the edited part of the document is stored on the server computer 112. The edited part of the document is saved without opening the entire document.

Фигура 8 показывает пример блок-схемы способа 704 для определения порогового значения объектов для открываемой части документа. На операции 802, идентифицируется информация в сообщении запроса, отправленном от клиентского компьютера 102 серверному компьютеру 112, которая относится к размеру открываемой части документа. Размер открываемой части документа может быть включен в один или более параметров, включенных в сообщение запроса.Figure 8 shows an example flowchart of a method 704 for determining a threshold value of objects for a document to be opened. At operation 802, information is identified in the request message sent from the client computer 102 to the server computer 112, which refers to the size of the open part of the document. The size of the opening part of the document may be included in one or more parameters included in the request message.

На операции 804, выполняется определении, включено ли указание размера порогового значения объектов, в сообщение запроса. Указание может быть включено в один или более параметров, либо указание может быть включено в любом месте сообщения запроса. Указание, если оно включено в сообщение запроса, предоставляет количество объектов, соответствующее пороговому значению объектов для открываемой части документа серверным компьютером 112 и отправляемой клиентскому компьютеру 102.At operation 804, a determination is made whether an indication of the size of the threshold value of the objects is included in the request message. The indication may be included in one or more parameters, or the indication may be included anywhere in the request message. The indication, if included in the request message, provides the number of objects corresponding to the threshold value of the objects for the document to be opened by the server computer 112 and sent to the client computer 102.

Когда определено, что указание включено в сообщение запроса, то на операции 806 количество объектов, идентифицированное в указании, извлекается из сообщения запроса. Когда определено, что указание не включено в сообщение запроса, то на операции 808, из сообщения запроса извлекается другая информация, которая относится к пороговому значению объектов. Другая информация, как правило, включенная в один или более параметров в сообщении запроса, может включать в себя элементы, такие как размер экрана отображения клиентского компьютера 102, размер используемого шрифта и разрешение экрана в пикселях для экрана отображения. Также возможны другие типы информации.When it is determined that the indication is included in the request message, then at operation 806, the number of objects identified in the indication is retrieved from the request message. When it is determined that the indication is not included in the request message, then at operation 808, other information that relates to the threshold value of the objects is extracted from the request message. Other information, typically included in one or more parameters in the request message, may include elements such as the size of the display screen of the client computer 102, the size of the font used, and the screen resolution in pixels for the display screen. Other types of information are also possible.

На операции 810, информация, полученная на операции 808, используется для определения количества объектов, которое умещается в размере экрана отображения. Например, если известен размер экрана отображения и известен размер шрифта, используемого на экране отображения, и известен средний размер объекта, то может быть получена оценка количества объектов, которое может умещаться в размере в рамках размера экрана отображения.At operation 810, the information obtained at operation 808 is used to determine the number of objects that fits in the size of the display screen. For example, if the size of the display screen is known and the size of the font used on the display screen is known, and the average size of the object is known, then an estimate of the number of objects that can fit in the size within the size of the display screen can be obtained.

На операции 812, количество объектов, полученное посредством вычисления на операции 810, или количество объектов, полученное на операции 806, как результат указания, включенного в сообщение запроса, умножается на коэффициент умножения. Коэффициент умножения используется для определения порогового значения объектов. Коэффициент умножения, как правило, является кратным числом размера страницы. Например, коэффициент умножения равный 2, указывает размер, соответствующий двум страницам, а коэффициент умножения равный 1,5, указывает размер, соответствующий полутора страницам. В примерах могут использоваться другие коэффициенты умножения.In operation 812, the number of objects obtained by calculating in operation 810, or the number of objects obtained in operation 806, as a result of the indication included in the request message, is multiplied by the multiplication factor. The multiplication factor is used to determine the threshold value of objects. The multiplication factor is usually a multiple of the page size. For example, a multiplication factor of 2 indicates a size corresponding to two pages, and a multiplication factor of 1.5 indicates a size corresponding to one and a half pages. In the examples, other multiplication factors may be used.

На операции 814, результат этапа 812 умножения назначается в качестве порогового значения объектов. Например, если коэффициент умножения равен 1,5, то количество объектов в пороговом значении объектов соответствует количеству объектов, которое умещается в размере экрана отображения плюс количество объектов, которое умещается в размере половины экрана отображения.At operation 814, the result of the multiplication step 812 is assigned as the threshold value of the objects. For example, if the multiplication factor is 1.5, then the number of objects in the threshold value of the objects corresponds to the number of objects that fits in the size of the display screen plus the number of objects that fits in the size of half the display screen.

Со ссылкой на Фигуру 9, показаны характерные компоненты клиентских компьютеров 102, 104 и серверного компьютера 112. В характерных вариантах осуществления, клиентские компьютеры 102, 104 и серверный компьютер 112 являются вычислительными устройствами. Клиентские компьютеры 102, 104 и серверный компьютер 112 могут включать в себя устройства ввода/вывода, центральное устройство обработки («CPU»), устройство хранения данных и сетевое устройство.With reference to Figure 9, representative components of client computers 102, 104 and server computer 112 are shown. In representative embodiments, client computers 102, 104 and server computer 112 are computing devices. Client computers 102, 104 and server computer 112 may include input / output devices, a central processing unit (“CPU”), a storage device, and a network device.

В базовой конфигурации, клиентские компьютеры 102, 104 и серверный компьютер 112, как правило, включают в себя, по меньшей мере, один блок 902 обработки и системную память 904. В зависимости от конкретной конфигурации и типа вычислительного устройства, системная память 904 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флэш-память и т.д.) или неким сочетанием двух. Как правило, системная память 904 включает в себя операционную систему 906, приемлемую для управления функционированием подключенного к сети персонального компьютера, такую как операционные системы Windows® от Microsoft Corporation, Редмонд, Вашингтон, или сервер, такой как Microsoft Exchange Server 2007, также от Microsoft Corporation, Редмонд, Вашингтон. Системная память 904 также может включать в себя одно или более приложений 908 программного обеспечения и может включать в себя данные программ.In a basic configuration, client computers 102, 104 and server computer 112 typically include at least one processing unit 902 and system memory 904. Depending on the particular configuration and type of computing device, system memory 904 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. Typically, system memory 904 includes an operating system 906 suitable for controlling the operation of a networked personal computer, such as Windows® operating systems from Microsoft Corporation, Redmond, Washington, or a server such as Microsoft Exchange Server 2007, also from Microsoft Corporation, Redmond, Washington. System memory 904 may also include one or more software applications 908 and may include program data.

Клиентские компьютеры 102, 104 и серверный компьютер 112 могут обладать одинаковыми признаками или функциональными возможностями. Например, клиентские компьютеры 102, 104 и серверный компьютер 112 также могут включать в себя машиночитаемые носители информации. Машиночитаемые носители информации могут включать в себя как машиночитаемые носители данных, так и средства связи.Client computers 102, 104 and server computer 112 may have the same features or functionality. For example, client computers 102, 104 and server computer 112 may also include computer-readable media. Computer-readable storage media may include both computer-readable storage media and communication media.

Машиночитаемые носители данных являются физическими носителями информации, такими как запоминающие устройства (съемные и/или несъемные), включающие в себя магнитные диски, оптические диски или ленту. Такое дополнительное хранилище проиллюстрировано на Фигуре 9 съемным хранилищем 910 и несъемным хранилищем 912. Машиночитаемые носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители информации, реализованные любым способом или по любой технологии хранения информации, такой как: машиночитаемые инструкции, структуры данных, программные модули и прочие данные. Машиночитаемые носители данных могут включать в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память и другие технологии памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель информации, который может использоваться для хранения требуемой информации, и доступ к которому может быть получен клиентскими компьютерами 102, 104. Любые такие машиночитаемые носители данных могут быть частью клиентских компьютеров 102, 104. Клиентские компьютеры 102, 104 так же могут иметь устройство(а) 914 ввода, такое как клавиатура, манипулятор типа мышь, перо, устройство голосового ввода, устройство сенсорного ввода и т.д. Также может быть включено устройство(а) 916 вывода, такое как дисплей, громкоговорители, принтер и т.д.Computer-readable storage media are physical storage media, such as storage devices (removable and / or non-removable), including magnetic disks, optical disks, or tape. Such additional storage is illustrated in Figure 9 by removable storage 910 and non-removable storage 912. Machine-readable storage media may include volatile and non-volatile, removable and non-removable storage media implemented in any way or by any storage technology, such as machine-readable instructions, data structures , software modules and other data. Computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory and other memory technologies, CD-ROMs, digital versatile disks (DVDs) or other optical storage devices, magnetic tapes, magnetic tape, and storage media magnetic disks or other magnetic storage devices, or any other storage medium that can be used to store the required information, and which can be accessed by client computers 102, 104. Any such computer-readable storage media can They can be part of client computers 102, 104. Client computers 102, 104 can also have an input device (s) 914, such as a keyboard, mouse, pen, voice input device, touch input device, etc. An output device (s) 916, such as a display, speakers, printer, etc., may also be included.

Клиентские компьютеры 102, 104 и серверный компьютер 112 также могут содержать соединения 918 связи, которые позволяют устройству осуществлять связь с прочими вычислительными устройствами 920, как например, по сети в распределенной вычислительной среде, например, интрасети или сети Интернет. Соединение 918 связи является одним примером сред связи. Среды связи, как правило, могут воплощать машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и включают в себя любые среды доставки информации. Понятие «модулированный сигнал данных» означает сигнал, у которого одна или более из его характеристик задаются или меняются таким образом, что в сигнале кодируется информация. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и прочие беспроводные среды.Client computers 102, 104 and server computer 112 may also contain communication connections 918 that allow the device to communicate with other computing devices 920, such as over a network in a distributed computing environment, such as an intranet or the Internet. Communication connection 918 is one example of communication media. Communication media can typically embody computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and include any information delivery media. The term "modulated data signal" means a signal in which one or more of its characteristics are set or changed in such a way that information is encoded in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or a direct wired connection, and wireless media such as acoustic, radio frequency, infrared, and other wireless media.

Описанные выше различные варианты осуществления предоставлены лишь в качестве иллюстрации и не должны толковаться как ограничивающие. Различные модификации и изменения могут быть выполнены в отношении описанных выше вариантов осуществления, не отступая от истинной сущности и объема изобретения.The various embodiments described above are provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made in relation to the above-described embodiments without departing from the true spirit and scope of the invention.

Claims (10)

1. Способ осуществления доступа к документу на клиентском компьютере, содержащий этапы, на которых:
на клиентском компьютере, отправляют в серверный компьютер первый запрос на открытие первой части документа, причем документ хранится на серверном компьютере, первая часть документа меньше всего документа, данный запрос включает в себя информацию, которая используется серверным компьютером для определения размера первой части документа;
на клиентском компьютере, принимают первую часть документа от серверного компьютера;
на клиентском компьютере, после того как первая часть документа принята от серверного компьютера, визуализируют вторую часть документа на экране отображения клиентского компьютера, при этом вторая часть документа является подмножеством первой части документа;
на клиентском компьютере, определяют, что еще часть документа доступна на серверном компьютере;
на клиентском компьютере, определяют, что пользователь прокрутил третью часть документа на экране отображения на клиентском компьютере;
когда клиентским компьютером определено, что пользователь прокрутил третью часть документа, и когда клиентским компьютером определено, что еще часть документа доступна на серверном компьютере, то отправляют в серверный компьютер второй запрос на открытие дополнительной части документа.
1. A method of accessing a document on a client computer, comprising the steps of:
on the client computer, the first request is sent to the server computer to open the first part of the document, the document being stored on the server computer, the first part of the document the smallest document, this request includes information that the server computer uses to determine the size of the first part of the document;
on the client computer, receive the first part of the document from the server computer;
on the client computer, after the first part of the document is received from the server computer, the second part of the document is visualized on the display screen of the client computer, while the second part of the document is a subset of the first part of the document;
on the client computer, determine that another part of the document is available on the server computer;
on the client computer, it is determined that the user has scrolled the third part of the document on the display screen on the client computer;
when it is determined by the client computer that the user has scrolled the third part of the document, and when it is determined by the client computer that another part of the document is available on the server computer, a second request is sent to the server computer to open an additional part of the document.
2. Способ по п.1, в котором этап, на котором определяют на клиентском компьютере что, по меньшей мере, еще одна дополнительная часть документа доступна на серверном компьютере, дополнительно содержит этап, на котором принимают от серверного компьютера сообщение, указывающее на то, что доступна еще часть документа.2. The method according to claim 1, wherein the step of determining on the client computer that at least one additional portion of the document is available on the server computer further comprises the step of receiving a message from the server computer indicating that part of the document is still available. 3. Способ по п.1, в котором этап, на котором определяют, что пользователь прокрутил третью часть документа на экране отображения, дополнительно содержит этап, на котором определяют, что пользователь прокрутил предварительно определенное количество объектов на экране отображения.3. The method of claim 1, wherein the step of determining that the user has scrolled the third part of the document on the display screen further comprises the step of determining that the user has scrolled the predetermined number of objects on the display screen. 4. Способ по п.3, в котором каждый объект в предварительно определенном количестве объектов является объектом самого высокого уровня, причем каждый из объектов самого высокого уровня является одним из абзаца, таблицы, списка или изображения.4. The method according to claim 3, in which each object in a predetermined number of objects is an object of the highest level, and each of the objects of the highest level is one of a paragraph, table, list or image. 5. Способ по п.1, в котором, когда клиентский компьютер запрашивает дополнительную часть документа с серверного компьютера, то клиентский компьютер выгружает аналогичного размера часть документа из клиентского компьютера.5. The method according to claim 1, in which, when the client computer requests an additional part of the document from the server computer, the client computer unloads a similar size part of the document from the client computer. 6. Способ по п.1, дополнительно содержащий этапы, на которых: принимают дополнительную часть документа от серверного компьютера, и когда дополнительная часть документа принимается от серверного компьютера, выгружают часть документа из клиентского компьютера.6. The method according to claim 1, further comprising the steps of: receiving an additional part of the document from the server computer, and when the additional part of the document is received from the server computer, unloading part of the document from the client computer. 7. Способ по п.1, в котором информация, включенная в первый запрос, включает в себя одно или более из размера экрана отображения на клиентском компьютере, размера шрифта, используемого на экране отображения, и разрешения в пикселях экрана отображения.7. The method of claim 1, wherein the information included in the first request includes one or more of a display screen size on a client computer, a font size used on a display screen, and a resolution in pixels of the display screen. 8. Способ по п.1, в котором информация, включенная в первый запрос, включает в себя указание количества объектов, которое должно быть включено в первую часть документа.8. The method according to claim 1, in which the information included in the first request includes an indication of the number of objects that should be included in the first part of the document. 9. Способ, реализуемый на серверном компьютере и предназначенный для частичного открытия документа, хранящегося на серверном компьютере, при этом способ содержит этапы, на которых:
на серверном компьютере, принимают первое сообщение от клиентского компьютера, при этом первое сообщение является запросом на открытие первой части документа, причем первая часть документа содержит один или более объектов, при этом данный запрос включает в себя информацию для определения размера первой части документа;
на серверном компьютере, определяют размер первой части документа, причем при определении размера первой части документа определяют пороговое значение объектов для первой части документа, при этом пороговое значение объектов соответствует минимальному количеству объектов, которое должно быть включено в первую часть документа; и
на серверном компьютере, отправляют в клиентский компьютер один или более объектов из документа, причем эти один или более объектов содержат объекты, начиная с начала документа вплоть до того, пока количество объектов, отправленных в клиентский компьютер, не станет равным пороговому значению объектов.
9. The method implemented on the server computer and designed to partially open a document stored on the server computer, the method comprises the steps of:
on the server computer, the first message is received from the client computer, the first message being a request to open the first part of the document, the first part of the document containing one or more objects, and this request includes information to determine the size of the first part of the document;
on the server computer, determine the size of the first part of the document, and when determining the size of the first part of the document determine the threshold value of the objects for the first part of the document, while the threshold value of the objects corresponds to the minimum number of objects that must be included in the first part of the document; and
on the server computer, send one or more objects from the document to the client computer, and these one or more objects contain objects from the beginning of the document until the number of objects sent to the client computer is equal to the threshold value of the objects.
10. Машиночитаемый носитель данных, содержащий инструкции, которые при их исполнении вычислительным устройством предписывают вычислительному устройству:
отправлять в серверный компьютер первый запрос на открытие первой части документа, при этом документ хранится на серверном компьютере, первая часть документа меньше всего документа, данный запрос включает в себя информацию, которая используется серверным компьютером для определения размера первой части документа;
принимать первую часть документа от серверного компьютера;
после того как первая часть документа принята от серверного компьютера, визуализировать вторую часть документа на экране отображения клиентского компьютера, при этом вторая часть документа является подмножеством первой части документа;
определять, что еще часть документа доступна на серверном компьютере;
определять, что пользователь прокрутил третью часть документа на экране отображения на клиентском компьютере, при этом третья часть документа содержит предварительно определенное количество объектов, причем каждый из объектов является одним из абзаца, таблицы, списка или изображения; и
когда определено, что пользователь прокрутил третью часть документа, и когда определено, что еще часть документа доступна на серверном компьютере, то отправлять в серверный компьютер второй запрос на открытие дополнительной части документа, при этом дополнительная часть документа аналогична по размеру прокрученной третьей части документа.
10. A computer-readable storage medium containing instructions that, when executed by a computing device, instruct the computing device:
send to the server computer the first request to open the first part of the document, while the document is stored on the server computer, the first part of the document is the smallest document, this request includes information that the server computer uses to determine the size of the first part of the document;
receive the first part of the document from the server computer;
after the first part of the document is received from the server computer, visualize the second part of the document on the display screen of the client computer, while the second part of the document is a subset of the first part of the document;
determine that another part of the document is available on the server computer;
determine that the user has scrolled the third part of the document on the display screen on the client computer, while the third part of the document contains a predetermined number of objects, each of which is one of a paragraph, table, list or image; and
when it is determined that the user has scrolled the third part of the document, and when it is determined that another part of the document is available on the server computer, then send the second request to the server computer to open the additional part of the document, while the additional part of the document is similar in size to the scrolled third part of the document.
RU2013119971/08A 2010-11-09 2011-11-03 Partial loading and editing of documents from server RU2575684C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/942,118 US10911550B2 (en) 2010-11-09 2010-11-09 Partial loading and editing of documents from a server
US12/942,118 2010-11-09
PCT/US2011/059232 WO2012064588A2 (en) 2010-11-09 2011-11-03 Partial loading and editing of documents from a server

Publications (2)

Publication Number Publication Date
RU2013119971A RU2013119971A (en) 2014-11-10
RU2575684C2 true RU2575684C2 (en) 2016-02-20

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2398263C2 (en) * 2004-09-30 2010-08-27 Майкрософт Корпорейшн Preview method, system and device
RU2400811C2 (en) * 2004-12-09 2010-09-27 Майкрософт Корпорейшн System and method for limited user access to network document

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2398263C2 (en) * 2004-09-30 2010-08-27 Майкрософт Корпорейшн Preview method, system and device
RU2400811C2 (en) * 2004-12-09 2010-09-27 Майкрософт Корпорейшн System and method for limited user access to network document

Similar Documents

Publication Publication Date Title
US10911550B2 (en) Partial loading and editing of documents from a server
US11132420B2 (en) Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US8539333B2 (en) Technique for changing the display of web pages as time passes
CN110688595B (en) File online preview method, device, equipment and storage medium
US20070143672A1 (en) Partial rendering of Web pages
US8645466B2 (en) Systems and methods for displaying file and folder information to a user
WO2015074467A1 (en) Data update method, apparatus, and system and storage medium
US20120278281A1 (en) Storing metadata inside file to reference shared version of file
US20080215966A1 (en) Adaptive server-based layout of web documents
US20110173188A1 (en) System and method for mobile document preview
EP2284736A1 (en) System and method for automated color scheme transformation
US8108441B2 (en) Efficient creation, storage, and provision of web-viewable documents
US20110125742A1 (en) Auto-Publishing Photo Albums On A Home Server
CN103455543A (en) Document management server, document management method, and storage medium
RU2575684C2 (en) Partial loading and editing of documents from server
CN112783548B (en) Access method and device of network system
US7970839B2 (en) Automatic download of images from online storage
US11582502B2 (en) Method and system for uploading media objects unto a web platform
US20230306189A1 (en) Information processing apparatus, non-transitory computer readable medium storing program, and information processing method
US20090254631A1 (en) Defining clippable sections of a network document and saving corresponding content
JP2007188378A (en) Collectively received data display processor, collectively received data display processing program, and computer-readable recording medium