ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится, в общем, к вычислительным устройствам. Более конкретно, настоящее изобретение относится к способам для предоставления рекомендаций web-браузеру, чтобы сберегать ресурсы на вычислительном устройстве, и для прогнозирования следующего действия web-браузера.
УРОВЕНЬ ТЕХНИКИ
[0002] Все чаще люди используют мобильные вычислительные устройства, чтобы потреблять мультимедийные данные. Как правило, в мобильных вычислительных устройствах срок службы аккумулятора ограничен. После того как аккумулятор истощился, мобильное устройство выключится и не может быть повторно запущено, пока не будет найдена розетка питания или не будет предоставлен новый аккумулятор. Это может очень расстраивать пользователя, поскольку он не может использовать мобильное устройство, пока аккумулятор опустошен. Дополнительно, существуют моменты времени, когда мобильное устройство является неэффективным. Мобильное устройство будет растрачивать полосу частот мобильной связи, ресурсы обработки и аккумулятора без осведомленности пользователя. Например, браузер мобильного устройства может загружать очень большой файл, такой как библиотека, когда необходим только фрагмент библиотеки. Дополнительно, пользователи не любят длительного времени ожидания для загрузки web-страниц и становятся раздраженными, когда web-сайт или источник мультимедиа мгновенно не отображается.
[0003] Некоторые пользователи обычно следуют определенным ежедневным заведенным порядкам или привычкам поиска и просмотра web-страниц со своих мобильных вычислительных систем. Например, пользователь может осуществлять доступ к фрагменту web-страницы (например, биржевым сводкам или результатам спортивных соревнований) чаще, чем к другим фрагментам. Многие пользователи следуют определенным ежедневным привычкам в потреблении мультимедийных данных. Например, если существует событийное мероприятие, которое недавно имело место, многие пользователи будут осуществлять доступ к одной и той же web-странице, разыскивая интересный контент.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Способы и устройства предоставляют возможность улучшенного поиска и просмотра web-страниц на вычислительном устройстве. Способ включает в себя процессор, который передает запрос web-страницы с вычислительного устройства. Процессор передает запрос с вычислительного устройства помощнику (assistant) браузера. Помощник браузера возвращает метаданные вычислительному устройству. Метаданные помогают вычислительному устройству в синтаксическом разборе, анализе или выполнении запроса web-страницы.
[0005] В другом аспекте, система включает в себя сервер и, по меньшей мере, два web-браузера, функционирующих, по меньшей мере, на двух различных вычислительных устройствах. Каждый web-браузер сообщает результаты обработки и рендеринга web-страниц серверу. Сервер собирает данные, и сервер формирует метаданные из собранных данных web-браузера. Сервер передает метаданные, по меньшей мере, одному вычислительному устройству. Вычислительное устройство выполняет рендеринг web-страницы с помощью, по меньшей мере, фрагмента метаданных.
[0006] Аспект настоящей заявки включает в себя способ рендеринга web-страницы на вычислительном устройстве, который включает в себя передачу запроса web-страницы от вычислительного устройства, передачу запроса от вычислительного устройства для помощника браузера и возврат метаданных вычислительному устройству, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или выполнении запроса web-страницы. В аспекте, метаданные, возвращенные вычислительному устройству, могут включать в себя данные, которые могут быть любыми данными из вероятностей выполнения функции JavaScript, AST-данных для синтаксического анализа данных, данных маркера скрипта, лексической информации, возвращенного двоичного кода из данных, обработанных на сервере, чтобы помогать вычислительному устройству, CSS-метаданных, чтобы помогать в обработке данных CSS-web-страницы в вычислительном устройстве, JavaScript-метаданных, чтобы помогать в обработке данных JavaScript-web-страницы в вычислительном устройстве, HTML-метаданных, чтобы помогать в обработке данных HTML-web-страницы в вычислительном устройстве, и их комбинаций. В аспекте, метаданные, возвращенные вычислительному устройству, могут включать в себя множества полученных в ходе наблюдений статистических данных поиска и просмотра пользователей, и способ может дополнительно включать в себя использование множества полученных в ходе наблюдений статистических данных поиска и просмотра, чтобы помогать в загрузке фрагментов web-страницы в вычислительном устройстве раньше других фрагментов. В аспекте, метаданные, возвращенные вычислительному устройству, могут включать в себя статистические данные, касающиеся фрагмента кода, который имеет предварительно определенную вероятность выполнения. В аспекте, метаданные, возвращенные вычислительному устройству, могут включать в себя транслированный двоичный код, получающийся в результате JavaScript-кода, выполненного на сервере, и способ может дополнительно включать в себя передачу двоичного кода вычислительному устройству, чтобы максимизировать обработку на сервере и минимизировать обработку в вычислительном устройстве.
[0007] В аспекте, способ может дополнительно включать в себя отправку аналитических данных, которые коррелируют с фрагментами web-страницы, которые являются популярными, таким образом, web-браузер на вычислительном устройстве загружает популярные фрагменты первыми. Аспект способа может дополнительно включать в себя сбор привычек пользователя вычислительного устройства и предварительную загрузку в память элементов web-страницы, к которым пользователь часто осуществляет доступ. Аспект способа может дополнительно включать в себя сбор на сервере информации об использовании от множества пользователей, соответствующей популярным данным множества web-пользователей, и формирование метаданных на основе информации об использовании и анализа привычек множества web-пользователей. Аспект способа может дополнительно включать в себя отправку метаданных из компьютера в локальной сети вычислительному устройству, сбор информации об использовании от множества пользователей, соответствующей популярным данным других web-пользователей, и формирование метаданных с помощью компьютера в локальной сети. Аспект способа может дополнительно включать в себя сбор совокупной информации о привычках поиска и просмотра на основе множества пользователей, когда пользователи используют web-браузер, наблюдение за множеством пользователей, чтобы формировать привычки поиска и просмотра с помощью оснащенного инструментальным средством web-браузера и формирование метаданных на основе привычек поиска и просмотра web-страниц множества пользователей.
[0008] Аспект способа может дополнительно включать в себя формирование метаданных, указывающих, что библиотека часто загружается, описание в метаданных того, что библиотека имеет фрагмент, который статистически вероятно необходим раньше других фрагментов для выполнения, на основе полученной в ходе наблюдений статистической информации, и загрузку фрагмента библиотеки первым на основе метаданных. В аспекте, способ может дополнительно включать в себя определение того, что библиотека имеет наиболее вероятно исполняемый фрагмент библиотеки, на основе статистических данных, загрузку наиболее вероятно исполняемого фрагмента библиотеки первым раньше других фрагментов библиотеки.
[0009] Аспект способа может дополнительно включать в себя наблюдение за множеством пользователей во время поиска и просмотра web-страниц, формирование метаданных, указывающих статистическую процентную долю пользователей, которые вероятно должны просматривать первый фрагмент web-страницы раньше других фрагментов, передачу первого фрагмента вычислительному устройству раньше других фрагментов web-страницы. В аспекте, метаданные могут включать в себя профиль для пользователя вычислительного устройства, и способ может дополнительно включать в себя формирование метаданных, указывающих статистическую процентную долю того, что пользователь вероятно должен просматривать первый фрагмент web-страницы раньше других фрагментов, на основе профиля, формирование метаданных, указывающих статистическую процентную долю того, что пользователь вероятно не должен просматривать второй фрагмент web-страницы, загрузку первого фрагмента первым в вычислительное устройство раньше других фрагментов web-страницы и загрузку второго фрагмента в периоде времени после первого фрагмента. Аспект способа может дополнительно включать в себя формирование метаданных, указывающих привычки поиска и просмотра других пользователей, определение того, к каким фрагментам web-страниц статистически вероятно должен быть осуществлен доступ раньше других фрагментов web-страницы, на основе метаданных, определение того, что ко второму фрагменту вероятно доступ не осуществляется часто, сообщение в метаданных того, что доступ ко второму фрагменту не осуществляется часто, и он загружается с меньшим приоритетом, чем фрагменты, к которым статистически вероятно должен осуществляться доступ.
[0010] Аспект способа может дополнительно включать в себя связь с сервером через беспроводную сеть, ассоциирование браузера с сервером, накопление информации для использования вычислительным устройством из браузера.
[0011] Аспект способа может дополнительно включать в себя предоставление рекомендаций с помощью метаданных для web-браузера, чтобы синтаксически разбирать, анализировать или исполнять запрос, который может включать в себя JavaScript, определение того, что JavaScript неэффективен для обработки в вычислительном устройстве, и передачу двоичного предварительно скомпилированного трансляционного кода JavaScript.
[0012] Аспект способа может дополнительно включать в себя сбор статистических данных, относящихся к множеству привычек поиска и просмотра web-пользователями web-страницы, доставку статистических данных в метаданных, использование статистических данных, чтобы сберегать мобильные ресурсы, предварительно загружая статистически популярные web-страницы раньше web-страниц, которые запрашиваются в вычислительном устройстве, загрузку фрагментов web-страницы, которые являются популярными, и исключение загрузки вторых фрагментов web-страницы, которые непопулярны, чтобы сберегать мобильные ресурсы. Аспект способа может дополнительно включать в себя отправку данных поиска и просмотра web-страниц от Интернет-браузера серверу и формирование метаданных из данных браузера на сервере. Аспект способа может дополнительно включать в себя отправку данных от снабженного инструментальным средством браузера серверу и формирование метаданных из данных. В аспекте, метаданные, возвращенные вычислительному устройству, могут включать в себя возвращаемые метаданные от однорангового устройства к вычислительному устройству, которые коррелируют с фрагментами web-страницы, которые являются популярными у вычислительных устройств, соединенных с одноранговым устройством, таким образом, web-браузер на вычислительном устройстве загружает популярные фрагменты первыми.
[0013] Аспект способа может дополнительно включать в себя предоставление клиентской системы наблюдения за привычками поиска и просмотра второго вычислительного устройства, отправку привычек поиска и просмотра серверу, отправку метаданных из сервера вычислительному устройству на основе клиентской системы наблюдения за привычками поиска и просмотра второго вычислительного устройства. Аспект способа может дополнительно включать в себя формирование метаданных из привычек поиска и просмотра, которые включают в себя запросы и ответы на запросы, и предоставление метаданных одноранговому устройству, которое является одноранговым с вычислительным устройством.
[0014] Аспект способа может дополнительно включать в себя наблюдение привычек поиска и просмотра множества пользователей, отправку привычек поиска и просмотра серверу, формулирование множества полученных в ходе наблюдений профилей множества пользователей на основе наблюдаемых привычек поиска и просмотра, наблюдение привычек поиска и просмотра пользователя вычислительного устройства, возвращение метаданных из сервера вычислительному устройству на основе, по меньшей мере, одного полученного в ходе наблюдений профиля, который соответствует привычкам поиска и просмотра пользователя вычислительного устройства.
[0015] Аспект способа может дополнительно включать в себя описание в метаданных того, что первый фрагмент кода анализируется, загружается, синтаксически разбирается или исполняется чаще, чем второй фрагмент, и переупорядочивание и загрузку первого фрагмента библиотеки раньше второго фрагмента. Аспект способа может дополнительно включать в себя описание в метаданных того, что библиотека включает в себя фрагмент, который определяется как тот, который более вероятно должен быть выполнен, и загрузку более вероятно исполняемого фрагмента библиотеки раньше других фрагментов библиотеки.
[0016] Аспект способа может дополнительно включать в себя передачу запроса для помощника браузера, который располагается на сервере, определение того, что вычислительное устройство часто осуществляет доступ к web-сайту, и выгрузку обновленных данных web-сайта в вычислительное устройство. Аспект способа может дополнительно включать в себя загрузку первых фрагментов web-страниц с помощью вычислительного устройства раньше вторых фрагментов на основе статистических привычек поиска и просмотра web-страниц, содержащихся в метаданных. Аспект способа может дополнительно включать в себя предварительную загрузку фрагментов web-страниц с помощью вычислительного устройства, когда предварительно загруженные фрагменты идентифицируются с помощью статистических привычек поиска и просмотра web-страниц, содержащихся в метаданных.
[0017] Аспект способа может дополнительно включать в себя наблюдение за привычками поиска и просмотра от множества пользователей, определение того, что web-страница содержит элементы web-страницы, к которым часто осуществляется доступ, сохранение элементов web-страницы в кэше на основе привычек поиска и просмотра, чтобы предотвращать удаление элементов web-страницы в вычислительном устройстве, загрузку элементов web-страницы из кэша раньше ожидаемого запроса. В аспекте, способ может дополнительно включать в себя наблюдение за привычками поиска и просмотра, которые получаются из привычек поиска и просмотра одного пользователя, обновление web-страницы, сохраненной в кэше, принудительную отправку элементов в кэше в вычислительное устройство с периодическими интервалами без запроса, обновление web-страницы, сохраненной в кэше, и передачу элементов из кэша в вычислительное устройство. Аспект способа может дополнительно включать в себя возвращение метаданных вычислительному устройству заранее посредством предварительного кэширования метаданных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или выполнении запрошенной web-страницы.
[0018] Аспект способа может дополнительно включать в себя возвращение метаданных, которые предоставляют возможность вычислительному устройству выполнять web-страницу более эффективным образом, выполняя необходимые фрагменты и отказываясь от выполнения всей web-страницы.
[0019] В различных аспектах, помощник браузера может быть расположен на сервере, т.е., том же сервере, который отвечает на запрос web-страницы, на одноранговом компьютерном устройстве или на другом сетевом устройстве.
[0020] Аспект способа может дополнительно включать в себя передачу запроса web-страницы, в котором web-страница включает в себя фрагменты, обработку фрагментов с использованием помощника браузера, чтобы получать в результате специализированный код, и возвращение специализированного кода вычислительному устройству, в котором фрагменты включают в себя JavaScript.
[0021] Аспект способа может дополнительно включать в себя передачу запроса данных, передачу запроса первому устройству, возвращение метаданных второму устройству и описание фрагментов web-страницы в метаданных, которые имеют вероятный статистический шанс выполнения, на основе отслеживаемых эмпирических данных из запросов и ответов на запросы.
[0022] Различные аспекты дополнительно включают в себя вычислительное устройство, имеющее процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции аспектов способа, описанных выше. Различные аспекты могут дополнительно включать в себя вычислительное устройство, включающее в себя средство для выполнения функций аспектов способа, описанных выше. Различные аспекты могут дополнительно включать в себя невременные считываемые процессором носители данных информации, имеющие сохраненные на них исполняемые процессором инструкции, сконфигурированные, чтобы инструктировать процессорам вычислительного устройства выполнять операции аспектов способа, описанных выше.
[0023] Различные аспекты дополнительно включают в себя сервер, имеющий серверный процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции аспектов способа, описанных выше. Различные аспекты могут дополнительно включать в себя сервер, включающий в себя средство для выполнения функций аспектов способа, описанных выше. Различные аспекты могут дополнительно включать в себя невременные считываемые процессором носители данных информации, имеющие сохраненные на них исполняемые процессором инструкции, сконфигурированные, чтобы инструктировать процессорам сервера выполнять операции аспектов способа, описанных выше.
[0024] Различные аспекты дополнительно включают в себя систему, включающую в себя сервер, сеть сотовой связи и вычислительное устройство (например, мобильный телефон) на связи с сервером через сеть сотовой связи, в которой сервер и вычислительное устройство конфигурируются, чтобы выполнять операции аспектов способа, описанных выше.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0025] Прилагаемые чертежи, которые содержатся в данном документе и составляют часть этой спецификации, иллюстрируют примерные аспекты изобретения и вместе с общим описанием, предоставленным выше, и подробным описанием, приведенным ниже, служат, чтобы объяснить признаки изобретения.
[0026] Фиг. 1 - блок-схема системы связи для системы связи с мобильным вычислительным устройством.
[0027] Фиг. 2 - блок-схема последовательности операций процесса аспекта способа, использующего аналитические данные, чтобы улучшать производительность web-браузера.
[0028] Фиг. 3 иллюстрирует вычислительное устройство, связывающееся с сервером помощи браузеру.
[0029] Фиг. 4 иллюстрирует то, как конкретный предварительно определенный фрагмент кода имеет высокую вероятность выполнения, который может быть загружен раньше других фрагментов.
[0030] Фиг. 5A - блок-схема последовательности операций процесса аспекта способа, чтобы запрашивать метаданные по web-странице из сервера помощника браузера.
[0031] Фиг. 5B - блок-схема последовательности операций процесса аспекта способа, чтобы запрашивать метаданные по web-странице от оснащенного инструментальным средством браузера.
[0032] Фиг. 5B - блок-схема последовательности операций процесса аспекта способа, чтобы запрашивать метаданные по web-странице от web-браузера.
[0033] Фиг. 6 - блок-схема последовательности операций процесса аспекта способа, чтобы запрашивать метаданные по web-странице от однорангового устройства.
[0034] Фиг. 7 - блок-схема последовательности операций процесса аспекта способа, чтобы запрашивать метаданные по web-странице от компьютера домашней сети, который связывается с устройством мобильной связи, чтобы предоставлять помощь устройству мобильной связи.
[0035] Фиг. 8 иллюстрирует блок-схему системы связи сервера, которая отправляет рекомендации устройству мобильной связи для рендеринга web-страницы.
[0036] Фиг. 9 - блок-схема последовательности операций процесса аспекта способа, чтобы собирать данные из привычек поиска и просмотра множества различных пользователей и создавать метаданные, которые принудительно отправляются вычислительному устройству, чтобы предоставлять рекомендации для рендеринга web-страницы.
[0037] Фиг. 10 - блок-схема последовательности операций процесса аспекта способа, чтобы собирать данные из привычек поиска и просмотра множества различных пользователей и создавать метаданные, которые запрашиваются с вычислительного устройства, чтобы предоставлять рекомендации.
[0038] Фиг. 11 - блок-схема последовательности операций процесса аспекта способа, чтобы создавать метаданные с помощью аналитического модуля на сервере.
[0039] Фиг. 12 - блок-схема последовательности операций процесса аспекта способа, чтобы предоставлять целевые службы от имени устройства мобильной связи и кэшировать популярные данные на сервере для устройства мобильной связи.
[0040] Фиг. 13 - блок-схема последовательности операций процесса аспекта способа, чтобы создавать метаданные профилей выполнения JavaScript от множества пользователей, чтобы предоставлять рекомендации устройству мобильной связи.
[0041] Фиг. 14 - блок-схема последовательности операций процесса аспекта способа, чтобы предоставлять целевые службы от имени устройства мобильной связи и кэшировать популярные данные и поддерживать кэшированные данные, к которым часто осуществляется доступ, для устройства мобильной связи.
[0042] Фиг. 15 - блок-схема последовательности операций процесса аспекта способа, чтобы предоставлять целевые службы от имени устройства мобильной связи, кэшировать популярные данные на сервере и пополнять кэшированные данные.
[0043] Фиг. 16 иллюстрирует сервер помощи браузеру, предоставляющий часто используемые данные кэша устройству мобильной связи.
[0044] Фиг. 17 является блок-схемой процесса аспекта способа, чтобы формировать метаданные, которые имеют рекомендации для осуществления синтаксического разбора JavaScript.
[0045] Фиг. 18 иллюстрирует сервер, обрабатывающий данные и отправляющий предварительно скомпилированный двоичный файл обработанных JavaScript-данных устройству мобильной связи, чтобы избегать обработки JavaScript-данных.
[0046] Фиг. 19 - блок-схема последовательности операций процесса аспекта способа, чтобы обрабатывать данные на сервере и предоставлять предварительно скомпилированный двоичный файл обработанных данных устройству мобильной связи, чтобы избегать обработки данных локально.
[0047] Фиг. 20 - блок-схема последовательности операций процесса аспекта способа, чтобы предоставлять метаданные, идентифицирующие наиболее часто используемый фрагмент библиотеки, таким образом, устройство мобильной связи может загружать наиболее часто используемый фрагмент библиотеки без загрузки всей библиотеки программного обеспечения.
[0048] Фиг. 21 - блок-схема последовательности операций процесса аспекта способа, чтобы предоставлять метаданные наиболее просматриваемого фрагмента web-страницы, таким образом, устройство мобильной связи может загружать наиболее просматриваемый фрагмент раньше другого фрагмента.
[0049] Фиг. 22 - покомпонентная блок-схема мобильного вычислительного устройства, подходящего для использования с различными аспектами.
[0050] Фиг. 23 - покомпонентная блок-схема серверного вычислительного устройства.
[0051] Фиг. 24 - покомпонентная блок-схема портативного вычислительного устройства.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0052] Различные аспекты будут описаны подробно со ссылкой на сопровождающие чертежи. По возможности, одинаковые номера ссылок будут использоваться повсюду на чертежах, чтобы ссылаться на одни и те же или аналогичные части. Ссылки, приводимые на конкретные примеры и реализации, служат в качестве иллюстрации и не имеют намерение ограничивать объем изобретения или формулу изобретения.
[0053] Слово "примерный" используется в данном документе, чтобы означать "служащий в качестве примера, экземпляра или иллюстрации". Любая реализация, описанная в данном документе как "примерная", необязательно должна быть истолкована как предпочтительная по сравнению с другими реализациями.
[0054] Когда используются в данном документе, выражения "вычислительное устройство", "мобильное устройство", "устройство мобильной связи" и "карманное устройство" ссылаются на любое одно или все из сотовых телефонов, персональных цифровых помощников (PDA), карманных компьютеров, беспроводных приемников электронной почты, сотовых телефонов с мультимедийной Интернет-функцией, приемников системы глобального позиционирования (GPS), беспроводных игровых контроллеров, планшетных компьютеров, компьютеров-ноутбуков, компьютеров-нетбуков, беспроводных устройств электронной почты и аналогичных персональных электронных устройств, которые включают в себя программируемый процессор и память и конфигурируются, чтобы связываться с сетью передачи данных.
[0055] Когда используются в данном документе, выражения "компьютер", "персональный компьютер" и "вычислительное устройство" ссылаются на любую программируемую компьютерную систему, которая известна или которая будет разработана в будущем. В аспекте, компьютер будет подключен к сети, такой как описанная в данном документе. Компьютерная система может быть сконфигурирована с помощью инструкций программного обеспечения, чтобы выполнять процессы и операции, описанные в данном документе.
[0056] Когда используются в данном документе, выражения "компонент", "модуль", "система" и т.п., предназначаются, чтобы указывать на имеющую отношение к компьютеру сущность, либо аппаратные средства, сочетание аппаратных средств и программного обеспечения, программное обеспечение, либо программное обеспечение при выполнении. Например, компонент может быть, но не только, процессом, запущенным в процессоре, процессором, объектом, исполняемым файлом, потоком выполнения, программой и/или компьютером. В качестве иллюстрации, и приложение, запущенное на сервере, и сервер может быть компонентом. Один или более компонентов могут храниться внутри процесса и/или потока выполнения, и компонент может быть локализован на компьютере или распределен между двумя и более компьютерами.
[0057] Различные аспекты, описанные в данном документе, предоставляют способы и системы, которые используют технологию машинного обучения, чтобы улучшать рендеринг мультимедийных данных, в частности, рендеринг web-страницы на вычислительных устройствах, таких как мобильные устройства. В одном аспекте, распределенная сеть облачной службы улучшает восприятие браузера посредством прогнозирования следующего действия браузера и предоставления метаданных мобильному устройству, чтобы предоставлять рекомендации мобильному устройству. Мобильное устройство имеет лимитированные и ограниченные ресурсы. Мобильное устройство имеет относительно небольшую память, и данные, которые загружаются, стираются или перезаписываются регулярно. Дополнительно, мобильное устройство имеет конечную величину энергии аккумулятора. Как правило, энергия аккумулятора не может растрачиваться на отвлеченные задачи, а может использоваться, чтобы улучшать производительность и предоставлять непосредственную информацию пользователю. Привычки пользователя могут быть использованы браузером, чтобы предоставлять ему возможность действовать более эффективно, чтобы сберегать мобильные ресурсы или заранее подготавливать мультимедийные данные для немедленного доступа. Например, web-браузер может эффективно загружать и обрабатывать контент на основе привычек поиска и просмотра пользователем web-страниц, что полезно, поскольку времена загрузки могут быть более быстрыми, и срок эксплуатации аккумулятора может быть продлен.
[0058] Помощник браузера может улучшать характер работы кэша, наблюдая за привычками поиска и просмотра пользователя, или может наблюдать за привычками поиска и просмотра множества различных пользователей. Помощник браузера может предоставлять рекомендации мобильному устройству и может улучшать характер работы кэша. Например, сервер может регулярно принудительно отправлять посещенные, предварительно обработанные web-страницы мобильному устройству.
[0059] В другом аспекте, мобильное устройство может обнаруживать, когда конкретные данные поиска и просмотра, которые часто используются, или к ним осуществляется доступ, близки к удалению вследствие ограничений памяти. В этом случае, мобильное устройство может запрашивать целевые службы из сервера и выгружать данные, к которым часто осуществляется доступ, на сервер для более позднего использования мобильным устройством. Сервер может помечать выгруженную информацию и возвращать данные мобильному устройству в более позднее время/дату. В другом аспекте, сервер может оптимизировать данные и возвращать оптимизированные данные мобильному устройству.
[0060] В другом аспекте, система может включать в себя мобильное устройство, функционально соединенное с Интернетом и сервером помощи браузеру. Сервер помощи браузеру может также быть функционально соединен с Интернетом и мобильным устройством. Сервер помощи браузеру может доставлять метаданные, касающиеся web-сайтов, мобильному устройству. Эти метаданные могут предоставлять рекомендации о том, как мобильное устройство может эффективно управлять запросом web-страницы, отправленным с мобильного устройства. Например, метаданные могут включать в себя информацию, которая предоставляет возможность мобильному устройству прогнозировать следующее действие пользователя по поиску и просмотру.
[0061] Метаданные могут быть любой информацией, которая предоставляет возможность мобильному устройству или серверу лучше выполнять синтаксический разбор, исполнять или анализировать запросы браузера. Например, метаданные могут быть XML, Ajax или jSAW-кодом. В аспекте, мобильное устройство может просматривать метаданные из сервера помощи браузеру при выполнении рендеринга web-страницы. Метаданные могут предоставлять схему для оптимизированного выполнения браузером web-страниц. Браузер может использовать метаданные, чтобы более эффективно управлять запрошенной web-страницей. Это может приводить к более быстрым временам выполнения и меньшему использованию энергии. Например, метаданные могут предоставлять информацию о том, что к конкретным данным часто осуществляется доступ, или они являются популярными среди пользователей. Например, используя инфраструктуру принудительной отправки/запроса, данные, которые обычно были бы стерты, которые являются популярными или которые часто используются, могут быть выгружены из мобильного устройства в кэш-память, расположенную на сервере. Данные могут динамически кэшироваться и могут считываться мобильным устройством, когда необходимо.
[0062] В аспекте, метаданные могут включать в себя JavaScript-метаданные. Метаданные могут предоставлять полезную информацию, включающую в себя вероятности функции JavaScript для конкретных фраз, маркеры скрипта, лексическую информацию, информацию синтаксического разбора AST, уже скомпилированные двоичные данные, своевременные данные или другие рекомендации, чтобы экономить время при обработке JavaScript-запросов в мобильном устройстве. Например, метаданные могут включать в себя CSS-метаданные, включающие в себя такую информацию, как упрощенные или оптимизированные селекторы, стили слияния, или любую другую информацию, чтобы помогать в обработке, синтаксическом разборе, выполнении или выполнении рендеринга данных CSS-web-страницы. В другом аспекте, метаданные могут включать в себя рекомендации о том, как обрабатывать DOM-дерево параллельным образом.
[0063] В аспекте, метаданные могут включать в себя HTML-метаданные с рекомендациями разделенного на сегменты кода. Рекомендации могут инструктировать мобильному устройству обрабатывать закодированные страницы скорее параллельно, чем последовательно. В аспекте, метаданные могут включать в себя данные от множества других пользователей и могут описывать аналитические данные или шаблоны, полученные из наблюдения за привычками поиска и просмотра пользователей.
[0064] В аспекте, аналитические данные могут указывать, что конкретный элемент web-страницы имеет высокую вероятность выполнения или может быть очень популярным у других пользователей. Мобильное устройство может загружать эти элементы web-страницы на основе предположения, что пользователь может загружать элемент web-страницы в некоторый момент времени. Например, используя аналитические данные, метаданные могут указывать, что библиотека включает в себя первый фрагмент, который имеет высокую вероятность выполнения. Метаданные могут указывать, что первый фрагмент библиотеки должен быть передан, или к нему должен быть осуществлен доступ, непосредственно в силу того, что он имеет высокую вероятность выполнения по сравнению с другими фрагментами библиотеки. Другой второй фрагмент может указывать низкую вероятность выполнения на основе статистической информации. Метаданные могут указывать, что второй фрагмент библиотеки не должен загружаться до более позднего времени, поскольку метаданные указывают, что вторая библиотека имеет низкую вероятность выполнения.
[0065] В аспекте, сервер помощи браузеру с помощью аналитических данных может формировать метаданные. Сервер помощи браузеру может наблюдать соотношения из массовых привычек. Метаданные могут указывать, что к конкретной web-странице часто осуществляется доступ. Метаданные могут указывать, что конкретный элемент web-страницы, например, текст, расположенный на web-странице, к которой часто осуществляется доступ, просматривается девяноста процентами посетителей web-страницы. Информация о привычках может также быть скомпилирована сервером помощи браузеру на основе полученных в ходе наблюдений привычек поиска и просмотра множества пользователей.
[0066] В еще одном аспекте, метаданные могут быть предварительно кэшированы на устройстве мобильной связи и таким образом, что они могут быть предоставлены устройству мобильной связи заранее. Например, метаданные могут быть переданы абонентским мобильным устройствам в предварительно определенном периоде времени заранее перед тем, как пользователю может понадобиться информация, например, в вечерние или ранние утренние часы, когда использование сети является низким. Альтернативно, метаданные могут быть переданы как часть процедуры синхронизации, например, для 100 самых популярных web-сайтов, доступ пользователей к которым наблюдается, или 100 самых популярных web-сайтов, к которым пользователь устройства мобильной связи осуществляет доступ. В некоторых аспектах метаданные могут не предоставляться по требованию, а могут предоставляться перед запросом, во время запроса или после запроса web-страницы. В одном аспекте, метаданные могут иметь более низкую скорость изменения относительно web-контента, и, таким образом, могут быть предварительно кэшированы на компьютере пользователя или мобильном устройстве с предварительно определенными интервалами. Например, метаданные могут доставляться не в час пик, например, поздней ночью, или периодически, например, еженедельно.
[0067] Когда происходит событийное мероприятие, поиск и просмотр web-страниц пользователями может наблюдаться. Привычки поиска и просмотра web-страниц пользователей могут указывать, что пользователи отправляют запросы из web-браузеров на новостной web-сайт, чтобы просматривать определенное текстовое изложение и фотоизображения. Элементы web-страницы могут иметь высокую вероятность того, что пользователь мобильного устройства может также просматривать элемент web-страницы на основе собственных привычек поиска и просмотра пользователя мобильного устройства. Метаданные из сервера помощи браузеру могут предоставлять возможность мобильному устройству загружать контент на основе предположения, что пользователь загрузит текст и web-страницу в некоторое время.
[0068] В другом аспекте, сервер помощи браузеру может собирать информацию о функциях, которые были статистически выполнены множеством пользователей определенных web-страниц. В ответ, сервер помощи браузеру может создавать индекс статистической информации. Сервер помощи браузеру может использовать эту статистическую информацию, чтобы доставлять метаданные множеству мобильных устройств, чтобы улучшать собственные впечатления пользователей от поиска и просмотра web-страниц.
[0069] В аспекте, может быть сформирован код, включающий в себя HTML-код, CSS, первую JavaScript-функцию и вторую JavaScript-функцию и другой код. Сервер помощи браузеру может наблюдать, что первая и вторая JavaScript-функции были выполнены многими пользователями чаще, таким образом, чем другие функции на web-страницах. Сервер помощи браузеру может предоставлять мобильному устройству метаданные, включающие в себя статистическую информацию, касающуюся частоты или вероятности выполнения первой и второй JavaScript-функций. Метаданные могут предоставлять возможность мобильному устройству оптимизировать производительность web-браузера с помощью метаданных.
[0070] В другом аспекте, мобильное устройство может запрашивать информацию для анализа из сервера помощи браузеру. Информация для анализа может быть для конкретной запрошенной web-страницы. Запрос к серверу помощи браузеру может включать в себя контекстную информацию, информацию о пользовательском профиле, информация о связи, информацию о мобильном устройстве и/или информацию о web-браузере. Запрос может предоставлять возможность серверу помощи браузеру возвращать метаданные, которые являются релевантными, пользователю.
[0071] В другом аспекте, мобильному устройству могут быть предоставлены целевые службы. Устройство мобильной связи может иметь кэш на сервере помощи браузеру, и мобильное устройство может хранить данные в кэше. Кэш может быть компонентом сервера, который прозрачно хранит данные, так что будущие запросы этих данных могут обслуживаться быстрее. Данные, которые хранятся в кэше, могут быть значениями, которые были вычислены ранее, или дубликатами оригинальных значений, которые хранятся где-либо еще. Если запрошенные данные содержатся в кэше ("удачное обращение в кэш"), этот запрос может быть обслужен посредством простого чтения кэша, что является сравнительно более быстрым для мобильного устройства. Иначе, данные должны быть повторно вычислены устройством мобильной связи или получены из своего исходного места хранения, что является сравнительно более медленным. Следовательно, чем больше запросов, которые могут быть обслужены из кэша для устройства мобильной связи, тем более быстрой может быть общая производительность системы.
[0072] В аспекте, сервер помощи браузеру может предоставлять целевую службу для множества мобильных устройств. Например, мобильное устройство может осуществлять запись в кэш на сервере помощи браузеру, включающую в себя кэшированный JavaScript или кэшированную библиотеку, для будущего использования. Это может экономить время обработки и срок службы аккумулятора. Например, мобильное устройство или сервер помощи браузеру может определять, что данные, которые близки к удалению на мобильном устройстве, являются релевантными для пользователя на основе привычек поиска и просмотра пользователя, и может сохранять данные в кэше, ассоциированном с сервером.
[0073] В другом аспекте, сервер может оптимизировать кэшированные данные. Например, профиль пользователя может быть сохранен на сервере помощи браузеру. Например, сервер помощи браузеру может обнаруживать, что пользователь загружает одни и те же web-сайты каждый день в 08:00. Например, мобильное устройство может сталкиваться с ограничением памяти позже днем. Мобильное устройство может также обнаруживать, что конкретные элементы web-страницы будут использованы на следующий день в 08:00. Мобильное устройство может записывать элементы web-страницы в кэш, ассоциированный с сервером помощи браузеру как L2-кэш. Мобильное устройство может осуществлять доступ к элементам web-страницы из кэша на следующий день.
[0074] В другом аспекте, сервер помощи браузеру может непосредственно анализировать и компилировать JavaScript заранее. JavaScript может быть не нужно обрабатывать на устройстве мобильной связи. Эти данные могут также быть скомпилированы для предварительно определенной архитектуры. Сервер помощи браузеру может предоставлять двоичные данные, рендеринг которых выполняется из обработанного JavaScript. Двоичные данные могут передаваться мобильному устройству, таким образом, мобильное устройство избегает компиляции JavaScript локально. Процессор мобильного устройства избегает синтаксического анализа, выполнения и своевременного предоставления фраз выполняемой ветви JavaScript и может выполнять рендеринг элементов быстрее.
[0075] Фиг. 1 показывает систему связи, включающую в себя мобильное устройство 100, которое может включать в себя дисплей 110, который предоставляет графический пользовательский интерфейс (GUI) для удаленного доступа и управления персональным мультимедийным контентом. Такой GUI может включать в себя значки и формы, ассоциированные с функциями, которые могут быть выбраны посредством нажатия физических клавиш на клавиатуре, которая может быть предусмотрена под дисплеем 110, или посредством нажатия на сам дисплей, когда дисплей имеет функциональную возможность сенсорного экрана. Отображение 110 GUI может включать в себя значки, показанные ссылочным номером 115.
[0076] Некоторые из компонентов системы связи, которые предоставляют возможность доступа к управляющей сети и устройству на мобильном устройстве 100, иллюстрированы на фиг. 1. Чтобы предоставлять возможность мобильному устройству 100 осуществлять доступ к Интернету 114 и серверу 142 регистрации, мобильное устройство 100 может связываться с беспроводной сетью 130, такой как сеть сотовой связи. Беспроводная сеть 130 может связываться с Интернетом 114 через сеть 326 оператора связи по каналу 330 передачи данных, такому как Интернет, безопасная LAN, WAN или другая сеть. Сеть 326 оператора связи управляет сообщениями (как правило, содержащими пакеты данных), отправленными в мобильный коммутационный центр (MSC) 332. Сеть 326 оператора связи связывается с MSC 332. Эта связь может существовать, чтобы передавать данные и голосовую информацию. MSC 332 может быть соединен с множественными базовыми станциями (BTS) 132 посредством другой сети 336, такой как сеть передачи данных и/или сегмент Интернета для передачи данных и POTS-сегмент для голосовой информации. BTS 132 может беспроводным образом осуществлять широковещательную передачу сообщений и принимать сообщения от мобильных устройств 100, использовать предварительно определенные голосовые службы и/или службы пакетов данных, такие как множественный доступ с кодовым разделением канала (CDMA), служба обмена короткими сообщениями (SMS) или любые другие способы беспроводной передачи данных.
[0077] Мобильные устройства 100 могут быть сконфигурированы, чтобы включать в себя компьютерную платформу 120, имеющую память 125 на связи с процессором 131, например, через прикладной программный интерфейс (API) 135, который предоставляет возможность взаимодействия с любыми резидентными приложениями (например, "мультимедийный" интерфейс 140, который работает совместно с информацией, передаваемой сервером 142 регистрации, показанным на фиг. 1).
[0078] Платформа 120 может также включать в себя шлюзовой интерфейс 145. Шлюзовой интерфейс 145 может быть стандартом, который определяет то, как программное обеспечение web-сервера может делегировать формирование web-страниц автономному приложению в исполняемом файле. Шлюзовой интерфейс 145 может включать в себя CGI-скрипты, написанные на любом языке программирования или любом языке описания сценариев. Шлюзовой интерфейс 145 имеет программные инструкции для сервера 142, чтобы передавать запрос web-пользователя прикладной программе и принимать данные обратно так, чтобы шлюзовой интерфейс мог перенаправлять данные пользователю.
[0079] Когда пользователь запрашивает web-страницу (например, щелкая на выделенном слове или вводя адрес web-сайта), сервер 142 может передавать запрошенную страницу. Однако, когда пользователь заполняет форму на web-странице и передает форму, форма обычно должна быть обработана прикладной программой. Сервер 142 может передавать информацию формы небольшой прикладной программе, которая обрабатывает данные и может передавать обратно подтверждающее сообщение с помощью шлюзового интерфейса 145.
[0080] Также может быть предусмотрен сервер 150 помощи браузеру. В аспекте, сервер 150 помощи браузеру может быть тем же, что и сервер 142, или другим сервером. В другом аспекте, помощник браузера может быть программным обеспечением, которое постоянно находится на множестве различных компьютеров.
[0081] Сервер 150 помощи браузеру может предоставлять метаданные мобильному устройству 100, которое функционально соединено с Интернетом 114. Шлюзовой интерфейс 145 имеет программные инструкции, чтобы сервер 150 помощи браузеру пропускал запрос web-пользователя к прикладной программе, и чтобы сервер 150 передавал метаданные пользователю. В одном аспекте, метаданные могут быть вставлены в заголовок запрошенных данных поиска и просмотра. В другом аспекте, метаданные могут передаваться отдельно от запрошенных данных поиска и просмотра.
[0082] Когда пользователь запрашивает web-страницу (например, щелкая по выделенному слову или вводя адрес web-сайта), второй запрос может также быть предоставлен серверу 150 помощи браузеру, чтобы сервер 150 передавал запрошенные метаданные. В другом аспекте, сервер 150 помощи браузеру может также принимать запрос данных web-страницы к серверу 142 и в ответ отправлять метаданные мобильному устройству 100 без приема отдельного или второго запроса. В другом аспекте, метаданные могут отправляться периодически без какого-либо запроса. Например, метаданные могут доставляться в цикле, например, один раз каждые пятнадцать минут.
[0083] Фиг. 2 показывает иллюстрацию аспекта способа 200 для использования аналитических данных в устройстве 100 мобильной связи, чтобы улучшать производительность. Аналитические данные могут включать в себя любые полученные в ходе наблюдений или вычисленные данные логического анализа, которые могут предоставлять возможность мобильному устройству улучшать производительность. Например, аналитические данные могут указывать, что конкретные фразы имеют более высокую вероятность выполнения, чем другие фразы, так что мобильное устройство может загружать эти фразы быстрее других фраз.
[0084] Способ 200 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 200. В способе 200, процессор устройства 1 мобильной связи может начинать работу на этапе 205, осуществляя доступ к приложению web-браузера. Web-браузер может быть любым web-браузером, имеющим программные инструкции для нахождения, представления и перемещения по информационным ресурсам во всемирной паутине. Информационный ресурс идентифицируется посредством универсального идентификатора ресурса (URI) и может быть web-страницей, изображением, видео или другим информационным контентом. Гиперссылки, присутствующие в web-контенте, предоставляют возможность пользователям легко осуществлять навигацию браузера к соответствующему ресурсу.
[0085] Web-браузер может предоставлять информационные ресурсы пользователю устройства 100 мобильной связи. Пользователь может вводить универсальный идентификатор ресурса (URI) в браузер или может щелкать по ссылке. Принятые HTML-скрипты могут быть пропущены в компоновочный механизм браузера и преобразованы из разметки в интерактивный документ. Web-браузеры могут, как правило, отображать любой вид контента, который может быть частью web-страницы. Данные могут включать в себя изображение, аудио, видео и XML-файл, флэш-приложения и Java-апплеты. Интерактивность на web-странице может быть обеспечена посредством JavaScript. JavaScript может быть использован вместе с другими технологиями, чтобы предоставлять возможность живого взаимодействия с сервером web-страниц через язык программирования Ajax. JavaScript-программы могут создавать интерактивные 2D-графические изображения с помощью API и могут выполнять рендеринг 3D-графики.
[0086] На этапе 210, процессор может отправлять аналитические данные из сервера 150 устройству 100 мобильной связи. Например, аналитические данные могут быть доставлены в метаданных, но также аналитические данные могут быть доставлены в других форматах. Выражение "метаданные" ссылается на любые данные о данных и может включать в себя информацию, которая предоставляет рекомендации, чтобы прогнозировать производительность браузера или помогать web-браузеру или устройству мобильной связи улучшать производительность.
[0087] Метаданные могут включать в себя данные о модели и спецификации структур данных. Метаданные могут также включать в себя описательные метаданные, которые включают в себя данные приложений или информационный контент. Метаданные могут также включать в себя статистическую информацию и могут быть любым описанием контента и контекста файлов данных, таким образом, качество исходных данных или файлов значительно увеличивается. Например, метаданные могут улучшать впечатление пользователя, помогая устройству мобильной связи работать более эффективно, чтобы увеличивать срок службы устройства.
[0088] На этапе 215, второй процессор, ассоциированный с устройством 100 мобильной связи, может принимать аналитические данные. Это может быть выполнено устройством мобильной связи, загружающим метаданные непосредственно из сервера 150 или от посредника. В другом аспекте, метаданные могут быть вставлены в информационный контент. В другом аспекте, метаданные могут быть загружены с однорангового устройства или могут быть загружены с устройства в домашней сети. На этапе 220 процессор устройства мобильной связи использует аналитические данные, чтобы улучшать производительность. Например, метаданные могут идентифицировать популярные фрагменты web-контента или контент, который имеет высокую статистическую вероятность выполнения.
[0089] Фиг. 3 показывает высокоуровневую схему устройства 100 мобильной связи и сервера 150 помощи браузеру, соединенных с Интернетом 114. Запрос web-страницы 1a может быть передан от устройства 100 мобильной связи в Интернет 114. Запрос 1a может быть для web-страницы и может включать в себя унифицированный идентификатор web-ресурса. Запрос 1a может возвращать HTML, XML, JavaScript, каскадные таблицы стилей, XHTML и объекты данных.
[0090] Устройство 100A мобильной связи может передавать второй запрос 1b серверу 150 помощи браузеру. Второй запрос 1b возвращает метаданные. Метаданные могут включать в себя рекомендации, которые могут прогнозировать следующее действие браузера на устройстве 100 мобильной связи. Метаданные включают в себя информацию, которая предоставляет возможность устройству мобильной связи лучше проводить синтаксический разбор, анализировать и/или выполнять запрос 1a web-браузера. Метаданные могут быть в Ajax-, XML- или J-SAW-формате.
[0091] Как показано стрелкой 2, устройство 100 мобильной связи может использовать метаданные, чтобы более эффективно обрабатывать запрошенную web-страницу, что может вести к более быстрому времени выполнения, более низкому использованию энергии или меньшему времени обработки. Например, используя первый браузер, работающий на устройстве 100 мобильной связи, пользователь может выбирать гиперссылку. Запрос 1a web-страницы может быть доставлен, чтобы осуществлять доступ к HTML, XML, JavaScript, каскадным таблицам стилей, XHTML и объектам данных. Первый браузер может дополнительно отправлять второй запрос 1b, который неизвестен пользователю и который не нарушает впечатление от поиска и просмотра.
[0092] Сервер 150 помощи браузеру может принимать второй запрос 1b. Сервер 150 помощи браузеру может улучшать производительность, обнаруживая, что существует JavaScript на web-странице, рендеринг которой скоро должен выполняться. Сервер 150 помощи браузеру может иметь уже скомпилированный JavaScript или может компилировать код незамедлительно. Сервер 150 помощи браузеру может доставлять скомпилированный JavaScript в двоичном файле (или другом специализированном формате) браузеру устройства 100 мобильной связи. Скомпилированный двоичный файл JavaScript устраняет нагрузку компиляции кода на процессор в устройстве мобильной связи, экономя время рендеринга и ресурсы обработки. Рендеринг предварительно скомпилированного JavaScript выполняется на устройстве мобильной связи.
[0093] В другом аспекте, сервер 150 помощи браузеру может принимать оба запроса 1a и 1b и предоставлять метаданные и web-контент. В другом аспекте, сервер 150 помощи браузеру может предоставлять виртуальную машину на устройстве 100 мобильной связи, чтобы предоставлять возможность совместного использования ресурсов лежащей в основе физической машины между различными машинами, каждая из которых работает в своей собственной операционной системе. Это может уменьшать нагрузку обработки на процессор мобильного устройства.
[0094] Фиг. 4 иллюстрирует сервер 150 помощи браузеру и устройство 100 мобильной связи, формирующие запрос и совместно использующие метаданные и подключенные к Интернету 114. Запрос web-страницы может быть отправлен от устройства 100 мобильной связи серверу по Интернету 114. Запрос web-страницы может включать в себя унифицированный идентификатор web-ресурса. Интернет-сервер может возвращать HTML, XML, JavaScript, каскадные таблицы стилей, XHTML и объекты данных. Второй запрос 1 также может быть отправлен от устройства 100 мобильной связи серверу 150 помощи браузеру.
[0095] Запрос 1 может возвращать метаданные 3, которые включают в себя рекомендации для браузера устройства мобильной связи. Рекомендации могут прогнозировать следующее действие браузера на устройстве 100 мобильной связи. Метаданные могут включать в себя информацию, которая предоставляет возможность устройству 100 мобильной связи лучше проводить синтаксический разбор, анализировать и/или выполнять запрос 1 web-браузера. Сервер 150 помощи браузеру может также обрабатывать запрос 1. Сервер 150 помощи браузеру может улучшать производительность, обнаруживая, что существуют JavaScript-фрагменты на web-странице, которые имеют высокую вероятность выполнения, и другие вторые фрагменты, которые имеют низкую вероятность выполнения, на основе статистических наблюдаемых шаблонов поиска и просмотра. Статистические наблюдаемые шаблоны поиска и просмотра могут происходить из различных источников. Например, статистические наблюдаемые шаблоны поиска и просмотра могут отслеживаться от множества отслеживаемых web-браузеров. Сервер 150 помощи браузеру может получать эмпирические данные и сохранять эмпирические данные в индексе. Альтернативно, статистические наблюдаемые шаблоны поиска и просмотра могут отслеживаться с устройства 100 мобильной связи. Альтернативно, третье вычислительное устройство может наблюдать за привычками поиска и просмотра и сохранять привычки поиска и просмотра в индексе на носителе данных и выгружать индекс на сервер 150 помощи браузеру.
[0096] Альтернативно, статистические наблюдаемые шаблоны поиска и просмотра могут наблюдаться из множества одноранговых устройств. BAS-сервер 150 может изучать данные браузеров одноранговых устройств и сохранять эмпирические данные в индексе.
[0097] В альтернативном аспекте, программист может включать данные, указывающие, что некоторые фрагменты имеют высокую вероятность выполнения, в то время как другие фрагменты имеют низкую вероятность выполнения, в актуальный код, чтобы предоставлять указание мобильному устройству 100. Сервер 150 помощи браузеру может предварительно компилировать JavaScript и передавать высоковероятный для выполнения фрагмент JavaScript, предварительно скомпилированный в двоичном или специализированном формате.
[0098] Сервер 150 помощи браузеру может доставлять данные или метаданные устройству 100 мобильной связи, как показано стрелкой 3. Метаданные могут включать в себя рекомендации, чтобы загружать первый фрагмент с высокой вероятностью выполнения, в то же время не загружая второй фрагмент с низкой вероятностью выполнения. Альтернативно, метаданные могут включать в себя рекомендации о том, что мобильное устройство должно загружать первый (с высокой вероятностью выполнения) фрагмент, в то же время загружая второй (фрагмент с низкой вероятностью выполнения) в более позднее время.
[0099] Фиг. 5A иллюстрирует аспект способа 500 для возвращения метаданных из сервера 150 помощи браузеру устройству мобильной связи, чтобы сберегать энергию в мобильном устройстве 100. Способ 500 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 500.
[0100] В способе 500 процессор 131 может начинать операцию на этапе 502, собирая данные от множества других пользователей для того, чтобы определять статистическую информацию о контенте web-страницы. Например, статистическая информация может включать в себя данные о привычках, указывающие, какие конкретные элементы web-контента имеют высокую вероятность поиска и просмотра или выполнения, на основе собранных данных. Однако, данные могут включать в себя любую другую информацию, что привело бы к более эффективной работе мобильного устройства 100.
[0101] На этапе 504 процессор может запрашивать метаданные на web-странице из сервера помощи браузеру. На этапе 506 процессор может отправлять запрос web-страницы с мобильного устройства. На этапе 508 принятия решения процессор может использовать данные, собранные от других пользователей, и выполнять запрос, чтобы определять, имеет ли сервер помощи браузеру информацию, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос.
[0102] Например, сервер помощи браузеру может определять, что конкретный JavaScript включает в себя фрагмент, который имеет высокую вероятность выполнения, на основе полученных в ходе наблюдений статистических данных. Если так (т.е., блок 508 принятия решения="да"), что указывает, что существует информация для того, чтобы лучше выполнять синтаксический разбор, анализировать или исполнять запрос посредством процессора на сервере 150, процессор может возвращать метаданные мобильному устройству на этапе 512. С другой стороны, если BAS 150 не имеет информации, чтобы лучше выполнять синтаксический разбор, обнаруживать или анализировать запрос для мобильного устройства 1000 (т.е., блок 508 принятия решения="нет"), процессор может не иметь метаданных для возврата на этапе 510. Устройство мобильной связи может выполнять код web-страницы на этапе 516.
[0103] На этапе 512 процессор сервера помощи браузеру может возвращать метаданные мобильному устройству. Например, метаданные могут предполагать, что фрагмент библиотеки имеет удаленную возможность использования посредством web-браузера и может не загружаться немедленно. В другом аспекте, метаданные могут содержать двоичный файл (или файл на специализированном языке), который соответствует скомпилированному JavaScript. Эта информация может предоставлять возможность улучшения операций браузера, поскольку мобильное устройство может не быть обязано выполнять синтаксический разбор, анализировать или выполнять JavaScript.
[0104] На этапе 514 процессор мобильного устройства может использовать метаданные, чтобы упрощать web-обработку. Например, мобильный процессор может определять (с помощью метаданных), что HTML, включенный в web-страницы, имеет сегменты, которые могут быть обработаны параллельно вместо последовательной обработки. Мобильный процессор может обрабатывать элементы web-страницы параллельно на основе метаданных. Например, метаданные могут включать в себя вероятности JavaScript-функции, маркеры скрипта или лексическую информацию, и мобильный процессор может использовать метаданные, чтобы выполнять рендеринг web-страницы, выполняя JavaScript, который имеет высокую вероятность выполнения, в то же время выполняя другие фрагменты позже по времени. На этапе 516, процессор мобильного устройства может выполнять код web-страницы и может выполнять рендеринг web-страницы способом, который быстрее, чем в случае, когда рекомендации метаданных не предоставляются.
[0105] Фиг. 5B иллюстрирует аспект способа 550 для использования со снабженным инструментальным средством браузером, который собирает данные от множества пользователей и который возвращает метаданные устройству мобильной связи, чтобы сберегать мобильные ресурсы в мобильном устройстве 100. Снабженный инструментальным средством браузер может включать в себя, по меньшей мере, один подключаемый модуль для web-браузера. Подключаемый модуль может отслеживать активность пользователя. Снабженный инструментальным средством браузер множества пользователей может объединять данные о привычках множества устройств. Например, снабженный инструментальным средством браузер может регистрировать нажатия клавиш или может регистрировать входные данные пользователя, чтобы предоставлять возможность отслеживания, накопления и записи деталей пользовательского взаимодействия. Информация о привычках может включать в себя эмпирические аналитические данные, относящиеся к привычкам пользователя(ей), и логические соотношения, которые могут быть использованы, чтобы улучшать производительность мобильного устройства.
[0106] Способ 550 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 550. В способе 550 процессор 131 может начинать операцию на этапе 518 посредством процессора, ассоциированного со снабженным инструментальным средством браузером, собирающим данные от множества других web-пользователей для того, чтобы определять статистическую информацию о контенте web-страницы. Статистическая информация может включать в себя данные о том, что конкретные элементы web-контента имеют высокую вероятность поиска и просмотра или выполнения на основе собранных данных. В другом аспекте, данные могут быть индивидуальными для пользователя браузера. Например, во время поиска и просмотра пользователь может иметь привычку выполнения конкретных файлов или типов файлов относительно других web-элементов. Например, конкретный пользователь может осуществлять доступ к финансовым сайтам, которые требуют, чтобы JavaScript-элементы выполнялись каждое утро в 08:00.
[0107] На этапе 520 процессор может запрашивать метаданные по web-странице. На этапе 522 процессор может отправлять запрос web-страницы с мобильного устройства. На этапе 524 принятия решения процессор может использовать данные, собранные из снабженного инструментальным средством браузера, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос. Например, снабженный инструментальным средством браузер может определять, что конкретный JavaScript включает в себя фрагмент, который имеет высокую вероятность выполнения, на основе полученных в ходе наблюдений статистических данных. Альтернативно, снабженный инструментальным средством браузер может определять, что пользователь просматривает одну и ту же web-страницу каждый день в 09:00, и конкретные данные были кэшированы для следующего дня, таким образом, снабженному инструментальным средством браузеру не нужно загружать все элементы web-страницы на следующий день.
[0108] Если так (т.е., блок 524 принятия решения="да"), что указывает, что снабженный инструментальным средством браузер имеет информацию, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос, процессор может возвращать метаданные мобильному устройству на этапе 528. Например, метаданные могут указывать, что фрагмент библиотеки имеет удаленную возможность использования посредством web-браузера и может не загружаться. В другом аспекте, метаданные могут содержать предварительно скомпилированный двоичный (или на специализированном языке) файл, который соответствует JavaScript, таким образом, мобильное устройство не должно выполнять синтаксический разбор, анализировать или выполнять JavaScript, чтобы помогать снабженному инструментальным средством браузеру. Таким образом, снабженный инструментальным средством браузер может просто использовать специализированный язык, чтобы выполнять рендеринг JavaScript-фразы.
[0109] С другой стороны, если снабженный инструментальным средством браузер не имеет информации, чтобы лучше выполнять синтаксический разбор, обнаруживать или анализировать запрос для мобильного устройства 100 (т.е., блок 524 принятия решения="нет"), процессор может не иметь метаданных для возвращения на этапе 526, и устройство мобильной связи может выполнять код web-страницы на этапе 532. На этапе 530 процессор мобильного устройства может использовать метаданные, чтобы упрощать web-обработку. На этапе 532 процессор мобильного устройства выполняет код web-страницы и выполняет рендеринг web-страницы способом, который является более эффективным.
[0110] Фиг. 5C иллюстрирует аспект способа 580 для использования с web-браузером, который собирает данные от пользователя, и который возвращает метаданные устройству мобильной связи, чтобы сберегать мобильные ресурсы в мобильном устройстве 100. Браузер наблюдает за активностью пользователя. Способ 580 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 580. В способе 580 процессор может начинать операцию на этапе 534. Процессор, ассоциированный с web-браузером, может собирать данные из сеанса работы web-браузера. Это может быть использовано для определения статистической информации о привычках пользователя при обзоре или поиске и просмотре контента web-страницы. Например, данные могут быть индивидуальными для пользователя браузера. Например, пользователь имеет привычку выполнения конкретных файлов или типов файлов статистически относительно других элементов.
[0111] На этапе 536 процессор может отправлять запрос метаданных по web-странице. На этапе 538 процессор может отправлять запрос web-страницы с мобильного устройства. На этапе 540 принятия решения процессор может использовать данные, собранные из поиска и просмотра пользователем web-страниц, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос. Например, браузер может определять, что конкретные JavaScript-фразы включают в себя фрагмент, который имеет высокую вероятность выполнения, на основе полученных в ходе наблюдений статистических данных. Альтернативно, браузер может определять, что пользователь просматривает одну и ту же страницу каждый день в 09:00, и конкретные данные кэшируются для следующего дня. Следовательно, браузеру не нужно загружать все элементы web-страницы на следующий день, и он может работать более эффективно.
[0112] Если так (т.е., блок 540 принятия решения="да"), что указывает, что браузер имеет информацию, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос, процессор может возвращать метаданные мобильному устройству на этапе 544. С другой стороны, если браузер не имеет информации, чтобы лучше выполнять синтаксический разбор, обнаруживать или анализировать запрос для мобильного устройства 100 (т.е., блок 540 принятия решения="нет"), процессор может не иметь метаданных для возвращения на этапе 542, и устройство мобильной связи может выполнять код web-страницы на этапе 548. На этапе 544, процессор web-браузера может возвращать метаданные мобильному устройству. На этапе 546 процессор мобильного устройства может использовать метаданные, чтобы упрощать web-обработку. На этапе 548, процессор мобильного устройства выполняет код web-страницы и выполняет рендеринг web-страницы способом, который быстрее, чем в случае, когда рекомендации метаданных не предоставляются.
[0113] Фиг. 6 иллюстрирует аспект способа 600, который может быть использован с одноранговым устройством, которое собирает данные пользователя и возвращает метаданные устройству мобильной связи, чтобы эффективно использовать мобильные ресурсы в мобильном устройстве 100. Одноранговое устройство может быть другим мобильным устройством, точкой доступа, другим устройством и т.д., которое связывается с мобильным устройством и/или другими устройствами (не показаны). В одном примере, одноранговое устройство может быть независимо питаемым устройством дома или на предприятии, которое предоставляет услуги связи вместе с, или в качестве альтернативы, базовой станции. Кроме того, одноранговое устройство может идентифицировать соседние устройства. В примере, одноранговое устройство может принимать или иначе прослушивать передачи по нисходящей линии связи от базовой станции к мобильным устройствам. Одноранговое устройство может также принимать или иначе прослушивать передачи по восходящей линии связи от мобильных устройств относительно ресурсов в передачах по нисходящей линии связи, чтобы идентифицировать мобильные устройства (например, на основе информации в передачах по восходящей линии связи). Одноранговое устройство может задействовать web-браузер, который наблюдает за действиями пользователя.
[0114] Способ 600 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 600. В способе 600 процессор может начинать операцию на этапе 602 посредством процессора однорангового устройства, собирающего данные из сеанса web-браузера. Это может быть выполнено для того, чтобы определять статистическую информацию о контенте web-страницы.
[0115] Например, статистическая информация может включать в себя данные о том, что конкретные элементы web-контента имеют высокую вероятность поиска и просмотра или выполнения на основе собранных данных. В другом аспекте, данные могут быть индивидуальными для пользователя браузера. Например, пользователь может иметь привычку выполнения конкретных файлов или типов файлов статистически более вероятно относительно других элементов. Одноранговое устройство может создавать метаданные, чтобы формировать рекомендации, чтобы прогнозировать следующее действие браузера, на основе привычек поиска и просмотра, которые наблюдаются на мобильном устройстве. В другом аспекте, одноранговое устройство может принимать метаданные от других одноранговых устройств и может объединять данные, касающиеся привычек поиска и просмотра множества пользователей, чтобы формировать рекомендации. В другом аспекте, одноранговое устройство может принимать метаданные из сервера помощи браузеру и может совместно использовать эти метаданные с другими одноранговыми устройствами. В дополнительном аспекте, одноранговое устройство может собирать данные о привычках.
[0116] На этапе 604 процессор может запрашивать метаданные по web-странице. На этапе 606 процессор может отправлять запрос web-страницы с мобильного устройства. На этапе 608 принятия решения процессор может определять, могут ли данные, собранные от однорангового устройства, лучше выполнять синтаксический разбор, анализировать или выполнять запрос.
[0117] Если так (т.е., этап 608 принятия решения="да"), что указывает, что одноранговое устройство имеет информацию, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос, процессор может возвращать метаданные мобильному устройству на этапе 612. С другой стороны, если одноранговое устройство не имеет информации, чтобы лучше выполнять синтаксический разбор, обнаруживать или анализировать запрос для мобильного устройства 100 (т.е., этап 608 принятия решения="нет"), процессор может не иметь метаданных для возвращения на этапе 610, и устройство мобильной связи может выполнять код web-страницы на этапе 616.
[0118] На этапе 612 процессор однорангового устройства может возвращать метаданные мобильному устройству. Например, метаданные могут улучшать операции мобильного устройства, и метаданные могут инструктировать браузеру мобильного устройства о том, что конкретные фрагменты web-страниц имеют высокую вероятность выполнения или высокую вероятность поиска и просмотра и могут быть загружены на основе данных, объединенных одноранговым устройством (или посредством данных, изученных одноранговым устройством из другого источника). Например, метаданные могут указывать, что фрагмент библиотеки имеет удаленную возможность использования.
[0119] На этапе 614 процессор мобильного устройства может использовать метаданные от однорангового устройства, чтобы упрощать web-обработку. Например, мобильный процессор может определять с помощью метаданных, что HTML, включенный в web-страницы, имеет фрагмент, который может быть обработан параллельно вместо последовательной обработки. Мобильный процессор может обрабатывать элементы web-страницы параллельно на основе метаданных, предоставленных от однорангового устройства. На этапе 616 процессор мобильного устройства выполняет код web-страницы и выполняет рендеринг web-страницы.
[0120] Фиг. 7 иллюстрирует аспект способа 700 для использования с сетевым устройством, которое собирает данные пользователя и возвращает метаданные устройству 100 мобильной связи, чтобы предоставлять возможность устройству эффективно использовать свои ресурсы мобильного устройства. Например, в этом аспекте, устройство 100 мобильной связи может формировать фрагмент домашней сети и принимать и передавать данные через домашнюю сеть. Например, домашняя сеть может включать в себя шлюз, соединенный с компьютером и который формирует точку доступа. Например, мобильное устройство 100 может включать в себя беспроводной интерфейс, чтобы осуществлять доступ к точке доступа, которая соединена с Интернетом. Сетевой компьютер, имеющий процессор и память, может также быть соединен с модемом, который соединяется с Интернетом.
[0121] Сетевое устройство может быть настольным компьютером, портативным компьютером, мобильным устройством, планшетным компьютером или другим устройством, которое связывается с мобильным устройством и/или другими устройствами (не показаны). Сетевое устройство может наблюдать за действиями пользователя в web-браузере и может спариваться с мобильным устройством, чтобы предоставлять данные мобильному устройству. Способ 700 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 700. В способе 700 процессор, ассоциированный с сетевым устройством, может начинать операцию на этапе 702, собирая данные из сеанса использования web-браузера пользователем для того, чтобы определять статистическую информацию о контенте web-страницы. В другом аспекте, сетевое устройство может также связываться с сервером 150 помощи браузеру через Интернет 114. Сетевое устройство может также получать данные из привычек поиска и просмотра web-страниц других пользователей. Сетевое устройство может использовать данные, чтобы прогнозировать следующее действие web-браузера. Например, сетевое компьютерное устройство может создавать метаданные, чтобы формировать рекомендации, чтобы прогнозировать следующее действие браузера, на основе привычек поиска и просмотра, которые наблюдаются на мобильном устройстве.
[0122] На этапе 704 процессор может запрашивать метаданные по web-странице. Например, метаданные могут быть созданы в сетевом устройстве, одноранговом устройстве или на сервере 150 помощи браузеру. На этапе 706 процессор может отправлять запрос web-страницы с мобильного устройства.
[0123] На этапе 708 принятия решения процессор сетевого устройства может определять, имеет ли сетевое устройство информацию, которую браузер может использовать, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос. Например, сетевое устройство может определять, что конкретные JavaScript-фразы включают в себя фрагмент, который имеет высокую вероятность выполнения, на основе полученных в ходе наблюдений статистических данных. Сетевое устройство может просматривать запрос и может определять, что метаданные релевантны для запроса и могут быть отправлены браузеру мобильного устройства.
[0124] Если так (т.е., этап 708 принятия решения="да"), что указывает, что сетевое устройство имеет информацию, чтобы лучше выполнять синтаксический разбор, анализировать или выполнять запрос, процессор может возвращать метаданные мобильному устройству на этапе 712. С другой стороны, если сетевое компьютерное устройство не имеет информации, чтобы лучше выполнять синтаксический разбор, обнаруживать или анализировать запрос для мобильного устройства 100 (т.е., этап 708 принятия решения="нет"), процессор может не иметь метаданных для возвращения на этапе 710, и устройство мобильной связи может выполнять код web-страницы на этапе 716.
[0125] На этапе 712 процессор сетевого устройства может возвращать метаданные мобильному устройству как отдельный файл или вставленными в заголовок контента. На этапе 714 процессор мобильного устройства может использовать метаданные от сетевого устройства, чтобы упрощать web-обработку. Например, на основе множества наблюдаемых пользователей метаданные могут указывать, что фрагмент web-страницы является самым просматриваемым элементом web-страницы на основе статистической информации. Метаданные могут указывать, что самый просматриваемый элемент web-страницы может быть загружен первым раньше других элементов web-страницы. Альтернативно, сетевое устройство может сообщать метаданные, которые указывают, что библиотека включает в себя, по меньшей мере, (1) фрагмент с высокой вероятностью выполнения или (2) фрагмент с низкой вероятностью выполнения. Метаданные могут указывать, что процессор может загружать один фрагмент первым относительно другого фрагмента, последовательности или схемы. На этапе 716 процессор мобильного устройства выполняет код web-страницы и выполняет рендеринг web-страницы. Используя рекомендации метаданных, ресурсы мобильного устройства сберегаются.
[0126] Фиг. 8 иллюстрирует высокоуровневую схему связи сервера 150 помощи браузеру, доставляющего метаданные или другие пакеты 802-814 в сеть передачи данных через базовую станцию 1 и в устройство 100 мобильной связи. Метаданные или другие переданные информационные пакеты 802-814 не формируют ограничений, и некоторые метаданные могут быть отправлены, в то время как другие метаданные не отправляются. Например, в зависимости от запроса некоторые метаданные могут быть подходящими, в то время как другие метаданные могут быть неподходящими. Пример данных, переданных из сервера 150 помощи браузеру, может включать в себя данные, принудительно отправляемые на основе привычек поиска и просмотра, как показано посредством блока 802. Предварительно обработанные web-страницы, которые существуют в специализированном формате для использования устройством 100 мобильной связи, показаны как блок 804. Пользовательские статистические метаданные 806, рекомендации 808 метаданных, метаданные для помощи с синтаксическим разбором 810, метаданные для помощи с выполнением 812 и метаданные для помощи с анализом запроса 814 web-страницы также могут быть доставлены устройству 100 мобильной связи из сервера 150 помощи браузеру.
[0127] Процессор устройства мобильной связи может принимать входные данные о том, что пользователь щелкнул по гиперссылке, указывающие, что пользователь пытается открыть первую web-страницу с помощью web-браузера, работающего на устройстве мобильной связи. В ответ, устройство 100 мобильной связи может отправлять запрос 816 контента web-страницы на этапе 816. Запрос 816 передается базовой станции 1 мобильной связи. Например, базовая станция 1 может отправлять запрос серверу 142 (фиг. 1), чтобы получать web-контент.
[0128] Запрос к серверу помощи браузеру на этапе 818 передается базовой станции 1. Базовая станция 1 передает запрос серверу 150 помощи браузеру. В ответ на запрос сервер 150 помощи браузеру может доставлять один или более блоков 802-814 метаданных, данные, кэшированные данные или другие метаданные, чтобы помогать устройству 100 мобильной связи с обработкой web-страницы. Некоторые данные могут быть принудительно отправлены устройству мобильной связи без приема какого-либо запроса 818.
[0129] Например, устройство 100 мобильной связи может периодически стирать память и информационное содержимое вследствие ограничений пространства. Метаданные могут указывать, что некоторый информационный контент может быть кэширован на сервере 150 в качестве целевых служб от имени устройства 100 мобильной связи. Альтернативно, кэшированные данные могут быть принудительно отправлены устройству мобильной связи в некотором будущем интервале без какого-либо запроса. С помощью метаданных устройство 100 мобильной связи может выполнять рендеринг web-страницы 820 эффективным образом. Устройство 100 мобильной связи также будет необязательно уведомлять пользователя о доступности web-сайта на этапе 822. Устройство 100 мобильной связи также может необязательно обеспечивать обратную связь с сервером 150 помощи браузеру на этапе 824 о качестве услуги метаданных.
[0130] Фиг. 9 иллюстрирует аспект способа 900 для сервера 150 помощи браузеру, который принудительно (без запроса) отправляет метаданные вычислительному устройству на основе множества привычек поиска и просмотра множества пользователей. Например, способ 900 может использовать "поиск чесом" или информацию, собранную от большого количества web-пользователей. Например, сервер помощи браузеру может наблюдать за большим количеством запросов и ответов на запросы и логически выводить эмпирические соотношения между запросом браузера и ответом. Сервер 150 помощи браузеру может получать аналитические данные из запроса и ответа от большого числа web-пользователей. Например, они могут включать в себя вероятности JavaScript-функции на основе множества измерений, выполненных для сотен мобильных устройств. Например, эмпирические данные могут включать в себя JavaScript-фразы, которые выполняются, загружаются, просматриваются, анализируются, синтаксически разбираются и т.д.
[0131] Способ 900 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 900. В способе 900 процессор может начинать операцию на этапе 902 посредством сервера 150 помощи браузеру, собирающего данные, касающиеся привычек поиска и просмотра множества пользователей.
[0132] На этапе 904 процессор 131 сервера помощи браузеру создает метаданные на основе собранных данных от множества пользователей. Метаданные могут включать в себя структурированные данные о привычках поиска и просмотра множества пользователей. Элементы метаданных могут быть использованы, чтобы точно определять описание страницы, ключевые слова и любые другие метаданные, не предоставленные посредством головных элементов и атрибутов. Элемент метаданных может эмулировать использование заголовка HTTP-ответа, чтобы встраивать дополнительные метаданные в HTML-документ. Такие элементы метаданных помещаются в качестве тэгов в головную секцию HTML или XHTML-документа.
[0133] На этапе 906 процессор 131 выводит программные инструкции таким образом, что метаданные принудительно отправляются из сервера 150 помощи браузеру вычислительному устройству. В другом аспекте, метаданные могут запрашиваться из сервера помощи браузеру в вычислительное устройство. В другом аспекте, метаданные могут быть вставлены в другие данные. В другом аспекте, данные могут непрерывно предоставляться в подаваемом материале.
[0134] Процессор компьютерного устройства, которое принимает метаданные, может использовать метаданные на этапе 908. На этапе 910 процессор может использовать метаданные, чтобы выполнять рендеринг web-страницы. На этапе 912 процессор может отправлять данные с web-страницы, рендеринг которой уже выполнен, серверу 150 помощи браузеру, для обеспечения обратной связи.
[0135] Фиг. 10 иллюстрирует аспект способа 1000 для сервера помощи браузеру и компьютерного устройства, которое запрашивает метаданные из сервера помощи браузеру. Метаданные могут быть основаны на множестве привычек поиска и просмотра множества пользователей. Например, способ 1000 аналогично фиг. 9 может использовать "поиск чесом" или информацию, собранную от большого количества web-пользователей. Например, сервер помощи браузеру может использовать поиск чесом или наблюдать за большим количеством запросов и ответов на запросы и логически выводить эмпирические соотношения между запросом и ответом. Сервер 150 помощи браузеру может получать аналитические данные из запроса и ответа от большого числа web-пользователей.
[0136] Например, они могут включать в себя вероятности JavaScript-функции на основе множества измерений, выполненных для сотен мобильных устройств. Например, эмпирические данные могут включать в себя JavaScript-фразы, которые выполняются, загружаются, просматриваются, анализируются, синтаксически разбираются и т.д. Способ 1000 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа. В способе 1000 процессор может начинать операцию на этапе 1002 посредством сервера 150 помощи браузеру, собирающего данные о привычках поиска и просмотра для множества пользователей.
[0137] На этапе 1004 процессор сервера 150 помощи браузеру может создавать метаданные на основе собранных данных от множества пользователей. Метаданные могут быть созданы и сохранены в индексе, который может периодически обновляться. Метаданные могут включать в себя HTML-элементы или XHTML-элементы, которые используются, чтобы предоставлять структурированные данные о привычках поиска и просмотра множества пользователей. Элементы метаданных могут быть использованы, чтобы точно определять описание страницы, ключевые слова и соотношения посредством других головных элементов и атрибутов. В другом аспекте, элементы метаданных могут эмулировать использование заголовка HTTP-ответа или встроенных дополнительных метаданных в HTML-документе.
[0138] На этапе 1006 процессор вычислительного устройства выводит программные инструкции, таким образом, метаданные запрашиваются из сервера 150 помощи браузеру в вычислительное устройство. Технология запроса информации включает в себя сетевую передачу информации, где первоначальный запрос метаданных происходит от клиента, а ответ на него выдается сервером 150 помощи браузеру. В другом аспекте, метаданные могут принудительно отправляться из сервера 150 помощи браузеру вычислительному устройству без какого-либо запроса. В другом аспекте, метаданные могут быть вставлены в другие данные или могут быть предоставлены в подаваемом материале.
[0139] Процессор использует метаданные на этапе 1008. Например, метаданные могут указывать, что элемент библиотеки имеет очень небольшой шанс выполнения, в то время как второй элемент библиотеки имеет 90-процентный шанс выполнения. Процессор может использовать метаданные, чтобы загружать второй элемент немедленно, в то же время не загружая первый элемент библиотеки до некоторого момента времени впоследствии. На этапе 1010 процессор может использовать метаданные, чтобы выполнять рендеринг web-страницы. На этапе 1012 процессор отправляет данные с web-страницы, рендеринг которой выполняется, серверу 150 помощи браузеру, чтобы необязательно обеспечивать обратную связь. В еще одном аспекте, информация обратной связи может быть предоставлена в принудительно отправляемом подаваемом материале браузеру вычислительного устройства.
[0140] Фиг. 11 иллюстрирует аспект способа 1100 для сервера помощи браузеру, который включает в себя аналитический модуль, который формирует схему, чтобы помогать мобильному браузеру с обработкой, выполнением и анализом web-контента с помощью схемы на основе наблюдаемых соотношений. Аналитический модуль наблюдает за измерениями, выполненными с множества компьютерных устройств. Модуль просматривает запросы и ответы на запросы, выполненные вычислительными устройствами и web-сервером. Аналитический модуль формирует эмпирические данные и создает рекомендации для компьютерного устройства, которые могут улучшать работу компьютерного устройства.
[0141] Данные могут содержать функциональные вероятности того, что конкретные элементы web-страницы синтаксически разбираются, выполняются или анализируются. Например, аналитический модуль может определять функциональные вероятности выполнения JavaScript на основе измерений, выполненных с сотен мобильных устройств. Данные могут содержать: рекомендации разделения кода; лексическую информацию; маркеры скрипта; AST-данные для синтаксического разбора; фрагменты HTML, которые могут быть обработаны параллельно, или фрагменты, которые могут быть обработаны последовательно; данные по оптимизации CSS-web-страницы; кэшированные данные; или любые другие метаданные, которые могут сберегать мобильные ресурсы. Аналитический модуль может быть ассоциирован с сервером 150 помощи браузеру или альтернативно может быть ассоциирован с вычислительным устройством 100 и может включать в себя алгоритм, чтобы делать предположения относительно фрагментов JavaScript-кода, который может быть выполнен и скомпилирован. В другом аспекте, аналитический модуль может быть промежуточным устройством, которое может доставлять метаданные компьютерному устройству. Аналитический модуль может быть программным модулем, который включает в себя алгоритм, который может наблюдать за привычками пользователя и который может формировать рекомендации метаданных на основе эмпирических данных наблюдений.
[0142] Способ 1100 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 1100. В способе 1100 процессор 131 может начинать операцию на этапе 1102 посредством сервера 150 помощи браузеру, собирающего данные, касающиеся привычек поиска и просмотра для множества пользователей.
[0143] На этапе 1104 процессор сервера помощи браузеру может предоставлять данные аналитическому модулю, чтобы создавать метаданные на основе собранных данных от множества пользователей. Аналитический модуль может создавать метаданные и сохранять метаданные на носителе данных, например, в виде индекса, который может периодически обновляться на основе новой информации из привычек поиска и просмотра.
[0144] На этапе 1106 формируются метаданные, таким образом, метаданные могут предполагать следующее действие пользователя по поиску и просмотру и могут помогать браузеру, предоставляя информацию, относящуюся к следующему действию по поиску и просмотру, заранее. Web-страница может содержать JavaScript с высокой вероятностью выполнения на основе эмпирических данных, наблюдаемых у других пользователей. Аналитический модуль может обнаруживать, что следующим шагом браузера может быть обработка JavaScript. Аналитический модуль может выводить управляющие инструкции, чтобы предварительно компилировать JavaScript и формировать двоичный код (или другой специализированный код) и предоставлять двоичный код вычислительному устройству. На этапе 1108 процессор выводит программные инструкции, таким образом, метаданные доставляются от аналитического модуля вычислительному устройству.
[0145] Процессор 131 компьютерного устройства, которое принимает метаданные, использует метаданные на этапе 1110. На этапе 1112 процессор выполняет рендеринг web-страницы. На этапе 1114 процессор может необязательно отправлять данные с web-страницы, рендеринг которой выполняется, серверу помощи браузеру, чтобы обеспечивать обратную связь.
[0146] Фиг. 12 иллюстрирует аспект способа 1200 для сервера 150 помощи браузеру, который включает в себя признак предоставления целевых служб от имени устройства мобильной связи. Сервер 150 помощи браузеру предоставляет возможность устройствам мобильной связи кэшировать информацию на носителе данных (например, в памяти сервера помощи браузеру), относящуюся к предварительно определенным web-сайтам.
[0147] Например, доступ к web-сайту может часто осуществляться посредством устройства 100 мобильной связи, например, ежедневно в 08:00. Данные могут быть записаны в память мобильного устройства. Однако, поскольку носитель данных устройства мобильной связи ограничен, в предварительно определенное время позже носитель данных может быть заполнен, требуя, чтобы данные были стерты в пользу новых данных. Таким образом, на следующий день, устройство 100 мобильной связи в 08:00 посетит предварительно определенный сайт и будет нуждаться в загрузке некоторых из тех же элементов web-сайта снова.
[0148] Сервер 150 помощи браузеру может обнаруживать повторяющийся характер поиска и просмотра, сравнивая шаблоны в ежедневной активности поиска и просмотра web-страниц, включающей в себя запросы и ответы на запросы. Когда повторяющийся характер обнаруживается, например, посредством запроса одной и той же страницы в предварительно определенной последовательности, сервер 150 помощи браузеру может предоставлять целевые службы устройству 100 мобильной связи. Сервер 150 помощи браузеру может предоставлять возможность того, чтобы устройство 100 мобильной связи записывало данные на носитель данных (например, кэш-память). Кэш-память может быть ассоциирована с сервером 150 помощи браузеру или может быть другим носителем данных.
[0149] Например, браузер может осуществлять доступ к популярному web-сайту в 08:00, и данные записываются в память мобильного устройства. Однако, в предварительно определенный момент времени позже, поскольку память устройства мобильной связи ограничена, память может быть заполнена, и данные предназначаются для стирания в пользу новых данных, ассоциированных с позднее используемым web-сайтом. Перед стиранием данных устройство мобильной связи может выгружать данные, ассоциированные с web-сайтом, включающие в себя элементы web-сайта, в кэш, расположенный на BAS-сервере 150. Альтернативно, сервер 150 помощи браузеру может получать данные непосредственно с web-сайта и сохранять их в кэше без запроса устройства мобильной связи о выгрузке данных. На следующий день, устройство мобильной связи перед 08:00 или в 05:00 может загружать данные из кэша на BAS-сервере 150. В 08:00, в случае, когда пользователь посещает предварительно определенный популярный web-сайт, многочисленные элементы web-контента будут уже находиться в памяти мобильного устройства, и устройству мобильной связи будет необходимо обновить web-сайт. В другом аспекте, кэш-память может быть расположена в другом местоположении, например, на беспроводном жестком диске или аппаратном ключе. Например, пользовательский профиль популярных web-сайтов может быть сохранен на устройстве мобильной связи или может быть сохранен на сервере.
[0150] Способ 1200 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа. В способе 1200 процессор может начинать операцию на этапе 1202 посредством сервера 150 помощи браузеру, собирающего данные из привычек поиска и просмотра для множества пользователей.
[0151] На этапе 1204 процессор сервера 150 помощи браузеру может идентифицировать популярные web-страницы, использованные вычислительным устройством. На этапе 1206 сервер помощи браузеру может формировать метаданные, таким образом, метаданные могут предполагать следующие действия пользователя по поиску и просмотру. На этапе 1208 сервер помощи браузеру может отправлять метаданные мобильному устройству, чтобы предоставлять целевые службы для мобильного устройства, таким образом, мобильное устройство может использовать кэш-память сервера помощи браузеру. Процессор устройства мобильной связи, которое принимает метаданные, использует метаданные на этапе 1210 и идентифицирует, что популярные web-страницы, к которым часто осуществляется доступ, переданы в кэш сервера помощи браузеру для хранения.
[0152] На этапе 1212 процессор может выполнять рендеринг web-страницы на основе привычек пользователя, и процессор мобильного устройства может загружать данные кэша, чтобы выполнять запрос. Рендеринг одной и той же web-страницы не выполняется, и, как правило, некоторый контент web-страницы может быть повторно использован, а другой контент web-страницы вероятно может быть обновлен. Например, предыдущая версия web-сайта газеты может иметь некоторые элементы web-контента наряду с новой версией, однако, некоторые новые элементы web-контента, текст и изображения могут быть необходимы. В другом аспекте, сервер 150 помощи браузеру может также предоставлять дополнительные службы предварительной выборки и может обновлять контент на сервере 150 помощи браузеру и объединять обновленный контент с данными кэша. В другом аспекте, сервер 150 помощи браузеру может предварительно компилировать содержимое кэша и предоставлять двоичный или специализированный код браузеру, таким образом, браузер может выполнять рендеринг web-страницы.
[0153] Фиг. 13 иллюстрирует аспект способа 1300 для сервера помощи браузеру, который создает метаданные. Метаданные могут быть основаны на профилях выполнения JavaScript. Профили могут наблюдаться из множества запросов и ответов от множества пользователей мобильных устройств. Профили выполнения JavaScript могут создавать рекомендации для компьютерного устройства, которые могут улучшать работу компьютерного устройства. Данные могут содержать функциональные вероятности того, что возникают конкретные профили выполнения JavaScript web-элементов, и частоту возникновения. Это предоставляет эмпирические данные, чтобы основывать решение о том, загружать ли и выполнять ли конкретный JavaScirpt, поскольку, если существует небольшой шанс того, что к фразе будет осуществлен доступ, лучшим выбором было бы осуществление доступа к данным с высокой вероятностью выполнения.
[0154] Способ 1300 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 1300. В способе 1300 процессор 131 может начинать операцию на этапе 1302 посредством сервера 150 помощи браузеру, собирающего данные о привычках поиска и просмотра для "массы" или множества пользователей.
[0155] На этапе 1304 процессор сервера помощи браузеру может принимать данные, касающиеся профилей выполнения JavaScript, от множества web-пользователей. Например, первый JavaScript-элемент может иметь первую статистическую вероятность выполнения, тогда как второй JavaScript-элемент может иметь вторую статистическую вероятность выполнения, которая меньше первой вдвое, на основе наблюдаемого профиля множества пользователей. Например, третий JavaScript-элемент может иметь третью статистическую вероятность выполнения, которая меньше 5 процентов, тогда как четвертый JavaScript-элемент может иметь четвертую статистическую вероятность выполнения, которая меньше почти 95 процентов, на основе наблюдаемого профиля множественных пользователей.
[0156] На этапе 1306 сервер 150 помощи браузеру может изучать первую-четвертую статистические вероятности. Сервер 150 помощи браузеру может сравнивать данные с пороговым значением. На этапе 1308 сервер 150 помощи браузеру может формировать метаданные. Метаданные могут помогать браузеру прогнозировать следующие действия пользователя по поиску и просмотру. Метаданные могут помогать браузеру, предоставляя информацию, свойственную для вероятно следующего действия, заранее.
[0157] На этапе 1310 процессор выводит программные инструкции, таким образом, сервер 150 помощи браузеру может отправлять метаданные компьютерному устройству, чтобы помогать компьютерному устройству и прогнозировать следующее действие браузера. Например, web-страница может содержать четвертый JavaScript-элемент с высокой вероятностью выполнения на основе эмпирических данных, наблюдаемых у других пользователей. Процессор может обнаруживать, что следующим шагом браузера может быть загрузка и обработка четвертого JavaScript-элемента. Процессор может подтверждать это решение, тогда как третий JavaScript-элемент может не передаваться и не обрабатываться, поскольку вероятно третий JavaScript-элемент не будет выполняться.
[0158] Фиг. 14 иллюстрирует аспект способа 1400 для сервера помощи браузеру, который включает в себя признак предоставления целевых служб от имени устройства мобильной связи. Сервер 150 помощи браузеру предоставляет возможность устройствам мобильной связи кэшировать информацию в кэш-памяти сервера помощи браузеру, касающуюся предварительно определенных web-сайтов, и может дополнительно указывать то, чтобы не исключать кэшированные данные на устройстве мобильной связи или на BAS-сервере 150 на основе привычек пользователя. Таким образом, данные могут быть проанализированы для дальнейшего действия. Например, если доступ к web-сайту осуществляется часто по сравнению с пороговым количеством, сервер 150 помощи браузеру может предотвращать перезапись кэша в течение предварительно определенного периода времени. Таким образом, сервер 150 помощи браузеру может включать в себя множество различных кэшированных состояний, находящихся на сервере 150 помощи браузеру.
[0159] Например, доступ к web-сайту может часто осуществляться посредством устройства мобильной связи в 08:00, и данные записываются в память мобильного устройства. Однако, в предварительно определенный момент времени позже, поскольку память устройства мобильной связи ограничена, память может быть заполнена, и данные стираются в пользу новых данных, ассоциированных с позднее используемым web-сайтом. На следующий день, устройство мобильной связи в 08:00 посетит предварительно определенный сайт и будет нуждаться в загрузке элементов web-сайта снова. Сервер 150 помощи браузеру может обнаруживать это поведение и может предоставлять целевые службы устройству 100 мобильной связи и предоставлять возможность того, чтобы устройство 100 мобильной связи записывало данные в кэш-память, ассоциированную с сервером 150 помощи браузеру.
[0160] Например, браузер может осуществлять доступ к популярному web-сайту в 08:00, и данные записываются в память мобильного устройства. Однако, в предварительно определенный момент времени позже, поскольку память устройства мобильной связи ограничена, память может быть заполнена, и данные предназначаются для стирания в пользу новых данных, ассоциированных с позднее используемым web-сайтом. Перед стиранием данных устройство 100 мобильной связи будет выгружать данные, ассоциированные с web-сайтом, включающим в себя элементы web-сайта, в кэш BAS-сервера 150. На следующий день, устройство мобильной связи перед 08:00, в 05:00, будет загружать данные из кэша сервера. В 08:00, в случае, когда пользователь посещает предварительно определенный популярный web-сайт, многочисленные элементы web-контента будут уже находиться в памяти мобильного устройства, и устройству мобильной связи будет необходимо обновить web-сайт. Дополнительно, если этот характер работы пользователя повторяется в течение определенного периода времени, данные в кэше сервера не будут перезаписываться или стираться. В этом аспекте, сервер 150 помощи браузеру может просматривать кэшированные данные для дополнительного анализа привычек пользователя.
[0161] Способ 1400 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 1400. В способе 1400 процессор может начинать операцию на этапе 1402 посредством сервера 150 помощи браузеру, собирающего данные из привычек поиска и просмотра для множества пользователей.
[0162] На этапе 1404 процессор сервера помощи браузеру может собирать информацию о профиле пользователя и привычках поиска и просмотра пользователя. На этапе 1406 сервер 150 помощи браузеру может предоставлять целевые службы. Сервер 150 помощи браузеру может предоставлять возможность компьютерному устройству кэшировать данные на основе привычек поиска и просмотра пользователя. На этапе 1408 компьютерное устройство может использовать кэш-память сервера 150 помощи браузеру, чтобы записывать в кэш данные элементов популярных web-страниц. На этапе 1410 популярные web-страницы и элементы web-страниц, к которым часто осуществляется доступ, передаются в кэш сервера 150 помощи браузеру для хранения, и BAS указывает, что данные кэша не должны стираться и помечаются для дальнейшего анализа.
[0163] На этапе 1412 процессор вычислительного устройства может отправлять запрос для популярного web-сайта, чтобы выполнять рендеринг web-страницы на основе привычек пользователя. На этапе 1414 процессор 131 мобильного устройства может считывать данные кэша из сервера помощи браузеру, чтобы выполнять запрос. В другом аспекте, сервер 150 помощи браузеру может также предоставлять дополнительные службы предварительно выборки и может обновлять контент на сервере помощи браузеру и объединять обновленный контент с данными кэша. В другом аспекте, сервер 150 помощи браузеру может предварительно компилировать содержимое кэша и предоставлять двоичный или специализированный код браузеру, таким образом, браузер может выполнять рендеринг web-страницы. На этапе 1414 сервер помощи браузеру может анализировать состояния кэша для дальнейшей оптимизации и предварительной выборки. В этом аспекте, метаданные, чтобы предоставлять рекомендации для другого пользователя, могут быть сформированы, частично, на основе анализа на этапе 1414.
[0164] Фиг. 15 иллюстрирует аспект способа 1500 для сервера 150 помощи браузеру, который включает в себя признак предоставления целевых служб от имени устройства 100 мобильной связи. Сервер 150 помощи браузеру предоставляет возможность устройствам 100 мобильной связи кэшировать информацию, касающуюся предварительно определенных web-сайтов или предварительно определенных web-элементов. Сервер 150 помощи браузеру может дополнительно пополнять данные кэша и дополнять кэш другими данными, чтобы предоставлять рекомендации устройству 100 мобильной связи.
[0165] Например, доступ к первому web-сайту может часто осуществляться посредством устройства мобильной связи в 08:00, и данные могут записываться в память мобильного устройства. Однако, в предварительно определенное время позже, поскольку память устройства мобильной связи может быть ограниченной, память может быть заполнена. Данные могут стираться в пользу новых данных, ассоциированных с позднее использованным вторым web-сайтом. На следующий день, пользователь может инструктировать браузер на устройстве мобильной связи в 08:00 и может посещать первый web-сайт и может нуждаться в загрузке элементов web-контента снова.
[0166] Сервер 150 помощи браузеру (или устройство 100 мобильной связи) может обнаруживать неэффективный характер работы и может предоставлять целевые службы устройству 100 мобильной связи. Сервер 150 помощи браузеру может предоставлять возможность того, чтобы устройство 100 мобильной связи записывало данные на носитель данных или кэш-память, ассоциированную с сервером 150 помощи браузеру. Дополнительно, сервер 150 помощи браузеру может пополнять и дополнять кэшированные данные другой изученной информацией или рекомендациями. Например, сервер помощи браузеру может предоставлять рекомендации метаданных и вставлять рекомендации метаданных в кэшированные данные. Например, сервер 150 помощи браузеру может предварительно компилировать данные кэша и предоставлять кэшированные данные в двоичном формате (или специализированном формате) для устройства 100 мобильной связи.
[0167] Например, браузер может осуществлять доступ к популярному web-сайту в 08:00, и данные могут быть записаны в память мобильного устройства. Однако, в предварительно определенный момент времени позже, поскольку память устройства мобильной связи ограничена, память может быть заполнена, и данные предназначаются для стирания в пользу новых данных, ассоциированных с позднее используемым web-сайтом. Перед стиранием данных устройство 100 мобильной связи будет выгружать данные, ассоциированные с web-сайтом, включающим в себя элементы web-сайта, в кэш BAS-сервера 150. Сервер 150 помощи браузеру может также оптимизировать данные кэша и вставлять метаданные в кэшированные данные. Сервер 150 помощи браузеру может предоставлять рекомендации метаданных в данных кэша в интересах устройства 100 мобильной связи.
[0168] На следующий день, устройство 100 мобильной связи перед 08:00 будет загружать данные из кэша сервера с пополненными изученными данными. В 08:00, в случае, когда пользователь посещает предварительно определенный популярный web-сайт, многочисленные элементы web-контента будут уже находиться в памяти мобильного устройства, и устройство 100 мобильной связи может выполнять рендеринг страницы после обновления. Дополнительно, устройство 100 мобильной связи может посещать второй новый web-сайт и использовать метаданные, вставленные в загруженный контент, чтобы выполнять синтаксический разбор, выполнять или анализировать новый web-контент.
[0169] Способ 1500 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 1500. В способе 1500 процессор 131 может начинать операцию на этапе 1502, где устройство 100 мобильной связи передает запрос web-страницы.
[0170] На этапе 1504 процессор устройства мобильной связи может собирать информацию о профиле пользователя и отправлять профиль пользователя серверу 150 помощи браузеру. На этапе 1506 сервер 150 помощи браузеру может предоставлять целевые службы и может предоставлять возможность компьютерному устройству кэшировать данные на носителе данных на основе привычек поиска и просмотра пользователя. На этапе 1508 сервер 150 помощи браузеру может пополнять данные кэша метаданными, которые включают в себя изученную информацию, чтобы помогать устройству мобильной связи. На этапе 1510 процессор вычислительного устройства может отправлять запрос для популярного web-сайта, чтобы выполнять рендеринг web-страницы на основе привычек пользователя. На этапе 1512 процессор мобильного устройства может загружать данные кэша с сервера 150 помощи браузеру, чтобы выполнять запрос, а также может необязательно загружать метаданные, чтобы помогать браузеру с текущими или будущими рекомендациями браузеру. Рендеринг одной и той же web-страницы может не выполняться, и, как правило, некоторый контент web-страницы может быть повторно использован, а другой контент web-страницы вероятно может быть обновлен. Сервер 150 помощи браузеру может также предоставлять данные кэша, которые подверглись оптимизации.
[0171] Фиг. 16 показывает высокоуровневую схему сервера 150 помощи браузеру, перезагружающего состояние кэша на основе персонального профиля пользователя. Например, в день 1 в 08:00 пользователь с помощью устройства 100 мобильной связи может загружать web-страницу, к которой часто осуществляется доступ, включающую в себя состояние A 1602 кэша. Пользователь может просматривать web-сайт в течение предварительно определенного периода времени и может задействовать несколько других гиперссылок и уходить с web-страницы. В день 1, в 15:00, пользователь может просматривать другой web-сайт, имеющий другой web-контент, и может формировать состояние B 1604 кэша. В обычной ситуации, кэш A 1602 был бы удален. Однако, устройство 100 мобильной связи и сервер 150 помощи браузеру соединены через Интернет, и мобильное устройство 100 может использовать сервер 150 в качестве кэш-памяти. Сервер 150 помощи браузеру может предоставлять целевые службы для устройства 100 мобильной связи. Сервер 150 помощи браузеру может обнаруживать, что доступ к web-сайту (который сформировал состояние A 1602 кэша) осуществляется часто. Доступ к web-сайту осуществляется пользователем почти ежедневно в одном и том же временном интервале в 08:00.
[0172] Сервер 150 помощи браузеру будет сохранять состояние A 1602 кэша на сервере 150, как показано стрелкой 1610 указателя. Устройство 100 мобильной связи может отправлять запрос для другой web-страницы и загружать данные 1604. Сервер 150 помощи браузеру может пополнять данные A 1606 кэша. Сервер 150 помощи браузеру может вставлять метаданные или добавлять данные, которые отражают изученную информацию из привычек поиска и просмотра пользователя. Сервер 150 может вставлять данные от других пользователей, чтобы предоставлять рекомендации браузеру 100 устройства мобильной связи. На второй день, день 2, в 05:00, сервер 150 помощи браузеру может принудительно отправлять кэш-данные A 1608, как показано стрелкой 1612, из сервера 150 устройству 100 мобильной связи (вместе с любыми обновленными данными, содержащимися и сохраненными в данных A 1608 кэша). Например, в день 2, в 08:00, пользователь с помощью устройства 100 мобильной связи может отправлять запрос, чтобы загружать web-страницу, к которой часто осуществляется доступ и которая может включать в себя множество web-элементов, содержащихся в данных A 1608 кэша, и может обновлять web-сайт. Сервер 150 помощи браузеру может служить в качестве L2-кэша для устройства 100 и может поддерживать набор состояний кэша.
[0173] Фиг. 17 иллюстрирует аспект способа 1700 для сервера помощи браузеру, который может предоставлять метаданные, чтобы эффективно выполнять синтаксический разбор и выполнять JavaScript. Способ 1700 может быть реализован в вычислительном устройстве, имеющем процессор, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 1700. В способе 1700 процессор может начинать операцию на этапе 1702, где устройство мобильной связи передает запрос web-страницы.
[0174] На этапе 1704 процессор сервера 150 помощи браузеру может формулировать рекомендации для устройства мобильной связи, чтобы эффективно выполнять синтаксический разбор и выполнять JavaScript. Например, метаданные могут идентифицировать статистически релевантный фрагмент скрипта. На этапе 1706 сервер помощи браузеру может доставлять устройству мобильной связи метаданные, которые включают в себя рекомендации, чтобы эффективно выполнять синтаксический разбор и выполнять JavaScript. На этапе 1708 процессор может использовать метаданные, чтобы выполнять синтаксический разбор JavaScript. На этапе 1710 процессор мобильного устройства может использовать рекомендации, чтобы выполнять JavaScript. На этапе 1712 мобильное устройство отправляет данные обратной связи серверу помощи браузеру.
[0175] Фиг. 18 показывает высокоуровневую схему сервера 150 помощи браузеру, обнаруживающего, что запрос web-страницы может включать в себя элемент web-страницы, который может давать в результате чрезмерный объем обработки процессором мобильного устройства. Запрос может приводить в результате к рендерингу web-страницы неэффективным образом. В этом аспекте, сервер 150 помощи браузеру может обнаруживать, что присутствуют конкретные элементы web-страницы, и может предварительно компилировать элементы web-страницы в двоичный или специализированный формат мобильного устройства 100. Сервер 150 помощи браузеру может формировать двоичный файл, который соответствует элементу web-страницы. Сервер 150 помощи браузеру может передавать двоичный файл устройству 100 мобильной связи для более быстрого времени загрузки.
[0176] Например, в 08:00 пользователь с помощью устройства 100 мобильной связи может попытаться загрузить web-страницу, отправляя запрос 1802 в Интернет 114. Запрос может быть принят сервером (не показан), и ответ на запрос может потенциально возвращать данные 1804, которые включают в себя HTML, JavaScript, CSS и объекты. Устройство 100 мобильной связи может также отправлять запрос 1806 серверу 150 помощи браузеру. Запрос 1806 может определять, может ли сервер 150 помощи браузеру предоставлять рекомендации, чтобы более эффективно выполнять синтаксический разбор и выполнять HTML, JavaScript, CSS и объекты.
[0177] В дополнение к рекомендациям, сервер 150 помощи браузеру может также непосредственно анализировать и предварительно компилировать JavaScript для предварительно определенной архитектуры. Сервер 150 помощи браузеру может обрабатывать JavaScript и может формировать прямую двоичную предварительно скомпилированную трансляцию запрошенных web-элементов 1810 JavaScript. Прямая двоичная трансляция запрошенных web-элементов 1810 JavaScript может быть передана устройству 100 мобильной связи, как показано стрелкой 1808 для немедленного использования браузером устройства 100 мобильной связи. Предварительно скомпилированный двоичный код 1810 предоставляет возможность устройству 100 мобильной связи избегать синтаксического разбора, анализа и своевременной обработки, ассоциированной с выполняемой ветвью JavaScript. Мобильное устройство 100 может необязательно обеспечивать обратную связь с сервером 150 помощи браузеру. В альтернативном аспекте, сервер помощи браузеру может предоставлять виртуализированный модуль на мобильном устройстве 100 и доставлять данные виртуализированному модулю.
[0178] Фиг. 19 иллюстрирует аспект способа 1900 для сервера помощи браузеру, который обнаруживает JavaScript-элементы и предоставляет прямую двоичную трансляцию запрошенных web-элементов JavaScript, чтобы формировать предварительно скомпилированный двоичный или специализированный файл. Прямая двоичная трансляция передается устройству 100 мобильной связи для немедленного использования браузером устройства мобильной связи. Способ 1900 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 1900. В способе 1900 процессор 131 может начинать операцию на этапе 1902, где устройство 100 мобильной связи передает запрос web-страницы.
[0179] На этапе 1904 процессор устройства мобильной связи может отправлять запрос серверу 150 помощи браузеру, чтобы эффективно выполнять синтаксический разбор и выполнять JavaScript. На этапе 1906 сервер 150 помощи браузеру может анализировать запрос и предварительно компилировать JavaScript web-страницы для устройства 100 мобильной связи. На этапе 1908 сервер 150 помощи браузеру может формировать, по меньшей мере, один предварительно скомпилированный двоичный файл и может передавать предварительно скомпилированный двоичный файл процессору 131 мобильного устройства. Прямая двоичная трансляция может быть передана устройству 100 мобильной связи для немедленного использования браузером устройства мобильной связи. Альтернативно, трансляция может быть на другом специализированном языке, ассоциированном с браузером устройства мобильной связи. Специализированный язык предоставляет возможность устройству мобильной связи избегать синтаксического разбора, анализа и своевременной обработки выполняемой ветви JavaScript. На этапе 1910 процессор 131 мобильного устройства может использовать предварительно скомпилированные данные, чтобы выполнять рендеринг web-страницы. На этапе 1912 мобильное устройство может необязательно отправлять данные обратной связи серверу помощи браузеру.
[0180] Фиг. 20 иллюстрирует аспект способа 2000 для сервера помощи браузеру, который обнаруживает, что запрашивается библиотека. Библиотека может быть YUI-библиотекой или jQuery-библиотекой или любой библиотекой, известной в области техники. YUI является библиотекой утилит и элементов управления JavaScript для создания вполне интерактивных web-приложений с помощью таких технологий как DOM Scripting, DHTML и Ajax. jQuery является быстрой и компактной JavaScript-библиотекой, которая упрощает проход по HTML-документу, управление событиями, анимацию и Ajax-взаимодействия для быстрой web-разработки, и которая совместима с CSS3.
[0181] Сервер 150 помощи браузеру может предоставлять метаданные о том, что первый фрагмент библиотеки чаще выполняется, в то время как второй фрагмент библиотеки выполняется менее часто. Таким образом, процессор 131 может загружать первый фрагмент библиотеки, который может иметь более высокий статистический шанс использования относительно второго фрагмента библиотеки, который вероятно может не быть выполнен. В другом аспекте, если предположения некорректны, браузер может отправлять полную библиотеку настолько скоро, насколько осуществимо. Способ 2000 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 2000. В способе 2000 процессор может начинать операцию на этапе 2002, где устройство мобильной связи может передавать запрос web-страницы, который принимается сервером.
[0182] На этапе 2004 процессор устройств мобильной связи может отправлять запрос серверу помощи браузеру, чтобы получать рекомендации для устройства мобильной связи и обрабатывать запрос. Сервер помощи браузеру может анализировать запрос, и на этапе 2006 процессор может предоставлять данные, касающиеся наиболее часто используемого или наиболее часто выполняемого фрагмента библиотеки, устройству мобильной связи. Сервер помощи браузеру может также необязательно предоставлять информацию о наименее часто используемых или наименее часто выполняемых фрагментах библиотеки. На этапе 2008 процессор мобильного устройства может загружать наиболее часто используемый (или наиболее часто выполняемый) фрагмент библиотеки первым и может загружать другие фрагменты позже по времени. На этапе 2010 процессор мобильного устройства может выполнять фрагмент и может загружать второй фрагмент библиотеки в более позднее время, если вообще имеет место. На этапе 2012 мобильное устройство может необязательно передавать данные обратной связи серверу помощи браузеру.
[0183] Фиг. 21 иллюстрирует аспект способа 2100 для сервера 150 помощи браузеру, который может обнаруживать и может предоставлять рекомендации о самом просматриваемом фрагменте web-страницы на основе эмпирических данных. Сервер 150 помощи браузеру предоставляет метаданные процессору 131 мобильного устройства, таким образом, устройство мобильной связи может обрабатывать web-страницу более эффективным образом. Способ 2100 может быть реализован в вычислительном устройстве, имеющем процессор 131, сконфигурированный с помощью исполняемых процессором инструкций, чтобы выполнять операции способа 2100. В способе 2100 процессор может начинать операцию на этапе 2102, где устройство мобильной связи передает запрос web-страницы, который принимается сервером.
[0184] На этапе 2104 процессор 131 устройства 100 мобильной связи может отправлять запрос серверу 150 помощи браузеру, чтобы получать рекомендации для устройства 100 мобильной связи и обрабатывать запрос. Рекомендации содержатся в метаданных, отправленных из сервера 150 устройству 100 мобильной связи. Сервер 150 помощи браузеру может анализировать запрос. На этапе 2106 процессор 131 может предоставлять данные, касающиеся наиболее часто просматриваемого фрагмента web-страницы для web-сайта, устройству 100 мобильной связи.
[0185] Сервер 150 помощи браузеру может получать эту информацию из эмпирических или статистических данных, полученных в ходе наблюдения от множества пользователей. Сервер 150 помощи браузеру может также необязательно предоставлять информацию о наименее просматриваемом фрагменте web-сайта. На этапе 2108 процессор 131 мобильного устройства может загружать наиболее часто просматриваемый фрагмент web-сайта первым и может загружать другие фрагменты позже по времени на этапе 2110. На этапе 2110 процессор 131 мобильного устройства может выполнять фрагмент и загружать второй фрагмент позже. На этапе 2112 мобильное устройство 100 может отправлять данные обратной связи серверу 150 помощи браузеру.
[0186] Фиг. 22 - это блок-схема системы приемного устройства, подходящего для использования с любым из аспектов. Типичное приемное устройство 2230 может включать в себя процессор 2231, соединенный с внутренней памятью 2232, дисплеем 2233 и с динамиком 2254. Дополнительно, приемное устройство может включать в себя антенну 2234 для отправки и приема электромагнитного излучения, которое может быть связано с беспроводной линией передачи данных, и/или приемопередатчик 2235 сотового телефона, соединенный с процессором 2231, и мобильный приемник 2236 трансляции мультимедиа, соединенный с процессором 2331. Приемные устройства 2230 типично также включают в себя кнопки выбора меню или кулисные переключатели 2238 для приема входных данных пользователя.
[0187] Различные аспекты могут быть реализованы на любом из множества коммерчески доступных серверных устройств, таких как сервер 2300, иллюстрированный на фиг. 23. Такой сервер 2300 типично включает в себя процессор 2301, соединенный с энергозависимой памятью 2302 и энергонезависимой памятью большой емкости, такой как дисковый накопитель 2303. Сервер 2300 может также включать в себя накопитель на гибких дисках, накопитель 2306 на компактных дисках (CD) или DVD-дисках, соединенные с процессором 2301. Сервер 2300 может также включать в себя порты 2304 сетевого доступа, соединенные с процессором 2301 для установления соединений сетевого интерфейса с сетью 2305, такой как локальная вычислительная сеть, соединенная с другими компьютерами и серверами системы широковещания.
[0188] Процессоры 2331, 2301 могут быть любым программируемым микропроцессором, микрокомпьютером или множественной процессорной интегральной схемой или интегральными схемами, которые могут быть сконфигурированы посредством инструкций (приложений) программного обеспечения, чтобы выполнять множество функций, включающих в себя функции различных аспектов, описанных выше. В некоторых устройствах может быть предусмотрено множество процессоров 2331, 2301, таких как один процессор, предназначенный для функций беспроводной связи, и один процессор, предназначенный, чтобы запускать другие приложения. Типично, приложения системы программного обеспечения могут быть сохранены во внутренней памяти 2232, 2302 и 2303 перед тем, как к ним осуществляется доступ, и они загружаются в процессор 2331, 2301. Процессор 2331, 2301 может включать в себя внутреннюю память, достаточную, чтобы хранить инструкции прикладной программы. Во многих устройствах внутренняя память может быть энергозависимой или энергонезависимой памятью, такой как флэш-память или смесью обеих. В целях этого описания, общая ссылка на память ссылается на память, к которой можно осуществлять доступ посредством процессора 2331, 2301, включающую в себя внутреннюю память или съемную память, вставляемую в устройство, и память в самом процессоре 2331, 2301.
[0189] Фиг. 24 показывает портативный компьютер 2410. Аспекты, описанные выше, могут также быть реализованы во множестве персональных вычислительных устройств, таких как портативный компьютер 2410, который иллюстрирован на фиг. 24. Многие портативные компьютеры включат в себя сенсорную поверхность 2417 сенсорной панели, которая служит в качестве указательного устройства компьютера и, таким образом, может принимать жесты перетаскивания, прокрутки и щелчка, аналогичные жестам, реализованным на мобильных вычислительных устройствах, оснащенных дисплеем с сенсорным экраном и описанных выше. Портативный компьютер 2410 должен в типичном варианте включать в себя процессор 2411, соединенный с энергозависимой памятью 2412 и энергонезависимой памятью большой емкости, такой как дисковый накопитель 2413 флэш-памяти. Компьютер 2410 может также включать в себя накопитель 2414 на гибких дисках и накопитель 2415 на компакт-дисках (CD), соединенных с процессором 2411. Компьютерное устройство 2410 может также включать в себя ряд соединительных портов, соединенных с процессором 2411 для установления соединений для передачи данных или приема внешних запоминающих устройств, такие как контактные гнезда USB или FireWire®, или другие схемы сетевого соединения для подключения процессора 2411 к сети. В конфигурации ноутбука корпус компьютера включает в себя сенсорную панель 2417, клавиатуру 2418 и дисплей 2419, все соединены с процессором 2411. Другие конфигурации вычислительного устройства могут включать в себя компьютерную мышь или трекбол, соединенные с процессором (например, через USB-вход), которые хорошо известны, которые могут также использоваться вместе с различными аспектами.
[0190] Вышеприведенные описания способа и блок-схемы процесса предоставлены просто в качестве иллюстративных примеров и не предназначены, чтобы требовать или подразумевать, что этапы различных аспектов должны выполняться в представленном порядке. Как будет понятно специалисту в области техники, порядок этапов в вышеприведенных аспектах может быть выполнен в любом порядке. Такие слова как "после этого", "затем", "далее" и т.д. не предназначены, чтобы ограничивать порядок этапов; эти слова просто используются, чтобы направлять читателя по описанию способов. Дополнительно, любая ссылка на элементы формулы в единственном числе не должна истолковываться как ограничивающая элемент единственным числом.
[0191] Различные иллюстративные логические блоки, модули, схемы и этапы алгоритма, описанные в связи с аспектами, раскрытыми в данном документе, могут быть реализованы как электронные аппаратные средства, компьютерное программное обеспечение или комбинации обоих. Чтобы понятно проиллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы описаны выше, в общем, на основе их функциональности. Реализована ли эта функциональность в качестве аппаратных средств или программного обеспечения, зависит от конкретного варианта применения и структурных ограничений, накладываемых на систему в целом. Высококвалифицированные специалисты могут реализовать описанную функциональность различными способами для каждого конкретного применения, но такие решения по реализации не должны быть интерпретированы как вызывающие отступление от объема настоящего изобретения.
[0192] Аппаратные средства, чтобы реализовать различные иллюстративные логические схемы, логические блоки, модули и цепи, описанные в связи с аспектами, раскрытыми в данном документе, могут быть реализованы или выполнены с помощью процессора общего назначения, процессора цифровых сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства, дискретного логического элемента или транзисторной логики, дискретных компонентов аппаратных средств либо любой их комбинации, предназначенной для того, чтобы выполнять описанные в данном документе функции. Процессором общего назначения может быть микропроцессор, но, в альтернативном варианте, процессором может быть любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, к примеру, комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров вместе с ядром DSP либо любая другая подобная конфигурация. Альтернативно, некоторые этапы или способы могут быть выполнены посредством схемы, которая является специфичной для данной функции.
[0193] В одном или более примерных аспектах описанные функции могут быть реализованы в аппаратных средствах, программном обеспечении, программно-аппаратных средствах или любой их комбинации. Если реализованы в программном обеспечении, функции могут быть сохранены как одна или более инструкций или кодов на невременном машиночитаемом или процессорно-читаемом носителе данных информации. Этапы способа или алгоритма, раскрытые в данном документе, могут быть осуществлены в исполняемом процессором исполняемом программном модуле, который может находиться на невременном машиночитаемом носителе. Невременные считываемые компьютером и процессором носители включают в себя любые доступные носители данных информации, к которым можно осуществлять доступ посредством компьютера или процессора. В качестве примера, а не ограничения, эти невременные машиночитаемые носители могут содержать RAM, ROM, EEPROM, CD-ROM или другое запоминающее устройство на оптических дисках, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, либо любой другой носитель, который может быть использован, чтобы переносить или хранить желаемый программный код в форме инструкций или структур данных, к которым можно осуществлять доступ посредством компьютера. Диск при использовании в данном документе охватывает компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), гибкий диск и диск Blu-Ray, при этом магнитные диски обычно воспроизводят данные магнитным образом, тогда как оптические диски обычно воспроизводят данные оптическим образом с помощью лазеров. Комбинации вышеперечисленного также должны быть включены в рамки невременных машиночитаемых носителей. Дополнительно, операции способа или алгоритма могут располагаться как один или любая комбинация или набор кодов и/или инструкций на невременном машиночитаемом носителе и/или невременном машиночитаемом носителе, который может быть объединен в компьютерный программный продукт.
[0194] Предшествующее описание раскрытых аспектов предоставляется для того, чтобы предоставлять возможность любому специалисту в данной области техники создавать или использовать настоящее изобретение. Различные модификации в этих аспектах будут легко понятны специалистам в данной области техники, а общие принципы, определенные в данном документе, могут быть применены к другим аспектах без отступления от духа или рамок изобретения. Таким образом, настоящее изобретение не имеет намерением ограничиваться аспектами, показанными в данном документе, и ему должен соответствовать самый широкий объем, согласующийся с последующей формулой изобретения и принципами и новыми признаками, раскрытыми в данном документе.
Изобретение относится к вычислительным устройствам. Технический результат заключается в повышении скорости обработки данных браузером. Способы и устройства содержат: сервер и, по меньшей мере, два web-браузера, функционирующих, по меньшей мере, на двух различных вычислительных устройствах. Каждый браузер сообщает результаты обработки и рендеринга web-страниц серверу. Сервер собирает данные. Сервер формирует метаданные от объединенных браузеров. Сервер передает сформированные метаданные, по меньшей мере, одному вычислительному устройству. Вычислительное устройство выполняет рендеринг web-страницы с помощью, по меньшей мере, фрагмента предоставленных метаданных. Метаданные могут идентифицировать фрагменты JavaScript, которые могут быть обработаны параллельно. Метаданные могут идентифицировать фрагмент библиотеки, который не должен загружаться. Метаданные могут идентифицировать фрагмент web-страницы, рендеринг которого может быть выполнен первым, до второго фрагмента web-страницы. Возврат метаданных вычислительному устройству может помогать вычислительному устройству в синтаксическом разборе, анализе или выполнении запроса web-страницы. 10 н. и 124 з.п. ф-лы, 24 ил.
1. Способ рендеринга web-страницы на вычислительном устройстве, содержащий этапы, на которых:
передают запрос web-страницы с вычислительного устройства;
передают от вычислительного устройства запрос метаданных, касающихся запрошенной web-страницы, серверу помощи браузеру;
принимают метаданные от сервера помощи браузеру в вычислительном устройстве, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
скачивают упомянутый фрагмент запрошенной web-страницы на основе метаданных;
исполняют скачанный фрагмент запрошенной web-страницы на вычислительном устройстве, чтобы выполнять рендеринг запрошенной web-страницы; и
отправляют серверу помощи браузеру результаты обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
2. Способ по п. 1, при этом метаданные, принятые в вычислительном устройстве, содержат данные, выбранные из группы, состоящей из:
вероятностей выполнения JavaScript-функции;
AST-данных для синтаксического разбора данных;
данных маркера скрипта;
лексической информации;
возвращенного двоичного кода из данных, обработанных на сервере, чтобы помогать вычислительному устройству;
CSS-метаданных, чтобы помогать в обработке данных CSS-web-страницы в вычислительном устройстве;
JavaScript-метаданных, чтобы помогать в обработке данных JavaScript-web-страницы в вычислительном устройстве;
HTML-метаданных, чтобы помогать в обработке данных HTML-web-страницы в вычислительном устройстве; и
их комбинаций.
3. Способ по п. 1, при этом метаданные, принятые на вычислительном устройстве, содержат множество полученных в ходе наблюдения статистических данных о пользовательских поисках и просмотрах,
при этом способ дополнительно содержит этап, на котором используют множество полученных в ходе наблюдений статистических данных о поисках и просмотрах, чтобы помогать в загрузке фрагментов web-страницы в вычислительном устройстве раньше других фрагментов.
4. Способ по п. 1, при этом метаданные, принятые на вычислительном устройстве, содержат статистические данные, касающиеся фрагмента кода, который имеет предварительно определенную вероятность исполнения.
5. Способ по п. 1, при этом метаданные, принятые на вычислительном устройстве, содержат транслированный двоичный код, получающийся в результате JavaScript-кода, исполненного на сервере, для увеличения обработки на сервере и уменьшения обработки в вычислительном устройстве.
6. Способ по п. 1, при этом метаданные, принятые на вычислительном устройстве, содержат аналитические данные, которые согласуются с фрагментами web-страницы, являющимися популярными, и предписывают web-браузеру на вычислительном устройстве загружать популярные фрагменты первыми.
7. Способ по п. 1, дополнительно содержащий этапы, на которых:
собирают привычки пользователя вычислительного устройства; и
предварительно загружают в память элементы web-страницы, к которым пользователь часто осуществляет доступ.
8. Способ по п. 1, дополнительно содержащий этапы, на которых:
собирают на сервере информацию об использовании от множества пользователей, соответствующую популярным данным множества web-пользователей; и
формируют метаданные на основе информации об использовании и анализа привычек множества web-пользователей.
9. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают метаданные с компьютера локальной сети на вычислительном устройстве на основе этого компьютера локальной сети;
собирают информацию об использовании от множества пользователей, соответствующую популярным данным других web-пользователей; и
формируют дополнительные метаданные на основе собранной информации об использовании.
10. Способ по п. 1, дополнительно содержащий этапы, на которых:
собирают совокупную информацию о привычках поиска и просмотра на основе множества пользователей, по мере того как пользователи используют web-браузер;
наблюдают за множеством пользователей, чтобы формировать привычки поиска и просмотра с помощью оснащенного инструментальным средством web-браузера; и
формируют метаданные на основе привычек поиска и просмотра множества пользователей.
11. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают метаданные, указывающие, что библиотека часто скачивается, причем метаданные описывают фрагмент библиотеки, который статистически вероятно нужен раньше других фрагментов для исполнения, на основе полученной в ходе наблюдений статистической информации; и
скачивают этот фрагмент библиотеки первым на основе метаданных.
12. Способ по п. 11, дополнительно содержащий этапы, на которых:
определяют, что библиотека имеет наиболее вероятно исполняемый фрагмент библиотеки, на основе статистических данных в принятых метаданных; и
скачивают наиболее вероятно исполняемый фрагмент библиотеки первым раньше других фрагментов библиотеки.
13. Способ по п. 1, дополнительно содержащий этапы, на которых:
наблюдают за множеством пользователей во время поиска и просмотра;
формируют метаданные, указывающие статистическую процентную долю пользователей, которые вероятно должны просматривать первый фрагмент web-страницы раньше других фрагментов; и
передают первый фрагмент первым вычислительному устройству раньше других фрагментов web-страницы.
14. Способ по п. 1, при этом метаданные содержат профиль для пользователя вычислительного устройства, способ дополнительно содержит этапы, на которых:
принимают метаданные, указывающие статистическую процентную долю того, что пользователь вероятно должен просматривать первый фрагмент web-страницы раньше других фрагментов, на основе профиля;
принимают метаданные, указывающие статистическую процентную долю того, что пользователь вероятно не должен просматривать второй фрагмент web-страницы;
скачивают первый фрагмент первым в вычислительное устройство раньше других фрагментов web-страницы; и
скачивают второй фрагмент через период времени после первого фрагмента.
15. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают метаданные, указывающие привычки поиска и просмотра других пользователей;
определяют, к каким фрагментам web-страниц статистически вероятно должен осуществляться доступ перед другими фрагментами web-страницы, на основе метаданных;
определяют, что доступ ко второму фрагменту вероятно не должен осуществляться часто; и
скачивают второй фрагмент ниже по приоритету, чем фрагменты, к которым статистически вероятно должен быть осуществлен доступ.
16. Способ по п. 1, дополнительно содержащий этапы, на которых:
связываются с сервером через беспроводную сеть;
ассоциируют браузер с сервером; и
собирают информацию для использования вычислительным устройством от браузера.
17. Способ по п. 1, дополнительно содержащий этапы, на которых:
предоставляют рекомендации с помощью метаданных для web-браузера, чтобы выполнять синтаксический разбор, анализировать или исполнять запрос, который содержит JavaScript; и
передают двоичную предварительно скомпилированную трансляцию JavaScript по определению того, что JavaScript является неэффективным для обработки в вычислительном устройстве.
18. Способ по п. 1, дополнительно содержащий этапы, на которых:
собирают статистические данные, касающиеся привычек поиска и просмотра множества web-пользователей и привычек, подразумеваемых при просмотре web-пользователями web-страниц;
доставляют статистические данные в метаданных;
используют статистические данные, чтобы сберегать мобильные ресурсы, предварительно загружая статистически популярные web-страницы раньше, чем web-страницы запрашиваются в вычислительном устройстве;
скачивают фрагменты web-страницы, которые являются популярными; и
пропускают скачивание вторых фрагментов web-страницы, которые не являются популярными, чтобы сберегать мобильные ресурсы.
19. Способ по п. 1, дополнительно содержащий этапы, на которых:
отправляют данные поиска и просмотра из Интернет-браузера на сервер; и
формируют метаданные из данных поиска и просмотра на сервере.
20. Способ по п. 1, дополнительно содержащий этапы, на которых:
отправляют данные из оснащенного инструментальными средствами браузера на сервер; и
формируют метаданные из этих данных.
21. Способ по п. 1, при этом метаданные, принятые на вычислительном устройстве, содержат метаданные от однорангового устройства к вычислительному устройству, которые коррелируют с фрагментами web-страницы, которые являются популярными у вычислительных устройств, соединенных с одноранговым устройством, с тем чтобы web-браузер на вычислительном устройстве загружал популярные фрагменты первыми.
22. Способ по п. 1, дополнительно содержащий этапы, на которых:
предоставляют клиентскую систему наблюдения за привычками поиска и просмотра второго вычислительного устройства;
отправляют привычки поиска и просмотра серверу; и
отправляют метаданные из сервера вычислительному устройству на основе клиентской системы наблюдения за привычками поиска и просмотра второго вычислительного устройства.
23. Способ по п. 1, дополнительно содержащий этапы, на которых:
формируют дополнительные метаданные из привычек поиска и просмотра, которые содержат запросы и ответы на запросы; и
предоставляют эти дополнительные метаданные одноранговому устройству, которое является одноранговым для вычислительного устройства.
24. Способ по п. 1, дополнительно содержащий этапы, на которых:
наблюдают за привычками поиска и просмотра множества пользователей;
отправляют привычки поиска и просмотра серверу;
формулируют множество полученных в ходе наблюдения профилей множества пользователей на основе наблюдаемых привычек поиска и просмотра;
наблюдают за привычками поиска и просмотра пользователя вычислительного устройства; и
принимают метаданные из сервера на вычислительном устройстве на основе по меньшей мере одного полученного в ходе наблюдений профиля, который соответствует пользователю вычислительного устройства на основе отслеживаемых привычек поиска и просмотра.
25. Способ по п. 1, дополнительно содержащий этапы, на которых:
описывают в метаданных, что фрагмент кода является, по меньшей мере, одним из анализируемого, скачиваемого, синтаксически разбираемого или исполняемого чаще, чем второй фрагмент; и
переупорядочивают и скачивают фрагмент библиотеки первым раньше второго фрагмента.
26. Способ по п. 1, при этом метаданные описывают, что библиотека включает в себя фрагмент, который определен как наиболее вероятный для исполнения, причем способ дополнительно содержит этап, на котором скачивают этот наиболее вероятный для исполнения фрагмент библиотеки раньше других фрагментов библиотеки.
27. Способ по п. 1, дополнительно содержащий этапы, на которых:
передают запрос для помощника браузера, который находится на сервере помощи браузеру;
определяют, что вычислительное устройство часто осуществляет доступ к web-сайту; и
выгружают обновленные данные web-сайта в вычислительное устройство.
28. Способ по п. 1, дополнительно содержащий этап, на котором скачивают первые фрагменты web-страниц с помощью вычислительного устройства раньше вторых фрагментов на основе статистических привычек поиска и просмотра, содержащихся в метаданных.
29. Способ по п. 1, дополнительно содержащий этап, на котором предварительно загружают фрагменты web-страниц с помощью вычислительного устройства, где эти предварительно загруженные фрагменты идентифицируются с помощью статистических привычек поиска и просмотра, содержащихся в метаданных.
30. Способ по п. 1, дополнительно содержащий этапы, на которых:
наблюдают за привычками поиска и просмотра у множества пользователей;
определяют, что доступ к web-странице, содержащей элементы web-страницы, осуществляется часто;
сохраняют элементы web-страницы в кэше на основе привычек поиска и просмотра, чтобы предотвращать удаление элементов web-страницы в вычислительном устройстве; и
скачивают элементы web-страницы из кэша раньше ожидаемого запроса.
31. Способ по п. 30, дополнительно содержащий этапы, на которых:
наблюдают за привычками поиска и просмотра, которые получаются из привычек поиска и просмотра одного пользователя;
обновляют web-страницу, сохраненную в кэше;
принудительно отправляют элементы в кэше вычислительному устройству с периодическими интервалами без запроса;
обновляют web-страницу, сохраненную в кэше; и
запрашивают элементы в кэше для вычислительного устройства.
32. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают на вычислительном устройстве метаданные, которые предоставляют возможность вычислительному устройству исполнять web-страницу более эффективным образом путем исполнения необходимых фрагментов; и
отказываются от исполнения всей web-страницы.
33. Способ по п. 1, дополнительно содержащий этап, на котором передают упомянутый запрос серверу помощи браузеру в местоположение, выбранное из группы, состоящей из сервера, который является тем же сервером, что отвечает на упомянутый запрос web-страницы, однорангового компьютерного устройства и сетевого устройства.
34. Способ по п. 1, дополнительно содержащий этапы, на которых:
передают запрос web-страницы, при этом web-страница включает в себя фрагменты;
обрабатывают фрагменты с помощью сервера помощи браузеру, чтобы получать в результате специализированный код; и
возвращают специализированный код вычислительному устройству,
при этом фрагменты содержат JavaScript, и
при этом сервер помощи браузеру располагается на одном из сервера, сетевого компьютера и однорангового устройства.
35. Способ по п. 1, дополнительно содержащий этапы, на которых:
передают запрос данных;
передают запрос первому устройству;
передают метаданные второму устройству; и
описывают в метаданных фрагменты web-страницы, которые вероятно имеют статистический шанс исполнения на основе наблюдаемых эмпирических данных из запросов и ответов на запросы.
36. Способ по п. 1, дополнительно содержащий этап, на котором принимают метаданные на вычислительном устройстве заранее посредством предварительного кэширования метаданных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы.
37. Вычислительное устройство, содержащее:
дисплей;
внутреннюю память; и
процессор, соединенный с дисплеем и внутренней памятью, при этом процессор сконфигурирован с помощью исполняемых процессором инструкций выполнять операции, содержащие:
передачу запроса web-страницы;
передачу запроса метаданных, касающихся запрошенной web-страницы, серверу помощи браузеру;
прием метаданных от сервера помощи браузеру, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
скачивание упомянутого фрагмента запрошенной web-страницы на основе метаданных;
исполнение скачанного фрагмента запрошенной web-страницы на вычислительном устройстве, чтобы выполнять рендеринг запрошенной web-страницы; и
отправку серверу помощи браузеру результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
38. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций, чтобы выполнять операции, так что прием метаданных содержит прием данных, выбранных из группы, состоящей из:
вероятностей выполнения JavaScript-функции;
AST-данных для синтаксического разбора данных;
данных маркера скрипта;
лексической информации;
возвращенного двоичного кода из данных, обработанных на сервере, чтобы помогать вычислительному устройству;
CSS-метаданных, чтобы помогать в обработке данных CSS-web-страницы в вычислительном устройстве;
JavaScript-метаданных, чтобы помогать в обработке данных JavaScript-web-страницы в вычислительном устройстве;
HTML-метаданных, чтобы помогать в обработке данных HTML-web-страницы в вычислительном устройстве; и
их комбинаций.
39. Вычислительное устройство по п. 37, в котором:
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием множества полученных в ходе наблюдений статистических данных пользовательских поисков и просмотров; и
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие использование множества полученных в ходе наблюдений статистических данных поисков и просмотров, чтобы помогать в загрузке фрагментов web-страницы раньше других фрагментов.
40. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием статистических данных, относящихся к фрагменту кода, который имеет предварительно определенную вероятность исполнения.
41. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
прием метаданных, которые содержат транслированный двоичный код, получающийся в результате JavaScript-кода, исполняемого на сервере, чтобы максимизировать обработку на сервере и минимизировать обработку на вычислительном устройстве.
42. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, так что прием метаданных содержит прием аналитических данных, которые коррелируют с фрагментами web-страницы, являющимися популярными, с тем чтобы web-браузер на вычислительном устройстве загружал популярные фрагменты первыми.
43. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
наблюдение за привычками поиска и просмотра web-страниц пользователя вычислительного устройства;
отправку информации, касающейся привычек поиска и просмотра web-страниц пользователя, на сервер; и
прием метаданных из сервера, частично, на основе привычек поиска и просмотра web-страниц пользователя.
44. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
наблюдение за привычками поиска и просмотра web-страниц пользователя вычислительного устройства; и
предварительную загрузку в память элементов web-страницы, к которым пользователь часто осуществляет доступ.
45. Вычислительное устройство по п. 37, в котором:
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием метаданных, указывающих, что библиотека часто скачивается, при этом описанная в метаданных библиотека имеет фрагмент, который статистически вероятно необходим раньше других фрагментов для исполнения, на основе полученной в ходе наблюдений статистической информации; и
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие скачивание упомянутого фрагмента библиотеки первым на основе метаданных.
46. Вычислительное устройство по п. 45, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
определение того, что библиотека имеет наиболее вероятно исполняемый фрагмент библиотеки, на основе статистических данных; и
скачивание этого наиболее вероятно исполняемого фрагмента библиотеки раньше других фрагментов библиотеки.
47. Вычислительное устройство по п. 37, в котором:
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием от однорангового устройства метаданных, которые коррелируют с фрагментами web-страницы, являющимися популярными у вычислительных устройств, соединенных с одноранговым устройством; и
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие загрузку популярных фрагментов первыми в web-браузере.
48. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
формирование дополнительных метаданных из привычек поиска и просмотра, которые содержат запросы и ответы на запросы; и
предоставление дополнительных метаданных одноранговому устройству по отношению к вычислительному устройству.
49. Вычислительное устройство по п. 37, в котором:
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием метаданных, указывающих, что первый фрагмент кода является по меньшей мер, одним из анализируемого, скачиваемого, синтаксически разбираемого или исполняемого чаще, чем второй фрагмент; и
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие переупорядочивание и скачивание первого фрагмента библиотеки раньше второго фрагмента.
50. Вычислительное устройство по п. 37, в котором:
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием метаданных, указывающих, что библиотека включает в себя фрагмент, который определяется как наиболее вероятный для исполнения; и
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие скачивание этого наиболее вероятного для исполнения фрагмента библиотеки раньше других фрагментов библиотеки.
51. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
скачивание первых фрагментов web-страниц раньше других фрагментов на основе статистических привычек поиска и просмотра, содержащихся в принятых метаданных.
52. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
предварительную загрузку фрагментов web-страниц, идентифицированных с помощью статистических привычек поиска и просмотра, содержащихся в метаданных.
53. Вычислительное устройство по п. 37, в котором:
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции так, что прием метаданных содержит прием метаданных, которые предоставляют возможность вычислительному устройству исполнять web-страницу более эффективным образом путем исполнения необходимых фрагментов; и
процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие отказ от исполнения всей страницы.
54. Вычислительное устройство по п. 37, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
предварительное кэширование принятых метаданных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы.
55. Долговременный машиночитаемый носитель данных, на котором сохранены исполняемые процессором инструкции, сконфигурированные инструктировать процессору вычислительного устройства выполнять операции, содержащие:
передачу запроса web-страницы;
передачу запроса метаданных, касающихся запрошенной web-страницы, серверу помощи браузеру;
прием метаданных от сервера помощи браузеру, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
скачивание упомянутого фрагмента запрошенной web-страницы на основе метаданных;
исполнение скачанного фрагмента запрошенной web-страницы на вычислительном устройстве, чтобы выполнять рендеринг запрошенной web-страницы; и
отправку серверу помощи браузеру результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
56. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции дополнительно так, что прием метаданных содержит прием данных, выбранных из группы, состоящей из:
вероятностей выполнения JavaScript-функции;
AST-данных для синтаксического разбора данных;
данных маркера скрипта;
лексической информации;
возвращенного двоичного кода из данных, обработанных на сервере, чтобы помогать вычислительному устройству;
CSS-метаданных, чтобы помогать в обработке данных CSS-web-страницы в вычислительном устройстве;
JavaScript-метаданных, чтобы помогать в обработке данных JavaScript-web-страницы в вычислительном устройстве;
HTML-метаданных, чтобы помогать в обработке данных HTML-web-страницы в вычислительном устройстве; и
их комбинаций.
57. Долговременный машиночитаемый носитель данных по п. 55, при этом:
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием множества полученных в ходе наблюдений статистических данных поиска и просмотра пользователей; и
сохраненные исполняемые процессором инструкции сконфигурируются инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие использование множества полученных в ходе наблюдений статистических данных поисков и просмотров, чтобы помогать в загрузке фрагментов web-страницы раньше других фрагментов.
58. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции конфигурируются так, чтобы инструктировать процессору вычислительного устройства выполнять операции, так что прием метаданных содержит прием статистических данных, относящихся к фрагменту кода, который имеет предварительно определенную вероятность исполнения.
59. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
прием метаданных, которые содержат транслированный двоичный код, получающийся в результате JavaScript-кода, исполняемого на сервере, чтобы максимизировать обработку на сервере и минимизировать обработку на вычислительном устройстве.
60. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием аналитических данных, которые коррелируют с фрагментами web-страницы, являющимися популярными, с тем чтобы web-браузер на вычислительном устройстве загружал популярные фрагменты первыми.
61. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
наблюдение за привычками поиска и просмотра web-страниц пользователя вычислительного устройства;
отправку информации, касающейся привычек поиска и просмотра web-страниц пользователя, на сервер; и
прием метаданных из сервера, частично, на основе привычек поиска и просмотра web-страниц пользователя.
62. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
наблюдение за привычками поиска и просмотра web-страниц пользователя вычислительного устройства; и
предварительную загрузку в память элементов web-страницы, к которым пользователь часто осуществляет доступ.
63. Долговременный машиночитаемый носитель данных по п. 55, при этом:
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием метаданных, указывающих, что библиотека часто скачивается, при этом описанная в метаданных библиотека имеет фрагмент, который статистически вероятно необходим раньше других фрагментов для исполнения на основе полученной в ходе наблюдений статистической информации; и
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие скачивание упомянутого фрагмента библиотеки первым на основе метаданных.
64. Долговременный машиночитаемый носитель данных по п. 63, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
определение того, что библиотека имеет наиболее вероятно исполняемый фрагмент библиотеки, на основе статистических данных; и
скачивание этого наиболее вероятно исполняемого фрагмента библиотеки раньше других фрагментов библиотеки.
65. Долговременный машиночитаемый носитель данных по п. 55, при этом:
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием от однорангового устройства метаданных, которые коррелируют с фрагментами web-страницы, являющимися популярными у вычислительных устройств, соединенных с одноранговым устройством; и
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие скачивание популярных фрагментов первыми в web-браузере.
66. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
формирование метаданных из привычек поиска и просмотра, которые содержат запросы и ответы на запросы; и
предоставление метаданных одноранговому устройству по отношению к вычислительному устройству.
67. Долговременный машиночитаемый носитель данных по п. 55, при этом:
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием метаданных, указывающих, что первый фрагмент кода является, по меньшей мере, одним из анализируемого, скачиваемого, синтаксически разбираемого или исполняемого чаще, чем второй фрагмент; и сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие переупорядочивание и скачивание первого фрагмента библиотеки раньше второго фрагмента.
68. Долговременный машиночитаемый носитель данных по п. 55, при этом:
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием метаданных, указывающих, что библиотека включает в себя фрагмент, который определяется как наиболее вероятный для исполнения; и
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие скачивание этого наиболее вероятного для исполнения фрагмента библиотеки раньше других фрагментов библиотеки.
69. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
скачивание первых фрагментов web-страниц раньше вторых фрагментов на основе статистических привычек поиска и просмотра, содержащихся в принятых метаданных.
70. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
предварительную загрузку фрагментов web-страниц, идентифицированных с помощью статистических привычек поиска и просмотра, содержащихся в метаданных.
71. Долговременный машиночитаемый носитель данных по п. 55, при этом:
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции так, что прием метаданных содержит прием метаданных, которые предоставляют возможность вычислительному устройству исполнять web-страницу более эффективным образом путем исполнения необходимых фрагментов; и
сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие отказ от исполнения всей web-страницы.
72. Долговременный машиночитаемый носитель данных по п. 55, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору вычислительного устройства выполнять операции, дополнительно содержащие:
предварительное кэширование принятых метаданных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы.
73. Вычислительное устройство, содержащее:
средство для передачи запроса web-страницы;
средство для передачи запроса метаданных, касающихся запрошенной web-страницы, серверу помощи браузеру;
средство для приема метаданных от сервера помощи браузеру, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
средство для скачивания упомянутого фрагмента запрошенной web-страницы на основе метаданных;
средство для исполнения скачанного фрагмента запрошенной web-страницы на вычислительном устройстве, чтобы выполнять рендеринг запрошенной web-страницы; и
средство для отправки серверу помощи браузеру результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
74. Вычислительное устройство по п. 73, в котором средство для приема метаданных содержит средство для приема данных, выбранных из группы, состоящей из:
вероятностей выполнения JavaScript-функции;
AST-данных для синтаксического разбора данных;
данных маркера скрипта;
лексической информации;
возвращенного двоичного кода из данных, обработанных на сервере, чтобы помогать вычислительному устройству;
CSS-метаданных, чтобы помогать в обработке данных CSS-web-страницы в вычислительном устройстве;
JavaScript-метаданных, чтобы помогать в обработке данных JavaScript-web-страницы в вычислительном устройстве;
HTML-метаданных, чтобы помогать в обработке данных HTML-web-страницы в вычислительном устройстве; и
их комбинаций.
75. Вычислительное устройство по п. 73, в котором средство для приема метаданных содержит средство для приема множества полученных в ходе наблюдений статистических данных поиска и просмотра пользователей, вычислительное устройство дополнительно содержит средство для использования множества полученных в ходе наблюдений статистических данных поисков и просмотров, чтобы помогать в загрузке фрагментов web-страницы раньше других фрагментов.
76. Вычислительное устройство по п. 73, в котором средство для приема метаданных содержит средство для приема статистических данных, относящихся к фрагменту кода, который имеет предварительно определенную вероятность исполнения.
77. Вычислительное устройство по п. 73, в котором средство для приема метаданных содержит средство для приема транслированного двоичного кода, получающегося в результате JavaScript-кода, исполняемого на сервере, чтобы максимизировать обработку на сервере и минимизировать обработку на вычислительном устройстве.
78. Вычислительное устройство по п. 73, в котором средство для приема метаданных содержит средство для приема аналитических данных, которые коррелируют с фрагментами web-страницы, являющимися популярными, с тем чтобы web-браузер в вычислительном устройстве загружал популярные фрагменты первыми.
79. Вычислительное устройство по п. 73, дополнительно содержащее:
средство для наблюдения за привычками поиска и просмотра web-страниц пользователя вычислительного устройства;
средство для отправки информации, касающейся привычек поиска и просмотра web-страниц пользователя, на сервер; и
средство для приема метаданных из сервера, частично, на основе привычек поиска и просмотра web-страниц пользователя.
80. Вычислительное устройство по п. 73, дополнительно содержащее:
средство для наблюдения за привычками поиска и просмотра web-страниц пользователя вычислительного устройства; и
средство для предварительной загрузки в память элементов web-страницы, к которым пользователь часто осуществляет доступ.
81. Вычислительное устройство по п. 73, в котором:
средство для приема метаданных содержит средство для приема метаданных, указывающих, что библиотека часто загружается, при этом описанная в метаданных библиотека имеет фрагмент, который статистически вероятно необходим раньше других фрагментов для исполнения на основе полученной в ходе наблюдений статистической информации; и
вычислительное устройство дополнительно содержит средство для скачивания упомянутого фрагмента библиотеки первым на основе метаданных.
82. Вычислительное устройство по п. 81, дополнительно содержащее:
средство для определения того, что библиотека имеет наиболее вероятно исполняемый фрагмент библиотеки, на основе статистических данных; и
средство для скачивания этого наиболее вероятно исполняемого фрагмента библиотеки первым раньше других фрагментов библиотеки.
83. Вычислительное устройство по п. 73, в котором:
средство для приема метаданных содержит средство для приема от однорангового устройства метаданных, которые коррелируют с фрагментами web-страницы, являющимися популярными у вычислительных устройств, соединенных с одноранговым устройством; и
вычислительное устройство дополнительно содержит средство для загрузки популярных фрагментов первыми в web-браузере.
84. Вычислительное устройство по п. 73, дополнительно содержащее:
средство для формирования метаданных из привычек поиска и просмотра, которые содержат запросы и ответы на запросы; и
средство для предоставления метаданных устройству, одноранговому по отношению к вычислительному устройству.
85. Вычислительное устройство по п. 73, в котором:
средство для приема метаданных содержит средство для приема метаданных, указывающих, что первый фрагмент кода является по меньшей мере одним из анализируемого, скачиваемого, синтаксически разбираемого или исполняемого чаще, чем второй фрагмент; и
вычислительное устройство дополнительно содержит средство для переупорядочивания и скачивания первого фрагмента библиотеки раньше второго фрагмента.
86. Вычислительное устройство по п. 73, в котором:
средство для приема метаданных содержит средство для приема метаданных, указывающих, что библиотека включает в себя фрагмент, который определяется как наиболее вероятный для исполнения; и
вычислительное устройство дополнительно включает в себя средство для скачивания этого наиболее вероятного для исполнения фрагмента библиотеки раньше других фрагментов библиотеки.
87. Вычислительное устройство по п. 73, дополнительно содержащее средство для скачивания первых фрагментов web-страниц раньше вторых фрагментов на основе статистических привычек поиска и просмотра, содержащихся в принятых метаданных.
88. Вычислительное устройство по п. 73, дополнительно содержащее средство для предварительной загрузки фрагментов web-страниц, идентифицированных с помощью статистических привычек поиска и просмотра, содержащихся в метаданных.
89. Вычислительное устройство по п. 73, в котором:
средство для приема метаданных содержит средство для приема метаданных, которые предоставляют вычислительному устройству возможность исполнять web-страницу более эффективным образом путем исполнения необходимых фрагментов; и
вычислительное устройство дополнительно содержит средство для отказа от исполнения всей web-страницы.
90. Вычислительное устройство по п. 73, дополнительно содержащее средство для предварительного кэширования принятых метаданных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запроса web-страницы.
91. Сервер, содержащий:
процессор;
сетевой интерфейс, соединенный с процессором и сконфигурированный предоставлять процессору возможность связываться с сетью сотовой связи; и
память, соединенную с процессором,
при этом процессор сконфигурирован с помощью исполняемых процессором инструкций выполнять операции, содержащие:
прием запроса web-страницы от вычислительного устройства;
прием запроса метаданных, касающихся запрошенной web-страницы, на сервере помощи браузеру от вычислительного устройства, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
передачу вычислительному устройству запрошенной web-страницы плюс метаданных, сконфигурированных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении кода запрошенной web-страницы на вычислительном устройстве для рендеринга упомянутого фрагмента запрошенной web-страницы на вычислительном устройстве; и
прием от вычислительного устройства результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
92. Сервер по п. 91, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие: прием от множества вычислительных устройств информации об использовании web, касающейся привычек использования web пользователями множества вычислительных устройств; и
формирование метаданных на основе принятой информации об использовании и анализа привычек использования web пользователями множества вычислительных устройств.
93. Сервер по п. 91, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие передачу двоичной предварительно скомпилированной трансляции JavaScript в запрошенной web-странице вычислительному устройству.
94. Сервер по п. 91, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
сбор совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств, при этом совокупная информация предоставляется посредством оснащенных инструментальными средствами web-браузеров, работающих на этом множестве вычислительных устройств; и
формирование метаданных на основе совокупной информации о привычках поиска и просмотра пользователей данного множества вычислительных устройств.
95. Сервер по п. 94, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
определение из совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств, когда пользователи вероятно должны просматривать первый фрагмент web-страницы раньше других фрагментов; и
передачу первого фрагмента web-страницы вычислительному устройству раньше других фрагментов web-страницы.
96. Сервер по п. 94, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
формирование метаданных, указывающих привычки поиска и просмотра других пользователей;
определение того, к каким фрагментам web-страниц статистически вероятно должен осуществляться доступ раньше других фрагментов web-страницы, на основе метаданных;
определение того, что доступ ко второму фрагменту вероятно не должен осуществляться часто; и
сообщение в метаданных того, что доступ ко второму фрагменту не осуществляется часто и он скачивается ниже по приоритету, чем фрагменты, к которым статистически более вероятно должен быть осуществлен доступ.
97. Сервер по п. 94, в котором процессор конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие:
формулирование множества полученных в ходе наблюдений профилей пользователей множества вычислительных устройств;
наблюдение за привычками поиска и просмотра пользователя вычислительного устройства; и
передачу метаданных из сервера вычислительному устройству на основе по меньшей мере одного полученного в ходе наблюдений профиля, который соответствует пользователю вычислительного устройства на основе наблюдаемых привычек поиска и просмотра.
98. Долговременный машиночитаемый носитель данных, на котором сохранены исполняемые процессором инструкции, сконфигурированные инструктировать процессору сервера выполнять операции, содержащие:
прием запроса web-страницы от вычислительного устройства;
прием запроса метаданных, касающихся запрошенной web-страницы, на сервере помощи браузеру от вычислительного устройства, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
передачу вычислительному устройству запрошенной web-страницы плюс метаданных, сконфигурированных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении кода запрошенной web-страницы на вычислительном устройстве для рендеринга упомянутого фрагмента запрошенной web-страницы на вычислительном устройстве; и
прием от вычислительного устройства результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
99. Долговременный машиночитаемый носитель данных по п. 98, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору сервера выполнять операции, дополнительно содержащие:
прием от множества вычислительных устройств информации об использовании web, касающейся привычек использования web пользователями множества вычислительных устройств; и
формирование метаданных на основе принятой информации об использовании и анализа привычек использования web пользователями множества вычислительных устройств.
100. Долговременный машиночитаемый носитель данных по п. 98, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору сервера выполнять операции, дополнительно содержащие передачу двоичной предварительно скомпилированной трансляции JavaScript в запрошенной web-странице вычислительному устройству.
101. Долговременный машиночитаемый носитель данных по п. 98, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору сервера выполнять операции, дополнительно содержащие:
сбор совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств, при этом совокупная информация предоставляется посредством оснащенных инструментальными средствами web-браузеров, работающих на этом множестве вычислительных устройств; и
формирование метаданных на основе совокупной информации о привычках поиска и просмотра пользователей данного множества вычислительных устройств.
102. Долговременный машиночитаемый носитель данных по п. 101, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору сервера выполнять операции, дополнительно содержащие: определение из совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств, когда пользователи вероятно должны просматривать первый фрагмент web-страницы раньше других фрагментов; и
передачу первого фрагмента web-страницы вычислительному устройству раньше других фрагментов web-страницы.
103. Долговременный машиночитаемый носитель данных по п. 101, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору сервера выполнять операции, дополнительно содержащие:
формирование метаданных, указывающих привычки поиска и просмотра других пользователей;
определение того, к каким фрагментам web-страниц статистически вероятно должен осуществляться доступ раньше других фрагментов web-страницы, на основе метаданных;
определение того, что доступ ко второму фрагменту вероятно не должен осуществляться часто; и
сообщение в метаданных того, что доступ ко второму фрагменту не осуществляется часто и он скачивается ниже по приоритету, чем фрагменты, к которым статистически более вероятно должен быть осуществлен доступ.
104. Долговременный машиночитаемый носитель данных по п. 101, при этом сохраненные исполняемые процессором инструкции сконфигурированы инструктировать процессору сервера выполнять операции, дополнительно содержащие:
формулирование множества полученных в ходе наблюдений профилей пользователей множества вычислительных устройств; наблюдение за привычками поиска и просмотра пользователя вычислительного устройства; и
передачу метаданных из сервера вычислительному устройству на основе по меньшей мере одного полученного в ходе наблюдений профиля, который соответствует пользователю вычислительного устройства на основе наблюдаемых привычек поиска и просмотра.
105. Сервер, содержащий:
средство для приема запроса web-страницы от вычислительного устройства;
средство для приема запроса метаданных, касающихся запрошенной web-страницы, на сервере помощи браузеру от вычислительного устройства, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения;
средство для передачи вычислительному устройству запрошенной web-страницы плюс метаданных, сконфигурированных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении кода запрошенной web-страницы на вычислительном устройстве для рендеринга упомянутого фрагмента запрошенной web-страницы на вычислительном устройстве; и
средство для приема от вычислительного устройства результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных.
106. Сервер по п. 105, дополнительно содержащий:
средство для приема от множества вычислительных устройств информации об использовании web, касающейся привычек использования web пользователями множества вычислительных устройств; и
средство для формирования метаданных на основе принятой информации об использовании и анализа привычек использования web пользователями множества вычислительных устройств.
107. Сервер по п. 105, дополнительно содержащий средство для передачи двоичной предварительно скомпилированной трансляции JavaScript в запрошенной web-странице вычислительному устройству.
108. Сервер по п. 105, дополнительно содержащий:
средство для сбора совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств, при этом совокупная информация предоставляется посредством оснащенных инструментальными средствами web-браузеров, работающих на этом множестве вычислительных устройств; и
средство для формирования метаданных на основе совокупной информации о привычках поиска и просмотра пользователей данного множества вычислительных устройств.
109. Сервер по п. 108, дополнительно содержащий:
средство для определения из совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств того, когда пользователи вероятно должны просматривать первый фрагмент web-страницы раньше других фрагментов; и
средство для передачи первого фрагмента web-страницы вычислительному устройству раньше других фрагментов web-страницы.
110. Сервер по п. 108, дополнительно содержащий: средство для формирования метаданных, указывающих привычки поиска и просмотра других пользователей;
средство для определения того, к каким фрагментам web-страниц статистически вероятно должен осуществляться доступ раньше других фрагментов web-страницы, на основе метаданных;
средство для определения того, что доступ ко второму фрагменту вероятно не должен осуществляться часто; и
средство для сообщения в метаданных того, что доступ ко второму фрагменту не осуществляется часто и он скачивается ниже по приоритету, чем фрагменты, к которым статистически более вероятно должен быть осуществлен доступ.
111. Сервер по п. 108, дополнительно содержащий:
средство для формулирования множества полученных в ходе наблюдений профилей пользователей множества вычислительных устройств;
средство для наблюдения за привычками поиска и просмотра пользователя вычислительного устройства; и
средство для передачи метаданных из сервера вычислительному устройству на основе по меньшей мере одного полученного в ходе наблюдений профиля, который соответствует пользователю вычислительного устройства на основе наблюдаемых привычек поиска и просмотра.
112. Система для рендеринга Web-страницы, содержащая:
сервер;
сеть сотовой связи; и
вычислительное устройство, взаимосвязанное с сервером через сеть сотовой связи, при этом вычислительное устройство содержит:
дисплей;
внутреннюю память; и
процессор, соединенный с дисплеем и внутренней памятью, при этом процессор вычислительного устройства сконфигурирован с помощью исполняемых процессором инструкций выполнять операции, содержащие:
передачу запроса web-страницы,
передачу запроса метаданных, касающихся запрошенной web-страницы, серверу помощи браузеру, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения,
скачивание упомянутого фрагмента запрошенной web-страницы на основе метаданных,
исполнение скачанного фрагмента запрошенной web-страницы для рендеринга запрошенной web-страницы с использованием метаданных, и
отправку серверу помощи браузеру результатов обработки и рендеринга запрошенной web-страницы на вычислительном устройстве для обеспечения обратной связи по качеству услуги метаданных;
при этом сервер сконфигурирован выполнять операции, содержащие:
передачу вычислительному устройству метаданных, сконфигурированных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запрошенной web-страницы, и
прием результатов обработки и рендеринга запрошенной web-страницы от вычислительного устройства.
113. Система по п. 112, в которой:
сервер сконфигурирован выполнять операции, дополнительно содержащие:
формирование метаданных, указывающих, что библиотека часто скачивается, и
указание в метаданных того, что библиотека имеет первый фрагмент, который вероятно необходим раньше других фрагментов для исполнения запрошенной web-страницы; и
процессор вычислительного устройства конфигурируется с помощью исполняемых процессором инструкций, чтобы выполнять операции, дополнительно содержащие скачивание первого фрагмента библиотеки раньше других фрагментов библиотеки на основе метаданных.
114. Система по п. 112, в которой:
процессор вычислительного устройства конфигурируется с помощью исполняемых процессором инструкций, чтобы выполнять операции, дополнительно содержащие отправку данных поиска и просмотра от Интернет-браузера серверу; и
сервер сконфигурирован выполнять операции, дополнительно содержащие формирование метаданных из данных браузера, принятых от вычислительного устройства.
115. Система по п. 112, в которой:
сервер сконфигурирован выполнять операции, дополнительно содержащие:
наблюдение за привычками поиска и просмотра от множества пользователей;
определение того, что к конкретной web-странице пользователи часто осуществляют доступ; и
сохранение элементов web-страницы в кэше на основе привычек поиска и просмотра пользователей; и
процессор вычислительного устройства конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие скачивание элементов web-страницы из кэша раньше ожидаемого запроса пользователем web-страницы.
116. Система по п. 112, в которой сервер сконфигурирован выполнять операции, дополнительно содержащие:
обработку JavaScript-фрагмента запрошенной web-страницы, чтобы формировать специализированный код; и
возврат сформированного специализированного кода вычислительному устройству в ответ на запрос web-страницы.
117. Система по п. 112, в которой сервер сконфигурирован выполнять операции, дополнительно содержащие:
сбор информации об использовании web от множества web-пользователей; и
формирование метаданных на основе собранной информации об использовании web.
118. Система по п. 117, в которой:
сервер сконфигурирован выполнять операции, дополнительно содержащие определение того, что пользователь вычислительного устройства вероятно должен просматривать первый фрагмент запрошенной web-страницы раньше других фрагментов, на основе профиля пользователя, при этом метаданные, переданные вычислительному устройству, указывают, что пользователь вероятно должен просматривать первый фрагмент запрошенной web-страницы;
при этом процессор вычислительного устройства конфигурируется с помощью исполняемых процессором инструкций выполнять операции, дополнительно содержащие скачивание первого фрагмента запрошенной web-страницы раньше других фрагментов web-страницы.
119. Система по п. 112, в которой сервер не размещает у себя запрошенную web-страницу.
120. Система для рендеринга Web-страницы, содержащая:
сервер;
сеть сотовой связи; и
вычислительное устройство, взаимосвязанное с сервером через сеть сотовой связи,
при этом вычислительное устройство содержит:
средство для передачи запроса web-страницы,
средство для передачи запроса метаданных, касающихся запрошенной web-страницы, серверу помощи браузеру, при этом метаданные описывают фрагмент запрошенной web-страницы, который определен как наиболее вероятный для исполнения,
средство для скачивания упомянутого фрагмента запрошенной web-страницы на основе метаданных,
средство для исполнения скачанного фрагмента запрошенной web-страницы для рендеринга запрошенной web-страницы, и
средство для отправки серверу помощи браузеру результатов обработки и рендеринга запрошенной web-страницы для обеспечения обратной связи по качеству услуги метаданных; и при этом сервер содержит:
средство для передачи вычислительному устройству метаданных, сконфигурированных, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении запрошенной web-страницы, и
средство для приема результатов обработки и рендеринга запрошенной web-страницы от вычислительного устройства.
121. Система по п. 120, в которой:
сервер дополнительно содержит:
средство для формирования метаданных, указывающих, что библиотека часто скачивается; и
средство для указания в метаданных того, что библиотека имеет первый фрагмент, который вероятно необходим раньше других фрагментов для исполнения запрошенной web-страницы, и вычислительное устройство дополнительно содержит средство для скачивания первого фрагмента библиотеки раньше других фрагментов библиотеки на основе метаданных.
122. Система по п. 120, в которой:
вычислительное устройство дополнительно содержит средство для отправки данных поиска и просмотра из Интернет-браузера серверу; и
сервер дополнительно содержит средство для формирования метаданных из данных браузера, принятых от вычислительного устройства.
123. Система по п. 120, в которой:
сервер дополнительно содержит:
средство для наблюдения за привычками поиска и просмотра от множества пользователей;
средство для определения того, что к конкретной web-странице пользователи часто осуществляют доступ; и
средство для сохранения элементов web-страницы в кэше на основе привычек поиска и просмотра пользователей; и
вычислительное устройство дополнительно содержит средство для скачивания элементов web-страницы из кэша раньше ожидаемого запроса web-страницы от пользователя.
124. Система по п. 120, в которой сервер дополнительно содержит:
средство для обработки JavaScript-фрагмента запрошенной web-страницы, чтобы формировать специализированный код; и
средство для возврата сформированного специализированного кода вычислительному устройству в ответ на запрос web-страницы.
125. Система по п. 120, в которой сервер дополнительно содержит:
средство для сбора информации об использовании web от множества web-пользователей; и
средство для формирования метаданных на основе собранной информации об использовании web.
126. Система по п. 125, в которой:
сервер дополнительно содержит средство для определения того, что пользователь вычислительного устройства вероятно должен просматривать первый фрагмент запрошенной web-страницы раньше других фрагментов, на основе профиля пользователя, при этом метаданные, переданные вычислительному устройству, указывают, что пользователь вероятно должен просматривать первый фрагмент запрошенной web-страницы;
при этом вычислительное устройство дополнительно содержит средство для скачивания первого фрагмента запрошенной web-страницы раньше других фрагментов web-страницы.
127. Система по п. 120, в которой сервер не размещает у себя запрошенную web-страницу.
128. Способ содействия рендерингу web-страницы на удаленном вычислительном устройстве, содержащий этапы, на которых:
принимают запрос web-страницы от вычислительного устройства;
принимают запрос метаданных, касающихся запрошенной web-страницы, на сервере помощи браузеру, при этом метаданные описывают, что web-страница включает в себя фрагмент, который определен как наиболее вероятный для исполнения;
передают в вычислительное устройство запрошенную web-страницу, при этом метаданные сконфигурированы, чтобы помогать вычислительному устройству в синтаксическом разборе, анализе или исполнении кода запрошенной web-страницы на вычислительном устройстве для рендеринга запрошенной web-страницы на вычислительном устройстве, и фрагмент библиотеки, который должен наиболее вероятно исполняться раньше других фрагментов библиотеки на основе метаданных; и
принимают результаты обработки и рендеринга данных запрошенной web-страницы от вычислительного устройства для обеспечения обратной связи по качеству услуги метаданных.
129. Способ по п. 128, дополнительно содержащий этапы, на которых: принимают от множества вычислительных устройств информацию об использовании web касаемо привычек использования web пользователей этого множества вычислительных устройств; и
формируют метаданные на основе принятой информации об использовании и анализа привычек использования web пользователей данного множества вычислительных устройств
130. Способ по п. 128, дополнительно содержащий этап, на котором передают двоичную предварительно скомпилированную трансляцию JavaScript в запрошенной web-странице на вычислительное устройство.
131. Способ по п. 128, дополнительно содержащий этапы, на которых:
собирают совокупную информацию о привычках поиска и просмотра пользователей множества вычислительных устройств, при этом совокупная информация предоставляется посредством оснащенных инструментальными средствами web-браузеров, работающих на этом множестве вычислительных устройств; и
формируют метаданные на основе совокупной информации о привычках поиска и просмотра пользователей данного множества вычислительных устройств.
132. Способ по п. 131, дополнительно содержащий этапы, на которых:
определяют из совокупной информации о привычках поиска и просмотра пользователей множества вычислительных устройств, когда пользователи вероятно должны просматривать первый фрагмент web-страницы раньше других фрагментов; и
передают первый фрагмент web-страницы вычислительному устройству раньше других фрагментов web-страницы.
133. Способ по п. 131, дополнительно содержащий этапы, на которых:
формируют метаданные, указывающие привычки поиска и просмотра других пользователей;
определяют, к каким фрагментам web-страниц статистически вероятно должен осуществляться доступ перед другими фрагментами web-страницы, на основе метаданных;
определяют, что доступ ко второму фрагменту вероятно не должен осуществляться часто; и
сообщают в метаданных, что доступ ко второму фрагменту не осуществляется часто и он скачивается ниже по приоритету, чем фрагменты, к которым статистически вероятно должен быть осуществлен доступ.
134. Способ по п. 131, дополнительно содержащий этапы, на которых:
формулируют множество полученных в ходе наблюдений профилей пользователей множества вычислительных устройств;
наблюдают за привычками поиска и просмотра пользователя вычислительного устройства; и
передают метаданные из сервера вычислительному устройству на основе по меньшей мере одного полученного в ходе наблюдений профиля, который соответствует пользователю вычислительного устройства на основе наблюдаемых привычек поиска и просмотра.
Virtualized Screen: A Third Element for Cloud-Mobile Convergence" YAN LU ET AL, 01.02.2011 | |||
Термостойкая клеевая композиция | 1990 |
|
SU1835423A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Авторы
Даты
2016-03-10—Публикация
2012-06-19—Подача