УРОВЕНЬ ТЕХНИКИ
Поставщики услуг и производители устройств (например, беспроводных, сотовых устройств и т.д.) постоянно сталкиваются с необходимостью обеспечения для своих абонентов качественного и удобного обслуживания путем, например, предоставления привлекательных сетевых услуг. Одной из областей развития является интеграция или координация множества услуг путем обеспечения взаимодействия устройства с одной из услуг даже в том случае, если эта услуга предоставляется третей стороной. Например, устройство мобильного телефона может принимать информацию от исходного поставщика, например, от поставщика услуг для мобильного телефона, а также - информацию услуги, предоставляемой третьей стороной, например, услуги доступа к независимой социальной сети. С повышением количества услуг, предоставляемых третьей стороной, и с ростом их использования желательно обеспечивать эффективное взаимодействие между услугами различных типов и устройством. Для доступа услуги к устройству этой услуге должна быть предоставлена информация, требуемая для маршрутизации связи, осуществляемой между услугой и устройством. Однако, поскольку услуга предоставляется третьей стороной, возможно, понадобится предотвратить доступ этой услуги к некоторой информации об устройстве или личности пользователя.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Таким образом, существует необходимость в реализации подхода для обеспечения связи с услугой с использованием идентификатора получателя, например, связи между услугой и устройством, которая может выполняться на более высоком уровне безопасности.
В соответствии с одним из вариантов осуществления настоящего изобретения способ включает прием запроса на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга и приложение, установленное в устройстве. Способ также включает определение идентификатора пользователя, одного или более идентификаторов устройств, связанных с устройством, одного или более идентификаторов приложений, связанных с приложением, или комбинации этих идентификаторов. Способ также включает принятие решения о генерации идентификатора получателя путем кодирования, по меньшей мере частично, идентификатора пользователя, одного или более идентификаторов устройства, одного или более идентификаторов приложения или их комбинации. Идентификатор пользователя, один или более идентификаторов устройства, один или более идентификаторов приложения или их комбинация могут быть непосредственно декодированы из идентификатора получателя.
В соответствии с другим вариантом осуществления настоящего изобретения устройство содержит по меньшей мере один процессор и по меньшей мере один модуль памяти, в которой хранится компьютерный программный код, причем по меньшей мере один модуль памяти и компьютерный программный код сконфигурированы таким образом, что при выполнении кода по меньшей мере одним процессором устройство, по меньшей мере частично, может принимать запрос на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга и приложение, установленное в устройстве. Устройство также может определять идентификатор пользователя, одного или более идентификаторов устройства, связанных с устройством, одного или более идентификаторов приложения, связанных с приложением, или их комбинацию. Устройство также может принимать решение о генерации идентификатора получателя путем кодирования в идентификаторе получателя, по меньшей мере частично, идентификатора пользователя, одного или более идентификаторов устройства, одного или более идентификаторов приложения или их комбинации. Идентификатор пользователя, один или более идентификаторов устройства, один или более идентификаторов приложения или их комбинация могут быть непосредственно декодированы из идентификатора получателя.
В соответствии с другим вариантом осуществления настоящего изобретения машиночитаемый носитель информации содержит одну или более последовательностей, состоящих из одной или более инструкций, в результате исполнения которых одним или более процессорами устройство, по меньшей мере частично, может принимать запрос на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга и приложение, установленное в устройстве. Устройство также может определять идентификатор пользователя, один или более идентификаторов устройства, связанных с устройством, один или более идентификаторов приложения, связанных с приложением, или их комбинацию. Устройство также может принимать решение о генерации идентификатора получателя путем кодирования в идентификаторе получателя, по меньшей мере частично, идентификатора пользователя, одного или более идентификаторов устройства, одного или более идентификаторов приложения или их комбинации. Идентификатор пользователя, один или более идентификаторов устройства, один или более идентификаторов приложения или их комбинация могут быть непосредственно декодированы из идентификатора получателя.
В соответствии с другим вариантом осуществления настоящего изобретения устройство включает средства для приема запроса на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга и приложение, установленное в устройстве. Устройство также включает средства для определения идентификатора пользователя, одного или более идентификаторов устройства, связанных с устройством, одного или более идентификаторов приложения, связанных с приложением, или их комбинации. Устройство также включает средства для принятия решения о генерации идентификатора получателя путем кодирования в идентификаторе получателя, по меньшей мере частично, идентификатора пользователя, одного или более идентификаторов устройства, одного или более идентификаторов приложения или их комбинации. Идентификатор пользователя, один или более идентификаторов устройства, один или более идентификаторов приложения или их комбинация могут быть непосредственно декодированы из идентификатора получателя.
Другие аспекты, признаки и преимущества настоящего изобретения становятся очевидными из последующего подробного описания, в котором приводится ряд конкретных примеров осуществления и реализации настоящего изобретения, включая предпочтительный вариант осуществления. Настоящее изобретение также может быть реализовано в иных, отличающихся от описанных, вариантах осуществления, причем некоторые детали могут быть модифицированы очевидным образом, но без нарушения сущности и объема изобретения. Соответственно, чертежи и описание следует рассматривать в качестве неограничивающих примеров осуществления настоящего изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления настоящего изобретения проиллюстрированы в качестве примеров на прилагаемых чертежах.
На фиг.1 показана блок-схема системы, которая в соответствии с одним из вариантов осуществления настоящего изобретения способна предоставлять связь с услугой с использованием идентификатора получателя.
На фиг.2 показана блок-схема компонентов платформы обмена данными в соответствии с одним из вариантов осуществления настоящего изобретения.
На фиг.3 показан алгоритм процесса, который в соответствии с одним из вариантов осуществления настоящего изобретения предоставляет связь с услугой с использованием идентификатора получателя.
На фиг.4 показан алгоритм процесса, который в соответствии с одним из вариантов осуществления настоящего изобретения позволяет маршрутизировать данные от услуги с использованием идентификатора получателя.
На фиг.5 показан алгоритм процесса выполнения шифрования идентификатора получателя в соответствии с одним из вариантов осуществления настоящего изобретения.
На фиг.6 показана блок-схема процессов, изображенных на фиг.3 и 4, в соответствии с одним из вариантов осуществления настоящего изобретения.
На фиг.7 показана блок-схема аппаратного обеспечения, которое может быть использовано для реализации настоящего изобретения.
На фиг.8 показана блок-схема набора микросхем, который может быть использован для реализации настоящего изобретения.
На фиг.9 показана блок-схема мобильного терминала (например, телефонной трубки), который может быть использован для реализации настоящего изобретения.
ОПИСАНИЕ НЕКОТОРЫХ ПРИМЕРОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Далее раскрываются способ, устройство и компьютерная программа, предназначенные для обеспечения связи с услугой с использованием идентификатора получателя. В последующем описании для пояснения приведен ряд конкретных деталей, позволяющих полностью разобраться в сущности вариантов осуществления настоящего изобретения. Однако очевидно, что специалист в этой области техники может на практике реализовать варианты осуществления настоящего изобретения без использования этих конкретных подробностей или с помощью схемы, эквивалентной описываемой. В других примерах хорошо известные структуры и устройства показаны в виде блок-схем без излишних подробностей, чтобы не усложнять описание осуществления настоящего изобретения.
На фиг.1 показана блок-схема системы, которая в соответствии с одним из вариантов осуществления настоящего изобретения способна обеспечивать связь с услугой с использованием идентификатора получателя. Как указано выше, при взаимодействии с услугами, в особенности с услугами, предоставляемыми третьей стороной, для пользователя предпочтительно не раскрывать некоторую информацию, такую как идентификатор пользователя (например, идентификатор в сети Jabber (JID, Jabber Identifier) для услуг передачи сообщений, другие уникальные идентификаторы пользователя и т.д.) или идентификатор устройства (например, номер мобильного телефона, электронный порядковый номер устройства (ESN, electronic serial number), идентификатор мобильного оборудования (MFID, mobile equipment identifier) и т.д.) для услуг и разработчиков программного обеспечения третьей стороны. Например, если устройство принимает уведомление от услуги третьей стороны, такой как услуга социальной сети или услуга предоставления музыкальных файлов, желательно сделать идентификатор пользователя или устройства недоступным или, в противном случае, скрыть его от услуги и/или разработчиков приложений третьей стороны. Обычно одним из способов реализации таких функций является генерация для пользователей опознавательных символов (токенов), которые хранятся в базе данных для соответствующих пользователей. Опознавательные символы могут генерироваться произвольным образом, благодаря чему можно предотвратить доступ к идентификатору пользователя. После приема опознавательного символа для нахождения пользовательских данных (например, идентификатора пользователя и/или конкретного устройства указанного пользователя), связанных с принятым опознавательным символом, может выполняться процесс поиска в базе данных сгенерированных опознавательных символов. Согласно другому обычно применяемому способу эти функции реализуют путем хэширования информации, подлежащей сокрытию, после чего хэшированные данные сохраняют в базе данных. После приема хэшированных данных выполняют их поиск в базе данных. Однако оба этих способа обладают значительными недостатками в том, что касается обслуживания базы данных, поскольку объем хранимых в ней данных возрастает по мере роста количества устройств и пользователей, а также приложений, использующих базу данных. Таким образом, требуется реализация способа предотвращения доступа к идентификатору пользователя с минимальной нагрузкой на средства управления базой данных.
Для решения этой проблемы в системе 100, показанной на фиг.1, обеспечивается возможность связи с услугой с использованием идентификатора получателя, посредством которого кодируется потенциально критичная информация (например, идентификаторы пользователя, идентификаторы устройства и т.д.) таким образом, чтобы защитить информацию и в то же время предоставить авторизированным услугам возможность декодирования информации или доступа к ней без необходимости обращения к базе данных для поиска такой информации. Более конкретно, система 100 принимает запрос генерации идентификатора получателя для индикации данных, которыми обмениваются услуга и приложение, установленное в устройстве. В одном из вариантов осуществления настоящего изобретения в состав идентификатора получателя может входить информация для определения устройства и/или пользователя, получающего данные, а также приложения, предназначенного для использования этих данных, и т.п. Соответственно, система 100 определяет, по меньшей мере частично, идентификатор пользователя, один или более идентификаторов устройства, связанных с устройством, один или более идентификаторов приложения, связанных с приложением, или комбинацию этих идентификаторов, которые затем кодируются и используются для генерации идентификатора получателя. В одном из вариантов осуществления настоящего изобретения информацию кодируют в идентификаторе получателя таким образом, чтобы идентификатор пользователя, идентификаторы устройства и идентификаторы приложения непосредственно могли быть декодированы из идентификатора получателя. В этом описании фраза "непосредственно декодируемый" означает, например, что идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения могут быть извлечены или получены из идентификатора получателя без использования справочной таблицы или базы данных идентификаторов. В одном из вариантов осуществления настоящего изобретения процессы кодирования и декодирования выполняют путем применения вычислений соответственно сгенерированного или используемого идентификатора получателя, как это более подробно описывается ниже со ссылками на фиг.2-7В.
После генерации идентификатора получателя система 100 передает сгенерированный идентификатор получателя в приложение и/или в услугу. В описанном подходе идентификатор получателя передается без предоставления или, в противном случае, раскрытия закодированной информации (например, идентификатора пользователя, идентификаторов устройства, идентификаторов приложения и т.д.) приложению и/или услуге третьей стороны. В определенных вариантах осуществления настоящего изобретения система 100 может передавать сгенерированный идентификатор получателя в приложение, которое затем передает его в услугу. Кроме того, или в альтернативном варианте, система 100 может передавать идентификатор получателя непосредственно услуге. Поскольку идентификатор пользователя и/или идентификаторы устройства закодированы в идентификаторе получателя и не могут быть прочитаны без декодирования, идентификатор устройства или пользователя скрыт от приложения и услуги. В некоторых вариантах осуществления настоящего изобретения идентификатор приложения также может быть закодирован в идентификаторе получателя и, таким образом, скрыт от услуги. Кроме того, динамическое кодирование и декодирование позволяет системе 100 использовать идентификаторы получателей без обращения к базе данных идентификаторов получателей и без обработки соответствующей полезной информации (например, идентификатора пользователя, идентификаторов устройства, идентификаторов приложения). Это устраняет необходимость обслуживания объемной базы данных идентификаторов получателей для различных устройств и приложений.
После предоставления идентификатора получателя приложению и/или услуге выполняются следующие действия. Система 100 может принимать от услуги данные, отмеченные идентификатором получателя. Например, в состав этих данных могут включаться сообщения для уведомления об обновлении статуса другого пользователя в социальной сети, и это сообщение об обновлении статуса должно предоставляться в виде уведомления через приложение, установленное в устройстве. Затем система 100 декодирует идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения из принятых данных и маршрутизирует данные в требуемое устройство и/или передает их в требуемое приложение в соответствии с идентификаторами устройства и/или идентификаторами приложения. Как указано выше, декодирование выполняют непосредственно из идентификатора получателя без обращения к внешним базам данных или справочным таблицам, в которых может устанавливаться связь между идентификатором получателя и соответствующими идентификаторами устройства и/или приложения.
Как показано на фиг.1, в состав системы 100 входит пользовательское оборудование (UE, user equipment) 101, соединенное через сеть 107 связи с платформой 103 предоставления услуг и платформой 105 обмена данных. В одном из вариантов осуществления настоящего изобретения источником данных, доступных для пользователя, может являться платформа 103 предоставления услуг, одна или более услуг 109a-109n платформы 103 предоставления услуг, один или более поставщиков 111a-111m данных и/или другие услуги передачи данных, доступные через сеть 107 связи. Например, услуга 109a может получать данные (например, уведомления или мультимедиа контент) от поставщика 111a данных для доставки полученных данных в UE 101. Платформа 103 предоставления услуг, услуги 109a-109n и/или поставщики 111a-111m контента могут предоставлять данные, которые могут передаваться в UE 101 через сеть 107 связи. Каждая из услуг 117а-117n, например, может обеспечивать различный контент и/или услуги различных типов (например, услугу взаимодействия в социальных сетях, услугу передачи сообщений или услугу предоставления музыкальных файлов). Некоторые услуги 109a-n могут предоставляться с различным качеством обслуживания, например, с гарантированной пропускной способностью, соответствующей уровню обслуживания, оговоренному между поставщиками информационной связи и услуги. Идентификатор получателя может использоваться в качестве промежуточного средства при передаче данных от источника данных (например, услуг 109a-109n, поставщиков 111a-111m данных) в UE 101 и/или в приложение 113, установленное в UE 101.
В одном из вариантов осуществления настоящего изобретения UE 101 содержит или исполняет приложение 113, являющееся клиентским по отношению к услуге 109. Например, приложение 113 может представлять собой клиента услуги мгновенного обмена сообщениями, который получает уведомления о сообщениях из соответствующей услуги 109 (например, услуги мгновенного обмена сообщениями). Согласно приводимому в этом описании подходу приложение 113 может запрашивать идентификатор получателя для идентификации получателя данных (например, сообщений, уведомлений и т.д.), которые передаются от услуги 109 в приложение 113. В одном из вариантов осуществления приложение 113 может передавать запрос клиенту 115, который сконфигурирован для связи с платформой 105 обмена данными. Как показано на чертеже, клиент 115 также выполняется или является резидентным приложением в UE 101 и отвечает за преобразование запроса, поступающего из приложения 113, таким образом, чтобы идентификатор получателя мог быть сгенерирован платформой 105 обмена данными, В этом варианте осуществления клиент 115 и платформа 105 обмена данными работают совместно для реализации процесса генерации идентификаторов получателя, обеспечивая при этом защиту потенциально критичных идентификаторов (например, идентификаторов устройства, идентификаторов пользователя и т.д.) от их раскрытия приложениям и/или услугам третьей стороны. Более конкретно, поскольку приложение 113 (например, приложение третьей стороны) не осведомлено о специфических идентификаторах, связанных с UE 101, или не имеет к ним доступа, запрос, поступающий из приложения 113, не содержит таких идентификаторов. Однако такие идентификаторы часто требуются для маршрутизации данных от услуги 109 в приложение 113. Соответственно, клиент 115 принимает запрос из приложения 113 и преобразует его путем добавления идентификаторов устройства, идентификаторов пользователя и т.д. Затем клиент 115 передает запрос в платформу 105 обмена данными для обработки и генерации запрошенного идентификатора получателя. Поскольку клиент 115 и платформа 105 обмена данными входят в состав закрытой или защищенной системы для генерации и обработки идентификаторов получателя, критичные идентификаторы недоступны ни приложению 113, ни услуге 109.
Например, приложение 113 может передавать запрос клиенту 115 посредством обращения к прикладному программному интерфейсу (API, application programming interface) активизатора устройства. Как указывалось выше, клиент 115 затем может преобразовать этот запрос для включения потенциально критичной информации, связанной с пользователем или устройством (например, UE 101). Таким образом, критичная информация не предоставляется приложению 113. Например, запрос может содержать идентификатор запрошенного приложения, идентификатор пользователя, идентификатор устройства, идентификатор услуги, для которой передается идентификатор получателя, и т.д. Идентификатор устройства может совмещаться с идентификатором пользователя, образуя единый идентификатор, такой как идентификатор в сети Jabber (JID). Этот запрос затем может быть передан из клиента 115 в платформу 105 обмена данными через сеть 107 связи. С использованием информации, содержащейся в принятом запросе, платформа 105 обмена данными генерирует идентификатор получателя путем кодирования идентификационной информации, предоставленной клиентом 115. Как отмечалось выше, в идентификаторе получателя кодируется идентификационная информация таким образом, чтобы защитить ее от раскрытия, но так, чтобы она могла быть непосредственно декодирована авторизованными компонентами или процессами (например, компонентами и/или процессами платформы 105 обмена данными).
Затем платформа 105 обмена данными передает сгенерированный идентификатор получателя клиенту 115, который, в свою очередь, пересылает идентификатор получателя в приложение 113. Далее приложение 113 передает принятый идентификатор получателя в услугу 109, для того чтобы последующие данные (например, сообщения, уведомления и т.д.), которыми обмениваются приложение 113 и услуга 109, могли идентифицироваться должным образом. Таким образом, идентификационная информация об устройстве (например, UE 101) или пользователе скрыта от услуги 109, поскольку идентификатор пользователя и/или идентификаторы устройства закодированы в идентификаторе получателя. В одном из вариантов осуществления настоящего изобретения услуга 109 может применять идентификатор получателя для передачи данных через платформу 105 обмена данными в приложение 113 в отсутствие информации о специфических идентификаторах целевого устройства UE 101. Например, для передачи данных (например, сообщений, уведомлений) в UE 101 услуга 109 вначале передает данные и соответствующий идентификатор получателя в платформу 105 обмена данными. Платформа 105 обмена данными затем декодирует идентификатор получателя для определения идентификатора приложения, идентификатора пользователя и/или идентификатора устройства (например, JID) либо любой другой информации. Затем платформа 105 обмена данными направляет данные в установленное UE 101 и/или приложение 113, не раскрывая идентификационную информацию приложению 113 или услуге 109. В одном из вариантов осуществления данные совместно с преобразованной информацией (например, идентификатором приложения, идентификатором устройства, идентификатором пользователя и т.д.) передаются клиенту 115 устройства UE 101, соответствующего преобразованной информации (например, идентификатору пользователя/устройства). Клиент 115 затем доставляет данные в приложение 113 в соответствии с преобразованной информацией (например, идентификатором приложения). Идентификатор получателя скрыт от приложения третьей стороны, например, от приложения 113.
В одном из вариантов осуществления настоящего изобретения платформа 105 обмена данными может шифровать идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения. Таким образом, данные и идентификатор целевого устройства могут быть включены в идентификатор получателя в зашифрованной форме. Кроме того, идентификатор получателя может быть сгенерирован из зашифрованного идентификатора пользователя, идентификаторов устройства и/или зашифрованного идентификатора приложения. Идентификатор целевого пользователя и/или идентификатор устройства может представлять собой идентификатор в сети Jabber (JID) в соответствии с расширяемым протоколом обмена сообщениями и определения присутствия (ХМРР, extensible messaging and presence protocol). Идентификатор получателя также может содержать код аутентификации сообщения (MAC, message authentication code), такой как хэш-код аутентификации сообщения (НМАС, hash-based message authentication code), с использованием которого может подтверждаться целостность (а также подлинность) идентификатора получателя.
В другом варианте осуществления настоящего изобретения идентификатор получателя может быть зашифрован с использованием симметричного шифра, такого как строго симметричный шифр (например, в соответствии со стандартом усовершенствованного шифрования 256-битным ключом (AES, advanced encryption standard)), или асимметричного шифра. Симметричный шифр может быть основан на одном или более ключей. Например, платформа 105 обмена данными может выбрать первичный ключ для симметричного шифра на основе идентификатора услуги, связанного с услугой. В частности, первичный ключ может быть выбран на основе хэша входных данных, содержащих информацию об идентификаторе услуги, уровне обслуживания и предварительно определенных параметрах. Кроме того, платформа 105 обмена данными может также сгенерировать вторичный ключ для симметричного шифра согласно коду НМАС, сформированному из идентификаторов услуги, предварительно определенных параметров (например, уровня услуги) или их комбинации. Например, вторичный ключ может представлять собой код НМАС, сформированный с использованием таблицы первичных ключей, идентификаторов услуги, предварительно определенных параметров.
После генерации идентификатора получателя и передачи его в приложение 113 платформе 105 обмена данными не требуется сохранять сгенерированный идентификатор получателя для последующего обращения к нему, поскольку платформа 105 обмена данными может при необходимости восстановить или декодировать идентификатор получателя. В одном из примеров сгенерированный идентификатор получателя может временно сохраняться в кэш-памяти, такой как оперативная память (RAM, random access memory). Поскольку идентификатор получателя не сохраняется или временно сохраняется в кэш-памяти, достигается преимущество, заключающееся в том, что отсутствует необходимость в обслуживании базы данных, в которой хранится большой объем данных, связанных с идентификаторами получателей различных пользователей и устройств.
Следовательно, преимущество этого подхода состоит в том, что система 100 обеспечивает новый способ выполнения связи между услугой и устройством, позволяющий скрыть идентификационную информацию об устройстве и устраняющий необходимость обслуживания базы данных, хранящей идентификаторы получателей. Поскольку идентификатор получателя используется для маршрутизации данных из услуги и содержит закодированные идентификаторы пользователя, устройства и приложения, услуга не имеет доступа к идентификационной информации об устройствах и/или пользователях путем доступа только к идентификатору получателя. В результате идентификационная информация устройств и/или пользователей может быть скрыта от услуги, при этом предоставляется информация для маршрутизации данных из услуги. Кроме того, идентификатор получателя временно сохраняется в запоминающем устройстве только до тех пор, пока он не будет передан, вследствие чего устраняется необходимость в обслуживании большой базы данных идентификаторов получателей различных устройств, услуг и пользователей. Соответственно, предполагается реализация средств для обеспечения связи с услугой с использованием идентификатора получателя.
Например, сеть 107 связи системы 100 может включать в свой состав одну или более сетей, таких как сеть передачи данных (не показана), беспроводная сеть (не показана), телефонная сеть (не показана) или любую комбинацию этих сетей. Предполагается, что сеть передачи данных может представлять собой любую локальную сеть (LAN, local area network), городскую сеть (MAN, metropolitan area network), глобальную сеть (WAN, wide area network), сеть передачи данных общего пользования (например, Интернет), беспроводную сеть ближней связи или любую другую подходящую сеть с коммутацией пакетов, такую как коммерческая, частная сеть с коммутацией пакетов, например, частная кабельная или волоконно-оптическая сеть и т.п., или любую комбинацию указанных сетей. Кроме того, беспроводная сеть может, например, представлять собой сотовую сеть и может использовать различные технологии, включая усовершенствованную передачу данных для развития GSM (EDGE, enhanced data rates for global evolution), общую услугу пакетной радиосвязи (GPRS, general packet radio service), глобальную систему мобильной связи (GSM, global system for mobile communications), мультимедийную подсистему передачи данных по Интернет-протоколу (IMS, Internet protocol multimedia subsystem), универсальную систему мобильной связи (UMTS, universal mobile telecommunications system) и т.д., а также любую другую подходящую технологию передачи данных в беспроводной среде, например, технологию глобального взаимодействие для микроволнового доступа (WiMAX, worldwide interoperability for microwave access), сети технологии долгосрочного развития (LTE, Long Term Evolution), множественный доступ с кодовым разделением (CDMA, code division multiple access), широкополосный множественный доступ с кодовым разделением (WCDMA, wideband code division multiple access), сеть WiFi (wireless fidelity), беспроводную локальную сеть (WLAN, wireless LAN), Bluetooth®, сеть передачи данных по Интернет-протоколу, спутниковую сеть, мобильную специальную сеть (MANET, mobile ad-hoc network) и т.п., или любую комбинацию указанных сетей.
UE 101 представляет собой мобильный терминал, фиксированный терминал или переносной терминал, включая мобильный телефон, станцию, блок, устройство, мультимедийный компьютер, мультимедийный планшет, Интернет-узел, коммуникатор, настольный компьютер, ноутбук, сетевой компьютер, систему персональной связи (PCS, personal communication system), персональное навигационное устройство, персональное информационное устройство (PDA, Personal Digital Assistant), аудио/видео проигрыватель, цифровую записывающую видеокамеру/камкордер, устройство позиционирования, телевизионный приемник, радиоприемник, электронную книгу, игровое устройство или любую комбинацию указанных устройств, включая вспомогательные и периферийные компоненты этих устройств или любую комбинацию этих компонентов. Также предполагается возможность поддержки устройством UE 101 интерфейса пользователя любого типа (например, "носимой" схемы и т.д.).
Например, UE 101, услуга 109 и платформа 105 обмена данными осуществляют связь друг с другом и другими компонентами сети 107 связи с помощью хорошо известных, новых или находящихся на стадии развития протоколов. В этом контексте протокол включает набор правил, описывающих способ взаимодействия друг с другом сетевых узлов в сети 107 связи на основе информации, передаваемой по линиям связи. Протоколы в каждом узле действуют на различных уровнях функционирования: от генерации и приема физических сигналов различных типов до выбора линии связи для передачи этих сигналов, форматирования информации, указываемой этими сигналами, идентификации программного приложения, выполняющегося в компьютерной системе, которая передает или принимает информацию. Концептуально различные уровни протоколов для обмена информацией через сеть описываются в рамках эталонной модели взаимодействия открытых систем (OSI, Open Systems Interconnection).
Связь между сетевыми узлами обычно выполняется посредством обмена отдельными пакетами данных. Каждый пакет обычно содержит (1) заголовок, связанный с конкретным протоколом, и (2) полезную нагрузку, которая следует за информацией заголовка и содержит информацию, которая может обрабатываться независимо от этого конкретного протокола. В некоторых протоколах пакет содержит (3) концевую часть, следующую за информацией полезной нагрузки и указывающую на окончание полезной нагрузки. Заголовок содержит такую информацию, как источник пакета, его пункт назначения, длину полезной нагрузки и другие параметры, используемые протоколом. Часто в данные полезной нагрузки для конкретного протокола включается заголовок и полезная нагрузка для другого протокола, связанного с иным, более высоким уровнем эталонной модели OSI. Заголовок для конкретного протокола обычно указывает тип для следующего протокола, данные которого содержатся в его полезной нагрузке. Считается, что протокол более высокого уровня должен быть инкапсулирован в протокол более низкого уровня. Заголовки, включенные в пакет, передаваемый через множество гетерогенных сетей, таких как Интернет, обычно содержат физический заголовок (уровень 1), заголовок канала передачи данных (уровень 2), заголовок межсетевого взаимодействия (уровень 3) и транспортный заголовок (уровень 4), а также заголовки различных приложений (уровни 5, 6 и 7), определенные эталонной моделью OSI.
В одном из вариантов осуществления настоящего изобретения клиент 115 и платформа 105 обмена данными взаимодействуют в соответствии с моделью клиент-сервер. Следует отметить, что модель клиент-сервер взаимодействия компьютерных процессов широко известна и востребована. Согласно модели клиент-сервер клиентский процесс посылает серверному процессу сообщение, содержащее запрос, и серверный процесс в ответ на этот запрос предоставляет услугу. Серверный процесс также может возвращать клиентскому процессу ответное сообщение. Часто клиентский и серверный процессы выполняются на различных компьютерах, называемых хостами, и осуществляют связь друг с другом по сети с использованием одного или более протоколов сетевого взаимодействия. Термин "сервер" обычно используется для обозначения процесса, предоставляющего услугу, или хост-компьютера, на котором этот процесс выполняется. Подобным образом, термин "клиент" обычно используется для обозначения процесса, осуществляющего запрос, или хост-компьютера, на котором этот процесс выполняется. В данном описании термины "клиент" и "сервер" относятся к процессам, а не к хост-компьютерам, если иная интерпретация не очевидна из контекста. Кроме того, процесс, выполняемый сервером, может разбиваться на множество процессов, выполняемых на множестве хостов (иногда называемых уровнями), для того чтобы, помимо прочего, обеспечить надежность, масштабирование и резервирование.
На фиг.2 показана блок-схема компонентов платформы 105 обмена данными в соответствии с одним из вариантов осуществления настоящего изобретения. Например, платформа 105 обмена данными содержит один или более компонентов, обеспечивающих связь с услугой с использованием идентификатора получателя. Предполагается, что эти функции могут выполняться одним или более компонентами или другими компонентами эквивалентной функциональности. В этом варианте осуществления настоящего изобретения платформа 105 обмена данными содержит модуль 201 маршрутизации сообщений, включающий в свой состав аутентификатор 203 клиента, и хост-модуль 205 услуги, включающий в свой состав генератор 207 идентификатора получателя, аутентификатор 209 услуги, декодер 211 идентификатора получателя и таблицу 213 ключей. Модуль 201 маршрутизации сообщений выполняет функции управления/контроля любых входящих и исходящих сеансов связи с клиентом 115 и хост-модулем 205 услуги, например, используемых для передачи файлов или данных, содержащих информацию, относящуюся к идентификаторам устройства и идентификаторам приложения. Аутентификатор 203 клиента выполняет аутентификацию клиента 115 для инициирования связи между модулем 201 маршрутизации сообщений и клиентом 115. Генератор 207 идентификатора получателя генерирует идентификатор получателя на основе идентификаторов пользователя, идентификаторов устройства и/или идентификаторов приложения, принимаемых из модуля 201 маршрутизации сообщений. Идентификатор получателя может использоваться в качестве промежуточного средства при обмене данными между UE 101 и платформой 103 предоставления услуг, услугой 109 и/или поставщиком 111 данных. В частности, идентификатор получателя может использоваться для маршрутизации данных из услуги 109 в соответствующее приложение (например, приложение 113), установленное в соответствующем устройстве (например, в UE 101). Генератор 207 идентификатора получателя также выполняет шифрование и может использовать таблицу 213 ключей в процессе шифрования идентификатора получателя. Таблица 213 ключей может использоваться совместно с декодером идентификатора получателя, либо генератор и декодер могут хранить по существу идентичные копии этой таблицы. Генератор 221 идентификатора получателя взаимодействует с модулем 201 маршрутизации сообщений для приема информации, связанной с идентификатором получателя. Аутентификатор 209 услуги поддерживает интерфейс с услугами 109a-109n и/или платформой 103 предоставления услуг для приема данных и идентификатора получателя от услуг 109a-109n. Декодер 211 идентификатора получателя принимает данные и идентификатор получателя из аутентификатора 209 услуги и декодирует идентификатор получателя. Декодер 211 идентификатора получателя может также передавать декодированный идентификатор получателя и данные в модуль 201 маршрутизации сообщений.
В одном из вариантов осуществления настоящего изобретения генератор 207 идентификатора получателя для генерации идентификатора получателя принимает запрос через модуль 201 маршрутизации сообщений. Этот запрос может приниматься из клиента 115, который создает такой запрос в ответ на запрос идентификатора получателя, поступающий из приложения 113. Принятый запрос может содержать идентификатор приложения, соответствующий приложению (например, приложению 113), используемому для приема данных, идентификатор устройства, соответствующий устройству (например, UE 101), в котором установлено приложение, и идентификатор услуги, соответствующий услуге (например, услуге 109), передающей уведомление. Критичная информация, такая как идентификатор устройства и идентификатор пользователя и т.д., может включаться в запрос, передаваемый из клиента 115 в платформу 105 обмена данными, но не включается в запрос приложения, передаваемый из приложения 113 в клиент 115. Таким образом, критичная информация неизвестна приложению 113, которое может представлять собой приложение третьей стороны. Идентификатор устройства может представлять собой адрес целевого устройства и может являться идентификатором в сети Jabber (JID) согласно протоколу ХМРР, который может также включать идентификатор пользователя.
После получения запроса генерации идентификатора получателя генератор 207 идентификатора получателя определяет идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения, а затем генерирует идентификатор получателя путем кодирования идентификаторов пользователя, идентификаторов устройства и/или идентификаторов приложения. Идентификатор получателя генерируется таким образом, чтобы из него могли быть непосредственно декодированы эти идентификаторы устройства и/или идентификаторы приложения. После генерации идентификатора получателя генератор 207 идентификатора получателя передает сгенерированный идентификатор получателя, но не предоставляет информацию о идентификаторе пользователя, идентификаторах устройства или идентификаторе приложения. Например, генератор 207 идентификатора получателя может передавать через модуль 201 маршрутизации сообщений сгенерированный идентификатор получателя клиенту 115 устройства (например, UE 101), соответствующего идентификаторам пользователя, устройства и приложения, таким образом, чтобы клиент 115 мог переслать идентификатор получателя в приложение 113. В одном из примеров после передачи сгенерированный идентификатор получателя нет необходимости сохранять в платформе 105 обмена данными или в каком-либо запоминающем устройстве для последующего обращения к этому идентификатору. Таким образом, идентификатор получателя может быть уничтожен после передачи из платформы 105 обмена данными в UE 101, либо он может временно сохраняться в кэш-памяти, такой как оперативная память (RAM).
При генерировании идентификатора получателя генератор 207 идентификатора получателя может выполнять шифрование этого идентификатора. В одном из вариантов осуществления настоящего изобретения генератор 207 идентификатора получателя шифрует идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения. Генератор 207 идентификатора получателя генерирует идентификатор получателя на основе зашифрованных идентификаторов пользователя, устройства и/или приложения либо на основе их комбинации. Таким образом, идентификатор получателя может переносить в зашифрованном виде информацию об идентификаторе пользователя, идентификаторе устройства и идентификаторе приложения. Генератор 207 идентификатора получателя может также генерировать код аутентификации сообщения (MAC, message authentication code), такой как код НМАС, который включается в идентификатор получателя. Благодаря этому генератор 207 идентификатора получателя в дальнейшем может подтвердить целостность идентификатора получателя путем проверки кода НМАС, содержащегося в этом идентификаторе. Кроме того, генератор 207 идентификатора получателя может зашифровать идентификатор получателя с использованием симметричного шифра, такого как строго симметричный шифр (например, с помощью 256-битового ключа AES), или асимметричного шифра. Такой процесс кодирования с использованием шифрования может включать выбор первичного ключа для шифра, основанного на идентификаторах услуги, и генерацию вторичного ключа, основанного на коде НМАС, сформированного на основе идентификаторов услуги и предварительно определенных параметрах (например, на уровне услуге) и т.д. Например, генератор 207 идентификатора получателя может выбирать первичный ключ на основе хэша входных данных, содержащих идентификаторы услуги. Первичный ключ может выбираться из таблицы 213 ключей, содержащей первичные ключи, выбираемые на основе идентификаторов услуги. Таблица 213 ключей может содержать большое количество первичных ключей, поэтому вероятность использования одинакового первичного ключа двумя различными услугами очень мала. Кроме того, вторичный ключ, например, может представлять собой код НМАС, сформированный с использованием таблицы 213 ключей, идентификаторов услуги и предварительно определенных данных.
Приложение 113 может принять сгенерированный идентификатор получателя и передать его услуге 109. Затем услуга 109 может передать данные (например, уведомления) в UE 101 в соответствии с информацией, закодированной в идентификаторе получателя. В одном из вариантов осуществления настоящего изобретения аутентификатор 209 услуги выполняет аутентификацию услуги 109, из которой переданы данные. После аутентификации услуги 109 аутентификатор 209 услуги принимает данные от услуги 109, при этом данные содержат идентификатор получателя и направляются в декодер 211 идентификатора получателя. Затем декодер 211 идентификатора получателя декодирует идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения непосредственно из принятых данных. Другими словами, идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения могут быть получены из идентификатора получателя без использования какой-либо внешней информации, например, справочной таблицы или базы данных. В одном из примеров идентификатор пользователя, идентификаторы устройства и/или идентификаторы приложения могут быть декодированы непосредственно из идентификатора получателя, который содержится в данных. Модуль 201 маршрутизации сообщений затем направляет данные в приложение 113 в соответствии с идентификаторами устройства и/или идентификаторами приложения. В процессе выполнения маршрутизации идентификатор пользователя и/или идентификаторы устройства не раскрываются приложению 113, и, таким образом, критичная информация о пользователе и/или устройстве скрыта от приложения 113. Например, декодер 211 идентификатора получателя может через модуль 201 маршрутизации сообщений передавать клиенту 115 устройства, соответствующего идентификатору пользователя и устройства, данные, содержащие идентификатор пользователя и устройства, например JID и/или идентификатор приложения. Затем клиент 115 может передать данные в приложение, соответствующее идентификатору приложения.
На фиг.3 показан алгоритм процесса, который в соответствии с одним из вариантов осуществления настоящего изобретения позволяет осуществлять связь с услугой с использованием идентификатора получателя. В одном из вариантов осуществления настоящего изобретения платформа 105 обмена данными выполняет процесс 300 и реализована, например, в виде компьютерной системы, показанной на фиг.8, или набора микросхем, показанного на фиг.9 и содержащего процессор и память. На шаге 301 платформа 105 обмена данными принимает запрос генерации идентификатора получателя для индикации данных, которыми обмениваются услуга и приложение, установленное в устройстве. Идентификатор получателя указывает данные, подлежащие обмену между приложением 113 и услугой 109 в среде платформы 103 предоставления услуг. Таким образом, идентификатор получателя может содержать информацию, связанную с пользователем, устройством и приложением, которому должны передаваться данные, например, от услуги 109. Перед тем как платформа 105 обмена данными принимает запрос генерации идентификатора получателя, приложение 113, установленное в UE 101, передает запрос идентификатора получателя в клиент 115 в UE 101. Этот запрос может передаваться в клиент 115 путем вызова API активизатора устройства. Поскольку приложение 113 может представлять собой приложение третьей стороны, может быть предпочтительным скрыть критичную информацию от приложения 113. В связи с этим в одном из вариантов осуществления настоящего изобретения доступ к критичной информации, включающей в свой состав идентификатор пользователя или устройства, может не предоставляться приложению 113. В результате этот запрос, поступающий из приложения 113, может содержать идентификатор приложения, соответствующий приложению 113, но может не содержать критичную информацию, такую как идентификатор устройства и идентификатор пользователя.
Затем клиент 115 передает платформе 105 обмена данными запрос, который принимается платформой 105 обмена данными для генерации идентификатора получателя. Клиентский запрос, передаваемый клиентом 115, может быть преобразован по сравнению с запросом, поступившим из приложения 113, таким образом, чтобы в его состав входила критичная информация, такая как идентификатор пользователя и идентификатор устройства, соответствующий UE 101. Клиент 115 может быть сконфигурирован для выполнения связи с платформой 105 обмена данными, в то время как приложение 113 может быть сконфигурировано для связи с услугой 109 и клиентом 115. Таким образом, в одном из вариантов осуществления настоящего изобретения приложение 113 может запрашивать идентификатор получателя для платформы 105 обмена данными только через клиент 115.
На шаге 303 платформа 105 обмена данными определяет идентификатор пользователя, один или более идентификаторов устройства, связанных с устройством, один или более идентификаторов приложения, связанных с приложением, или их комбинацию. В одном из примеров идентификатор устройства может также быть совмещен с идентификатором пользователя с образованием одного идентификатора, содержащего идентификатор пользователя и идентификатор устройства, такой как идентификатор в сети Jabber (JID). Идентификатор пользователя и/или идентификатор устройства указывают устройство, которому услуга 109 может передавать уведомление, а идентификатор приложения указывает одно или более приложений, которым услуга 109 может передавать уведомление. В одном из вариантов осуществления настоящего изобретения запрос, переданный от клиента 115 в платформу 105 обмена данными, может содержать идентификатор пользователя, идентификаторы устройства, идентификаторы приложения и идентификаторы услуги, для которых запрошен идентификатор получателя. Другими словами, для услуги, передающей сообщение уведомления в приложение, установленное в устройстве, могут быть определены соответствующие идентификаторы услуги.
На шаге 305 платформа 105 обмена данными генерирует идентификатор получателя путем кодирования в идентификаторе получателя, по меньшей мере частично, идентификатора пользователя, одного или более идентификаторов устройства, одного или более идентификаторов приложения или их комбинации. Идентификатор получателя генерируется таким образом, чтобы идентификатор пользователя, один или более идентификаторов устройства, один или более идентификаторов приложения или их комбинация могли быть непосредственно декодированы из идентификатора получателя. Таким образом, идентификатор получателя содержит информацию, связанную с идентификатором пользователя, идентификатором (идентификаторами) устройства и/или идентификаторами приложения (приложений), а также с другой информацией, которая может быть получена из идентификатора получателя без обращения к внешней информации, такой как база данных. Кроме того, поскольку идентификатор пользователя, идентификаторы устройства и идентификаторы приложения закодированы при генерации идентификатора получателя, информация, относящаяся к идентификатору пользователя, идентификаторам устройства и идентификаторам приложения может быть недоступна, если идентификатор получателя не декодирован. В результате идентификатор получателя скрывает эту критичную информацию от услуги третьей стороны или от разработчика приложения третьей стороны, главным образом, в том случае, если услуга третьей стороны или разработчик приложения третьей стороны не может декодировать идентификатор получателя. В одном из примеров платформа 105 обмена данными может генерировать для идентификатора получателя код аутентификации сообщения (MAC) и включать его в идентификатор получателя. Затем платформа 105 обмена данными может проверить целостность идентификатора получателя путем проверки кода MAC. В одном из примеров MAC может представлять собой хэш-код аутентификации сообщения (НМАС). Кроме того, идентификатор получателя может генерироваться для переноса в зашифрованном виде информации об идентификаторе пользователя, идентификаторах устройства и приложения. Ниже более подробно описывается процесс шифрования, в рамках которого задействовано уведомление.
На шаге 307 платформа 105 обмена данными передает идентификатор получателя в приложение, услугу или в их комбинацию без предоставления приложению или услуге информации об идентификаторе пользователя, одном или более идентификаторах устройства. Платформа 105 обмена данными может передать идентификатор получателя клиенту 115, который пересылает указанный идентификатор получателя в приложение 113. Затем приложение 113 передает этот идентификатор получателя услуге 109, для того чтобы услуга 109 могла использовать идентификатор получателя для передачи данных (например, уведомлений) в приложение 113. Идентификационная информация о пользователе и устройстве скрыта от услуги 109, поскольку идентификатор пользователя и/или идентификаторы устройства закодированы в идентификаторе получателя, вследствие чего, как было указано выше, услуга 109 не может прочитать идентификатор пользователя и/или идентификаторы устройства с помощью идентификатора получателя. После передачи идентификатора получателя платформе 105 обмена данными не требуется сохранять этот идентификатор для последующего к нему обращения. Идентификатор получателя может временно сохраняться в кэш-памяти, такой как оперативная память (RAM). Поскольку платформа 105 обмена данными может кодировать и декодировать идентификатор получателя динамически, идентификатор получателя и соответствующая ему информационная полезная нагрузка (например, идентификаторы пользователя, идентификаторы устройства и идентификаторы приложения) не должна сохраняться и обслуживаться в базе данных. В результате этот подход может преимущественно упростить обмен данными, в которых задействован идентификатор получателя.
На фиг.4 показан алгоритм процесса, который в соответствии с одним из вариантов осуществления настоящего изобретения позволяет маршрутизировать данные от услуги с использованием идентификатора получателя. В одном из вариантов осуществления настоящего изобретения платформа 105 обмена данными выполняет процесс 400 и реализована, например, в виде компьютерной системы, показанной на фиг.8, или набора микросхем, показанного на фиг.9 и содержащего процессор и память. На шаге 401 платформа 105 обмена данными принимает данные, в состав которых входит идентификатор получателя. В одном из вариантов осуществления настоящего изобретения после приема услугой 109 из приложения 113 идентификатора получателя услуга 109 передает данные, содержащие идентификатор получателя, в платформу 105 обмена данными. В одном из примеров данные могут содержать информацию об уведомлении, которая подлежит передаче в UE 101, таким образом чтобы UE 101 могло предоставить уведомление, поступившее из услуги 109. На шаге 403 платформа 105 обмена данными декодирует непосредственно из данных один или более идентификаторов пользователя и/или один или более идентификаторов устройства, один или более идентификаторов приложения или их комбинацию. Таким образом, декодированный идентификатор пользователя, декодированные идентификаторы устройства и/или декодированные идентификаторы приложения могут использоваться для маршрутизации данных (например, данных, содержащих уведомления) в соответствующее устройство соответствующего пользователя и в соответствующее приложение. На шаге 405 платформа 105 обмена данными направляет данные в приложение на основе, по меньшей мере частично, одного или более идентификаторов пользователя, одного или более идентификаторов устройства, одного или более идентификаторов приложения или их комбинации. Данные могут передаваться клиенту 115 соответствующего устройства (например, UE 101) соответствующего пользователя на основе декодированных идентификаторов устройства и/или пользователя. Затем клиент 115 пересылает данные в требуемое приложение (например, приложение 113) в соответствии с декодированными идентификаторами приложения. Далее приложение 113 на основе полученных данных предоставляет уведомления в UE 101. В этом случае, если декодированные идентификаторы пользователя и/или идентификаторы соответствующего устройства используются при определении соответствующего устройства и клиента 115 соответствующего устройства соответствующего пользователя, но не используются при определении соответствующего приложения, идентификатор пользователя и устройства не предоставляется устройству.
Преимущества процессов, алгоритмы выполнения которых показаны на фиг.3 и 4, заключаются в том, что эти процессы обеспечивают эффективный и безопасный способ обмена информацией между услугой и приложением, установленным в устройстве, посредством использования идентификатора получателя, позволяющего скрыть критичную информацию об устройстве и/или пользователе от услуги и/или приложения. Эти процессы, которые задействуют идентификатор получателя, также обеспечивают простоту обработки в том, что касается динамического кодирования и декодирования идентификатора получателя, благодаря чему не требуется обслуживать большую базу данных идентификаторов получателей различных устройств, пользователей и приложений. Таким образом, этот процесс обеспечивает безопасный способ обмена данными с услугой третьей стороны и позволяет сэкономить затраты, требуемые для обслуживания большой базы данных идентификаторов получателей. Платформа 105 обмена данными представляет собой средство для достижения этого преимущества.
На фиг.5 показан алгоритм процесса выполнения шифрования идентификатора получателя в соответствии с одним из вариантов осуществления настоящего изобретения. В одном из вариантов осуществления настоящего изобретения платформа 105 обмена данными выполняет процесс 500 и реализована, например, в виде компьютерной системы, показанной на фиг.8, или набора микросхем, показанного на фиг.9 и содержащего процессор и память. На шаге 501 платформа 105 обмена данными принимает решение о шифровании идентификатора получателя. Согласно одному из способов шифрования идентификатора получателя выполняют шифрование идентификатора пользователя и идентификаторов устройства и/или идентификаторов приложения, таким образом чтобы идентификатор получателя содержал в зашифрованном виде идентификатор пользователя, идентификатор устройства и идентификатор приложения.
Платформа 105 обмена данными может шифровать идентификатор получателя с использованием симметричного шифра, такого как строго симметричный шифр (например, с помощью 256-битового ключа в соответствии со стандартом AES). Платформа 105 обмена данными может использовать первичный ключ и вторичный ключ для шифрования идентификатора получателя с использованием симметричного шифра. На шаге 503 платформа 105 обмена данными выбирает первичный ключ для симметричного шифра на основе, по меньшей мере частично, одного или более идентификаторов услуги, связанных с услугой. На шаге 505 платформа 105 обмена данными генерирует вторичный ключ для симметричного шифра на основе, по меньшей мере частично, хэш-кода аутентификации сообщения (НМАС), сформированного, по меньшей мере частично, из одного или более идентификаторов услуги, одного или более предварительно определенных параметров (например, уровня услуги) или их комбинации. Первичный ключ может быть выбран на основе хэша входных данных, содержащих идентификаторы услуги, связанные с одним или более предварительно определенных параметров, или комбинации этих параметров. Первичный ключ может быть выбран из таблицы ключей, содержащей некоторое количество первичных ключей. Если в таблице ключей хранится большое количество первичных ключей (например, несколько тысяч первичных ключей), то вероятность использования одинакового первичного ключа двумя различными услугами очень мала. Вторичный ключ может представлять собой код НМАС, вычисленный с использованием первичного ключа, идентификаторов услуги и предварительно определенных параметров. Вторичный ключ является уникальным, поскольку он специфичен для идентификатора услуги. Таким образом, для двух услуг, первичные ключи которых предположительно одинаковы, вторичные ключи гарантированно различаются, поскольку идентификаторы различных услуг уникальны.
Преимущество процесса, показанного на фиг.5, заключается в том, что он обеспечивает безопасность путем шифрования идентификатора получателя. Поскольку к идентификатору получателя может обращаться третья сторона для извлечения такой информации, как идентификатор устройства и/или пользователей, дополнительное преимущество заключается в повышении уровня безопасности путем шифрования идентификатора уведомления. Платформа 105 обмена данными представляет собой средство для достижения этого преимущества.
На фиг.6 показана блок-схема процессов, изображенных на фиг.3 и 4, в соответствии с одним из вариантов осуществления настоящего изобретения. На фиг.6 показана схема 600 взаимодействия приложения 601, клиента 603, платформы 605 обмена данными и услуги 607. В этом варианте осуществления можно считать, что приложение 601, клиент 603, платформа 605 обмена данными и услуга 607 аналогичны приложению 113, клиенту 115, платформе 105 обмена данными и услуге 109. В ходе выполнения процесса 611 приложение 601 запрашивает идентификатор получателя, при этом такой запрос может выполняться путем вызова API активизатора устройства. Этот запрос может содержать идентификатор требуемого приложения (например, приложения 601) и идентификатор услуги (например, услуги 607), которой приложение 601 передает идентификатор получателя, но может не содержать идентификатор запрашиваемого устройства и/или идентификатор пользователя либо любую другую критичную информацию, которая не должна быть известна приложению 603 или услуге 607. Клиент 603 принимает этот запрос и передает его в платформу 605 обмена данными в ходе выполнения процесса 613. Этот запрос, передаваемый платформе 605 обмена данными, может быть преобразован таким образом, чтобы он содержал идентификатор пользователя, а также идентификатор запрашиваемого устройства. При этом может использоваться один идентификатор, который включает в свой состав как идентификатор устройства, так и идентификатор пользователя, например JID. Затем платформа 605 обмена данными генерирует идентификатор получателя в соответствии с запросом и информацией, содержащейся в запросе, такой как идентификатор пользователя, идентификатор устройства, идентификатор приложения и т.д. При генерации идентификатора получателя платформа 605 обмена данными также выполняет шифрование этого идентификатора на основе идентификатора услуги, уровня обслуживания и некоторых иных данных, таких как предварительно определенные параметры, и т.п.
В ходе выполнения процесса 615 сгенерированный идентификатор получателя передается клиенту 603, и в ходе выполнения процесса 617 клиент 603 передает этот идентификатор получателя приложению 601. Затем в ходе выполнения процесса 619 приложение 601 передает идентификатор получателя услуге 607. Услуга 607 может использовать этот идентификатор получателя для передачи данных, например, сообщений об уведомлении, в приложение 601. Для этого в ходе выполнения процесса 621 услуга 607 передает данные, содержащие идентификатор уведомления, в платформу 605 обмена данными. Платформа 605 обмена данными декодирует идентификатор пользователя и/или идентификатор(ы) устройства, и/или идентификатор(ы) приложения на основе принятого идентификатора уведомления. В ходе выполнения процесса 623 данные совместно с декодированным идентификатором пользователя и/или идентификаторами устройства и декодированными идентификаторами приложения передаются клиенту 603 устройства, соответствующего декодированным идентификаторам устройства. Затем в ходе выполнения процесса 625 данные передаются от клиента 603 в приложение 610 в соответствии с декодированными идентификаторами приложения. Если данные представляют собой сообщение уведомления, то приложение 601 может отображать данные в устройстве в виде уведомления, поступающего из услуги 607.
Описанные процессы обеспечения связи с услугой с использованием идентификатора получателя могут быть преимущественно реализованы с помощью программного обеспечения, аппаратного обеспечения, микропрограммного обеспечения или комбинации программного обеспечения и/или микропрограммного обеспечения, и/или аппаратного обеспечения. Ниже подробнее описываются такие примеры аппаратного обеспечения, предназначенного для выполнения описанных функций.
На фиг.7 показана компьютерная система 700, с помощью которой может быть реализован вариант осуществления настоящего изобретения. Хотя компьютерная система 700 изображена для конкретного устройства или оборудования, предполагается, что другие устройства или оборудование (например, сетевые элементы, серверы и т.д.), показанные на фиг.7, могут содержать аппаратное обеспечение и компоненты системы 700. Компьютерная система 700 запрограммирована, как описано выше (например, с помощью кода или инструкций компьютерной программы), для обеспечения связи с услугой посредством идентификатора получателя и включает в свой состав механизм осуществления связи, такой как шина 710, для передачи информации между другими внутренними и внешними компонентами компьютерной системы 700. Информация (также называемая данными) представлена в виде физического выражения измеряемого явления, обычно электрических напряжений, однако в других вариантах осуществления настоящего изобретения к такому явлению может относиться магнитное, электромагнитное, световое, химическое, биологическое, молекулярное, атомное, субатомное, квантовое взаимодействие и взаимодействие под давлением. Например, северное и южное магнитные поля или нулевое и ненулевое значение электрического напряжения, отрицательное или положительное электрическое напряжение, нулевой или ненулевой электрический ток, отрицательный или положительный ток, нулевой или ненулевой электрический заряд, отрицательный или положительный электрический заряд, различные уровни положительного или отрицательного электрического напряжения, тока или заряда представляются двумя состояниями (0, 1) двоичного разряда (бита). Другое явление может определяться цифрами в системе счисления более высокого порядка. Суперпозиция множества одновременных квантовых состояний перед измерением представляет квантовый бит (qubit). Последовательность из одной или более цифр образует цифровые данные, которые используются для представления числа или кода символа. В некоторых вариантах осуществления настоящего изобретения информация, называемая аналоговыми данными, представлена практически непрерывными измеряемыми значениями в пределах конкретного диапазона. Компьютерная система 700 или ее часть формирует средства для выполнения одной или более операций обеспечения связи с услугой с использованием идентификатора получателя.
Шина 710 содержит один или более параллельных проводников информации, позволяющих быстро передавать информацию устройствам, подключенным к шине 710. К шине 710 подключаются один или более процессоров 702, служащих для обработки информации.
Процессор (или множество процессоров) 702 выполняет набор операций по обработке информации в соответствии с компьютерным программным кодом, относящимся к обеспечению связи с услугой с использованием идентификатора получателя. Компьютерный программный код представляет собой набор инструкций или операторов, реализующих команды, управляющие процессором и/или компьютерной системой, выполняющей указанные функции. Код, например, может быть написан на компьютерном языке программирования, который компилируется в собственный набор инструкций процессора. Код также может быть непосредственно написан с использованием собственного набора инструкций процессора (например, машинного языка). В набор операций входит получение информации из шины 710 и передача информации в шину 710. Обычно в набор операций также входит сравнение двух или более единиц информации, сдвиг позиций единиц информации и комбинирование двух или более единиц информации, например сложение или умножение, или логические операции, такие как ИЛИ (OR), исключающее ИЛИ (XOR) и И (AND). Каждая операция набора операций, которая может быть выполнена процессором, представлена для процессора в виде информации, называемой инструкциями, например, кодом операции, состоящим из одной или более цифр. Последовательность операций, подлежащих выполнению процессором 702, например, последовательность кодов операций, образует инструкции процессора, также называемые инструкциями компьютерной системы или просто компьютерными инструкциями. Процессоры могут быть реализованы, помимо прочего, в виде механических, электрических, магнитных, оптических, химических или квантовых компонентов, или их комбинации.
Компьютерная система 700 также содержит память 704, соединенную с шиной 710. Память 704, такая как оперативная память (RAM, random access memory) или другое динамическое запоминающее устройство, сохраняет информацию, включая процессорные инструкции для обеспечения связи с услугой посредством идентификатора получателя. Динамическая память позволяет изменять информацию, хранимую в ней компьютерной системой 700. Оперативная память RAM позволяет сохранять или считывать единицу информации, хранимую в местоположении, называемом адресом памяти, независимо от информации, расположенной в соседних адресах. Память 704 также используется процессором 702 для сохранения временных значений в ходе исполнения процессорных инструкций. Компьютерная система 700 также содержит постоянную память (ROM, read only memory) 706 или любое другое статическое запоминающее устройство, соединенное с шиной 710, для хранения статической информации, включая инструкции, которая не изменяется компьютерной системой 700. Некоторые модули памяти представляют собой энергозависимое запоминающее устройство, информация в котором не сохраняется после отключения питания. Кроме того, с шиной 710 соединяется энергонезависимое (постоянное) запоминающее устройство 708, такое как магнитный диск, оптический диск или карта флэш-памяти, для хранения информации, включая инструкции, которая сохраняется даже при отключении компьютерной системы 700 или пропадании питания.
В показанном варианте осуществления с шиной 710 соединяется специализированное аппаратное обеспечение, такое как специализированная интегральная схема (ASIC, application specific integrated circuit) 720. Специализированное аппаратное обеспечение сконфигурировано для достаточно быстрого выполнения отдельных операций, отличных от тех, что выполняет процессор 702. К примерам схем ASIC относятся платы графических ускорителей, предназначенные для генерации изображений для дисплея 714, криптографические платы для шифрования и дешифрования сообщений, переданных по сети, платы распознавания речи и интерфейсы со специальными внешними устройствами, такими как манипуляторы роботов и медицинское оборудование сканирования, которые часто выполняют некоторую последовательность сложных операций, которая более эффективно реализуется аппаратным способом.
Компьютерная система 700 также содержит один или более экземпляров интерфейса 770 связи, соединенных с шиной 710. Интерфейс 770 связи поддерживает одностороннюю или двухстороннюю связь с различными внешними устройствами, которые оснащены своими собственными процессорами, например, с принтерами, сканерами и внешними дисками. В целом, связь реализуется с помощью сетевой линии 778 связи, которая соединяется с локальной сетью 780, к которой подключены различные внешние устройства, оснащенные собственными процессорами. В некоторых вариантах осуществления настоящего изобретения интерфейс 770 связи представляет собой кабельный модем, который преобразует сигналы шины 710 в оптические сигналы для соединения по оптоволокну. В другом примере интерфейс 770 связи может представлять собой плату локальной сети (LAN, local area network), поддерживающей соединение для связи с совместимой LAN, такой как Ethernet. Также могут использоваться беспроводные линии связи. В случае применения беспроводных линий связи интерфейс 770 связи передает или принимает, или выполняет как прием, так и передачу электрических, акустических или электромагнитных сигналов, включая инфракрасные и оптические сигналы, с помощью которых переносятся информационные потоки, такие как цифровые данные. Например, в беспроводных переносных устройствах, таких как мобильные телефоны, подобные сотовым телефонам, интерфейс 770 связи содержит электромагнитный передатчик и приемник, работающий в диапазоне радиочастот и называемый радиоприемопередатчиком. В определенных вариантах осуществления настоящего изобретения интерфейс 770 связи позволяет осуществлять соединение с сетью 107 связи для обеспечения связи с услугой с использованием идентификатора получателя.
Термин "машиночитаемый носитель" используется в этом описании по отношению к любому носителю, задействованному в предоставлении информации процессору 702, включая исполняемые инструкции. Такой носитель может быть выполнен в различных формах, включая, помимо прочего, машиночитаемый носитель (например, энергонезависимый носитель, энергозависимый носитель) и среду передачи. К энергонезависимым носителям относятся, например, оптические или магнитные диски, такие как запоминающее устройство 708. К энергозависимым носителям относятся, например, динамическая память 704. К среде передачи относятся, например, кабели с витыми жилами, коаксиальные кабели, медный провод, волоконно-оптические кабели и сигналы несущей, которые передаются в пространстве без использования проводов и кабелей, такие как акустические волны и электромагнитные волны, включая радиосигналы, оптические и инфракрасные сигналы. К сигналам относятся искусственные переходные изменения амплитуды, частоты, фазы, поляризации или других физических характеристик, информация о которых передается через среду передачи. К общим формам машиночитаемых носителей относятся, например, гибкий диск, жесткий диск, магнитная лента, любые другие магнитные носители, CD-ROM, CDRW, DVD, любые другие оптические носители, перфокарты, перфоленты, листы с оптическими метками, любые другие физические носители, содержащие шаблоны в виде отверстий или иных оптически различаемых знаков, RAM, PROM, EPROM, FLASH-EPROM, EEPROM, флэш-память, любые другие микросхемы или модули памяти, сигналы несущих или любые другие носители, с которых компьютер может считывать информацию. Термин "машиночитаемый носитель информации" используется в этом описании по отношению к любому носителю, за исключением среды передачи.
К логике, закодированной на одном или более физических носителей, относятся процессорные инструкции на машиночитаемом носителе информации и/или специализированное аппаратное обеспечение, такое как ASIC 720.
Сетевая линия 778 связи обычно обеспечивает информационную связь с помощью среды передачи через одну или более сетей с другими устройствами, использующими или обрабатывающими информацию. Например, сетевая линия 778 связи может обеспечивать соединение через локальную сеть 780 с хост-компьютером 782 или с оборудованием 784, управляемым поставщиком Интернет-услуг (ISP, Internet Service Provider). Оборудование 784 ISP, в свою очередь, предоставляет услуги передачи данных по всемирной сети связи общего пользования с коммутацией пакетов, в настоящее время называемой Интернетом 790.
Компьютер, называемый хост-сервером 792, подключенный к хост-компьютерам сети Интернет, выполняет процесс, который предоставляет услугу в ответ на информацию, принятую через Интернет. Например, на хост-сервере 792 выполняется процесс, который предоставляет информацию, представляющую видеоданные, предназначенные для отображения на дисплее 714. Предполагается, что компоненты системы 700 могут устанавливаться в различных конфигурациях в других компьютерных системах, например, в хост-компьютере 782 и в сервере 792.
По меньшей мере некоторые варианты осуществления настоящего изобретения относятся к использованию компьютерной системы 700 для реализации некоторых или всех описанных в этом документе технологий. В соответствии с одним из вариантов осуществления настоящего изобретения эти технологии реализуются с помощью компьютерной системы 700, взаимодействующей с процессором 702, который исполняет одну или более последовательностей, содержащих одну или более процессорных инструкций, хранящихся в памяти 704. Такие инструкции, также называемые компьютерными инструкциями, программным обеспечением и программным кодом, могут считываться в память 704 с другого машиночитаемого носителя, такого как запоминающее устройство 708 или сетевая линия 778. В результате выполнения последовательностей инструкций, содержащихся в памяти 704, процессор 702 выполняет один или более шагов способа, описанных в этом документе. В альтернативных вариантах осуществления для реализации настоящего изобретения вместо программного обеспечения или совместно с ним может использоваться аппаратное обеспечение, например ASIC 720. Таким образом, варианты осуществления настоящего изобретения не ограничены какой-либо конкретной комбинацией аппаратного и программного обеспечения, если в описании в точности не указано иное.
Сигналы, передаваемые через сетевой линии 778 связи и другим сетям через интерфейс 770 связи, переносят информацию в компьютерную систему 700 и от нее. Компьютерная система 700 может передавать и принимать информацию, включая программный код, через сети 780, 790 (а также через другие сети), через сетевую линию 778 связи и интерфейс 770 связи. В примере использования сети Интернет 790 хост-сервер 792 передает программный код для конкретного приложения, запрошенного с помощью сообщения, переданного из компьютера 700 через Интернет 790, оборудование 784 ISP, локальную сеть 780 и интерфейс 770 связи. Принятый код может сразу же выполняться процессором 702 и/или сохраняться для последующего выполнения в памяти 704 или в запоминающем устройстве 708, или в любом другом энергонезависимом запоминающем устройстве. Таким образом, компьютерная система 700 может получать прикладной программный код в форме сигналов несущей.
Различные виды машиночитаемых носителей могут быть задействованы в процессе переноса одной или более последовательностей инструкций и/или данных в процессор 702 для последующего их исполнения. Например, инструкции и данные могут вначале записываться на магнитный диск удаленного компьютера, такого как хост 782. Удаленный компьютер загружает инструкции и данные в свою динамическую память и передает их по телефонной линии с помощью модема. Модем, локальный по отношению к компьютерной системе 700, принимает инструкции и данные по телефонной линии и использует передатчик инфракрасного сигнала для преобразования инструкций и данных в сигнал с несущей в инфракрасном спектре, служащий в качестве сетевой линии 778 связи. Инфракрасный детектор, служащий в качестве интерфейса 770 связи, принимает инструкции и данные, переносимые инфракрасным сигналом, и подает информацию, представляющую инструкции и данные, на шину 710. Информация по шине 710 передается в память 704, из которой процессор 702 считывает инструкции и выполняет их с использованием некоторых данных, переданных совместно с инструкциями. Инструкции и данные, принятые в память 704, дополнительно могут сохраняться в запоминающем устройстве 708 либо перед, либо после их выполнения процессором 702.
На фиг.8 показан набор микросхем или микросхема 800, с помощью которой может быть реализован вариант осуществления настоящего изобретения. Набор 800 микросхем запрограммирован для обеспечения связи с услугой посредством идентификатора получателя в соответствии с приведенным описанием и содержит, например, процессор и память, описываемые со ссылкой на фиг.7, которые встроены в один или более физических корпусов (например, в виде микросхем). Например, физический корпус содержит монтажную схему, состоящую из одного или более материалов, компонентов и/или проводников, расположенных в структурном узле (например, на материнской плате), для обеспечения одной или более таких характеристик, как физическая прочность, экономия размеров и/или ограничение уровня электрических помех. Предполагается, что в определенных вариантах осуществления настоящего изобретения набор 800 микросхем может быть реализован в рамках одной микросхемы. Предполагается также, что в определенных вариантах осуществления настоящего изобретения набор микросхем или микросхема 800 могут быть реализованы как одна "система на микросхеме". Также предполагается, что в определенных вариантах осуществления настоящего изобретения, например, не должна использоваться отдельная схема ASIC, и все функции, раскрытые в этом описании, должны выполняться процессором или процессорами. Набор микросхем или микросхема 800, или ее часть формируют средства для выполнения одной или более операций предоставления в пользовательском интерфейсе информации навигации, связанной с доступностью функций. Набор микросхем или микросхема 800 или ее часть формирует средства для выполнения одной или более операций обеспечения связи с услугой с использованием идентификатора получателя.
В одном из вариантов осуществления настоящего изобретения набор микросхем или микросхема 800 содержит средство связи, такое как шина 801, для пересылки информации между компонентами набора 800 микросхем. Процессор 803 соединен с шиной 801 для выполнения инструкций и обработки информации, хранящейся, например, в памяти 805. Процессор 803 может содержать одно или более ядер обработки, каждое из которых сконфигурировано для независимого выполнения операций. Многоядерный процессор позволяет выполнять многопроцессорную обработку в одном физическом корпусе. К примерам многоядерных процессоров относятся процессоры с двумя, четырьмя, восемью и большим количеством ядер обработки. В альтернативном варианте или дополнительно процессор 803 может содержать один или более микропроцессоров, сконфигурированных последовательно через шину 801 для обеспечения возможности независимого выполнения инструкций, конвейерной и многопоточной обработки. Процессор 803 для выполнения определенных функций и задач обработки может также оснащаться одним или более специализированными компонентами, например одним или более цифровыми сигнальными процессорами (DSP) 807 или одной или более специализированными интегральными схемами (ASIC) 809. Цифровой сигнальный процессор DSP 807 обычно сконфигурирован для обработки реальных сигналов (например, звука) в реальном времени, независимо от процессора 803. Таким же образом, ASIC 809 может быть сконфигурирована для выполнения специализированных функций, которые процессору более общего назначения выполнить достаточно сложно. К другим специализированным компонентам, способствующим выполнению описанных функций изобретения, могут относиться одна или более программируемых пользователем вентильных матриц (FPGA, field programmable gate array) (не показано), один или более контроллеров (не показано) или одна или более специализированных компьютерных микросхем.
В одном из вариантов осуществления настоящего изобретения набор микросхем или микросхема 800 содержит один или более процессоров и некоторые программные и/или микропрограммные элементы, поддерживающие один или более процессоров и/или относящиеся к этим процессорам.
Процессор 803 и сопутствующие компоненты соединены с памятью 805 через шину 801. Память 805 включает в свой состав как динамическую память (например, RAM, магнитный диск, записываемый оптический диск и т.д.), так и статическую память (например, ROM, CD-ROM и т.д.) для хранения инструкций, при исполнении которых выполняются описанные операции обеспечения связи с услугой с использованием идентификатора получателя. В памяти 805 также хранятся данные, связанные с шагами способа реализации изобретения или сгенерированные в процессе выполнения этих шагов.
На фиг.9 в соответствии с одним из вариантов осуществления настоящего изобретения показана схема типовых компонентов мобильного связного терминала (например, телефонной трубки), способного функционировать в системе, изображенной на фиг.1. В некоторых вариантах осуществления настоящего изобретения мобильный терминал 901 или его часть формирует средства для выполнения одной или более операций обеспечения связи с услугой с использованием идентификатора получателя. Обычно радиоприемник определяется в терминах внешних и внутренних характеристик. К внешнему интерфейсу приемника относятся все радиочастотные схемы (RF, Radio Frequency), в то время как к внутреннему интерфейсу относятся все схемы обработки сигнала основной полосы. Используемый в этой заявке термин "схема" относится к следующим двум компонентам: (1) только к аппаратным реализациям (таким как реализации, выполненные только в виде аналоговых и/или цифровых схем) и (2) к комбинации схемных и программных (и/или микропрограммных) решений (например, если это допустимо в конкретном контексте, к сочетанию процессора (процессоров), включая цифровой сигнальный процессор (процессоры), программное обеспечение и блоки памяти, которые совместно обеспечивают выполнение устройством, таким как мобильный телефон или сервер, различных функций). Это определение "схема" применимо ко всем использованиям этого термина в данной заявке, включая любые пункты формулы изобретения. В качестве другого примера термина "схема", используемого в этой заявке (если это допустимо в конкретном контексте), можно просто привести реализацию процессора (или множества процессоров) и его (или их) цепей, выполняющих программные или микропрограммные функции. Термин "схема" также относится (если это допустимо в конкретном контексте), например, к интегральной микросхеме обработки сигнала основной полосы частот или к интегральной схеме прикладного процессора в мобильном телефоне, или к подобной интегральной микросхеме в устройстве сотовой сети или в других сетевых устройствах.
К соответствующим внутренним компонентам телефона относятся основной блок 903 управления (MCU, Main Control Unit), цифровой сигнальный процессор (DSP) 905 и блок приемника/передатчика, содержащий блок управления усилением микрофона и блок управления усилением спикера. Блок 907 основного дисплея обеспечивает отображение для пользователя информации для поддержки различных приложений и функций мобильного терминала, осуществляющих или поддерживающих операции обеспечения связи с услугой с использованием идентификатора получателя. Дисплей 907 содержит схему дисплея, сконфигурированную для отображения, по меньшей мере частично, пользовательского интерфейса мобильного терминала (например, мобильного телефона). Кроме того, дисплей 907 и схема дисплея сконфигурированы для содействия пользователю в управлении по меньшей мере некоторыми функциями мобильного терминала. Схема 909 функций обработки аудио содержит микрофон 911 и усилитель микрофона, который усиливает речевой сигнал на выходе микрофона 911. Усиленный выходной речевой сигнал микрофона 911 подается на кодер/декодер (CODEC, coder/decoder) 913.
Радиоблок 915 усиливает мощность и преобразует частоту для связи через антенну 917 с базовой станцией, входящей в систему мобильной связи. Усилитель 919 мощности (PA, power amplifier) и схема передатчика/модуляции в процессе работы реагируют на сигналы MCU 903, при этом выходной сигнал из РА 919 подается в дуплексор 921 или циркулятор, или антенный переключатель, как известно в этой области техники. Усилитель РА 919 также связан с блоком 920 интерфейса батареи и управления питанием.
В процессе работы с устройством пользователь мобильного терминала 901 говорит в микрофон 911, и его голос совместно с любым обнаруженным фоновым шумом преобразуется в аналоговое напряжение. Аналоговое напряжение затем преобразуется в цифровой сигнал с помощью аналого-цифрового преобразователя (ADC, Analog to Digital Converter) 923. Блок 903 управления направляет цифровой сигнал в DSP 905 для обработки, например, для кодирования речи, кодирования канала, шифрования и выполнения чередования. В одном из вариантов осуществления настоящего изобретения обработанные речевые сигналы кодируются блоками, отдельно не показанными, с использованием протокола сотовой передачи, такого как усовершенствованная передача данных для развития GSM (EDGE, enhanced data rates for global evolution), общая услуга пакетной радиосвязи (GPRS, general packet radio service), глобальная система мобильной связи (GSM), мультимедийная подсистема передачи данных по Интернет-протоколу (IMS), универсальная система мобильной связи (UMTS) и т.д., а также с использованием любой другой подходящей среды беспроводной передачи, например, микроволнового доступа (WiMAX), сетей технологии долгосрочного развития (LTE), множественного доступа с кодовым разделением (CDMA), широкополосных сетей множественного доступа с кодовым разделением (WCDMA, wideband code division multiple access), WiFi (wireless fidelity), спутниковых сетей и т.п.
Закодированные сигналы затем направляются в эквалайзер 925 для компенсации любых зависящих от частоты искажений сигнала, возникающих при передаче, таких как фазовые и амплитудные искажения. После компенсации битового потока модулятор 927 объединяет сигнал с радиочастотным сигналом, сгенерированным в интерфейсе 929 RF. Модулятор 927 генерирует синусоидальный сигнал путем частотной или фазовой модуляции. Для подготовки сигнала к передаче повышающий преобразователь 931 объединяет выходной синусоидальный сигнал модулятора 927 с другим синусоидальным сигналом, сгенерированным синтезатором 933, для получения требуемой частоты передачи. Затем сигнал передается через блок РА 919, усиливающий мощность сигнала до соответствующего уровня. В системах, используемых на практике, РА 919 работает в качестве усилителя с переменным коэффициентом усиления, управляемым DSP 905 на основе информации, принятой из сетевой базовой станции. Затем сигнал фильтруется в дуплексоре 921 и дополнительно передается в антенный соединитель 935 для согласования импедансов для обеспечения максимальной мощности передачи. Наконец, сигнал передается через антенну 917 в локальную базовую станцию. Для управления коэффициентом усиления оконечных каскадов приемника может использоваться автоматическая регулировка усиления (AGC, automatic gain control). Сигналы далее могут перенаправляться в удаленный телефон, который может представлять собой другой сотовый телефон, любой другой мобильный телефон или наземную линию связи, соединенную с телефонной коммутируемой сетью общего пользования (PSTN, Public Switched Telephone Network), или в другую телефонную сеть.
Речевые сигналы, переданные в мобильный терминал 901, принимаются через антенну 917 и сразу же усиливаются малошумящим усилителем (LNA, low noise amplifier) 937. Понижающий преобразователь 939 уменьшает частоту несущей, в то время как демодулятор 941 удаляет радиочастотную составляющую, в результате чего остается только цифровой битовый поток. Затем сигнал проходит через эквалайзер 925 и обрабатывается процессором DSP 905. Цифро-аналоговый преобразователь (DAC, Digital to Analog Converter) 943 преобразует сигнал, и результирующий выходной сигнал передается пользователю через спикер 945, причем все эти операции выполняются под управлением главного блока 903 управления (MCU, Main Control Unit), который может быть реализован в виде по меньшей мере одного центрального процессора (CPU, Central Processing Unit) (не показан).
Блок 903 MCU принимает различные сигналы, включая входные сигналы, поступающие с клавиатуры 947. Клавиатура 947 и/или MCU 903 в совокупности с другими компонентами, предназначенными для ввода информации пользователем (например, микрофон 911), образуют схему пользовательского интерфейса для управления входной информацией, поступающей от пользователя. MCU 903 выполняет программное обеспечение пользовательского интерфейса для содействия пользователю в процессе управления по меньшей мере некоторыми функциями мобильного терминала 901 для обеспечения связи с услугой с использованием идентификатора получателя. MCU 903 также подает команду отображения и команду переключения соответственно дисплею 907 и контроллеру переключения выхода речевого сигнала. Кроме того, MCU 903 обменивается информацией с DSP 905 и может обращаться к дополнительно встроенной SIM-карте 949 и к памяти 951. Помимо этого, MCU 903 выполняет различные функции управления, требуемые для терминала. DSP 905 в зависимости от реализации может выполнять любую из различных стандартных функций цифровой обработки речевых сигналов. Кроме того, DSP 905 определяет фоновый уровень шумов в локальной среде на основе сигналов, обнаруженных микрофоном 911, и устанавливает коэффициент усиления микрофона 911 на уровне, выбранном для компенсации шумов, вызванных естественным поведением пользователя мобильного терминала 901.
Кодек 913 содержит АЦП 923 и ЦАП 943. В памяти 951 хранятся различные данные, включая данные о тональном сигнале входящего вызова, а также могут храниться другие данные, включая музыкальные файлы, принятые, например, через Интернет. Модуль программного обеспечения может размещаться в памяти RAM, флэш-памяти, регистрах или на любых других записывающих запоминающих устройствах, известных в этой области техники. Память 951 может представлять собой, помимо прочего, один модуль памяти, CD, DVD, ROM, RAM, EEPROM, оптический накопитель, магнитный диск, флэш-память или любое другое энергонезависимое запоминающее устройство, способное хранить цифровые данные.
На дополнительно встроенной SIM-карте 949 записана, например, важная информация, такая как информация об услуге, предоставляемой оператором, сведения о подписке и информация о безопасности. SIM-карта 949, в первую очередь, служит для идентификации мобильного терминала 901 в сети радиосвязи. Карта 949 также содержит память для хранения справочника личных телефонных номеров, текстовых сообщений и специфичных для пользователя установок мобильного терминала.
Хотя изобретение было описано на ряде примеров его осуществления и реализации, оно не ограничено этими примерами и допускает различные очевидные модификации и эквивалентные схемы реализации, которые попадают в объем прилагаемой формулы изобретения. Хотя в пунктах формулы изобретения признаки изобретения указаны в определенных комбинациях, предполагается, что эти признаки могут быть сгруппированы в любой комбинации и в любом порядке.
Изобретение относится к компьютерной технике, а именно к системам обмена данными между пользователями и платформами предоставления услуг. Техническим результатом является обеспечение защиты идентификатора пользователя при обмене между пользовательским оборудованием и платформой предоставления услуг. Предложен способ обеспечения связи с платформой предоставления услуг с использованием идентификатора получателя. Способ включает в себя этап, на котором сервер принимает запрос от вычислительного устройства на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга платформы предоставления услуг и приложение, установленное в вычислительном устройстве. Посредством сервера определяют идентификаторы пользователя, идентификаторы устройств, идентификаторы приложения. Сервер генерирует идентификатор получателя путем кодирования, по меньшей мере частично, по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения в идентификаторе получателя. 5 н. и 21 з.п. ф-лы, 9 ил.
1. Способ обеспечения связи с платформой предоставления услуг с использованием идентификатора получателя, включающий:
прием сервером от вычислительного устройства запроса на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга платформы предоставления услуг и приложение, установленное в вычислительном устройстве;
определение сервером по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства, связанных с устройством, и одного или более идентификаторов приложения, связанных с приложением;
принятие решения сервером о генерации идентификатора получателя путем кодирования, по меньшей мере частично, по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, в идентификаторе получателя и
принятие решения о передаче идентификатора получателя вычислительному устройству и/или услуге,
при этом по меньшей мере два из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения могут быть непосредственно декодированы из идентификатора получателя.
2. Способ по п. 1, включающий также:
принятие решения о шифровании идентификатора получателя и
принятие решения о передаче зашифрованного идентификатора получателя в приложение, услугу или их комбинацию без предоставления приложению или услуге информации об идентификаторе пользователя и/или об одном или более идентификаторах устройства.
3. Способ по п. 2, отличающийся тем, что идентификатор получателя генерируют в сервере, при этом сервер не сохраняет идентификатор получателя.
4. Способ по п. 1, включающий также:
принятие решения о шифровании идентификатора получателя на основе, по меньшей мере частично, симметричного шифра или асимметричного шифра.
5. Способ по п. 4, включающий также:
принятие решения о выборе первичного ключа для шифрования на основе, по меньшей мере частично, одного или более идентификаторов услуги, связанных с услугой, одного или более предварительно определенных параметров или их комбинации.
6. Способ по п. 5, включающий также:
принятие решения о генерации вторичного ключа для шифрования на основе, по меньшей мере частично, хэш-кода аутентификации сообщения, сформированного, по меньшей мере частично, на основе идентификаторов услуги, одного или более предварительно определенных параметров или их комбинации.
7. Способ по п. 1, включающий также:
принятие решения о генерации кода аутентификации сообщения для идентификатора получателя и принятие решения о включении кода аутентификации сообщения в идентификатор получателя.
8. Способ по п. 2, включающий также:
прием данных, содержащих зашифрованный идентификатор получателя;
принятие решения о декодировании по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, непосредственно из принятых данных и
принятие решения о маршрутизации данных в приложение на основе, по меньшей мере частично, по меньшей мере двух из следующего:
идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения,
при этом при маршрутизации данных приложению не раскрывают идентификатор пользователя или один или более идентификаторов устройства.
9. Устройство для обеспечения связи с платформой предоставления услуг с использованием идентификатора получателя, содержащее:
по меньшей мере один процессор; и
по меньшей мере один модуль памяти, содержащий компьютерный программный код одной или более программ;
при этом по меньшей мере один модуль памяти и компьютерный программный код сконфигурированы таким образом, чтобы при взаимодействии по меньшей мере с одним процессором устройство выполняло по меньшей мере следующие операции:
прием от вычислительного устройства запроса на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга платформы предоставления услуг и приложение, установленное в вычислительном устройстве;
определение по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства, связанных с устройством, и одного или более идентификаторов приложения, связанных с приложением;
принятие решения о генерации идентификатора получателя путем кодирования, по меньшей мере частично, по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, в идентификаторе получателя и
принятие решения о передаче идентификатора получателя вычислительному устройству и/или услуге,
при этом по меньшей мере два из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, могут быть непосредственно декодированы из идентификатора получателя.
10. Устройство по п. 9, отличающееся тем, что оно также выполняет следующие операции:
принятие решения о шифровании идентификатора получателя и
принятие решения о передаче зашифрованного идентификатора получателя в приложение, услугу или их комбинацию без предоставления приложению или услуге идентификатора пользователя и/или одного или более идентификаторов устройства.
11. Устройство по п. 10, отличающееся тем, что идентификатор получателя генерируют в сервере, при этом сервер не сохраняет идентификатор получателя.
12. Устройство по п. 9, отличающееся тем, что оно также выполняет следующие операции:
принятие решения о шифровании идентификатора получателя с использованием, по меньшей мере частично, симметричного шифра или асимметричного шифра.
13. Устройство по п. 12, отличающееся тем, что оно также выполняет следующие операции:
принятие решения о выборе первичного ключа для шифрования на основе, по меньшей мере частично, одного или более идентификаторов услуги, связанных с услугой, одного или более предварительно определенных параметров или их комбинации.
14. Устройство по п. 13, отличающееся тем, что оно также выполняет следующие операции:
принятие решения о генерации вторичного ключа для шифрования на основе, по меньшей мере частично, хэш-кода аутентификации сообщения, сформированного, по меньшей мере частично, из идентификатора услуги, одного или более предварительно определенных параметров или их комбинации.
15. Устройство по п. 9, отличающееся тем, что оно также выполняет следующие операции:
принятие решения о генерации кода аутентификации сообщения для идентификатора получателя и принятие решения о включении кода аутентификации сообщения в идентификатор получателя.
16. Устройство по п.10, отличающееся тем, что оно также выполняет следующие операции:
прием данных, содержащих идентификатор получателя;
принятие решения о декодировании по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, непосредственно из упомянутых данных и
принятие решения о маршрутизации данных в приложение на основе, по меньшей мере частично, по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения,
при этом при маршрутизации данных приложению не раскрывают идентификатор пользователя или один или более идентификаторов устройства.
17. Машиночитаемый носитель информации, на котором хранится одна или более последовательностей из одной или более инструкций, в результате исполнения которых одним или более процессорами устройство реализует способ по меньшей мере по одному из пп. 1-8.
18. Устройство для обеспечения связи с платформой предоставления услуг с использованием идентификатора получателя, содержащее:
средства для приема от вычислительного устройства запроса на генерацию идентификатора получателя для индикации данных, которыми обмениваются услуга платформы предоставления услуг и приложение, установленное в вычислительном устройстве;
средства для определения по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства, связанных с устройством, и одного или более идентификаторов приложения, связанных с приложением;
средства для принятия решения о генерации идентификатора получателя путем кодирования, по меньшей мере частично, по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, в идентификаторе получателя и
средства для принятия решения о передаче идентификатора получателя вычислительному устройству,
при этом по меньшей мере два из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, могут быть непосредственно декодированы из идентификатора получателя.
19. Устройство по п. 18, также содержащее:
средства для принятия решения о шифровании идентификатора получателя и
средства для принятия решения о передаче зашифрованного идентификатора получателя в приложение, услугу или их комбинацию без предоставления приложению или услуге информации об идентификаторе пользователя и/или об одном или более идентификаторах устройства.
20. Устройство по п. 19, отличающееся тем, что идентификатор получателя генерируют в сервере, при этом сервер не сохраняет идентификатор получателя.
21. Устройство по п. 18, также содержащее:
средства для принятия решения о шифровании идентификатора получателя на основе, по меньшей мере частично, симметричного шифра или асимметричного шифра.
22. Устройство по п. 21, также содержащее:
средства для принятия решения о выборе первичного ключа для шифрования на основе, по меньшей мере частично, одного или более идентификаторов услуги, связанных с услугой, одного или более предварительно определенных параметров или их комбинации.
23. Устройство по п. 22, также содержащее:
средства для принятия решения о генерации вторичного ключа для шифрования на основе, по меньшей мере частично, хэш-кода аутентификации сообщения, сформированного, по меньшей мере частично, на основе идентификаторов услуги, одного или более предварительно определенных параметров или их комбинации.
24. Устройство по п. 18, также содержащее:
средства для принятия решения о генерации кода аутентификации сообщения для идентификатора получателя и средства для принятия решения о включении кода аутентификации сообщения в идентификатор получателя.
25. Устройство по п. 19, также содержащее:
средства для приема данных, содержащих зашифрованный идентификатор получателя;
средства для принятия решения о декодировании по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения, непосредственно из принятых данных и
средства для принятия решения о маршрутизации данных в приложение на основе, по меньшей мере частично, по меньшей мере двух из следующего: идентификатора пользователя, одного или более идентификаторов устройства и одного или более идентификаторов приложения,
при этом при маршрутизации данных приложению не раскрывают идентификатор пользователя или один или более идентификаторов устройства.
26. Способ обеспечения доступа по меньшей мере к одному интерфейсу, сконфигурированному для предоставления по меньшей мере одной услуги, сконфигурированной для выполнения способа по меньшей мере по одному из пп. 1-8.
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
US 7577990 B2, 18.08.2009 | |||
US 7095855 B1, 22.08.2006 | |||
Стыковое соединение железобетонных элементов | 1988 |
|
SU1643677A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
RU 2005114026 A, 10.10.2005. |
Авторы
Даты
2015-11-20—Публикация
2011-09-13—Подача