ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Изобретение относится к методике управления обменом данными, с помощью которого осуществляется высокоскоростное отображение данных без порождения каких-либо нарушений в процессе приоритетной обработки.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] Было предложено устройство, которое осуществляет фоновую обработку посредством предварительного считывания отображаемых данных, необходимых для последующего отображения на фоне приоритетной обработки. Приоритетная обработка является обработкой, которая предусматривает вывод пользователю, такой как, например, отображение изображения, речевой вывод и т.п. Фоновая обработка является обработкой, которая не предусматривает вывод пользователю и соответствует обработке, например, для данных кэширования, полученных в блоке хранения извне, без вывода данных пользователю.
[0003] В патентном источнике 1 раскрыто устройство отображения данных, которое получает отображаемые данные, такие как, например, веб-страница и т.п., которые с высокой вероятностью подлежат отображению в перспективе, посредством предварительного считывания отображаемых данных, и записывает отображаемые данные на блок хранения данных в случае отсутствия подачи электрической энергии на блок отображения изображения или в случае невыполнения приоритетного задания.
ПЕРЕЧЕНЬ ПАТЕНТНЫХ ИСТОЧНИКОВ
[0004] Патентный источник 1: выложенный патент Японии №2011-141867.
[0005] Однако в патентном источнике 1 не предполагается случай, когда устройство отображения данных получает множество отображаемых данных во множестве потоков. Кроме того, в патентном источнике 1 не предполагается среда, в которой присутствует множество способных к одновременному информационному обмену потоков, порядок приоритета которых задается во множестве уровней. Следовательно, в раскрытой в патентном источнике 1 методике порядок приоритета каждого потока, включенного во множество потоков, не может быть определен надлежащим образом, что приводит к порождению следующих проблем.
[0006] Предположим, что сервер имеет данные А, которые преимущественно используются для приоритетной обработки посредством клиента, и данные В, которые используются для фоновой обработки и порядок приоритета которых меньше порядка приоритета данных А, а также сервер передает клиенту данные А и В в различных потоках.
[0007] Предположим, что поток для передачи данных А является потоком A, поток для передачи данных В является потоком B, и приоритет потока В меньше приоритета потока A.
[0008] В данном случае, когда сервер передает данные В в процессе передачи данных А, передача данных А может быть задержана вследствие обработки передачи или обработки прекращения передачи низкоприоритетного потока В, соответствующего данным В. Другими словами, передача данных А, подлежащая первоначальной доставке клиенту, может быть задержана вследствие передачи данных В.
[0009] Кроме того, в случае наличия множества данных, подлежащих передаче клиенту с сервера, сервер может не иметь возможности задания оптимального приоритета потоков для каждого элемента данных вследствие различия подлежащих передаче данных, различия в сетевой среде между клиентом и сервером, и т.п. В результате, надлежащая передача данных не осуществляется, и, следовательно, приоритетная обработка (отображение данных А), подлежащая первоначальному осуществлению, задерживается вследствие наличия данных В, используемых для фоновой обработки.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0010] Настоящее изобретение было разработано для разрешения, по меньшей мере, одной из вышеописанных проблем. Задачей настоящего изобретения является обеспечение механизма, который предоставляет множество отображаемых данных с сервера на устройство обработки информации в потоках, оптимальный приоритет которых задается для каждого элемента данных. В результате устройство обработки информации надлежащим образом осуществляет приоритетную обработку, что, в конечном счете, приводит к увеличению скорости отображения данных.
[0011] Согласно аспекту настоящего изобретения, обеспечивается система обработки информации, которая включает в себя сервер, который предоставляет данные, описанные посредством языка разметки, и устройство обработки информации, которое осуществляет управление отображением, в соответствии с предоставленными данными. Сервер включает в себя средство задания для задания порядка приоритета каждого из элементов контента на основе атрибута каждого из элементов контента, определенных посредством данных, и средство предоставления для предоставления данных, включающих в себя заданный порядок приоритета, на устройство обработки информации. Устройство обработки информации включает в себя средство получения для получения элементов контента от сервера посредством использования потоков с приоритетами, в зависимости от порядка приоритета каждого из элементов контента, определенных посредством данных, предоставленных от сервера, средство отображения для управления отображением с использованием части элементов контента из числа полученных элементов контента, и средство управления для кэширования других элементов контента из числа полученных элементов контента.
[0012] Согласно настоящему изобретению, в случае наличия множества данных, подлежащих передаче клиенту с сервера, сервер может задать оптимальный приоритет потоков для каждого элемента данных вследствие различия подлежащих передаче данных, различия в сетевой среде между клиентом и сервером, и т.п. Следовательно, осуществляется надлежащая передача данных и надлежащая приоритетная обработка, что в результате приводит к увеличению скорости отображения данных.
[0013] Дополнительные признаки настоящего изобретения явствуют из нижеследующего описания примерных вариантов осуществления, представленного со ссылкой на прилагаемые чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] Фиг. 1 изображает схему, демонстрирующую примерную конфигурацию системы настоящего варианта осуществления.
Фиг. 2 изображает схему, демонстрирующую примерную аппаратную конфигурацию компьютера-клиента и компьютера-сервера.
Фиг. 3 изображает схему, демонстрирующую кадр, подлежащий передаче по TCP-соединению.
Фиг. 4 изображает схему, демонстрирующую примерную структуру данных целевого протокола.
Фиг. 5 изображает схему, демонстрирующую примерную программную конфигурацию компьютера-сервера.
Фиг. 6 изображает схему, демонстрирующую примерную программную конфигурацию компьютера-клиента.
Фиг. 7 изображает схему, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-сервера.
Фиг. 8 изображает схему, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-клиента.
Фиг. 9 изображает схему, демонстрирующую пример ответных данных, включающих в себя информацию о порядке приоритета.
Фиг. 10 изображает схему, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-сервера.
Фиг. 11 изображает схему, демонстрирующую пример обработки связи между компьютером-сервером и компьютером-клиентом.
Фиг. 12 изображает схему, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-сервера.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0015] В качестве вводной части нижеследующего описания настоящего варианта осуществления будут сформулированы используемые в настоящем документе термины и протокол связи, являющийся целевым в настоящем варианте осуществления. Пример протокола связи, являющегося целевым в настоящем варианте осуществления, включает в себя протокол SPDY (зарегистрированный товарный знак).
[0016] Термин «сокет» используется в качестве метки для идентификации и классификации связи в TCP-уровне. Как правило, во многих случаях в TCP-уровне в качестве младшего уровня используется IP-протокол. Сокет включает в себя совокупность, например, IP-адреса и номера порта.
[0017] Термин «TCP-соединение» означает канал связи в TCP-уровне. Более конкретно, TCP-соединение является совокупностью сокета принимающей стороны и сокета передающей стороны. Термин «поток» относится к логическому каналу в старшем протоколе связи, представляющем интерес. Термин «кадр» относится к минимальному блоку фрагментированных данных в процессе фактической передачи данных.
[0018] В рамках настоящего документа будет представлено описание протокола связи (далее в настоящем документе будет называться «целевым протоколом»), являющегося целевым в настоящем варианте осуществления. Следует отметить возможность наличия промежуточного протокола (TLS, SSL и т.п.) для поддержки прозрачности с целевым протоколом. Целевой протокол осуществляет связь посредством приема/передачи данных, называемых «кадром» по TCP-соединению.
[0019] Фиг. 3 изображает схему, демонстрирующую кадр, подлежащий передаче по TCP-соединению. Кадр 301 передается адресату передачи по TCP-соединению 300. Кадр 301 имеет размер кадра в собственном заголовке.
[0020] Фиг. 4 изображает схему, демонстрирующую примерную структуру данных целевого протокола. Целевой протокол управляет связью по одному соответствующему TCP-соединению 300 в качестве сеанса 400. В одном сеансе 400 присутствует один управляющий кадр 401. Связь, относящаяся к сеансу 400, осуществляется с использованием управляющего кадра 401.
[0021] Целевой протокол, в дополнение к управляющему кадру 401, может иметь любое количество потоков 402 данных. В настоящем изобретении целевой протокол не ограничивается конкретным протоколом. При использовании протокола, имеющего структуру, изображенную на Фиг. 4, настоящее изобретение также является пригодным для применения к седьмому уровню (уровню приложений), шестому уровню (уровню представления), пятому уровню (сеансовому уровню) и пр. в эталонной модели OSI. Термины «поток данных» и «поток» в настоящем документе должны расцениваться в качестве синонимов.
[0022] Фактический обмен данными в старшем приложении и старшем протоколе осуществляется с использованием потоков 402 данных, изображенных на Фиг. 4. Потокам 402 данных может быть задан приоритет. Для удобства объяснения, количество уровней приоритета потоков данных равняется восьми, т.е. от «0», обозначающего наибольший приоритет, до «7», обозначающего наименьший приоритет, при этом фактически количество не ограничивается числом восемь. Количество уровней приоритета может являться любым количеством.
[0023] В настоящем варианте осуществления компьютер-клиент 103 запрашивает компьютер-сервер 102 о получении объектов. Компьютер-клиент 103 задает приоритет потокам 402 данных для получения объектов, в зависимости от порядка приоритета, заданного объектам посредством компьютера-сервера 102. Каждый поток данных имеет идентификатор ID потока для идентификации. Например, если компьютер-клиент 103 пытается получить объект, имеющий высокоприоритетный порядок, то используется поток 1, изображенный на Фиг. 4, а если компьютер-клиент 103 пытается получить объект, имеющий низкоприоритетный порядок, то используется поток 2, изображенный на Фиг. 4.
[0024] В настоящем варианте осуществления между потоками 402 данных может быть определено отношение зависимости. Если поток 402 данных имеет родительский поток, то отношение зависимости может быть выражено посредством задания потоку 402 данных идентификатора ID (идентификатора ID связанного потока, изображенного на Фиг. 4) родительского потока. Если поток 402 данных не имеет родительского потока, то идентификатор ID родительского потока задается равным нулю, либо родительскому потоку вовсе не задается идентификатор ID потока. Посредством установления отношения зависимости между потоками данных, сервер может не только отправить запрошенные клиентом данные в качестве ответа, но также и принудительно передать данные, связанные с данными, запрошенными клиентом. Целевой протокол, описанный со ссылкой на Фиг. 4, осуществляет информационный обмен между сервером и клиентом на равной основе без отношения ведущий/ведомый между ними.
[0025] Далее будет представлено описание простой процедуры связи целевого протокола. Более конкретно, будет представлено описание процедуры от начала связи до конца связи после некого обмена данными.
[0026] Вначале предположим, что было установлено TCP-соединение. На данном этапе сервер и клиент имеют канал двунаправленной связи. Затем, с использованием управляющего кадра 401, создаются потоки 402 данных. Потоки 402 данных могут быть созданы как на стороне сервера, так и на стороне клиента.
[0027] Описание будет представлено посредством демонстрации примера обработки для получения элементов веб-контента клиентом от сервера. Для получения элементов веб-контента клиент должен отправить на сервер команду GET в HTTP-протоколе. Следовательно, клиент формирует запрос на создание потоков 402 данных с использованием потока контента. В момент приема сервером сформированного запроса, сервер отправляет разрешение в качестве ответа посредством управляющего кадра 401. Сервер задает порядок приоритета объектов, соответствующих элементам контента в процессе ответа. Клиент создает потоки данных, порядок приоритета и отношение зависимости которых задаются на основе порядка приоритета. После создания потоков 402 данных, сервер и клиент могут сформировать запрос GET в HTTP-протоколе или отправить HTTP-протокол в качестве ответа с использованием созданных потоков 402 данных.
[0028] После приема данных, необходимых для стороны клиента, от сервера, поток должен быть закрыт. На данном этапе поток может быть закрыт как на стороне клиента, так и на стороне сервера. Затем либо сервер, либо клиент, который принял запрос на закрытие потока, формирует запрос на закрытие потока сразу после отсутствия данных, подлежащих передаче, чтобы таким образом закрыть поток. Например, однонаправленная связь также может быть осуществлена, когда запрос на закрытие преднамеренно не формируется на стороне клиента.
[0029] В порядке примера создания потоков 402 данных на стороне сервера допускается, чтобы сервер, который принял запрос GET от стороны клиента, создавал новый поток 402 данных для динамической принудительной передачи клиенту элементов контента. Как можно видеть из примера, количество потоков динамически изменяется в соответствии с продолжительностью связи в целевом протоколе.
[0030] Фиг. 1 изображает схему, демонстрирующую примерную конфигурацию системы настоящего варианта осуществления. Система обработки информации, изображенная на Фиг. 1, включает в себя компьютер-клиент 103 и компьютер-сервер 102, которые соединяются друг с другом по локальной сети 207 LAN и сети 101 Интернет. Способ управления настоящего варианта осуществления реализовывается посредством функций устройств, обеспеченных в системе обработки информации. Компьютерная программа настоящего варианта осуществления побуждает компьютер к выполнению способа управления. Для реализации настоящего изобретения, как компьютер-клиент 103, так и компьютер-сервер 102 включают в себя механизм, который управляет целевым протоколом, описанным со ссылкой на Фиг. 4. Далее в настоящем документе описание будет представлено посредством демонстрации примера, в котором настоящее изобретение реализовывается посредством компьютера-сервера 102 и компьютера-клиента 103. Однако настоящее изобретение также может быть реализовано либо посредством компьютера-сервера 102, либо посредством компьютера-клиента 103.
[0031] Компьютер-сервер 102 является сервером, который принимает от компьютера-клиента 103 запрос на получение контента, и передает объекты, включенные в элементы контента, соответствующие запросу, на компьютер-клиент 103. После приема запроса на получение контента, компьютер-сервер 102 изначально задает порядок приоритета объектов, включенных в соответствующие элементы контента, и предоставляет ответные данные, включающие в себя информацию о порядке приоритета, относящуюся к порядку приоритета объектов, на компьютер-клиент 103.
[0032] Ответные данные представляют собой данные, которые включают в себя информацию для получения объектов, соответствующих запросу на получение контента компьютера-клиента 103. В этом примере компьютер-сервер 102 предоставляет на компьютер-клиент 103 данные, описанные посредством языка разметки (например, HTML), в качестве ответных данных.
[0033] Компьютер-клиент 103 является устройством обработки информации, которое осуществляет управление отображением в соответствии с данными, предоставленными от компьютера-сервера 102. Более конкретно, компьютер-клиент 103 задает различные приоритеты потоков данных, которые используются для получения объекта от компьютера-сервера 102, на основе информации о порядке приоритета, которая включается в ответные данные, предоставляемые от компьютера-сервера 102. Компьютер-клиент 103 получает желаемые элементы контента посредством использования потоков данных, различные приоритеты которых задаются посредством получения объектов от компьютера-сервера 102. Компьютер-клиент 103 управляет отображением с использованием части элементов контента, а также кэширует другие элементы контента из числа полученных элементов контента. Более конкретно, компьютер-клиент 103 отображает элементы контента, необходимые для текущего отображения, а также кэширует в блоке хранения другие элементы контента, необходимые для отображения, следующего за текущим отображением. Устройство обработки информации, служащее в качестве компьютера-клиента 103, является устройством, включающим в себя программу, такую как, например, веб-обозреватель. Примеры устройства обработки информации включают в себя устройства, такие как, например, ноутбук, планшет, сотовый телефон, устройство формирования изображения, такое как, например, принтер или многофункциональное периферийное устройство, и т.п.
[0034] Локальная сеть 207 LAN является линией связи для осуществления связи между компьютером-клиентом 103 и компьютером-сервером 102. Сеть 101 Интернет является линией связи для осуществления связи между вышеупомянутыми устройствами через межсетевой экран. При помощи сети 101 Интернет компьютер-сервер 102 и компьютер-клиент 103, которые связаны с локальной сетью 207 LAN, могут осуществлять связь друг с другом через межсетевой экран. Как локальная сеть 207 LAN, так и сеть 101 Интернет являются сетью связи для поддержки, например, TCP/IP-протокола и т.п., а также могут являться проводными или беспроводными. Несмотря на то, что компьютер-сервер 102 изображается на Фиг. 1 в качестве одного сервера, компьютер-сервер 102 также может быть сконфигурирован посредством множества компьютеров-серверов. Компьютер-сервер 102 также может быть сконфигурирован в качестве виртуального PC.
[0035] Если не указано обратное, то настоящее изобретение, несомненно, является применимым как к одному устройству, так и к системе, состоящей из множества устройств, при условии возможности выполнения функции настоящего изобретения. Если не указано обратное, то настоящее изобретение, несомненно, является применимым к системе, которая осуществляет обработку посредством установления соединения по сети (например, по сети WAN), отличной от сети Интернет, при условии возможности выполнения функции настоящего изобретения.
[0036] Фиг. 2 изображает схему, демонстрирующую примерную аппаратную конфигурацию компьютера-клиента и компьютера-сервера. Компьютер 200, изображенный на Фиг. 2, соответствует компьютеру-клиенту 103 или компьютеру-серверу 102.
[0037] Компьютер 200 включает в себя процессор 201 CPU, который выполняет обработку документов, включающую в себя графические данные, изображения, символы, таблицы (включая вычисление таблиц и т.п.), и т.п., на основе программы памяти ROM, обеспеченной в памяти 202 ROM, программы обработки документов, сохраненной на внешнем устройстве 205 хранения, и т.п. Процессор 201 CPU полностью управляет устройствами, соединенными с системной шиной 204. Компьютер 200 может включать в себя устройство ввода/вывода.
[0038] Программа памяти ROM, находящаяся в памяти 202 ROM или на внешнем устройстве 205 хранения, хранит операционную систему и т.п., которая является управляющей программой процессора 201 CPU. Кроме того, данные памяти ROM, находящиеся в памяти 202 ROM или на внешнем устройстве 205 хранения, хранят различные данные. Память 203 RAM функционирует в качестве основной памяти, рабочего пространства и т.п., процессора 201 CPU. Блок 206 управления сетевым интерфейсом I/F управляет приемом/передачей данных из/в локальную сеть 207 LAN.
[0039] Программная конфигурация компьютера-сервера 102, изображенная на Фиг. 5, а также обработка этапов алгоритмов, изображенных на Фиг. 7, Фиг. 8, Фиг. 10 и Фиг. 12, реализовываются посредством выполнения обработки, осуществляемой при помощи процессора 201 CPU на основе программ, сохраненных на внешнем устройстве 205 хранения.
[0040] Фиг. 5 изображает схему, демонстрирующую примерную программную конфигурацию компьютера-сервера. Компьютер-сервер 102 включает в себя блок 500 интерфейса I/F связи, блок 501 управления связью, блок 502 веб-сервера, блок 503 хранения информации контента и блок 504 управления сеансами/потоками. Компьютер-сервер 102 также включает в себя блок 505 управления клиентской информацией, блок 506 генерирования информации о порядке приоритета и блок 507 управления информацией контента.
[0041] Блок 500 интерфейса I/F связи может являться любым, при условии удовлетворения блоком 500 интерфейса I/F связи стандарта RFC 793 (протокол управления передачей данных), который является механизмом управления для управления вплоть до TCP-уровня, и обеспечения доступных интерфейсов API. Блок 500 интерфейса I/F связи обеспечивает интерфейс API для того, чтобы операционная система могла оперировать с TCP-уровнем.
[0042] Блок 501 управления связью управляет целевым протоколом, уровнем SSL и уровнем TLS. TCP-протокол используется в качестве целевого протокола. Несмотря не то, что целевой протокол не должен использовать протокол SSL или TLS, целевой протокол зачастую использует протокол SSL или TLS вследствие проблем, связанных с защитой или межсетевым экраном. Протокол SSL или TLS может быть реализован любым способом, при условии его реализации в соответствии со стандартом (RFC 2246 или RFC 4346).
[0043] Блок 501 управления связью также может являться промежуточным протоколом, отличным от протокола SSL или TLS. Более конкретно, блок 501 управления связью обеспечивает интерфейс для блока 502 веб-сервера, который является приложением старшего уровня. Кроме того, блок 501 управления связью управляет приемом/передачей данных через блок 500 интерфейса I/F связи, служащий в качестве младшего уровня. Блок 501 управления связью не осуществляет полную обработку целевого протокола, но при этом он присваивает фактическую обработку блоку 504 управления сеансами/потоками.
[0044] Блок 502 веб-сервера распределяет отображаемую информацию об объектах (HTML, скрипты, изображения, таблицы стилей и пр.) веб-обозревателю, обеспеченному в компьютере-клиенте 103 посредством HTTP-протокола. Наряду с тем, что в настоящем варианте осуществления компьютер-сервер 102 включает в себя блок 502 веб-сервера, компьютер-сервер 102 может применить веб-службу или другую службу связи, отличную от веб-сервера, в системе связи, по отношению к которой применяется целевой протокол.
[0045] Кроме того, блок 502 веб-сервера задает информацию о порядке приоритета, генерируемую посредством блока 506 генерирования информации о порядке приоритета, для ответных данных, которые являются ответом для компьютера-клиента 103, служащего в качестве источника передачи запроса на получение контента, а затем предоставляет полученные ответные данные на компьютер-клиент 103.
[0046] Блок 503 хранения информации контента хранит отображаемую информацию об объектах (HTML, скрипты, изображения, таблицы стилей и пр.). Блок 502 веб-сервера передает объект, хранимый блоком 503 хранения информации контента, на веб-обозреватель компьютера-клиента 103. Контент, который компьютер-клиент 103 запрашивает у компьютера-сервера 102, включает в себя множество объектов. Данные, подлежащие передаче с блока 502 веб-сервера на веб-обозреватель компьютера-клиента 103, также включают в себя данные, подлежащие динамическому генерированию посредством блока 502 веб-сервера. Кроме того, блок 502 веб-сервера может сохранять часть данных в базе данных, такой как, например, внешнее устройство хранения (не изображено).
[0047] Блок 504 управления сеансами/потоками управляет информацией о потоке, проводимом посредством сеанса целевого протокола, в качестве управляющей информации. Управляющая информация включает в себя идентификатор ID управления потоком, приоритет потока, информацию об идентификаторе ID связанного потока, связанную с потоком, информацию о состоянии, информацию о буфере приема/передачи и пр., в качестве информации, связанной с сеансом.
[0048] Блок 505 управления клиентской информацией управляет клиентской информацией, которая является информацией о рабочей среде, касающейся компьютера-клиента 103. Клиентская информация включает в себя информацию, относящуюся к сеансу, проводимому посредством блока 504 управления сеансами/потоками, и состоянию связи потока. Клиентская информация, используется для генерирования информации о порядке приоритета, которая будет описана ниже. Более конкретно, клиентская информация включает в себя следующие полученные значения, которые получают между компьютером-сервером 102 и компьютером-клиентом 103 в целевом протоколе.
Ширина полосы пропускания выгрузки
Ширина полосы пропускания загрузки
Время прохождения сигнала туда и обратно
Максимальное количество одновременно выполняемых потоков
Размер TCP CWND
Скорость переприема загрузки
Размер исходного окна
[0049] Блок 506 генерирования информации о порядке приоритета генерирует информацию о порядке приоритета на основе клиентской информации, управление которой осуществляется посредством блока 505 управления клиентской информацией, или информацию контента, управление которой осуществляется посредством блока 507 управления информацией контента. Например, блок 506 генерирования информации о порядке приоритета определяет порядок приоритета элементов контента (объектов) на основе атрибута элементов контента (объектов), указываемого посредством ответных данных, а затем генерирует информацию о порядке приоритета, относящуюся к определенному порядку приоритета. Информация о порядке приоритета является информацией о порядке приоритета для получения объектов, которые соответствуют элементам контента, подлежащим передаче с компьютера-сервера 102 на компьютер-клиент 103, который сформировал запрос на получение контента.
[0050] Блок 507 управления информацией контента управляет информацией контента. Информация контента является информацией, относящейся к элементам контента, подлежащим передаче на компьютер-клиент 103. Контент включает в себя множество объектов. Примеры объекта включают в себя скрипт, изображение, таблицу стилей и т.п.
[0051] Более конкретно, информация контента включают в себя, по меньшей мере, следующие пункты в качестве атрибутов контента:
Размер объекта
Тип объекта (скрипт, таблица стилей, HTML, изображение, фоновое изображение и т.п.)
Контент объекта, такой как, например, иерархия, домен и т.п. (та же самая страница, следующая страница, целевая ссылка, тот же самый домен, другой домен).
[0052] Фиг. 6 изображает схему, демонстрирующую примерную программную конфигурацию компьютера-клиента. Блок 600 интерфейса I/F связи может являться любым, при условии удовлетворения блоком 600 интерфейса I/F связи стандарта RFC 793 (протокол управления передачей данных), который является механизмом управления для управления вплоть до TCP-уровня, и обеспечения доступных интерфейсов API. Кроме того, блок 600 интерфейса I/F связи может осуществлять управление связью, включающее в себя другой протокол. Блок 600 интерфейса I/F связи обеспечивает интерфейс API для того, чтобы операционная система могла оперировать с TCP-уровнем.
[0053] Блок 601 управления клиентской связью управляет целевым протоколом, уровнем SSL и уровнем TLS. Протокол SSL или TLS может быть реализован любым способом, при условии его реализации в соответствии со стандартом (RFC 2246 или RFC 4346). Блок 601 управления клиентской связью также может являться промежуточным протоколом, отличным от протокола SSL или TLS. Более конкретно, блок 601 управления клиентской связью обеспечивает интерфейс для блока 602 веб-клиента, который является приложением старшего уровня. Кроме того, блок 601 управления клиентским информационным обменом управляет приемом/передачей данных через блок 600 интерфейса I/F связи, служащий младшим уровнем. Блок 601 управления клиентской связью не осуществляет полную обработку целевого протокола, при этом он присваивает фактическую обработку блоку 603 управления сеансами/потоками.
[0054] Блок 602 веб-клиента получает отображаемую информацию об объектах (HTML, скрипты, изображения, таблицы стилей и пр.) от блока 502 веб-сервера, обеспеченного в компьютере-сервере 102, посредством HTTP-протокола. Блок 602 веб-клиента включает в себя функцию веб-обозревателя. В системе связи, по отношению к которой применяется целевой протокол, компьютер-клиент 103, в качестве блока 602 веб-клиента, также может использовать клиент веб-службы или другое клиентское приложение службы связи, отличное от веб-службы.
[0055] Блок 603 управления сеансами/потоками создает сеанс и поток целевого протокола. Кроме того, блок 603 управления сеансами/потоками управляет информацией, относящейся к созданному потоку, в качестве управляющей информации. Управляющая информация включает в себя идентификатор ID управления потоком, приоритет потока, информацию об идентификаторе ID связанного потока, связанную с потоком, информацию о состоянии, информацию о буфере приема/передачи и пр., в качестве информации, связанной с сеансом.
[0056] Блок 604 управления порядком приоритета определяет приоритет, подлежащий заданию для потока, для получения объекта от компьютера-сервера 102 на основе информации о порядке приоритета, включенной в ответные данные, принимаемые от компьютера-сервера 102 посредством блока 602 веб-клиента. Блок 602 веб-клиента побуждает блок 601 управления клиентской связью к созданию сеанса и потока, имеющего определенный приоритет, а затем получает объект от компьютера-сервера 102 с использованием созданного сеанса и потока.
[0057] Более конкретно, блок 602 веб-клиента получает информацию о порядке приоритета для каждого объекта, которая задается в HTML ответных данных, принимаемых от блока 502 веб-сервера компьютера-сервера 102. Затем блок 604 управления порядком приоритета определяет надлежащий приоритет потока на основе полученной информации о порядке приоритета. Затем блок 601 управления клиентской связью создает поток, которому задается определенный приоритет, для получения объекта, связанного с HTML данных для передачи. В процессе создания потока блок 601 управления клиентской связью связывает порядок приоритета для каждого объекта, заданный посредством компьютера-сервера 102, с приоритетом потока для получения объекта. Другими словами, чем выше порядок приоритета объекта, тем выше задается приоритет потока для получения объекта.
[0058] Фиг. 7 изображает схему, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-сервера. Как изображено на Фиг. 7, описание будет представлено посредством демонстрации примера алгоритма приема/передачи данных между компьютером-сервером 102 и компьютером-клиентом 103 с использованием целевого протокола. Когда блок 502 веб-сервера компьютера-сервера 102 принимает от компьютера-клиента 103 запрос на получение контента, блок 502 веб-сервера создает ответные данные, в соответствии с принятым запросом на получение контента (этап S700). В этом примере ответные данные описываются посредством языка разметки (например, HTML), а информация о порядке приоритета, включающая в себя стандартный порядок приоритета для каждого объекта, составляющего запрашиваемый контент, первоначально задается в теге (метке), включенном в ответные данные.
[0059] Затем блок 502 веб-сервера определяет, должен ли быть изменен порядок приоритета, указанный посредством информации о порядке приоритета, включенной в ответные данные, на основе информации контента, управление которой осуществляется посредством блока 507 управления информацией контента (этап S701). Блок 502 веб-сервера определяет должен ли быть изменен порядок приоритета на основе, например, любого критерия из нижеследующих условий (1)-(4):
(1) превышает ли размер объекта заданное значение (пороговое значение),
(2) тип объекта (скрипт, таблица стилей, HTML, изображение, фоновое изображение и т.п.),
(3) превышает ли ссылочный уровень (та же самая страница, следующая страница, целевая ссылка) заданное значение, и
(4) действительно ли домен (тот же самый домен, другой домен) включен в заданное значение.
[0060] Например, при наличии объекта, имеющего большой размер, порядок приоритета объекта должен быть задан высоким. Блок 502 веб-сервера задает наивысший приоритет объекту, размер которого равен или превышает пороговое значение, а также задает порядок приоритета, который меньше наивысшего порядка приоритета, объекту, размер которого меньше порогового значения. Следовательно, при наличии объекта, имеющего размер, превышающий, например, пороговое значение, блок 502 веб-сервера определяет, что порядок приоритета должен быть изменен.
[0061] Когда объект является, например, HTML, блок 502 веб-сервера изменяет порядок приоритета HTML-объекта на высокоприоритетный порядок для побуждения компьютера-клиента 103 к быстрому получению HTML-объекта. Когда объект является изображением, блок 502 веб-сервера может задать низкий порядок приоритета. Кроме того, блок 502 веб-сервера может задать высокий порядок приоритета объекта высокой важности, такого как, например, изображение логотипа и т.п., и задать низкий порядок приоритета объекта малой важности, такого как, например, пиктографическое изображение. Например, когда ссылочный уровень является одним уровнем, порядок приоритета объекта, подлежащего предварительному считыванию, может быть задан высоким, а также может быть задан низким для второго и последующих уровней.
[0062] Когда блок 502 веб-сервера определяет, что порядок приоритета не должен быть изменен, блок 502 веб-сервера сохраняет информацию о стандартном порядке приоритета. В этом случае процессы, выполняемые на этапах S707 и S708, пропускаются. Когда блок 502 веб-сервера определяет, что порядок приоритета должен быть изменен, процесс переходит на этап S702. Затем блок 502 веб-сервера определяет должен ли быть задан порядок приоритета для каждого объекта (этап S702).
[0063] Более конкретно, блок 502 веб-сервера определяет, совпадают ли порядки приоритетов объектов, включенных в запрашиваемый контент. Когда порядки приоритетов объектов совпадают, блок 502 веб-сервера определяет, что порядок приоритета не должен быть задан для каждого объекта, и процесс переходит на этап S703. Затем блок 506 генерирования информации о порядке приоритета вычисляет порядок приоритета, который является общим для всех объектов, включенных в ответные данные, на основе информации контента, управление которой осуществляется посредством блока 507 управления информацией контента (этап S703), и процесс переходит на этап S707.
[0064] В случае наличия объекта, имеющего отличный порядок приоритета, блок 502 веб-сервера определяет, должен ли порядок приоритета быть задан для каждого объекта, и процесс переходит на этап S704. Затем блок 502 веб-сервера определяет, включают ли ответные данные в себя данные принудительной передачи (этап S704). Данные принудительной передачи являются данными, которые самостоятельно передаются с компьютера-сервера 102 на компьютер-клиент 103. Причина, по которой на этапе S704 осуществляется обработка определения, состоит в том, что при наличии данных для непрерывной принудительной передачи с компьютера-сервера 102 на компьютер-клиент 103 необходимо создать специальный поток для поддержки возможности передачи потока.
[0065] Когда ответные данные включают в себя данные принудительной передачи, блок 506 генерирования информации о порядке приоритета определяет порядок приоритета для каждого элемента данных принудительной передачи на основе на информации контента, управление которой осуществляется посредством блока 507 управления информацией контента (этап S706), и процесс переходит на этап S707. Когда ответные данные не включают в себя данные принудительной передачи, блок 506 генерирования информации о порядке приоритета определяет порядок приоритета для каждого объекта на основе информации контента, управление которой осуществляется посредством блока 507 управления информацией контента (этап S705), и процесс переходит на этап S707.
[0066] На этапе S707 блок 502 веб-сервера создает информацию о порядке приоритета, подлежащую заданию для ответных данных, на основе порядка приоритета, определенного посредством блока 506 генерирования информации о порядке приоритета. Затем блок 502 веб-сервера обновляет информацию о порядке приоритета ответных данных со стандартного значения на информацию о порядке приоритета, созданную на этапе S707 (этап S708).
[0067] Фиг. 9 изображает схему, демонстрирующую пример ответных данных, включающих в себя информацию о порядке приоритета. Информация, касающаяся объекта, подлежащего обработке в процессе приоритетной обработки, задается внутри тега <body>. Информация, касающаяся объекта, подлежащего получению посредством фоновой обработки, задается в теге <link rel>. Другими словами, это означает, что порядок приоритета объекта, заданного внутри тега <body>, задается высоким, а порядок приоритета объекта, заданного внутри тега <link rel> задается низким.
[0068] Как изображено на Фиг. 7, блок 502 веб-сервера определяет, имеется ли необработанный запрос (этап S709). Если необработанных запросов нет, то процесс завершается. Например, блок 502 веб-сервера осуществляет обработку закрытия сеанса или потока. В случае наличия необработанного запроса, процесс возвращается на этап S700.
[0069] Посредством операционной обработки, описанной со ссылкой на Фиг. 7, компьютер-сервер 102 может предоставить информацию о порядке приоритета, с помощью которой компьютер-клиент 103 может создать оптимальный поток, посредством ее включения в ответные данные в HTML, на компьютер-клиент 103.
[0070] Фиг. 8 изображает схему, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-клиента. Изначально блок 602 веб-клиента принимает ответные данные (этап S801). В этом примере предполагается, что ответные данные являются HTML-данными. Затем блок 602 веб-клиента определяет, являются ли принятые ответные данные данными для передачи, то есть, ответными данными, соответствующими запросу на получение контента, отправленному на компьютер-сервер 102 (этап S802). Если ответные данные не являются ответными данными, соответствующими данным для передачи, то продолжается обработка приема. Если ответные данные являются ответными данными, соответствующими данным для передачи, то блок 602 веб-клиента анализирует ответные данные (этап S803).
[0071] Затем блок 602 веб-клиента определяет, следует ли создавать поток для получения данных, на основе результата анализа, выполняемого на этапе S803 (этап S804). Более конкретно, блок 602 веб-клиента определяет, требуется ли объекту, подлежащему получению, создание страницы, на основе информации, которая включается в ответные данные и относится к объекту. Если объекту не требуется создание страницы, то потребность в получении объекта отсутствует. Следовательно, в этом случае блок 602 веб-клиента определяет, что для получения данных не требуется создание потока, и процесс переходит на этап S809. Если объекту требуется создание страницы, то блок 602 веб-клиента определяет, что для получения данных необходимо создать поток, и процесс переходит на этап S805.
[0072] На этапе S805 блок 602 веб-клиента определяет, был ли задан ответным данным порядок приоритета, определенный посредством компьютера-сервера 102 (этап S805). Если порядок приоритета, определенный посредством компьютера-сервера 102, не был задан ответным данным, то процесс переходит на этап S807. Затем блок 602 веб-клиента создает поток, в котором стандартный приоритет задается посредством блока 603 управления сеансами/потоками (этап S807), и процесс переходит на этап S808.
[0073] Если порядок приоритета, определенный посредством компьютера-сервера 102, задается ответным данным, то блок 602 веб-клиента создает поток, в котором приоритет, соответствующий порядку приоритета, заданному ответным данным, задается посредством блока 603 управления сеансами/потоками.
[0074] Далее в настоящем документе будет представлено описание генерирования потока на основе порядка приоритета, заданного ответным данным. Предполагается, что блок 602 веб-клиента, принимает HTML-данные, изображенные на Фиг. 9, в качестве ответных данных от блока 502 веб-сервера.
[0075] Блок 602 веб-клиента получает информацию о порядке приоритета для каждого объекта, заданного в теге <link rel>. Объекты photo.jpg и 2ndpage.html, которые указаны посредством link rel=«prefetch» и link rel=«next», соответственно, имеют низкоприоритетный порядок. Объект, указанный посредством link rel=«prefetch» и link rel=«next», является объектом, подлежащим получению при помощи фоновой обработки. Другими словами, объект является объектом, подлежащим получению после получения объекта, который имеет нормальный порядок приоритета, подлежащий обработке в процессе приоритетной обработки, и указывается в теге <body>. Тег <link rel> в HTML, согласно настоящему варианту осуществления, является попросту примером, и настоящее изобретение не ограничивается этим.
[0076] Блок 604 управления порядком приоритета определяет надлежащий приоритет потока на основе информации о порядке приоритета в HTML-данных. Блок 602 веб-клиента инструктирует блок 601 управления клиентским информационным обменом о создании потока для получения объекта, соответствующего HTML-данным. В процессе создания потока информация о приоритете в HTML-данных связывается с информацией о надлежащем приоритете, касающейся потока.
[0077] В примере, изображенном на Фиг. 9, порядок приоритета как photo.jpg, так и 2ndpage.html, ниже порядка приоритета logo.jpg. Следовательно, после получения photo.jpg и 2ndpage.html от сервера, блок 602 веб-клиента указывает уместность потока 402 данных после создания в качестве «7», что является наименьшим приоритетом.
[0078] Для logo.jpg поток 402 данных создается посредством назначения порядку приоритета logo.jpg стандартного значения «4» или наивысшего уровня «0». Для удобства объяснения, количество уровней приоритета потоков данных равняется восьми, т.е. от «0», обозначающего наибольший приоритет, до «7», обозначающего наименьший приоритет, при этом фактически количество не ограничивается числом восемь. Количество уровней приоритета может являться любым количеством. Как было описано выше, объект получают посредством использования потока данных, приоритет которого задается в соответствии с порядком приоритета объекта, назначенного посредством компьютера-сервера 102.
[0079] Настоящий вариант осуществления предпочтительно использовать, например, в системе веб-почты. Когда список рассылки сервера отображается в веб-обозревателе компьютера-клиента 103, компьютер-сервер 102 указывает целевую ссылку непрочитанной почты посредством link rel=«next» в HTML.
[0080] Блок 602 веб-клиента компьютера-клиента 103 создает поток 402 данных, используемый для получения списка рассылки для основной части (<Body>), посредством назначения его порядку приоритета стандартного значения «4». В отличие от этого, блок 602 веб-клиента создает поток 402 данных для получения основной части непрочитанной почты, указанной посредством link rel=«next», от компьютера-сервера 102, посредством назначения его порядку приоритета низкого уровня «5». Непрочитанная почта, которая имеет предварительно определенный размер или более, а также включает в себя прикрепленный файл и т.п., указывается посредством link rel=«prefetch» с компьютера-сервера 102. Следовательно, блок 602 веб-клиента получает поток 402 данных для получения непрочитанной почты посредством назначения его порядку приоритета уровня «6».
[0081] Как изображено на Фиг. 8, блок 602 веб-клиента принимает HTML-объект, анализируемый на этапе S803, от компьютера-сервера 102 с использованием потока, созданного на этапе S806 или S807 (этап S808).
[0082] Затем блок 602 веб-клиента отображает принятые данные (объект) (этап S809). На этапе S809 блок 602 веб-клиента дополнительно сохраняет предварительно считанные ответные данные, полученные посредством низкоприоритетного потока, в кэш-памяти. Данные, сохраненные в кэш-памяти, могут быть отображены с высокой скоростью, в соответствии с пользовательской командой отображения.
[0083] Затем блок 602 веб-клиента определяет, были ли проанализированы непринятые данные для HTML-объекта на этапе S803 (этап S810). В случае наличия непринятых данных, процесс возвращается на этап S801, при этом блок 602 веб-клиента принимает непринятые данные от компьютера-сервера 102. В случае отсутствия непринятых данных, процесс завершается.
[0084] Как было описано выше, компьютер-клиент 103 может создать оптимальные потоки для получения объектов, включенных в элементы контента, на основе порядка приоритета, заданного посредством компьютера-сервера 102.
[0085] Как было описано выше, в случае наличия множества данных, подлежащих передаче с компьютера-сервера 102 на компьютер-клиент 103, компьютер-сервер 102 может выполнить следующую обработку. Компьютер-сервер 102 может задать оптимальный приоритет потоков, используемых для получения объекта, на основе атрибута объекта, подлежащего передаче. В результате, надлежащая передача данных осуществляется посредством надлежащей приоритетной обработки, что, в конечном счете, приводит к увеличению скорости отображения данных.
ВТОРОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0086] Во втором варианте осуществления компьютер-сервер 102 осуществляет управление порядком приоритета на основе состояния связи между компьютером-сервером 102 и компьютером-клиентом 103.
[0087] Фиг. 10 изображает блок-схему алгоритма, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-сервера, согласно второму варианту осуществления. Изначально блок 502 веб-сервера осуществляет обработку для ожидающих данных, принятых от компьютера-клиента 103 (этап S1000). Затем блок 502 веб-сервера определяет, требуется ли обработка для генерирования ответных данных, соответствующих принятым данным (этап S1001). В случае, если обработка для генерирования ответных данных, соответствующих принятым данным, не требуется, процесс возвращается на этап S1000. В случае, если обработка для генерирования ответных данных, соответствующих принятым данным, требуется, процесс переходит на этап S1002.
[0088] Затем блок 502 веб-сервера получает состояние связи между компьютером-сервером 102 и компьютером-клиентом 103 в качестве клиентской информации от блока 505 управления клиентской информацией (этап S1002).
[0089] Блок 505 управления клиентской информацией управляет информацией, касающейся сеанса и потока, используемых в связи с компьютером-клиентом 103, в качестве клиентской информации. Информация, касающаяся сеанса и потока, которая может быть получена в процессе связи, включает в себя следующие полученные значения, которые получают между компьютером-сервером 102 и компьютером-клиентом 103 в целевом протоколе.
Ширина полосы пропускания выгрузки
Ширина полосы пропускания загрузки
Время прохождения сигнала туда и обратно
Максимальное количество одновременно выполняемых потоков
Размер TCP CWND
Скорость переприема загрузки
Размер исходного окна
[0090] Затем блок 502 веб-сервера осуществляет обработку для генерирования ответных данных (этап S1003). Более конкретно, блок 502 веб-сервера генерирует ответные данные, подлежащие возврату на компьютер-клиент 103, на основе информации контента, находящейся в блоке 503 хранения информации контента.
[0091] Затем блок 502 веб-сервера определяет, должен ли быть изменен порядок приоритета объектов (этап S1004). В случае, если изменение порядка приоритета объектов не требуется, процесс переходит на этап S1006, при этом блок 502 веб-сервера генерирует ответные данные, в которых задается стандартный порядок приоритета. Блок 502 веб-сервера также может генерировать ответные данные без задания порядка приоритета.
[0092] В случае, если изменение порядка приоритета объектов требуется, процесс переходит на этап S1006. Затем блок 502 веб-сервера генерирует информацию о порядке приоритета на основе клиентской информации, полученной на этапе S1002 (этап S1005), и процесс переходит на этап S1006. Блок 502 веб-сервера генерирует ответные данные, включающие в себя сгенерированную информацию о порядке приоритета (этап S1006). Затем блок 502 веб-сервера передает сгенерированные ответные данные обратно на компьютер-клиент 103 (этап S1007).
[0093] Фиг. 11 изображает графическое представление последовательности, демонстрирующее пример обработки связи между компьютером-сервером 102 и компьютером-клиентом 103, согласно второму варианту осуществления. Компьютер-клиент 103 осуществляет получение страничной информации от компьютера-сервера 102 (этап S1101). Например, компьютер-клиент 103 выполняет команду GET целевого протокола посредством указания URL компьютера-сервера 102.
[0094] Затем компьютер-сервер 102 создает страничную информацию в HTML в качестве информации с ответом на команду GET для указанного URL (этап S1102). Затем компьютер-сервер 102 формирует запрос на получение клиентской информации, то есть, запрос на получение состояния связи между компьютером-сервером 102 и компьютером-клиентом 103 (этап S1103).
[0095] Блок 603 управления сеансами/потоками компьютера-клиента 103 создает клиентскую информацию, указывающую состояние связи между компьютером-сервером 102 и компьютером-клиентом 103, в ответ на запрос на получение клиентской информации (этап S1104). Затем компьютер-клиент 103 передает клиентскую информацию обратно на компьютер-сервер 102 (этап S1105).
[0096] В числе информации, указывающей состояние связи между компьютером-сервером 102 и компьютером-клиентом 103, информацию, которая не может быть получена компьютером-клиентом 103, получает компьютер-сервер 102. Например, время прохождения сигнала туда и обратно от компьютера-сервера 102 до компьютера-клиента 103 может быть получено следующим образом. Компьютер-сервер 102 передает пакет для измерения времени прохождения сигнала туда и обратно на компьютер-клиент 103, и принимает ответ от компьютера-клиента 103, чтобы таким образом получить время прохождения сигнала туда и обратно. Полученная клиентская информация находится под управлением, осуществляемым посредством блока 505 управления клиентской информацией.
[0097] Затем блок 506 генерирования информации о порядке приоритета компьютера-сервера 102 генерирует информацию о порядке приоритета, подлежащую заданию ответным данным для компьютера-клиента 103, на основе клиентской информации (этап S1106). Если определяется, что изменение порядка приоритета не требуется, то блок 502 веб-сервера компьютера-сервера 102 генерирует ответные данные со стандартным порядком приоритета или информацией о порядке приоритета, не прикрепленной к ним. Если определяется, что изменение порядка приоритета требуется, то блок 502 веб-сервера генерирует ответные данные с информацией о порядке приоритета, прикрепленной к ним.
[0098] Затем блок 502 веб-сервера отправляет ответные данные в качестве ответа на компьютер-клиент 103 (этап S1107). В этом примере блок 502 веб-сервера отправляет HTML страничной информации в качестве ответа.
[0099] Блок 602 веб-клиента компьютера-клиента 103 повторяет следующую обработку до получения объектов, включенных в страничную информацию. Блок 602 веб-клиента создает поток в целевом протоколе в соответствии с информацией о порядке приоритета, заданной в HTML страничной информации, принятой от компьютера-сервера 102. Затем блок 602 веб-клиента формирует запрос на получение объекта с использованием созданного потока (этапы S1108 и S1109).
[0100] Блок 502 веб-сервера компьютера-сервера 102 создает объектные данные, соответствующие запросу на получение объекта от компьютера-клиента 103 (этап S1110). Затем блок 502 веб-сервера отправляет объектные данные в качестве ответа на компьютер-клиент 103 (этап S1111). Таким способом блок 602 веб-клиента компьютера-клиента 103 получает элементы контента, состоящие из возвращенных объектных данных. Затем блок 602 веб-клиента отображает контент, необходимый для текущего отображения, из числа полученных элементов контента (этап S1112). На этапе S1112 блок 602 веб-клиента дополнительно функционирует в качестве блока управления, который кэширует контент, необходимый для отображения, следующего за текущим отображением.
[0101] Настоящий вариант осуществления предпочтительно использовать, например, в системе веб-почты. Предположим случай, когда список рассылки отображается на компьютере-сервере 102 из веб-обозревателя компьютера-клиента 103. Компьютер-сервер 102 получает время прохождения сигнала туда и обратно (RTT) от компьютера-сервера 102 до компьютера-клиента 103.
[0102] Компьютер-сервер 102 определяет, на основе полученного RTT, является ли среда связи между компьютером-сервером 102 и компьютером-клиентом 103 высокоскоростной средой связи или низкоскоростной средой связи. Компьютер-сервер 102 сокращает количество элементов контента, порядок приоритета которых задается низким, когда среда связи является низкоскоростной средой связи, нежели количество элементов контента, порядок приоритета которых задается низким, когда среда связи является высокоскоростной средой связи. В этом примере компьютер-сервер 102 осуществляет управление порядком приоритета для ограничения количества событий предварительного считывания основных частей непрочитанной почты, в зависимости от значения RTT.
[0103] Например, когда время RTT составляет 3 секунды, компьютер-сервер 102 определяет, что среда связи между компьютером-сервером 102 и компьютером-клиентом 103 является низкоскоростной средой связи. Затем компьютер-сервер 102 ограничивает количество событий предварительного считывания основных частей непрочитанной почты значением «1» и указывает только один элемент посредством link rel=«next» в HTML. Таким способом компьютер-сервер 102 инструктирует компьютер-клиент 103 о предварительном считывании одного элемента.
[0104] Когда время RTT составляет 100 миллисекунд, компьютер-сервер 102 определяет, что среда связи между компьютером-сервером 102 и компьютером-клиентом 103 является высокоскоростной средой связи. Затем компьютер-сервер 102 назначает количеству событий предварительного считывания основных частей непрочитанной почты значение «10». Более конкретно, компьютер-сервер 102 назначает количеству событий предварительного считывания основных частей непрочитанной почты значение «10» с использованием link rel=«next» в HTML. Таким способом компьютер-сервер 102 инструктирует компьютер-клиент 103 о предварительном считывании десяти основных частей непрочитанной почты.
[0105] Касательно списка рассылки, который является основной частью (<Body>), компьютер-клиент 103 назначает соответствующему потоку порядок приоритета, равный «4». Касательно основной части непрочитанной почты, указанной посредством link rel=«next», компьютер-клиент 103 назначает соответствующему потоку низкоприоритетный порядок, равный «5». Таким способом, после получения списка рассылки, который является основной частью благодаря приоритетной обработке, компьютер-клиент 103 может получить основную часть непрочитанной почты посредством фоновой обработки, и поместить ее в кэш-память.
[0106] В настоящем варианте осуществления, несмотря на то, что было представлено описание обработки для задания порядка приоритета на основе RTT, также может быть осуществлена аналогичная обработка для задания порядка приоритета на основе другой клиентской информации. Например, порядок приоритета также может быть задан на основе ширины полосы пропускания выгрузки/загрузки, размера окна перегрузки, количества переданных/повторно переданных байтов, размера исходного окна и т.п. Количество потоков, которые могут быть использованы одновременно, также может быть ограничено на основе максимального количества одновременно выполняемых потоков связи. Например, когда количество потоков, которые могут быть одновременно использованы посредством компьютера-клиента 103, равно пяти, количество потоков для приоритетной обработки и количество потоков для фоновой обработки может быть определено равным трем и двум, соответственно.
[0107] Согласно второму варианту осуществления, компьютер-сервер 102 может задать оптимальный приоритет потоков для каждого элемента данных на основе состояния сетевой среды между компьютером-сервером 102 и компьютером-клиентом 103. Следовательно, надлежащая передача данных осуществляется посредством надлежащей приоритетной обработки, что в результате приводит к увеличению скорости отображения данных.
ТРЕТИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0108] В третьем варианте осуществления компьютер-сервер 102 осуществляет управление порядком приоритета на основе атрибутов объектов и состояния связи между компьютером-сервером 102 и компьютером-клиентом 103.
[0109] Фиг. 12 изображает блок-схему алгоритма, демонстрирующую пример операционной обработки, осуществляемой посредством компьютера-сервера, согласно третьему варианту осуществления. Процессы, выполняемые на этапах S1000, S1001, S1002, S1003, S1006 и S1007, являются аналогичными по отношению к процессам, выполняемым на этапах S1000, S1001, S1002, S1003, S1006 и S1007, изображенных на Фиг. 10.
[0110] На этапе S1201 блок 502 веб-сервера определяет, должен ли быть задан порядок приоритета (этап S1201). Более конкретно, блок 502 веб-сервера определяет, включают ли ответные данные в себя объекты, которые имеют отличный порядок приоритета и указываются посредством тега <link rel=«prefetch»> или тега <link rel=«next»>, в качестве информации о стандартном порядке приоритета. Когда ответные данные включают в себя объекты, имеющие отличный порядок приоритета, блок 502 веб-сервера определяет, что порядок приоритета должен быть задан, и процесс переходит на этап S1002. Когда ответные данные не включают в себя объекты, имеющие отличный порядок приоритета, блок 502 веб-сервера определяет, что порядок приоритета не должен быть задан, и процесс переходит на этап S1202.
[0111] На этапе S1202 блок 502 веб-сервера генерирует ответные данные, в которых задается стандартный порядок приоритета, и процесс переходит на этап S1007.
[0112] На этапе S1203 блок 502 веб-сервера выполняет следующую обработку на основе информации контента, управление которой осуществляется посредством блока 507 управления информацией контента, и клиентской информации, полученной на этапе S1002. Блок 502 веб-сервера определяет, должен ли быть изменен порядок приоритета объектов, заданный в ответных данных, со стандартного значения (этап S1203). Если определяется, что порядок приоритета объектов, заданный в ответных данных, не должен быть изменен со стандартного значения, то процесс переходит на этап S1006. Если определяется, что порядок приоритета объектов, заданный в ответных данных, должен быть изменен со стандартного значения, то процесс переходит на этап S1204.
[0113] Затем блок 502 веб-сервера определяет порядок приоритета объектов, подлежащий заданию в ответные данные, на основе информации контента и клиентской информации (этап S1204), и процесс переходит на этап S1006.
[0114] Настоящий вариант осуществления предпочтительно использовать, например, в системе веб-почты. Предположим случай, когда список рассылки отображается на компьютере-сервере 102 из веб-обозревателя компьютера-клиента 103. Компьютер-сервер 102 получает время прохождения сигнала туда и обратно (RTT) от компьютера-сервера 102 до компьютера-клиента 103.
[0115] Кроме того, компьютер-сервер 102 анализирует объекты, включенные в контент, на основе информации контента, чтобы таким образом определить объект большого размера, такой как, например, непрочитанная почта, прикрепленный файл и т.п., в качестве объекта, соответствующего низкоприоритетному потоку.
[0116] Когда компьютер-сервер 102, на основе полученного RTT, определяет, что среда связи между компьютером-сервером 102 и компьютером-клиентом 103 является низкоскоростной средой, в которой скорость связи равна или меньше определенного порогового значения, компьютер-сервер 102 выполняет следующую обработку. Компьютер-сервер 102 назначает количество событий, подлежащих предварительному считыванию, для ограничения количества элементов непрочитанной почты и файлов большого размера, в зависимости от значения RTT.
[0117] Например, когда время RTT составляет 3 секунды, то есть, в случае низкоскоростной среды связи, компьютер-сервер 102 назначает количество событий для предварительного считывания основных частей непрочитанной почты равным «3». В данном случае, когда первый элемент непрочитанной почты из трех элементов непрочитанной почты в высокоприоритетном порядке имеет размер, превышающий пороговое значение, компьютер-сервер 102 указывает первый элемент непрочитанной почты с использованием link rel=«prefetch» в НTML. Компьютер-сервер 102 указывает второй и третий элементы непрочитанной почты для предварительного считывания с использованием link rel=«next» в HTML. Таким способом компьютер-сервер 102 может инструктировать компьютер-клиент 103 о предварительном считывании первого элемента непрочитанной почты после предварительного считывания второго и третьего элементов непрочитанной почты.
[0118] Например, когда время RTT составляет 100 миллисекунд, то есть, в случае высокоскоростной среды связи, компьютер-сервер 102 назначает количество событий для предварительного считывания основных частей непрочитанной почты равным «10». Кроме того, компьютер-сервер 102 назначает количество событий для предварительного считывания основных частей непрочитанной почты равным «10» с использованием link rel=«next» в HTML. Таким способом компьютер-сервер 102 инструктирует компьютер-клиент 103 о предварительном считывании десяти основных частей непрочитанной почты, включающих в себя объект большого размера.
[0119] Касательно списка рассылки, который является основной частью (<Body>), компьютер-клиент 103 назначает соответствующему потоку порядок приоритета, равный «4». Касательно основной части непрочитанной почты, указанной посредством link rel=«next», компьютер-клиент 103 назначает соответствующему потоку низкоприоритетный порядок, равный «5». Кроме того, касательно основной части непрочитанной почты, указанной посредством link rel=«prefetch», компьютер-клиент 103 назначает соответствующему потоку порядок приоритета, равный «5». Таким способом, после получения списка рассылки, который является основной частью благодаря приоритетной обработке, компьютер-клиент 103 может получить основную часть непрочитанной почты посредством фоновой обработки, и поместить ее в кэш-память.
[0120] Согласно третьему варианту осуществления, компьютер-сервер 102 может задать оптимальный приоритет потоков для каждого элемента данных на основе атрибутов объектов и состояния сетевой среды между компьютером-сервером 102 и компьютером-клиентом 103. Следовательно, надлежащая передача данных осуществляется посредством надлежащей приоритетной обработки, что в результате приводит к увеличению скорости отображения данных.
[0121] Как было описано выше, несмотря на то, что было представлено подробное описание предпочтительных вариантов осуществления настоящего изобретения, настоящее изобретение также может быть применено к системе, состоящей из множества устройств. Настоящее изобретение также может быть применено к устройству, состоящему из встроенного оборудования, включая случай, когда устройство конфигурируется посредством виртуальной операционной системы OS и т.п. Кроме того, настоящее изобретение может быть применено к системе, в которой устройство обработки информации образуется посредством облачных вычислений через сеть Интернет.
[0122] Аспекты настоящего изобретения также могут быть реализованы посредством компьютера системы или оборудования (или устройств, таких как, например, CPU или MPU), которое считывает и выполняет программу, записанную на запоминающем устройстве, для осуществления функций вышеописанных вариантов осуществления, и посредством способа, этапы которого осуществляются посредством компьютера системы или оборудования, например, посредством считывания и выполнения программы, записанной на запоминающем устройстве, для осуществления функций вышеописанных вариантов осуществления. Для этой цели программа предоставляется компьютеру, например, по сети или со среды хранения различных типов, служащей в качестве запоминающего устройства (например, компьютерно-читаемый носитель).
[0123] Несмотря на то что настоящее изобретение было описано со ссылкой на примерные варианты осуществления, следует понимать, что изобретение не ограничивается раскрытыми примерными вариантами осуществления. Объему нижеследующей формулы изобретения предоставляется широчайшая интерпретация, чтобы охватить все подобные модификации и эквивалентные структуры и функции.
[0124] По данной заявке испрашивается приоритет в соответствии с заявкой на патент Японии №2012-159904, поданной 18 июля 2012 года, которая полностью включена в настоящий документ посредством ссылки.
Изобретение относится к системам и способам обработки информации. Технический результат заключается в увеличении скорости передачи и отображения данных посредством выполнения согласованной передачи данных множеством потоков в соответствии с порядком приоритета данных меду клиентом и сервером и посредством выполнения соответствующей приоритетной обработки кэша в клиенте. Система обработки содержит: сервер, который предоставляет данные, описанные посредством языка разметки, устройство обработки информации, которое осуществляет управление отображением, в соответствии с предоставленными данными. При этом сервер содержит: средство задания для задания порядка приоритета каждого из элементов контента и средство предоставления для предоставления данных. Устройство обработки информации содержит: средство получения для получения каждого из элементов контента от сервера посредством использования каждого из потоков с разными приоритетами, в зависимости от порядка приоритета; средство отображения для управления отображением и средство управления для кэширования других элементов контента. 5 н. и 12 з.п. ф-лы, 12 ил.
1. Система обработки информации, содержащая:
сервер, который предоставляет данные, описанные посредством языка разметки, и
устройство обработки информации, которое осуществляет управление отображением, в соответствии с предоставленными данными,
причем сервер содержит:
средство задания для задания порядка приоритета каждого из элементов контента на основе атрибута каждого из элементов контента, определенного посредством данных, и
средство предоставления для предоставления данных, включающих в себя заданный порядок приоритета, на устройство обработки информации, и
причем устройство обработки информации содержит:
средство получения для получения каждого из элементов контента, определенных посредством данных, от сервера посредством использования каждого из потоков с разными приоритетами, в зависимости от порядка приоритета, предоставленного от сервера, причем потоки включены в сеанс, управляемый по соединению с сервером;
средство отображения для управления отображением с использованием части элементов контента из числа полученных элементов контента; и
средство управления для кэширования других элементов контента из числа полученных элементов контента, и
при этом кэшированные элементы контента в устройстве обработки информации передаются посредством потока с низким приоритетом из упомянутых потоков.
2. Система обработки информации по п. 1, в которой атрибут элементов контента является, по меньшей мере, одним из размера объекта, соответствующего каждому из элементов контента, типа объекта и контента объекта.
3. Система обработки информации по п. 2, в которой средство задания, обеспеченное на сервере, задает первый порядок приоритета контенту, размер которого равен или превышает пороговое значение, и задает второй порядок приоритета более высокий, чем первый порядок приоритета, контенту, размер которого меньше порогового значения, из числа элементов контента, определенных посредством данных.
4. Система обработки информации по п. 1, в которой средство задания, обеспеченное на сервере, задает порядок приоритета элементов контента на основе атрибута элементов контента, определенных посредством данных, и информации о среде, касающейся устройства обработки информации.
5. Система обработки информации по п. 4, в которой информация о среде, касающаяся устройства обработки информации, включает в себя, по меньшей мере, одно из ширины полосы пропускания выгрузки/загрузки и времени прохождения сигнала туда и обратно между устройством обработки информации и сервером.
6. Система обработки информации по п. 5, в которой средство задания, обеспеченное на сервере, определяет, является ли среда связи между устройством обработки информации и сервером высокоскоростной средой связи либо низкоскоростной средой связи, на основе времени прохождения сигнала туда и обратно между устройством обработки информации и сервером, при этом средство задания сокращает количество элементов контента, порядок приоритета которых задается низким, когда среда связи является низкоскоростной средой связи, нежели количество элементов контента, порядок приоритета которых задается низким, когда среда связи является высокоскоростной средой связи.
7. Система обработки информации п. 4, в которой количество потоков, которые могут быть одновременно использованы средством получения, обеспеченным в устройстве обработки информации, ограничивается посредством информации о среде, касающейся устройства обработки информации.
8. Способ управления в системе обработки информации, содержащей сервер, который предоставляет данные, описанные посредством языка разметки, и устройство обработки информации, которое осуществляет управление отображением, в соответствии с предоставленными данными, содержащий:
этап задания, осуществляемый посредством сервера, на котором задают порядок приоритета каждого из элементов контента на основе атрибута каждого из элементов контента, определенных посредством данных;
этап предоставления, осуществляемый посредством сервера, на котором предоставляют данные, включающие в себя заданный порядок приоритета, на устройство обработки информации;
этап получения, осуществляемый посредством устройства обработки информации, на котором получают каждый из элементов контента, определенных посредством данных, от сервера посредством использования каждого из потоков с разными приоритетами, в зависимости от порядка приоритета, предоставленного от сервера, причем потоки включены в сеанс, управляемый по соединению с сервером;
этап управления, осуществляемый посредством устройства обработки информации, на котором управляют отображением с использованием части элементов контента из числа полученных элементов контента; и
этап кэширования, осуществляемый посредством устройства обработки информации, на котором кэшируют другие элементы контента из числа полученных элементов контента,
причем кэшированные элементы контента в устройстве обработки информации передаются посредством потока с низким приоритетом из упомянутых потоков.
9. Сервер, который предоставляет данные, описанные посредством языка разметки, на устройство обработки информации, которое осуществляет управление отображением, в соответствии с предоставленными данными, содержащий:
средство задания для задания порядка приоритета каждого из элементов контента на основе атрибута каждого из элементов контента, определенных посредством данных;
средство предоставления для предоставления данных, включающих в себя заданный порядок приоритета, на устройство обработки информации;
средство приема для приема запроса на получение элементов контента от устройства обработки информации, причем запрос представляет собой запрос на получение каждого из элементов контента посредством использования каждого из потоков с разными приоритетами, в зависимости от предоставленного порядка приоритета, и потоки включены в сеанс, управляемый по соединению с устройством обработки информации, и
средство передачи для передачи каждого из элементов контента на устройство обработки информации посредством каждого из потоков,
причем устройство обработки информации управляет отображением с использованием части элементов контента и кэширует другие элементы контента из числа переданных элементов контента, и
при этом кэшированные элементы контента в устройстве обработки информации передаются посредством потока с низким приоритетом из упомянутых потоков.
10. Сервер по п. 9, в котором атрибут элементов контента является, по меньшей мере, одним из размера объекта, соответствующего каждому из элементов контента, типа объекта и контента объекта.
11. Сервер по п. 9, в котором средство задания задает первый порядок приоритета контенту, размер которого равен или превышает пороговое значение, и задает второй порядок приоритета более высокий, чем первый порядок приоритета, контенту, размер которого меньше порогового значения, из числа элементов контента, определенных посредством данных.
12. Сервер по п. 9, в котором средство задания задает порядок приоритета элементов контента на основе атрибута элементов контента, определенных посредством данных, и информации о среде, касающейся устройства обработки информации.
13. Сервер по п. 12, в котором информация о среде, касающаяся устройства обработки информации, включает в себя, по меньшей мере, одно из ширины полосы пропускания выгрузки/загрузки и времени прохождения сигнала туда и обратно между устройством обработки информации и сервером.
14. Сервер по п. 13, в котором средство задания определяет, является ли среда связи между устройством обработки информации и сервером высокоскоростной средой связи либо низкоскоростной средой связи, на основе времени прохождения сигнала туда и обратно между устройством обработки информации и сервером, при этом средство задания сокращает количество элементов контента, порядок приоритета которых задается низким, когда среда связи является низкоскоростной средой связи, нежели количество элементов контента, порядок приоритета которых задается низким, когда среда связи является высокоскоростной средой связи.
15. Сервер по п. 12, в котором количество потоков, которые могут быть одновременно использованы устройством обработки информации, ограничивается посредством информации о среде, касающейся устройства обработки информации.
16. Способ управления сервером, который предоставляет данные, описанные посредством языка разметки, на устройство обработки информации, которое осуществляет управление отображением, в соответствии с предоставленными данными, содержащий:
этап задания, на котором задают порядок приоритета каждого из элементов контента на основе атрибута каждого из элементов контента, определенных посредством данных;
этап предоставления, на котором предоставляют данные, включающие в себя заданный порядок приоритета, на устройство обработки информации;
этап приема, на котором принимают запрос на получение элементов контента от устройства обработки информации, причем запрос представляет собой запрос на получение каждого из элементов контента посредством использования каждого из потоков с разными приоритетами, в зависимости от предоставленного порядка приоритета, и потоки включены в сеанс, управляемый по соединению с устройством обработки информации, и
этап передачи, на котором передают каждый из элементов контента на устройство обработки информации посредством каждого из потоков,
причем устройство обработки информации управляет отображением с использованием части элементов контента и кэширует другие элементы контента из числа переданных элементов контента, и
при этом кэшированные элементы контента в устройстве обработки информации передаются посредством потока с низким приоритетом из упомянутых потоков.
17. Носитель данных, на котором хранится компьютерная программа для побуждения компьютера к функционированию в качестве сервера по п. 9.
JP 2009205440 A, 10.09.2009 | |||
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
JP 2000222296 A, 11.08.2000 | |||
Способ приготовления лака | 1924 |
|
SU2011A1 |
JP 2010278800 A, 09.12.2010 | |||
СПОСОБ ОБРАБОТКИ ЦИФРОВЫХ ДАННЫХ В ЗАПОМИНАЮЩЕМ УСТРОЙСТВЕ И ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО ДЛЯ ОСУЩЕСТВЛЕНИЯ СПОСОБА | 2004 |
|
RU2263951C2 |
ОБРАБОТКА ИНФОРМАЦИИ, ПРИНИМАЕМОЙ ДОПОЛНИТЕЛЬНЫМ ВЫЧИСЛИТЕЛЬНЫМ УСТРОЙСТВОМ | 2005 |
|
RU2377635C2 |
Авторы
Даты
2017-05-29—Публикация
2013-07-11—Подача