ПЕРСОНАЛЬНЫЙ ПОИСКОВЫЙ ИНДЕКС С ПОВЫШЕННОЙ КОНФИДЕНЦИАЛЬНОСТЬЮ
PERSONAL SEARCH INDEX WITH HIGH CONFIDENTIALITY

УРОВЕНЬ ТЕХНИКИ
[0001] Системы "облачного" хранения данных являются файлообменными службами, которые позволяют пользователям загружать и синхронизировать файлы с одним или более запоминающими устройствами и впоследствии получать доступ к файлам из веб-браузера или локального устройства пользователя. Выполнение поиска файлов в системе "облачного" хранения данных приводит к нескольким проблемам с конфиденциальностью, поскольку документы, индексы документов и метаданные доступны как открытый текст поставщику службы системы "облачного" хранения данных. Хотя были разработаны различные технологии и подходы для решения этих проблем с конфиденциальностью, эти решения основаны на предоставлении документов в виде открытого текста системе "облачного" хранения данных. В результате, если произошел несанкционированный доступ в систему "облачного" хранения данных, все пользователи, использующие эту службу для хранения данных, потенциально находятся в опасности.
[0002] С учетом этих и других общих соображений были сделаны аспекты, раскрытые в настоящем описании. Кроме того, хотя могут обсуждаться относительно конкретные проблемы, следует понимать, что примеры не должны ограничиваться решением конкретных проблем, приведенных в разделе "Уровень техники" или в другом месте в этом раскрытии.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Это краткое изложение сущности изобретения приведено для представления подборки концепций в упрощенной форме, которые далее описываются ниже в разделе "Осуществление изобретения". Данное краткое изложение сущности изобретения не предназначено для идентификации ключевых признаков или существенных признаков заявленного изобретения, также оно не предназначено для использования в качестве средства для определения объема заявленного изобретения.
[0004] Примеры настоящего раскрытия описывают системы и способы для повышения конфиденциальности персонального поискового индекса. В некоторых аспектах персональный документ в виде открытого текста создается на первом устройстве (например, клиентском устройстве), которое осуществляет связь со вторым устройством (например, серверным устройством). Второе устройство может быть частью распределенной сети (например, использующим поставщика облачных служб). Персональный документ в виде открытого текста может использоваться для генерации зашифрованного дайджеста документа и зашифрованного документа на первом устройстве. Зашифрованный дайджест документа и зашифрованный документ затем могут быть переданы второму устройству. Второе устройство может расшифровать дайджест документа, создать персональный поисковый индекс на основе расшифрованного дайджеста документа и сохранить зашифрованный документ по меньшей мере в одном хранилище данных. Первое устройство может впоследствии принять поисковый запрос в виде открытого текста. Поисковый запрос может использоваться для генерации непрозрачного дайджеста поискового запроса, который передается второму устройству. Второе устройство может использовать непрозрачный дайджест поискового запроса для выполнения поиска в персональном поисковом индексе для обеспечения непрозрачных результатов поискового запроса. Непрозрачные результаты поискового запроса могут использоваться для извлечения зашифрованных документов из хранилища данных. Непрозрачные результаты поискового запроса и извлеченные зашифрованные документы затем могут быть переданы клиентскому устройству. Клиентское устройство может использовать непрозрачные результаты поискового запроса и извлеченный зашифрованный документ для генерации результатов поиска в виде открытого текста.
[0005] Это краткое изложение сущности изобретения приведено для введения подборки концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено для идентификации ключевых или существенных признаков заявленного изобретения, и также оно не предназначено для ограничения объема заявленного изобретения. Дополнительные аспекты, признаки и/или преимущества примеров будут изложены частично в описании, которое следует ниже, и частично будут очевидны из описания или могут быть поняты при реализации раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Неограничивающие и неисчерпывающие примеры описываются со ссылкой на следующие фигуры.
[0007] Фигура 1 изображает общий вид иллюстративной системы для персонального поискового индекса с повышенной конфиденциальностью для "облачных" служб, как описывается в настоящем описании.
[0008] Фигуры 2A и 2B являются схемами клиентского вычислительного устройства и сервера соответственно, как описывается в настоящем описании.
[0009] Фигура 3 изображает иллюстративный способ обработки документа для использования с персональным поисковым индексом с повышенной конфиденциальностью для "облачных" служб, как описывается в настоящем описании.
[0010] Фигура 4A изображает иллюстративный способ создания зашифрованного непрозрачного дайджеста документа, как описывается в настоящем описании.
[0011] Фигура 4B изображает иллюстративный способ создания зашифрованного документа и фрагментов документов, как описывается в настоящем описании.
[0012] Фигура 5 изображает иллюстративный способ создания персонального поискового индекса с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании.
[0013] Фигура 6 изображает иллюстративный способ обработки запроса по зашифрованным документам для использования с персональным поисковым индексом с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании.
[0014] Фигура 7 изображает иллюстративный способ извлечения зашифрованных документов с использованием персонального поискового индекса с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании.
[0015] Фигура 8 изображает иллюстративный способ генерации результатов поиска в виде открытого текста с использованием персонального поискового индекса с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании.
[0016] Фигура 9 является блок-схемой, изображающей пример вычислительного устройства, в котором могут быть реализованы аспекты настоящего раскрытия.
[0017] Фигуры 10A и 10B являются упрощенными блок-схемами мобильного вычислительного устройства, в котором могут быть реализованы аспекты настоящего раскрытия.
[0018] Фигура 11 является упрощенной блок-схемой системы распределенных вычислений, в которой могут быть реализованы аспекты настоящего раскрытия.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0019] Ниже более подробно описываются различные аспекты раскрытия со ссылкой на прилагаемые чертежи, которые являются его частью и которые показывают конкретные иллюстративные аспекты. Однако различные аспекты этого раскрытия могут быть реализованы во множестве различных форм, и они не должны рассматриваться как ограниченные аспектами, изложенными в настоящем описании; скорее эти аспекты приведены для того, чтобы это раскрытие было полным и законченным и полностью передавало бы объем аспектов для специалистов в области техники. Аспекты могут быть реализованы как способы, системы или устройства. Соответственно, аспекты могут принимать форму аппаратной реализации, полностью программной реализации или реализации, комбинирующей программные и аппаратные аспекты. Поэтому следующее ниже подробное описание не должно рассматриваться в ограничивающем смысле.
[0020] Настоящее раскрытие предлагает системы и способы повышения конфиденциальности персонального поискового индекса для распределенных сетевых служб, таких как "облачные" службы. Персональным поиском в настоящем описании может называться поиск непубличных данных (например, документа, аудиофайла, видеофайла и т.д.), которые доступны только пользователю, который создал и/или сохранил данные, или небольшой группе привилегированных пользователей. В аспектах способы могут быть реализованы в распределенной вычислительной среде, содержащей доверенную клиентскую среду и частично доверенную среду. Доверенной клиентской средой в настоящем описании может называться безопасная область на первом устройстве обработки (таком как клиентское устройство), которая обеспечивает защищенную загрузку и исполнение кода и данных. Частично доверенной средой в настоящем описании может называться небезопасная область на втором устройстве (например, серверном устройстве), которая не позволяет загрузку и исполнение кода и данных, или которая накладывает ограничения безопасности, прежде чем позволить загрузку и исполнение кода и данных.
[0021] В некоторых примерах на клиентском устройстве могут быть созданы данные в виде открытого текста (например, документ в виде открытого текста). Документом в виде открытого текста в настоящем описании могут называться удобочитаемые для человека данные, которые передаются и/или хранятся в незашифрованном формате. Документ в виде открытого текста может использоваться клиентским устройством для генерации дайджеста документа, преобразования дайджеста документа в непрозрачный дайджест документа, шифрования непрозрачного дайджеста документа, генерации фрагментов документа и шифрования документа и фрагментов документа. Дайджестом документа в настоящем описании может называться компиляция терминов документа и метаданных, описывающих документ. В некоторых примерах термины и метаданные дайджеста документа могут разбиваться на лексемы. Непрозрачным документом в настоящем описании может называться документ в виде открытого текста или другой удобочитаемый для человека документ, для которого данные были преобразованы в нечитаемый для человека формат с использованием методик преобразования данных. Фрагмент документа, используемый в настоящем описании, может содержать краткое содержание документа, метаданные и/или одно или более предложений из документа. Зашифрованный непрозрачный дайджест документа, зашифрованный документ и фрагменты документа затем могут быть переданы серверному устройству.
[0022] В примерах второе устройство (например, серверное устройство) может расшифровать зашифрованный непрозрачный дайджест документа и использовать расшифрованный непрозрачный дайджест документа для создания персонального поискового индекса. Персональный поисковый индекс в настоящем описании может собирать, подвергать синтаксическому разбору и сохранять данные дайджестов документов в индексе для обеспечения быстрого и точного извлечения информации. Серверное устройство также может сохранять зашифрованный документ и фрагменты документа в хранилище данных с использованием утилиты управления хранением данных. Утилитой управления хранением данных в настоящем описании могут называться устройства, процессы и программное обеспечение, используемые для управления запоминающими устройствами и сетевыми решениями для хранения данных.
[0023] В некоторых аспектах клиентское устройство может впоследствии принять поисковый запрос в виде открытого текста. Поисковый запрос в виде открытого текста может использоваться клиентским устройством для генерации дайджеста запроса и преобразования дайджеста запроса в непрозрачный дайджест запроса. Дайджестом запроса в настоящем описании может называться компиляция терминов из поискового запроса и метаданные, описывающие поисковый запрос. Непрозрачный дайджест запроса затем может быть передан серверному устройству. После приема непрозрачного дайджеста запроса серверное устройство может использовать непрозрачный дайджест запроса для выполнения поиска в персональном поисковом индексе для генерации ранжированных результатов запроса. Ранжированными результатами запроса в настоящем описании может называться набор непрозрачных результатов, которые упорядочены и/или расположены в порядке очередности в соответствии по меньшей мере с одним из нескольких критериев, таких как релевантность, возраст документа, размер документа, информация профиля пользователя и т.д. Ранжированные результаты запроса могут использоваться для извлечения зашифрованных документов и/или фрагментов документов из хранилища данных. Зашифрованные документы и/или фрагменты документов затем могут быть переданы клиентскому устройству. Клиентское устройство может расшифровать принятые зашифрованные документы и/или фрагменты документов и объединить ранжированные результаты запроса и документы и/или фрагменты документов. Клиентское устройство может выполнять ранжирование на основании содержания для объединенных ранжированных результатов запроса и документов и/или фрагментов документов для генерации ранжированных результатов поиска в виде открытого текста.
[0024] Соответственно, аспекты настоящего раскрытия обеспечивают множество преимуществ, в том числе, среди прочего, но не ограничиваясь только этим: повышение безопасности персонального документа, устранение передачи пользовательской информации, запросов и результатов поиска в виде открытого текста "облачным" службам; устранение требования, чтобы все данные, хранимые с использованием "облачных" служб, находились в пределах одной доверенной границы; минимизацию передачи ключей пользователя "облачным" службам; сокращение мер безопасности, требуемых "облачными" службами; постепенную модернизацию более старых поисковых служб до персональных индексов с повышенной конфиденциальностью.
[0025] Фигура 1 изображает общий вид иллюстративной системы для персонального поискового индекса с повышенной конфиденциальностью для "облачных" служб, как описывается в настоящем описании. Иллюстративная система 100 может быть комбинацией взаимосвязанных компонентов, которые взаимодействуют для формирования единого целого для улучшающих рекомендаций из неявной обратной связи. Компоненты систем могут быть аппаратными компонентами или программным обеспечением, реализованным на и/или исполняемым аппаратными компонентами систем. В примерах система 100 может включать в себя любой из аппаратных компонентов (например, используемый для исполнения/запуска операционной системы (OS)) и программных компонентов (например, приложения, прикладные программные интерфейсы, модули, виртуальные машины, библиотеки времени исполнения и т.д.), исполняющихся на аппаратном обеспечении. В одном примере иллюстративная система 100 может обеспечивать среду, в котором программные компоненты могут исполняться, подчиняться ограничениям, установленным для работы, и использовать ресурсы или средства системы 100, где компоненты могут быть программным обеспечением (например, приложением, программой, модулем и т.д.), исполняющимся на одном или более устройствах обработки. Например, программное обеспечение (например, приложения, операционные инструкции, модули и т.д.) может исполняться на устройстве обработки, таком как компьютер, мобильное устройство (например, смартфон/телефон, планшет) и/или любые другие электронные устройства. В качестве примера операционной среды устройства обработки см. изображенные на фигурах 9-11 иллюстративные операционные среды. В других примерах компоненты систем, раскрытых в настоящем описании, могут быть распределены между несколькими устройствами. Например, входные данные могут вводиться на клиентском устройстве (например, устройстве обработки), а информация может обрабатываться или к ней может осуществляться доступ с других устройств в сети, таких как одно или более серверных устройств.
[0026] В качестве одного примера система 100 содержит клиентское устройство 102A, клиентское устройство 102B, клиентское устройство 102C, распределенную сеть 104 и распределенную сетевую среду, содержащую один или более серверов, таких как серверное устройство 106A, серверное устройство 106B и серверное устройство 106C. Специалисту в области техники будет понятно, что масштаб систем, таких как система 100, может варьироваться, и они могут включать в себя больше или меньше компонентов, чем описано на фигуре 1. В некоторых примерах взаимодействие между компонентами системы 100 может происходить удаленно, например, когда компоненты системы 100 могут быть распределены между одним или более устройствами распределенной сети.
[0027] Клиентское вычислительное устройство 102A, например, может быть доверенной средой, выполненной с возможностью генерации и/или приема одного или более персональных документов в виде открытого текста и использования персональных документов в виде открытого текста для генерации зашифрованного непрозрачного дайджеста документа и зашифрованного персонального документа. Клиентское вычислительное устройство 102A может затем передавать зашифрованный непрозрачный дайджест документа и зашифрованный персональный документ одному или более серверам 106A, 106B и 106C через сеть 104. Сервер 106A, например, может быть выполнен с возможностью приема зашифрованного непрозрачного дайджеста документа и зашифрованного персонального документа, расшифровки непрозрачного дайджеста документа, генерации персонального поискового индекса с использованием расшифрованного непрозрачного дайджеста документа и сохранения зашифрованного персонального документа в хранилище данных для персональных документов. Сервер 106A может быть недоверенной средой или частично доверенной средой и может предоставлять службу поставщика "облачных" служб.
[0028] Клиентское вычислительное устройство 102A может быть дополнительно выполнено с возможностью приема поискового запроса в виде открытого текста, генерации непрозрачного дайджеста запроса и передачи непрозрачного дайджеста запроса одному или более серверам 106A, 106B и 106C через сеть 104. Сервер 106A, например, может быть дополнительно выполнен с возможностью приема непрозрачного дайджеста запроса, выполнения поиска в персональном поисковом индексе с использованием непрозрачного дайджеста запроса, генерации ранжированных результатов запроса и извлечения зашифрованных документов с использованием ранжированных результатов запроса. Сервер 106A затем может передавать ранжированные результаты запроса и извлеченные зашифрованные документы клиентскому вычислительному устройству 102A через сеть 104. Клиентское вычислительное устройство 102A может быть дополнительно выполнено с возможностью приема ранжированных результатов запроса и зашифрованных документов, расшифровки зашифрованных документов, генерации ранжированных результатов поиска в виде открытого текста и отображения ранжированных результатов поиска в виде открытого текста в области отображения клиентского вычислительного устройства 102A.
[0029] Фигуры 2A и 2B являются иллюстративными схемами клиентского вычислительного устройства 200 и серверного вычислительного устройства 220 соответственно, как описывается в настоящем описании. Клиентское вычислительное устройство 200 может содержать модуль 202 генерации документа, модуль 204 шифрования, модуль 206 приема запроса, модуль 208 обработки запроса и модуль 210 обработки результатов, каждый из которых имеет один или более дополнительных компонентов. Модуль 202 генерации документа может быть выполнен с возможностью генерации и/или приема одного или более персональных документов. Например, модуль 202 генерации документа может содержать или взаимодействовать с приложением текстового редактора. Приложение текстового редактора может использоваться для генерации текстового документа в виде открытого текста. Модуль 204 шифрования может быть выполнен с возможностью приема и шифрования одного или более персональных документов. В некоторых аспектах модуль 204 шифрования выполняет операции в одном или более каналах обработки. Например, модуль 204 шифрования может выполнять операции в канале конвейера интерпретации документа и канале шифрования документа.
[0030] В примерах канал конвейера интерпретации документа может включать в себя использование принятого персонального документа для генерации дайджеста документа в виде открытого текста из терминов, содержащихся в персональном документе, и метаданных, описывающих персональный документ. Персональный ключ преобразования (PTK) может быть применен к дайджесту документа в виде открытого текста для генерации непрозрачного дайджеста документа. PTK в настоящем описании может называться ключ или алгоритм, который использует методики преобразования данных для преобразования набора значений данных из первого формата данных источника во второй формат данных. В некоторых аспектах методики преобразования данных сохраняют структуру персонального документа (например, изометрическое преобразование), так что приблизительное соответствие терминов, относительная частота терминов и некоторые метрики расстояний сохраняются в непрозрачном дайджесте документа. Персональный ключ индекса (PIK) может быть применен к непрозрачному дайджесту документа для генерации зашифрованного непрозрачного дайджеста документа. PIK в настоящем описании может называться значение, обеспеченное уполномоченный органом в качестве ключа шифрования для защиты содержания персонального документа. PIK может генерироваться с использованием любых известных способов асимметричной криптографии (например, шифрования с открытым ключом) или симметричной криптографии (например, шифрования на основе шифра). Зашифрованный непрозрачный дайджест документа и PIK затем могут быть обработаны для экспорта серверному устройству 220, тем самым завершая канал конвейера интерпретации документа.
[0031] В примерах канал шифрования документа может включать в себя генерацию фрагментов документа с использованием персонального документа в виде открытого текста. Персональный ключ документа (PDK) может быть применен к персональному документу в виде открытого текста и/или фрагментам документа для генерации зашифрованного персонального документа, содержащего зашифрованный персональный документ и/или зашифрованные фрагменты документа. PDK в настоящем описании называется значение, обеспеченное уполномоченным органом в качестве ключа шифрования для защиты содержания персонального документа. PDK может генерироваться с использованием любых известных способов асимметричной криптографии (например, шифрования с открытым ключом) или симметричной криптографии (например, шифрования на основе шифра). По меньшей мере в одном примере PDK будет отличаться от PTK и PIK. Зашифрованный персональный документ затем может быть обработан для экспорта серверному устройству 220, тем самым завершая канал шифрования документа.
[0032] Модуль 206 приема запроса может быть выполнен с возможностью приема или генерации запроса в виде открытого текста для одного или более персональных документов. Например, модуль 206 приема запроса может содержать или взаимодействовать с пользовательским интерфейсом. Пользовательский интерфейс обеспечивает область ввода для подачи запроса. Модуль 208 обработки запроса может быть выполнен с возможностью генерации дайджеста запроса в виде открытого текста терминов и метаданных c использованием запроса в виде открытого текста. PTK может быть применен к дайджесту запроса в виде открытого текста для генерации непрозрачного дайджеста запроса. В некоторых аспектах PTK, применяемый к дайджесту запроса в виде открытого текста, может быть тем же самым PTK, который применялся к дайджесту документа в виде открытого текста. Непрозрачный дайджест запроса затем может быть обработан для экспорта серверному устройству 220.
[0033] Модуль 210 обработки результатов может быть выполнен с возможностью приема и обработки непрозрачных ранжированных результатов запроса и зашифрованных персональных документов. Например, модуль 210 обработки результатов может применять PTK к непрозрачным ранжированным результатам запроса для создания ранжированных результатов запроса в виде открытого текста. В некоторых аспектах PTK, применяемый к непрозрачным ранжированным результатам запроса, может быть тем же самым PTK, который применялся к дайджесту документа в виде открытого текста и дайджесту запроса в виде открытого текста. Модуль 210 обработки результатов также может применять PDK к зашифрованному персональному документу для создания документа в виде открытого текста и/или фрагментов документа в виде открытого текста. В некоторых аспектах PDK, применяемый к зашифрованному персональному документу, может быть тем же самым PDK, который применялся к персональному документу в виде открытого текста и/или фрагментам документа в виде открытого текста. Ранжированные результаты запроса в виде открытого текста и персональный документ в виде открытого текста и/или фрагменты документа в виде открытого текста затем могут быть объединены в ранжированные результаты поиска в виде открытого текста. В одном примере ранжированные результаты поиска в виде открытого текста могут быть ранжированы в соответствии с одним или более критериями, такими как содержание, релевантность, размер или дата.
[0034] Серверное устройство 220 может содержать модуль 222 приема, модуль 224 выполнения поиска в индексе и модуль 206 извлечения документов, каждый из которых имеет один или более дополнительных компонентов. Модуль 222 приема может быть выполнен с возможностью приема и обработки информации от модуля 204 шифрования, такой как зашифрованный непрозрачный дайджест документа, PIK и зашифрованный персональный документ. В некоторых аспектах модуль 222 приема выполняет операции в одном или более каналах обработки. Например, модуль 222 приема может выполнять операции в канале индексации документа и канале сохранения документа.
[0035] В примерах канал индексации документа может включать в себя применение принятого PIK к принятому зашифрованному непрозрачному дайджесту документа для расшифровки зашифрованного непрозрачного дайджеста документа. В некоторых аспектах получившийся непрозрачный дайджест документа может быть агрегирован с другими непрозрачными дайджестами документов, которые ранее были приняты от клиентского устройства 200, для формирования набора непрозрачных дайджестов документов. Операция генерации индекса может исполняться над непрозрачным дайджестом документа или набором непрозрачных дайджестов документов для создания персонального поискового индекса. Персональный поисковый индекс может включать в себя непрозрачные индексы слов из предложений, последовательностей буквенно-цифровых знаков или лексем в пределах непрозрачного дайджеста документа.
[0036] Канал сохранения документа может включать в себя взаимодействие модуля 222 приема с утилитой управления хранением данных. Например, модуль 222 приема может использовать службу управления хранением данных, запущенную на серверном устройстве 220, для сохранения зашифрованного персонального документа в хранилище данных. В некоторых аспектах служба управления хранением данных и хранилище данных могут быть расположены на серверном устройстве 220. В других аспектах одна или более служб управления хранением данных и хранилище данных могут быть расположен на отдельном сервере, который доступен для серверного устройства 220.
[0037] Модуль 224 поиска в индексе может быть выполнен с возможностью приема и обработки информации от модуля 208 обработки запроса, такой как непрозрачный дайджест запроса. Например, модуль 224 поиска в индексе может использовать принятый непрозрачный дайджест запроса для выполнения поиска в персональном поисковом индексе, содержащем непрозрачные индексы слов. Выполнение поиска в персональном поисковом индексе может привести к созданию ранжированных результатов запроса верхних найденных результатов поиска. В некоторых аспектах ранжированные результаты запроса могут содержать упорядоченный список непрозрачных результатов поиска и непрозрачных фрагментов документов. В таких аспектах непрозрачные результаты поиска и непрозрачные фрагменты документов затем могут быть обработаны для экспорта клиентскому устройству 220.
[0038] В других аспектах ранжированные результаты запроса могут содержать упорядоченный список непрозрачных результатов поиска, но могут не содержать непрозрачные фрагменты документов. В таких аспектах модуль 226 извлечения документов может быть выполнен с возможностью извлечения зашифрованных персональных документов из хранилища данных. Например, непрозрачные результаты поиска могут быть предоставлены утилите управления хранением данных. Утилита управления хранением данных может выполнить поиск в хранилище данных зашифрованных документов и/или фрагментов документов, имеющих данные (например, строки, слова, символы, лексемы и т.д.), которые совпадают с данными в непрозрачных результатах поиска. Зашифрованные документы и/или фрагменты документов, извлеченные из хранилища данных, затем могут быть обработаны для экспорта клиентскому устройству 220.
[0039] Фигуры 3-8 изображают различные последовательности операций процессов, связанные с персональным поисковым индексом с повышенной конфиденциальностью для "облачных" служб, как описывается в настоящем описании. В аспектах способы 300-800 могут исполняться иллюстративной системой, такой как система 100 фигуры 1. В примерах способы 300-800 могут исполняться на устройстве, содержащем по меньшей мере один процессор, выполненный с возможностью хранить и исполнять операции, программы или инструкции. Однако способы 300-800 не ограничиваются такими примерами. В других примерах способы 300-800 могут выполняться в приложении или службе для предоставления рекомендаций. По меньшей мере в одном примере способы 300-800 могут исполняться (например, реализованные с помощью компьютера операции) одним или более компонентами распределенной сети, например, веб-службой/распределенной сетевой службой (например, "облачной" службой) для использования поиска в индексе, генерации и обработки зашифрованных документов.
[0040] Фигура 3 изображает иллюстративный способ обработки документа для использования с персональным поисковым индексом с повышенной конфиденциальностью для "облачных" служб, как описывается в настоящем описании. Иллюстративный способ 300 начинается с операции 302, в которой может генерироваться документ. В некоторых аспектах документ является персональным документом в виде открытого текста, который создается или принимается с использованием приложения на клиентском устройстве. В одном примере клиентское устройство может представлять собой доверенную среду, так что документ может быть доступен только для автора документа или группы привилегированных пользователей. Однако специалисту в области техники будет понятно, что операции, описанные в настоящем описании, могут быть применимы к доверенным средам, частично доверенным средам и недоверенным средам. Клиентское устройство может генерировать один или более закрытых ключей (например, PTK, PIK и PDK) перед или после приема персонального документа в виде открытого текста. Клиентское устройство альтернативно может принимать один или более закрытых ключей от доверенного стороннего центра сертификации.
[0041] В операции 304 может создаваться непрозрачный дайджест документа. В примерах персональный документ в виде открытого текста предоставляется процессу, который выполняет операции по интерпретации документа. В некоторых аспектах процесс следует одному каналу, такому как канал интерпретации документа. Интерпретацией документа в настоящем описании может называться семантический анализ документов для извлечения понятной человеку информации и кодирования информации в машиночитаемую форму. Операции по интерпретации документа могут содержать генерацию дайджеста документа в виде открытого текста из терминов и метаданных c использованием персонального документа в виде открытого текста, применение PTK к дайджесту документа в виде открытого текста для генерации непрозрачного дайджеста документа и применение PIK к непрозрачному дайджесту документа для генерации зашифрованного непрозрачного дайджеста документа.
[0042] В операции 306 может создаваться зашифрованный персональный документ. В примерах персональный документ в виде открытого текста предоставляется процессу, который выполняет операции по шифрованию документа. Операции по шифрованию документа могут содержать генерацию фрагментов документа в виде открытого текста из персонального документа в виде открытого текста и применение PDK к персональному документу в виде открытого текста и/или фрагментам документа в виде открытого текста для генерации зашифрованного персонального документа. Операции 304 и 306 могут выполняться последовательно или параллельно.
[0043] В операции 308 зашифрованный непрозрачный дайджест документа, PIK, использовавшийся для шифрования непрозрачного дайджеста документа, и зашифрованный персональный документ передаются из доверенной среды клиентского устройства в частично доверенную среду серверного устройства. В аспектах PTK и PDK остаются в клиентском устройстве. Кроме того, никакой открытый текст (например, документы, дайджесты, запросы и т.д.) не передается серверному устройству.
[0044] Фигура 4A изображает иллюстративный способ 400 создания зашифрованного непрозрачного дайджеста документа, как описывается в настоящем описании. Иллюстративный способ 400 начинается с операции 402, в которой может генерироваться дайджест документа в виде открытого текста с использованием персонального документа в виде открытого текста. В некоторых аспектах генерация дайджеста документа в виде открытого текста включает в себя синтаксический разбор персонального документа в виде открытого текста на множество индексных терминов в виде открытого текста и соответствующих метаданных в виде открытого текста. Операция синтаксического разбора может выполняться программным обеспечением, расположенным на клиентском устройстве, которое генерировало или принимало персональный документ в виде открытого текста, или программным обеспечением, расположенным в пределах другой доверенной среды. Индексные термины в виде открытого текста и метаданные могут быть объединены и/или организованы в файл дайджеста.
[0045] В операции 404 непрозрачный дайджест документа может генерироваться из персонального документа в виде открытого текста. В примерах PTK может генерироваться или может быть принят клиентским устройством. PTK может использоваться для выполнения операции по преобразованию данных для набора значений данных. Операции по преобразованию данных могут включать в себя отображение элементов данных или значений из исходного формата данных в целевой формат данных, регистрацию любых преобразований, которые могут произойти, генерацию кода, который выполняет зарегистрированные преобразования, и исполнение кода преобразования. В одном конкретном примере исполнение кода преобразования может включать в себя создание лексем, представляющих собой элементы данных из исходного формата данных. В некоторых аспектах любой дайджест документа, к которому применяется PTK, будет иметь общее преобразование данных, так что базовые ранжирования по частотности терминов - обратной частоте документа (TF-IDF) сохраняется для файла (например, дайджест документа, дайджест запроса). TF-IDF в настоящем описании может называться численный статистический или весовой коэффициент, который должен отражать значимость слова в документе или наборе документов. PTK может быть применен к персональному документу в виде открытого текста для генерации непрозрачного дайджеста документа. В аспектах PTK не может передаваться из клиентского устройства.
[0046] В операции 406 из непрозрачного дайджеста документа может генерироваться зашифрованный непрозрачный дайджест документа. В примерах PIK может генерироваться или может быть принят устройством обработки, таким как клиентское устройство. PIK может использоваться для выполнения операций по шифрованию над одним или более документами. Операции по шифрованию в общем включают в себя преобразование обычной информации (например, простого текста) в нечитаемый человеком текст (например, зашифрованный текст). Способы для шифрования файлов и документов хорошо известны специалистам в области техники и не будут подробно описываться в этом раскрытии. PIK может быть применен к непрозрачному дайджесту документа для генерации зашифрованного непрозрачного дайджеста документа. В некоторых аспектах PIK может передаваться вместе с зашифрованным непрозрачным дайджестом документа одному или более недоверенным или частично доверенным серверным устройствам. Шифрование непрозрачного дайджеста документа может предотвратить статистические атаки, основанные на массовом доступе к непрозрачным терминам и метаданным.
[0047] Фигура 4B изображает иллюстративный способ 420 создания зашифрованного документа и фрагментов документа, как описывается в настоящем описании. Иллюстративный способ 420 начинается с операции 422, в которой фрагменты документа в виде открытого текста могут генерироваться с использованием персонального документа в виде открытого текста. В примерах фрагменты документа могут быть файлами, которые создаются путем анализа персонального документа в виде открытого текста и извлечения различных секций, символьных строк и/или метаданных. В одном конкретном аспекте фрагмент документа может содержать заголовок документа, краткое описание документа, имя автора документа, первые три предложения документа, тип документа, изображение предварительного просмотра документа и т.д.
[0048] В операции 424 может генерироваться зашифрованный персональный документ. В некоторых примерах PDK может генерироваться или может быть принят клиентским устройством. PDK может использоваться для выполнения операций по шифрованию над одним или более документами. Операции по шифрованию в общем включают в себя преобразование обычной информацию в нечитаемый человеком текст (например, зашифрованный текст). PDK может быть применен к персональному документу и/или фрагментам документа в виде открытого текста для генерации зашифрованного персонального документа. В аспектах PDK не может передаваться из клиентского устройства. В примерах, хотя PDK и PIK могут иметь общие черты (например, ключи на основе шифрования), и PDK и PTK могут иметь общие черты (например, ключи не передаются из клиентского устройства), PTK, PIK и PDK являются отдельными и/или различными ключами.
[0049] Фигура 5 изображает иллюстративный способ 500 создания персонального поискового индекса с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании. Иллюстративный способ 500 начинается с операции 502, в которой зашифрованный документ, зашифрованный непрозрачный дайджест документа и PIK могут быть приняты компонентом серверного устройства системы "облачных" служб. Серверное устройство может представлять собой недоверенную или частично доверенную среду, так что документ может быть не доступен для серверного устройства или пользователей серверного устройства. Зашифрованный документ может содержать зашифрованный персональный документ и зашифрованные фрагменты документа.
[0050] В операции 504 может создаваться персональный поисковый индекс. В примерах зашифрованный непрозрачный дайджест документа и PIK, используемый для шифрования зашифрованного непрозрачного дайджеста документа, могут быть предоставлены процессу, который обеспечивает индексацию документа. Индексацией документа в настоящем описании может называться классификация документа по терминам или символам для описания и/или резюмирования содержания документа. Процесс может содержать расшифровку зашифрованного непрозрачного дайджеста документа с использованием PIK и, опционально, объединение расшифрованного непрозрачного дайджеста документа с другими непрозрачными дайджестами документов для генерации набора непрозрачных дайджестов документов. В некоторых аспектах другие непрозрачные дайджесты документов могли быть ранее приняты от клиентского устройства. Например, другие непрозрачные дайджесты документов могут быть ассоциированы с конкретным пользователем или учетной записью пользователя на клиентском устройстве. В других аспектах другие непрозрачные дайджесты документов могли быть ранее приняты от различных клиентских устройств, ассоциированных с конкретным пользователем, учетной записью пользователя или групповой учетной записью. Процесс может дополнительно содержать индексацию набора непрозрачных дайджестов документов для создания непрозрачных терминов и/или символов. Непрозрачные термины и/или символы затем могут использоваться для создания персонального поискового индекса. В некоторых аспектах персональный поисковый индекс может содержать только информацию, ассоциированную с конкретным клиентским устройством, или информацию, ассоциированную с конкретной учетной записью пользователя. Операция 504 переходит к операции 508 завершения.
[0051] В операции 506 принятый зашифрованный документ может сохраняться. В примерах серверное устройство может осуществлять связь с утилитой управления хранением данных. Утилита управления хранением данных может обеспечивать сохранение зашифрованного документа в одном или более хранилищах данных. В аспектах утилита управления хранением данных может быть расположена на серверном устройстве, на другом компоненте системы "облачных" служб или на вычислительном устройстве, доступном для системы "облачных" служб. Хранилище данных может размещаться вместе с утилитой управления хранением данных, размещаться отдельно от утилиты управления хранением данных или может быть распределено между различными серверными устройствами. По меньшей мере в одном примере хранилище данных может быть пространством для хранения персональных документов, которое доступно только автору документа, группе привилегированных абонентов или группе привилегированных пользователей серверного устройства. Операция 506 переходит к операции 508 завершения.
[0052] Фигура 6 изображает иллюстративный способ 600 обработки запроса по зашифрованным документам для использования с персональным поисковым индексом с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании. Иллюстративный способ 600 начинается с операции 602, в которой клиентское устройство может принимать или генерировать поисковый запрос для документов, сохраненных "облачными" службами на серверном устройстве. В аспектах запрос может быть принят или сгенерирован в виде открытого текста или простого текста. В одном конкретном аспекте запрос генерируется на клиентском устройстве, которое отличается от клиентского устройства, используемого для передачи искомого документа серверному устройству.
[0053] В операции 604 может генерироваться дайджест запроса в виде открытого текста с использованием запроса в виде открытого текста. В аспектах запрос в виде открытого текста может быть проанализирован и подвергнут синтаксическому разбору для извлечения терминов запроса в виде открытого текста и/или метаданных. Операции по анализу и синтаксическому разбору могут выполняться программным обеспечением, расположенным на клиентском устройстве, или программным обеспечением, расположенным в пределах другой доверенной среды. Термины запроса в виде открытого текста и метаданные могут быть объединены и/или организованы в файл дайджеста, такой как файл дайджеста запроса в виде открытого текста.
[0054] В операции 606 может генерироваться непрозрачный дайджест запроса. В примерах PTK может генерироваться или может быть принят клиентским устройством. PTK может использоваться для выполнения операций по преобразованию данных над набором значений данных, как обсуждалось выше применительно к фигуре 4. PTK может быть применен к документу запроса в виде открытого текста для генерации непрозрачного дайджеста запроса. В некоторых аспектах PTK, применяемый к дайджесту запроса в виде открытого текста, может быть тем же самым PTK, который применялся к дайджесту документа в виде открытого текста одного или более искомых документов.
[0055] В операции 608 зашифрованный непрозрачный дайджест запроса передается из доверенной среды клиентского устройства в частично доверенную или недоверенную среду серверного устройства. В аспектах PTK, используемый для шифрования непрозрачного дайджеста запроса, может оставаться в клиентском устройстве. В таких аспектах никакая информация в виде открытого текста из клиентского устройства не может передаваться или раскрываться запрашиваемому серверному устройству.
[0056] Фигура 7 изображает иллюстративный способ 700 для извлечения зашифрованных документов с использованием персонального поискового индекса с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании. Иллюстративный способ 700 начинается с операции 702, в которой непрозрачный дайджест запроса может быть принят компонентом серверного устройства распределенной сетевой системы (например, системы "облачных" служб). Серверное устройство может представлять собой недоверенную или частично доверенную среду, так что к непрозрачному дайджесту запроса не может получить доступ серверное устройство или пользователи серверного устройства.
[0057] В операции 704 могут генерироваться непрозрачные результаты запроса. В примерах содержание непрозрачного дайджеста запроса может быть проанализировано и использовано в качестве входной информации для выполнения поиска в персональном поисковом индексе. Персональный поисковый индекс может содержать непрозрачные данные из ранее принятых непрозрачных дайджестов документов. В некоторых аспектах персональный поисковый индекс также может содержать зашифрованные фрагменты документов из одного или более зашифрованных персональных документов. Поиск в персональном поисковом индексе может создавать непрозрачные результаты запроса, которые могут быть ранжированы в соответствии с такими критериями, как релевантность, возраст документа, размер документа, информация профиля пользователя и т.д. В аспектах непрозрачные результаты запроса могут содержать непрозрачные названия документов и/или идентификаторы. В одном аспекте непрозрачные результаты запроса могут альтернативно или дополнительно содержать зашифрованные фрагменты документов. В одном таком аспекте, который может убирать сохранение документа из последовательности операций, последовательность операций переходит к операции 708.
[0058] В опциональной операции 706 может выполняться поиск в хранилище данных зашифрованных персональных документов. В примерах непрозрачные результаты запроса могут быть предоставлены утилите управления хранением данных. Утилита управления хранением данных может проанализировать непрозрачные результаты запроса для выполнения поиска в хранилище данных зашифрованных персональных документов и/или фрагментов документов, имеющих данные (например, строки, слова, символы, лексемы и т.д.), которые совпадают с данными в непрозрачных результатах запроса. Документы, которые найдены в хранилище данных, могут быть обработаны для экспорта клиентскому устройству.
[0059] В операции 708 непрозрачные результаты запроса, зашифрованные персональные документы и зашифрованные фрагменты документов или некоторая их комбинация могут быть переданы из частично доверенной или недоверенной среды серверного устройства в доверенную среду клиентского устройства.
[0060] Фигура 8 изображает иллюстративный способ 800 генерации результатов поиска в виде открытого текста с использованием персонального поискового индекса с повышенной конфиденциальностью для распределенных сетевых служб, как описывается в настоящем описании. Иллюстративный способ 800 начинается с операции 802, в которой информация результатов запроса может быть принята компонентом клиентского устройства. Информация результатов запроса может содержать непрозрачные результаты запроса, зашифрованные персональные документы и зашифрованные фрагменты документов.
[0061] В операции 804 непрозрачные результаты запроса могут быть преобразованы. В примерах PTK, доступный клиентскому устройству, может использоваться для преобразования непрозрачных результатов запроса в результаты запроса в виде открытого текста. PTK может быть тем же самым PTK, который применялся к дайджесту документа в виде открытого текста и дайджесту запроса в виде открытого текста, как описано на фигуре 4A. Операции 802 и 804 могут выполняться последовательно или параллельно.
[0062] В операции 806 зашифрованные документы могут быть расшифрованы. В примерах зашифрованные персональные документы и/или зашифрованные фрагменты документов могут быть расшифрованы с использованием PDK, доступного клиентскому устройству. В некоторых аспектах PDK, применяемый для расшифровки зашифрованных персональных документов, может быть тем же самым PDK, который применялся к персональному документу и/или фрагментам документа в виде открытого текста, как описано на фигуре 4B.
[0063] В опциональной операции 808 персональные документы ранжируются. В примерах процесс ранжирования может быть ассоциирован с клиентским устройством. Процесс ранжирования может применять результаты запроса в виде открытого текста с персональным документом в виде открытого текста и/или фрагментами документов в виде открытого текста. В некоторых аспектах персональные документы в виде открытого текста могут быть ранжированы в соответствии с несколькими критериями (например, содержанием документа, описанием, возрастом, размером, редкостью), так что наиболее соответствующие документы могут быть расположены выше в списке результатов или могут быть иным образом графически выделены по сравнению с менее соответствующими документами.
[0064] В операции 810 могут генерироваться ранжированные результаты поиска в виде открытого текста. В некоторых примерах процесс ранжирования, описанный в операции 808, может создавать файл, содержащий ранжированные результаты запроса. Затем файл может сопоставляться с соответствующими документами или фрагментами документов, на которые даются ссылки в файле, для создания ранжированных результатов поиска в виде открытого текста. В других примерах, в которых операция 808 ранжирования не выполняется, результаты запроса в виде открытого текста могут быть применены к персональным документам в виде открытого текста и/или фрагментам документа в виде открытого текста, в результате чего генерируются результаты поиска в виде открытого текста. Результаты поиска в виде открытого текста могут быть не ранжированы в конкретном порядке. В аспектах результаты поиска в виде открытого текста могут содержать документы и/или фрагменты документов в виде открытого текста (или ссылки на них).
[0065] Фигуры 9-11 и соответствующее описание обеспечивают обсуждение множества операционных сред, в которых могут быть реализованы примеры изобретения. Однако устройства и системы, изображенные и обсуждаемые относительно фигур 9-11, приведены в качестве примера и для иллюстрации и не ограничивают огромное число конфигураций вычислительных устройств, которые могут использоваться для реализации примеров изобретения, описанных в настоящем описании.
[0066] Фигура 9 является блок-схемой, изображающей физические компоненты вычислительного устройства 902, например, компонент системы, с помощью которой могут быть реализованы примеры настоящего раскрытия. Компоненты вычислительного устройства, описанные ниже, могут быть пригодны для вычислительных устройств, описанных выше. В базовой конфигурации вычислительное устройство 902 может включать в себя по меньшей мере один блок 904 обработки и системную память 906. В зависимости от конфигурации и типа вычислительного устройства системная память 906 может содержать, но не ограничивается только этим, энергозависимую память (например, память с произвольным доступом), энергонезависимое запоминающее устройство (например, память только для чтения), флэш-память или любую их комбинацию. Системная память 906 может включать в себя операционную систему 907 и один или более программных модулей 908, пригодных для исполнения программных приложений 920, таких как приложение 928, диспетчер 924 ввода-вывода (IO) и другая утилита 926. В качестве примеров системная память 906 может хранить инструкции для исполнения. Другими примерами системной памяти 906 могут быть такие компоненты, как, например, ресурс знаний или пул обученных программ. Операционная система 907, например, может быть пригодна для управления работой вычислительного устройства 902. Кроме того, примеры изобретения могут быть реализованы в сочетании с графической библиотекой, другими операционными системами или любой другой прикладной программой и не ограничиваются никаким конкретным приложением или системой. Эта базовая конфигурация изображается на фигуре 9 с помощью этих компонентов в пределах пунктирной линии 922. Вычислительное устройство 902 может иметь дополнительные признаки или функциональность. Например, вычислительное устройство 902 также может включать в себя запоминающие устройства для дополнительных данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или ленту. Такое дополнительное запоминающее устройство изображено на фигуре 9 как съемное запоминающее устройство 909 и несъемное запоминающее устройство 910.
[0067] Как указано выше, множество программных модулей и файлов с данными могут храниться в системной памяти 906. При исполнении в блоке 904 обработки программные модули 908 (например, приложение 928, диспетчер 924 ввода-вывода (I/O) и другая утилита 926) могут выполнять процессы, в том числе, например, но не ограничиваясь только этим, один или более этапов способа 400 работы, изображенного на фигуре 4. Другие программные модули, которые могут использоваться в соответствии с примерами настоящего изобретения, могут включать в себя приложения электронной почты и контактов, приложения текстовых редакторов, приложения для обработки электронных таблиц, приложения для работы с базами данных, приложения для слайдовых презентаций, приложения распознавания ввода, графические или компьютерные прикладные программы и т.д.
[0068] Кроме того, примеры изобретения могут быть реализованы в электрической схеме, содержащей дискретные электронные элементы, электронные микросхемы в корпусе или интегрированные электронные микросхемы, содержащие логические вентили, схеме, использующей микропроцессор, или на однокристальной схеме, содержащей электронные элементы или микропроцессоры. Например, примеры изобретения могут быть реализованы с помощью "системы на микросхеме" (SOC), в которой каждый или многие из компонентов, изображенных на фиг. 9, могут быть интегрированы в одну интегральную схему. Такое устройство SOC может включать в себя один или более блоков обработки, графических блоков, блоков связи, блоков системной виртуализации и различную прикладную функциональность, все из которых интегрированы (или "записаны") на подложку микросхемы как одну интегральную схему. При работе через SOC функциональность, описанная в настоящем описании, может управляться с помощью логики специализированного применения, интегрированной с другими компонентами вычислительного устройства 902 на одной интегральной схеме (микросхеме). Примеры настоящего раскрытия также могут быть реализованы с использованием других технологий, имеющих возможность выполнения логических операций, таких как, например, И, ИЛИ и НЕ, в том числе, но не ограничиваясь только этим, механических, оптических, жидкостных и квантовых технологий. Кроме того, примеры изобретения могут быть реализованы в универсальном компьютере или в любых других схемах или системах.
[0069] Вычислительное устройство 902 также может иметь одно или более устройств 912 ввода, таких как клавиатура, мышь, перо, звуковое устройство ввода, устройство для голосового ввода/распознавания, устройство сенсорного ввода и т.д. Также может быть включено устройство(а) 914 вывода, такое как дисплей, громкоговорители, принтер и т.д. Упомянутые выше устройства являются примерами, и могут использоваться другие устройства. Вычислительное устройство 904 может включать в себя одно или более коммуникационных соединений 916, позволяющих осуществлять связь с другими вычислительными устройствами 918. Примеры подходящих коммуникационных соединений 916 включают в себя, но не ограничиваются только этим, схему RF передатчика, приемника и/или приемопередатчика; универсальную последовательную шину (USB), параллельные и/или последовательные порты.
[0070] Термин машиночитаемая среда в настоящем описании может включать в себя компьютерные носители информации. Компьютерные носители информации могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные с помощью любого способа или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных или программные модули. Системная память 906, съемное запоминающее устройство 909 и несъемное запоминающее устройство 910 являются примерами компьютерных носителей информации (то есть запоминающими устройствами). Компьютерные носители информации могут включать в себя RAM, ROM, электрически стираемую постоянную память (EEPROM), флэш-память или другую технологию памяти, компакт-диск, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства или любое другое изделие, которое может использоваться для хранения информации и к которому может получить доступ вычислительное устройство 902. Любые такие компьютерные носители информации могут быть частью вычислительного устройства 902. Компьютерные носители информации не включают в себя несущую волну или другой распространяющийся или модулированный сигнал данных.
[0071] Коммуникационная среда может быть воплощена с помощью машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, она включает в себя любые среды для доставки информации. Термин "модулированный сигнал данных" может описывать сигнал, у которого одна или более характеристик заданы или изменены таким образом, чтобы закодировать информацию в сигнале. В качестве примера, а не ограничения, коммуникационная среда может включать в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная (RF), инфракрасная и другая беспроводная среда.
[0072] Фиг. 10A и 10B изображают мобильное вычислительное устройство 1000, например, мобильный телефон, смартфон, карманный персональный компьютер, персональный планшетный компьютер, портативный компьютер и т.п., с помощью которых могут быть реализованы примеры изобретения. Например, мобильное вычислительное устройство 1000 может быть реализовано как система 100, компоненты систем 100 могут быть выполнены с возможностью исполнения способов обработки, как описано на фигуре 4, среди прочих примеров. Со ссылкой на фиг. 10A изображен один пример мобильного вычислительного устройства 1000 для реализации примеров. В базовой конфигурации мобильное вычислительное устройство 1000 является карманным компьютером, имеющим как элементы ввода, так и элементы вывода. Мобильное вычислительное устройство 1000 обычно включает в себя дисплей 1005 и одну или более кнопок 1010 для ввода, которые позволяют пользователю вводить информацию в мобильное вычислительное устройство 1000. Дисплей 1005 мобильного вычислительного устройства 1000 также может функционировать как устройство ввода (например, дисплей с сенсорным экраном). При наличии опциональный боковой элемент 1015 ввода позволяет осуществлять дополнительный пользовательский ввод. Боковой элемент 1015 ввода может быть поворотным переключателем, кнопкой или элементом ручного ввода любого другого типа. В альтернативных примерах мобильное вычислительное устройство 1000 может включать в себя больше или меньше элементов ввода. Например, в некоторых примерах дисплей 1005 может не являться сенсорным экраном. В еще одном альтернативном примере мобильное вычислительное устройство 1000 является портативной телефонной системой, такой как сотовый телефон. Мобильное вычислительное устройство 1000 также может включать в себя опциональную клавиатуру 1035. Опциональная клавиатура 1035 может быть физической клавиатурой или "программной" клавиатурой, генерируемой на дисплее с сенсорным экраном. В различных примерах элементы вывода включают в себя дисплей 1005 для показа графического пользовательского интерфейса (GUI), визуальный индикатор 1020 (например, светодиод) и/или аудиопреобразователь 1025 (например, громкоговоритель). В некоторых примерах мобильное вычислительное устройство 1000 включает в себя вибропреобразователь для предоставления пользователю тактильной обратной связи. В еще одном примере мобильное вычислительное устройство 1000 включает в себя порты ввода и/или вывода, такие как аудиовход (например, микрофонный разъем), аудиовыход (например, гнездо для наушников) и видеовыход (например, порт HDMI) для отправки сигналов или приема сигналов от внешнего устройства.
[0073] Фиг. 10B является блок-схемой, изображающей архитектуру одного примера мобильного вычислительного устройства. То есть мобильное вычислительное устройство 1000 может включать в себя систему (то есть архитектуру) 1002 для реализации некоторых примеров. В примерах система 1002 реализована как "смартфон", имеющий возможность исполнения одного или более приложений (например, браузер, электронная почта, обработка ввода, ведение календаря, диспетчер контактов, клиенты обмена сообщениями, игры и медиаклиенты/проигрыватели). В некоторых примерах система 1002 интегрирована как вычислительное устройство, такое как интегрированный персональный цифровой помощник (PDA) и беспроводной телефон.
[0074] Одна или более прикладных программ 1066 могут быть загружены в память 1062 и исполняться в операционной системе 1064 или совместно с операционной системой 1064. Примеры прикладных программ включают в себя программы номеронабирателя, программы электронной почты, программы управления персональными данными (PIM), программы редакторов текста, программы для обработки электронных таблиц, программы Интернет-браузера, программы для обмена сообщениями и т.д. Система 1002 также включает в себя область 1068 энергонезависимой памяти в памяти 1062. Область 1068 энергонезависимой памяти может использоваться для хранения информации постоянного хранения, которая не должна теряться при отключении питания системы 1002. Прикладные программы 1066 могут использовать и хранить информацию в области 1068 энергонезависимой памяти, такую как сообщения электронной почты или другие сообщения, используемые почтовой программой, и т.п. Приложение синхронизации (не показано) также находится в системе 1002 и запрограммировано взаимодействовать с соответствующим приложением синхронизации, находящимся на главном компьютере, для хранения информации, сохраненной в области 1068 энергонезависимой памяти, синхронизированной с соответствующей информацией, хранящейся в главном компьютере. Следует понимать, что другие приложения могут загружаться в память 1062 и исполняться на мобильном вычислительном устройстве 1000, в том числе приложение 928, диспетчер 924 ввода-вывода (IO) и другая утилита 926, описанная в настоящем описании.
[0075] Система 1002 имеет источник питания 1070, который может быть реализован в виде одного или более аккумуляторов. Источник питания 1070 дополнительно может включать в себя внешний источник питания, такой как адаптер переменного тока (AC) или док-станцию с включенным питанием, которая дополняет или перезаряжает аккумуляторы.
[0076] Система 1002 может включать в себя порт 1078 периферийного устройства, который выполняет функцию обеспечения связи между системой 1002 и одним или более периферийными устройствами. Передачи в и из порта 1078 периферийного устройства выполняются под управлением операционной системы 1064. Другими словами, передачи, принятые с помощью порта 1078 периферийного устройства, могут передаваться прикладным программам 1066 через операционную систему 1064 и наоборот.
[0077] Система 1002 также может включать в себя радио 1072, которое выполняет функцию передачи и приема радиочастотных передач. Радио 1072 обеспечивает беспроводную связь между системой 1002 и "внешним миром" через поставщика услуг связи. Передачи к и от радио 1072 выполняются под управлением операционной системы 1064. Другими словами, передачи, принятые радио 1072, могут передаваться прикладным программам 1066 через операционную систему 1064 и наоборот.
[0078] Визуальный индикатор 1020 может использоваться для обеспечения визуальных уведомлений, и/или аудиоинтерфейс 1074 может использоваться для создания звуковых уведомлений через аудиопреобразователь 1025. В изображенном примере визуальный индикатор 1020 является светодиодом (LED), а аудиопреобразователь 1025 является громкоговорителем. Эти устройства могут быть непосредственно соединены с источником питания 1070, так что при активации они остаются включенными в течение промежутка времени, продиктованного механизмом уведомления, даже при том, что процессор 1060 и другие компоненты могут быть выключены для экономии энергии аккумулятора. LED может быть запрограммирован оставаться включенным неопределенно долго до тех пор, пока пользователь не предпримет действия для указания включенного состояния устройства. Аудиоинтерфейс 1074 используется для обеспечения звуковых сигналов и приема звуковых сигналов от пользователя. Например, в дополнение к соединению с аудиопреобразователем 1025, аудиоинтерфейс 1074 также может быть соединен с микрофоном для приема звукового ввода, например, обеспечения телефонного разговора. В соответствии с примерами настоящего изобретения микрофон также может служить аудио датчиком для обеспечения управления уведомлениями, как будет описано ниже. Система 1002 может дополнительно включать в себя видеоинтерфейс 1076, который обеспечивает работу встроенной камеры 1030 для записи неподвижных изображений, видеопотока и т.п.
[0079] Мобильное вычислительное устройство 1000, реализующее систему 1002, может иметь дополнительные признаки или функциональность. Например, мобильное вычислительное устройство 1000 также может включать в себя дополнительные запоминающие устройства (съемные и/или несъемные), такие как магнитные диски, оптические диски или ленту. Такое дополнительное запоминающее устройство изображено на фиг. 10B с помощью области 1068 энергонезависимой памяти.
[0080] Данные, генерируемые или захваченные мобильным вычислительным устройством 1000 и сохраненные с помощью системы 1002, могут сохраняться локально на мобильном вычислительном устройстве 1000, как описано выше, или данные могут сохраняться на любом числе носителей данных, к которым может получить доступ устройство через радио 1072 или через проводное соединение между мобильным вычислительным устройством 1000 и отдельным вычислительным устройством, связанным с мобильным вычислительным устройством 1000, например, серверным компьютером в сети распределенных вычислений, такой как Интернет. Следует понимать, что к таким данным/информации можно получить доступ через мобильное вычислительное устройство 1000 через радио 1072 или через сеть распределенных вычислений. Аналогично, такие данные/информация могут с легкостью передаваться между вычислительными устройствами для хранения и использования в соответствии с хорошо известными средствами передачи и хранения данных/информации, в том числе электронной почтой и коллективными системами обмена данными/информацией.
[0081] Фиг. 11изображает один пример архитектуры системы для обеспечения приложения, которое надежно осуществляет доступ к целевым данных в системе хранения данных и обрабатывает сбои связи с одним или более клиентскими устройствами, как описано выше. Целевые данные, к которым осуществляют доступ, с которыми взаимодействуют или которые редактируют с помощью приложения 928, диспетчера 924 ввода-вывода (IO), другой утилиты 926 и запоминающего устройства, могут сохраняться в различных каналах связи или других типах запоминающих устройств. Например, различные документы могут сохраняться с использованием службы 1122 каталогов, веб-портала 1124, службы 1126 почтовых ящиков, хранилища 1128 мгновенного обмена сообщениями или сайта 1130 социальной сети, приложение 928, диспетчер 924 ввода-вывода (IO), другая утилита 926 и системы хранения данных могут использовать любой из этих типов систем и т.п. для обеспечения использования данных, как описывается в настоящем описании. Сервер 1120 может обеспечивать систему хранения данных для использования клиентом, работающим на универсальном вычислительном устройстве 902 и мобильном устройстве(ах) 1000 через сеть 1115. В качестве примера, сеть 1115 может содержать Интернет или любой другой тип локальной сети или глобальной сети, а клиентские узлы могут быть реализованы как вычислительное устройство 902, воплощенное в персональном компьютере, планшетном вычислительном устройстве и/или мобильном вычислительном устройстве 1000 (например, смартфоне). Любой из этих примеров клиентского вычислительного устройства 902 или 1000 может получать содержание из хранилища 1116.
[0082] Везде в этом описании делалась ссылка на ʺодин примерʺ или ʺпримерʺ, что означает, что конкретный описанный признак, структура или характеристика включена по меньшей мере в один пример. Таким образом, использование таких фраз может относиться более чем только к одному примеру. Кроме того, описанные признаки, структуры или характеристики могут комбинироваться любым подходящим образом в одном или более примерах.
[0083] Однако специалисту в соответствующей области техники будет понятно, что примеры могут быть реализован без одного или более конкретных признаков, или с помощью других способов, ресурсов, материалов и т.д. В других случаях хорошо известные структуры, ресурсы или операции не были показаны или описаны подробно просто, чтобы избежать излишнего загромождения аспектов примеров.
[0084] Хотя были изображены и описаны типовые примеры и приложения, следует понимать, что примеры не ограничиваются точной конфигурацией и ресурсами, описанными выше. Различные модификации, изменения и вариации, очевидные для специалистов в области техники, могут быть сделаны в конструкции, операциях и подробностях способов и систем, раскрытых в настоящем описании, не отступая от объема заявленных примеров.