RU2453911C2 - Автономное выполнение веб-приложений - Google Patents

Автономное выполнение веб-приложений Download PDF

Info

Publication number
RU2453911C2
RU2453911C2 RU2009116454/08A RU2009116454A RU2453911C2 RU 2453911 C2 RU2453911 C2 RU 2453911C2 RU 2009116454/08 A RU2009116454/08 A RU 2009116454/08A RU 2009116454 A RU2009116454 A RU 2009116454A RU 2453911 C2 RU2453911 C2 RU 2453911C2
Authority
RU
Russia
Prior art keywords
web
application
resources
web browser
computer system
Prior art date
Application number
RU2009116454/08A
Other languages
English (en)
Other versions
RU2009116454A (ru
Inventor
Джонатан К. ХОКИНЗ (US)
Джонатан К. ХОКИНЗ
Шанку С. НИЙОДЖИ (US)
Шанку С. НИЙОДЖИ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2009116454A publication Critical patent/RU2009116454A/ru
Application granted granted Critical
Publication of RU2453911C2 publication Critical patent/RU2453911C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Изобретение относится к области веб-приложений. Техническим результатом является расширение функциональных возможностей веб-приложений за счет обеспечения автономного исполнения веб-приложений. Варианты осуществления обеспечивают локальное хранение веб-исполняемых инструкций и данных в компьютерной системе. Исполняемые веб-инструкции и данные могут использоваться, чтобы локально удовлетворять запросы (направленные домену, который отправил исполняемые инструкции и данные) от модулей, ассоциативно связанных с веб-браузером в компьютерной системе. Соответственно, локально сохраненные веб-исполняемые инструкции и данные могут использоваться в компьютерной системе, чтобы имитировать связь с веб-сайтом, когда веб-сайт иным образом недоступен. 3 н. и 11 з.п. ф-лы, 4 ил.

Description

Уровень техники
Компьютерные системы и связанная технология затрагивают множество аспектов общества. Несомненно, способность компьютерной системы обрабатывать информацию преобразовала образ жизни, которым мы живем и работаем. Компьютерные системы сегодня, как правило, выполняют множество задач (к примеру, обработку текста, планирование, бухгалтерский учет и т.д.), которые до появления компьютерных систем выполнялись вручную. Совсем недавно компьютерные системы были связаны друг с другом и с другими электронными устройствами для того, чтобы сформировать проводные и беспроводные компьютерные сети, по которым компьютерные системы и другие электронные устройства могут передавать электронные данные. Соответственно, производительность многих вычислительных задач распределена по ряду разных компьютерных систем и/или ряду разных вычислительных компонентов.
Одной общей формой сетевой связи является обмен электронными сообщениями по всемирной паутине ("WWW"). Содержимое во всемирной паутине в типичном варианте доступно в клиент/серверной модели. "Веб-браузер" клиентской компьютерной системы отправляет запрос, чтобы получить доступ к содержимому, которое предоставляется "Веб-сервером" серверной компьютерной системы (например, посредством ввода унифицированного указателя ресурса ("URL") в веб-браузере). Если пользователь веб-браузера авторизован, чтобы получить доступ к содержимому, веб-сервер в типичном варианте предоставляет содержимое веб-браузеру. В веб-среде содержимое и запросы содержимого часто передаются с помощью протокола передачи гипертекста ("HTTP"). Веб-содержимое может быть предоставлено в страницах на языке гипертекстовой разметки ("HTML"), таблицах стилей, изображениях, скриптах и т.д.
Большинство, если не все, из веб-браузеров кэшируют части веб-содержимого в общем месте хранения (кэше браузера) так, что последующие воспроизведения веб-страницы могут быть представлены более эффективно. Например, когда веб-браузер принимает веб-страницу от веб-сервера, веб-браузер может локально кэшировать части содержимого, включенного в веб-страницу. Таким образом, если веб-браузер впоследствии направляется на ту же самую веб-страницу, веб-браузер может проверить общее место хранения на предмет кэшированных частей содержимого, и любые кэшированные части содержимого могут быть объединены с другим содержимым, принятым через сеть, чтобы создать веб-страницу. Соответственно, использование локально кэшированного содержимого потенциально уменьшает количество данных, которые передаются через сеть, чтобы отобразить содержимое из веб-сервера. Как результат, веб-страницы могут воспроизводиться быстрее, улучшая восприятие пользователем.
Однако, в типичном варианте, даже если только часть веб-страницы изменяется, вся страница повторно загружается по сети для отображения в веб-браузере. Например, может быть, что веб-браузер обращается к веб-странице, загружает содержимое веб-страницы через сетевое соединение и кэширует содержимое из веб-страницы. Если содержимое веб-страницы впоследствии изменяется, веб-браузер может запросить повторную загрузку всей веб-страницы, даже если изменились только небольшие части веб-страницы.
Таким образом, совсем недавно некоторые веб-браузеры реализовали частичные обновления страницы, чтобы лучше использовать кэшированное содержимое. Содержимое повторно загружается, когда соответствующая часть веб-страницы изменяется. Однако веб-браузеру необязательно требовать повторной загрузки всего содержимого веб-страницы в ответ на изменение части веб-страницы. Например, когда изменяется одно изображение в веб-странице, веб-браузер может обнаружить изменение и повторно загрузить одно изображение без необходимости повторно загружать другое кэшированное содержимое, которое не изменилось.
Некоторые веб-приложения также разрешают веб-браузерам взаимодействовать с данными из базы данных (например, SQL-базы данных). Веб-сервер принимает запрос от веб-браузера, обращается к соответствующей части данных базы данных и возвращает данные базы данных веб-браузеру. В зависимости от конфигурации веб-приложения пользователь также может иметь возможность изменять части данных базы данных через веб-браузер. Например, пользователь может иметь возможность создавать и модифицировать записи базы данных через веб-браузер. В некоторых окружениях пользователь имеет возможность осуществлять SQL-операции (CREATE TABLE, SELECT, INSERT, UPDATE, DELETE и т.д.) через веб-браузер. Таким образом, веб-браузер, по существу, предоставляет пользовательский интерфейс для манипулирования данными базы данных через сеть (например, Интернет).
Однако, в типичном варианте, не существует механизма для веб-браузера, чтобы соответствующим образом кэшировать табличные данные (например, данные из базы данных). В типичном варианте пользователь не имеет доступа ко всем данным в базе данных в любое время. Таким образом, кэширование любых принятых данных базы данных предоставляет неполный (и потенциально нефункционирующий) набор данных. Кроме того, так как содержимое в типичном варианте кэшировано в общем местоположении (кэше браузера), кэширование данных базы данных с одного веб-сайта (или домена) потенциально делает кэшированные данные базы данных доступными любому другому веб-сайту (или домену), к которому обращается веб-браузер. Например, кэшированные корпоративные финансовые данные попадают под риск, когда веб-браузер впоследствии (и потенциально неведомо для пользователя) направляется на злонамеренный веб-сайт (который может исследовать кэш браузера).
Кроме того, так как многие базы данных содержат большие объемы данных, локальное кэширование данных базы данных может быстро заполнить выделенное пространство кэша браузера.
Дополнительно, большинство, если не все, из браузеров не имеют возможности работать в "автономном" режиме. То есть веб-браузеры в типичном варианте не представляют значащее содержимое, когда веб-сайт недоступен (например, когда активное сетевое соединение не обнаружено или соответствующий веб-сервер выключен), без перевода браузера в автономный режим для всех веб-сайтов. Например, когда веб-браузер пытается загрузить ресурс, такой как, например, HTML-страница или изображение, из недоступного веб-сервера, веб-браузеру не удается воспроизвести ресурс (даже если ресурс локально кэширован). Таким образом, если данные базы данных (или любой другой тип содержимого) были кэшированы, веб-браузер не будет иметь возможности представить данные базы данных (или другой тип содержимого) в автономном режиме.
Краткая сущность изобретения
Настоящее изобретение распространяется на способы, системы и компьютерные программные продукты для автономного выполнения веб-приложений. В некоторых вариантах осуществления компьютерная система конфигурирует локальное содержимое для автономного использования прикладным компонентом веб-браузера веб-приложения. Компьютерная система определяет, что веб-приложению разрешено автономное выполнение. Компьютерная система обнаруживает, что серверный веб-компонент для веб-приложения доступен через сеть связи.
Компьютерная система принимает ресурсы для веб-приложения от серверного веб-компонента через сеть связи. Компьютерная система локально сохраняет принятые ресурсы в компьютерной системе. Локально сохраненная копия ресурсов доступна клиентскому компоненту веб-браузера без необходимости наличия сети связи. По существу, к локально сохраненным ресурсам может быть осуществлен доступ в ответ на запрос от клиентского веб-компонента, когда обнаружено, что серверный веб-компонент недоступен через сеть связи. Компьютерная система конфигурирует локально сохраненные ресурсы, чтобы поддерживать их локально сохраненными в компьютерной системе в течение указанного периода времени, таким образом отменяя настройки очистки кэша веб-браузера по умолчанию.
В других вариантах осуществления компьютерная система запускает веб-приложение автономно. Компонент приложения веб-браузера для веб-приложения отправляет онлайновый запрос ресурсов веб-приложения соответствующему прикладному компоненту веб-сервера для веб-приложения по сети. Компьютерная система обнаруживает, что запрос не исполнен. Компьютерная система определяет, что веб-приложению разрешено автономное выполнение. Компьютерная система конфигурирует веб-браузер, чтобы выполнять приложение веб-браузера автономно, в то время как другие приложения веб-браузера остаются сконфигурированными так, чтобы выполняться в режиме онлайн. Компьютерная система обслуживает запрошенные ресурсы веб-приложения из локального хранилища в компьютерной системе без перевода веб-браузера в автономный режим.
Эта сущность изобретения предоставлена для того, чтобы представить выбор концепций в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Эта сущность не предназначена для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого предмета изобретения, а также не предназначена для того, чтобы быть использованной в качестве помощи при определении области применения заявляемого предмета изобретения.
Дополнительные признаки и преимущества изобретения будут частично изложены в описании, которое следует ниже, и частично будут явствовать из описания или могут быть изучены при практическом использовании изобретения. Признаки и преимущества изобретения могут быть реализованы и получены посредством инструментов и комбинаций, детально указанных в прилагаемой формуле. Эти и другие признаки настоящего изобретения должны стать более очевидными из следующего описания и формулы изобретения или могут быть изучены при практическом использовании изобретения, как изложено далее.
Краткое описание чертежей
Чтобы описать способ, которым могут быть получены вышеупомянутые и другие преимущества и признаки изобретения, более подробное описание изобретения, вкратце описанного выше, должно быть представлено посредством ссылки на его конкретные варианты осуществления, которые проиллюстрированы в прилагаемых чертежах. При условии того, что эти чертежи изображают только типичные варианты осуществления изобретения и поэтому не должны рассматриваться как ограничивающие область его применения, изобретение описывается и поясняется с помощью дополнительной специфики и подробностей посредством использования прилагаемых чертежей, на которых:
фиг.1A иллюстрирует пример компьютерной архитектуры, которая облегчает конфигурирование локального содержимого для автономного использования прикладным компонентом веб-браузера веб-приложения;
фиг.1B иллюстрирует пример компьютерной архитектуры, которая облегчает автономную работу веб-приложения;
фиг.2 иллюстрирует блок-схему примерного способа конфигурирования локального содержимого для автономного использования прикладным компонентом веб-браузера веб-приложения;
фиг.3 иллюстрирует блок-схему примерного способа автономной работы веб-приложения.
Подробное описание изобретения
Настоящее изобретение распространяется на способы, системы и компьютерные программные продукты для автономного выполнения веб-приложений. В некоторых вариантах осуществления компьютерная система конфигурирует локальное содержимое для автономного использования прикладным компонентом веб-браузера веб-приложения. Компьютерная система определяет, что веб-приложению разрешено автономное выполнение. Компьютерная система обнаруживает, что серверный веб-компонент для веб-приложения доступен через сеть связи.
Компьютерная система принимает ресурсы для веб-приложения от серверного веб-компонента через сеть связи. Компьютерная система локально сохраняет принятые ресурсы в компьютерной системе. Локально сохраненная копия ресурсов доступна клиентскому компоненту веб-браузера без необходимости наличия сети связи. По существу, к локально сохраненным ресурсам может быть осуществлен доступ в ответ на запрос от клиентского веб-компонента, когда обнаружено, что серверный веб-компонент недоступен через сеть связи. Компьютерная система конфигурирует локально сохраненные ресурсы, чтобы поддерживать их локально сохраненными в компьютерной системе в течение указанного периода времени, таким образом отменяя настройки очистки кэша веб-браузера по умолчанию.
В других вариантах осуществления компьютерная система запускает веб-приложение автономно. Компонент приложения веб-браузера для веб-приложения отправляет онлайновый запрос ресурсов веб-приложения соответствующему прикладному компоненту веб-сервера для веб-приложения по сети. Компьютерная система обнаруживает, что запрос не исполнен. Компьютерная система определяет, что веб-приложению разрешено автономное выполнение. Компьютерная система конфигурирует веб-браузер, чтобы выполнять приложение веб-браузера автономно, в то время как другие приложения веб-браузера остаются сконфигурированными так, чтобы выполняться в режиме онлайн. Компьютерная система использует запрошенные ресурсы веб-приложения из локального хранилища в компьютерной системе без перевода веб-браузера в автономный режим.
Варианты осуществления настоящего изобретения могут содержать компьютер общего или специального назначения, включающий в себя различные аппаратные средства компьютера, которые обсуждаются более подробно ниже. Варианты осуществления в области применения настоящего изобретения также включают в себя компьютерно-читаемые носители для передачи или сохранения на них компьютерно-исполняемых инструкций или структур данных. Этими компьютерно-читаемыми носителями могут быть любые доступные носители, к которым можно осуществлять доступ посредством компьютера общего назначения или специального назначения. В качестве примера, а не ограничения, компьютерно-читаемые носители могут содержать физические (или записываемого типа) компьютерно-читаемые носители хранения, такие как RAM, ROM, EEPROM, CD-ROM или другое хранилище на оптических дисках, хранилище на магнитных дисках или другие магнитные устройства хранения, либо любой другой носитель, который может быть использован для того, чтобы хранить требуемое средство программного кода в форме компьютерно-исполняемых инструкций или структур данных, к которым можно осуществлять доступ посредством компьютера общего назначения или специального назначения.
В этом описании и в последующей формуле изобретения "сеть" определена как одна или более линий передачи данных, которые разрешают передачу электронных данных между компьютерными системами и/или модулями. Когда информация переносится или предоставляется по сети или другому подключению связи (проводному, беспроводному или комбинации проводного и беспроводного) в компьютер, компьютер надлежащим образом рассматривает соединение как компьютерно-читаемый носитель. Таким образом, в качестве примера, а не ограничения, компьютерно-читаемые носители также могут содержать сеть или линии передачи данных, которые могут использоваться, чтобы переносить или хранить средство программного кода в форме компьютерно-исполняемых инструкций или структур данных, и к которым может быть осуществлен доступ посредством компьютера общего или специального назначения.
Компьютерно-читаемые инструкции содержат, например, инструкции и данные, которые инструктируют компьютеру общего назначения, компьютеру специального назначения или устройству обработки специального назначения выполнять определенную функцию или группу функций. Компьютерно-исполняемые инструкции могут быть, например, двоичным кодом, инструкциями промежуточного формата, например, на языке ассемблера, или даже исходным кодом. Хотя предмет изобретения описан на языке, характерном для структурных признаков и/или методологических действий, следует понимать, что предмет изобретения, заданный в прилагаемой формуле изобретения, не обязательно ограничен характерными признаками или действиями, описанными выше. Наоборот, описанные в данном документе характерные признаки и действия раскрываются как примерные формы реализации формулы изобретения.
Специалисты в данной области техники примут во внимание, что изобретение может быть применено на практике в сетевых вычислительных окружениях со многими типами конфигураций компьютерной системы, включающих в себя персональные компьютеры, настольные компьютеры, портативные компьютеры, процессоры для обработки сообщений, "карманные" устройства, многопроцессорные системы, микропроцессорную или программируемую бытовую электронную аппаратуру, сетевые ПК, миникомпьютеры, мейнфреймы, мобильные телефоны, PDA, пейджеры и т.п. Изобретение также может быть применено на практике в распределенных системных окружениях, где локальная и удаленная компьютерные системы, которые связаны (либо проводными линиями передачи данных, беспроводными линиями передачи данных, либо комбинацией проводных и беспроводных линий передачи данных) через сеть, обе выполняют задачи. В распределенном системном окружении программные модули могут размещаться и на локальных, и на удаленных устройствах хранения данных.
Фиг.1A иллюстрирует пример компьютерной архитектуры 100, которая облегчает конфигурирование локального содержимого для автономного использования прикладным компонентом веб-браузера веб-приложения. Компьютерная архитектура 100 включает в себя компьютерную систему 101, сеть 131 и домен 172. В компьютерной архитектуре 100 изображены различные компоненты, включающие в себя приложение 191C, веб-браузер 104, приложение 191S и веб-сервер 173. Каждый из различных компонентов может быть соединен с сетью 131, такой как, например, локальная вычислительная сеть ("LAN"), глобальная вычислительная сеть ("WAN") или даже Интернет. Таким образом, различные компоненты могут принимать данные от и отправлять данные к другим компонентам, соединенным с сетью. Соответственно, компоненты могут создавать связанные с сообщениями данные и обмениваться связанными с сообщениями данными (например, дейтаграммы протокола Интернета ("IP") и другие протоколы более высокого уровня, которые используют IP-дейтаграммы, такие как протокол управления передачей ("TCP"), протокол передачи гипертекста ("HTTP"), простой протокол пересылки почты ("SMTP") и т.д.) по сети. Например, компоненты могут обмениваться конвертами простого протокола доступа к объектам ("SOAP"), содержащими связанные с веб-службой данные. В некоторых вариантах осуществления приложение 191C и приложение 191S являются разными частями распределенного приложения, такого как, например, приложение веб-служб.
Веб-браузер 104 может быть сконфигурирован так, чтобы запрашивать веб-содержимое из доменов, таких как, например, домен 171, доступный через сеть 131. Веб-содержимое может включать в себя текстовые данные, данные изображений, аудио/видеоданные и т.д. Одно или более веб-приложений, таких как, например, приложение 191C, могут быть сконфигурированы, чтобы работать в веб-браузере 104. Веб-приложение может быть скриптом и/или другими компьютерно-исполняемыми инструкциями. Веб-приложения могут запрашивать другие типы данных, такие как, например, данные базы данных, из доменов, доступных через сеть 131.
Домен 171 может быть идентифицирован доменным именем 172, таким как, например, именем службы доменных имен ("DNS"), которое является разрешимым в IP-адрес. Доменное имя 172 может быть введено в веб-браузер (потенциально вместе с другой идентифицирующей информацией для указанного приложения в домене 171), чтобы указать браузеру запросить содержимое из веб-сервера 173. Доменное имя вместе с другой идентифицирующей информацией может быть включено в унифицированный указатель ресурса ("URL"), введенный в веб-браузер. В зависимости от типа запроса и/или принятого URL веб-сервер 173 может получить доступ к содержимому из содержимого 175 и/или инициировать веб-приложение, такое как, например, приложение 191S. Приложение 191S может запросить данные из других местоположений в домене 171, таких как, например, из базы 174 данных (например, SQL или другой реляционной базы данных). Веб-сервер 173 может включить содержимое из содержимого 175 и/или данные из базы 174 данных в ответ на запрос веб-браузера.
Кэш 106 браузера сконфигурирован так, чтобы кэшировать компоненты, включенные в веб-содержимое, принятое от доменов, включающих в себя домен 171. Кэшированные компоненты могут впоследствии быть сделаны доступными, чтобы удовлетворять веб-запросам, отправленным из веб-браузера 104. Например, кэшированные компоненты могут быть частями содержимого 155, доступного непосредственно из кэша 106 браузера (без необходимости передачи кэшированных компонентов через сеть 131), и могут быть воспроизведены в веб-браузере 104.
Когда веб-браузер пытается обработать запрос от веб-приложения в веб-браузере 104, веб-браузер может обращаться к кэшу 106 браузера, чтобы искать локально кэшированные компоненты. Когда кэшированные компоненты идентифицированы, веб-браузер может обратиться к компонентам и включить компоненты в ответ, который должен быть воспроизведен в рамках веб-приложения в веб-браузере 104.
Модуль 107 доступа к локальному хранилищу управляет доступом к локальному хранилищу 108. Локальное хранилище 108 сконфигурировано, чтобы хранить данные базы данных, принятые в ответ на веб-запросы. Данные базы данных, сохраненные в локальном хранилище 108, могут быть доступны посредством веб-браузера 104 (без необходимости передачи данных базы данных через сеть 131) и воспроизведены в веб-приложении в рамках веб-браузера 104. Данные базы данных могут быть сохранены в локальном хранилище 108 вместе с указанием домена, который отправил данные базы данных веб-браузеру 104.
Модуль 107 доступа к локальному хранилищу может фильтровать запросы от модулей кодов сценариев из веб-серверов, запрашивающих доступ к данным базы данных, сохраненным в локальном хранилище 108, так, что один домен не может осуществить доступ к данным базы данных других доменов (т.е. данные базы данных могут быть изолированы доменом). Таким образом, хотя данные базы данных сохранены в локальном хранилище 108, данные базы данных, как правило, недоступны, чтобы удовлетворить запросы любого домена.
Менеджер 122 автономного режима сконфигурирован так, чтобы управлять автономным состоянием приложений. Когда менеджер 122 автономного режима принимает указание о том, что приложению разрешено автономное выполнение, менеджер 122 автономного режима может попытаться заполнить кэш 106 браузера и/или локальное хранилище компонентами и/или данными для автономной работы приложения. То есть менеджер 122 автономного режима может инициировать связь с веб-сервером, который находится в режиме онлайн, чтобы загрузить компоненты и/или данные, потенциально необходимые для автономного выполнения приложения в случае, когда связь с веб-сервером впоследствии теряется.
Менеджер 122 автономного режима может продлить срок действия компонентов, которые должны использоваться для автономного выполнения, чтобы обойти политики очистки кэша веб-браузера 104 по умолчанию. Например, менеджер 122 автономного режима может установить срок действия компонентов, которые должны использоваться для автономного выполнения, в 30 дней. Продление срока действия компонентов, которые должны использоваться для автономного выполнения, может не допустить удаление компонентов в браузере, когда веб-браузер 104 направляется на другие веб-сайты.
Конфигурационный интерфейс 102 упрощает пользовательскую конфигурацию разрешенных для выполнения в автономном режиме приложений и квот хранения для доменов. Например, пользователь может выбрать приложение 191C в качестве приложения, которому разрешено автономное выполнение, таким образом включая приложение 191C в приложения 121, которым разрешено автономное выполнение (например, список приложений, которые пользователь компьютерной системы 101 идентифицировал как разрешенные для автономного выполнения). Пользователь также может изначально установить, равно как и изменить, значение квоты хранения для домена. Например, пользователь может установить значение квоты 112 для домена 171 (представленного доменным именем 172) в пределах данных квот. Как правило, квота является размером пространства хранения, выделенным домену для хранения элементов локально в компьютерной системе 101 (например, в кэше 106 браузера и/или локальном хранилище 108). Конфигурационный интерфейс 102 может представлять элементы управления пользовательского интерфейса для приема и осуществления пользовательских настроек для разрешенных для автономного выполнения приложений и квот доменов. Хотя изображены отдельно, менеджер 122 автономного режима и модуль 107 доступа к локальному хранилищу могут совместно взаимодействовать, так что суммарное пространство хранения, потребляемое в кэше 106 браузера и в локальном хранилище 108 для указанного домена, не превышает квоту для указанного домена.
Детектор 123 автономного режима сконфигурирован так, чтобы обнаруживать, когда веб-браузер 104 или веб-приложение не может связаться с веб-сервером. Связь с веб-сервером может быть недоступна по ряду причин, таких как, например, неисправность линии связи с Интернетом или по Интернету, аварийный отказ веб-браузера и т.д. В некоторых вариантах осуществления детектор 123 автономного режима пытается связаться с веб-браузером время от времени или в определенном интервале, чтобы определить, доступна ли связь с веб-сервером.
Детектор 123 автономного режима может уведомить менеджер 122 автономного режима и/или модуль 107 доступа к локальному хранилищу, когда состояние связи с веб-сервером изменяется. Например, детектор 123 автономного режима может отправить уведомление, когда доступный веб-сервер становится недоступным (например, сбой связи, аварийный отказ веб-сервера и т.д.) и когда недоступный веб-сервер становится доступным (например, связь восстановлена, веб-сервер начинает работать после перезагрузки и т.д.). Детектор 123 автономного режима может также отправлять уведомления пользовательского интерфейса (например, через конфигурационный интерфейс 102), предупреждающие пользователя о переходе в режим доступности веб-сервера.
Фиг.2 иллюстрирует блок-схему примерного способа 200 конфигурирования локального содержимого для автономного использования прикладным компонентом веб-браузера веб-приложения. Способ 200 будет описан относительно компонентов и данных компьютерной архитектуры 100 на фиг.1A.
Способ 200 включает в себя этап определения того, что веб-приложению разрешено автономное выполнение (этап 201). Например, менеджер 122 автономного режима может обратиться к приложениям 121, которым разрешен автономный режим, чтобы определить, что приложению 191C разрешено автономное выполнение. Способ 200 включает в себя этап обнаружения того, что серверный веб-компонент для веб-приложения доступен через сеть связи (этап 202). Например, детектор 123 автономного режима может обнаружить, что веб-сервер 173, приложение 191S и другие компоненты в домене 172 доступны для обмена данными по сети 131.
В ответ на обнаружение доступной связи веб-браузер 104 может отправить запрос ресурсов, чтобы упростить автономное выполнение приложения 191C. Например, веб-браузер 104 может отправить запрос 199 веб-серверу 173. Запрос 199 может включать в себя запрос разнообразных различных ресурсов, включающих в себя, но не только, содержимое из содержимого 175, данные базы данных из базы 174 данных и части исполняемых инструкций (например, сценарии), соответствующие приложению 191S.
Веб-сервер 173 может принять запрос 199. В ответ на принятый запрос 199 веб-сервер 173 может собрать совокупность ресурсов (например, ресурсы 193B), чтобы упростить автономное выполнение приложения 191C. То есть веб-сервер 173 может "отрывать" (например, делать функциональную копию) часть веб-сайта в домене 172 для передачи компьютерной системе 101. Веб-сервер 173 может отправить совокупность ресурсов компьютерной системе 101. Например, в ответ на запрос 199 веб-сервер 173 может отправить ресурсы 193B (совокупность ресурсов для упрощения автономного выполнения приложения 191C) компьютерной системе 101. Ресурсы 193B могут включать в себя ресурсы 194B (код приложения 191S, содержимое из содержимого 175 и т.д.) и базу 174 данных (или ее часть).
В некоторых вариантах осуществления домен также может отправлять манифест ресурсов перед отправкой совокупности ресурсов. Манифест ресурсов может идентифицировать ресурсы, которые должны быть включены в совокупность ресурсов, и может указать требования к хранилищу для хранения совокупности ресурсов. Манифест ресурсов может также указать модуль, который должен выполняться локально, чтобы упростить автономное выполнение приложения, когда принят URL (который иначе вызовет удаленное выполнение в веб-сервере или серверном компоненте распределенного приложения), соответствующий приложению. Манифест ресурсов может также указывать модуль, который должен выполняться, чтобы синхронизировать ресурсы для упрощения автономного выполнения приложения. Ресурсы могут быть синхронизированы, когда ранее недоступный веб-сервер и/или приложение становится доступным, периодически с доступным веб-сервером и/или приложением или в ответ на пользовательский запрос на синхронизацию с доступным веб-сервером и/или приложением. Модули для инициирования автономного выполнения и модули для синхронизации ресурсов могут сами быть ресурсами, которые включены в совокупность ресурсов для упрощения автономного выполнения приложения.
Как изображено в компьютерной архитектуре 100, например, веб-сервер 173 может отправить манифест 192 компьютерной системе 101. Манифест 192 может идентифицировать ресурсы в ресурсах 193B, указать требования хранения для ресурсов 193B, указать модуль, который должен выполняться для автономного выполнения приложения 191C, когда URL, соответствующий веб-серверу 173 и/или приложению 191S, принят в веб-браузере 104, и указать модуль, который должен выполняться, чтобы синхронизировать ресурсы 193B. Ниже приведен пример XML-манифеста ресурсов (номера строк включены с целью ссылок):
1. <?xml version="1.0" encoding="utf-8" ?>
2. <resources name="Expense Report">
3. <resource src="default.css"/>
4.
5. <resource src="images/reconcile.jpg"/>
6. <resource src="images/personal.jpg"/>
7. <resource src="images/dispute.jpg"/>
8. <resource src="images/hold.jpg"/>
9.
10. <resource src="ExpenseReportService.asmx/js"/>
11. <resource src="ExpenseReportLineItemService.asmx/js"/>
12.
13. <resource src="DefaultSync.aspx"/>
14.
15. <resource src="ExpenseReports.aspx"/>
16. <resource src="ExpenseReport.aspx"/>
17.
18. <runOfflineUrl src="ExpenseReports.aspx"/>
19. <takeOnlineOrSyncUrl src="DefaultSync.aspx"/>
20. <database spaceNeeded="60"/>
21. </resources>
В примере манифеста строки 3-16 идентифицируют ресурсы для упрощения автономного выполнения приложения "Expense Report" ("Отчет о расходах") (идентифицированного в строке 2). Строка 20 указывает требования хранения, равные "60", для хранения ресурсов, идентифицированных в манифесте (например, в мегабайтах). Строка 18 указывает, что модуль "ExpenseReports.aspx" (например, сценарий) должен выполняться локально (например, в компьютерной системе 101), чтобы инициировать автономное выполнение приложения "Expense Report". ExpenseReports.aspx идентифицирован в качестве ресурса в строке 15. Строка 19 указывает, что модуль "DefaultSync.aspx" (например, сценарий) должен выполняться локально, чтобы синхронизировать ресурсы, идентифицированные в примерном манифесте. "DefaultSync.aspx" идентифицирован в качестве ресурса в строке 13.
Способ 200 включает в себя этап приема ресурсов для веб-приложения от серверного веб-компонента через сеть связи (этап 203). Например, веб-браузер 104 может принять ресурсы 193B из домена 171.
В некоторых вариантах осуществления перед приемом ресурсов 193B менеджер 122 автономного режима и/или модуль 107 доступа к локальному хранилищу определяют, что хранение ресурсов 193B является соответствующим, на основе квоты 112. То есть, менеджер 122 автономного режима и/или модуль 107 доступа к локальному хранилищу проверяют, что выделенного пространства хранения для домена 171 достаточно, чтобы хранить ресурсы 194B и базу 174 данных. Если выделенного пространства хранения достаточно, веб-браузер 104 может принять ресурсы 193B.
Если выделенного пространства хранения недостаточно на основе квоты 112, ресурсы 193B (или их часть) могут быть отброшены. Альтернативно, конфигурационный интерфейс 102 может уведомить пользователя компьютерной системы 101 о том, что выделенного пространства хранения для домена 172 недостаточно, чтобы хранить ресурсы 193B. Соответственно, пользователь может затем увеличить квоту 112 через конфигурационный интерфейс 102 до величины, достаточной для хранения ресурсов 193B. Если пользователь выбирает не увеличивать квоту 112 до величины, достаточной для хранения ресурсов 193B, ресурсы 193B (или их часть) могут быть отброшены.
Способ 200 включает в себя этап локального сохранения принятых ресурсов в компьютерной системе, локально сохраненная копия ресурсов доступна клиентскому компоненту веб-браузера, локально сохраненные ресурсы доступны клиентскому веб-компоненту без необходимости наличия сети связи, так что к локально сохраненным ресурсам может быть осуществлен доступ в ответ на запрос от клиентского веб-компонента, когда обнаружено, что серверный веб-компонент недоступен через сеть связи (этап 204). Например, веб-браузер 104 может хранить ресурсы 194B в кэше 106 браузера и может хранить базу 174 данных (вместе с доменным именем 172) в локальном хранилище 108. Таким образом, ресурсы 194B и база 174 данных доступны веб-браузеру 104 и приложению 191C без передачи ресурсов 194B и базы 174 данных по сети 131. Соответственно, ресурсы 194B и база 174 данных могут использоваться, чтобы упростить автономное выполнение приложения 191C. Например, когда домен 171 недоступен, запрос от приложения 191C (в приложение 191S) ресурса в ресурсах 194C может быть удовлетворен посредством доступа к ресурсу из кэша 106 браузера. Модуль, сконфигурированный так, чтобы принимать запросы (например, соответствующий URL для приложения 191S) во время автономного выполнения, может упростить доступ к ресурсу в кэше 106 браузера.
Способ 200 включает в себя этап конфигурирования локально сохраненных ресурсов, чтобы они оставались локально сохраненными в компьютерной системе в течение указанного периода времени, таким образом, отменяя настройки очистки кэша веб-браузера по умолчанию (этап 205). Например, менеджер 122 автономного режима может продлить время, когда у ресурсов 194B должен закончиться срок действия. Продление срока, когда у ресурсов должен закончиться срок действия, может включать в себя пометку ресурса битом закрепления, имеющим довольно продолжительный срок окончания (например, 30 дней). Использование бита закрепления может отменить настройки очистки кэша веб-браузера по умолчанию. Например, пометка ресурсов в ресурсах 194B с помощью бита закрепления может отменить политики очистки кэша, ассоциативно связанные с кэшем 106 браузера.
В некоторых вариантах осуществления ресурсы для автономного выполнения приложения предварительно кэшируются. Ресурсы могут быть предварительно кэшированы до обнаружения того, что серверные веб-компоненты недоступны. Например, при первоначальном указании того, что веб-приложению разрешено автономное выполнение (например, когда пользователь первоначально включает приложение в разрешенные для автономного выполнения приложения 121), менеджер 122 автономного режима может запросить ресурсы, чтобы упростить автономное выполнение веб-приложения. Соответственно, веб-приложение более эффективно переходит в автономное выполнение, когда происходит последующее нарушение связи.
В других вариантах осуществления локально сохраненные ресурсы синхронизируются с соответствующими ресурсами, доступными серверному веб-компоненту. Например, может быть, что ресурсы 194A были предварительно сохранены в кэше 106 браузера для автономного выполнения приложения 191C. Однако в некоторый момент времени после сохранения ресурсов 194A части содержимого 175 были обновлены. Соответственно, ресурсы 194В принимаются, чтобы синхронизировать локально сохраненные ресурсы с ресурсами, доступными веб-серверу 173 и/или приложению 191S. Синхронизация может вызвать перезапись предыдущих версий локально сохраненных ресурсов. Например, прием ресурсов 194B может вызвать перезапись ресурсов 194A. Биты закрепления могут быть сброшены после синхронизации.
Фиг.1B иллюстрирует пример компьютерной архитектуры 100, которая облегчает автономную работу веб-приложения. Компьютерная архитектура 100, изображенная на фиг.1B, показывает более подробный вид ресурсов 194B. Ресурсы 194B включают в себя модуль 195, другие модули 196 и содержимое 197. Модуль 195 (например, скрипт) является модулем, который должен выполняться, чтобы упростить автономное выполнение приложения 191C. Модуль 195 может быть выполнен, когда принимается URL для приложения 191S, когда домен 171 недоступен. Модуль 195 может быть ранее идентифицирован в манифесте 192. Другие модули 196 представляют другие модули (например, другие скрипты), которые могут быть вызваны во время выполнения модуля 195, чтобы упростить автономное выполнение приложения 191C. Содержимое 197 представляет содержимое для упрощения автономного выполнения приложения 191C.
Фиг.3 иллюстрирует блок-схему примерного способа 300 автономной работы веб-приложения. Способ 300 будет описан относительно компонентов и данных компьютерной архитектуры 100 на фиг.1B.
Способ 300 включает в себя этап отправки прикладным компонентом веб-браузера для веб-приложения запроса ресурсов веб-приложения соответствующему прикладному компоненту веб-сервера для веб-приложения (этап 301). Например, приложение 191C может представить запрос 141 веб-браузеру 104. Запрос 141 может включать в себя URL в домене 171, указывающий запрос ресурсов из приложения 191S.
Способ 300 включает в себя этап обнаружения того, что связь с соответствующим прикладным компонентом веб-браузера недоступна по сети (этап 302). Например, детектор 123 автономного режима может обнаружить, что домен 171 недоступен. Детектор 123 автономного режима может обнаружить недоступность домена 171, когда не принят ответ на запрос 141. Детектор автономного режима может попытаться дополнительно связаться с доменом 172 перед определением того, что домен 171 недоступен. Альтернативно, детектор 123 автономного режима может обнаружить, что домен 171 был недоступен перед возникновением запроса 141.
Способ 300 включает в себя этап определения того, что веб-приложению разрешено автономное выполнение (этап 303). Например, в ответ на то, что домен 171 обнаружен недоступным, менеджер 122 автономного режима может обратиться к разрешенным для автономного выполнения приложениям 121, чтобы определить, что приложению 191C разрешено автономное выполнение.
Способ 300 включает в себя этап конфигурирования веб-браузера, чтобы выполнять приложение веб-браузера автономно, в то время как другие приложения веб-браузера остаются сконфигурированными так, чтобы выполняться в режиме онлайн (этап 304). Например, менеджер 122 автономного режима может выполнить модуль 195 и сконфигурировать браузер 104 так, что запросы от приложения 191C направляются модулю 195, а ответы от модуля 195 направляются приложению 191C. Однако запросы от и ответы для других приложений не перенаправляются. То есть веб-браузер 104 может продолжать осуществлять связь через сеть 131 с другими доменами. Соответственно, веб-браузер 104 может отправлять веб-запросы другим доменам и принимать веб-ответы из других доменов по сети 131 во время передачи данных приложения 191C в и из модуля 195.
Способ 300 включает в себя этап использования запрошенных ресурсов веб-приложения из локального запоминающего устройства в компьютерной системе без перевода веб-браузера в автономный режим (этап 305). Например, модуль 195 может формулировать ответ 142 на запрос 141 с помощью других модулей 196, содержимого 197 и базы 174 данных. Модуль 195 может отправить ответ 142 (потенциально через веб-браузер 104) приложению 191C.
Веб-браузер 104 может продолжить отправлять веб-запросы другим доменам и принимать веб-ответы из других доменов по сети 131 во время доступа к ресурсам из локального хранилища для ответа на запрос 141. Таким образом, в то время как осуществляется доступ к другим модулям 196, содержимому 197 и базе 174 данных для формулирования ответа на запрос 141, запросы и ответы, отправленные через сеть 131, также могут находить и сохранять другие данные в кэше 106 браузера и локальном хранилище 108.
Варианты осуществления настоящего изобретения облегчают локальное хранение веб-исполняемых инструкций и данных в компьютерной системе. Веб-исполняемые инструкции и данные могут использоваться, чтобы локально удовлетворять запросы (отправленные домену, который отправил исполняемые инструкции и данные) от модулей, ассоциативно связанных с веб-браузером в компьютерной системе. Соответственно, локально сохраненные веб-исполняемые инструкции и данные могут использоваться в компьютерной системе, чтобы имитировать связь с веб-сайтом, когда веб-сайт иным образом недоступен.
Варианты осуществления настоящего изобретения могут упростить прозрачное расширение энергонезависимого хранения в компьютерной системе в соответствии с правилами пользователя и конфигурирования компьютерной системы. Сохранение множества точных копий файлов обеспечивает избыточность, имеющую в результате более эффективное восстановление, если том повреждается. Кроме того, файловые операции могут быть распространены между точными копиями в фоновом режиме в моменты времени, когда системные ресурсы иным образом не находятся в интенсивном использовании.
Настоящее изобретение может быть осуществлено в других характерных формах без отступления от своего духа или неотъемлемых характеристик. Описанные варианты осуществления должны рассматриваться во всех отношениях только как иллюстративные, а не ограничивающие. Рамки изобретения, следовательно, указаны скорее приложенной формулой изобретения, чем предшествующим описанием. Все изменения, которые появляются внутри смысла и рамок равнозначности формулы изобретения, должны быть охвачены ее рамками.

Claims (14)

1. Способ конфигурирования локального содержимого для автономного использования прикладным компонентом Web-браузера, исполняемый в компьютерной системе, соединенной с сетью, причем компьютерная система включает в себя Web-браузер и множество прикладных компонентов Web-браузера для соответствующих Web-приложений, причем Web-браузер сконфигурирован для исполнения прикладных компонентов Web-браузера для доступа к ресурсам из прикладных компонентов Web-сервера соответствующих Web-приложений соответственно, причем способ содержит:
этап, на котором определяют, что Web-приложение приспособлено для автономного исполнения;
этап, на котором обнаруживают, что компонент Web-сервера для Web-приложения доступен посредством сетевой связи на Web-сайте в заданном домене;
этап, на котором посылают на компонент Web-сервера запрос ресурсов для обеспечения автономного исполнения Web-приложения в качестве реакции на обнаружение того, что компонент Web-сервера для Web-приложения доступен посредством сетевой связи, причем данный запрос включает в себя: запрос содержимого, соответствующего Web-приложению, запрос исполняемого прикладного кода для Web-приложения и запрос данных базы данных из базы данных, соответствующей Web-приложению;
перед приемом ресурсов от компонента Web-сервера этап, на котором принимают манифест, который определяет совокупность ресурсов, которую компонент Web-сервера должен послать в компьютерную систему для локального сохранения, и который определяет требования по хранению для сохранения этой совокупности ресурсов, при этом манифест также определяет: модуль исполняемого кода, который должен исполняться локально в компьютерной системе, когда Web-сервер недоступен, и модуль синхронизации, который должен исполняться локально в компьютерной системе, когда имеется сетевая связь с компонентом Web-сервера, для синхронизации локально сохраненной совокупности ресурсов с Web-приложением на Web-сервере;
этап, на котором определяют, превышают ли требования по хранению, определенные в манифесте, квоту, и при определении того, что требования по хранению превышают квоту, предлагают пользователю санкционировать увеличение квоты на величину, достаточную для сохранения совокупности ресурсов;
этап, на котором принимают совокупность ресурсов для Web-приложения от компонента Web-сервера посредством сетевой связи, вслед за отправкой упомянутого запроса, причем совокупность ресурсов в целом представляет локально исполняемую копию, по меньшей мере, части Web-сайта, которая вычленена из упомянутого заданного домена для автономного исполнения в компьютерной системе, при этом совокупность ресурсов включает в себя:
содержимое, соответствующее Web-приложению,
исполняемый код для Web-приложения, включающий в себя модуль исполняемого кода, который должен исполняться локально в компьютерной системе, когда Web-сервер недоступен, причем данный модуль исполняемого кода предназначен для приема запросов от Web-браузера и генерирования соответствующих ответов, и
по меньшей мере, часть данных базы данных из базы данных, соответствующей Web-приложению;
этап, на котором локально сохраняют принятую совокупность ресурсов в компьютерной системе, причем локально сохраняемые содержимое и исполняемый код для Web-приложения сохраняются в кэше Web-браузера, а локально сохраняемые данные базы данных сохраняются в отдельном локальном хранилище, которое отделено от кэша Web-браузера, при этом упомянутые содержимое и данные базы данных доступны упомянутому модулю исполняемого кода без требования наличия сетевой связи с компонентом Web-сервера, так что упомянутые содержимое, модуль исполняемого кода и данные базы данных могут быть использованы для генерирования ответа на последующий запрос от Web-браузера на доступ к упомянутой вычлененной части Web-сайта, когда обнаружено, что компонент Web-сервера недоступен через сетевую связь;
этап, на котором принимают от Web-браузера запрос на доступ к части Web-сайта в упомянутом заданном домене;
по определению того, что связь с упомянутым заданным доменом недоступна, этап, на котором посредством Web-браузера локально загружают упомянутый модуль исполняемого кода из кэша Web-браузера, чтобы удовлетворить данному запросу, тогда как одно или более других приложений Web-браузера продолжают исполняться посредством сетевой связи; и
этап, на котором переопределяют настройки очистки кэша Web-браузера по умолчанию для увеличения периода времени, по истечении которого упомянутые содержимое и исполняемый код для Web-приложения будут удалены из кэша Web-браузера.
2. Способ по п.1, в котором этап, на котором обнаруживают, что компонент Web-сервера для Web-приложения доступен через сетевую связь, содержит этап, на котором повторно устанавливают связь с Web-сервером после того, как Web-сервер был недоступен в течение некоторого периода времени.
3. Способ по п.1, в котором этап, на котором локально сохраняют принятые ресурсы в компьютерной системе, содержит этап, на котором предварительно кэшируют принятые ресурсы перед обнаружением того, что компонент Web-сервера впоследствии недоступен.
4. Способ по п.1, в котором доступ к локальному хранилищу является фильтруемым со стороны исходного домена, так что, по меньшей мере, часть базы данных не является общедоступной для выполнения запросов для любого домена.
5. Способ по п.1, в котором этап, на котором переопределяют настройки очистки кэша Web-браузера по умолчанию, содержит этап, на котором помечают содержимое и исполняемый код для Web-приложения битом закрепления для увеличения периода времени, по истечении которого содержимое и исполняемый код для Web-приложения будут удалены из кэша Web-браузера.
6. Способ автономной работы Web-приложения, выполняемый в компьютерной системе, соединенной с сетью, причем компьютерная система включает в себя Web-браузер и множество прикладных компонентов Web-браузера для соответствующих Web-приложений, причем Web-браузер сконфигурирован исполнять прикладные компоненты Web-браузера для доступа к ресурсам из прикладных компонентов Web-сервера соответствующих Web-приложений соответственно, причем способ содержит:
этап, на котором принимают от Web-браузера запрос на доступ к части Web-сайта в заданном домене, причем данный запрос исходит из прикладного компонента Web-браузера для Web-приложения, пытающегося связаться с соответствующим прикладным компонентом Web-сервера для этого Web-приложения, причем этот прикладной компонент Web-сервера доступен в упомянутой части Web-сайта в упомянутом заданном домене;
этап, на котором обнаруживают, что связь с этим заданным доменом недоступна через сеть, вслед за приемом упомянутого запроса;
этап, на котором определяют, что Web-приложение приспособлено для автономного исполнения;
этап, на котором осуществляют доступ к локально сохраненному манифесту, который определяет совокупность ресурсов и требования по хранению для сохранения этой совокупности ресурсов, при этом совокупность ресурсов содержит локально исполняемую копию Web-приложения, причем совокупность ресурсов включает в себя:
содержимое, соответствующее Web-приложению,
исполняемый код для Web-приложения и,
по меньшей мере, часть данных базы данных из базы данных, соответствующей Web-приложению,
при этом манифест также определяет: модуль исполняемого кода, который включен в совокупность ресурсов и должен исполняться локально в компьютерной системе, когда Web-сервер недоступен, для приема запросов от Web-браузера и генерирования соответствующих ответов и модуль синхронизации, который должен исполняться локально в компьютерной системе, когда имеется сетевая связь с компонентом Web-сервера, для синхронизации локально сохраненной совокупности ресурсов с Web-приложением на Web-сервере;
этап, на котором определяют, превышают ли требования по хранению, определенные в манифесте, квоту, и при определении того, что требования по хранению превышают квоту, предлагают пользователю санкционировать увеличения квоты на величину, достаточную для сохранения совокупности ресурсов;
этап, на котором осуществляют локальный доступ к локально исполняемой копии упомянутой части Web-сайта в компьютерной системе посредством исполнения модуля исполняемого кода, определенного в манифесте, в качестве реакции на определение того, что Web-приложение приспособлено для автономного исполнения;
этап, на котором посредством Web-браузера взаимодействуют с локально исполняемой копией упомянутой части Web-сайта, чтобы идентифицировать один или более ресурсов среди совокупности ресурсов в ответ на упомянутый запрос, тогда как одно или более других приложений Web-браузера продолжают исполняться посредством сетевой связи, при этом при взаимодействии Web-браузера с локально исполняемой копией упомянутой части Web-сайта локально загружают модуль исполняемого кода из кэша Web-браузера;
этап, на котором посредством модуля исполняемого кода обслуживают упомянутые один или более ресурсов из кэша Web-браузера и отдельного локального хранилища для прикладного компонента Web-браузера в ответ на упомянутый запрос без перевода Web-браузера в автономный режим, при этом модуль исполняемого кода осуществляет доступ к упомянутым содержимому и исполняемому коду для Web-приложения из кэша Web-браузера и упомянутым данным базы данных из отдельного локального хранилища, которое отделено от кэша Web-браузера, так что запрошенные Web-приложением ресурсы обслуживаются для прикладного компонента Web-браузера без осуществления какой-либо сетевой связи после приема данного запроса; и
этап, на котором переопределяют настройки очистки кэша Web-браузера по умолчанию для увеличения периода времени, по истечении которого упомянутые содержимое и исполняемый код для Web-приложения будут удалены из кэша Web-браузера.
7. Способ по п.6, в котором этап, на котором принимают запрос, содержит этап, на котором принимают URL для прикладного компонента Web-сервера.
8. Способ по п.6, в котором этап, на котором определяют, что Web-приложение приспособлено для автономного исполнения, содержит этап, на котором обращаются к списку приложений, которые приспособлены для автономного исполнения.
9. Способ по п.6, в котором этап, на котором посредством модуля исполняемого кода обслуживают упомянутые один или более ресурсов из кэша Web-браузера и отдельного локального хранилища для прикладного компонента Web-браузера, дополнительно содержит:
этап, на котором направляют упомянутый запрос в упомянутый загруженный модуль;
этап, на котором данный загруженный модуль формулирует полный ответ на запрос, используя только упомянутые один или более ресурсов, к которым осуществлен доступ в кэше Web-браузера и отдельном локальном хранилище; и
этап, на котором передают этот полный ответ прикладному компоненту Web-браузера.
10. Компьютерная система, содержащая:
один или более процессоров;
системную память; и
один или более физических машиночитаемых носителей, расположенных локально в компьютерной системе, причем на этих одном или более физических машиночитаемых носителях сохранены машиноисполняемые инструкции, которые при их исполнении процессором предписывают компьютерной системе выполнять способ конфигурирования локального содержимого для автономного использования прикладным компонентом Web-браузера Web-приложения, включающего в себя выполнение этапов, на которых:
определяют, что Web-приложение приспособлено для автономного исполнения;
обнаруживают, что компонент Web-сервера для Web-приложения доступен посредством сетевой связи на Web-сайте в заданном домене;
посылают на компонент Web-сервера запрос ресурсов для обеспечения автономного исполнения Web-приложения в качестве реакции на обнаружение того, что компонент Web-сервера для Web-приложения доступен посредством сетевой связи, причем данный запрос включает в себя: запрос содержимого, соответствующего Web-приложению, запрос исполняемого прикладного кода для Web-приложения и запрос данных базы данных из базы данных, соответствующей Web-приложению;
перед приемом ресурсов от компонента Web-сервера принимают манифест, который определяет совокупность ресурсов, которую компонент Web-сервера должен послать в компьютерную систему для локального сохранения, и который определяет требования по хранению для сохранения этой совокупности ресурсов, при этом манифест также определяет: модуль исполняемого кода, который должен исполняться локально в компьютерной системе, когда Web-сервер недоступен, и модуль синхронизации, который должен исполняться локально в компьютерной системе, когда имеется сетевая связь с компонентом Web-сервера, для синхронизации локально сохраненной совокупности ресурсов с Web-приложением на Web-сервере;
определяют, превышают ли требования по хранению, определенные в манифесте, квоту, и при определении того, что требования по хранению превышают квоту, предлагают пользователю санкционировать увеличение квоты на величину, достаточную для сохранения совокупности ресурсов;
принимают совокупность ресурсов для Web-приложения от компонента Web-сервера посредством сетевой связи, вслед за отправкой упомянутого запроса, причем совокупность ресурсов в целом представляет локально исполняемую копию, по меньшей мере, части Web-сайта, которая вычленена из упомянутого заданного домена для автономного исполнения в компьютерной системе, при этом совокупность ресурсов включает в себя:
содержимое, соответствующее Web-приложению,
исполняемый код для Web-приложения, включающий в себя модуль исполняемого кода, который должен исполняться локально в компьютерной системе, когда Web-сервер недоступен, причем данный модуль исполняемого кода предназначен для приема запросов от Web-браузера и генерирования соответствующих ответов, и
по меньшей мере, часть данных базы данных из базы данных, соответствующей Web-приложению;
локально сохраняют принятую совокупность ресурсов в компьютерной системе, причем локально сохраняемые содержимое и исполняемый код для Web-приложения сохраняются в кэше Web-браузера, а локально сохраняемые данные базы данных сохраняются в отдельном локальном хранилище, которое отделено от кэша Web-браузера, при этом упомянутые содержимое и данные базы данных доступны упомянутому модулю исполняемого кода без требования наличия сетевой связи с компонентом Web-сервера, так что упомянутые содержимое, модуль исполняемого кода и данные базы данных могут быть использованы для удовлетворения последующего запроса от Web-браузера на доступ к упомянутой вычлененной части Web-сайта, когда обнаружено, что компонент Web-сервера недоступен через сетевую связь; и
переопределяют настройки очистки кэша Web-браузера по умолчанию для увеличения периода времени, по истечении которого упомянутые содержимое и исполняемый код для Web-приложения будут удалены из кэша Web-браузера,
при этом на упомянутых одном или более физических машиночитаемых носителях сохранены машиноисполняемые инструкции, которые при их исполнении процессором предписывают компьютерной системе выполнять способ автономной работы Web-приложения, включающий в себя выполнение следующих этапов, на которых:
принимают от Web-браузера запрос на доступ к части Web-сайта в заданном домене, причем данный запрос исходит из прикладного компонента Web-браузера для Web-приложения, пытающегося связаться с соответствующим прикладным компонентом Web-сервера для этого Web-приложения, причем этот прикладной компонент Web-сервера доступен в упомянутой части Web-сайта в упомянутом заданном домене;
обнаруживают, что связь с этим заданным доменом недоступна через сеть, вслед за приемом упомянутого запроса;
определяют, что Web-приложение приспособлено для автономного исполнения;
осуществляют локальный доступ к локально исполняемой копии упомянутой части Web-сайта в компьютерной системе в качестве реакции на определение того, что Web-приложение приспособлено для автономного исполнения, причем эта локально исполняемая копия была ранее вычленена из упомянутого заданного домена для локального исполнения в компьютерной системе, при этом данная локально исполняемая копия упомянутой части Web-сайта включает в себя совокупность ресурсов, локально сохраненных в компьютерной системе, причем данная совокупность ресурсов включает в себя:
содержимое, соответствующее Web-приложению,
исполняемый код для Web-приложения, включающий в себя модуль исполняемого кода, который должен исполняться локально в компьютерной системе, когда Web-сервер недоступен, причем данный модуль исполняемого кода предназначен для приема запросов от Web-браузера и генерирования соответствующих ответов, и
по меньшей мере, часть данных базы данных из базы данных, соответствующей Web-приложению;
посредством Web-браузера взаимодействуют с локально исполняемой копией упомянутой части Web-сайта, чтобы идентифицировать один или более ресурсов среди совокупности ресурсов в ответ на упомянутый запрос, тогда как одно или более других приложений Web-браузера продолжают исполняться посредством сетевой связи, при этом при взаимодействии Web-браузера с локально исполняемой копией упомянутой части Web-сайта локально загружают модуль исполняемого кода из кэша Web-браузера;
посредством модуля исполняемого кода обслуживают упомянутые один или более ресурсов из кэша Web-браузера и отдельного локального хранилища для прикладного компонента Web-браузера в ответ на упомянутый запрос без перевода Web-браузера в автономный режим, при этом модуль исполняемого кода осуществляет доступ к упомянутым содержимому и исполняемому коду для Web-приложения из кэша Web-браузера и упомянутым данным базы данных из отдельного локального хранилища, которое отделено от кэша Web-браузера, так что запрошенные Web-приложением ресурсы обслуживаются для прикладного компонента Web-браузера без осуществления какой-либо сетевой связи после приема данного запроса.
11. Компьютерная система по п.10, в которой локальное сохранение принятой совокупности ресурсов в компьютерной системе содержит этап, на котором предварительно кэшируют принятую совокупность ресурсов перед обнаружением того, что компонент Web-сервера впоследствии недоступен.
12. Компьютерная система по п.10, в которой локальное сохранение совокупности ресурсов в компьютерной системе содержит этап, на котором синхронизируют локально сохраненные ресурсы с ресурсами, доступными компоненту Web-сервера в упомянутом заданном домене.
13. Компьютерная система по п.10, дополнительно содержащая: машиноисполняемые инструкции, которые при их исполнении предписывают компьютерной системе отправлять уведомление пользователю о доступности компонента Web-сервера в качестве реакции на обнаружение того, что компонент Web-сервера для Web-приложения доступен посредством сетевой связи.
14. Компьютерная система по п.10, в которой обслуживание модулем исполняемого кода одного или более ресурсов из кэша Web-браузера и отдельного локального хранилища для прикладного компонента Web-браузера дополнительно содержит этапы, на которых:
направляют упомянутый запрос упомянутому локально загруженному модулю;
посредством локально загруженного модуля формулируют полный ответ на запрос, используя только упомянутые один или более ресурсов, к которым осуществлен доступ из кэша Web-браузера и отдельного локального хранилища; и
передают этот полный ответ прикладному компоненту Web-браузера.
RU2009116454/08A 2006-10-30 2007-10-05 Автономное выполнение веб-приложений RU2453911C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/554,435 US7814234B2 (en) 2006-10-30 2006-10-30 Offline execution of web based applications
US11/554,435 2006-10-30

Publications (2)

Publication Number Publication Date
RU2009116454A RU2009116454A (ru) 2010-11-10
RU2453911C2 true RU2453911C2 (ru) 2012-06-20

Family

ID=39331673

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009116454/08A RU2453911C2 (ru) 2006-10-30 2007-10-05 Автономное выполнение веб-приложений

Country Status (11)

Country Link
US (1) US7814234B2 (ru)
JP (1) JP4698756B2 (ru)
KR (1) KR101433981B1 (ru)
CN (1) CN101529415B (ru)
AU (1) AU2007313956B2 (ru)
BR (1) BRPI0716520A8 (ru)
CA (1) CA2662553C (ru)
MX (1) MX2009003549A (ru)
RU (1) RU2453911C2 (ru)
TW (1) TWI449372B (ru)
WO (1) WO2008054951A1 (ru)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014004461A1 (en) * 2012-06-25 2014-01-03 Liquid Holdings Group, Inc. Electronic financial trading platform with real-time data analysis and reporting
US9710247B2 (en) 2012-06-26 2017-07-18 Microsoft Technology Licensing, Llc Identification of host-compatible downloadable applications
RU2640720C2 (ru) * 2012-08-29 2018-01-11 Хуавей Дивайс (Дунгуань) Ко., Лтд. Способ и устройство управления веб-приложением
US10696964B2 (en) 2013-09-27 2020-06-30 Codexis, Inc. Automated screening of enzyme variants
US11342046B2 (en) 2013-09-27 2022-05-24 Codexis, Inc. Methods and systems for engineering biomolecules

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080014929A1 (en) * 2006-05-05 2008-01-17 Infosys Technologies Ltd. Occasionally connected computing for mobile web services
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US9398067B2 (en) * 2007-02-20 2016-07-19 Avaya Inc. Web-based sharing of documents
US8452853B2 (en) * 2007-03-05 2013-05-28 International Business Machines Corporation Browser with offline web-application architecture
US8255921B2 (en) 2007-05-30 2012-08-28 Google Inc. Method and apparatus that enables a web-based client-server application to be used offline
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US20090259744A1 (en) * 2008-04-14 2009-10-15 Kolke Daniel J System and Method for Running a Web-Based Application while Offline
US20090069049A1 (en) * 2007-09-12 2009-03-12 Devicefidelity, Inc. Interfacing transaction cards with host devices
US20090089377A1 (en) * 2007-09-27 2009-04-02 International Business Machines Corporation System and method for providing dynamic email content
US9621649B2 (en) 2007-09-28 2017-04-11 Xcerion Aktiebolag Network operating system
US20090132556A1 (en) * 2007-11-16 2009-05-21 Nitin Gupta Offline operations for online applications
US8756530B2 (en) * 2008-05-27 2014-06-17 International Business Machines Corporation Generation and synchronization of offline 3D virtual world content
US8572602B1 (en) * 2008-06-05 2013-10-29 Appcelerator, Inc. System and method for synchronization of a web application to a cloud provider
US8572211B2 (en) * 2008-07-09 2013-10-29 Sony Corporation System and method for effectively transmitting content items to electronic devices
US8065617B2 (en) * 2008-08-28 2011-11-22 Microsoft Corporation Discovering alternative user experiences for websites
US8294723B2 (en) * 2008-11-07 2012-10-23 Google Inc. Hardware-accelerated graphics for web applications using native code modules
US8675000B2 (en) * 2008-11-07 2014-03-18 Google, Inc. Command buffers for web-based graphics rendering
US9508108B1 (en) * 2008-11-07 2016-11-29 Google Inc. Hardware-accelerated graphics for user interface elements in web applications
US8626919B1 (en) 2008-11-07 2014-01-07 Google Inc. Installer-free applications using native code modules and persistent local storage
JP2010140347A (ja) * 2008-12-12 2010-06-24 Canon Inc Webサーバ装置、クライアント装置、その制御方法およびプログラム
US20100153521A1 (en) * 2008-12-15 2010-06-17 Kar-Wing Edward Lor Method and Device for Providing Offline Web Services
TWI384378B (zh) * 2008-12-29 2013-02-01 Ind Tech Res Inst 網頁應用程式執行方法
US8812451B2 (en) * 2009-03-11 2014-08-19 Microsoft Corporation Programming model for synchronizing browser caches across devices and web services
US9680964B2 (en) * 2009-03-11 2017-06-13 Microsoft Technology Licensing, Llc Programming model for installing and distributing occasionally connected applications
US8413139B2 (en) * 2009-03-11 2013-04-02 Microsoft Corporation Programming model for application and data access and synchronization within virtual environments
US8725793B2 (en) * 2009-04-03 2014-05-13 Google Inc. Architectural pattern for persistent web application design
US8797337B1 (en) 2009-07-02 2014-08-05 Google Inc. Graphics scenegraph rendering for web applications using native code modules
CN101997853A (zh) * 2009-08-31 2011-03-30 中兴通讯股份有限公司 数据下载方法及终端
US8621046B2 (en) * 2009-12-26 2013-12-31 Intel Corporation Offline advertising services
US20110202909A1 (en) * 2010-02-12 2011-08-18 Microsoft Corporation Tier splitting for occasionally connected distributed applications
US20150205489A1 (en) * 2010-05-18 2015-07-23 Google Inc. Browser interface for installed applications
US9639611B2 (en) 2010-06-11 2017-05-02 Doat Media Ltd. System and method for providing suitable web addresses to a user device
US9552422B2 (en) 2010-06-11 2017-01-24 Doat Media Ltd. System and method for detecting a search intent
US9141702B2 (en) 2010-06-11 2015-09-22 Doat Media Ltd. Method for dynamically displaying a personalized home screen on a device
US9665647B2 (en) 2010-06-11 2017-05-30 Doat Media Ltd. System and method for indexing mobile applications
US9069443B2 (en) 2010-06-11 2015-06-30 Doat Media Ltd. Method for dynamically displaying a personalized home screen on a user device
US9323844B2 (en) 2010-06-11 2016-04-26 Doat Media Ltd. System and methods thereof for enhancing a user's search experience
US9372885B2 (en) 2010-06-11 2016-06-21 Doat Media Ltd. System and methods thereof for dynamically updating the contents of a folder on a device
US10713312B2 (en) 2010-06-11 2020-07-14 Doat Media Ltd. System and method for context-launching of applications
US8838962B2 (en) * 2010-09-24 2014-09-16 Bryant Christopher Lee Securing locally stored Web-based database data
US20150195340A1 (en) * 2010-09-30 2015-07-09 Google Inc. Determining if an Application is Cached
US8700804B1 (en) * 2011-03-16 2014-04-15 EP Visual Design, Inc. Methods and apparatus for managing mobile content
US9858342B2 (en) * 2011-03-28 2018-01-02 Doat Media Ltd. Method and system for searching for applications respective of a connectivity mode of a user device
JP5760716B2 (ja) 2011-03-30 2015-08-12 富士通株式会社 アプリ提供システム、アプリ提供方法、情報処理装置及び情報処理プログラム
JP5686046B2 (ja) 2011-03-31 2015-03-18 富士通株式会社 アプリ提供システム、アプリ提供方法及びアプリ提供プログラム
DE102011006898A1 (de) * 2011-04-06 2012-10-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Betreiben einer Rechnereinheit, Verfahren zum Betreiben eines Applikationsportals, Rechnereinheit, Vorrichtung zum Betreiben eines Applikationsportals und System
US8898251B2 (en) 2011-05-03 2014-11-25 Microsoft Corporation Client calculation of links to network locations of files to upload
CN102779128A (zh) * 2011-05-10 2012-11-14 北京磊友信息科技有限公司 一种移动终端中的html5应用程序离线运行的方法及设备
US9201709B2 (en) 2011-05-20 2015-12-01 Citrix Systems, Inc. Shell integration for an application executing remotely on a server
US8769073B2 (en) 2011-06-29 2014-07-01 International Business Machines Corporation Intelligent offline caching of non-navigated content based on usage metrics
US20130036197A1 (en) * 2011-08-05 2013-02-07 Xtreme Labs Inc. Method and system for a mobile local server
EP2749036B1 (en) 2011-08-25 2018-06-13 Intel Corporation System and method and computer program product for human presence detection based on audio
US8554729B2 (en) * 2011-08-31 2013-10-08 Google Inc. System and method for synchronization of actions in the background of an application
US9329851B2 (en) 2011-09-09 2016-05-03 Microsoft Technology Licensing, Llc Browser-based discovery and application switching
US9003019B1 (en) * 2011-09-30 2015-04-07 Emc Corporation Methods and systems for utilization tracking and notification of cloud resources
DE112012004301T5 (de) 2011-10-12 2014-07-31 International Business Machines Corporation Erzeugen einer vorhersagenden Datenstruktur
US9195779B2 (en) * 2011-10-18 2015-11-24 Verizon Patent And Licensing Inc. Crowd-sourced problem solving
US9363335B2 (en) * 2011-10-30 2016-06-07 Lg Electronics Inc. Method and apparatus that enables a web-based client-server application to be used offline
US9563626B1 (en) * 2011-12-08 2017-02-07 Amazon Technologies, Inc. Offline management of data center resource information
US9092540B2 (en) * 2012-02-14 2015-07-28 International Business Machines Corporation Increased interoperability between web-based applications and hardware functions
US20130219383A1 (en) * 2012-02-16 2013-08-22 Israel Hilerio Using an Application Cache to Update Resources of Installed Applications
US9213673B2 (en) * 2012-02-23 2015-12-15 Via Technologies, Inc. Networked applications with client-caching of executable modules
US9582603B1 (en) 2012-02-27 2017-02-28 Amazon Technologies, Inc. Managing preloading of data on client systems
CN102629200A (zh) * 2012-03-02 2012-08-08 浪潮集团山东通用软件有限公司 一种Web系统可离线使用的处理方法
CN103324517A (zh) * 2012-03-20 2013-09-25 华为终端有限公司 离线应用的生成及调用方法、终端及系统
JP5736056B2 (ja) * 2012-06-22 2015-06-17 グリー株式会社 情報提供装置、情報提供方法及びプログラム
US9043469B2 (en) 2012-06-29 2015-05-26 International Business Machines Corporation Cache control for web application resources
CN103595744B (zh) * 2012-08-16 2018-08-07 腾讯科技(深圳)有限公司 信息管理的方法及客户端
EP2784714B1 (en) * 2013-03-28 2021-04-28 Alcatel Lucent Method of preventing access to sensitive data of a computing device
CN103257874A (zh) * 2013-04-24 2013-08-21 深圳市中兴移动通信有限公司 Web应用的离线运行方法和系统
ES2674378T3 (es) 2013-07-19 2018-06-29 Opanga Networks, Inc. Detección de fuentes de contenido
CN104346514A (zh) * 2013-08-09 2015-02-11 聚游互动(北京)科技发展有限公司 支持在线游戏应用离线运行的方法及系统
US9760897B2 (en) * 2013-09-21 2017-09-12 Oracle International Corporation Method and system for defining an offlinable view/controller graph
CN104902061A (zh) * 2014-03-03 2015-09-09 联想(北京)有限公司 一种信息处理方法及电子设备
US9672026B2 (en) 2014-07-21 2017-06-06 Xiaomi Inc. Light app offline updating method, device and terminal
CN104156233B (zh) * 2014-07-21 2016-05-18 小米科技有限责任公司 轻应用离线更新方法、装置及终端
RU2608668C2 (ru) 2014-07-30 2017-01-23 Общество С Ограниченной Ответственностью "Яндекс" Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра
KR102261910B1 (ko) * 2014-12-08 2021-06-08 에스케이플래닛 주식회사 클라우드 스트리밍 서비스를 위한 서비스 에러 검출 장치 및 이를 포함하는 종단간 서비스 모니터링 시스템 및 방법
US20160191645A1 (en) * 2014-12-30 2016-06-30 Citrix Systems, Inc. Containerizing Web Applications for Managed Execution
RU2632141C2 (ru) 2015-06-30 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и компьютерное устройство для динамической индексации и загрузки кодов модулей
CN106331049A (zh) * 2015-07-03 2017-01-11 阿里巴巴集团控股有限公司 缓存资源、更新缓存资源的方法、客户端、服务器及系统
US10417113B1 (en) 2016-03-10 2019-09-17 Amdocs Development Limited System, method, and computer program for web testing and automation offline storage and analysis
US10365916B2 (en) * 2016-04-19 2019-07-30 Dropbox, Inc. Providing access to a hybrid application offline
US20180077259A1 (en) * 2016-09-09 2018-03-15 Linkedin Corporation Unified data rendering for multiple upstream services
US10817272B2 (en) * 2016-12-12 2020-10-27 Sap Se Generation and usage of language-converted script
US10044836B2 (en) * 2016-12-19 2018-08-07 Palantir Technologies Inc. Conducting investigations under limited connectivity
CN108287839B (zh) * 2017-01-09 2022-01-28 阿里巴巴集团控股有限公司 一种页面加载方法和设备
KR102250378B1 (ko) * 2017-02-28 2021-05-12 엔에이치엔 주식회사 모바일 환경에서의 리소스 다운로드 방법 및 시스템
CN107087018B (zh) * 2017-03-14 2021-03-23 深圳市金立通信设备有限公司 一种运行Web应用程序的方法及终端
CN109144599B (zh) * 2017-06-27 2021-09-24 上海木鸡网络科技有限公司 函数加载方法及装置、计算机可读存储介质、终端
US10657533B2 (en) * 2017-10-26 2020-05-19 Mastercard International Incorporated Apparatus and method for emulating online user authentication process in offline operations
CN107786665A (zh) * 2017-11-06 2018-03-09 成都宏亚佳新科技有限公司 一种适应各种环境的数据传输的方法及系统
CN109451064B (zh) * 2018-12-26 2021-08-17 深圳左邻永佳科技有限公司 web应用的离线实现方法、装置、计算机设备和存储介质
US11016784B2 (en) 2019-03-08 2021-05-25 Palantir Technologies Inc. Systems and methods for automated deployment and adaptation of configuration files at computing devices
US20220114017A1 (en) * 2019-05-31 2022-04-14 Hewlett-Packard Development Company, L.P. Remapping elements based on a transition of device states
US11157242B2 (en) * 2019-09-30 2021-10-26 Salesforce.Com, Inc. Systems, methods, and apparatuses for local web components development within a cloud based computing environment
JP7143866B2 (ja) * 2020-03-25 2022-09-29 カシオ計算機株式会社 キャッシュ管理プログラム、サーバ、キャッシュ管理方法、および情報処理装置
EP4312418A1 (en) * 2022-07-29 2024-01-31 Abb Schweiz Ag Method for automatic selection of servers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2231115C2 (ru) * 2000-03-31 2004-06-20 Диджитал Артс Инк. Способ и устройство для управления доступом к интернету в компьютерной системе и считываемый компьютером носитель информации для хранения компьютерной программы

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236173B2 (en) * 1996-10-30 2007-06-26 Autodesk, Inc. Method and apparatus for providing access to maps on a thin client
US10636084B2 (en) * 1996-10-31 2020-04-28 Citicorp Credit Services, Inc. (Usa) Methods and systems for implementing on-line financial institution services via a single platform
US6594682B2 (en) * 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6044398A (en) * 1997-11-21 2000-03-28 International Business Machines Corporation Virtual dynamic browsing system and method for automated web server and testing
US5951636A (en) * 1997-12-04 1999-09-14 International Business Machines Corp. Accessing a post office system from a client computer using applets
US6272593B1 (en) * 1998-04-10 2001-08-07 Microsoft Corporation Dynamic network cache directories
US6757705B1 (en) 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US6507867B1 (en) * 1998-12-22 2003-01-14 International Business Machines Corporation Constructing, downloading, and accessing page bundles on a portable client having intermittent network connectivity
US6779042B1 (en) * 1999-09-10 2004-08-17 Ianywhere Solutions, Inc. System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices
US7305475B2 (en) * 1999-10-12 2007-12-04 Webmd Health System and method for enabling a client application to operate offline from a server
US6854016B1 (en) * 2000-06-19 2005-02-08 International Business Machines Corporation System and method for a web based trust model governing delivery of services and programs
WO2001098936A2 (en) * 2000-06-22 2001-12-27 Microsoft Corporation Distributed computing services platform
US7409685B2 (en) * 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
CA2328066A1 (en) * 2000-12-15 2002-06-15 Philippe Lasnier Internet shopping system and method
US20030055927A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Framework for a device and a computer system needing synchronization
US20030056206A1 (en) * 2001-09-17 2003-03-20 Engo Frank Joseph Cross-barrier programming language
US7275105B2 (en) * 2002-01-16 2007-09-25 Laszlo Systems, Inc. Enabling online and offline operation
WO2003093964A1 (en) * 2002-05-01 2003-11-13 Bea Systems, Inc. Enterprise application platform
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US6950823B2 (en) * 2002-12-23 2005-09-27 International Business Machines Corporation Transparent edge-of-network data cache
US7873353B2 (en) 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US7441011B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Truth on client persistent caching
US7272782B2 (en) * 2003-12-19 2007-09-18 Backweb Technologies, Inc. System and method for providing offline web application, page, and form access in a networked environment
US20050197819A1 (en) 2004-03-02 2005-09-08 Hopkins James B. System and method for running web applications locally
US7779387B2 (en) 2004-04-15 2010-08-17 Microsoft Corporation Offline source code control
US7685258B2 (en) * 2004-05-21 2010-03-23 Bea Systems, Inc. Disconnectible applications
US9083765B2 (en) * 2004-07-02 2015-07-14 Oracle International Corporation Systems and methods of offline processing
US8832595B2 (en) * 2004-08-06 2014-09-09 Nokia Corporation Mobile communications terminal and method
US7475089B1 (en) * 2004-09-02 2009-01-06 Sprint Spectrum L.P. Enhanced portal server system and method
US7788352B2 (en) * 2005-07-14 2010-08-31 Yahoo! Inc. System and method for servicing a user device
US8601475B2 (en) * 2005-08-02 2013-12-03 Aol Inc. Download and upload of email messages using control commands in a client/server web application

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2231115C2 (ru) * 2000-03-31 2004-06-20 Диджитал Артс Инк. Способ и устройство для управления доступом к интернету в компьютерной системе и считываемый компьютером носитель информации для хранения компьютерной программы

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014004461A1 (en) * 2012-06-25 2014-01-03 Liquid Holdings Group, Inc. Electronic financial trading platform with real-time data analysis and reporting
US9710247B2 (en) 2012-06-26 2017-07-18 Microsoft Technology Licensing, Llc Identification of host-compatible downloadable applications
RU2637880C2 (ru) * 2012-06-26 2017-12-07 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Идентификация загружаемых приложений, совместимых с основой
RU2640720C2 (ru) * 2012-08-29 2018-01-11 Хуавей Дивайс (Дунгуань) Ко., Лтд. Способ и устройство управления веб-приложением
US10696964B2 (en) 2013-09-27 2020-06-30 Codexis, Inc. Automated screening of enzyme variants
US11342046B2 (en) 2013-09-27 2022-05-24 Codexis, Inc. Methods and systems for engineering biomolecules
US11535845B2 (en) 2013-09-27 2022-12-27 Codexis, Inc. Automated screening of enzyme variants

Also Published As

Publication number Publication date
KR101433981B1 (ko) 2014-08-26
US7814234B2 (en) 2010-10-12
CA2662553C (en) 2016-11-08
AU2007313956B2 (en) 2012-01-19
WO2008054951A1 (en) 2008-05-08
TWI449372B (zh) 2014-08-11
BRPI0716520A2 (pt) 2013-09-24
AU2007313956A8 (en) 2009-04-23
JP2010508581A (ja) 2010-03-18
KR20090073199A (ko) 2009-07-02
US20080104195A1 (en) 2008-05-01
CA2662553A1 (en) 2008-05-08
CN101529415A (zh) 2009-09-09
RU2009116454A (ru) 2010-11-10
MX2009003549A (es) 2009-05-12
TW200826551A (en) 2008-06-16
JP4698756B2 (ja) 2011-06-08
CN101529415B (zh) 2012-08-08
BRPI0716520A8 (pt) 2017-01-17
AU2007313956A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
RU2453911C2 (ru) Автономное выполнение веб-приложений
US9241047B2 (en) System and method for providing virtual web access
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US8452925B2 (en) System, method and computer program product for automatically updating content in a cache
US10740533B2 (en) Managing web page images on a web page server system
US7676503B2 (en) Hybrid computer restore using network service
US20030220925A1 (en) System and method for web services management
US20100107091A1 (en) Publishing requests for dynamically loaded missing images
KR20190044134A (ko) 웹사이트 액세스 방법, 장치, 및 웹사이트 시스템
US8065617B2 (en) Discovering alternative user experiences for websites
MX2008011058A (es) Objeto de procesamiento de datos de sindicacion realmente simple (rss).
US8019884B2 (en) Proxy content for submitting web service data in the user&#39;s security context
US20130246583A1 (en) Method, system and server device for transmitting a digital resource in a client-server communication system
US20080163264A1 (en) Directory Service that Provides Information from a Plurality of Disparate Data Sources
CN112527531A (zh) 一种缓存处理方法及系统
JP4950389B2 (ja) ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法
Carneiro Jr et al. Consuming Your APIs
CA2418237A1 (en) System and method for web services management

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526

MM4A The patent is invalid due to non-payment of fees

Effective date: 20181006