Интеграция клиентского приложения и web страницы

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

 

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ

[001] Интеграция клиентского приложения и Web страницы представляет собой процесс для обеспечения возможности совместной работы и взаимодействия между функциональными возможностями, основывающимися на Web браузере, и функциональными возможностями автономного приложения. В некоторых ситуациях клиентское приложение может исполняться на компьютере без необходимости в какой-либо сетевой поддержке, тогда как основывающиеся на браузере приложения могут исполняться в пределах Web браузера, избегая необходимости в инсталляции приложения на клиент. Это, однако, может привести в результате к дублированию усилий по разработке двух отдельных версий с аналогичными функциональными возможностями. Помимо этого, такие два разных приложения могут приводить к несогласованному пользовательскому восприятию и могут быть неспособны одновременно использовать локальные ресурсы, доступные клиентским приложениям и функциональным возможностям Web браузера. Результатом этого может быть путаница и неэффективная работа среди пользователей, которые переключаются между клиентским и основывающимся на браузере приложениями. Известной стратегией является разработка двух приложений по отдельности, но это часто вызывает проблемы, поскольку эта известная стратегия не обеспечивает возможности интеграции, совместной работы и взаимодействия и согласованного пользовательского восприятия между этими двумя версиями.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

[003] Может быть обеспечена интеграция приложений. Первое приложение может исполняться на клиентском компьютере. Первое приложение может соединиться со вторым приложением, таким как основывающееся на браузере приложение. Первое приложение может идентифицировать по меньшей мере одну функциональную возможность, ассоциированную со вторым приложением, и отображать элемент пользовательского интерфейса, ассоциированный с упомянутой по меньшей мере одной функциональной возможностью, в первом приложении.

[004] И вышеследующее общее описание, и нижеследующее подробное описание представляют примеры и являются лишь пояснительными. Соответственно, вышеследующее общее описание и нижеследующее подробное описание не следует считать ограничивающими. Кроме того, могут быть предусмотрены признаки или варианты в дополнение к тем, что изложены здесь. Например, варианты осуществления могут быть направлены на различные комбинации или подкомбинации признаков, описанные в подробном описании.

ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ

[005] Сопровождающие чертежи, которые включены в состав и являются частью данного раскрытия, иллюстрируют различные варианты осуществления настоящего изобретения. На чертежах:

[006] Фиг. 1 - блок-схема рабочего окружения;

[007] Фиг. 2A-2B - блок-схемы примерных приложений;

[008] Фиг. 3 - блок-схема интегрированного клиентского приложения;

[009] Фиг. 4 - логическая блок-схема последовательности операций способа обеспечения интеграции приложений; и

[010] Фиг. 5 - блок-схема системы, включающей в себя компьютерное устройство.

ПОДРОБНОЕ ОПИСАНИЕ

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

[012] Может быть обеспечена интеграция клиентского приложения и Web страницы. Согласно вариантам осуществления настоящего изобретения предоставляется схема для обеспечения возможности совместной работы и взаимодействия между основывающимся на браузере и клиентским приложениями. Эта схема может уведомлять клиентские приложения о действиях, доступных на соответствующем основывающемся на браузере приложении, с тем чтобы эти действия могли динамическим образом предоставляться (экспонироваться) в пользовательском интерфейсе (UI) клиентского приложения. Пользователи могут предпринимать действия через UI клиентского приложения, но этими действиями может оказываться воздействие на данные, ассоциированные с основывающимся на браузере приложением. Клиентское приложение может также исполнять дополнительную бизнес-логику, доступную в клиентском приложении, но не в основывающемся на браузере приложении, до или после инициирования действий, предоставленных из основывающегося на браузере приложения.

[013] Например, компания может разработать два приложения расчета заработной платы. Одно из этих приложений может представлять собой клиентское приложение и может использоваться посредством вычисления по переводу зарплаты на банковский счет работника. Другое из этих приложений может быть разработано как основывающееся на браузере приложение для генерирования отчетов по расчету заработной платы и обеспечения работникам возможности проверять их через Web браузер. Оба приложения могут функционировать надлежащим образом, но интеграция этих приложений может позволить компании добавить дополнительную бизнес-логику. Такая логика может, например, обеспечить возможность генерирования отчета по расчету заработной платы сразу после того, как зарплата переведена. Отчет по расчету заработной платы может затем быть направлен работнику напрямую.

[014] Фиг. 1 является блок-схемой рабочего окружения 100. Рабочее окружения 100 может содержать клиент 100, сеть 120 и множество Web серверов 130(A)-(B). Сеть 120 может содержать, например, частную сеть, такую как корпоративный интранет и/или публичная сеть типа Интернет. Web серверы 130(A)-(B) могут содержать компьютеры, выполненные с возможностью принимать запросы Web страниц, например, от клиента 110, и отвечать запрашиваемой Web страницей. Web серверы 130(A)-(B) могут быть также выполнены с возможностью предоставления инфраструктуры исполнения для приложений, основывающихся на браузере. Например, клиент 110 может запросить, через приложение Web браузера, Web страницу, содержащее основывающееся на браузере приложение формирования отчетов по расчету заработной платы. Web сервер 130(A), например, может ответить на этот запрос Web страницей и ассоциированным приложением. Клиент 110 может затем запросить выполнение функциональных возможностей, ассоциированных с основывающимся на браузере приложении, Web сервером 130(A) через взаимодействия с приложением Web браузера.

[015] На Фиг. 2А представлена блок-схема примерного приложения 200, основывающегося на браузере. Основывающееся на браузере приложение 200 может содержать пользовательский интерфейс (UI), содержащий строку меню 21, первый функциональный элемент 230 UI и второй функциональный элемент 240 UI. Например, основывающееся на браузере приложение 200 может содержать финансовое приложение, содержащее данные о работниках и функции для ассоциированного с первым функциональным элементом 240 UI генерирования отчета и/или для ассоциированного со вторым функциональным элементом 240 UI уведомления работника о том, что транзакция завершена.

[016] На Фиг. 2B приведена блок-схема клиентского приложения 250. Клиентское приложение 250 может содержать ленту 265 пользовательского интерфейса, содержащую множество элементов 260(A)-(C) UI для действий. Клиентское приложение 250 может содержать, например, приложение бухгалтерского учета, содержащее данные о работниках и функции для выполнения перевода денежных средств на счета, ассоциированные с работниками.

[017] На Фиг. 3 приведена блок-схема интегрированного клиентского приложения 300. Интегрированное клиентское приложение может содержать ленту 265 пользовательского интерфейса, содержащую множество элементов 260(A)-(C) UI для действий и множество интегрированных элементов 310(A)-(B) UI. Интегрированные элементы 310(A)-(B) UI могут быть включены в ленту 265 пользовательского интерфейса на основе функций, предоставляемых приложением 200, основывающимся на браузере. Согласно вариантам осуществления изобретения интегрированное клиентское приложение 300 может быть выполнено с возможностью доступа, модифицирования и/или синхронизации данных о сотрудниках, ассоциированных с основывающимся на браузере приложением 200.

[018] Вместо визуализации Web страницы отдельно от имеющегося UI интегрированное клиентское приложение 300 может интегрировать действия, предоставляемые основывающимся на браузере приложением 200, для достижения согласованного пользовательского восприятия. Например, функции, ассоциированные с первым функциональным элементом 230 UI и/или вторым функциональным элементом 240 UI, могут отображаться в ленте 265 пользовательского интерфейса согласно визуальному представлению, ассоциированному с интегрированным клиентским приложением 300. Визуальное представление может содержать детали конфигурации, такие как цвета, стили текста, местоположения, иконки и/или размещения меню.

[019] Согласно вариантам осуществления настоящего изобретения интегрированное клиентское приложение 300 может быть инициализировано при пользовательском запросе открыть приложение. Интегрированное клиентское приложение 300 может загружать Web страницу согласно универсальному указателю информационного ресурса (URL), ассоциированному с конфигурацией интегрированного клиентского приложения 300. Элемент управления Web браузера может содержать стандартный элемент управления ActiveXTM или управляемый элемент управления, опубликованный, например, с инфраструктурой .Net, и может позволять интегрированному клиентскому приложению 300 осуществлять доступ к основывающемуся на браузере приложению 200 аналогично известному приложению Web браузера.

[020] После того как Web страница загружена, Web страница может предоставлять свой контент в интегрированное клиентское приложение 300. Для примера финансового приложения, описанного выше, функции "Сгенерировать отчет" и "Уведомить" и/или данные о работниках, ассоциированные с основывающимся на браузере приложением 200, могут быть предоставлены в клиентское приложение. Другие примеры предоставляемых данных могут содержать текст помощи, индексы актуальных тем и/или адреса или имена активации методов.

[021] Данные и функции, ассоциированные с приложением 200, основывающимся на браузере, могут предоставляться, например, посредством предписания основывающемуся на браузере приложению 200 активировать метод, реализуемый в интегрированном клиентском приложении 300. Основывающееся на браузере приложение 200 может затем обмениваться данными и/или ссылками на функции с интегрированным клиентским приложением 300. Основывающееся на браузере приложение 200 может отвечать за построение всей необходимой информации в строку и передачу ее в интегрированное клиентское приложение 300.

[022] Упомянутым обменом может быть скомпоновано некоторое количество сегментов. Например, каждый сегмент может содержать заглавие (например, "HelpId" ("Идентификатор (ID) помощи")) и/или строку значения (например, "<HelpId>"). Строка значения может идентифицировать категорию, ассоциированную с сегментом, которая может использоваться при конфигурировании визуального представления для элемента пользовательского интерфейса, ассоциированного с сегментом в интегрированном клиентском приложении 300. В сегменте HelpId значение может представлять собой строку данных. В другом примере, таком как сегмент Method List (Список методов), значение может представлять собой множество пар "имя метода-адрес метода", которыми может задаваться соответствие метода его имени и обеспечиваться возможность его последующей активации. Основывающееся на браузере приложение 200 может передавать сегмент(ы) в интегрированное клиентское приложение посредством активации метода, такого как javascript метод "window.external.Expose (segmentString);", включенный в Web страницу, ассоциированную с приложением 200, основывающимся на браузере.

[023] Согласно вариантам осуществления изобретения данные и функции могут также предоставляться посредством расширения HTML для добавления дополнительных тегов для предоставления этих данных и функций. Web страница может задавать то, какие данные и/или функции могут быть предоставлены в HTML, и интегрированное клиентское приложение 300 может выявлять эти теги посредством синтаксического анализа. Интегрированное клиентское приложение 300 может затем предоставлять ассоциированные действия в своих панелях инструментов, контекстном меню и/или других элементах управления, определяемых тегом, таких как лента 365 UI. Синтаксис тегов может содержать, например:

[024] <Toolbar> (<Панель инструментов>)

[025] <button name="Generate a report" onclick="GenerateReport()" /> (<имя кнопки = "Сгенерировать отчет" по нажатию = "ГенерироватьОтчет()" />

[026] </Toolbar> (</Панель инструментов>)

[027] В пределах тега панели инструментов данные и функции, такие как GenerateReport, могут предоставляться в интегрированное клиентское приложение 300. Тег может также определять, какой элемент управления может представлять его. В данном примере, описанном выше, кнопка может быть добавлена в ленту 365 UI интегрированного клиентского приложения 300 после синтаксического анализа HTML. Пользователь интегрированного клиентского приложения 300 может выполнить щелчок (кликнуть) по кнопке "Сгенерировать отчет" (например, интегрированному элементу 310(A) UI) в ленте 365 UI для предписания основывающемуся на браузере приложению 200 сгенерировать отчет. Кроме того, функции, предшествующие и следующие за активацией, могут выполняться интегрированным клиентским приложением 300 до и/или после активации функции, основывающейся на браузере.

[028] Действия или методы, которые активируются интегрированным клиентским приложением 300, могут выполняться основывающимся на браузере приложением 200. Затем основывающееся на браузере приложение 200 может также отправить уведомление о завершении в интегрированное клиентское приложение 300, содержащее успешный/неудачный результат и/или дополнительные данные.

[029] На Фиг. 4 показана блок-схема последовательности операций, на которой приведены общие этапы, включенные в способ 400 согласно варианту осуществления изобретения, для обеспечения интеграции приложений. Способ 400 может быть реализован с использованием компьютерного устройства 500, которое более подробно описывается ниже со ссылкой на Фиг. 5. Пути реализации этапов способа 400 будут описываться более подробно ниже. Способ 400 может начинаться этапом 405 начала и переходить на этап 410, где компьютерное устройство 500 может инициализировать клиентское приложение и соединиться с приложением, основывающимся на браузере. Например, клиент 110 может принять от пользователя запрос инициализировать клиентское приложение 250. Клиентское приложение 250 может затем соединиться с основывающимся на браузере приложением 200 согласно местоположению в Web, такому как URL, ассоциированный с конфигурацией клиентского приложения 250.

[030] С этапа 410 способ 500 может перейти на этап 415, где компьютерное устройство может определить, содержит ли основывающееся на браузере приложение какие-либо предоставляемые (экспонируемые) данные и/или функции. Например, основывающееся на браузере приложение 200 может исполнять javascript метод для предоставления данных и/или функций в клиентское приложение 250. Согласно вариантам осуществления изобретения клиентское приложение 250 может выполнять синтаксический анализ Web страницы приложения 200, основывающегося на браузере, для идентификации каких-либо предоставляемых данных и/или функций.

[031] Если предоставляемые элементы идентифицированы на этапе 425, способ может перейти на этап 420, где компьютерное устройство 500 может добавить элемент пользовательского интерфейса в клиентское приложение. Например, клиентское приложение 250 может добавить множество интегрированных элементов 310(A)-(B) UI, ассоциированных с предоставляемыми функциями основывающегося на браузере приложением 200, результатом чего является пользовательский интерфейс интегрированного клиентского приложения 300. Интегрированное клиентское приложение 300 может применять визуальный стиль, ассоциированный с клиентским приложением, к интегрированным элементам 310(A)-(B) UI для обеспечения согласованного пользовательского восприятия пользователю интегрированного клиентского приложения 300.

[032] С этапа 420, либо если на этапе 415 не идентифицировано никаких предоставляемых данных и/или функций, способ 400 может перейти на этап 425, где компьютерное устройство 500 может определять, ассоциированы ли с клиентским приложением 200 какие-либо дополнительные Web страницы и/или основывающиеся на браузере приложения. Если это так, способ 400 может вернуться на этап 415 и определить, предоставляет ли каждая из этих других страниц/приложений данные и/или функции, которые должны быть интегрированы в интегрированное клиентское приложение 300.

[033] Как только больше не требуется осуществлять доступ к основывающимся на браузере страницам/приложениям на предмет предоставляемых данных/функций, способ может перейти к этапу 430, на котором компьютерное устройство 500 может принять запрос на исполнение предоставляемой функции. Например, пользователь может выбрать интегрированный элемент 310(A) UI для генерирования отчета.

[034] Способ 400 может затем перейти на этап 435, где компьютерное устройство 500 может определить, заданы ли какие-либо функции, подлежащие выполнению до исполнения. Например, интегрированное клиентское приложение 300 может задать функцию, такую как удостоверение в том, что все ожидающие обработки переводы завершены в финансовом приложении, до исполнения предоставляемой функции, ассоциированной с интегрированным элементом 310(A) UI.

[035] Если функция, подлежащая выполнению до исполнения, задана, способ 400 может перейти на этап 440, где компьютерное устройство 500 может выполнить эту функцию, подлежащую выполнению до исполнения. Например, интегрированное клиентское приложение 300 может активировать функцию удостоверения, описанную выше. Согласно вариантам осуществления настоящего изобретения, если функция, подлежащая выполнению до исполнения, терпит неудачу, способ может завершиться на этапе 470 и отобразить пользователю сообщение, такое как уведомление об ошибке и/или сбое.

[036] После выполнения на этапе 440 функции, подлежащей выполнению до исполнения, или если на этапе 435 не определено никакой заданной функции, подлежащей выполнению до исполнения, способ может перейти на этап 445, на котором компьютерное устройство 500 может запросить, чтобы основывающееся на браузере приложение исполнило предоставляемую функцию. Например, интегрированное клиентское приложение 300 может отправить запрос в основывающееся на браузере приложение 200 активировать предоставляемую функцию. Согласно вариантам осуществления изобретения интегрированное клиентское приложение 300 может быть выполнено с возможностью принимать изменение в отношении данных, предоставляемых основывающимся на браузере приложением, в дополнение к и/или вместо приема запроса на исполнение предоставляемой функции. Интегрированное клиентское приложение 300 может, таким образом, на этапе 445 уведомить приложение 200, основывающееся на браузере, об изменениях в данных, и основывающееся на браузере приложение 200 может сохранить измененные данные в хранилище данных, ассоциированном с основывающимся на браузере приложением 200.

[037] С этапа 445 способ 400 может перейти на этап 450, где компьютерное устройство 500 может принять результат, ассоциированный с активацией предоставляемой функции. Например, основывающееся на браузере приложение 200 может послать сообщение об успехе/неудаче и/или дополнительные данные, ассоциированные с исполнением функции, в интегрированное клиентское приложение 300.

[038] С этапа 450 способ 400 может перейти на этап 455, на котором компьютерное устройство 500 может отобразить пользователю уведомление, ассоциированное с активацией предоставляемой функции. Например, интегрированное клиентское приложение 300 может отображать иконку, отображение текста, диалоговое окно и/или другой элемент пользовательского интерфейса, указывающий, что исполнение предоставляемой функции завершено, и может указывать успех или неудачу действия, как предусмотрено в уведомлении.

[039] Способ 400 может затем перейти на этап 460, где компьютерное устройство 500 может определять, заданы ли функции, подлежащие выполнению после исполнения. Например, интегрированное клиентское приложение 300 может задать функцию, такую как создание записи журнала регистрации, после исполнения предоставляемой функции, ассоциированной с интегрированным элементом 310(A) UI.

[040] Если функция, подлежащая выполнению после исполнения, задана, способ 400 может перейти на этап 465, где компьютерное устройство 500 может выполнить функцию, подлежащую выполнению после исполнения. Например, интегрированное клиентское приложение 300 может активировать функцию ведения журнала регистрации, описанную выше. После выполнения функции, подлежащей выполнению после исполнения, на этапе 465, либо если на этапе 460 не определено ни одной заданной функции, подлежащей выполнению после исполнения, способ может завершиться на этапе 470.

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

[042] Другой вариант осуществления, отвечающий настоящему изобретению, может содержать систему для обеспечения интеграции приложений. Система может содержать память и процессорный блок, подключенный к памяти. Процессорный блок может быть выполнен с возможностью инициализировать первое приложение и определять, содержит ли по меньше мере одно второе приложение предоставляемый компонент. Если это так, процессорный блок может быть выполнен с возможностью отображать указание в пользовательском интерфейсе первого приложения касаемо того, что предоставляемый элемент этого по меньшей мере одного второго приложения доступен пользователю первого приложения.

[043] Еще один вариант осуществления, согласующийся с изобретением, может содержать систему для обеспечения интеграции приложений. Система может сдержать память и процессорный блок, подключенный к памяти. Процессорный блок может быть выполнен с возможностью соединяться с по меньшей мере одним основывающимся на браузере приложением из клиентского приложения, идентифицировать по меньшей мере одну предоставляемую функцию, ассоциированную с этим по меньшей мере одним основывающимся на браузере приложением, отображать в клиентском приложении элемент пользовательского интерфейса, ассоциированный с данной по меньшей мере одной предоставляемой функцией, принимать запрос исполнения этой по меньшей мере одной предоставляемой функции и определять, содержит ли клиентское приложение функцию, подлежащую выполнению до исполнения, которая ассоциирована с упомянутой по меньшей мере одной предоставляемой функцией. Если клиентское приложение содержит функцию, подлежащую выполнению до исполнения, процессорный блок может быть выполнен с возможностью выполнять эту функцию, подлежащую выполнению до исполнения. Процессорный блок может затем отправить в упомянутое по меньшей мере одно приложение, основывающееся на браузере, запрос исполнения упомянутой по меньшей мере одной предоставляемой функции, принимать от этого по меньшей мере одного основывающегося на браузере приложения результат, ассоциированный с этим запросом исполнения по меньшей мере одной предоставляемой функции по меньшей мере одним основывающимся на браузере приложением, отображать уведомление, ассоциированное с принятым результатом, пользователю клиентского приложения и определять, содержит ли клиентское приложение функцию, подлежащую выполнению после исполнения, которая ассоциирована с упомянутой по меньшей мере одной предоставляемой функцией. Если это так, процессорный блок может быть выполнен с возможностью выполнять функцию, подлежащую выполнению после исполнения.

[044] На Фиг. 5 приведена блок-схема системы, включающей в себя компьютерное устройство 500. Согласно варианту осуществления изобретения вышеупомянутые память и процессорный блок могут быть реализованы в компьютерном устройстве, таком как компьютерное устройство 500 по Фиг. 5. Любая подходящая комбинация аппаратных средств, программного обеспечения или программно-аппаратного обеспечения (firmware) может быть использована для реализации памяти и процессорного блока. Например, память и процессорный блок могут быть реализованы в компьютерном устройстве 500 или в любом из других компьютерных устройств 518, в сочетании с компьютерным устройством 500. Вышеупомянутые система, устройство и процессоры являются примерами, и другие системы устройств и процессоров могут содержать вышеуказанные память и процессорный блок, согласно вариантам осуществления изобретения.

[045] Согласно Фиг. 5 система согласно варианту осуществления изобретения может включать в себя компьютерное устройство, такое как компьютерное устройство 500. В базовой конфигурации компьютерное устройство 500 может включать в себя по меньшей мере один процессорный блок 502 и системную память 504. В зависимости от конфигурации и типа компьютерного устройства системная память 504 может содержать, но не в ограничительном смысле, энергозависимую память (например, оперативное запоминающее устройство (ОЗУ, RAM)), постоянное запоминающее устройство (ПЗУ, ROM)), флэш-память или какую-либо комбинацию. Системная память 504 может включать в себя операционную систему 505, один или более программных модулей 506 и может включать в себя клиентское приложение 507. Операционная система 505, например, может быть подходящей для управления работой компьютерного устройства 500. В одном варианте осуществления программные модули 506 могут включать в себя приложение 520 web браузера. Кроме того, варианты осуществления изобретения могут быть осуществлены на практике в сочетании с графической библиотекой, другими операционными системами или любой другой прикладной программой и не ограничиваются каким-либо конкретным приложением или системой. Эта базовая конфигурация проиллюстрирована на Фиг. 5 посредством тех компонентов, что заключены в пределы пунктирной линии 508.

[046] Компьютерное устройство 500 может иметь дополнительные признаки или функциональные возможности. Например, компьютерное устройство 500 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Такое дополнительное хранилище проиллюстрировано на Фиг. 5 посредством съемного запоминающего устройства 509 и несъемного запоминающего устройства 510. Компьютерные носители информации могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули и другие данные. Все из системной памяти 504, съемного запоминающего устройства 509 и несъемного запоминающего устройства 510 являются компьютерными носителями информации (т.е. памятью). Компьютерные носители информации могут содержать, но не в ограничительном смысле, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или память другой технологии, ПЗУ на компакт-диске (CD-ROM), цифровые универсальные диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, магнитный дисковый накопитель или другие магнитные запоминающие устройства, либо любой другой носитель, который может использоваться для хранения информации и к которому компьютерное устройство 500 может осуществить доступ. Любые такие компьютерные носители информации могут быть частью устройства 500 и могут содержать невременные носители информации. Компьютерное устройство 500 может также иметь устройство(а) 512 ввода, такие как клавиатура, мышь, перо, устройство звукового ввода, устройство сенсорного ввода и т.п. Устройство(а) 514 вывода, такие как дисплей, громкоговорители, принтер и т.п., могут быть также включены в состав. Вышеупомянутые устройства являются примерами и могут использоваться другие устройства.

[047] Компьютерное устройство 500 может также содержать коммуникационное соединение 516, которое может обеспечивать устройству 500 возможность осуществлять связь с другими компьютерными устройствами 518, например, через сеть в распределенном вычислительном окружении, как в случае интранет или Интернет. Коммуникационное соединение 516 является одним примером коммуникационных сред. Коммуникационные среды могут в типичном случае воплощать машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм транспортировки, и включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" может описывать сигнал, одна или более характеристик которого устанавливаются или изменяются таким образом, чтобы закодировать информацию в этом сигнале. В качестве примера, но не ограничения, коммуникационные среды могут включать в себя проводные среды, такие как проводная сеть или прямое кабельное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные среды. Термин "машиночитаемый носитель", в том смысле, как он используется здесь, может включать в себя как носители информации, так и коммуникационные среды.

[048] Как указано выше, в системной памяти 504 может храниться некоторое количество программных модулей и файлов данных, включая операционную систему 505. При исполнении на процессорном блоке 502 программные модули 506 (например, приложение 520 Web браузера) могут выполнять процессы, включающие в себя, например, один или более из этапов способа 400, описанных выше. Вышеописанный процесс является примерным, и процессорный блок 502 может выполнять другие процессы. Другие программные модули, которые могут использоваться в соответствии с вариантами осуществления настоящего изобретения, могут включать в себя приложения электронной почты и контактов, приложения обработки текстов, приложения электронных таблиц, приложения баз данных, приложения слайдовых презентаций, компьютерные прикладные программы для рисования/черчения и т.п.

[049] Вообще говоря, согласно вариантам осуществления изобретения, программные модули могут включать в себя процедуры, программы, компоненты, структуры данных и другие типы структур, которыми могут выполняться конкретные задачи или которыми могут реализовываться определенные абстрактные типы данных. Более того, варианты осуществления изобретения могут быть реализованы на практике с другими конфигурациями компьютерных систем, включая наладонные устройства, мультипроцессорные системы, основывающуюся на микропроцессорах или программируемую бытовую электронику, мини-компьютеры, компьютеры-мейнфреймы и т.п. Варианты осуществления изобретения могут быть также реализованы на практике в распределенных вычислительных окружениях, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть связи. В распределенном вычислительном окружении программные модули могут находиться как в локальных, так и в удаленных запоминающих устройствах.

[050] Помимо этого, варианты осуществления изобретения могут быть реализованы на практике в электрической схеме, содержащей дискретные электронные элементы, упакованных или интегрированных электронных микросхемах (чипах), содержащих логические вентили, схеме, задействующей микропроцессор, или на отдельной микросхеме, содержащей электронные элементы или микропроцессоры. Варианты осуществления изобретения могут быть также реализованы на практике с использованием других технологий, приспособленных для выполнения логических операций, таких как, например, AND (И), OR (ИЛИ) и NOT (НЕ), включая, но не в ограничительном смысле, механические, оптические, жидкостные и квантовые технологии. Помимо этого, варианты осуществления изобретения могут быть реализованы на практике в пределах компьютера общего назначения или в каких-либо других схемах или системах.

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

[052] Используемый компьютером или машиночитаемый носитель информации может представлять собой, в качестве примера, но не ограничения, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппаратуру, устройство или среду распространения. Более конкретные примеры машиночитаемых носителей (неисчерпывающий список) могут включать в себя следующее: электрическое соединение, имеющее один или более проводов, переносная компьютерная дискета, оперативное запоминающее устройство (ОЗУ, RAM), постоянное запоминающее устройство (ПЗУ, ROM), стираемое программируемое ПЗУ (EPROM или флэш-память), оптическое волокно и переносное ПЗУ на компакт-диске (CD-ROM). Отметим, что используемый компьютером или машиночитаемый носитель информации может представлять собой даже бумажный или другой подходящий носитель, на котором напечатана программа, при этом программа может быть считана электронным образом, посредством, например, оптического сканирования бумажного или другого подходящего носителя, затем скомпилирована, проинтерпретирована или иным образом обработана подходящим способом, если необходимо, и сохранена в компьютерной памяти.

[053] Варианты осуществления настоящего изобретения описаны выше со ссылкой на блок-схемы и/или иллюстрации работы способов, систем и компьютерных программных продуктов согласно вариантам осуществления изобретения. Функции/действия, указанные в блоках, могут иметь место не в том порядке, что показан на какой-либо логической блок-схеме последовательности операций. Например, два блока, показанные последовательно, могут на самом деле выполняться, по существу, одновременно, либо эти блоки могут иногда выполняться в обратном порядке, в зависимости от задействуемых функций/действий.

[054] Хотя были описаны определенные варианты осуществления изобретения, могут существовать и другие варианты осуществления. Кроме того, хотя варианты осуществления настоящего изобретения были описаны как ассоциированные с данными, хранящимися в памяти и других носителях информации, данные также могут храниться на или считываться с других типов машиночитаемых носителей, таких как второстепенные запоминающие устройства типа жестких дисков, гибких дисков или CD-ROM, несущей волны из Интернета или других форм ОЗУ или ПЗУ. Кроме того, этапы раскрытых способов могут быть модифицированы любым путем, включая переупорядочение этапов и/или введение или удаление этапов, не отходя от изобретения.

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

[056] Хотя описание включает в себя примеры, объем изобретения определяется нижеследующей формулой изобретения. Кроме того, хотя описание приведено на языке, характерном для структурных признаков и/или методологических действий, формула изобретения не ограничивается признаками или действиями, описанными выше. Скорее вышеописанные характерные признаки и действия раскрыты как пример вариантов осуществления изобретения.

1. Способ обеспечения интеграции приложений, содержащий этапы, на которых:
исполняют клиентское приложение;
запрашивают через клиентское приложение Web страницу, содержащую основывающееся на браузере приложение;
определяют, содержит ли основывающееся на браузере приложение предоставляемые функции;
идентифицируют первую функцию, предоставляемую основывающимся на браузере приложением;
включают интегрированный элемент пользовательского интерфейса, которым интегрируется первая функция, в клиентское приложение, чтобы обеспечить согласованное пользовательское восприятие;
отображают интегрированный элемент пользовательского интерфейса, ассоциированный с первой функцией, в клиентском приложении;
принимают запрос исполнения первой функции через интегрированный элемент пользовательского интерфейса;
определяют, содержит ли клиентское приложение функцию, подлежащую выполнению перед исполнением, которая ассоциирована с первой функцией;
в ответ на определение того, что клиентское приложение содержит функцию, подлежащую выполнению перед исполнением, которая ассоциирована с первой функцией, выполняют функцию, подлежащую выполнению перед исполнением, перед запрашиванием основывающегося на браузере приложения исполнить первую функцию;
по завершении функции, подлежащей выполнению перед исполнением, запрашивают основывающееся на браузере приложение исполнить первую функцию, а если функция, подлежащая выполнению перед исполнением, терпит неудачу, выдают сообщение об ошибке, не запрашивая основывающееся на браузере приложение исполнить первую функцию.

2. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают выбор интегрированного элемента пользовательского интерфейса, сделанный пользователем клиентского приложения; и
активируют первую функцию, ассоциированную с основывающимся на браузере приложением.

3. Способ по п. 2, дополнительно содержащий этапы, на которых:
определяют, имеется ли вторая функция, которая обеспечивается клиентским приложением и ассоциирована с активацией первой функции; и
в качестве реакции на определение того, что вторая функция обеспечивается первым приложением и ассоциирована с активацией первой функции, активируют вторую функцию посредством клиентского приложения.

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

5. Способ по п. 4, дополнительно содержащий этап, на котором отображают уведомление о результате пользователю клиентского приложения.

6. Способ по п. 1, в котором при отображении в клиентском приложении интегрированного элемента пользовательского интерфейса, ассоциированного с первой функцией:
идентифицируют категорию действия, ассоциированную с первой функцией; и
назначают интегрированному элементу пользовательского интерфейса визуальное представление, ассоциированное с категорией действия.

7. Способ по п. 6, в котором визуальное представление, назначаемое интегрированному элементу пользовательского интерфейса, содержит по меньшей мере одно из следующего: цвет, стиль текста, местоположение, иконка и размещение меню.

8. Способ по п. 1, в котором функции включают в себя теги для указания того, какие функции предоставляются.

9. Способ по п. 8, в котором определение того, содержит ли основывающееся на браузере приложение какие-либо предоставляемые функции, содержит определение клиентским приложением того, предоставляются ли функции, путем анализа Web страницы на предмет выявления упомянутых тегов.

10. Система для обеспечения интеграции приложений, содержащая:
память; и
процессорный блок, подключенный к памяти, при этом процессорный блок выполнен с возможностью:
инициализировать клиентское приложение;
запрашивать через клиентское приложение Web страницу, содержащую основывающееся на браузере приложение;
определять, содержит ли основывающееся на браузере приложение предоставляемый элемент;
в качестве реакции на определение того, что основывающееся на браузере приложение содержит предоставляемый элемент, интегрировать элемент пользовательского интерфейса, ассоциированный с предоставляемым элементом, в клиентское приложение;
применять визуальный стиль, связанный с клиентским приложением, к интегрированному элементу пользовательского интерфейса, чтобы обеспечить согласованное пользовательское восприятие для пользователя клиентского приложения;
отображать интегрированный элемент пользовательского интерфейса, ассоциированный с предоставляемым элементом, в клиентском приложении;
принимать запрос исполнения предоставляемой функции, обеспечиваемой предоставляемым элементом, через интегрированный элемент пользовательского интерфейса;
определять, содержит ли клиентское приложение функцию, подлежащую выполнению перед исполнением, которая ассоциирована с предоставляемой функцией;
в качестве реакции на определение того, что клиентское приложение содержит функцию, подлежащую выполнению перед исполнением, которая ассоциирована с предоставляемой функцией, выполнять функцию, подлежащую выполнению перед исполнением, перед запрашиванием основывающегося на браузере приложения исполнить предоставляемую функцию;
по завершении функции, подлежащей выполнению перед исполнением, запрашивать основывающееся на браузере приложение исполнить предоставляемую функцию, а если функция, подлежащая выполнению перед исполнением, терпит неудачу, выдавать сообщение об ошибке, не запрашивая основывающееся на браузере приложение исполнить предоставляемую функцию.

11. Система по п. 10, в которой предоставляемый элемент содержит элемент данных.

12. Система по п. 11, в которой процессорный блок дополнительно выполнен с возможностью:
принимать запрос действия от пользователя клиентского приложения;
определять, содержит ли запрос действия изменение в отношении элемента данных; и
в качестве реакции на определение того, что запрос действия содержит изменение в отношении элемента данных действие, информировать основывающееся на браузере приложение об этом изменении в отношении элемента данных.

13. Система по п. 10, в которой предоставляемый элемент содержит раздел помощи.

14. Система по п. 13, в которой отображение в пользовательском интерфейсе клиентского приложения указания того, что предоставляемый элемент основывающегося на браузере приложения является доступным для пользователя клиентского приложения, содержит добавление раздела помощи в меню помощи, ассоциированное с клиентским приложением.

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

16. Система по п. 15, в которой процессорный блок дополнительно выполнен с возможностью:
принимать выбор упомянутого по меньшей мере одного элемента действия в качестве ввода от пользователя клиентского приложения; и
активировать предоставляемую функцию в основывающемся на браузере приложении.

17. Система по п. 16, в которой процессорный блок дополнительно выполнен с возможностью:
принимать уведомление о результате от основывающегося на браузере приложения в качестве реакции на активацию предоставляемой функции; и
отображать пользователю клиентского приложения сообщение, ассоциированное с этим уведомлением о результате, принятым от основывающегося на браузере приложения.

18. Система по п. 10, в которой процессорный блок дополнительно выполнен с возможностью:
идентифицировать множество предоставляемых элементов, причем каждый из этого множества предоставляемых элементов ассоциирован с по меньшей мере одним из множества основывающихся на браузере приложений; и
создавать в пользовательском интерфейсе клиентского приложения элемент, ассоциированный с каждым из этого множества предоставляемых элементов.

19. Считываемый компьютером носитель, на котором хранится набор инструкций, которыми при их исполнении выполняется способ обеспечения интеграции приложений, содержащий этапы, на которых:
запрашивают через клиентское приложение Web страницу, содержащую основывающееся на браузере приложение;
определяют, содержит ли основывающееся на браузере приложение по меньшей мере одну предоставляемую функцию;
идентифицируют по меньшей мере одну предоставляемую функцию, ассоциированную с основывающимся на браузере приложением;
интегрируют элемент пользовательского интерфейса, ассоциированный с этой по меньшей мере одной предоставляемой функцией, в клиентское приложение;
отображают этот элемент пользовательского интерфейса в клиентском приложении;
принимают запрос исполнения упомянутой по меньшей мере одной предоставляемой функции от пользователя клиентского приложения через элемент пользовательского интерфейса;
определяют, содержит ли клиентское приложение функцию, подлежащую выполнению перед исполнением, которая ассоциирована с упомянутой по меньшей мере одной предоставляемой функцией;
в качестве реакции на определение того, что клиентское приложение содержит функцию, подлежащую выполнению перед исполнением, которая ассоциирована с упомянутой по меньшей мере одной предоставляемой функцией, выполняют функцию, подлежащую выполнению перед исполнением, перед запрашиванием основывающегося на браузере приложения исполнить упомянутую по меньшей мере одну предоставляемую функцию;
по завершении функции, подлежащей выполнению перед исполнением, посылают в основывающееся на браузере приложение запрос исполнения упомянутой по меньшей мере одной предоставляемой функции, а если функция, подлежащая выполнению перед исполнением, терпит неудачу, выдают сообщение об ошибке, не запрашивая основывающееся на браузере приложение исполнить упомянутую по меньшей мере одну предоставляемую функцию;
принимают от основывающегося на браузере приложения результат, ассоциированный с упомянутым запросом исполнения по меньшей мере одной предоставляемой функции основывающимся на браузере приложением;
отображают пользователю клиентского приложения уведомление, ассоциированное с принятым результатом;
определяют, содержит ли клиентское приложение функцию, подлежащую выполнению после исполнения, которая ассоциирована с упомянутой по меньшей мере одной предоставляемой функцией; и
в качестве реакции на определение того, что клиентское приложение содержит функцию, подлежащую выполнению после исполнения, которая ассоциирована с упомянутой по меньшей мере одной предоставляемой функцией, выполняют функцию, подлежащую выполнению после исполнения.



 

Похожие патенты:

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

Изобретение относится к области установки приложений на цифровое электронное устройство. Техническим результатом является эффективная одновременная установка приложений на цифровое электронное устройство с помощью восстановления ложного резервного архива.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении скорости обработки данных.

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

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

Изобретение относится к области проверки исполняемой программы. Техническим результатом является эффективная проверка исполняемой программы относительно нежелательных режимов работы.

Изобретение относится к области применения горячих клавиш между экземплярами приложений. Технический результат - эффективное использование горячих клавиш между экземплярами приложений.

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

Изобретение относится к вычислительной технике. Технический результат заключается в увеличении стабильности работы компьютера за счет изменения функционала приложения в зависимости от определенных событий и функциональных модулей.

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

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

Изобретение относится к методам уведомления о приложениях. Технический результат - эффективное управление уведомлениями, связанными с приложениями. Способ управлениями уведомлениями, связанными с приложениями, реализуемый одним или более вычислительными устройствами, при этом способ содержит этапы, на которых: отображают представление приложения в пользовательском интерфейсе; принимают одно или более уведомлений, которые относятся к приложению, для их отображения в качестве части представления приложения в пользовательском интерфейсе; анализируют манифест приложения без исполнения приложения, чтобы найти критерии, задающие, как и когда должны отображаться упомянутые уведомления в качестве части представления приложения в пользовательском интерфейсе; и отображают представление приложения в пользовательском интерфейсе включающим в себя упомянутые одно или более уведомлений в пользовательском интерфейсе в соответствии с упомянутыми задающими критериями. 3 н. и 17 з.п. ф-лы, 12 ил.

Изобретение относится к области устройств связи для бесконтактного осуществления связи ближнего радиуса действия. Техническим результатом является обеспечение возможности активации приложения на терминале связи посредством получения от электронного устройства информации активации, совместимой с его операционной системой. Устройство связи содержит блок хранения, блок приема и блок передачи. Блок передачи может передавать как первую информацию об активации приложений, так и вторую информацию об активации приложений, каждая из которых представляет собой информацию об активации, сохраненную в блоке хранения, на внешнее устройство, которое передало запрос, независимо от того, является ли запрос, принятый посредством блока приема, запросом от первого внешнего устройства или от второго внешнего устройства. Причем первая информация об активации приложений описывается посредством формата, совместимого с первой программой управления, а вторая информация об активации приложений описывается посредством формата, совместимого со второй программой управления. 6 н. и 14 з.п. ф-лы, 10 ил.

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

Изобретение относится к области генерации случайных чисел. Техническим результатом является повышение эффективности генерации случайных чисел для виртуальных машин. В главной операционной системе вычислительного устройства энтропийные данные собираются на основании, по меньшей мере частично, каждого из одного или более компонентов аппаратного обеспечения вычислительного устройства. Энтропийный пул обновляется на основании, по меньшей мере частично, собранных энтропийных данных, и данные из энтропийного пула предоставляются гостевой операционной системе, выполняемой как виртуальная машина вычислительного устройства. Гостевая операционная система сохраняет энтропийный пул гостевой операционной системы, основанный на данных из энтропийного пула, предоставленных главной операционной системой. Гостевая операционная система осуществляет доступ к энтропийному пулу гостевой операционной системы и использует энтропийный пул гостевой операционной системы в качестве основы для генерации значений, включая случайные числа. 5 н. и 21 з.п. ф-лы, 5 ил.

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

Изобретение относится к области компьютерной техники. Техническим результатом является сокращение времени полного пробуждения вычислительной среды из состояния ожидания с подключением в обновленное состояние исполнения, обновление которого происходило в состоянии ожидания с подключением. Способ для перехода вычислительной среды из состояния ожидания с подключением, соответствующего состоянию с малым энергопотреблением вычислительной среды, в котором конкретным процессам разрешено исполняться, в то время как другие процессы либо приостановлены в состояние приостановки без исполнения и/или регулированы между состоянием исполнения и приостановленным состоянием без исполнения, в состояние исполнения содержит обнаружение запроса выхода из ожидания с подключением, связанного с вычислительной средой; и переход вычислительной среды из состояния ожидания с подключением в состояние исполнения, содержащий: для соответствующих приостановленных процессов, которым назначен класс приостановки, восстановление функциональности исполнения для приостановленного процесса, так что после восстановления в состояние исполнения такие процессы исполняются как обычно, при этом класс приостановки соответствует тому, способен ли процесс приостанавливаться без сбоя вычислительной среды и/или упомянутого процесса и/или не является ли ограниченная функциональность выполнения, связанная с упомянутым процессом, желаемой; и для соответствующих регулированных процессов, которым назначен класс регулирования, восстановление функциональности исполнения для регулированного процесса посредством отмены применения плана регулирования, который был применен к регулированному процессу, при этом класс регулирования соответствует тому, может ли процесс быть регулирован без сбоя вычислительной системы и/или является ли ограниченная функциональность выполнения, связанная с упомянутым процессом, желаемой, при этом функциональность исполнения восстанавливается для регулированного процесса до восстановления функциональности исполнения для приостановленного процесса для процессов, которым назначен привилегированный класс, и для соответствующих процессов, которым назначен привилегированный класс, продолжение функциональности исполнения, при этом функциональность исполнения была разрешена во время состояния ожидания с подключением, при этом привилегированный класс соответствует тому, не может ли процесс регулироваться без сбоя вычислительной системы, и является ли ограниченная функциональность выполнения, ассоциированная с процессом, желаемой. 2 н. и 11 з.п. ф-лы, 9 ил.

Изобретение относится к области отображения изображения приложения. Техническим результатом является отображение изображения приложения операционной системы, устанавливаемой в локальную операционную систему. Раскрыт способ отображения изображения приложения, который применим в устройстве, содержащем первую операционную систему и вторую операционную систему, где первая операционная система содержит запоминающее устройство (ЗУ), содержащее область памяти, назначенную для приложения второй операционной системы, и который включает следующее: выполнение операций считывания и записи второй операционной системой в области памяти и передача запроса на отображение в конце этих операций с целью запросить процесс отображения применительно к изображению приложения, сохраняемому в области памяти; получение запроса от первой операционной системы на отображение от второй операционной системы и считывание изображения приложения, сохраняемого в области памяти; оценка первой операционной системой потребности в администраторе оконного режима для обработки изображения приложения в соответствии с конфигурацией локальной системы отображения изображения, и в случае, если потребность в администраторе оконного режима имеет место, передача изображения приложения к администратору оконного режима и передача изображения приложения, обработанного администратором оконного режима, к графической библиотеке дисплея для обработки; в другом варианте - передача изображения приложения непосредственно к графической библиотеке дисплея для обработки; и определение положения кадрового буфера с помощью драйвера дисплея, передача изображения приложения, обработанного графической библиотекой дисплея, к кадровому буферу, отображение изображения приложения с помощью кадрового буфера. 2 н. и 5 з.п. ф-лы, 5 ил.

Изобретение относится к технологиям отображения трехмерных интерфейсов на базе системы Android. Техническим результатом является повышение быстродействия реакции на управление трехмерным интерфейсом на базе системы Android за счет того, что слой служб системы Android является «мостом», передающим информацию между трехмерным движком и Java терминалом. Предложен способ отображения трехмерного интерфейса на базе системы Android. Способ включает в себя этап, на котором библиотека трехмерного движка передает команду управления пользователя в слой служб системы Android, а слой служб системы Android передает команду управления пользователя в Java терминал. Java терминал создает ответную инструкцию в соответствии с командой управления пользователя и посылает ответную инструкцию в слой служб системы Android, а слой служб системы Android посылает ответную инструкцию в библиотеку трехмерного движка. 3 н. и 12 з.п. ф-лы, 7 ил.

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