RU2693637C2 - Клиентская платформа интеграции сервисов - Google Patents

Клиентская платформа интеграции сервисов Download PDF

Info

Publication number
RU2693637C2
RU2693637C2 RU2016142285A RU2016142285A RU2693637C2 RU 2693637 C2 RU2693637 C2 RU 2693637C2 RU 2016142285 A RU2016142285 A RU 2016142285A RU 2016142285 A RU2016142285 A RU 2016142285A RU 2693637 C2 RU2693637 C2 RU 2693637C2
Authority
RU
Russia
Prior art keywords
service
provider
user
computing device
trust
Prior art date
Application number
RU2016142285A
Other languages
English (en)
Other versions
RU2016142285A3 (ru
RU2016142285A (ru
Inventor
Саар ЯХАЛОМ
СМЕТ Барт Дж.Ф. ДЕ
Дэниел Ли МЭССЕЙ
Дуглас К. БЮРГЕР
И АРКАС Блейз Хилари АГЕРА
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2016142285A publication Critical patent/RU2016142285A/ru
Publication of RU2016142285A3 publication Critical patent/RU2016142285A3/ru
Application granted granted Critical
Publication of RU2693637C2 publication Critical patent/RU2693637C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

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

Description

Уровень техники
[0001] Один аспект использования мобильных вычислительных устройств заключается в том, что устройство включает в себя различные приложения, которые пользователь будет устанавливать, для выполнения одного или более сервисов. Вообще говоря, "приложение" - это маленькая специализированная программа, направленная на выполнение задачи или маленького множества взаимосвязанных задач. Довольно часто коллекции приложений на устройстве мобильной связи представляют программы от нескольких продавцов. Кроме того, каждое приложение будет обычно разработано для работы независимо от другого приложения или прикладной программы и, таким образом, будет поддерживать свой собственный набор пользовательских данных (данных, относящихся к пользователю устройства, в том числе персональных данных).
[0002] В дополнение к мобильному вычислительному устройству человек/пользователь довольно обычно владеет другими вычислительными устройствами и/или использует их. Например, в течение дня пользователь может использовать свой смартфон, а также одно или более других вычислительных устройств, таких как планшетный компьютер, портативный компьютер, игровая приставка и настольный компьютер. Каждое из этих устройств (являясь вычислительным устройством) имеет разные возможности по сравнению с другими и будет иметь по меньшей мере некоторые приложения и/или прикладные программы, которые не установлены на всех других устройствах - хотя может иметься некоторое наложение приложений между некоторыми или всеми устройствами. Кроме того, каждое из этих вычислительных устройств хранит и/или поддерживает персональные данные (пароли, предпочтения, демографическую информацию, сведения об учетной записи, местоположение и т.д.) пользователя.
[0003] Хотя коллекция приложений может обеспечить полноценное множество функций/сервисов в интересах пользователя, пользователь часто является точкой интеграции сервисов и информационного содержания (контента), обеспечиваемых каждым из приложений. Однако все больше пользователей заинтересованы в том, чтобы вычислительное устройство (или вычислительные устройства) понимало их и на основе этого понимания обеспечивало персонализированную помощь, адаптированную к их конкретным потребностям и контексту.
Сущность изобретения
[0004] Следующее краткое изложение сущности изобретения обеспечено для того, чтобы в упрощенной форме представить подборку концепций, которые далее описаны в подробном описании. Это краткое изложение сущности изобретения не предназначено для выявления ключевых признаков или основных признаков заявленного изобретения, а также не предназначено для использования для ограничения объема заявленного изобретения.
[0005] В соответствии с аспектами раскрытого изобретения представлены системы и способы для обеспечения клиентской интеграции приложений и сервисов. Исполнение платформы интеграции на вычислительном устройстве обеспечивает интеграцию различных приложений, прикладных программ, сервисов, датчиков и т.п. После приема запроса сервиса платформа интеграции осуществляет доступ к реестру множества сервисов соответствующего множества провайдеров, зарегистрированных на платформе интеграции. Каждому из сервисов, зарегистрированных на платформе интеграции, соответствует уровень доверия в иерархии уровней доверия. Платформа интеграции осуществляет итеративный поиск провайдера запрашиваемого сервиса в реестре в соответствии с иерархией уровней доверия, начиная с наибольшего уровня доверия из уровней доверия и продолжая к меньшему уровню доверия, пока не будет осуществлен поиск на всех уровнях иерархии без найденного провайдера запрашиваемого сервиса.
Краткое описание чертежей
[0006] Упомянутые выше аспекты и многие сопутствующие преимущества раскрытого изобретения станут легче оценены, когда они лучше понятны со ссылкой на следующее описание, рассматриваемого вместе со следующими чертежами.
[0007] Фиг. 1 демонстрирует иллюстративную сетевую среду, подходящую для реализации аспектов раскрытого изобретения;
[0008] Фиг. 2 демонстрирует различные компоненты и процессы в исполнении на вычислительном устройстве при обеспечении клиентской интеграции приложений и сервисов;
[0009] Фиг. 3 иллюстрирует уровни доверия и порядок исполнения приложений и сервисов на мобильном вычислительном устройстве;
[0010] Фиг. 4 иллюстрирует график, показывающий соотношение безопасности персональных данных как функцию увеличения персонализации (с соразмерным увеличением количества доступа к персональным данным);
[0011] Фиг. 5 иллюстрирует блок-схему последовательности операций иллюстративной процедуры для исполнения приложений и сервисов в соответствии с аспектами раскрытого изобретения;
[0012] Фиг. 6 иллюстрирует блок-схему последовательности операций иллюстративной процедуры для взаимодействия с клиентской платформой интеграции в соответствии с аспектами раскрытого изобретения;
[0013] Фиг. 7 иллюстрирует блок-схему последовательности операций иллюстративной процедуры для интеграции приложений и сервисов в иерархию клиентской платформы интеграции;
[0014] Фиг. 8 - блок-схема последовательности операций, демонстрирующая иллюстративную процедуру для оценки, следует ли использовать сервис внешнего уровня, даже если сервис может быть доступен от более доверительного уровня; и
[0015] Фиг. 9 иллюстрирует блок-схему иллюстративного мобильного вычислительного устройства, подходящего для реализации аспектов раскрытого изобретения.
Подробное описание
[0016] В целях ясности термин "иллюстративный" в этом документе должен интерпретироваться как служащий в качестве иллюстрации или примера чего-либо, и он не должен интерпретироваться как идеальная и/или основная иллюстрация этого объекта. Термин "персональные данные" соответствует информации, данным, метаданным, предпочтениям, поведению соответствующего пользователя, а также правилам для взаимодействия с пользователем. Вообще говоря, персональные данные являются информацией о соответствующем пользователе, которая представляет некоторый аспект пользователя. Персональные данные могут содержать такие данные, как (в качестве примера, но без ограничения) пол, возраст, образование, демографические данные, место жительства, гражданство и т.п. Персональные данные также могут содержать предпочтения и интересы, компетенции, способности и т.п. Кроме того, персональные данные могут содержать правила (в том числе правила, установленные соответствующим пользователем, а также правила, которые изучены и/или выведены посредством анализа, как описано ниже) для взаимодействия с соответствующим пользователем при обеспечении персональной помощи.
[0017] Как упомянуто выше, термин "приложение" ссылается на обычно маленькую специализированную программу, направленную на выполнение задачи или малого множества взаимосвязанных задач на вычислительном устройстве. Приложения могут быть предварительно установлены на вычислительном устройстве или могут быть установлены по указанию пользователя вычислительного устройства. Термин "прикладная программа" ссылается на программу, которая выполняет одну или более задач на вычислительном устройстве. Как правило, прикладная программа имеет более широкий и полноценный контекст, чем приложение, но и приложение, и прикладная программа являются программами. Поскольку и приложения, и прикладные программы могут быть установлены на вычислительных устройствах, подходящих для реализации аспектов раскрытого изобретения, в целях краткости (и если специально не определено обратное), последующая ссылка на термин "приложение" должна интерпретироваться как охватывающая и приложения, и прикладные программы.
[0018] Как будет описано ниже, платформа интеграции объединяет приложения и датчики, которые расположены локально на вычислительном устройстве, а также те, которые доступны на других устройствах (таких как родственные устройства того же уровня). Безусловно, приложения и датчики, устройства и т.д. индивидуально могут обеспечивать данные, потоки данных, функциональность, действия и т.п. В целях этого раскрытия данные, потоки данных, функциональность, признаки, действий различных приложений, датчиков, устройств и т.д., которые зарегистрированы на платформе интеграции, будут упоминаться как сервисы (данные, потоки, функциональность и т.д.), обеспечиваемые провайдерами (приложениями, датчиками, устройствами и т.д.).
[0019] Одно решение при обеспечении персонализированной помощи состоит в том, чтобы развернуть онлайновый сервис, который может обеспечить персонализированную помощь большому количеству подписчиков, посредством использования большого количества компьютеров и/или процессоров, которые собирают, сохраняют, сопоставляют, анализируют и управляют большими объемами данных, собранными со всего мира. В этой единой модели все приложения на различных компьютерах пользователей полагаются на этот единый онлайновый сервис для предоставления сервисов, которые желает пользователь. Как правило, подписчики (те, кто желает принять персонализированную помощь) различные элементы персональных данных онлайновому сервису через приложения и разрешают онлайновому сервису контролировать многочисленные аспекты жизни подписчиков, чтобы изучить как можно больше персональных данных о них. Почти каждое действие, которое подписчики могут совершить (особенно в отношении их компьютеров), захватывается и анализируется, чтобы идентифицировать дополнительные персональные данные; эти действия включают в себя, но без ограничения, онлайновое поведение, покупки, предпочтения, принадлежность к группам, банковскую информацию и т.д. Онлайновый сервис затем использует свою вычислительную мощность, чтобы обеспечить персонализированную помощь на основе накопленной персональной информации, которую он собирает и поддерживает относительно своих подписчиков.
[0020] Работа крупного единого онлайнового сервиса, описанного выше, является затратной. Чтобы поддерживать такой большой онлайновый сервис готовым к эксплуатации, онлайновый сервис должен иметь поток поступлений дохода. С другой стороны, подписчики/отдельные пользователи желают получать свою персонализированную помощь бесплатно. Вместо того, чтобы непосредственно собирать с подписчиков плату за сервис персонализации, единый онлайновый сервис формирует свой поток поступлений дохода, монетизируя персональные данные своих подписчиков. Общее выражение для этой монетизации - "окупаемый рекламой" или "финансируемый продавцами". Онлайновый сервис монетизирует персональные данные своих подписчиков, идентифицируя среди своих подписчиков людей, имеющих различные черты, интересы, демографию и атрибуты (определенные персональными данными, которые онлайновый сервис принял и изучил относительно своих подписчиков), и монетизируя идентифицированную информацию посредством размещения рекламных объявлений для этих людей от имени рекламодателей. Безусловно, продажа рекламных объявлений, направленных подписчикам, представляет собой только один путь, которым единый онлайновый сервис (как описано выше) может монетизировать персональные данные своих подписчиков. В качестве альтернативы онлайновый сервис может просто продавать списки контактов и/или информацию. Безусловно, продажа списков контактов и/или информации относительно подписчиков поднимает вопросы относительно конфиденциальности человека.
[0021] Подписчики часто рады принять "бесплатную" персонализированную помощь, настолько, что терпят рекламные объявления, которые им часто представляются. Кроме того, они в основном не знают, и им, вероятно, были бы чрезвычайно неприятно узнать, каком количеством их персональных данных онлайновые сервисы обладают и монетизируют и/или открывают третьим лицам (например, рекламодателям, продавцам, организациям и т.д.) Безусловно, онлайновый сервис мог бы умиротворить своих подписчиков, заявляя, что это не причинит вреда его подписчикам, однако все же онлайновый сервис входит в противоречие: онлайновый сервис формирует доход, предоставляя персональные данные своих подписчиков третьим лицам (посредством рекламных объявлений, посредством продажи списков контактов и т.д.). Кроме того, чем более специфичны персональные данные, которые предоставляются третьим лицам, тем больше денежное вознаграждение для онлайнового сервиса. К сожалению, чем более специфичны персональные данные, которые открыты, тем больше риск и больше возможность злоупотреблений по отношению к человеку или людям с открытыми персональными данными.
[0022] Безусловно, даже без учета риска предоставления персональных данных известным третьим лицам (которые могут проявлять или могут не проявлять сдержанность относительно персональных данных пользователей), частые и злополучные случаи иллюстрируют, что просто храня существенную персональную информацию для большого количества пользователей/подписчиков, онлайновый сервис создает заманчивую, соблазнительную цель для воров персональных данных. Таким образом, хотя уровень персонализированной помощи может быть непосредственно взаимосвязан с количеством персональных данных, которые известны о человеке, личная безопасность этого человека (обусловленная риском раскрытия или неправильного использования персональных данных) также зависит от количества персональных данных человека, которым обладает онлайновый сервис. Как показано на фиг. 4, хотя идеалом была бы высокая личная безопасность (т.е., безопасность персональных данных) и высокая персонализация, в действительности для единого онлайнового сервиса уровень личной безопасности (в отношении персональных данных) уменьшается с ростом уровня персонализации.
[0023] В отличие от единого онлайнового сервиса и в соответствии с аспектами раскрытого изобретения персональный фоновый процесс, работающий на собственном вычислительном устройстве (или вычислительных устройствах) человека, сформулирован в родственной заявке на патент США № 14/187567, зарегистрированной 24 февраля 2014 года и названной "Local Personal Daemon". Как сформулировано в родственной заявке и посредством определения, "фоновый процесс" ("демон") - это процесс или поток исполнения, работающий на вычислительном устройстве, который исполняется в фоновом режиме вычислительного устройства вместо того, чтобы исполняться под прямым управлением пользователя компьютера. Однако, хотя фоновый процесс выполняется в фоновом режиме вычислительного устройства, пользователь компьютера может взаимодействовать с фоновым процессом и через взаимодействие направлять действия фонового процесса. Кроме того, "персональный фоновый процесс" является фоновым процессом, который имеет доступ к персональным данным, собирает, выводит, поддерживает персональные данные и реагирует на персональные данные пользователя компьютера при обеспечении персонализированной помощи. Персональный фоновый процесс контролирует многочисленные аспекты действий соответствующего пользователя, чтобы идентифицировать, выводить и/или изучать дополнительные персональные данные (когда и где это доступно) относительно пользователя, а также выводит и изучает правила для действия от имени пользователя, т.е., обеспечивает персонализированную помощь пользователю. Кроме того, персональный фоновый процесс может изучать и/или подтверждать персональные данные, особенно в отношении выведенной информации и/или правил для действия от имени пользователя, относительно пользователя через диалоговое окно и другого взаимодействия с пользователем, в том числе подтверждения ранее полученных выводов относительно пользователя, запроса пользовательских настроек и других персональных данных и т.п. ʺЛокальный персональный фоновый процессʺ является персональным фоновым процессом, который выполняется "локально", т.е., на вычислительном устройстве пользователя. Поскольку локальный персональный фоновый процесс выполняется на вычислительном устройстве пользователя, но имеет доступ к сервисам и информации в сети, говорят, что локальный персональный фоновый процесс работает "на краю облака". В целях этого раскрытия "персональный фоновый процесс" и "локальный персональный фоновый процесс" должны рассматриваться как синонимы.
[0024] Фраза "персональная помощь" в контексте персонального фонового процесса, обеспечивающего персональную помощь соответствующему пользователю, должна интерпретироваться как выполнение одного или более действий от имени пользователя. Как правило, хотя не исключительно, персональная помощь инициируется одним или более событиями, относящимися к аспектам текущего контекста пользователя. В качестве примера, но без ограничения, одно или более действий персональной помощи могут включать в себя: предоставление рекомендации пользователю, чтобы пользователь предпринял конкретные действия; получение данных и/или сервисов от имени пользователя; подтверждение с помощью пользователя выведения персональных данных из анализа действий пользователя; подтверждение с помощью авторизации пользователя, чтобы персональный фоновый процесс предпринял действие от имени пользователя; предоставление уведомления пользователю относительно одного или более событий; обеспечение альтернатив текущим действиям пользователя; рекомендацию места мероприятия; исполнение действия от имени пользователя на вычислительном устройстве; рекомендацию альтернативных и/или взаимосвязанных действий или элементов; и т.п. В отличие от варианта единого онлайнового сервиса, который собирает и монетизирует персональные данные своих подписчиков, персональный фоновый процесс не делится персональной информацией соответствующего пользователя с другими сторонними объектами, за исключением и в соответствии с правилами и указаниями, установленными пользователем.
[0025] В соответствии с аспектами раскрытого изобретения, персональный фоновый процесс, исполняющийся на вычислительном устройстве пользователя, становится точкой интеграции различных сервисов, доступных на вычислительном устройстве пользователя или через вычислительное устройство пользователя. Вычислительное устройство включает в себя клиентскую платформу интеграции, на которую персональный фоновый процесс полагается при обеспечении персонализированной помощи пользователю, соответствующему вычислительному устройству. Специалисты в области техники поймут, что в этом контексте "платформа" - это коллекция исполняемых процессов и сервисов (исполняемых на вычислительном устройстве), которые обеспечивают конкретный набор функциональности. В случае этого раскрытия эта функциональность представляет собой интеграцию сервисов, в том числе локальных сервисов, а также тех, которые не находятся на локальном вычислительном устройстве. Платформа интеграции - это "клиентская" платформа интеграции, поскольку она реализована на пользовательском (т.е., клиентском) вычислительном устройстве, а не на удаленных устройствах в облаке - хотя платформа интеграции может взаимодействовать с удаленными источниками и получать от них сервисы. Одной такой клиентской платформой интеграции является платформа On{Event}, описанная в заявке на патент ʺLocal Personal Daemonʺ. В соответствии с аспектами раскрытого изобретения, и как будет описано более подробно, платформа интеграции реализует "локальный первый" шаблон для получения сервисов.
[0026] Теперь обратимся к фиг. 1, которая является блок-схемой, демонстрирующей иллюстративную сетевую среду 100, подходящую для реализации аспектов раскрытого изобретения. Как показано, сетевая среда 100 включает в себя одно или более пользовательских вычислительных устройств 102-106. По меньшей мере некоторые пользовательские вычислительные устройства подходящим образом выполнены с возможностью размещать в себе персональный фоновый процесс и соответствующую платформу интеграции, такую как пользовательское вычислительное устройство 102, соответствующее пользователю 101. Специалистам в области техники будет понятно, что подходящие пользовательские вычислительные устройства включают в себя в качестве примера, но без ограничения: планшетные вычислительные устройства; устройства смартфона, такие как вычислительное устройство 102; так называемые вычислительные устройства "планшетных телефонов" (т.е., вычислительные устройства, которые охватывают собой функциональность типичных планшетных вычислительных устройств и устройств смартфона); портативные компьютеры; настольные компьютеры; носимые вычислительные устройства; карманные персональные компьютеры; игровые приставки и т.п.
[0027] Сетевая среда 100 также включает в себя сеть 110, посредством которой пользовательские вычислительные устройства 102-106 могут быть связаны с доступными по сети устройствами и/или сервисами, распределенными по всей сети, и могут осуществлять к ним доступ. Например, как показано на фиг. 1, с сетью 110 также соединены с возможностью связи провайдеры 112-116 сетевых сервисов. Провайдеры сетевых сервисов представляют собой онлайновые сервисы (поддерживаемые вычислительными устройствами), которые предоставляют один или более сервисов другим, в том числе пользователям, таким как пользователь 101. Эти провайдеры 112-116 сетевых сервисов включают в себя в качестве примера, но без ограничения: провайдеров сервиса социальной сети, таких как провайдер 116 сетевых услуг; поисковые системы, такие как поисковая система 114; провайдеров информации о трафике, таких как провайдер 112 информации о трафике; информационные сервисы (не показаны); метеослужбы (не показаны); сервисы онлайновых игр (не показаны); банковские сервисы (не показаны) и т.п. Действительно, кажется, что из онлайнового сервиса может быть получен сервис любого типа, который можно пожелать (либо бесплатно, либо за плату).
[0028] В соответствии с аспектами раскрытого изобретения, и как будет описано более подробно ниже, пользовательское вычислительное устройство (такое как пользовательское вычислительное устройство 102) с платформой интеграции реализовано как устройство на ʺкраю облакаʺ, и это означает, что пока происходит локальная обработка, вычислительное устройство может получать сервисы по сети 110 от других вычислительных устройств и провайдеров сетевых сервисов.
[0029] Специалисты в области техники поймут, что многие пользователи имеют/используют больше чем одно вычислительное устройство. Действительно, для пользователя характерно иметь, в качестве примера, смартфон, а также планшетное вычислительное устройство, портативный компьютер и/или настольный компьютер. Таким образом в соответствии с аспектами раскрытого изобретения, персональный фоновый процесс, работающий на вычислительном устройстве, таком как вычислительное устройство 102, может быть выполнен с возможностью делиться персональными данными соответствующего пользователя 101 компьютера с аналогичным образом сконфигурированными ʺродственными вычислительными устройствами того же уровняʺ, т.е., с вычислительными устройствами, соответствующими тому же пользователю, каждое из которых конфигурируется с помощью платформы интеграции. Например, пользовательские вычислительные устройства 102-104 могут являться родственными вычислительным устройством того же уровня для пользователя 101 компьютера. Как будет описано более подробно ниже, сервисы, зарегистрированные на платформе интеграции на родственном вычислительном устройстве того же уровня, обладают уровнем доверия, в результате чего эти сервисы обычно предпочтительны по сравнению с сервисами, которые могут быть доступны из других источников.
[0030] В отношении конфигурации подходящего пользовательского вычислительного устройства фиг. 2 иллюстрирует схему 200 различных компонентов и процессов, размещенных на подходящим образом сконфигурированном пользовательском вычислительном устройстве, таком как пользовательское вычислительное устройство 102, при обеспечении клиентской интеграции приложений и сервисов. Пользовательское вычислительное устройство 102 включает в себя одно или более приложений или сервисов, таких как приложения 202-210, исполняющиеся (или исполняемые) на вычислительном устройстве. Среди приложений в вычислительное устройство 102 включен персональный фоновый процесс 206, исполняемый от имени соответствующего пользователя 101.
[0031] Также на подходящим образом сконфигурированном пользовательском вычислительном устройстве 102 исполняется платформа 220 интеграции. Платформа 220 интеграции является расширяемой платформой событий/действий, т.е., платформа обнаруживает возникновение действий в отношении одного или более датчиков (таких как иллюстративные датчики 222-232) или сервисов и в ответ исполняет одно или более действий, соответствующих обнаруженным событиям на пользовательском вычислительном устройстве. Датчики 222-232 соответствуют аппаратным датчикам на пользовательском вычислительном устройстве, таким как географические датчики, акселерометры, таймеры, датчики сетевых событий, датчики источника питания, датчики нагрузки процессора, световые и звуковые датчики и т.п. Безусловно, приложения и сервисы 202-210 также могут быть зарегистрированы как программные датчики поскольку они формируют события, основанные на некоторых критериях, такие как вход в систему, отметки "нравится", текстовые сообщения и т.д. Платформа интеграции 220 является расширяемой, поскольку датчики, в том числе программные датчики, могут быть добавлены/зарегистрированы на платформе, и действия могут быть добавлены и/или удалены как сервисы; и другие приложения и прикладные программы (в том числе платформа 220 интеграции) могут подписаться на обнаруживаемые события датчиков. В соответствии с этим, хотя это не показано, платформа 220 интеграции включает в себя интерфейс подписки, посредством которого одно или более приложений или прикладных программ могут подписаться на сервисы датчиков, а также интерфейс публикации, посредством которого провайдеры сервисов (приложения, прикладные программы, датчики, устройства и т.д.) может "публиковать" на платформе интеграции предоставляемые сервисы, а также информацию о том, как вызвать сервис. Платформа 220 интеграции также включает в себя интерфейс ввода (не показан), посредством которого различные датчики/сервисы 222-232 отправляют уведомления платформе. В дополнение к упомянутым выше провайдерам сервисов платформой 220 интеграции также могут использоваться другие менее традиционные провайдеры, в том числе сценарии, вычислительные графы и/или механизмы управления существующими провайдерами.
[0032] Относительно расширяемости платформы 220 интеграции следует понимать, что приложения (или прикладные программы) и сервисы могут зарегистрироваться на платформе интеграции, чтобы подписаться на события от других датчиков, сервисов и/или приложений. После приема уведомления о событии по подписке приложения-подписчики и сервисы-подписчики затем могут использовать информацию из источников по подписке, чтобы сформировать дополнительные данные и/или функциональность. Безусловно, эти приложения-подписчики и сервисы-подписчики могут опубликовать данные, сервисы и/или функциональность, которые они формируют, через платформу 220 интеграции, в результате чего другие приложения могут подписаться на их сервисы. Иными словами, приложение (или прикладная программа или сервис) может зарегистрироваться на платформе 220 интеграции как потребитель сервисов/данных/функциональности других приложений и сервисов, а также зарегистрироваться как издатель/производитель сервисов, данных или функциональности, которые могут быть использованы другими сервисами и приложениями.
[0033] В различных вариантах осуществления раскрытого изобретения, и в качестве конструктивного признака реализации, когда приложение (или сервис) подписывается как потребитель другого приложения (или датчика, или сервиса), платформа 220 интеграции может обеспечить информацию и/или способность приложения-подписчика принимать сервис по подписке без дальнейшего участия платформы 220 интеграции. Безусловно, в альтернативных вариантах осуществления платформа 220 интеграции может обеспечивать "связывающий" аспект между сервисом-производителем и сервисом-потребителем.
[0034] Сервис-подписчик/потребитель может подписаться на все или заданные производимые сервисы, которые предоставляют конкретный сервис (или данные, или функциональность). Например, сервис-подписчик или приложение-подписчик могут подписаться на датчик, который обнаруживает/сообщает текущие уровни заряда батареи на локальном вычислительном устройстве, а также на сервис-издатель, который использует данные датчика и формирует дополнительные сведения относительно того, сколько времени локальное вычислительное устройство может продолжать работать при текущих уровнях нагрузки процессора при заданных текущих уровнях заряда. На платформе 220 интеграции приложение может подписаться на заданный сервис/приложение-издатель или, в качестве альтернативы, на множество сервисов/приложений-издателей в соответствии с типом желаемых данных/сервисов/функциональности.
[0035] В соответствии с аспектами раскрытого изобретения датчики и сервисы 222-232 (в том числе и аппаратные, и программные датчики и сервисы), которые доступны на вычислительном устройстве 102, зарегистрированы на платформе 200 интеграции. Регистрация приложения, устройства или датчика содержит информирование платформы интеграции о природе сервиса (или сервисов), который обеспечивается регистрируемым объектом, и сообщает платформе о природе события, которое может быть инициировано и принято платформой. Как указано выше, регистрация на платформе интеграции 220 сообщает платформе о том, как взаимодействовать с провайдером сервиса, чтобы он мог быть вызван для обеспечения сервиса. Посредством информации в реестре другие приложения, прикладные программы или сервисы могут видеть данные и/или сервисы, обеспечиваемые во всей системе, и, либо подписываются на событие (или события), формируемое зарегистрированным сервисом/датчиком, либо могут исполнить зарегистрированное приложение/прикладную программу/датчик, чтобы извлечь выгоду из его сервисов и данных. Персональный фоновый процесс 206, действуя как точка интеграции различных приложений и сервисов для соответствующего пользователя, подписывается на приложения и сервисы платформы 220 интеграции при обеспечении персональной помощи пользователю.
[0036] В соответствии с различными вариантами осуществления раскрытого изобретения регистрация сервиса на платформе 220 интеграции проводится как часть процесса установки сервиса на вычислительное устройство. В соответствии с одним вариантом осуществления регистрация на платформе 220 интеграции может произойти в соответствии с декларацией, соответствующей сервису. В качестве альтернативы сервис может быть выполнен с возможностью передавать свою регистрационную информацию платформе интеграции как часть процесса инициализации/установки. В качестве альтернативы после установки сервиса платформа интеграции 220 может быть выполнена с возможностью обратиться к глобальному списку регистрационной информации. Еще в одном альтернативном варианте осуществления соответствующий пользователь может вручную добавить регистрационную информацию сервиса в платформу 220 интеграции.
[0037] В соответствии с аспектами раскрытого изобретения в дополнение к сохранению информации относительно сервисов каждого провайдера каждому сервису, зарегистрированному на платформе интеграции, соответствует уровень доверия в иерархии уровней доверия. Уровень доверия в целом является показателем доверия, которое соответствующий пользователь имеет в отношении сервиса. Обратимся к фиг. 3, на которой локальным сервисам (т.е., расположенным на вычислительном устройстве с платформой 220 интеграции) обычно соответствует наивысший уровень доверия, охарактеризованный на фиг. 3 как уровень 302 "Я". Как уже упомянуто, сервисы, размещенные не на локальном устройстве, также могут быть зарегистрированы на платформе 220 интеграции. Действительно, сервисы на родственных вычислительных устройствах того же уровня занимают аналогичный высокий уровень доверия, второй по счету уровень доверия, упомянутый на фиг. 3 как уровень 304 "Мой". Те сервисы, которые соответствующий пользователь может считать доверительными, например, сервисы от устройств в сетях, членом которых является пользователь, или к которым соответствующему пользователю разрешен доступ, могут получить уменьшенный уровень доверия, третий по счету уровень доверия, упомянутый на фиг. 3 как уровень 306 "Наш". Те сервисы, которые доступны платформе 220 интеграции на вычислительном устройстве 102, но не обязательно соответствуют более высоким уровням доверия, обычно включены в самый низкий уровень доверия, упомянутый на фиг. 3 как уровень 308 "Другие".
[0038] В соответствии с аспектами раскрытого изобретения, когда платформой 220 интеграции принят запрос сервиса, платформа интеграции обычно пытается удовлетворить запрос с помощью сервисов, которые пользуются наибольшим доверием, т.е., находятся на уровне доверия "Я". Будучи не в состоянии найти соответствующий сервис на пользующемся наибольшим доверием уровне, платформа 220 интеграции будет последовательно рассматривать внешние уровни, чтобы удовлетворить запрос, как обозначено стрелкой 312. Безусловно, могут быть случаи, когда выгодно получить сервисы от провайдеров сервисов, которые не находятся на локальном вычислительном устройстве, несмотря на то, что сервис доступен на локальном устройстве. Например (в качестве примера, но без ограничения), если заряд батареи низкий, и известно, что конкретный сервис использует значительное количество электроэнергии, может быть выгодно получить сервис от вычислительного устройства, отличающегося от локального вычислительного устройства. Аналогичным образом, доступность и способность обработки, ограничения памяти, доступность данных, пропускная способность сети, показатели сетевого соединения, время суток и т.п. могут быть рассмотрены при определении, следует ли получить сервис от провайдеров/датчиков на локальном вычислительном устройстве (на уровне 302 доверия "Я"), или получить сервис от внешнего уровня доверия, в частности, на уровне 304 доверия "Мои".
[0039] Также на фиг. 3 показан динамический уровень 310 доверия. В соответствии с аспектами раскрытого изобретения пользователь может временно установить динамическую сеть с другим устройством (например, временную сеть между двумя устройствами мобильной связи) в целях общения, обеспечения данных другому пользователю и т.д. В соответствии с этим платформа 220 интеграции может временно поставить в соответствие "динамический" уровень 310 доверия с приложениями/сервисами/датчикам устройств в динамической сети на время соединения. Безусловно, хотя динамический уровень 310 на фиг. 3 иллюстрирует, что "динамический" уровень 310 попадает между уровнем 304 "Мой" и уровнем 306 "Наш", это сделано только в целях иллюстрации и не должно рассматриваться как ограничение раскрытого изобретения. Уровень доверия, предусматривающий "динамический" уровень 310, может быть конфигурируемым образом помещен в другие местоположения в иерархии уровней доверия или определен вручную соответствующим пользователем.
[0040] В соответствии с различными вариантами осуществления раскрытого изобретения, хотя приведенные выше абзацы относительно фиг. 3 описывают, каким образом платформа 220 интеграции выполняет поиск сервисов от внешних вычислительных устройств, когда они не доступны (или их исполнение практически неосуществимо) на локальном вычислительном устройстве, в пределах платформы интеграции не отправляются сообщения другим вычислительным устройствам. Вообще говоря, когда платформа 220 интеграции надеется получать сервис от удаленного устройства в соответствии с обнаруживаемым событием или сигналом, один или более сервисов, выделенных для связи с удаленными устройствами, вызывается для отправки запроса сервиса удаленному устройству.
[0041] Относительно шаблона, описанного выше в отношении фиг. 3, хотя определение местонахождения сервисов, начиная с уровня "Я" и продолжая дальше вовне в соответствии с уровнями доверия, может быть преимущественно реализовано на собственном мобильном вычислительном устройстве пользователя, могут быть случаи, когда может быть оправдана другая политика. Например, родители могут пожелать быть осведомлены о различных функциях или иметь контроль над различными функциями, которые могут быть доступны на мобильном вычислительном устройстве ребенка. При таких обстоятельствах и в соответствии с политикой, установленной родителями для ребенка, может быть изменен порядок поиска сервиса: например, родители могут идентифицировать различные сервисы, которые они считают пользующимися наибольшим доверием (выше тех, которые размещены на локальном вычислительном устройстве), родители могут ограничить уровни доверия, на которых платформа 220 интеграции может искать запрашиваемый сервис, и т.п. Безусловно, коммерческие предприятия также могут пожелать реализовать политики для устройств мобильной связи, которые они предоставляют своим сотрудникам.
[0042] Теперь обратимся к фиг. 5, которая иллюстрирует блок-схему последовательности операций иллюстративной процедуры 500 для получения сервисов в соответствии с аспектами раскрытого изобретения, которые могут быть реализованы платформой 220 интеграции на мобильном вычислительном устройстве 102 пользователя. Сначала на этапе 502 принимается запрос сервиса от провайдера сервисов, зарегистрированных на платформе 220 интеграции. На этапе 504 поиск провайдера/сервиса, который удовлетворял бы запросу, начинается с локальных сервисов, т.е., сервисов на уровне с наибольшим доверием (на уровне 302 доверия "Я"). На этапе 506 на текущем уровне (первоначально уровень с наибольшим доверием) осуществляется поиск зарегистрированного сервиса, который удовлетворял бы запросу. На этапе 508 выполняется определение относительно того, найден ли сервис на текущем уровне доверия. Если не найден, процедура 500 переходит на этап 412, описанный ниже. Однако, если запрашиваемый сервис найден, т.е., поиск может быть завершен на провайдере на текущем уровне, процедура 500 переходит на этап 510, на котором выдается команда найденному провайдеру для сервиса. После этого процедура 500 заканчивается.
[0043] На этапе 512 выполняется определение относительно того, имеется ли другой, более низкий уровень доверия для поиска сервисов. Если уровня нет, что означает, что запрашиваемый сервис недоступен, на этапе 514 процедура возвращает показание, что запрашиваемый сервис не был найден. В ином случае, если имеется другой уровень для поиска, процедура 500 переходит на этап 516, на котором выбирается следующий уровень доверия (как описано выше в отношении фиг. 3), и процесс возвращается на этап 506, описанный выше.
[0044] Теперь обратимся к фиг. 6, которая иллюстрирует блок-схему последовательности операций иллюстративной процедуры 600 для взаимодействия с клиентской интеграцией, платформой интеграции в соответствии с аспектами раскрытого изобретения, которые могут быть выполнены персональным фоновым процессом. Сначала на этапе 602 отправляется запрос сервисной информации относительно приложения или сервиса, зарегистрированного на платформе интеграции. На этапе 604 принимается информация относительно сервиса. На этапе 606 выполняется определение относительно того, идентифицирует ли требуемая сервисная информация текущий доступный сервис (в ином случае сервис не доступен). Если идентифицирует, процедура переходит на этап 608, на котором отправляется запрос идентифицированному сервису. После этого процедура 600 заканчивается.
[0045] Фиг. 7 иллюстрирует блок-схему последовательности операций иллюстративной процедуры 700 для интеграции сервисов в иерархию клиентской платформы 220 интеграции. Сначала на этапе 702 платформа 220 интеграции принимает информацию относительно сервиса (или приложения, или датчика через входной интерфейс, как описано выше.) На этапе 704 платформа 220 интеграции определяет уровень доверия в иерархии уровней доверия, который должен соответствовать сервису. Как указано выше, уровни доверия могут соответствовать тому, доступен ли сервис на локальном устройстве, на родственном устройстве того же уровня, в доверенной сети устройств, в динамической сети или иным образом. На этапе 706 реестр платформы 220 интеграции обновляется с помощью информации, включающей в себя соответствующий уровень доверия. После этого процедура 700 заканчивается.
[0046] Относительно описанной выше оценки из фиг. 5 в отношении этапа 510 из процедуры 500, фиг. 8 является блок-схемой последовательности операций, демонстрирующей иллюстративную процедуру 800 для оценки, следует ли использовать сервис внешнего уровня даже при том, что может быть доступен сервер из более доверительного уровня (например, на локальном вычислительном устройстве.) Сначала на этапе 802 выполняется определение относительно того, является ли сервис, доступный на текущем уровне (который может соответствовать пользующемуся наибольшим доверием уровню, например, на локальном вычислительном устройстве), доступным также на другом уровне в доверительной иерархии. Если не является доступным, на этапе 804 должен использоваться сервис на текущем уровне, и процедура 800 заканчивается. Однако, если сервис доступен на внешнем уровне доверия, процедура переходят на этап 806.
[0047] На этапе 806 различные критерии относительно использования сервиса внешнего уровня оценены. Как обозначено упомянутый выше, эти критерии могут включить в себя (в качестве примера, но без ограничения), низок ли заряд батареи текущего вычисления; как ли конкретный сервис, известно, использует значительное количество электропитания; доступность обработки и способность другого вычислительного устройства и локального вычислительного устройства; ограничения памяти; доступность данных к локальному вычислительному устройству против другого вычислительного устройства; сетевая мощность полосы пропускания текущего устройства; показатели сетевого соединения локального вычислительного устройства; время суток; проблемы безопасности данных; и т.п. основанный на оценке (или оценках), при решении блокируют 808, определение сделано относительно того, использовать ли сервис внешнего уровня. В противном случае процедура 800 возвратов, чтобы заблокировать 804, куда показание возвращено, что сервис на текущем уровне должен использоваться, после которого заканчивается процедура 800. В качестве альтернативы на этапе 810 показание возвращено, чтобы использовать сервис на внешнем уровне (в иерархии доверия) от текущего уровня. После этого процедура 800 заканчивается.
[0048] Относительно различных описанных выше процедур и процессов, хотя эти процедуры/процессы выражены в отношении дискретных этапов для выполнения различных задач, эти этапы должны рассматриваться как логические по природе и могут соответствовать или не соответствовать каким-либо фактическим и/или дискретным этапам конкретной реализации. Порядок, в котором эти этапы представлены в различных процедурах, не должен быть истолкован как единственный порядок, в котором этапы могут быть выполнены. Кроме того, хотя эти процедуры включают в себя различные новые признаки раскрытого изобретения, другие этапы (не перечислены) также могут быть выполнены при исполнении процедур. Кроме того, специалисты в области техники поймут, что логические этапы этих процедур могут быть объединены вместе или состоять из нескольких этапов. Этапы процедур 500-800 могут быть выполнены параллельно или последовательно. Часто, но не исключительно, функциональность различных процедур воплощена в программном обеспечении (например, в прикладных программах, системных службах, библиотеках и т.п.), которое исполняется на вычислительных устройствах, как описано в отношении фиг. 8. В различных вариантах осуществления все или некоторые различные процедуры также могут быть воплощены в аппаратных модулях, в том числе, но без ограничения, в системе на микросхеме, в специально разработанных процессорах и/или логических схемах и т.п. на компьютерной системе.
[0049] Эти процедуры/процессы обычно реализуются в исполняемом коде, содержащем процедуры, функции, структуры циклов, селекторы, такие как операторы "если-то" и "если-то-иначе", присвоения, арифметические вычисления и т.п. Точная реализация каждой из процедур основана на различных конфигурациях и решениях реализации, в том числе на языках программирования, компиляторах, целевых процессорах, операционных средах и линии связи. Специалисты в области техники легко поймут, что логические шаги, идентифицированные в этих процедурах, могут быть реализованы любым количеством методов, и, таким образом, изложенные выше логические описания образом позволяют достигнуть подобных результатов.
[0050] Хотя многие новые аспекты раскрытого изобретения выражены в процедурах, воплощенных в прикладных программах (также называемых компьютерными программами), приложениях (маленьких, обычно одиночных или узконаправленных прикладных программах) и/или способах, эти аспекты также могут быть воплощены как исполняемые компьютером команды, сохраненные на машиночитаемых носителях, также называемых машиночитаемыми запоминающими носителями. Специалисты в области техники поймут, что машиночитаемые носители могут размещать в себе исполняемые компьютером команды для более позднего извлечения и исполнения. Когда исполняемые компьютером команды, сохраненные на машиночитаемых запоминающих устройствах, исполняются, они выполняют различные этапы, способы и/или функциональность, в том числе те этапы, способы и процедуры, которые описаны выше в отношении различных процедур. Примеры машиночитаемых носителей включают в себя, но без ограничения: оптические запоминающие носители, такие как диски Blu-ray, цифровые видеодиски (DVD), компакт-диски (CD), кассеты оптических дисков и т.п.; магнитные запоминающие носители, включающие в себя накопители на жестких дисках, гибкие диски, магнитную ленту и т.п.; устройства памяти, такие как оперативное запоминающее устройство (ОЗУ; RAM), постоянное запоминающее устройство (ПЗУ; ROM), карты памяти, карты флэш-памяти и т.п.; облачное хранилище (т.е., онлайновый сервис хранения) и т.п. Однако в целях этого раскрытия машиночитаемые носители явным образом исключают несущие волны и распространяемые сигналы.
[0051] Фиг. 9 иллюстрирует блок-схему иллюстративного мобильного вычислительного устройства, подходящего для реализации аспектов раскрытого изобретения. Иллюстративное мобильное вычислительное устройство 900 включает в себя процессор 902 (или блок обработки) и память 904, связанные посредством системной шины 910. Как будет легко понятно, память 904 обычно (но не всегда) содержит и энергозависимую память 906, и энергонезависимую память 908. Энергозависимая память 906 сохраняет или хранит информацию, пока память снабжается электропитанием. Напротив, энергонезависимая память 908 способна хранить (или сохранять) информацию, даже когда источник питания не доступен. Вообще говоря, оперативное запоминающее устройство (ОЗУ; RAM) и кэш-память центрального процессора (ЦП; CPU) являются примерами энергозависимой памяти 906, тогда как постоянное запоминающее устройство (ПЗУ; ROM), устройства твердотельной памяти, устройства памяти и/или карты памяти являются примерами энергонезависимой памяти 908.
[0052] Процессор 902 исполняет команды, извлеченные из памяти 904, при выполнении различных функций, в частности, в отношении исполнения персонального фонового процесса 206, который обеспечивает персональную помощь соответствующему пользователю. Процессор 902 может состоять из любого из различных серийно выпускаемых процессоров, таких как однопроцессорная система, мультипроцессорная система, одноядерный процессор и многоядерный процессор. Кроме того, специалисты в области техники поймут, что новые аспекты раскрытого изобретения могут быть осуществлены с помощью других конфигураций компьютерных систем, в том числе, но без ограничения: карманных персональных компьютеров, носимых вычислительных устройств, устройств смартфона, планшетных вычислительных устройств, вычислительных устройств планшетного телефона, портативных компьютеров, настольных компьютеров и т.п.
[0053] Системная шина 910 обеспечивает интерфейс для различных компонентов устройства мобильной связи для взаимосвязи. Системная шина 910 может иметь любой из нескольких типов структур шины, которые могут связывать различные компоненты (в том числе и внутренние, и внешние компоненты). Вычислительное устройство 900 также включает в себя компонент 912 сетевой связи для соединения вычислительного устройства 900 с другими доступными по сети компьютерами, онлайновыми сервисами и/или сетевыми объектами, а также другими устройствами в компьютерной сети 110. Компонент 912 сетевой связи может быть выполнен с возможностью осуществлять связь с различными компьютерами и устройствами по сети 110 через проводное соединение, беспроводное соединение или через оба из них.
[0054] Вычислительное устройство 900 также включает в себя исполняемые приложения/прикладные программы 916. Специалисты в области техники поймут, что прикладная программа соответствует коллекции исполняемых команд, которые выполняют (посредством их исполнения на процессоре) одну или более задач на вычислительном устройстве, таком как вычислительное устройство 900. Прикладные программы обычно, но не исключительно, исполняются по указанию пользователя вычислительного устройства. Прикладные программы сочетают функции, доступные на вычислительном устройстве, при выполнении различных задач (как разработано посредством строения приложения.) Хотя термин "приложения" иногда используется качестве короткого названия прикладных программ, в альтернативном случае приложение аналогичным образом соответствует коллекции исполняемых команд для выполнения одной или более задач. Однако в отличие от прикладных программ приложения обычно, хотя не исключительно, направлены на ограниченное множество задач, часто сосредоточенных на узкой тематике/функциональности. Поскольку объем приложения обычно более ограничен, чем у прикладной программы, приложения обычно имеют меньшие требования в отношении системных ресурсов и часто больше подходят для исполнения вычислительными устройствами с ограниченными ресурсами. Хотя приложения/прикладные программы 918 обычно хранятся в памяти 904, только в целях иллюстрации они указаны отдельно от памяти 904.
[0055] Иллюстративное вычислительное устройство 900 также включает в себя датчики 918. Как правило, датчики соответствуют различным аппаратным устройствам, которые обнаруживают конкретные события, относящиеся к вычислительному устройству 900. Датчики 918 могут включать в себя, в качестве примера, но без ограничения, акселерометры, тактильные датчики, емкостные датчики, звуковые датчики, оптические датчики, таймеры, температурные датчики, датчики электропитания (датчики переменного тока (AC) и постоянного тока (DC), датчики напряжения и т.д.), датчики радиосигнала, датчики геолокации, магнитные датчики, высотомеры, барометрические датчики и т.п. Датчики могут быть основаны на информации связи, такой как данные интернет-маршрутизации, контроль запроса/ответа HTTP, MAC-адреса, сотовая/беспроводная триангуляция и т.п. Специалисты в области техники поймут, что подходящим образом сконфигурированное вычислительное устройство 900 может иметь различные комбинации аппаратных датчиков 918. Кроме того, эти аппаратные датчики, а также программные датчики (будут описаны ниже), используются при контроле контекста пользователя через платформу 220 интеграции. Как указано выше, платформа 220 интеграции является расширяемой платформой события/действия, т.е., платформа обнаруживает события, которые происходят в отношении одного или более датчиков (в том числе датчиков 918), и в ответ исполняет действия, соответствующие обнаруженным событиям, на вычислительном устройстве 900. Она является расширяемой в том смысле, что датчики могут быть добавлены, в том числе программные датчики, и подписчики могут подписаться на обнаруживаемые события. Платформа 220 интеграции хранит свою информацию, в том числе реестр интеграции, в хранилище 914 данных интеграции.
[0056] Относительно платформы 220 интеграции, хотя специалисты поймут, что может существовать множество альтернатив для реализации платформы в одном варианте осуществления, платформа 220 реализована как фоновая служба, построенная на технологии Node.js от разработчиков Node.js. Технология Node.js расширяема и устойчива, в результате чего она может взаимодействовать через интерфейс с аппаратными датчиками, такими как датчики 918, а также программными датчиками. Приложения и прикладные программы, в том числе приложения/прикладные программы 916, взаимодействуют через интерфейс с процессами Node.js посредством кода JavaScript®. Безусловно, хотя платформа 220 интеграции может быть реализована с использованием других технологий, отличающихся от Node.js, технология Node.js может использоваться преимущественно, поскольку она обладает относительно малыми требованиями к ресурсам на вычислительном хост-устройстве, таком как вычислительное устройство 900, имеет конфигурации для развертывания в ряде различных платформ операционных систем, и языки программирования JavaScript® пользуются широкой поддержкой.
[0057] Относительно различных компонентов иллюстративного вычислительного устройства 900 специалисты в области техники поймут, что эти компоненты могут быть реализованы как исполняемые программные модули, сохраненные в памяти вычислительного устройства, как аппаратные модули (в том числе система на микросхеме (SoC)), или как их комбинация. Кроме того, каждый из различных компонентов может быть реализован как независимый, взаимодействующий процесс или устройство, работающее вместе с одной или более компьютерными системами. Также следует понимать, что, безусловно, различные компоненты, описанные выше в отношении иллюстративного вычислительного устройства 900, должны рассматриваться как логические компоненты для выполнения различных описанных функций. Специалисты в области техники легко поймут, что логические компоненты и/или подсистемы могут непосредственно, взаимно однозначно соответствовать или не соответствовать фактическим, дискретным компонентам. В фактическом варианте осуществления различные компоненты каждой компьютерной системы могут быть объединены вместе или разбиты на несколько фактических компонентов и/или реализованы как взаимодействующие процессы в компьютерной сети.
[0058] Хотя были описаны различные новые аспекты раскрытого изобретения, следует понимать, что эти аспекты являются иллюстративными и не должны быть истолкованы как ограничение. Модификации и изменения различных аспектов могут быть сделаны без отступления от объема раскрытого изобретения.

Claims (38)

1. Компьютерно-реализуемый способ поиска провайдера для предоставления сервиса, реализуемый посредством платформы интеграции, исполняющейся на вычислительном устройстве пользователя, содержащем, по меньшей мере, процессор и память, при этом способ содержит этапы, на которых:
принимают в платформе интеграции от пользователя запрос сервиса, причем данный сервис отличается от платформы интеграции и размещен на по меньшей мере одном из (i) вычислительного устройства пользователя и (ii) устройства, внешнего по отношению к вычислительному устройству пользователя;
осуществляют с помощью платформы интеграции доступ к реестру множества сервисов, причем реестр множества сервисов размещен на упомянутом по меньшей мере одном из (i) вычислительного устройства пользователя и (ii) устройства, внешнего по отношению к вычислительному устройству пользователя, при этом каждому из множества сервисов соответствует уровень доверия в иерархии уровней доверия;
осуществляют итеративный поиск провайдера запрашиваемого сервиса в реестре в соответствии с иерархией уровней доверия, причем поиск в реестре начинается с наибольшего уровня доверия из уровней доверия, в результате чего поиск провайдеров, которым соответствует больший уровень доверия, осуществляется прежде, чем поиск провайдеров с меньшим уровнем доверия, пока не будет найден провайдер запрашиваемого сервиса или пока не будет осуществлен поиск на всех уровнях иерархии без найденного провайдера запрашиваемого сервиса; и
после нахождения провайдера запрашиваемого сервиса выдают команду найденному провайдеру запрашиваемого сервиса, тем самым предписывая найденному провайдеру предоставить сервис пользователю.
2. Компьютерно-реализуемый способ по п. 1, в котором провайдеры множества сервисов, которым соответствует наибольший уровень доверия, являются провайдерами, доступными на вычислительном устройстве пользователя.
3. Компьютерно-реализуемый способ по п. 2, в котором провайдеры множества сервисов, которым соответствует второй по счету уровень доверия, являются провайдерами, доступными на родственном вычислительном устройстве того же уровня.
4. Компьютерно-реализуемый способ по п. 3, в котором провайдеры множества сервисов, которым соответствует третий по счету уровень доверия, являются провайдерами, доступными на устройствах сети, к которым пользователю разрешен доступ.
5. Компьютерно-реализуемый способ по п. 3, в котором запрашиваемый сервис доступен от первого провайдера, доступного на вычислительном устройстве пользователя, и второго провайдера, доступного на родственном вычислительном устройстве того же уровня, причем способ дополнительно содержит этапы, на которых:
оценивают, следует ли получить сервис от первого провайдера или от второго провайдера, в соответствии с одним или более критериями; и
по определению того, что следует получить сервис от второго провайдера, в соответствии с этими одним или более критериями, определяют второго провайдера как найденного провайдера запрашиваемого сервиса.
6. Компьютерно-реализуемый способ по п. 5, в котором упомянутые один или более критериев содержат определение электропитания, доступного на вычислительном устройстве пользователя.
7. Компьютерно-реализуемый способ по п. 5, в котором упомянутые один или более критериев содержат определение ресурсов, доступных вычислительному устройству пользователя и родственному вычислительному устройству одного уровня.
8. Компьютерно-реализуемый способ по п. 5, в котором упомянутые один или более критериев содержат определение сетевого соединения, доступного вычислительному устройству пользователя.
9. Компьютерно-реализуемый способ поиска провайдера для предоставления сервиса, реализуемый посредством платформы интеграции, исполняющейся на вычислительном устройстве пользователя, содержащем, по меньшей мере, процессор и память, при этом способ содержит этапы, на которых:
принимают в платформе интеграции от пользователя запрос сервиса, причем данный сервис отличается от платформы интеграции и размещен на по меньшей мере одном из (i) вычислительного устройства пользователя и (ii) устройства, внешнего по отношению к вычислительному устройству пользователя;
осуществляют с помощью платформы интеграции доступ к реестру множества сервисов, причем реестр множества сервисов размещен на упомянутом по меньшей мере одном из (i) вычислительного устройства пользователя и (ii) устройства, внешнего по отношению к вычислительному устройству пользователя, при этом каждому из множества сервисов соответствует уровень доверия в иерархии уровней доверия;
осуществляют итеративный поиск провайдера запрашиваемого сервиса в реестре в соответствии с иерархией уровней доверия, причем поиск в реестре начинается с наибольшего уровня доверия из уровней доверия, в результате чего поиск провайдеров, которым соответствует больший уровень доверия, осуществляется прежде, чем поиск провайдеров с меньшим уровнем доверия, пока не будет найден провайдер запрашиваемого сервиса или пока не будет осуществлен поиск на всех уровнях иерархии без найденного провайдера запрашиваемого сервиса, при этом запрашиваемый сервис доступен от первого провайдера, доступного на вычислительном устройстве пользователя, и второго провайдера, доступного на родственном вычислительном устройстве того же уровня, причем способ дополнительно содержит этапы, на которых:
оценивают, следует ли получить сервис от первого провайдера или от второго провайдера, в соответствии с одним или более критериями и
по определению того, что следует получить сервис от второго провайдера, в соответствии с этими одним или более критериями, определяют второго провайдера как найденного провайдера запрашиваемого сервиса; и
после нахождения провайдера запрашиваемого сервиса выдают команду найденному провайдеру запрашиваемого сервиса, тем самым предписывая найденному провайдеру предоставить сервис пользователю.
10. Компьютерно-реализуемый способ по п. 9, в котором провайдеры множества сервисов, которым соответствует наибольший уровень доверия, являются провайдерами, доступными только на вычислительном устройстве пользователя.
11. Компьютерно-реализуемый способ по п. 9, в котором провайдеры множества сервисов, которым соответствует второй по счету уровень доверия, являются провайдерами, доступными только на родственном вычислительном устройстве того же уровня.
12. Компьютерно-реализуемый способ по п. 9, в котором провайдеры множества сервисов, которым соответствует третий по счету уровень доверия, являются провайдерами, доступными на устройствах сети, к которым пользователю разрешен доступ.
13. Компьютерно-реализуемый способ по п. 9, в котором упомянутые один или более критериев содержат определение электропитания, доступного на вычислительном устройстве пользователя.
14. Компьютерно-реализуемый способ по п. 9, в котором упомянутые один или более критериев содержат определение ресурсов, доступных вычислительному устройству пользователя и родственному вычислительному устройству одного уровня.
15. Компьютерно-реализуемый способ по п. 9, в котором упомянутые один или более критериев содержат определение сетевого соединения, доступного вычислительному устройству пользователя.
16. Компьютерная система, выполненная с возможностью поиска провайдера для предоставления сервиса, причем компьютерная система содержит процессор и память, при этом процессор исполняет инструкции, сохраненные в и интерактивно извлекаемые из памяти, как часть дополнительных компонентов или вместе с дополнительными компонентами, каковые дополнительные компоненты содержат:
множество аппаратных датчиков, расположенных в компьютерной системе, где каждый датчик является провайдером сервиса;
множество приложений, установленных в компьютерной системе, где каждое приложение является провайдером сервиса; и
платформу интеграции, которой ведется реестр провайдеров сервисов, при этом провайдеры сервисов включают в себя множество датчиков и множество приложений и дополнительно включают в себя множество провайдеров сервисов от устройств, внешних по отношению к компьютерной системе, причем каждому из провайдеров сервисов в реестре соответствует уровень доверия в иерархии уровней доверия, при этом процессор исполняет инструкции, которые предписывают платформе интеграции в ответ на запрос сервиса:
осуществлять итеративный поиск провайдера запрашиваемого сервиса в реестре в соответствии с иерархией уровней доверия начиная с наибольшего уровня доверия из уровней доверия, в результате чего поиск провайдеров сервисов, которым соответствует больший уровень доверия, осуществляется прежде, чем поиск провайдеров сервисов с меньшим уровнем доверия, пока не будет найден провайдер запрашиваемого сервиса или пока не будет осуществлен поиск на всех уровнях иерархии без найденного провайдера запрашиваемого сервиса; и
после нахождения провайдера запрашиваемого сервиса выдавать найденному провайдеру запрашиваемого сервиса команду предоставить сервис пользователю в ответ на упомянутый запрос.
17. Компьютерная система по п. 16, при этом провайдеры сервисов, которым соответствует наибольший уровень доверия в иерархии уровней доверия, являются провайдерами сервисов, доступными на компьютерной системе, причем провайдеры сервисов, которым соответствует второй по счету уровень доверия в иерархии уровней доверия, являются провайдерами сервисов, доступными на родственном вычислительном устройстве того же уровня.
18. Компьютерная система по п. 17, при этом компьютерная система ассоциирована с пользователем, причем провайдеры сервисов, которым соответствует третий по счету уровень доверия в иерархии уровней доверия, являются провайдерами сервисов, доступными на устройствах сети, к которым этому ассоциированному пользователю разрешен доступ.
19. Компьютерная система по п. 18, в которой платформа интеграции выполнена с возможностью определять, что запрашиваемый сервис доступен от первого провайдера сервисов, доступного на компьютерной системе, и второго провайдера сервисов, доступного на родственной компьютерной системе того же уровня, и дополнительно выполнена с возможностью:
оценивать, следует ли получить сервис от первого провайдера сервисов или от второго провайдера сервисов, в соответствии с одним или более критериями; и
по определению того, что следует получить сервис от второго провайдера сервисов, в соответствии с этими одним или более критериями, определять второго провайдера как найденного провайдера запрашиваемого сервиса.
RU2016142285A 2014-04-30 2015-04-24 Клиентская платформа интеграции сервисов RU2693637C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/265,656 US9560055B2 (en) 2014-04-30 2014-04-30 Client-side integration framework of services
US14/265,656 2014-04-30
PCT/US2015/027406 WO2015167940A1 (en) 2014-04-30 2015-04-24 Client-side integration framework of services

Publications (3)

Publication Number Publication Date
RU2016142285A RU2016142285A (ru) 2018-04-27
RU2016142285A3 RU2016142285A3 (ru) 2018-11-06
RU2693637C2 true RU2693637C2 (ru) 2019-07-03

Family

ID=53059489

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016142285A RU2693637C2 (ru) 2014-04-30 2015-04-24 Клиентская платформа интеграции сервисов

Country Status (11)

Country Link
US (2) US9560055B2 (ru)
EP (1) EP3138259B1 (ru)
JP (1) JP6603238B2 (ru)
KR (1) KR102296097B1 (ru)
CN (2) CN110753046B (ru)
AU (2) AU2015253520B2 (ru)
BR (1) BR112016023700A2 (ru)
CA (1) CA2944031C (ru)
MX (1) MX361226B (ru)
RU (1) RU2693637C2 (ru)
WO (1) WO2015167940A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075878A1 (ru) * 2020-10-08 2022-04-14 Общество С Ограниченной Ответственностью "Альбато" Способ реализации приложения встраиваемых приложений

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150348126A1 (en) * 2014-05-30 2015-12-03 Transilio, Inc. Personalized user engagement system using operating system notification script
US10673852B2 (en) * 2014-12-23 2020-06-02 Mcafee, Llc Self-organizing trusted networks
US10341384B2 (en) * 2015-07-12 2019-07-02 Avago Technologies International Sales Pte. Limited Network function virtualization security and trust system
CN105827691B (zh) * 2016-03-08 2019-08-13 中国联合网络通信集团有限公司 物联网设备控制方法及装置
US10063666B2 (en) * 2016-06-14 2018-08-28 Futurewei Technologies, Inc. Modular telecommunication edge cloud system
US10306341B2 (en) 2017-06-28 2019-05-28 Motorola Solutions, Inc. Method and apparatus for determining sensor data reliability at an incident scene for real-time and post-incident processing
US9936360B1 (en) 2017-06-28 2018-04-03 Motorola Solutions, Inc. Apparatus and method for real-time public safety evidentiary data collection
US9998895B1 (en) 2017-06-28 2018-06-12 Motorola Solutions, Inc. Apparatus and method for real-time public safety evidentiary data collection
US10871950B2 (en) 2019-05-16 2020-12-22 Microsoft Technology Licensing, Llc Persistent annotation of syntax graphs for code optimization
US11536476B2 (en) 2020-05-12 2022-12-27 Johnson Controls Tyco IP Holdings LLP Building system with flexible facility operation
US11276024B2 (en) * 2020-06-25 2022-03-15 Johnson Controls Tyco IP Holdings LLP Systems and methods for managing a trusted service provider network
CN112965765B (zh) * 2021-02-02 2024-01-16 深圳市优必选科技股份有限公司 服务调用方法、装置、电子设备及存储介质
CN114979280B (zh) * 2022-05-27 2024-04-19 中国银行股份有限公司 注册中心访问方法及装置
US11880722B2 (en) * 2022-06-22 2024-01-23 Contentful GmbH App actions in a content management system
US20230418969A1 (en) * 2022-06-22 2023-12-28 International Business Machines Corporation Data privacy workload distribution in a multi-tenant hybrid cloud computing environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083378A1 (en) * 2005-10-11 2007-04-12 Microsoft Corporation Secure application programming interface
US20070118878A1 (en) * 2005-11-22 2007-05-24 Oracle International Corporation Enterprise service-to-service trust framework
US20100017853A1 (en) * 2008-07-17 2010-01-21 International Business Machines Corporation System and method for selecting a web service from a service registry based on audit and compliance qualities
RU2405267C2 (ru) * 2007-04-28 2010-11-27 Хуавэй Текнолоджиз Ко., Лтд. Способ, устройство и система выбора услуг и клиентский сервер приложений

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6141754A (en) * 1997-11-28 2000-10-31 International Business Machines Corporation Integrated method and system for controlling information access and distribution
US6230313B1 (en) 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
EP1242948A1 (en) 1999-12-14 2002-09-25 Yodlee.Com, Inc. Method and apparatus for providing intelligent recommendations to users regarding online activities based on knowledge of data from a user's multiple web-services
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
AU2003236672A1 (en) 2003-05-16 2004-12-03 Docomo Communications Laboratories Europe Gmbh Personalized service selection
US20050097087A1 (en) 2003-11-03 2005-05-05 Punaganti Venkata Murali K. System and method for providing a unified framework for service discovery
KR100576935B1 (ko) 2003-12-22 2006-05-10 한국전자통신연구원 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법
US7664081B2 (en) 2004-12-22 2010-02-16 Nokia Corporation Wireless gateway for enabling wireless devices to discover and interact with various short-range services/devices
US20060235795A1 (en) * 2005-04-19 2006-10-19 Microsoft Corporation Secure network commercial transactions
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8131718B2 (en) 2005-12-13 2012-03-06 Muse Green Investments LLC Intelligent data retrieval system
US7613426B2 (en) 2005-12-20 2009-11-03 Microsoft Corporation Proximity service discovery in wireless networks
EP1835417A1 (en) 2006-03-13 2007-09-19 Alcatel Lucent Web service with associated lexical tree
US20070264991A1 (en) 2006-05-15 2007-11-15 Microsoft Corporation Services near me: discovering and connecting to available wireless services utilizing proximity discovery
US8474004B2 (en) * 2006-07-31 2013-06-25 Telecom Italia S.P.A. System for implementing security on telecommunications terminals
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8560400B1 (en) 2006-12-28 2013-10-15 Sprint Communications Company L.P. Context-based service delivery
JP2010515338A (ja) 2006-12-28 2010-05-06 テレフオンアクチーボラゲット エル エム エリクソン(パブル) サービス発見のための方法と装置
US20080313639A1 (en) 2007-06-13 2008-12-18 Krishna Kumar Policy based scheduling of software applications
WO2009021265A1 (en) 2007-08-16 2009-02-19 Indaran Proprietary Limited Method and apparatus for presenting content
US20090063686A1 (en) 2007-08-30 2009-03-05 Schmidt Brian K Automated service discovery and dynamic connection management
EP2043009A1 (en) 2007-09-28 2009-04-01 Alcatel Lucent Method for building semantic referential gathering semantic service descriptions
US8493888B2 (en) 2007-11-08 2013-07-23 Nokia Corporation Connectivity architecture for service discovery
US7987163B2 (en) 2008-02-12 2011-07-26 Bae Systems Information And Electronic Systems Integration Inc. Apparatus and method for dynamic web service discovery
CN100591015C (zh) * 2008-03-11 2010-02-17 南京邮电大学 基于信任模型的动态访问控制方法
US20100009703A1 (en) 2008-07-14 2010-01-14 Wuiper, Inc. System and method for real world interface to online social networks
US8649776B2 (en) 2009-01-13 2014-02-11 At&T Intellectual Property I, L.P. Systems and methods to provide personal information assistance
US20100281427A1 (en) 2009-04-30 2010-11-04 Riddhiman Ghosh Selecting one of plural user profile personae based on context
US8612435B2 (en) 2009-07-16 2013-12-17 Yahoo! Inc. Activity based users' interests modeling for determining content relevance
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
JP5564968B2 (ja) * 2010-02-05 2014-08-06 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
EP2543215A2 (en) * 2010-03-05 2013-01-09 InterDigital Patent Holdings, Inc. Method and apparatus for providing security to devices
US8340651B1 (en) 2010-03-26 2012-12-25 Sprint Communications Company L.P. Reconciling contact information between users
CN101984590A (zh) * 2010-03-29 2011-03-09 北京邮电大学 一种基于信任证书的网格业务资源分配和调度方法
US8316038B2 (en) 2010-06-02 2012-11-20 Hewlett-Packard Development Company, L.P. Collecting and analyzing user activities on mobile computing devices
US8386929B2 (en) 2010-06-22 2013-02-26 Microsoft Corporation Personal assistant for task utilization
US9106604B2 (en) 2010-07-01 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for service sharing
EP2410441A1 (en) * 2010-07-16 2012-01-25 Research In Motion Limited Registration of applications and unified media search
CN101902474B (zh) * 2010-07-21 2012-11-14 清华大学 基于标签替换的自治域间IPv6真实源地址验证方法
US9122744B2 (en) 2010-10-11 2015-09-01 Next It Corporation System and method for providing distributed intelligent assistance
US8478306B2 (en) 2010-11-10 2013-07-02 Google Inc. Self-aware profile switching on a mobile computing device
US20120209413A1 (en) 2011-02-14 2012-08-16 Microsoft Corporation Background Audio on Mobile Devices
WO2012164328A1 (en) * 2011-05-27 2012-12-06 Nokia Corporation . Method and apparatus for sharing connectivity settings via social networks
WO2012166213A1 (en) * 2011-06-03 2012-12-06 Telecommunication Systems, Inc. Crowd-sourced resource selection in a social network
US20120316956A1 (en) 2011-06-07 2012-12-13 Microsoft Corporation Client-Server Joint Personalization for Private Mobile Advertising
US8417233B2 (en) 2011-06-13 2013-04-09 Mercury Mobile, Llc Automated notation techniques implemented via mobile devices and/or computer networks
US20120323794A1 (en) 2011-06-15 2012-12-20 Microsoft Corporation Monetization strategies in privacy-conscious personalization
US9026814B2 (en) 2011-06-17 2015-05-05 Microsoft Technology Licensing, Llc Power and load management based on contextual information
US8838072B2 (en) 2011-08-11 2014-09-16 Samsung Electronics Co., Ltd. Apparatus and method for mobile personal assistant
US20130080184A1 (en) 2011-09-23 2013-03-28 Alliance Health Networks, Inc. Managing healthcare information for members of a social network
US9100453B2 (en) * 2011-10-08 2015-08-04 Broadcom Corporation Social device security in a social network
US20130159377A1 (en) 2011-12-15 2013-06-20 AsystMe, LLC Proactive automated personal assistant
US8718726B2 (en) 2012-03-16 2014-05-06 Apple Inc. Methods and apparatus for reducing call drop rate
US20140033204A1 (en) 2012-07-26 2014-01-30 Qnx Software Systems Limited Background Services Launcher For Dynamic Service Provisioning
US20140040171A1 (en) 2012-07-31 2014-02-06 Triapodi Ltd Content-based demographic estimation of users of mobile devices and usage thereof
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US20140108307A1 (en) 2012-10-12 2014-04-17 Wipro Limited Methods and systems for providing personalized and context-aware suggestions
US10021150B2 (en) * 2012-11-01 2018-07-10 Wyngspan, Inc. Systems and methods of establishing and measuring trust relationships in a community of online users
US9354790B2 (en) 2013-01-14 2016-05-31 International Business Machines Corporation Dynamically selecting and ordering facets and facet values in a user interface based on user preference
US20140236935A1 (en) * 2013-02-20 2014-08-21 Thursday Market, Inc. Service Provider Matching
US11061973B2 (en) 2013-06-14 2021-07-13 Microsoft Technology Licensing, Llc Incorporating user usage of consumable content into recommendations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083378A1 (en) * 2005-10-11 2007-04-12 Microsoft Corporation Secure application programming interface
US20070118878A1 (en) * 2005-11-22 2007-05-24 Oracle International Corporation Enterprise service-to-service trust framework
RU2405267C2 (ru) * 2007-04-28 2010-11-27 Хуавэй Текнолоджиз Ко., Лтд. Способ, устройство и система выбора услуг и клиентский сервер приложений
US20100017853A1 (en) * 2008-07-17 2010-01-21 International Business Machines Corporation System and method for selecting a web service from a service registry based on audit and compliance qualities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075878A1 (ru) * 2020-10-08 2022-04-14 Общество С Ограниченной Ответственностью "Альбато" Способ реализации приложения встраиваемых приложений

Also Published As

Publication number Publication date
JP2017520035A (ja) 2017-07-20
WO2015167940A1 (en) 2015-11-05
US9781128B2 (en) 2017-10-03
CN110753046B (zh) 2021-11-30
EP3138259A1 (en) 2017-03-08
MX2016014093A (es) 2017-02-09
MX361226B (es) 2018-11-29
KR20160145633A (ko) 2016-12-20
US9560055B2 (en) 2017-01-31
CA2944031C (en) 2023-08-01
CN106464675B (zh) 2019-11-12
RU2016142285A3 (ru) 2018-11-06
US20170099298A1 (en) 2017-04-06
CN106464675A (zh) 2017-02-22
JP6603238B2 (ja) 2019-11-06
CN110753046A (zh) 2020-02-04
KR102296097B1 (ko) 2021-09-01
US20150319176A1 (en) 2015-11-05
BR112016023700A2 (pt) 2017-08-15
AU2015253520A1 (en) 2016-10-06
AU2015253520B2 (en) 2018-12-20
EP3138259B1 (en) 2018-01-31
AU2019201885B2 (en) 2020-07-02
RU2016142285A (ru) 2018-04-27
CA2944031A1 (en) 2015-11-05
AU2019201885A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
RU2693637C2 (ru) Клиентская платформа интеграции сервисов
US9760401B2 (en) Incentive-based app execution
KR102271786B1 (ko) 개인 데몬의 훈련 가속화
US9842228B2 (en) Local personal daemon
US20150373144A1 (en) Personal Daemon Interaction through Escalating Disclosure
US20160323214A1 (en) Condition-based online communication collaboration