НЕПРЕРЫВНОСТЬ ЗАДАЧ МЕЖДУ УСТРОЙСТВАМИ
CONTINUITY OF TASKS BETWEEN DEVICES

УРОВЕНЬ ТЕХНИКИ
[0001] Устройства, такие как смартфоны, персональные компьютеры, планшеты, ʺдва-в-одномʺ-устройства и т.д., повсеместно распространены в обществе. Люди используют эти устройства для множества различных функций, причем каждая функция потенциально исполняется на отличающемся приложении или веб-сайте, доступном посредством устройства. Часто, люди владеют более чем одним устройством, каждое из которых изобилует множеством приложений и обеспечивает доступ к веб-сайтам.
[0002] В устройствах, однако, как правило, отсутствует возможность непрерывного совместно использовать информацию о выполняемых задачах друг между другом. Любое совместное использование между устройствами требует сохранения в явном виде и переноса между устройствами. Таким образом, когда пользователь берет второе устройство, чтобы продолжить задачу, как правило, приходится тратить дополнительное время, пытаясь найти нужное приложение, и еще больше времени для определения, где пользователь вышел из задачи, если это вообще возможно.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] Настоящее раскрытие описывает системы и способы для непрерывности задач с акцентом на позволение пользователю легко определить, где он последний раз просматривал и/или модифицировал конкретную задачу, включая, на другом устройстве. Непрерывность задач обеспечивает беспрепятственный вход и повторный вход во взаимодействие с задачами, чтобы доставлять использование дорогостоящего приложения и веб-сайта и возобновление задач, тем самым приводя к большей удовлетворенности пользователей. Непрерывность задач обеспечивается на одном устройстве и/или по множеству устройств. Подобным же образом, непрерывность задач обеспечивается на одной операционной системе и/или по множеству операционных систем.
[0004] В некоторых примерах, пользователь, выполняющий задачу в приложении на первом устройстве, может приостановить задачу в приложении. В это время или в некоторое время в будущем, пользователь может активировать второе устройство. В ответ на активацию, второе устройство может обеспечить пользователю опцию продолжить задачу с той точки, в которой оно было приостановлено на первом устройстве. В различных примерах, пользователь может выполнять задачу в приложении на первом устройстве и может взять второе устройство и выполнять задачу на втором устройстве одновременно с задачей на первом устройстве. В некоторых примерах, пользователь может выполнять задачу в приложении на первом устройстве и может взять второе устройство и выполнять вторую задачу на втором устройстве, которая ассоциирована с задачей на первом устройстве.
[0005] Это  «Раскрытие изобретения» предусмотрено для того, чтобы ввести в упрощенной форме выбор концепций, которые дополнительно описаны ниже в «Осуществлении изобретения». Это «Раскрытие изобретения» не предназначено для определения ключевых или существенных признаков заявленного объекта изобретения и не предназначено для использования в качестве поддержки при определении объема заявленного объекта изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Подробное описание изложено со ссылкой на прилагаемые чертежи. На фигурах, крайняя левая цифра(ы) ссылочной позиции идентифицирует(ют) фигуру, на которой впервые появляется данная ссылочная позиция. Использование одних и тех же ссылочных позиций на разных фигурах указывает подобные или идентичные элементы.
[0007] Фиг. 1 иллюстрирует примерную среду системы непрерывности задач между устройствами и/или между операционными системами.
[0008] Фиг. 2 более подробно иллюстрирует примерное устройство, включающее в себя систему непрерывности задач между устройствами и/или между операционными системами, соответствующую Фиг. 1.
[0009] Фиг. 3 иллюстрирует примерный модуль отображения на устройстве, включающем в себя систему непрерывности задач между устройствами и/или между операционными системами, соответствующую предыдущим фигурам.
[0010] Фиг. 4 иллюстрирует примерную сетевую среду системы непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам.
[0011] Фиг. 5 иллюстрирует примерный процесс системы непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам.
[0012] Фиг. 6 иллюстрирует другой примерный процесс системы непрерывности задач между устройствами и/или между операционными системами, соответствующей Фиг. 1-4.
[0013] Фиг. 7 иллюстрирует блок-схему процесса в системе непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам.
[0014] Фиг. 8 иллюстрирует блок-схему процесса для модификации задачи между приложениями с помощью системы непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Обзор
[0015] Непрерывность задач между устройствами и/или между операционными системами (ʺнепрерывность задачʺ) может обеспечить простоту обнаружения и беспрепятственного входа и повторного входа во взаимодействие с задачами, так что пользователи могут непрерывно выполнять задачи на устройствах и/или операционных системах, независимо от типа устройства или операционной системы.
[0016] Настоящее раскрытие описывает способы и системы, которые разрешают простое обнаружение и возможность продолжать задачи непрерывно на разных устройствах и/или операционных системах. Задача может включать в себя конкретное действие, которое выполняет пользователь в приложении и/или на веб-сайте, такое как прослушивание песни или списка воспроизведения, чтение статьи новостей, написание документа, или множество других действий. Непрерывность задач, как описано в настоящем документе, может быть интерактивной. Непрерывность задач, как описано в настоящем документе, может позволить пользователю легко обнаруживать одну или более ранее просмотренных и/или модифицированных задач в по меньшей мере одном из множества приложений и/или веб-сайтов. Обнаружение одной или более ранее просмотренных и/или модифицированных задач может происходить на одном устройстве или на множестве активных устройствах, сконфигурированных для пользователя. Как используется в данном документе, активное устройство представляет собой устройство, которое может быть обнаружено по сети.
ТМ
[0017] Возможность обнаружения устройств может быть основана на включении устройства, выходе из спящего режима, выходе из режима «в самолете» и/или любом другом действии, которое приводит к тому, что устройство становится доступным по сети. Доступность по сети может быть определена датчиками Wi-Fi, датчиками Bluetooth, датчиками близости, проводными соединениями и/или любыми другими датчиками, способными обнаруживать сетевые интерфейсы.
[0018] Непрерывность задач может обеспечить пользователю способ выбрать конкретную задачу из одной или более ранее просмотренных и/или модифицированных задач. В ответ на выбор, можно повторно войти во взаимодействие с конкретной задачей в точке, в которой задача последний раз просматривалась и/или модифицировалась. В некоторых примерах, непрерывность задач может обеспечить пользователю способ возобновить конкретную задачу в другом приложении. В различных примерах, непрерывность задач может обеспечить пользователю способ возобновить конкретную задачу в веб-браузере. В некоторых примерах, непрерывность задач может обеспечить пользователю способ выбора, чтобы войти во взаимодействие с новой задачей на основе специфической информации приложения и/или веб-сайта, обеспечиваемой пользователю на основе по меньшей мере ранее просмотренных задач.
[0019] Непрерывность задач обеспечивает пользователю богатый повторный вход во взаимодействие с задачей. По меньшей мере в одном примере, богатый повторный вход во взаимодействие может обеспечивать пользователя контекстными данными задачи, связанными с самыми последними пользовательскими вводами и/или действиями в одной или более задачах. В некоторых примерах, приложение и/или веб-сайт могут обеспечивать пользователю другие опции, связанные со специфическими данными приложения или веб-сайта, ассоциированными с одной или более задачами. Например, приложение на смарт-телевизоре может отображать записанную программу или  программу в реальном времени, и приложение на смартфоне или другом вторичном устройстве может обеспечивать информацию о записанной программе или программе в реальном времени. В некоторых примерах, приложение на смартфоне или другом вторичном устройстве, может обеспечивать специфические опции приложения записанной программы или программы в реальном времени программирования, такие как голосование в реальном времени за лучшего певца на шоу талантов и т.д.
[0020] В непрерывности задач, по меньшей мере одно устройство сконфигурировано согласно пользовательскому профилю. По меньшей мере в одном примере, устройство, сконфигурированное согласно пользовательскому профилю, соединено с распределенной сервисной платформой, такой как облако, в которой контекстные данные для задач в приложениях и/или на веб-сайтах сохраняются в опорном пользовательском профиле на распределенной сервисной платформе. Опорный пользовательский профиль может служить в качестве центральной опорной точки данных пользовательского профиля для по меньшей мере одного из множества устройств в непрерывности задач.
[0021] Контекстные данные задачи могут включать в себя время, когда задача последний раз просматривалась и/или модифицировалась, сколько раз задача была просмотрена и/или модифицирована, текст, информацию отображения устройства, изображения и любые другие данные в приложениях и/или на веб-сайтах. В некоторых примерах, модуль активности между устройствами в опорном пользовательском профиле на распределенной сервисной платформе может периодически извлекать контекстные данные задачи из одного или более активных устройств и/или модуля активности между устройствами в опорном пользовательском профиле на распределенной сервисной платформе. В различных примерах, модуль активности между устройствами в опорном пользовательском профиле на распределенной сервисной платформе может периодически принимать контекстные данные задачи, переданные от одного или более активных устройств. Модуль активности между устройствами может извлекать, и/или одно или более активных устройств могут передавать самые последние контекстные данные задачи через каждые 5 секунд, 10 секунд или любой другой период времени. Модуль активности между устройствами может сохранять контекстные данные задачи в соответствующем приложении и/или на веб-сайте в пользовательском профиле.
[0022] В различных примерах, активное устройство может вызывать отправку контекстных данных задачи в опорный пользовательский профиль в распределенной сервисной платформе путем передачи обновления от активного устройства через сетевое соединение. Контекстные данные задачи могут быть сохранены на распределенной сервисной платформе для легкого доступа в любое время на любом устройстве, сконфигурированном согласно пользовательскому профилю и способном осуществлять доступ к распределенной сервисной платформе.
[0023] Непрерывность задач также может использовать сеть близости для обновления данных между устройствами. Сеть близости может представлять собой одноранговую сеть, беспроводную USB, Bluetooth, IrDA, Z-Wave, нательную компьютерную сеть или любой другой проводной или беспроводной путь, основанный на близости по меньшей мере двух устройств. Близость может быть определена посредством проводных соединений и/или датчиков близости. В сети близости, по меньшей мере два устройства могут совместно использовать контекстные данные задачи между устройствами, так что задача, представляемая и/или модифицируемая на первом устройстве, может быть идентифицирована вторым устройством, находящимся поблизости, и второе устройство может отображать контекстные данные задачи из задачи на первом устройстве. Таким образом, представление и/или модификация задачи на первом устройстве может останавливаться, и задача может непрерывно возобновляться на втором устройстве в том месте, где она была оставлена на первом устройстве. В некоторых примерах, в ответ на то, что первое устройство и второе устройство находятся поблизости друг от друга, контекстные данные задачи могут быть доступны на первом устройстве и втором устройстве одновременно.
[0024] В некоторых примерах, сеть близость может позволять явную отправку контекстных данных задачи одной или более ранее просмотренных и/или модифицированных задач между устройствами. В некоторых примерах, передача контекстных данных задачи может быть неявной, так что в ответ на то, что первое устройство и второе устройство находятся поблизости друг от друга, второе устройство извлекает контекстные данные задачи одной или более ранее представленных и/или модифицированных задач из первого устройства.
[0025] В некоторых примерах, непрерывность задач может также обновлять данные между устройствами с использованием распределенной сервисной платформы, сети близости и/или комбинации распределенной сервисной платформы и сети близости, чтобы обеспечить богатый повторный вход во взаимодействие с задачей.
TM
[0026] Непрерывность задач также может быть разрешена на устройствах с разными операционными системами. Например, первое устройство может быть выполненным с возможностью работы на операционной системе WINDOWS, и оно может передавать и принимать данные пользовательского профиля со вторым устройством, выполненным с возможностью работы на операционной системе LINUX, ANDROID, операционной системе iOS или другой операционной системе.
ИЛЛЮСТРАТИВНАЯ СРЕДА
[0027] Среда, описанная ниже, представляет собой всего лишь один пример и не предназначена для ограничения формулы изобретения какой-либо одной конкретной операционной средой. Другие среды могут быть использованы без отступления от сущности и объема заявленного объекта изобретения.
[0028] Непрерывность задач между устройствами и/или между операционными системами позволяет продолжать задачу без прерывания на устройствах или на множестве устройств одновременно. Задача может включать в себя конкретное действие, которое пользователь выполняет в приложении и/или веб-сайте на устройстве, такое как прослушивание песни или списка воспроизведения, чтение статьи новостей, написание документа или множество других действий. Например, пользователь может прослушивать список воспроизведения на настольном компьютере, и ему может потребоваться покинуть местоположение настольного компьютера. Пользователь может взять смартфон и продолжать слушать тот же список воспроизведения на смартфоне, начиная воспроизведение на смартфоне там, где оно было оставлено на настольном компьютере. В другом примере, пользователь может прослушивать тот же список воспроизведения на настольном компьютере и смартфоне одновременно, причем оба устройства воспроизводят список воспроизведения в одно и то же время. В другом примере, пользователь может взять смартфон и принимать информацию в дополнение к списку воспроизведения, продолжая прослушивать список воспроизведения на настольном компьютере.
[0029] На Фиг.1 показана примерная среда 100 системы непрерывности задач между устройствами и/или между операционными системами. Устройство(а) 102 и/или компоненты среды 100 могут включать в себя разнообразное разнообразие типов устройств, выполненных с возможностью осуществлять связь через одну или более сетей 104, и не ограничиваются каким-либо конкретным типом устройств. В некоторых примерах, устройство(а) 102, такое(ие), как 102(1), может(могут) включать в себя стационарные устройства, включая, без ограничения указанным, серверы, настольные компьютеры, персональные компьютеры, телевизоры с сетевой поддержкой, терминалы, игровые приставки, телевизионные приставки, игровые устройства, рабочие станции и тонкие клиенты, такие как те, которые способны работать с распределенным вычислительным ресурсом. В некоторых примерах, устройство(а) 102, такое(ие) как 102(2), может(могут) включать в себя мобильные устройства, включая, без ограничения указанным, мобильные телефоны, планшетные компьютеры, гибриды мобильных телефонов и планшетов, персональные цифровые помощники (PDA), портативные компьютеры, мультимедийные плееры, персональные видеомагнитофоны (PVR), камеры и любые другие мобильные компьютеры и любые другие мобильные телекоммуникационные устройства. В некоторых примерах, устройство(а) 102, такое(ие), как 102(3), может(могут) включать в себя встроенные устройства, включая, без ограничения указанным, носимые компьютеры, имплантированные вычислительные устройства, автомобильные компьютеры, компьютерные навигационные устройства, такие как спутниковые навигационные системы, включая устройства глобальной системы позиционирования (GPS) и другие устройства спутниковых навигационных систем, бытовые приборы и интегрированные компоненты для включения в вычислительное устройство. В различных примерах, устройство(а) 102, такое(ие) как устройство 102(N), может(могут) включать в себя любой другой вид вычислительного устройства, выполненный с возможностью осуществлять связь через одну или более сетей 104.
[0030] Например, сеть(и) 104 может(могут) включать в себя общедоступные сети, такие как Интернет, частные сети, такие как институциональная и/или персональная интрасеть или некоторая комбинация частных и общедоступных сетей. Сеть(и) 104 может(могут) также включать в себя любой тип проводной и/или беспроводной сети, включая, без ограничения указанным, локальные сети (LAN), глобальные сети (WAN), персональные сети (PAN), нательные компьютерные сети (BAN), ближняя бесконтактная связь (NFC), спутниковые сети, кабельные сети, сети Wi-Fi, сети WiMax, сети мобильной связи (например, 3G, 4G и т.д.) или любую их комбинацию. Сеть(и) 104 может(могут) использовать протоколы связи, включая протоколы на основе пакетов и/или на основе дейтаграмм, такие как межсетевой протокол (IP), протокол управления передачей (TCP), протокол пользовательских дейтаграмм (UDP) или другие типы протоколов. Кроме того, сеть(и) 104 может(могут) также включать в себя количество устройств, которые облегчают сетевую связь и/или формируют аппаратную основу для сетей, такие как коммутаторы, маршрутизаторы, шлюзы, точки доступа, межсетевые экраны, базовые станции, ретрансляторы, магистральные устройства и т.п.
[0031] В некоторых примерах, сеть(и) 104 может(могут) дополнительно включать в себя устройства, которые разрешают подключение к беспроводной сети, такие как беспроводная точка доступа (WAP). Примеры, которые поддерживают связность через WAP, отправляют и принимают данные на различных электромагнитных частотах (например, радиочастотах), включая WAP, которые поддерживают стандарты Института инженеров по электротехнике и электронике (IEEE) 802.11 (например, 802.11g, 802.11n и т.д.) и другие стандарты.
[0032] Устройство(а) 102 может(могут) включать в себя любое вычислительное устройство, имеющее один или более блоков 106 обработки,  связанных, с возможностью работать, со считываемым компьютером носителем 108, как например, через шину 110, которая в некоторых случаях может включать в себя одно или более из системной шины, шины данных, адресной шины, шины PCI, шины Mini-PCI и любого разнообразия локальных, периферийных и/или независимых шин. Исполняемые инструкции, хранящиеся на считываемом компьютером носителе 108, могут включать в себя, например, операционную систему 112, инфраструктуру 114 непрерывности и другие модули и программы, которые являются загружаемыми и исполняемыми блоком(ами) 106 обработки.
ТМ
TM
TM
TM
TM
[0033] Операционная система 112 на устройстве(ах) 102 может быть любой операционной системой, включая, без ограничения указанным, MICROSOFT WINDOWS, WINDOWS PHONE, QNX, IBM z/OS, LINUX, ANDROID, iOS, OS X, NETBSD или любую другую операционную систему, способную управлять компьютерными аппаратными и программными ресурсами. В некоторых примерах, устройства 102(1) и 102(2) могут включать в себя операционную систему 112, такую как Microsoft Windows. В различных примерах, устройство 102(1) может включать в себя операционную систему 112(1), такую как MICROSOFT WINDOWS, в то время как устройство 102(2) может включать в себя операционную систему 112(2), такую как ANDROID.
[0034] В качестве альтернативы или в дополнение, функциональность, описанная в данном документе, может быть выполнена, по меньшей мере частично, с помощью одного или более логических компонентов аппаратных средств, таких как ускорители. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя программируемые вентильные матрицы (FPGA), специализированные интегральные схемы (ASIC), специализированные стандартные продукты (ASSP), однокристальные системы (SOC), сложные программируемые логические устройства (CPLD) и т.д. Например, ускоритель может представлять собой гибридное устройство, такое как одно из ZYLEX или ALTERA, которое включает в себя CPU-процесс, встроенный в FPGA-структуру.
[0035] Устройство(а) 102 может также включать в себя один или более сетевых интерфейсов 116, для разрешения связи между устройством 102(1) и другими сетевыми устройствами, участвующими в непрерывности задач, такими как устройства 102(2)-102(N). Такой сетевой(ые) интерфейс(ы) 116 может(могут) включать в себя один или более контроллеров сетевых интерфейсов (NIC) или другие типы приемопередающих устройств для передачи и приема сообщений по сети. Например, сетевой(ые) интерфейс(ы) 116 может(могут) включать в себя интерфейс(ы) 118 близости для дальнейшего разрешения связи между устройством(ами) 102(1) и другими сетевыми устройствами, участвующими в непрерывности задач, такими как устройства 102(2)-102(N). Такой(ие) интерфейс(ы) 118 близости может(могут) включать в себя один или более контроллеров сетевых интерфейсов близости или других типов приемопередающих устройств для передачи и приема сообщений по сети близости.
[0036] Фиг.2 иллюстрирует примерное устройство 200, включающее в себя систему непрерывности задач между устройствами и/или между операционными системами, такое как устройство 102 согласно Фиг. 1. В устройстве 200, блок(и) 202 обработки может(могут) представлять собой, например, блок обработки CPU-типа, блок обработки GPU-типа, программируемую вентильную матрицу (FPGA), другой класс цифрового сигнального процессора (DSP) или другие аппаратные логические компоненты, которые могут, в некоторых случаях, управляться посредством CPU. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя специализированные интегральные схемы (ASIC), специализированные стандартные продукты (ASSP), однокристальные системы (SOC), сложные программируемые логические устройства (CPLD) и т.д.
[0037] В некоторых примерах, устройство 200 может быть одним из множества устройств, таких как устройства 102(1), 102(2) и 102(N), которые являются частью распределенной сервисной платформы (например, облака). В некоторых примерах, устройство 200 может быть одним из множества устройств, которые способны соединяться через сеть близости. По меньшей мере в одном примере, устройство 200 может быть одним из множества устройств, которые являются частью распределенной сервисной платформы и способны устанавливать соединение через сеть близости.
[0038] В некоторых примерах, считываемый компьютером носитель 204, который может представлять собой считываемый компьютером носитель 108, может хранить инструкции, исполняемые блоком(ами) 202 обработки. Считываемый компьютером носитель 204 может также хранить инструкции, исполняемые внешними блоками обработки, такими как внешний CPU, внешний GPU, и/или исполняемые внешним ускорителем, таким как ускоритель FPGA-типа, ускоритель DSP-типа или любой другой внутренний или внешний ускоритель. В некоторых примерах, по меньшей мере один CPU, GPU и/или ускоритель встроен в устройство 200, в то время как в других примерах один или более из CPU, GPU и/или ускорителя может быть внешним по отношению к устройству 200.
[0039] В илюстративном примере, считываемый компьютером носитель 204 также включает в себя хранилище 206 данных. В некоторых примерах, хранилище 206 данных включает в себя такое хранилище данных, как база данных, информационное хранилище или хранилище структурированных или неструктурированных данных другого типа. В некоторых примерах, хранилище 206 данных включает в себя корпус и/или реляционную базу данных с одной или более таблицами, индексами, сохраненными процедурами и т.д., чтобы разрешить доступ к данным, включая, например, одно или более из таблиц языка гипертекстовой разметки (HTML), таблиц структуры описания ресурсов (RDF), таблиц языка веб-онтологий (OWL) и/или таблиц расширяемого языка разметки (XML). Хранилище 206 данных может хранить данные для операций процессов, приложений, компонентов и/или модулей, сохраненных на считываемом компьютером носителе 204 и/или исполняемых блоком(ами) обработки и/или ускорителем(ями) 202. В качестве альтернативы, некоторые или все из указанных выше данных могут храниться в отдельных блоках памяти 208 в составе одного или более блоков 202 обработки, таких как память в составе процессора CPU-типа, процессора GPU-типа, ускорителя FPGA-типа, ускорителя DSP-типа и/или другого ускорителя.
[0040] Устройство 200 может дополнительно включать в себя один или более интерфейсов 210 ввода/вывода (I/O), чтобы позволить устройству 200 осуществлять связь с устройствами ввода/вывода, такими как устройства пользовательского ввода, включая периферийные устройства ввода (например, клавиатуру, мышь, перо, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, устройство ввода жестом и т.п.), и/или устройства вывода, включая периферийные устройства вывода (например, дисплей, принтер, аудио динамики, тактильной вывод и т.п.). Кроме того, в устройстве 200, сетевой(ые) интерфейс(ы) 212, который(е) может(могут) быть сетевым(и) интерфейсом(ами) 116, может(могут) представлять собой, например, контроллеры сетевого интерфейса (NIC) или другие типы приемопередающих устройств для передачи и приема сообщений по сети. Сетевой(ые) интерфейс(ы) 212 может(могут) также включать в себя один или более интерфейсов 214 близости, которые могут дополнительно включать в себя аппаратные средства и программное обеспечение для осуществления связи через сеть близости, чтобы дополнительно разрешить осуществление связи с другими устройствами, участвующими в непрерывности задач, такими как устройства 102(1)-102(N).
[0041] В иллюстративном примере, устройство 200 может соединять, с возможностью работы, блок(и) 202 обработки со считываемым компьютером носителем 204, I/O-интерфейсом(ами) 210 и сетевым(и) интерфейсом(ами) 212 через шину 216, которая соответствует шине 110. В некоторых примерах, шина 216 может включать в себя одну или более из системной шины, шины данных, адресной шины, шины PCI, шины Mini-PCI и любого разнообразия локальных, периферийных и/или независимых шин.
TM
TM
TM
TM
TM
[0042] В иллюстративном примере, считываемый компьютером носитель 204 также включают в себя операционную систему 218, которая может быть операционной системой 112. Операционная система может быть любой операционной системой, включая, без ограничения указанным, MICROSOFT WINDOWS, WINDOWS PHONE, QNX, IBM z/OS, LINUX, ANDROID, iOS, OS X, NETBSD или любой другой операционной системой, способной управлять ресурсами компьютерных аппаратных средств и программного обеспечения на устройстве 200. Считываемый компьютером носитель 204 также включают в себя инфраструктуру 220 непрерывности, которая может быть инфраструктурой 114 непрерывности. Инфраструктура 220 непрерывности может включать в себя один или более из модулей и/или интерфейсов прикладного программирования (API), которые изображены в виде блоков 222, 224, 226, 228, 230, 232, 234, 236, 238, 240 и 242, хотя это всего лишь пример, и количество может изменяться до большего или меньшего.
[0043] Описанная функциональность, ассоциированная с блоками 222, 224, 226, 228, 230, 232, 234, 236, 238, 240 и 242, может быть объединена, чтобы выполняться меньшим количеством модулей и/или API, или она может быть разделена и может выполняться большим количеством модулей и/или API. Например, блок 222 может представлять модуль репозитория (хранилища) приложений с логикой, чтобы программировать блок 202 обработки устройства 200 для извлечения данных, включая, без ограничения указанным, контекстные данные задачи и специфические данные приложения и/или веб-сайта из хранилища 206 данных или внешнего хранилища данных. В некоторых примерах, модуль 222 репозитория приложений может дополнительно включать в себя логику, чтобы различать между контекстными данными задачи, ассоциированными с устройством 200, и/или контекстными данными задачи, ассоциированными с другими устройствами, такими как устройства 102(1)-102(N). В различных примерах, модуль 222 репозитория приложений может дополнительно включать в себя логику, чтобы различать между задачами, которые были ранее представлены и/или модифицированы на устройстве 200.
[0044] В иллюстративном примере, инфраструктура 220 непрерывности может включать в себя модуль 224 обработки приложения. В некоторых примерах, модуль 224 обработки приложения включает в себя логику для программирования блока 202 обработки устройства 200 для извлечения данных совместимости из хранилища данных, такого как модуль 222 репозитория приложений, хранилище 206 данных и/или внешнее хранилище данных. Данные совместимости включает в себя, без ограничения указанным, совместимость приложения по меньшей мере с одним из множества других приложений, так что приложения могут совместно использовать контекстные данные, и/или совместимость приложения с по меньшей мере одним из множества соответствующих веб-сайтов. В некоторых примерах, модуль 224 обработки приложения может включать в себя логику для программирования блока 202 обработки для извлечения специфических данных другого приложения и/или веб-сайта, включая, без ограничения указанным, предлагаемые приложением действия пользователя, продвижение  приложения или любые другие данные, запрограммированные в приложении, чтобы обеспечиваться из хранилища данных, такого как модуль 222 репозитория приложений, хранилище 206 данных и/или внешнее хранилище данных.
[0045] Инфраструктура 220 непрерывности может дополнительно включать в себя модуль 226 ранжирования с логикой, чтобы программировать блок(и) 202 обработки для извлечения данных использования приложения и/или веб-сайта из хранилища данных, такого как модуль 222 репозитория приложений, хранилище 206 данных и/или внешнее хранилище данных. Данные использования приложения и/или веб-сайта могут включать в себя по меньшей мере популярность (частоту использования) по меньшей мере одного из множества приложений и/или веб-сайтов, время, в которое одна или более задач во множестве приложений и/или веб-сайтов просматривались и/или модифицировались, продолжительность просмотра по меньшей мере одного из множества приложений и/или веб-сайтов, а также тип приложения и/или веб-сайта. Модуль 226 ранжирования также может включать в себя логику, чтобы программировать блок(и) 202 обработки для извлечения данных пользовательских предпочтений (т.е. настроек устройства, настроек приложения, настроек веб-сайта и т.п.) из хранилища данных.
[0046] Модуль 226 ранжирования также может включать в себя логику ранжирования для ранжирования по меньшей мере одного из приложений, веб-сайтов, задач в приложениях и/или задач на веб-сайтах, основываясь, по меньшей мере частично, на данных использования приложений и/или веб-сайтов и/или пользовательских предпочтениях (например, настройках устройства, настройках приложения, настройках веб-сайта и т.п.). Модуль 226 ранжирования может дополнительно включать в себя логику, чтобы сохранять ранжирование в пользовательском профиле в хранилище данных, таком как модуль 222 репозитория приложений, хранилище 206 данных и/или внешнее хранилище данных. В некоторых примерах, логика ранжирования в модуле 226 ранжирования может ранжировать на основе одного или более из времени с момента последнего просмотра и/или модифицировании, частоты просмотра и/или модификации, типа приложения и/или веб-сайта и/или пользовательских предпочтений.
[0047] В иллюстративном примере, инфраструктура 220 непрерывности может дополнительно включать в себя модуль 228 вывода с логикой, чтобы программировать блок 202 обработки для извлечения данных из по меньшей мере одного из модуля 226 ранжирования, модуля 224 обработки приложения или хранилища данных, такого как модуль 222 репозитррия приложений, хранилище 206 данных и/или внешнее хранилище данных, для вывода релевантных контекстных данных из приложений и/или задач в приложениях на модуль 230 отображения. Модуль 228 вывода может дополнительно включать в себя логику, чтобы определять наиболее релевантные контекстные данные из приложений и/или задач на основе по меньшей мере одного из пользовательских предпочтений, ранжирования приложений, ранжирования веб-сайтов, ранжирования задач, предлагаемых приложениями действий пользователя и продвижений приложений. На основе этого понимания, непрерывность задач может обеспечивать наиболее релевантные контекстные данные на модуль 230 отображения, который может информировать о выборе пользователя.
[0048] В некоторых примерах, модуль 230 отображения включает в себя логику, чтобы представлять релевантные контекстные данные задачи, специфическиеданные приложения и/или веб-сайта, предлагаемые приложением действия пользователя и/или продвижения приложения, на одной или более интерактивных миниатюрах 232, 234, 236 и 238 отображения, хотя это всего лишь пример, и количество может изменяться до большего или меньшего. В одном примере, интерактивная миниатюра 232 отображения может отображать последнюю просмотренную и/или модифицированную задачу в первом приложении, в то время как интерактивная миниатюра 234 отображения может отображать последнюю просмотренную и/или модифицированную задачу во втором приложении. Кроме того, интерактивные миниатюры 234 и 236 отображения могут отображать продвижение приложения для первого и второго приложений, соответственно.
[0049] Инфраструктура 220 непрерывности может дополнительно включать в себя графический пользовательский интерфейс 240 и механизм 242 ввода активности. Графический пользовательский интерфейс может включать в себя логику, чтобы реагировать на ввод через I/O-интерфейс(ы) 210. Графический пользовательский интерфейс 240 может дополнительно включать в себя логику для программирования механизма 242 ввода активности для запуска задачи в приложении и/или на веб-сайте. В некоторых примерах, запуск задачи может быть основан, по меньшей мере частично, на пользовательском вводе на одной или более интерактивных миниатюрах 232, 234, 236 и 238 отображения. Графический пользовательский интерфейс 240 может быть активирован по меньшей мере одним из сенсорного ввода, ввода пером, клика мышью, клавиатурного выбора или любой другого механизма ввода. В ответ на прием указания выбора интерактивной миниатюры отображения, такой как интерактивная миниатюра 232 отображения, графический пользовательский интерфейс 240 разрешает запуск отображаемого приложения и задачи в нем через механизм 242 ввода активности, и представление и/или модификация задачи могут быть продолжены.
[0050] Графический пользовательский интерфейс 240 может дополнительно включать в себя логику для программирования механизма ввода активности, чтобы отправлять данные в явной передаче на любое количество устройств и/или на модуль активности между устройствами в распределенной сервисной платформе. Графический пользовательский интерфейс 240 может дополнительно включать в себя логику для программирования механизма ввода активности, чтобы сохранять данные в явном сохранении, основываясь, по меньшей мере частично, на вводе через I/O-интерфейс(ы) 210.
[0051] Механизм 242 ввода активности может включать в себя логику для программирования блока(ов) обработки 202 для сохранения контекстных данных задачи для задачи в приложении и/или на веб-сайте, в то время как задача просматривается и/или модифицируется на устройстве 200. Механизм ввода активности может сохранять контекстные данные задачи в хранилище данных, таком как модуль 222 репозитория приложений, хранилище 206 данных и/или внешний источник данных. Контекстные данные задачи могут быть сохранены в пользовательском профиле в хранилище данных, тем самым обновляя данные пользовательского профиля. В некоторых примерах, механизм 242 ввода активности может также включать в себя логику для программирования блока(ов) 202 обработки для извлечения данных пользовательского профиля из хранилища данных и отправки данных пользовательского профиля на другое устройство и/или распределенную сервисную платформу.
[0052] В некоторых примерах, данные пользовательского профиля могут быть сохранены в хранилище данных на одном устройстве. В некоторых примерах, данные пользовательского профиля могут быть сохранены по меньшей мере на двух устройствах. В различных примерах, данные пользовательского профиля могут быть сохранены в опорном пользовательском профиле в распределенной сервисной платформе. По меньшей мере в одном примере, данные пользовательского профиля могут быть сохранены в хранилище данных на одном или более устройствах и в опорном пользовательском профиле в распределенной сервисной платформе.
[0053] В некоторых примерах, механизм 242 ввода активности может сохранять данные пользовательского профиля, включая контекстные данные задачи, в явном обновлении посредством графического пользовательского интерфейса 240. В явном обновлении, в ответ на прием сигнала для передачи данных, механизм ввода активности извлекает данные пользовательского профиля из хранилища данных и посылает их через сетевой(ые) интерфейс(ы) 212 на другое устройство, такое как устройство 102(N). В различных примерах, обновление данных пользовательского профиля может быть неявным обновлением, так что в ответ на соединение первого устройства и второго устройства в сети близости, механизм ввода активности второго устройства, такого как устройство 102(N), может извлекать данные пользовательского профиля через сетевой(ые) интерфейс(ы) 212 из хранилища данных первого устройства.
[0054] Фиг. 3 иллюстрирует примерный модуль отображения на устройстве, включающем в себя систему непрерывности задач между устройствами и/или между операционными системами, таком как устройство 102(1) согласно Фиг. 1. Устройство 300 может включать в себя дисплей 302 для представления данных. Данные, представляемые на дисплее 302, могут генерироваться по меньшей мере модулем отображения, таким как модуль 230 отображения. Дисплей 302 может разрешать богатый вход или повторный вход во взаимодействие с приложениями, веб-сайтами, задачами в приложениях и/или на веб-сайтах или специфическимидействиями приложения, включая, без ограничения указанным, предлагаемые приложением действия пользователя и продвижения приложений.
[0055] В иллюстративном примере, дисплей 302 может включать в себя интерактивные миниатюры 304, 306, 308, 310, 312, 314, 316, 318 и 320 отображения, хотя это всего лишь пример, и количество может изменяться до большего или меньшего. Дисплей 302 может соединяться, с возможностью работы, с модулем отображения, таким как модуль 230 отображения, в инфраструктуре непрерывности, такой как инфраструктура 220 непрерывности. В некоторых примерах, модуль 302 отображения принимает данные для отображения из модуля вывода для отображения на интерактивных миниатюрах 304, 306, 308, 310, 312, 314, 316, 318 и 320 отображения. В таких примерах, модуль вывода может определить наиболее релевантные контекстные данные задачи из приложений и/или веб-сайтов, основываясь, по меньшей мере частично, на пользовательских предпочтениях, ранжировании приложений и/или задач, предлагаемых приложением действиях пользователя и/или продвижении приложения. В ответ на определение наиболее релевантных контекстных данных задачи, модуль вывода может отправить контекстные данные задачи на модуль отображения для представления. На основе этого понимания, дисплей 302 может отображать наиболее релевантные контекстные данные и/или другие данные приложения, связанные с приложениями и/или задачами, с которыми пользователь желал бы войти во взаимодействие или повторно войти во взаимодействие. Контекстные данные задачи и/или другие данные приложения и/или веб-сайта, отображаемые на каждой интерактивной миниатюре отображения, могут обеспечивать достаточно данных относительно задачи, приложения и/или веб-сайта, чтобы разрешить пользователю сделать информированный  выбор.
[0056] В иллюстративном примере, блоки 304, 306, 308, 310, 312 и 314 могут представлять ранжированные задачи в пользовательском профиле. Непрерывность задач между устройствами и/или между операционными системами может ранжировать на основе одного или более из времени с момента последнего просмотра и/или модификации, частоты просмотра и/или модификации, продолжительности просмотра и/или модификации, типа приложения и/или веб-сайта и/или пользовательских предпочтений. В качестве иллюстративного примера, если пользователь тратит два часа на составление электронного письма, не посылая его, и затем тратит пять минут на просмотр статьи новостей, электронная почта может быть ранжирована выше, чем статья новостей, основываясь, по меньшей мере частично, на времени, затраченном на составление.
[0057] В некоторых примерах, дисплей 302 может включать в себя большее или меньшее количество интерактивных миниатюр отображения с ранжированными задачами в приложениях и/или веб-сайтах, таких как интерактивная миниатюра 304 отображения. В некоторых примерах, дисплей 302 может включать в себя большее или меньшее количество интерактивных миниатюр отображения со специфическими данными приложения, таких как интерактивная миниатюра 316 отображения.
[0058] Блок 304 может представлять задачу наивысшего ранга в пользовательском профиле. Например, блок 304 может представлять последнюю просмотренную и/или модифицированную задачу в приложении Z на любом устройстве, сконфигурированном для пользовательского профиля, таком как устройства 102(1)-102(N). В другом примере, блок 304 может представлять предпочтительную задачу, как идентифицируется частотой использования и/или как указано пользователем в пользовательских предпочтениях.
[0059] Блок 312 может представлять пятую задачу из последних просмотренных и/или модифицированных задач в пользовательском профиле, и последнюю просмотренную и/или модифицированную задачу на веб-сайте, таком как веб-сайт C.
[0060] В иллюстративном примере, блоки 306, 308, 310, 312 и 314 могут представлять со второй по шестую наиболее высоко ранжированные задачи в пользовательском профиле. В некоторых примерах, отображаемые задачи могут представлять недавно представленные и/или модифицированные задачи в различных приложениях и/или на веб-сайтах. В некоторых примерах, отображаемые задачи могут представлять недавно представленные и/или модифицированные задачи на том же самом веб-сайте и/или различных веб-сайтах. Например, блок 306, задача 1 в приложении А может представлять вторую из последних представленных и/или модифицированных задач в пользовательском профиле и последнюю представленную и/или модифицированную задачу в приложении А. Блок 310, задача 2 в приложении А может представлять четвертую из полследних представленных и/или модифицированных задач в пользовательском профиле и вторую из последних представленных и/или модифицированных задач в приложении А. Блок 314, задача 3 в приложении А может представлять шестую из последних представленных и/или модифицированных задач в пользовательском профиле и третью из последних представленных и/или модифицированных задач приложения A. В некоторых примерах, приложение А может представлять приложение электронной почты, и задачи 1, 2 и 3 могут представлять составления трех различных электронных писем. Дисплей 302, посредством графического пользовательского интерфейса, может разрешить выбор, какое из электронных писем в дальнейшем просматривать и/или модифицировать.
[0061] В качестве другого иллюстративного примера, приложение А может представлять службу видео, и задачи 1, 2 и 3 могут представлять три разных фильма, недавно представленных через службу видео в пользовательском профиле. Дисплей 302 может разрешить выбор одного из трех фильмов для продолжения представления. Предлагаемое действие пользователя может быть обеспечено, как это показано в блоке 316. Предлагаемым действием пользователя может быть, например, четвертый фильм, предложенный службой видео в пользовательском профиле, запрос для опроса пользователя по каждому из трех недавно просмотренных фильмов в пользовательском профиле, или любое другое специфическое действие приложения в пользовательском профиле.
[0062] В некоторых примерах, интерактивные миниатюры 306, 310 и 314 отображения могут отображать достаточно контекстных данных задачи для различия между задачей 1, задачей 2 и задачей 3 в приложении А, чтобы позволить пользователю принять информированное решение о выборе. В различных примерах, контекстные данные задачи, представленные для отображения, могут включать в себя название приложения, название задачи и/или время последнего просмотра задачи.
[0063] В иллюстративном примере, блоки 316, 318 и 320 могут включать в себя специфические данные приложения, такие как предлагаемое действие пользователя из приложения А, как показано в интерактивной миниатюре 316 отображения, предлагаемое действие пользователя из приложения B, как показано на интерактивной миниатюре 318 отображения, и продвижение приложения для приложения А, как показано на интерактивной миниатюре 320 отображения. Специфические данные приложения могут включать в себя предлагаемое действие пользователя и/или продвижение приложения, чтобы пользователь входил во взаимодействие с задачами, связанными с использованными или недавно просмотренными приложениями и/или веб-сайтами. В качестве иллюстративного примера, приложение на смарт-телевизоре может отображать в реальном времени или записанную программу, и приложение на смартфоне или другом вторичном устройстве может обеспечивать информацию о программе. В некоторых примерах приложение на смартфоне или другом вторичном устройстве может обеспечивать предлагаемое действие пользователя, относящиеся к программе, такое как голосование в реальном времени за лучшего певца в шоу талантов и т.д.
[0064] В некоторых примерах, интерактивные миниатюры 304, 306, 308, 310, 312, 314, 316, 318 и 320 отображения могут позволять выбор по меньшей мере одного из задачи, приложения и/или веб-сайта для входа во взаимодействие или повторного входа во взаимодействие с задачей через графический пользовательский интерфейс, такой как графический пользовательский интерфейс 240. В ответ на прием выбора по меньшей мере одной из множества интерактивных миниатюр отображения, устройство 300 может запустить выбранное приложение и/или веб-сайт для входа во взаимодействие или повторного входа во взаимодействие с задачей.
[0065] Фиг. 4 иллюстрирует примерную сетевую среду системы непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам. Сетевая среда 400 может включать в себя распределенную сервисную платформу 402 и/или сеть 404 близости.
[0066] Распределенная сервисная платформа 402 может включать в себя один или более распределенных вычислительных ресурсов 406, таких как распределенные вычислительные ресурсы 406(1)-406(N). Примеры поддерживают сценарии, где распределенный(ые) вычислительный(ые) ресурс(ы) 406 может(могут) включать в себя одно или более вычислительных устройств, таких как устройство(а) 102, которое(ые) работает(ют) в кластере или другой сгруппированной конфигурации для совместного использования ресурсов, балансировки нагрузки, повышения производительности, обеспечения поддержки обхода отказов или избыточности или для других целей. Распределенный(ые) вычислительный(ые) ресурс(ы) 406 может(могут) принадлежать к различным категориям или классам устройств, таким как традиционные устройства типа сервера, устройства типа настольного компьютера, устройства мобильного типа, устройства специального назначения, устройства встраиваемого типа и/или устройства носимого типа. Таким образом, хотя проиллюстрированы как настольные компьютеры, распределенные вычислительные ресурсы 406 могут включать в себя разнообразное разнообразие типов устройств и не ограничиваются конкретным типом устройства. Распределенный(ые) вычислительный(ые) ресурс(ы) 406 может(могут) представлять, без ограничения указанным, тонкие клиенты, настольные компьютеры, серверные компьютеры, веб-серверные компьютеры, персональные компьютеры, мобильные компьютеры, портативные компьютеры, планшетные компьютеры, носимые компьютеры, имплантированные вычислительные устройства, телекоммуникационные устройства, автомобильные компьютеры, телевизоры с сетевой поддержкой, терминалы, персональные цифровые помощники (PDA), игровые приставки, игровые устройства, рабочие станции, медиа-плееры, персональные видеомагнитофоны (PVR), телевизионные приставки, камеры, интегрированные компоненты для включения в вычислительные устройства, бытовые приборы или вычислительное устройство любого другого рода, способное подключаться к другому устройству(ам) 408, такому как устройство(а) 102, через сетевое соединение 410.
[0067] В некоторых примерах, сетевое соединение 410 может быть проводным или беспроводным, и в ответ на обнаружение устройства (устройств) 408 через сетевое соединение 410, может быть способным передавать данные от устройства (устройств) 408 к распределенной сервисной платформе 402 и от распределенной сервисной платформы 402 к устройству(ам) 408.
[0068] В иллюстративном примере, распределенная сервисная платформа 402 может включать в себя по меньшей мере один опорный пользовательский профиль 412. В некоторых примерах, опорный пользовательский профиль 412 может хранить данные пользовательского профиля, включая, без ограничения указанным, специфические данные приложения, специфические данные веб-сайта, контекстные данные задачи, пользовательские предпочтения и/или любые другие данные, ассоциированные с профилем пользователя. Опорный пользовательский профиль 412 может хранить данные пользовательского профиля от по меньшей мере одного из множества устройств, сконфигурированных согласно пользовательскому профилю. В некоторых примерах, опорный пользовательский профиль 412 может служить в качестве центральной опорной точки данных пользовательского профиля для по меньшей мере одного из множества устройств в системе непрерывности задач.
[0069] В иллюстративном примере, опорный пользовательский профиль 412 может включать в себя приложение(я) 414, такое(ие) как приложения 414(а)-(N). Приложение(я) 414 может(могут) дополнительно хранить контекстные данные 416 задачи, такие как контекстные данные 416(а)-(N) задач. Опорный пользовательский профиль 412 может также включать в себя модуль 418 активности между устройствами, выполненный с возможностью обновлять пользовательский профиль путем передачи данных между устройством(ами) 408 и распределенной сервисной платформой 402. На основе возможности обнаружения устройства (устройств) 408, модуль 418 активности между устройствами может регулярно или периодически обновлять опорный пользовательский профиль 412. Обновление может быть основано по меньшей мере на использовании приложений, использовании веб-сайтов и/или изменений пользовательских предпочтений на устройстве(ах) 408. Обновление от устройства (устройств) 408 в опорный пользовательский профиль 412 может разрешить распределенной сервисной платформе 402 поддерживать актуализированные данные опорного пользовательского профиля. В некоторых примерах, актуализированные данные опорного пользовательского профиля могут охватывать обновленные контекстные данные задачи для задач в приложениях и/или на веб-сайтах на любом количестве устройств, сконфигурированных согласно опорному пользовательскому профилю.
[0070] Модуль 418 активности между устройствами может соединяться, с возможностью работаты, с устройством(ами) 408 через сетевое соединение 410. В некоторых примерах, в ответ на обнаружение одного или более устройств 408 (т.е. устройство включается, устройство переходит из состояния пониженного энергопотребления, режим «в самолете» устройства отключается, или любой другой ввод, который приводит к тому, что устройство становится обнаруживаемым в сети), модуль 418 активности между устройствами может извлекать данные пользовательского профиля из хранилища данных на одном или более устройствах 408. В некоторых примерах, модуль 418 активности между устройствами может извлекать данные пользовательского профиля из хранилища данных на одном или более устройствах 408 на основе приема сигнала завершения задачи от механизма ввода активности в одном или более устройствах 408.
[0071] В различных примерах, модуль 418 активности между устройствами может извлекать данные пользовательского профиля из хранилища данных на одном или более устройствах 408 с периодическим интервалом. В таком примере, задача 416(а) в приложении 414(а) может быть модифицирована на устройстве 408(1). Во время модификации, модуль репозитория приложений может сохранять контекстные данные задачи задачи 416(а) в хранилище данных в устройстве 408(1). Периодически на протяжении модификации задачи 416(а), модуль 418 активности между устройствами может извлекать обновленные данные пользовательского профиля, чтобы включать контекстные данные задачи для задачи 416(а) из механизма 420(1) ввода активности, такого как механизм 242 ввода активности, в устройстве 408(1) через сетевое соединение 410. Модуль 418 активности между устройствами может сохранять обновленные данные пользовательского профиля в приложении 414(а) опорного пользовательского профиля 412, тем самым обеспечивая наиболее актуализированные данные опорного пользовательского профиля. В некоторых примерах, периодический интервал может быть любым периодом времени, таким как каждые 5 или 10 секунд, или любым другим периодом времени, определенным в качестве целесообразного для обновления. В некоторых примерах, периодический интервал может быть заданным пользователем временем обновления, как установлено в пользовательских предпочтениях, по меньшей мере в опорном пользовательском профиле.
[0072] В некоторых примерах, в ответ на то, когда устройство(а) 408 становится обнаруживаемым, модуль 418 активности между устройствами может отправлять данные опорного пользовательского профиля. В таких примерах, в ответ на то, что устройство, такое как устройство 408(2) становится обнаруживаемым через сетевое соединение 410, модуль 418 активности между устройствами может обнаружить его. Модуль 418 активности между устройствами может сравнивать пользовательский профиль на устройстве с опорным пользовательским профилем 412. Модуль 418 активности между устройствами может передать данные опорного пользовательского профиля в данные пользовательского профиля на устройстве, чтобы обновить пользовательский профиль на устройстве. Кроме того, модуль активности между устройствами может извлечь данные пользовательского профиля из устройства, чтобы обновить опорный пользовательский профиль 412.
[0073] Модуль 418 активности между устройствами, в другом примере, может передать контекстные данные задачи в явном виде на устройство(а) 408, такое(ие) как устройства 408(1) и 408(2), на основе команды на передачу обновления через графический пользовательский интерфейс, такой как графический пользовательский интерфейс 240. Например, задача 416(а) может быть модифицирована на устройстве 408(1), и команда может быть выдана на модуль 418 активности между устройствами, через механизм 420(1) ввода активности, и сетевое соединение 410, чтобы передать данные пользовательского профиля, включающие в себя обновленные контекстные данные задачи для задачи 416(а), на устройство 408(2). В таком примере, задача 416(а) может быть продолжена на устройстве 408(1) и/или устройстве 408(2), либо по отдельности, либо одновременно.
[0074] Сетевая среда 400 может также включать в себя сеть 404 близости, чтобы разрешать передачу данных между устройствами 408. В некоторых примерах, данные пользовательского профиля, включающие в себя, без ограничения указанным, специфические данные приложений, специфические данные веб-сайтов, контекстные данные задачи, пользовательские предпочтения и любые другие данные, ассоциированные с использованием приложения и/или веб-сайта, могут совместно использоваться между устройствами через соединение 424 сети близости. Соединение 424 сети близости может быть безопасным проводным или беспроводным соединением и может обеспечивать двунаправленную передачу данных между устройствами 408, такими как устройства 408(1) и 408(2). В сети близости, устройство(а) 408 может(могут) быть обнаруживаемыми друг для друга, по меньшей мере в близости. Возможность обнаружения в сети близости может быть определена интерфейсом близости в устройстве, таким как интерфейс 214 близости. Интерфейс близости может включать в себя датчики близости и/или проводные соединения. В некоторых примерах, совместное использование данных между устройствами может быть явным. В некоторых примерах, совместное использование данных между устройствами может быть неявным.
[0075] В явной передаче, механизмы ввода активности в соответствующих устройствах могут передавать данные пользовательского профиля между устройствами 408(1) и 408(2), основываясь, по меньшей мере частично, на вводе в графическом пользовательском интерфейсе, таком как графический пользовательский интерфейс 240. Например, если задача 416(а) модифицируется на устройстве 408(1), и пользователь хочет модифицировать задачу 416(а) на устройстве 408(2), обновленные данные пользовательского профиля, включающие в себя контекстные данные задачи 416(а), могут передаваться через ввод на графическом пользовательском интерфейсе в устройство 408(2). В таком примере, соответствующий(ие) механизм(ы) 420 ввода активности в устройствах 408(1) и 408(2) приведет(ут) к синхронизации данных пользовательского профиля между соответствующими устройствами.
[0076] В неявной передаче, в ответ на то, что устройства 408 становятся обнаруживаемыми друг для друга, устройство(а) 408 может(могут) автоматически передавать обновленные данные пользовательского профиля между устройством(ами) 408. Например, устройство 408(2) может быть мобильным устройством, и устройство 408(1) может быть стационарным устройством. Во время поездки, модуль репозитория приложений на устройстве 408(2) может сохранить обновленные контекстные данные задачи 416(а) в хранилище данных на устройстве 408(2), чтобы обновить пользовательский профиль. Затем, в ответ на то, что устройство 408(2) оказывается поблизости от устройства 408(1), механизм 420 ввода активности устройства 408(2) может передать обновленные данные пользовательского профиля, включающие в себя контекстные данные задачи 416(а), по соединению 424 сети близости к устройству 408(2), тем самым обеспечивая обновленный пользовательский профиль.
[0077] В различных примерах, соответствующие модули репозитория приложений в устройствах 408(1) и 408(2) могут сохранять контекстные данные задач 416(а) и 416(b), в то время как они просматриваются и/или модифицируются на устройствах 408(1) и 408(2), соответственно. Устройство 408(1) и устройство 408(2), которые становятся обнаруживаемыми друг для друга, могут привести к тому, что механизм 420(1) ввода активности передает обновленные данные пользовательского профиля из устройства 408(1), включающие в себя контекстные данные задачи 416(а), и принимает обновленные данные пользовательского профиля из устройства 408(2), включающие в себя контекстные данные задачи 416(b). Одновременно с этим, механизм 420(2) ввода активности может передавать обновленные данные пользовательского профиля из устройства 408(2), включающие в себя контекстные данные задачи 416(b), и принимать обновленные данные пользовательского профиля из устройства 408(1), включающие в себя контекстные данные задачи 416(а).
[0078] В иллюстративном примере, сетевая среда 400 включает в себя распределенную сервисную платформу 402 и сеть 404 близости. В такой среде, данные пользовательского профиля, включающие в себя специфические данные приложения, специфические данные веб-сайта, контекстные данные задачи, пользовательские предпочтения и/или любые другие данные, ассоциированные с использованием приложения и/или веб-сайта, могут совместно использоваться между устройствами, использующими как распределенную сервисную платформу 402, так и сеть 404 близости. При этом обеспечивается то, что данные опорного пользовательского профиля и данные пользовательского профиля на любом количестве устройств содержат одинаковые данные.
[0079] Например, если устройства 408(1) и 408(2) находятся поблизости, но не в состоянии соединиться с распределенной сервисной платформой 402 через сетевое соединение 410, устройства 408(1) и 408(2) могут передавать и принимать обновленные данные пользовательского профиля с помощью соответствующих механизмов ввода активности через сетевое соединение 424 близости. В более позднее время, устройство 408(1) имеет возможность соединения с распределенной сервисной платформой 402 через сетевое соединение 410. В ответ на это соединение, модуль 418 активности между устройствами может распознать возможность обнаружения устройства 408(1) и извлечь данные пользовательского профиля, включающие в себя, без ограничения указанным, специфические данные приложения, специфические данные веб-сайта, контекстные данные задачи, пользовательские предпочтения и любые другие данные, ассоциированные с использованием приложения и/или веб-сайта, и обновить опорный пользовательский профиль 412 в распределенной сервисной платформе 402. В другом примере, пользователь может передавать данные пользовательского профиля из устройства 408(1) к распределенной сервисной платформе 402 после получения сетевого соединения 410. Затем пользователь может взять любое(ые) устройство(а) 408 и продолжить задачу на любом приложении и/или веб-сайте в опорном пользовательском профиле 412.
Иллюстративные процессы
[0080] Фиг. 5 иллюстрирует примерный процесс системы непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам.
[0081] В иллюстративном примере, задача 502 может быть представлена и/или модифицирована в момент времени T=0 в приложении 504(1) на устройстве 506(1), таком как устройство 102(1). Задача 502 может продолжать представляться и/или модифицироваться до времени Т=N. Во время T=N, задача 502 может быть остановлена в приложении 504(1) на устройстве 506(1). Также при Т=N, задача 502 может быть представлена и/или модифицирована в приложении 504(2) на устройстве 506(2), таком как устройство 102(2).
[0082] В некоторых примерах, приложение 504(1) на устройстве 506(1) может быть тем же самым приложением, что и приложение 504(2) на устройстве 506(2). В различных примерах, приложение 504(1) на устройстве 506(1) может быть приложением, отличным от приложения 504(2) на устройстве 506(2).
[0083] В иллюстративном примере, задача 502 может быть представлена и/или модифицирована на устройстве 506(1) до времени Т=N. На устройстве 506(2) задача 502 может быть представлена и/или модифицирована от времени T=N до завершения задачи 502. Завершение задачи 502 может быть указано пользовательским вводом через интерфейс ввода и/или приложением и/или веб-сайтом. В некоторых примерах, в ответ на завершение задачи 502, механизм ввода активности в устройстве 506(2) может послать сигнал завершения задачи на множество устройств и/или в опорный пользовательский профиль в распределенной сервисной платформе через сеть 508. Сеть 508 может состоять из распределенной сервисной платформы и/или сети близости. В различных примерах, данные могут быть переданы через любую другую сетевую платформу.
[0084] В различных примерах, сигнал завершения задачи может обновлять пользовательские профили в каждом из множества устройств и/или опорный пользовательский профиль, так что задача может быть удалена из множества недавно просмотренных и/или модифицированных задач. Удаление задачи из множества недавно просмотренных и/или модифицированных задач может быть основано, по меньшей мере частично, на типе задачи, типе приложения и/или веб-сайта и/или пользовательских настройках. Например, задача 502 может быть электронным письмом, составление которого было начато на устройстве 506(1), и составление было завершено на устройстве 506(2). После того, как составление электронного письма закончено, и электронное письмо отправлено, посланная версия может быть сохранена провайдером электронной почты. Таким образом, электронное письмо может быть удалено из множества недавно представленных и/или модифицированных задач без какого-либо ухудшения непрерывности задач.
[0085] В некоторых примерах, завершение задачи может вызвать переход задачи в другое состояние. В иллюстративном примере, приложение 504(1) может быть картографическим приложением на устройстве 506(1), которое может быть настольным компьютером. Задача 502 может представлять собой набор направлений движения. Устройство 506(2) может быть смартфоном и может отображать задачу 502 на картографическом приложении. В ответ на прибытие в пункт назначения, пользователь и/или приложение 504(2) может обозначать завершение задачи. В ответ на завершение задачи, механизм ввода активности на устройстве 506(2) может послать сигнал завершения задачи к множеству устройств и/или в опорный пользовательский профиль. Затем сигнал завершения задачи может предложить задаче 502 перейти к новому набору направлений, таких как обратные направления, на одном или обоих устройствах 506(1) и/или 506(2).
[0086] В различных примерах, завершение задачи и/или отправка механизмом ввода активности на устройстве 506(2) сигнала завершения задачи к множеству устройств и/или в опорный пользовательский профиль может предложить новую задачу 502, ассоциированную с завершенной задачей на одном или более устройствах 506. В ответ на завершение задачи, механизм ввода активности на устройстве 506(2) может предложить новую задачу, связанную с завершенной задачей и/или контекстом завершенной задачи в том же или другом приложении. Например, в ответ на прибытие в пункт назначения, как описано выше, пользователь и/или приложение 504(2) может указать на завершение задачи. В ответ на завершение задачи, механизм ввода активности на устройстве 506(2) может предложить новую задачу 502, которая может быть представлением списка дел или действий, ассоциированных с местом назначения. В некоторых примерах, новая задача 502 может быть представлена на устройстве 506(2) без представления на устройстве 506(1) до тех пор, пока устройство 506(1) не окажется поблизости от устройства 506(2).
[0087] Фиг. 6 иллюстрирует другой пример процесса системы непрерывности задач между устройствами и/или между операционными системами, соответствующей Фиг. 1-4.
[0088] В иллюстративном примере, задача 602 может быть представлена и/или модифицирована в приложении 604(1) на устройстве 606(1), таком как устройство 102(1). Одновременно, задача 602 может быть представлена и/или модифицирована в приложении 604(2) на устройстве 606(2), тем самым разрешая представление и/или модификацию задачи 602 по меньшей мере на двух устройствах 606.
[0089] В некоторых примерах, приложение 604(1) на устройстве 606(1) может быть тем же самым приложением, что и приложение 604(2) на устройстве 606(2). В различных примерах, приложение 604(1) на устройстве 606(1) может быть приложением, отличным от приложения 604(2) на устройстве 606(2).
[0090] В некоторых примерах, данные пользовательского профиля, включающие в себя специфические данные приложения, специфические данные веб-сайта, контекстные данные задачи, пользовательские предпочтения и/или любые другие данные, ассоциированные с использованием приложения и/или веб-сайта, могут быть переданы по сети 608, такой как распределенная сервисная платформа 402 и/или сеть 404 близости.
[0091] Фиг. 7 и 8 представляют собой блок-схемы процессов, изображающие примерные процессы для системы непрерывности задач между устройствами и/или между операционными системами. Операции примерного процесса иллюстрируются в отдельных этапах и кратко описываются со ссылкой на эти этапы. Процесс проиллюстрирован как логические последовательности этапов, каждый из которых может представлять собой одну или более операций, которые могут быть реализованы в аппаратных средствах, программном обеспечении или их комбинации.
[0092] Фиг. 7 иллюстрирует последовательность процесса в системе непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам. Фиг. 7 иллюстрирует последовательность процесса, в котором имеется одно исходное устройство и одно целевое устройство, хотя это всего лишь пример, и может иметься более одного исходного устройства и/или более одного целевого устройства.
[0093] На этапе 702, механизм ввода активности входит во взаимодействие с задачей на исходном устройстве, таком как устройство 102, 200, 408, 506 и/или 606.
[0094] На этапе 704, механизм ввода активности сохраняет контекстные данные задачи в пользовательском профиле по меньшей мере на исходном устройстве. В некоторых примерах, модуль активности между устройствами, такой как модуль 418 активности между устройствами, в распределенной сервисной платформе, может извлечь обновленные данные пользовательского профиля из исходного устройства и сохранить их в опорном пользовательском профиле.
[0095] На этапе 706, I/O-интерфейс обнаруживает соединение целевого устройства с сетью. В некоторых примерах, то, что устройство становится обнаруживаемым в сети, может включать в себя включение устройства, переход устройства из состояния пониженного энергопотребления, отключение режима «в самолете» устройства или любой другой ввод, который приводит к тому, что устройство может быть обнаруживаемым в сети. В различных примерах, устройства могут быть обнаруживаемыми, и соответствующие механизмы ввода активности в устройствах могут передавать и принимать данные пользовательского профиля между исходным и целевым устройствами. По меньшей мере в одном примере, в ответ на возможность обнаружения, соответствующие механизмы ввода активности могут передавать и принимать данные пользовательского профиля между исходным и целевым устройствами и модулем активности между устройствами.
[0096] В некоторых примерах, передача данных пользовательского профиля из исходного устройства в целевое устройство и/или модуль активности между устройствами может быть неявной. В различных примерах, передача контекстных данных задачи от исходного устройства к целевому устройству и/или модулю активности между устройствами может быть явной.
[0097] На этапе 708, модуль отображения может вызвать отображение ранее представленной задачи на дисплее интерактивных миниатюр на целевом устройстве. В некоторых примерах, модуль отображения может отображать одни или более релевантных контекстных данных задач ранее представленных и/или модифицированных задач, специфическиеданные приложений и/или веб-сайтов, предлагаемые приложением действия пользователя и продвижения приложений.
[0098] На этапе 710, графический пользовательский интерфейс через ввод I/O-интерфейса может принимать выбор представленной ранее задачи. В некоторых примерах, выбор может быть по меньшей мере одним из предложенных приложением действий пользователя или продвижения приложения.
[0099] На этапе 712, механизм ввода активности запускает приложение на целевом устройстве, соответственно выбору задачи на этапе 710. В некоторых примерах, механизм ввода активности может запустить одно и то же приложение, в котором задача была в последний раз представлена и/или модифицирована на исходном устройстве. В некоторых примерах, механизм ввода активности может запустить другое приложение, которое совместимо с приложением, в котором задача была в последний раз представлена и/или модифицирована на исходном устройстве. В различных примерах, механизм ввода активности может запустить веб-сайт, который совместим с приложением, в котором задача была в последний раз представлена и/или модифицирована на исходном устройстве.
[00100] На этапе 714, модуль репозитория приложений возвращает релевантные контекстные данные задачи из пользовательского профиля в хранилище данных, чтобы разрешить непрерывный повторный вход во взаимодействие с задачей в приложении и/или на веб-сайте на целевом устройстве, таком как на этапе 716.
[0101] Фиг. 8 иллюстрирует порядок процесса для модификации задачи между приложениями с системой непрерывности задач между устройствами и/или между операционными системами, соответствующей предыдущим фигурам.
[0102] На этапе 802, механизм ввода активности посредством ввода в I/O-интерфейс, ассоциированный с графическим пользовательским интерфейсом, входит во взаимодействие с документом 1 в первом приложении, таком как приложение A для модуля отображения, чтобы вызвать отображение документа для просмотра и/или модификации на исходном устройстве, таком как устройство 102(1), 200, 408, 506 и/или 606. В некоторых примерах, механизм ввода активности может входить во взаимодействие с документом 1 на веб-сайте на исходном устройстве.
[0103] На этапе 804, в различных примерах, механизм ввода активности может неявным и/или явным образом вызвать сохранение документа 1 в пользовательском профиле в исходном устройстве, таком как устройство 102(1) или любом из описанных выше устройств. В некоторых примерах, механизм ввода активности в исходном устройстве может неявным и/или явным образом вызвать сохранение документа 1 в пользовательском профиле в целевом устройстве, таком как устройство 102(2) или любое другое из описанных выше устройств, через сеть близости. В некоторых примерах, механизм ввода активности может неявным и/или явным образом вызвать сохранение документа 1 в опорном пользовательском профиле посредством модуля активности между устройствами. В различных примерах, механизм ввода активности может неявным и/или явным образом вызвать сохранение документа 1 в пользовательском профиле в исходном устройстве, в пользовательском профиле в целевом устройстве и в опорном пользовательском профиле в распределенной сервисной платформе.
[0104] На этапе 806, механизм ввода активности с помощью графического пользовательского интерфейса повторно входит во взаимодействие с документом 1 во втором приложении, таком как приложение В, и модуль отображения может отображать документ 1 для просмотра и/или модификации во втором приложении. В ответ на повторный вход во взаимодействие, могут быть представлены контекстные данные задачи документа 1, включающие в себя данные контента задачи, добавленные из первого приложения. В некоторых примерах, механизм ввода активности может повторно войти во взаимодействие с документом 1 во втором приложении на исходном устройстве. В различных примерах, механизм ввода активности может повторно войти во взаимодействие с документом 1 во втором приложении на целевом устройстве.
[0105] На этапе 808, в некоторых примерах, механизм ввода активности может неявным и/или явным образом сохранить документ 1 в пользовательском профиле в исходном устройстве, таком как устройство 102(1) или любом из описанных выше устройств. В некоторых примерах, механизм ввода активности в исходном устройстве может неявным и/или явным образом сохранить документ 1 в пользовательском профиле в целевом устройстве, таком как устройство 102(2), или любом другом из описанных ранее устройств через сеть близости. В некоторых примерах, механизм ввода активности может неявным и/или явным образом сохранить документ 1 в опорном пользовательском профиле через модуль активности между устройствами. В различных примерах, механизм ввода активности может неявным и/или явным образом сохранить документ 1 в пользовательском профиле в исходном устройстве, пользовательском профиле в целевом устройстве и в опорном пользовательском профиле в распределенной сервисной платформе.
[0106] На этапе 810, механизм ввода активности с помощью графического пользовательского интерфейса повторно входит во взаимодействие с документом 1 в третьем приложении, таком как приложение C, и модуль отображения может вызвать отображение документа 1 для просмотра и/или модификации в третьем приложении. В ответ на повторный вход во взаимодействие, могут быть представлены контекстные данные задачи документа 1, включающие в себя данные контента задачи, добавленные из первого и второго приложений. В некоторых примерах, механизм ввода активности может повторно войти во взаимодействие с документом 1 в третьем приложении на исходном устройстве. В различных примерах, механизм ввода активности может повторно войти во взаимодействие с документом 1 в третьем приложении на целевом устройстве. В некоторых примерах, целевое устройство может представлять собой то же самое устройство, что и использованное на этапе 806, или оно может быть другим устройством, таким как устройство 102(N).
[0107] На этапе 812, в некоторых примерах, механизм ввода активности может неявным и/или явным образом сохранить документ 1 в пользовательском профиле в исходном устройстве, таком как устройство 102(1). В некоторых примерах, механизм ввода активности в исходном устройстве может неявным и/или явным образом сохранить документ 1 в пользовательском профиле в целевом устройстве, таком как устройство 102(2), через сеть близости. В некоторых примерах, механизм ввода активности может неявным и/или явным образом сохранить документ 1 в опорном пользовательском профиле через модуль активности между устройствами. В различных примерах, механизм ввода активности может неявным и/или явным образом сохранить документ 1 в пользовательском профиле в исходном устройстве, пользовательском профиле в целевом устройстве и в опорном пользовательском профиле в распределенной сервисной платформе.
[0108] На этапе 814, механизм ввода активности с помощью графического пользовательского интерфейса повторно входит во взаимодействие с документом 1 в первом приложении. В ответ на повторный вход во взаимодействие с документом 1, могут быть представлены контекстные данные задачи, включая данные контента задачи, добавленные из первого, второго и третьего приложений. В некоторых примерах, механизм ввода активности может повторно войти во взаимодействие с документом 1 в первом приложении на исходном устройстве, таком как устройство 102(1) или любое из описанных выше устройств. В различных примерах, механизм ввода активности может повторно войти во взаимодействие с документом 1 в первом приложении на целевом устройстве, таком как устройства 102(2)-102(N), или любом другом из описанных выше устройств.
[0109] В контексте программного обеспечения, операции представляют собой исполняемые компьютером инструкции, сохраненные на одном или более считываемых компьютером носителях хранения данных, которые, при их исполнении одним или более процессорами, позволяют одному или более процессорам выполнять упомянутые операции. Как правило, исполняемые компьютером инструкции включают в себя подпрограммы, программы, объекты, модули, компоненты, структуры данных и т.п., которые выполняют конкретные функции или реализуют конкретные абстрактные типы данных. Этот процесс также может быть реализован на практике в распределенной вычислительной среде, где функции выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде, исполняемые компьютером инструкции могут находиться на локальных и/или удаленных компьютерных носителях информации, включая устройства памяти.
[0110] В контексте аппаратных средств, некоторые или все из этапов могут представлять специализированные интегральные схемы (ASIC) или другие физические компоненты, которые выполняют перечисленные операции.
[0111] Порядок, в котором операции описаны, не предназначен для истолкования в качестве ограничения, и любое количество описанных операций может выполняться в любом порядке, объединяться в любом порядке, подразделяться на множество подопераций и/или исполняться параллельно для реализации описанного процесса.
Примерные пункты
[0112] А: Способ, содержащий: соединение первого устройства, сконфигурированного согласно пользовательскому профилю, и второго устройства, сконфигурированного согласно пользовательскому профилю, с одной или более сетями; выполнение первой задачи в приложении на первом устройстве, причем приложение содержит первые контекстные данные задачи, содержащиеся, по меньшей мере частично, в последнем пользовательском вводе; сохранение первых контекстных данных задачи в качестве первого обновления пользовательского профиля в хранилище данных на первом устройстве; отображение на втором устройстве множества недавно просмотренных задач, включая первую задачу; выбор первой задачи на втором устройстве; запуск приложения на втором устройстве, основываясь, по меньшей мере частично, на выборе первой задачи; выполнение первой задачи в приложении на втором устройстве, причем приложение на второй задаче включает в себя первые контекстные данные; и сохранение вторых контекстных данных в качестве второго обновления пользовательского профиля в хранилище данных на втором устройстве.
[0113] В: Способ, как описывает параграф А, в котором приложение на первом устройстве и приложение на втором устройстве представляют собой одно и то же приложение.
[0114] C: Способ, как описывает параграф А, в котором приложение на первом устройстве сконфигурировано как приложение, и приложение на втором устройстве сконфигурировано как веб-браузер.
[0115] D: Способ, как описывает параграф А, в котором первое устройство сконфигурировано на операционной системе, и второе устройство сконфигурировано на той же самой операционной системе.
[0116] Е: Способ, как описывает параграф А, в котором первое устройство сконфигурировано на первой операционной системой, а второе устройство сконфигурировано на второй операционной системе, причем вторая операционная система отличается от первой операционной системы.
[0117] F: Способ, как описывает любой из параграфов А-Е, в котором одна или более сетей состоят из по меньшей распределенной сервисной платформы.
[0118] G: Способ, как описывает параграф F, в котором распределенная сервисная платформа дополнительно содержит: опорный пользовательский профиль; и модуль активности между устройствами, выполненный с возможностью передавать и принимать данные пользовательского профиля от по меньшей мере одного из множества устройств, сконфигурированных согласно пользовательскому профилю.
[0119] Н: Способ, как описывает любой из параграфов А-Е, в котором одна или более сетей состоят из по меньшей мере архитектуры сети близости.
[0120] I: Способ, как описывает любой из параграфов А-Н, в котором отображение по меньшей мере одной из множества недавно просмотренных задач дополнительно включает в себя специфические данные приложения, причем специфические данные приложения основаны, по меньшей мере частично, на выполнении первой задачи в приложении на первом устройстве и содержат по меньшей мере одно из: предлагаемого приложением действия пользователя и/или продвижения приложения.
[0121] J: Способ, как описывает любой из параграфов A-I, в котором выполнение первой задачи в приложении на первом устройстве происходит последовательно с выполнением первой задачи в приложении на втором устройстве.
[0122] К: Считываемый компьютером носитель, содержащий исполняемые компьютером инструкции, которые в ответ на исполнение конфигурируют компьютер для выполнения способа, как описывает любой из параграфов А-J.
[0123] L: Устройство или система, содержащая: процессор и считываемый компьютером носитель, соединенный с процессором, причем считываемый компьютером носитель включает в себя инструкции для конфигурирования одного или более устройств, чтобы выполнять способ, как описывает любой из параграфов А-J.
[0124] М: Устройство или система, содержащая: средство для обработки; и средство для хранения, соединенное со средством для обработки, причем средство для хранения хранит инструкции для конфигурирования одного или более устройств, чтобы выполнять способ, как описывает любой из параграфов А-J.
[0125] N: Способ, содержащий: конфигурирование первого устройства и второго устройства согласно опорному пользовательскому профилю в распределенной сервисной платформе; выполнение первой задачи в приложении на первом устройстве, причем приложение содержит контекстные данные первой задачи, состоящие из по меньшей мере последнего пользовательского ввода; сохранение контекстных данных первой задачи в первом пользовательском профиле в хранилище данных на первом устройстве; соединение, через сетевое соединение, первого устройства с опорным пользовательским профилем в распределенной сервисной платформе; отправку первого обновления пользовательского профиля в опорный пользовательский профиль; обновление опорного пользовательского профиля, так что первый пользовательский профиль и опорный пользовательский профиль содержат одинаковые данные; соединение второго устройства с опорным пользовательским профилем в распределенной сервисной платформе; отправку опорного пользовательского профиля во второй пользовательский профиль в хранилище данных на втором устройстве; обновление второго пользовательского профиля, так что второй пользовательский профиль и опорный пользовательский профиль содержат одинаковые данные; отображение на втором устройстве по меньшей мере одной из множества недавно просмотренных задач, причем множество недавно просмотренных задач включает в себя по меньшей мере первую задачу; выбор первой задачи на втором устройстве; запуск приложения на втором устройстве, основываясь, по меньшей мере частично, на выборе первой задачи; выполнение первой задачи в приложении на втором устройстве, причем приложение содержит контекстные данные первой задачи; и обновление второго пользовательского профиля, основываясь, по меньшей мере частично, на пользовательском вводе на втором устройстве.
[0126] О: Способ, как описывает параграф N, в котором отображение на втором устройстве по меньшей мере одной из множества недавно просмотренных задач сконфигурировано в структуре ранжирования, причем структура ранжирования основана по меньшей мере на времени, в которое каждая одна из множества недавно просмотренных задач просматривалась в последний раз пользователем.
[0127] Р: Способ, как описывает параграф N или О, в котором структура ранжирования дополнительно основана по меньшей мере на одном из: пользовательского предпочтения; частоты использования приложения; продолжительности просмотра приложения; частоты использования веб-сайта; продолжительности просмотра веб-сайта; действия, предлагаемого пользователем приложения и/или продвижения приложения.
[0128] Q: Способ, как описывает любой из параграфов N-P, дополнительно содержащий: конфигурирование третьего устройства согласно пользовательскому профилю; соединение второго устройства и третьего устройства с сетью близости через соединение сети близости; отправку второго обновления пользовательского профиля от второго устройства к третьему устройству через соединение сети близости; обновление пользовательского профиля на третьем устройстве, так что пользовательский профиль на втором устройстве и пользовательский профиль на третьем устройстве содержат одинаковые данные; отображение на третьем устройстве по меньшей мере одной из множества недавно просмотренных задач, причем множество недавно просмотренных задач включает в себя по меньшей мере первую задачу; выбор первой задачи на третьем устройстве; запуск приложения на третьем устройстве, основываясь, по меньшей мере частично, на выборе первой задачи; выполнение контекстных данных первой задачи в приложении на третьем устройстве; и обновление пользовательского профиля на третьем устройстве.
[0129] R: Способ, как описывает любой из параграфов N-Q, дополнительно содержащий: завершение первой задачи на втором устройстве; отправку сигнала завершения задачи в опорный пользовательский профиль, пользовательский профиль на первом устройстве и/или пользовательский профиль на втором устройстве; удаление задачи из опорного пользовательского профиля, пользовательского профиля на первом устройстве и/или пользовательского профиля на втором устройстве, в ответ на прием сигнала завершения задачи.
[0130] S: Считываемый компьютером носитель, содержащий исполняемые компьютером инструкции, которые в ответ на исполнение конфигурируют компьютер, чтобы выполнять способ, как описывает любой из параграфов N-R.
[0131] Т: Устройство или система, содержащая: процессор; и считываемый компьютером носитель, соединенный с процессором, причем считываемый компьютером носитель включает в себя инструкции для конфигурирования одного или более устройств, чтобы выполнять способ, как описывает любой из параграфов N-R.
[0132] U: Устройство или система, содержащая: средство для обработки; и средство для хранения, соединенное со средством для обработки, причем средство для хранения хранит инструкции для конфигурирования одного или более устройств, чтобы выполнять способ, как описывает любой из параграфов N-R.
[0133] V: Считываемый компьютером носитель, содержащий исполняемые компьютером инструкции, причем исполняемые компьютером инструкции в ответ на исполнение конфигурируют устройство, чтобы выполнять операции, содержащие: идентификацию множества задач на множестве приложений в пользовательском профиле, причем пользовательский профиль состоит из данных пользовательского профиля; идентификацию времени, в которое каждая из множества задач была в последний раз просмотрена пользователем на устройстве; ранжирование множества задач на множестве приложений, основываясь, по меньшей мере частично, на времени, в которое каждая одна из множества задач была в последний раз просмотрена пользователем; обеспечение для отображения по меньшей мере одной из множества задач, основываясь, по меньшей мере частично, на ранжировании; прием выбора конкретной задачи из множества отображенных задач; модификацию конкретной задачи; сохранение контекстных данных задачи для конкретной задачи в хранилище данных, причем контекстные данные задачи включают в себя по меньшей мере модификацию конкретной задачи; и обновление данных пользовательского профиля контекстными данными задачи конкретной задачи.
[0134] W: Считываемый компьютером носитель, как описывает параграф V, причем ранжирование дополнительно основано по меньшей мере на одном из: пользовательского предпочтения, частоты использования приложения, длительности просмотра приложения, частоты использования веб-сайта, длительности просмотра веб-сайта, действия, предлагаемого пользователем приложения и/или продвижения приложения.
[0135] X: Считываемый компьютером носитель, как описывает параграф V или W, причем действия дополнительно содержат: соединение устройства с распределенной сервисной платформой, содержащей по меньшей мере: опорный пользовательский профиль, выполненный с возможностью хранения данных опорного пользовательского профиля, и модуль активности между устройствами; отправку данных пользовательского профиля от устройства в опорный пользовательский профиль для обновления данных опорного пользовательского профиля данными пользовательского профиля, так что опорный пользовательский профиль и пользовательский профиль содержат одинаковые данные.
[0136] Y: Считываемый компьютером носитель, как описывает любой из параграфов V-X, причем действия дополнительно содержат: соединение второго устройства с распределенной сервисной платформой, причем второе устройство сконфигурировано согласно опорному пользовательскому профилю и содержит второй пользовательский профиль во втором хранилище данных, выполненном с возможностью хранить данные пользовательского профиля; отправку данных опорного пользовательского профиля во второй пользовательский профиль; и обновление второго пользовательского профиля данными опорного пользовательского профиля, так что второй пользовательский профиль включает в себя по меньшей мере контекстные данные задачи для конкретной задачи.
[0137] Z: Считываемый компьютером носитель, как описывает любой из параграфов V-Y, причем действия дополнительно содержат: соединение устройства со вторым устройством в сети близости; отправку данных пользовательского профиля от устройства в хранилище данных во втором устройстве; и обновление данных второго пользовательского профиля на втором устройстве данными пользовательского профиля от устройства.
[0138] АА: Устройство или система, содержащая: процессор; и считываемый компьютером носитель, как описывает любой из параграфов V-Z, соединенный с процессором.
[0139] AB: Устройство, содержащее: опорный пользовательский профиль, причем опорный пользовательский профиль выполнен с возможностью  хранения по меньшей мере набора пользовательских предпочтений и контекстных данных задачи; модуль активности между устройствами, причем модуль активности между устройствами для: соединения с одним или более устройствами через сеть; приема контекстных данных задачи от по меньшей мере одного из множества устройств; сохранения контекстных данных задачи в опорном пользовательском профиле; и отправки контекстных данных задачи на по меньшей мере одно из множества устройств.
[0140] AC: Устройство, содержащее: пользовательский профиль, причем пользовательский профиль выполнен с возможностью хранения по меньшей мере набора пользовательских предпочтений и контекстных данных задачи; множество приложений, причем приложения выполнены с возможностью хранения конкретных данных приложений; механизм ввода активности, причем механизм ввода активности чтобы: соединяться с одним или более устройствами через сеть; принимать контекстные данные задачи от по меньшей мере одного из множества устройств; сохранять контекстные данные задачи в пользовательском профиле в хранилище данных; и отправлять контекстные данные задачи на второе устройство.
[0141] AD: Устройство, как описывает параграф АС, причем механизм ввода активности дополнительно предназначен, чтобы: принимать сигнал завершения задачи; и, в ответ на прием сигнала завершения задачи, удалять контекстные данные задачи из пользовательского профиля в хранилище данных.
[0142] AE: Устройство, как описывает параграф AC или AD, причем механизм ввода активности дополнительно предназначен, чтобы: принимать сигнал завершения задачи; и, в ответ на прием сигнала завершения задачи, запускать новую задачу в приложении, основываясь, по меньшей мере частично, на приеме сигнала завершения задачи; и выполнять новую задачу в приложении на устройстве.
ВЫВОД
[0143] Хотя объект изобретения был описан в терминологии, характерной для структурных признаков и/или методологических действий, следует понимать, что объект изобретения, определенный в прилагаемой формуле изобретения, не обязательно ограничен конкретными признаками или описанными действиями. Напротив, конкретные признаки и действия раскрыты как иллюстративные формы реализации формулы изобретения.
[0144] Условные термины, такие как, среди прочих, ʺможетʺ, ʺмог быʺ, ʺимел бы возможностьʺ или ʺимеет возможностьʺ, если конкретно не указано иное, в других отношениях понимаются в контексте, как обычно используется, чтобы представить, что определенные примеры включают в себя, в то время как другие примеры не включают в себя определенные признаки, элементы и/или этапы. Таким образом, такие условные термины не предназначены, чтобы в общем подразумевать, что признаки, элементы и/или этапы в любом случае требуются для одного или более примеров, или что один или более примеров обязательно включают в себя логику для принятия решения, с пользовательским вводом или приглашением или без него, являются ли эти признаки, элементы и/или этапы включенными или должны выполняться в любом конкретном примере.
[0145] Конъюнктивное выражение, такое как фраза ʺпо меньшей мере одно из X, Y или Zʺ, если специально не указано иное, следует понимать как представляющее, что элемент, термин и т.д. может быть либо X, Y, либо Z, либо их комбинацией.
[0146] Любые описания подпрограмм, элементы или этапы в блок-схемах процессов, описанные в данном документе и/или изображенных на прилагаемых чертежах, следует понимать как потенциально представляющие модули, сегменты или части кода, которые включают в себя одну или более исполняемых инструкций для реализации конкретных логических функций или элементов в подпрограмме. Альтернативные примеры включены в объем примеров, описанных в настоящем документе, в которых элементы или функции могут быть удалены или могут исполняться в порядке, отличном от показанного или описанного, включая по существу синхронно или в обратном порядке, в зависимости от используемой функциональности, как должно быть понятно специалистам в данной области техники.
[0147] Следует отметить, что многочисленные варианты и модификации могут быть осуществлены в описанных выше примерах, элементы которых следует понимать как находящиеся среди других допустимых примеров. Все такие модификации и варианты подразумеваются включенными в объем настоящего раскрытия и защищенными нижеследующей формулой изобретения.