ИНИЦИАТОРЫ ДЕЙСТВИЙ ФИЗИЧЕСКИХ ЗНАНИЙ
INITIATORS OF ACTION OF PHYSICAL KNOWLEDGE

УРОВЕНЬ ТЕХНИКИ
[0001] Появление облачных услуг, поисковых систем, мобильных приложений и учитывающих текущее местоположение устройств в значительной степени расширило практическую ценность мобильных пользовательских устройств за прошлое десятилетие. Многие такие пользовательские устройства теперь предоставляют службы и приложения с учетом контекста в дополнение к речевому и информационному доступу. Кроме того, с недавними достижениями в системах обработки многие ранее разрозненные приложения и службы теперь способны сотрудничать для обеспечения расширенных возможностей и пользовательского восприятия.
[0002] Многие прикладные службы, доступные пользователям, характеризуются использованием ввода команд. Одна такая служба создает инициаторы действий. Например, пользователь может произнести (или напечатать) ввод ʺНапомни мне купить молоко сегодня вечеромʺ в смартфон, и смартфон с использованием приложения разбора команд (или, в качестве альтернативы, взаимодействуя со службой разбора команд) вызовет процесс инициатора действия, который может создать напоминание, создать сообщения и/или календарные записи и потребовать дополнительной информации от пользователя. Такой информацией может быть время, если пользователь желает, чтобы инициатор действия быть выполнен в определенное время, и/или местоположение, если пользователь желает, чтобы инициатор действия быть выполнен, когда пользователь попадает в местоположение. Хотя установка таких инициаторов действий является очень полезным и относительно интуитивным пользовательским восприятием, доступные инициаторы исторически были ограничены рядом возможностей, предоставляемых приложением или службой.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Это описание относится к определению и отслеживанию события для физического объекта и выполнению действия в ответ на возникновение события.
[0004] В одном аспекте способ включает в себя прием данных, указывающих событие для физического объекта, событие указано частично посредством физического признака окружающей среды, для которого должно отслеживаться возникновение события посредством устройства обработки данных; прием данных, указывающих действие, привязанное к событию, которое должно быть произведено в ответ на возникновение события; отслеживание возникновения события для физического объекта; и в ответ на возникновение события предписание выполнить действие, привязанное к событию. Другие варианты осуществления этого аспекта включают в себя соответствующие системы, устройство и компьютерные программы, выполненные с возможностью выполнять действия способов, закодированные на компьютерных запоминающих устройствах.
[0005] В другом аспекте способ включает в себя прием данных, указывающих физический признак окружающей среды, для которого должно отслеживаться событие для физического объекта; в ответ на данные, указывающие признак окружающей среды, предоставление данных, которые предписывают пользовательскому устройству отобразить меню инициаторов действий, которое отображает соответствующий ввод выбора события для каждого из одного или более событий, привязанных к физическому признаку окружающей среды; прием данных, указывающих выбор в пользовательском устройстве одного из вводов выбора событий, чтобы указать событие; привязывают к событию действие, которое должно быть произведено в ответ на возникновение события; и предоставляют данные, указывающие событие для физического объекта, и данные, указывающие действие, привязанное к событию. Другие варианты осуществления этого аспекта включают в себя соответствующие системы, устройство и компьютерные программы, выполненные с возможностью выполнять действия способов, закодированные на компьютерных запоминающих устройствах.
[0006] События и действия могут быть независимы от физического объекта в том, что они не обязательно должны быть выбраны из списка, который зависит от физического объекта, а вместо этого могут быть определены пользователем в соответствии с одним или более вводов. Аналогично, событие и действия также могут быть независимы друг от друга в том, что конкретное событие не обязательно должно категориально, семантически или иным образом относиться к действию, которое должно быть выполнено. Действительно, привязка события и действия может быть абсолютно произвольной с точки зрения соотношения данных. Это освобождает разработчиков от предварительного определения наборов привязок и инициаторов действий в прикладных программах и службах. Кроме того, полученные в результате события и привязки, определенные пользователем, реализованы простыми структурами правил и не нуждаются в многочисленных сложных зависимостях, которые потребовались бы (если даже возможно) при работе в предварительно определенном наборе событий и инициаторов. Например, пользователь может пожелать вымыть свой автомобиль, но готовясь сделать это, обнаруживает, что у него кончилось концентрированное мыло для автомобиля, и, таким образом, заказывает бутылку концентрированного мыла из интернет-магазина. Затем пользователь может при помощи системы, описанной в этом описании, определить такое событие, как присутствен пакета на крыльце дома пользователя, и действие, которое может быть привязано к событию, может представлять собой напоминание вымыть автомобиль. Таким образом, в предположении, что пользователь не ожидает получения какого-либо другого пакета, кроме моющего средства, обнаружение пакета на крыльце дома пользователя приведет к действию представления напоминания вымыть автомобиль.
[0007] Система, таким образом, обеспечивает возможность привязки нескольких физических объектов к нескольким разным возможным событиям и нескольким разным действиям. Это дает пользователю беспрецедентную гибкость для размещения задач, планов и действий в соответствии с совершенно уникальными и прежде нераскрытыми отношениями объектов и задач, которые возникают из уникальных потребностей пользователя. Такая способность устраняет необходимость в сложном структурированном наборе правил, который требует, чтобы сложный набор возможных действий и инициаторов удовлетворял такие различные и непредсказуемые потребности нескольких разных пользователей, если это вообще возможно. В соответствии с этим экономится существенный объем хранения данных. Кроме того, можно избавиться от обновлений правил и обновлений программного обеспечения, которые в противном случае потребовались бы для удовлетворения многих возникающих потребностей пользователей, что приводит к снижению расходов на разработку и экономии канала связи.
[0008] Пользователь может создавать инициаторы действий на основе намного более широкого диапазона случаев или событий, чем прежде было возможно. Инициатор может вызвать напоминание пользователю, в результате чего действия, которые должны быть произведены на основе такого инициатора, производятся вручную, как указано в напоминании. В качестве альтернативы инициатор может просто предоставить интересующую пользователя информацию без дальнейших обязательно подразумеваемых действий. В качестве другой альтернативы пользователь может установить, чтобы инициатор автоматически производил некоторые действия. В качестве еще одной альтернативы пользователь может установить, чтобы при возникновении события инициатор представлял одиночное действие одобрения, чтобы одобрить последующее действие, и при таком одобрении выполняется последующее действие. В качестве еще одной альтернативы автоматизированные действия могут производиться приложениями или системами третьих сторон, которые могут взаимодействовать с системой, описанной в настоящем документе.
[0009] Инициаторы действий на основе событий и действия, которые должны быть выполнены при возникновении событий, могут быть установлены из специализированного приложения для напоминаний или из другого приложения, такого как браузер или календарь, или из системы некоторого другого типа, выполненной с возможностью принимать пользовательский ввод в целях установления инициатора действия и привязанного действия. Эти последние системы могут включать в себя поисковые системы, электронных помощников, в том числе голосовых помощников и т.п. Кроме того, система инициирования и уведомления может быть выполнена с возможностью взаимодействовать с другим независимым внешним пользовательским интерфейсом, в результате чего пользовательскими инструкциями и уведомлениями можно управлять посредством внешнего пользовательского интерфейса.
[0010] Инициатор может быть основан на отдельном случае или событии. В качестве альтернативы множественные случаи или события могут быть сгруппированы вместе для определения инициатора. Например, пользователь может создать инициатор, чтобы ему напомнили вымыть автомобиль, только если пользователь находится дома, когда обнаружен пакет на крыльце дома пользователя.
[0011] Отслеживание события для физического объекта может быть достигнуто различными путями и зависит от отслеживания, которое должно быть выполнено. Например, для отслеживания присутствия, которое является отслеживанием присутствия физического объекта, данные могут быть получены от камер, которые используются для отслеживания конкретного местоположения, или распознавания речи из источника в конкретном местоположении и так далее. В случае распознавания объекта, например, в случае отслеживания коробки, которая будет доставлена на крыльцо дома, для распознавания объектов может осуществляться доступ к системе машинного обучения. Таким образом, изображения могут быть обработаны, чтобы различить объекты, такие как один или более человек, одно или более животных, одна или более коробок и т.д.
[0012] Отслеживание присутствия также может быть достигнуто посредством конкретного физического объекта, которое дает знать о своем местоположении. Например, пользователь может иметь инициатор на основе события, в котором продуктовый фургон находится на некотором расстоянии от конкретного местоположения, например, в квартале от адреса работы пользователя. Продуктовый фургон может обеспечивать свое местоположение по протоколу беспроводной связи службе отслеживания, и служба отслеживания определяет, когда произошло событие, указанное пользователем. В вариантах этой реализации пользователь может иметь инициатор на основе события, в котором продуктовый фургон находится на некотором расстоянии от местоположения пользователя, и местоположение пользователя и местоположение продуктового фургона отслеживаются службой отслеживания.
[0013] Для отслеживания условия, которое является отслеживанием условия физического объекта, физический объект может обеспечивать данные, описывающие его условие, службе отслеживания. Например, дом пользователя может иметь интеллектуальную систему полива, которая отслеживает влажность почвы. Пользователь может определить инициатор, чтобы ему сообщили, когда уровень влажности почвы падает ниже определенного уровня, или чтобы сообщили, когда разбрызгиватели автоматически включаются (и факультативно, когда они впоследствии выключаются). Аналогичным образом, пользователь может иметь другое действие, которое инициируется, когда вероятность дождя составляет 80% (в соответствии с данными, принятыми от метеослужбы) и разбрызгиватели были деактивированы, и так далее. В качестве другого примера инициатор определен таким образом, что когда уровень влажности почвы падает до определенного процента, разбрызгиватель включается автоматически, и пользователю отправляется уведомление.
[0014] Система в некоторых реализациях может автоматически модифицировать события на основе данных, которые релевантны для события. Например, событие для активации разбрызгивателя также может учитывать данные о погоде. Таким образом, даже если уровень влажности меньше определенного процента, система может не определить, что возникло событие (или не предписывать выполнение действия), если данные о погоде указывают дождь в течение следующих двадцати четырех часов.
[0015] Подробности одного или более вариантов осуществления предмета, описанного в этом описании, изложены в прилагаемых ниже чертежах и описании. Другие признаки, аспекты и преимущества предмета станут очевидны из описания, чертежей и формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0016] Фиг. 1 - блок-схема иллюстративной окружающей среды, в которой инициаторы действий отслеживаются для выполнения привязанных действий.
[0017] Фиг. 2А - блок-схема иллюстративного процесса для создания события для физического объекта и привязки действия, которое должно быть выполнено, к событию.
[0018] Фиг. 2B - блок-схема иллюстративного процесса для отслеживания привязки события для физического объекта и выполнения действия на основе возникновения события.
[0019] Фиг. 3А-3C - иллюстрации пользовательских интерфейсов в пользовательском устройстве, в котором создается инициатор действия и отображаются результаты выполняемого действия.
[0020] Фиг. 4А-4C - иллюстрации пользовательских интерфейсов в пользовательском устройстве, в котором создается другой инициатор действия и отображаются результаты выполняемого действия.
[0021] Фиг. 5 - блок-схема иллюстративного мобильного вычислительного устройства.
[0022] Одинаковые ссылочные номера и обозначения на различных чертежах обозначают одинаковые элементы.
ПОДРОБНОЕ ОПИСАНИЕ
[0023] Фиг. 1 является блок-схемой иллюстративной окружающей среды 100, в которой события инициатора действия отслеживаются для выполнения соответствующих действий. Компьютерная сеть 102, такая как Интернет или его комбинация, обеспечивает передачу данных между электронными устройствами и системами. Компьютерная сеть 102 также может включать в себя или иметь информационную связь с одной или более беспроводных сетей 103 посредством одного или более шлюзов.
[0024] Источник 104 физических данных представляет собой устройство, систему или службу, которые обеспечивают данные о физическом объекте. Например, источником 104 физических данных может являться физическое изделие, которое сообщает о своем собственном условии посредством сигнала данных, который указывает условия физического объекта. Например, разбрызгиватель системы полива, который обеспечивает свой рабочий статус и показания датчика, такие как уровни влажности почвы, дверной замок, который обеспечивает данные, описывающие, заперт он или отперт, автомобиль, который обеспечивает свое местоположение, и т.д. В качестве альтернативы источник 104 физических данных может являться системой, которая обеспечивает данные о себе, своем местоположении и так далее. Примеры систем включают в себя систему безопасности, которая контролирует дом, систему контроля освещения в здании, систему обнаружения и отслеживания занятости парковки и так далее. Это всего лишь несколько примеров источников физических данных, и может использоваться любой другой источник 104 физических данных, который обеспечивает данные о физическом объекте.
[0025] Используемый в этом описании термин "физический объект" является материальным объектом, признаки физической окружающей среды которого могут быть отслежены посредством источника 104 физических данных. Физический объект может являться самим источником 104 физических данных или может являться чем-то, что источник 104 физических данных отслеживает. В последнем случае физический объект может быть указан пользователем, например, пользователь может указать, что физическим объектом является пакет, если пользователь желает отслеживать присутствие пакета в местоположении; пользователь может указать, что физическим объектом является автомобиль, если пользователь желает отслеживать присутствие или отсутствие автомобиля в конкретном местоположении парковки, и так далее. Аналогично, признак физической окружающей среды может являться признаком, который относится к объекту, который пользователь хочет использовать для инициирования действия.
[0026] Пользовательское устройство 106 является электронным устройством, которое находится под управлением пользователя и способно запрашивать и принимать ресурсы по сети 102, а также способно выполнять другие действия. Иллюстративные пользовательские устройства 106 включают в себя персональные компьютеры, устройства мобильной связи, носимые устройства и другие устройства, которые могут отправлять и принимать данные по сети 102. В примере на фиг. 1 пользовательское устройство 106 является смартфоном. Иллюстративный смартфон описан со ссылкой на фиг. 5 ниже. Пользовательское устройство 106 может осуществлять связь по сетям 102 и 103 посредством проводных и беспроводных соединений с сетями 102 и 103, соответственно. Пользовательское устройство 106 также может являться устройством, которое осуществляет доступ к сети 102 посредством промежуточного устройства и беспроводного приемопередатчика радио малой, такого как WiFi, Bluetooth и т.д. Как описано со ссылкой на фиг. 5, пользовательское устройство может быть способно выполнять набор действий устройства для различных программ и возможностей.
[0027] Пользовательское устройство 106 может быть привязано к учетной записи пользователя, такой как учетная запись, размещенная у поставщика 112 служб облачных вычислений, который предоставляет несколько служб. Эти службы могут включить в себя поиск (по вебу, в интранете, в документах и в приложениях, среди прочего), веб-почту, календарь, социальную сеть, передачу сообщений, хранение и редактирование документов, службу электронного помощника и т.д. Учетные данные 114 могут хранить данные, специфические для учетной записи пользовательского устройства 106. Кроме того, хотя на фиг. 1 показано только одно пользовательское устройство 106, несколько пользовательских устройств 106 могут быть включены в окружающую среду.
[0028] В некоторых реализациях пользователь пользовательского устройства 106 может указать инициаторы событий и привязать их к действиям. Возникновение инициатора события (или просто "события") предписывает выполнить это привязанное действие. Возможность указания событий и действия может быть обеспечена посредством множества пользовательских интерфейсов, систем обработки голосовых команд и моделей взаимодействия. Как правило, пользователь укажет привязку события к действию, как будет описано более подробно ниже.
[0029] Система 120 обработки инициаторов действий принимает привязку события и действия и сохраняет инициатор действия в хранилище 126 данных инициаторов действий. Используемое в этом описании выражение "привязка события и действия" относится к "инициатору действия". Хотя система 120 обработки инициаторов действий показана как отдельный объект на фиг. 1, система 120 обработки инициаторов действий может быть реализована в поставщике 112 служб облачных вычислений или в качестве альтернативы как отдельная система посредством каждой третьей стороны. В некоторых вариантах осуществления система 120 обработки инициаторов действий или ее части могут образовать часть пользовательского устройства 106 или быть сохранены на нем.
[0030] Процессор 124 инициаторов событий осуществляет доступ к данным 128 событий, чтобы определить, какие события возникли, и следует ли выполнить действия, связанные с событиями, которые определены для возникновения. Используемый в настоящем документе термин "данные 128 событий" представляет любые данные, которые могут использоваться, чтобы определить, возникло ли событие, и в этом конкретном применении включают в себя данные, которые сообщены посредством источников 104 физических данных. Например, данные 128 событий, включающие в себя данные, которые сообщены источником 104 физических данных, могут представлять собой данные, которые обеспечиваются системе 120 обработки инициаторов действий третьими сторонами, или могут представлять собой данными, которые периодически запрашиваются системой 120 обработки инициаторов действий.
[0031] Процессор 124 инициаторов событий сохранит инициатор действия в хранилище 126 данных инициаторов действий. Может иметься множество инициаторов AT1, AT2,..., ATn действий, сохраненных в данных 126 инициаторов действий. Группа инициаторов действий (например, созданных или ранее реализованных пользователем) может быть просмотрена в пользовательском устройстве 106, и пользователь может внести изменения (например, добавить, удалить, модифицировать) в инициаторы действий в пользовательском устройстве 106 в любое время. Каждое множество инициаторов действий может иметь одно или более событий E1, E2,..., En, привязанных к действию. После возникновения события процессор 124 инициаторов событий может предписать выполнить действие. Действие может представлять собой одно или более из следующих действий: представление уведомления, что произошло событие; действие, которое выполняется частично или полностью автоматически и отдельно от пользовательского устройства (например, через приложение или систему третьей стороны посредством выдачи команды для него); или представление указания выполнить другое действие.
[0032] Действие также может представлять собой действие, которое выполняется другим физическим объектом или относится к другому физическому объекту, такому как роботизированный объект. Например, при наступлении конкретных погодных условий, например, при отсутствии прогноза дождя на день действие может представлять собой выдачу указания роботизированной косилке косить газон.
[0033] В некоторых реализациях система 120 обработки инициатора действий включает в себя идентификационные данные 130, которые задают идентификационные данные для пользователей, и которые используются для авторизации выполнения определенных действий. Например, действие для покупки или установления некоторых других финансовых или юридических обязательств от имени пользователя может потребовать, чтобы пользователь обеспечил идентификационные данные. Идентификационные данные могут потребоваться, когда событие было инициировано, или в качестве альтернативы могут потребоваться при установлении привязки события и действия. Иллюстративные идентификационные данные могут включить в себя идентификатор пользователя, пароль и т.п. Кроме того, в некоторых реализациях пользователь может быть авторизован, когда идентификационные данные были обеспечены ранее, например, когда пользователь установил аутентифицированное соединение с безопасной сетью.
[0034] Пользователь также может указать, что уведомления должны обеспечиваться только в течение подходящего времени, в течение которого пользователь может просматривать и отвечать на уведомления. Например, пользователь также может установить условие, что пользователя не следует уведомлять, если пользователь недоступен, на основе доступности пользователя в соответствии с календарем пользователя. Таким образом, представление уведомления может быть отложено, когда календарь пользователя указывает, что пользователь в настоящее время занят на деловой встрече, например, если пользователь находится на совещании, запланированном на рабочем календаре пользователя. Другие условия для действия, которое должно быть выполнено, также могут использоваться в дополнение к возникновению указанного события.
[0035] Как описано выше, система 120 обработки инициаторов действий дает возможность создания и отслеживания событий для физических объектов. Процесс создания инициатора действия описан со ссылкой на фиг. 2А, которая является блок-схемой иллюстративного процесса 200 для создания события для физического объекта и привязки действия, которое должно быть выполнено, к событию. Процесс 200 может быть выполнен посредством электронного устройства, такого как пользовательское устройство, или в качестве альтернативы может быть выполнен серверной системой в ответ на прием данных о выборе от пользовательского устройства.
[0036] Процесс 200 принимает данные, указывающие физический признак окружающей среды, для которого должно отслеживаться событие для физического объекта (202). Физический объект может быть идентифицирован различными путями. Данные могут быть приняты от пользовательского устройства или некоторого другого устройства, с которым взаимодействовал пользователь. Например, пользователь может указать физический объект посредством ввода описания физического объекта, выбора физического объекта из списка физических объектов или некоторым другим методом. В качестве альтернативы физический объект может идентифицировать сам себя. Например, продуктовый фургон может взаимодействовать с пользовательским устройством, идентифицировать себя и предоставить пользователю возможность создать инициатор действия.
[0037] Физический признак окружающей среды описывает либо сам физический объект, либо окружающую среду физического объекта. Примером последнего является местоположение или последовательность местоположений, в которых может быть расположен физический объект. Например, для физического объекта конкретного автомобиля (или любого автомобиля) физическим признаком окружающей среды может являться конкретное парковочное место. Аналогично, для физического объекта контейнера для перевозки физическим признаком окружающей среды может являться крыльцо дома. Аналогичным образом, для физического объекта системы полива физическим признаком окружающей среды может являться состояние системы. Еще в одном примере продуктовый фургон, использующий беспроводную систему, которая взаимодействует с системой обработки инициатора действия, может обеспечить список различных признаков окружающей среды, относящихся к местоположению продуктового фургона. Физический признак окружающей среды, который описан, может быть выбран пользователем.
[0038] Процесс 200 в ответ на данные, указывающие признак окружающей среды, обеспечивает данные, которые предписывают устройству отобразить меню инициатора действия, которое отображает ввод для каждого из одного или более событий (204). Например, когда пользователь указывает физический объект и соответствующий признак окружающей среды, пользователю могут быть представлены варианты, которые определяют событие для физического объекта и физического признака окружающей среды. В продолжение приведенного выше примера, для физического объекта конкретного автомобиля (или любого автомобиля) событием может являться присутствие автомобиля на конкретном парковочном месте (или в качестве альтернативы отсутствие автомобиля). Аналогично, для физического объекта контейнера для перевозки событием может являться присутствие контейнера для перевозки на крыльце дома. Аналогичным образом, для физического объекта системы полива, событием может быть конкретное состояние системы, например, активация системы полива. Наконец, для физического объекта продуктового фургона событиями могут являться местоположение продуктового фургона относительно текущего местоположения, адрес или будущее местоположение пользователя.
[0039] В некоторых реализациях список событий определяется и представляется пользователю на основе привязки физических признаков окружающей среды к событиям, соответствующим физическому объекту и признаку окружающей среды. Например, когда выбраны физический объект и признак окружающей среды местоположения, событиями может являться присутствие или отсутствие объекта в местоположении. Аналогично, когда выбраны физический объект и признак окружающей среды состояний (например, включен, выключен и т.д.) физического объекта, событиями могут являться конкретные состояния физического объекта.
[0040] Процесс 200 принимает данные, указывающие выбор в устройстве одного из вводов выбора событий, чтобы указать событие (206). Пользователь может выбрать одно из событий, и посредством этого процессор 124 инициаторов событий будет сконфигурирован для отслеживания возникновения события. Также могут быть выбраны дополнительные события и условия. Например, может быть выбран такой временной промежуток, что возникновение события может быть определено, только если событие возникает в течение временного промежутка; если событие будет возникать за пределами временного промежутка, процессор инициаторов событий определит, что событие не возникало. В продолжение одного из приведенных выше примеров, событие автомобиля, присутствующего на конкретном парковочном месте, может быть дополнительно обусловлено тем, что автомобиль присутствует на парковочном месте в любое время между 8:00 и 17:00. Таким образом, если автомобиль прибудет на парковочное место в 7:30 и останется там в течение одного часа, возникновение события будет определено в 8:00.
[0041] Процесс 200 привязывает к событию действие, которое будет произведено в ответ на возникновение события (208). Действие является действием, выполнение которого пользователь хотел бы осуществить, когда определено возникновение события. Действие, например, может являться представлением напоминания сделать что-либо, или представление команды подтверждения, чтобы сделать что-либо от имени пользователя, или действие, которое полностью или частично автоматически выполняется без напоминания или подтверждения выполнения действия.
[0042] В некоторых реализациях действие может быть выбрано из списка доступных действий. Например, в случае продуктового фургона может быть доступно множество действий, таких как автоматическое размещение заказа и его покупка, или уведомление о местоположении продуктового фургона, или комбинация обоих действий. В других реализациях пользователь может определить действие независимо от события. Например, в случае продуктового фургона пользователь может пожелать, чтобы ему было представлено уведомление, которое гласит: ʺСпросить Джулию, хочет ли она захватить ланч с собойʺ.
[0043] Процесс 200 обеспечивает данные, указывающие событие для физического объекта, и данные, указывающие действие, привязанное к событию (210). Когда пользователь определяет событие и действие, которое будет произведено, система, например, пользовательское устройство 106 или система 120 обработки инициаторов действий, сохраняет данные как инициатор действия, который является привязкой события и действия, и сохраняет инициатор действия в хранилище данных инициаторов действий. Затем система осуществляет доступ к хранилищу данных для отслеживания.
[0044] Фиг. 2B является блок-схемой иллюстративного процесса 250 для отслеживания привязки события для физического объекта и выполнения действия на основе возникновения события. Процесс 250 может быть выполнен пользовательским устройством или, в качестве альтернативы, может быть выполнен серверной системой в ответ на прием данных о выборе от пользовательского устройства.
[0045] Процесс 250 осуществляет доступ к инициатору действия в хранилище данных инициаторов действий и определяет событие, которое должно отслеживаться, и действие, которое должно быть выполнено (252). Каждый инициатор действия включает в себя данные, определяющие событие, которое должно отслеживаться, и действие, которое должно быть выполнено на основе отслеживания возникновения события.
[0046] Процесс 250 отслеживает возникновение события для физического объекта (254). Событие может отслеживаться процессором 124 инициаторов событий периодически, например, каждые N минут, или его возникновение может быть определено, когда процессор 124 инициаторов событий принимает от третьей стороны уведомление о том, что произошло событие. В последнем случае третья сторона лицо может использовать один или более интерфейсов API, чтобы передать или иным образом зарегистрировать событие в процессоре инициаторов событий. Например, в описанном выше случае продуктового фургона компания по эксплуатации продуктовых фургонов может использовать службу, предлагаемую системой 120 обработки инициаторов действий, и обеспечить данные системе 120 обработки инициаторов действий.
[0047] Процесс 250 в ответ на возникновение события предписывает выполнить действие, связанное с событием (256). Как описано выше, действием может являться представление напоминания сделать что-либо. Действием также может являться представление команды подтверждения, чтобы выполнить другое действие от имени пользователя. В качестве альтернативы действием может являться действие, которое выполняется автоматически без напоминания или подтверждения, чтобы выполнить действие. Действие может быть выполнено пользовательским устройством или в качестве альтернативы, отдельной системой.
[0048] В случае уведомления пользователь также может указать, что уведомления должны быть обеспечены только в течение подходящего времени, в течение которого пользователь может просматривать и отвечать на уведомления. Например, пользователь также может установить условие, что пользователя не следует уведомлять, если в соответствии с календарем пользователя он находится на совещании. Таким образом, представление уведомления может быть отложено, когда календарь пользователя указывает, что пользователь в настоящее время занят на деловой встрече, например, если пользователь находится на совещании, запланированном в рабочем календаре пользователя. Множество типов уведомлений может использоваться, в том числе принудительное уведомление мобильной операционной системы (OS), текстовое сообщение, электронная почта, предупредительный сигнал цифрового помощника или через Интернет, или другая форма уведомления. В случае предупредительного сигнала цифрового помощника цифровой помощник может определить надлежащее время, место и способ для уведомления пользователя или выполнения действия от имени пользователя. Например, если пользователь находится на деловой встрече, цифровой помощник может ожидать для уведомления пользователя, пока пользователь не вернется с совещания, или после окончания рабочего дня пользователя.
[0049] Кроме того, в некоторых реализациях представление заданного пользователем действия или выполнение заданного пользователем действия может быть обеспечено устройству, отличающемуся от пользовательского устройства 106. Например, представление может быть обеспечено устройству, которое находится близко к пользователю, или устройству, которое пользователь увидит, или на которое смотрит. Например, если пользовательское устройство 106 пользователя не использовалось пользователем в течение порогового периода времени, и пользователь использует другое устройство, система 120 обработки действий может решить представить заданное пользователем действие устройству, которое пользователь использует.
[0050] Множество пользовательских интерфейсов и моделей взаимодействия может использоваться, чтобы обеспечить возможность создания инициаторов действий и представления результатов выполняемых действий. Фиг. 3А-3C и 4А-4C являются примерами нескольких пользовательских интерфейсов.
[0051] Фиг. 3А-3C являются иллюстрациями пользовательских интерфейсов 302, 322 и 340 в пользовательском устройстве 300, в котором создается инициатор действия и отображаются результаты выполняемого действия. В этом примере создается инициатор действия для физического объекта продуктового фургона. Физическим признаком окружающей среды является местоположение продуктового фургона, и событием является присутствие продуктового фургона на пороговом расстоянии от местоположения. Действием, которое выполняется, является уведомление пользователя.
[0052] Фиг. 3А изображает пользовательский интерфейс 302, в котором представлено указание 304 сформировать инициатор действия. Пользовательскому устройству 300 может быть предписано представить указание различными путями. Например, если пользовательское устройство используется для осуществления покупки у продавца, указание может быть представлено автоматически. В качестве альтернативы пользователь может перейти на веб-сайт или инициировать собственное приложение, которое предписывает представить указание. Еще в одном примере пользовательское устройство может использовать NFC/Bluetooth или другую RF-технологию персонального пространства для взаимодействия с системой на продуктовом фургоне. В этом последнем примере пользователь может установить предпочтение, которое позволяет пользовательскому устройству 300 быть "обнаруженным" в целях установить инициаторы действия, и продуктовый фургон может включать в себя устройство, которое широковещательно передает сигнал данных, который идентифицирует продуктовый фургон, и которое факультативно инициирует сообщение любому соседнему пользовательскому устройству, которое предписывает пользовательскому устройству отобразить пользовательский интерфейс, чтобы обеспечить возможность создания инициатора. Еще в одном другом примере пользовательское устройство может отсканировать код, такой как QR-код или штрихкод, на продуктовом фургоне или коснуться знака на продуктовом фургоне, который гласит "Коснитесь вашим телефоном знака продуктового фургона, чтобы вас предупредили, когда он будет здесь в следующий разʺ, который предписывает пользовательскому устройству принимать сигнал данных через протокол RF-сигналов малой дальности.
[0053] Представлены два варианта: выбор правого варианта 306 перейдет к пользовательскому интерфейсу на фиг. 3B, и выбор второго варианта 308 завершит процесс. Теперь перейдем к фиг. 3B, на которой пользовательский интерфейс 322 включает в себя второе указание 324 и три варианта 326, 328 и 330, каждый из которых соответствует событию для физического признака окружающей среды. Первый вариант 326 определяет событие, которое возникает, когда продуктовый фургон снова находится около местоположения, которое продуктовый фургон занимает в настоящее время. Второй вариант 328 определяет событие, которое возникает, когда продуктовый фургон находится около местоположения, которое указывает пользователь. Третий вариант 330 определяет событие, которое возникает, когда продуктовый фургон находится около местоположения пользователя. Местоположение пользователя определяется посредством местоположения пользовательского устройства 300.
[0054] Предположим, что пользователь выбирает третий вариант 330. Это создаст инициатор действия, который указывает событие, которое возникает в следующий раз, когда продуктовый фургон находится около пользователя. Хотя не показано, можно позволить пользователю указать дополнительные условия, например, событие может возникать только в рабочие дни и между 11:30 и 13:00, и отслеживание может не инициироваться до следующего дня. Затем инициатор действия предоставляется системе 120 обработки инициаторов действий для отслеживания.
[0055] Чтобы определить, возникло ли событие, система 120 обработки инициаторов действий может принимать данные о местоположении продуктового фургона и пользовательского устройства либо по запросу, либо принудительно. Данные о местоположении указывают текущее местоположение физического объекта продуктового фургона и физический признак окружающей среды местоположения пользовательского устройства. Система 120 обработки инициаторов действий определяет, находится ли текущее местоположение продуктового фургона ближе, чем пороговая близость к местоположению пользовательского устройства. Пороговая близость может быть установлена пользователем или может быть автоматически установлена системой 120. Например, может использоваться радиус некоторого расстояния. Система 120 определяет, что событие возникло, когда близость меньше, чем пороговая близость.
[0056] Данные о местоположении могут быть определены другим методом посредством приема данных от визуальной системы слежения. Например, когда пользователь указывает конкретный продуктовый фургон, местоположение конкретного продуктового фургона может быть определено посредством наблюдения и отслеживания местоположения продуктового фургона, например, посредством спутниковой системы, которая имеет способность отслеживать такие физические объекты. Спутниковая система (или любой другая визуальная система слежения) может затем обеспечить данные о местоположении системе 120 обработки инициаторов действий для отслеживания и обработки.
[0057] Фиг. 3C изображает пользовательский интерфейс 340, в котором уведомление 342 представлено в ответ на определение, что возникло событие. Вместо или в дополнение к уведомлению 342 также могут быть выполнены другие действия, такие как предоплата позиций из меню, и т.д.
[0058] Фиг. 4А-4C являются иллюстрациями пользовательских интерфейсов 402, 420 и 440 в пользовательском устройстве 300, в котором создается другой инициатор действия и отображаются результаты выполняемого действия. В этом примере создается инициатор действия для физического объекта доставляемого изделия. Физическим признаком окружающей среды является местоположение крыльца дома, и событием является присутствие доставляемого изделия на крыльце дома. Действием, которое выполняется, является уведомление пользователя.
[0059] На фиг. 4А пользователь вызывал пользовательский интерфейс, который обеспечивает возможность формирования инициатора действия. Пользовательское устройство 300 может принимать данные, например, от пользовательской системы безопасности, и пользователь выбирает источник видеосигнала для входной двери пользователя, как показано на изображении 404. Указание 406 описывает, что пользователь выбрал конкретную видеокамеру, предоставляет варианты 408, 410, 412 и 414 для приема уведомления.
[0060] Система 120 обработки инициаторов действий (или в качестве альтернативы пользовательское устройство 400) может включать в себя систему машинного обучения, которая была обучена распознавать различные объекты, такие как перечисленные в вариантах 408, 410 и 412. Пользователь также может выбрать вариант 414, чтобы описать другой объект. Разнообразные модели распознавания образов с машинным обучением могут быть использованы для обнаружения конкретных объектов.
[0061] Наконец, может быть выбран вариант 416, если пользователь желает указать другое действие, которое должно быть выполнено. Такие другие действия могут включать в себя электронную почту с изображением объекта на крыльце дома, когда объект обнаружен, или автоматический звонок дверного звонка, или любое другое действие, которое может иметь отношение к событию.
[0062] Предположим, что в этом примере пользователь может пожелать вымыть свой автомобиль, но обнаружил, что у него кончилось концентрированное мыло для автомобилей. Пользователь заказал бутылку концентрированного мыла из интернет-магазина и ожидает доставки, и желает, чтобы ему напомнили вымыть автомобиль, когда пакет будет доставлен. В соответствии с этим пользователь выбирает вариант 408.
[0063] В ответ на выбор варианта 408 отображается пользовательский интерфейс 420 на фиг. 4B. Пользовательский интерфейс 420 включает в себя подтверждающее сообщение и указание 422. Отображение 424 ввода показывает сообщение команды напоминания, которое пользователь формирует с использованием ввода 426 через микрофон. Когда пользовательский ввод завершен, формируется соответствующий инициатор действия.
[0064] Инициатор действия затем отправляют в систему 120 обработки инициаторов действий (или в качестве альтернативы только сохраняют в пользовательском устройстве 300, если пользовательское устройство выполняет функцию отслеживания).
[0065] Затем система отслеживает возникновение события. В этом примере система может многократно принимать изображения, такие как видеокадры физического признака окружающей среды местоположения крыльца дома. Для каждой итерации выполняется обработка изображения, чтобы определить, отображен ли на изображении физический объект доставленной коробки. Когда определено, что доставленная коробка присутствует на изображении, система определяет, что возникло событие, и выполняет привязанное действие представления напоминания.
[0066] Фиг. 4C изображает пользовательский интерфейс 440, в котором представлено уведомление 446 в ответ на определение, что возникло событие. Пользовательский интерфейс включает в себя изображение 442, и на изображении изображен контейнер 444 на крыльце дома. Уведомление 446 описывает событие и включает в себя напоминание, указанное пользователем.
[0067] Как описано выше, в некоторых реализациях отслеживаемые события, а также и действия, могут подвергаться автоматическому изменению системой 120. Изменения могут быть результатом условий, которые затрагивают значение, связанное с событием или действием. Например, в примере продуктового фургона система может проанализировать информацию обратной связи от обеспеченных уведомлений, когда пороговое расстояние составляет 1000 метров. Система 120 может определить, что пользователи, которые находятся на расстоянии более 500 метров от продуктового фургона, когда им предоставляются уведомления, посещают продуктовый фургон гораздо реже, чем пользователи, которые находятся на расстоянии менее 500 метров от продуктового фургона, когда им предоставляются уведомления. Таким образом, система может изменить возникновение событий с 1000 метров до 500 метров. Аналогично, действия также могут подвергаться автоматическому изменению посредством системы 120.
[0068] Кроме того, пользователь не обязательно должен использовать конкретное пользовательское устройство, чтобы установить инициатор. Вместо этого для установления инициатора может использоваться любое устройство, с которого пользовательский ввод может быть привязан к пользователю. Например, пользователь может просто говорить в камеру видеонаблюдения, когда уходит на день. Поскольку камера видеонаблюдения связана с системой, привязанной к учетной записи пользователя, полученная в результате голосовая команда может использоваться для установления инициатора действия для пользователя. В примере с моющим средством для автомобиля пользователь, уходя на работу, может просто произнести в камеру ʺСообщи мне, когда будет доставлена коробкаʺ. Система 120 с использованием существующих семантических алгоритмов и алгоритмов голосовых команд может проанализировать голосовую команду пользователя и установить инициатор действия для пользователя.
[0069] В некоторых реализациях пользователь может указать действие, для которого объект действия является другим пользователем. Например, в примере с моющим средством для автомобиля пользователь, уходя на работу, может произнести в камеру ʺСообщи Джеку Чайлду, чтобы он взял моющее средство для автомобиля у двери и потом вымыл мой автомобиль, когда будет доставлена коробкаʺ. Система 120 может осуществить доступ к контактной информации пользователя и определить, что Джек Чайлд является сыном пользователя, и будет сформирует требуемое уведомление на устройстве, привязанном к Джеку Чайлду, когда коробка будет доставлена, например, ʺПожалуйста, возьмите моющее средство для автомобиля у двери и вымойте автомобиль своего отцаʺ.
[0070] Кроме того, действие не обязательно должно быть указано, когда определено, что действие следует из события. Может быть определено, что действие следует из события, например, на основе истории пользователя, или на основе моделей отношения объектов, которые привязывают действия к событиям. Например, пользователь может выпустить домашнее животное в огражденный двор и произнести голосовую команду ʺОжидай собаку у двериʺ. На основе пользовательской истории предыдущих инициаторов действий (например, ʺВпусти собаку, когда увидишь ее у двериʺ, "Сообщи меня, когда собака у двериʺ и т.д.) система может вывести действие, чтобы уведомить пользователя, когда она позже обнаруживает собаку у двери, или в качестве альтернативы может автоматически открыть дверь, чтобы впустить собаку, и затем закрыть дверь, если дверь оборудована таким удаленным приведением в действие.
[0071] В некоторых реализациях события могут снова отслеживаться после выполнения действия или с задержкой после того, как действие выполнено. Это позволяет "сбросить" инициатор действия без вмешательства пользователя и полезно в контексте повторяющихся действий на основе повторяющихся событий. Например, холодильник с камерой может отслеживать некоторые продуктовые изделия, такие как пакет молока. Когда пакет молока наполнен только на одну треть, система может выполнить действие заказа дополнительного пакета молока. Система также может изучить время отклика и автоматически скорректировать инициатор событий. Например, если время доставки молока таково, что молоко у пользователя кончается, прежде чем прибудет пакет, что обнаруживается отсутствием пакета молока в холодильнике, система может отслеживать, когда пакет молока полупустой, а не пустой на две трети, и размещать заказ, когда пакет полупустой.
[0072] Система также может скорректировать инициатор на основе других данных, которые указывают, что инициатор должен быть скорректирован. Такие данные включают в себя данные, которые могут указывать, что конкретная потребность пользователя, удовлетворенная действием, может стать неудовлетворенной после того, как действие выполнено. Например, действие, которое реализует потребительскую потребность, может быть скорректировано на основе данных, указывающих норму потребления. Для иллюстрации предположим, что система посредством осуществления доступа к календарю пользователя идентифицирует, что у пользователя в течение недели будут гости. Система может определить на основе количества гостей, что нужно заменить событие "пакет молока полон на 1/3" на "пакет молока полон наполовину" для размещения заказа, пока присутствуют гости. Аналогично, если система распознала дополнительных людей в доме пользователя в течение длительного периода, то система может соответствующим образом скорректировать инициаторы действий.
[0073] В ситуациях, в которых описанные здесь системы собирают персональную информацию о пользователях или могут использовать персональную информацию, пользователям может быть предоставлена возможность управлять тем, собирают ли программы или функции информацию о пользователе (например, информацию о социальной сети пользователя, об общественных мероприятиях, о профессии, о предпочтениях пользователя, о текущем местоположении пользователя, о траектории местоположений, о предположительных местоположениях, таких как дом/работа, о предположительном контексте, о календарных данных, о предстоящих событиях/заказах по электронной почте и т.д.), или управлять тем, следует ли и/или каким образом принимать информационное содержание от сервера информационного содержания, который может являться более релевантным для пользователя. Кроме того, некоторые данные могут быть рассмотрены одним или более способами, прежде чем они будут сохранены или использованы, чтобы идентифицирующая личность информация была удалена. Например, идентификационную информацию пользователя можно рассматривать так, чтобы никакая идентифицирующая личность информация не могла быть определена для пользователя, или географическое местоположение пользователя может быть обобщено, когда получена информация о местоположении (например, до уровня города, почтового индекса или штата), чтобы конкретное местоположение пользователя не могло быть определено. Таким образом, пользователь может управлять, каким образом сервер информационного содержания собирает и использует информацию о пользователе.
[0074] Фиг. 5 является блок-схемой иллюстративного мобильного вычислительного устройства. На этой иллюстрации мобильное вычислительное устройство 510 изображено как переносной мобильный телефон (например, смартфон или телефон для приложений), который включает в себя устройство 512 отображения с сенсорным экраном для представления содержания пользователю мобильного вычислительного устройства 510 и приема сенсорного пользовательского ввода. Также могут быть обеспечены другие визуальные, тактильные и слуховые компоненты вывода (например, светодиоды, механизм вибрации для тактильного вывода или динамик для обеспечения тонального вывода, синтезированного голоса или вывода записей), а также всевозможные другие компоненты ввода.
[0075] Мобильное вычислительное устройство 510 может включать в себя механические или сенсорные кнопки 518a-d. Кроме того, мобильное вычислительное устройство может включать в себя кнопки для регулирования громкости звука, выводимого одним или более динамиками 520, и кнопку для включения и выключения мобильного вычислительного устройства. Микрофон 522 позволяет мобильному вычислительному устройству 510 преобразовывать слышимые звуки в электрический сигнал, которое может быть закодирован в цифровой форме и сохранен в машиночитаемой памяти или передан другому вычислительному устройству. Мобильное вычислительное устройство 510 также может включать в себя цифровой компас, акселерометр, датчики близости и датчики внешней освещенности.
[0076] Мобильное вычислительное устройство 510 может представлять графический пользовательский интерфейс с помощью сенсорного экрана 512. Графический пользовательский интерфейс является коллекцией из одного или более элементов графического интерфейса и может быть статичным (например, отображение остается одинаковым в течение времени) или может быть динамичным (например, графический пользовательский интерфейс включает в себя элементы графического интерфейса, которые анимированы без пользовательского ввода).
[0077] Мобильное вычислительное устройство 510 может включать в себя другие приложения, вычислительные подсистемы и аппаратные средства. Служба 572 распознавания речи может принимать данные голосового сообщения, принятые посредством микрофона мобильного вычислительного устройства 522, и переводить голосовое сообщение в соответствующие текстовые данные или выполнять распознавание речи.
[0078] Мобильное вычислительное устройство 510 может осуществлять беспроводную связь с одной или более сетями для предоставления множества служб, таких как службы передачи речи и данных.
[0079] Варианты осуществления предмета и операции, описанные в этом описании, могут быть реализованы в цифровой электронной схеме или в программном обеспечении, программно-аппаратном обеспечении или аппаратных средствах, включающих в себя структуры, раскрытые в этом описании, и их структурные эквиваленты, или в комбинациях одного или более из них. Варианты осуществления предмета, описанные в этом описании, могут быть реализованы как одна или более компьютерных программ, т.е., один или более модулей компьютерных программных команд, закодированных на компьютерном запоминающем носителе для исполнения посредством устройства обработки данных или для управления его работой.
[0080] Компьютерный запоминающий носитель может представлять собой или быть включен в машиночитаемое запоминающее устройство, машиночитаемое хранилище-подложку, оперативное запоминающее устройство или массив памяти с последовательным доступом, или устройство, или комбинацию одного или более из них. Кроме того, хотя компьютерный запоминающий носитель не является распространяющимся сигналом, компьютерный запоминающий носитель может являться источником или получателем компьютерных программных команд, закодированных в искусственно сформированном распространяющемся сигнале. Компьютерный запоминающий носитель также может представлять собой или быть включен в один или более отдельных физических компонентов или носителей (например, несколько компакт-дисков, дисков или других запоминающих устройств).
[0081] Операции, описанные в этом описании, могут быть реализованы как операции, выполняемые устройством обработки данных, над данными, сохраненными в одном или более машиночитаемых запоминающих устройствах, или принятыми из других источников. Термин ʺустройство обработки данныхʺ охватывает все виды устройств и машин для обработки данных, в том числе в качестве примера программируемый процессор, компьютер, систему на микросхеме или несколько из перечисленных или их комбинации. Устройство может включать в себя специализированную логическую схему, например, программируемую пользователем вентильную матрицу (FPGA) или специализированную интегральную схему (ASIC). В дополнение к аппаратным средствам устройство также может включать в себя код, который создает среду исполнения для рассматриваемой компьютерной программы, например, код, который составляет программно-аппаратное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему, кроссплатформенную среду выполнения, виртуальную машину или комбинацию одного или более из них. Устройство и среда исполнения могут реализовать всевозможные инфраструктуры вычислительных моделей, такие как веб-сервисы, распределенные вычисления и инфраструктуры распределенных вычислений.
[0082] Процессоры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, специализированные микропроцессоры и микропроцессоры общего назначения, и любой один или более компьютерных процессоров любого вида. Обычно процессор принимает инструкции и данные из постоянной памяти или оперативной памяти, или обеих. Существенными элементами компьютера являются процессор для выполнения действий в соответствии с инструкциями и одно или более запоминающих устройств для хранения инструкций и данных. Обычно компьютер также включает в себя или функционально соединен с одним или более запоминающими устройствами большой емкости для хранения данных, например, магнитными, магнитооптическими дисками или оптическими дисками, чтобы принимать от них данные и/или передавать на них данные. Однако компьютер не обязательно должен иметь такие устройства.
[0083] Варианты осуществления предмета, описанные в этом описании, могут быть реализованы в вычислительной системе, которая включает в себя компонент внутренней стороны, например, сервер данных, или включает в себя компонент промежуточного программного обеспечения, например, сервер приложений, или включает в себя компонент внешней стороны, например, пользовательский компьютер, имеющий графический пользовательский интерфейс или веб-браузер, через который пользователь может взаимодействовать с реализацией предмета, описанного в этом описании, или любую комбинацию одного или более таких компонентов внутренней стороны, промежуточного программного обеспечения или внешней стороны. Компоненты системы могут быть взаимосвязаны посредством любой формой или носителя связи для передачи цифровых данных, например, сети связи. Примеры сетей связи включают в себя локальную сеть (LAN) и глобальную сеть (WAN), объединенную сеть (например, Интернет) и одноранговые сети (например, самоорганизующиеся одноранговые сети).
[0084] Хотя это описание содержит много подробностей конкретной реализации, они должны быть истолкованы не как ограничения объема каких-либо изобретений или заявленного предмета, а как описания признаков, заданных для конкретных вариантов конкретных изобретений. Некоторые признаки, которые описаны в этом описании в контексте отдельных вариантов осуществления, также могут быть реализованы в комбинации в единственном варианте осуществления. С другой стороны, различные признаки, которые описаны в контексте единственного варианта осуществления, также могут быть реализованы в нескольких вариантах осуществления отдельно или в любой подходящей подкомбинации. Кроме того, хотя признаки могут описываться выше как действующие в некоторых комбинациях и даже первоначально заявлены таковым образом, один или более признаков из заявленной комбинации в некоторых случаях могут быть удалены из комбинации, и заявленная комбинация может быть направлена в подкомбинации или изменение подкомбинации.
[0085] Аналогичным образом, хотя операции изображены на чертежах в конкретном порядке, это не должно расцениваться как требование, что такие операции должны быть выполнены в конкретном показанном порядке или в последовательном порядке, или что все проиллюстрированные операции должны быть выполнены для достижения желаемых результатов. При определенных обстоятельствах может быть выгодной многозадачная и параллельная обработка. Кроме того, разделение различных системных компонентов в описанных выше вариантах осуществления не должно расцениваться как требование такого разделения во всех вариантах осуществления, и следует понимать, что описанные компоненты программы и системы в целом могут быть объединены вместе в единый программный продукт или быть упакованы в несколько программных продуктов.
[0086] Таким образом, были описаны конкретные варианты предмета. Другие варианты осуществления находятся в рамках объема последующей формулы изобретения. В некоторых случаях действия, изложенные в формуле изобретения, могут быть выполнены в другом порядке и по-прежнему достигнуть желаемых результатов. Кроме того, процессы, изображенные на прилагаемых чертежах, не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. В некоторых реализациях может быть выгодной многозадачная и параллельная обработка.