RU2693637C2 - Клиентская платформа интеграции сервисов - Google Patents
Клиентская платформа интеграции сервисов Download PDFInfo
- 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
Links
- 230000010354 integration Effects 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 100
- 230000004044 response Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 36
- 230000009471 action Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
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, в которой платформа интеграции выполнена с возможностью определять, что запрашиваемый сервис доступен от первого провайдера сервисов, доступного на компьютерной системе, и второго провайдера сервисов, доступного на родственной компьютерной системе того же уровня, и дополнительно выполнена с возможностью:
оценивать, следует ли получить сервис от первого провайдера сервисов или от второго провайдера сервисов, в соответствии с одним или более критериями; и
по определению того, что следует получить сервис от второго провайдера сервисов, в соответствии с этими одним или более критериями, определять второго провайдера как найденного провайдера запрашиваемого сервиса.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022075878A1 (ru) * | 2020-10-08 | 2022-04-14 | Общество С Ограниченной Ответственностью "Альбато" | Способ реализации приложения встраиваемых приложений |
Families Citing this family (15)
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)
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)
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 |
-
2014
- 2014-04-30 US US14/265,656 patent/US9560055B2/en active Active
-
2015
- 2015-04-24 BR BR112016023700A patent/BR112016023700A2/pt not_active IP Right Cessation
- 2015-04-24 CA CA2944031A patent/CA2944031C/en active Active
- 2015-04-24 JP JP2016559978A patent/JP6603238B2/ja active Active
- 2015-04-24 KR KR1020167030179A patent/KR102296097B1/ko active IP Right Grant
- 2015-04-24 CN CN201910981650.1A patent/CN110753046B/zh active Active
- 2015-04-24 EP EP15721465.1A patent/EP3138259B1/en active Active
- 2015-04-24 RU RU2016142285A patent/RU2693637C2/ru active
- 2015-04-24 CN CN201580022935.2A patent/CN106464675B/zh active Active
- 2015-04-24 WO PCT/US2015/027406 patent/WO2015167940A1/en active Application Filing
- 2015-04-24 AU AU2015253520A patent/AU2015253520B2/en active Active
- 2015-04-24 MX MX2016014093A patent/MX361226B/es active IP Right Grant
-
2016
- 2016-12-15 US US15/379,817 patent/US9781128B2/en active Active
-
2019
- 2019-03-19 AU AU2019201885A patent/AU2019201885B2/en active Active
Patent Citations (4)
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)
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 |